Library harmonization meeting July 12 2004 at Artisan, Sunnyvale Attendees --------- Maddu Karutaratne V-cube Dan Holt V-cube Andrea Cosmin Artisan Hemant Joshi Artisan John Williams Markanix Wolfgang Roethig NEC Maulik Dave self (phone) Action item status ------------------ Write short proposal for generic libraries Owner: Alex Zamfirescu WIP - will send by begin of June DONE Make list of liberty items for which ALF representation is unknown Owner: Fereshteh/Kevin WIP Main areas: power, flow-specific representation Kevin: Rajesh has a partial list, Kevin will send it out by May 7. Kevin reminded Rajesh, please send as early as possible. Will get it done before next meeting (July 12) (hopefully) WIP Write short elaboration on requirements noise items (see DoD section 2.4) Owner: Matt Liberty WIP - Cadence discussions ongoing Reassigned to Bhuwnesh/Koorosh, Koorosh will give update by May 7. Will get update by June 25 WIP Cadence committed to report their requirements in August 2004 meeting Write paragraph about rules for libray data usage model by application for possible inclusion in scope Owner: Alex Zamfirescu WIP - will prepare discussion material for next meeting in June DONE Investigate propagation delay concept (rise_transition, fall_transition). Give example in ALF. Owner: Wolfgang OPEN Look for rise_propagation, fall_propagation keywords in liberty spec Wolfgang looked for semantic description or example in liberty doc 2003.10, but could not find. Kevin sent a doc with description to Wolfgang. WIP Wolfgang is reviewing the doc Is the functional equivalence in the equal_or_opposite_output rule enforced, or can the model with 2 output capacitances also be used for any cell with 2 outputs, given an arc-specific condition? What about applicability for timing? Example: cells with functionally correlated outputs, but not strictly equivalent or complementary. Owner: Kevin For timing, the keyword is related_output. Need to know whether equal_or_opposite_output is supported for full adder. Co-owner: Hemant WIP Prepare kick-off material about switching activity, causality for power eval Owner: Alex WIP - discussing in the meeting Glitch power, i.e. multiple switching inputs causing no or incomplete output switch is a special case. Liberty: use internal_power construct, possible with "when" statement. Power can be function of slew, load, but not of the width of the glitch. ALF: use vector expression that describes the glitch event. Power can be function of the width of the glitch. DONE - per discussion in the last meeting Test which modeling style works for bus pins: When is it necessary to define scalar pins within bus? Is name match between bus and scalar pin within bus mandatory? If scalar pin not declared, can still refer to bits of bus individually? Owner: Hemant will clarify by 6/24 DONE Clarify usage model of bundle and bus: Only supported in power or also in timing? Are all the power relationships with bus/bundle etc. supported in timing? Is the "related_bus_pins" keyword supported for timing? Owner: Kevin OPEN Co-owner: Hemant Hemant will send example for setup between clock and address of memory SDF file will have bit-blasted timing arcs. WIP - need to clarify which are the remaining open issues Find the chapter in IEEE 1497 about the semantics of LABEL Possible the name of the timing group gets translated into an SDF label? Still open, need SDF 1497 doc to find the LABEL semantics in SDF. Owner: Alex Reassigned to Dan Holt DONE Investigate the best editor for ontology to be used by this group. Come up with basic ontology encompassing cell, pin and timing arc Owner: John, Alex Looking at WOL (Web Ontology Language) in context of Protege framework. Will publish example with timing arc by June 30. DONE New action items ---------------- Document glitch and switching activity modeling in ALF Owner: Wolfgang NEW Discuss and document SDF LABEL usage Owner: Wolfgang (all) NEW Provide dont_use, dont_touch, dont_fault doc to working group Reason: dont_use, dont_touch, dont_fault not documented in liberty doc Need Synopsys tool document, which is not available for everybody Owner: Kevin Kranen NEW Raise ordinality support issue on OWL reflector Owner: John NEW Describe how SDF label applies to Liberty and ALF. Owner: Wolfgang NEW scan_group not described in liberty doc. Find other doc for work group. Owner: Kevin NEW Describe example for clock-gating cell Owner: Hemant NEW Question: which application tool will use the statetable? Why not use the "latch" statement? Next meeting ------------ Main topic: Types, attributes, basic structure of a library model. Will mesh nicely with ontology. Date: August 23 Host: Mentor Graphics, San Jose Technical discussion -------------------- Generic libraries: - What means "comparative relationships"? - should be "between "timing AND other characteristics" (instead of OR) - describes really two items: 1) parameterized technology components (e.g. memory, data path) 2) abstracted library components - What about "stub" models, i.e. declaration of pins - should use the term "generic" instead of "general" - someone could design a library starting with generic components - generic libraries could be used as templates for technology libraries Library usage model by application: - Text is a little bit too general - Application means EDA tool/flow - liberty has "dont_use", "dont_touch" concept, ALF has "RESTRICT_CLASS" - need to elaborate more dont_fault is an example of "specifics for driving computations" sa0 = stuck at zero sa1 = stuck at one sa01 = stuck at zero or one What happens if a cell is "dont_use" and not "dont_touch"? Will all instances of such a cell be removed? "dont_touch" can also be set by the command "set_dont_touch" It can be undone by the command "remove_attribute" These commands reside in a tcl (tool command language) file Ontology document: The work group thanked John for writing the comprehensive draft of the Ontology document. Purpose: test whether ALF (and Liberty by implication) can be mapped into a self-consistent ontology. Example starting point is shown in document. Relations such as "X is Y" or "X has Y" are well-defined in OWL. Current issue with using OWL as ontology description language is the lack of ordinality support. cardinality is supported. Label semantics: see sdf doc on web: http://www.eda.org/sdf/sdf_1497_draft_0.10.pdf Label allows to annotate a value to a library parameter by name. The tool needs not know specific semantics of this parameter. Example: cell has a parameter MY_DELAY. SDF file has a label MY_DELAY and a set of values. Tool can plug in those values for the parameter MY_DELAY without need to know what MY_DELAY actually means. Counter-example: Normally cell delay is annotated with IOPATH keyword. Tool needs to know semantics of IOPATH, i.e. it is a delay between input and output pin of a cell. Functional modeling: see Liberty and ALF example - scan_group not documented. Maybe roughly equivalent to ALF SWAP_CLASS. - put RESTRICT_CLASS "scan" into example - ALF has two modeling styles: behavioral and primitive instantiation For 1-to-1 correspondence between Liberty and ALF, the modeling style with primitive is mandated if, and only if, the corresponding Liberty construct ("ff" or "latch") is supported for the cell. If Liberty does not support the functional description of a complicated cell, ALF can use any modeling style. - When flop output is used for both normal and scan output, the signaltype "scan_data" is mandated. Some applications may not care.