4 What Is FEV? Best-established form of FV Other names: Equivalence CheckingAnswers: Are two models equivalent?
5 Main Uses of FEV RTL-Netlist equivalence Essential part of design flowsAlso leveraged for late hand edits (ECOs)Verifying quick changes to a modelFast & easy if model almost the same
6 Types of FEV Combinatorial / Synchronous Sequential Models must be (mostly) state-matchingVery efficient due to no time calculationsWorks very well for synthesized netlistsMost synthesis tools expect thisCadence Conformal is leaderOthers: Synopsys Formality, Magma QuartzSequentialAllows more abstract RTL, or HLM-RTL FEVMore flexibility for late netlist timing editsMuch more risk/expenseFew commercial tools (Calypto, NEC)
10 Step 2: Build Equations a f1 f2 b out f3 f4 ck a f3 f4 b out ck f3 = b, f4 = f3, out = !(a&f4)f3=b, f4 = !(!f3), out = !a | !f4
11 Step 3: Compare Equations f1f2boutf3f4ckaf3f4boutckf3 = b b EQUALf4 = f3 !(!f3) EQUALout = !(a&f4) !a | !f4 EQUAL
12 What if there was an error? boutf3f4ckaf3f4boutckf3 = b b EQUALf4 = f3 !f3 DIFFERout = !(a&f4) !a | !f4 EQUAL
13 Debugging: Where To Look Fanin cones (“support set”)Different fanin major issueSet of counterexample valuesIf only specific values cause cex, provides hint of root cause“Intelligent” hints from toolsIs an overall inversion suspected?Identify similar areas of logic within cone?Isolate error
14 Debug Schematic View 1 1 f1 f2 f3 f4 ck 1 1 f3 f4 ck f3f4ckCombinational other logic irrelevantGood tools provide annotated cex value
16 Conformal Terminology Gold = golden model (often RTL)Rev = revised model (often netlist)Many commands have –gold/-rev optionKey Point = points to mapBasic ones: primary inputs/outputs, statesOthers: blackboxes, dangling (Z) nodes, …Can refer to by name or integer IDSupport Set = fanin cone
17 Conformal Modes Setup Mode: initial state LEC Mode: checking state Can load models, assign renaming rulesCan set various global optionsReturn to this mode: “set sys mode setup”LEC Mode: checking stateTransition with “set sys mode lec”Automatically tries to map key pointsModels have been loaded, can compare
18 Conformal Usage Model Based on command console Startup with “LEC –nogui”Capable of taking general tcl scripts“help” available for any commandExample: “help read design”Full manuals in /pkgs/cadence6/CONFRML71/doc“set log file <filename>” to start loggingAlways do this for homework!“set gui on” / “set gui off” can be done any time“dofile <filename>.do” to execute scriptScript = any set of console commands
19 Mapping Key Points LEC has good automapper View mapping as “renaming” Can guess many mappingsBut sometimes failsView mapping as “renaming”Temporarily rename RTL sig to match netlist“add renaming rule” to specify mappingsOr “add mapped point” in LEC mode
27 Debugging Mismatches Debug commands available in console “diagnose <point>”: Display basic infoBut easier to debug in guiReport->Compare Data to see all pointsRed dots indicate mismatchesRight-click at mismatch point, and “Diagnose”Gives support set, cex values, and LEC’s hintsFrom Diagnose window can launch sch view
43 Are These Equal?DLATset flatten model –latch_transparent
44 Model Flattening Tool modified cases on previous slides Internally changes view of logicOnly on request, not automaticMay cause mismatches rather than curing!Often useful if key point imbalanceIn Conformal: “set flatten model…”Many options, not just ones on slidesCan also use “remodel …” on single point
47 Are these equivalent? a f1 f2 b out ck f3 f4 b out ck No! BUT– What if ‘a’ is always 1?
48 FEV: Why Constraints? RTL is often very general `ifdef CHIP_VERSION_1`define A 1`else`define A 2`endifDesign reuse: irrelevant RTL remainsassign A = 1’b1;…if (!A) …
49 Why Do Contraints Matter? Good synthesis tools take advantageAssume constants to reduce size/scopeDon’t synthesize masked-out RTLAllow out-of-band constraint specs in control filesFEV must recognize constraintsOtherwise get mismatchesNo effort *if* constraints visible at FEV levelBut may be only in wrapper RTLOr inside analog blackboxOr could be due to software / outside specsIf not visible to tool, may need to specifyadd pin constraint 0 /foo/bar
50 Some ReferencesFull Conformal docs at /pkgs/cadence6/CONFRML71/doc
Your consent to our cookies if you continue to use this website.