SlideShare a Scribd company logo
1 of 24
Download to read offline
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.
Using Assertions in AMS Verification
December 6, 2010
Scott Little (scott.little@freescale.com)
AMS Verification Engineer
Why assertions?
►I shouldn’t have to evangelize to this audience, but…
►Characteristics of assertions:
• Compact
• Mathematically precise semantics
• Reusable across verification methodologies and
Simulation/formal
Module/SoC level
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 2
Module/SoC level
• Built-in coverage collection and metrics
►Quickly identify failing condition
►Standard error reporting mechanism
AMS verification
►Still a largely ad hoc process
• Automated block-level regression suites rarely exist
• General verification rigor we have come to expect with digital
verification is often absent
Immature verification plans
Little or no random stimulus
Coverage is not collected
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 3
►Disconnect between system-level and block-level
• Minimal sharing of checkers/monitors
If automatic checkers/monitors exist at all
• Testing focuses on local behaviors not interaction with the system
Assertion-based AMS verification
►Assertions can:
• Collect coverage
• Be checked all levels of the hierarchy
• Check interface assumptions
►Digital assertions have limitations
• Real values cannot be referenced (according to the LRM)
This works in practice for most simulators
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 4
This works in practice for most simulators
• Time is aligned to sampling events (clocks)
• Time is discrete and can’t be referenced directly
• Continuous quantities (voltage, current) can’t be accessed directly
►What do we do?
• Approximate with current languages
• Enhance current modeling/assertion languages
Our AMS verification methodology: A brief glimpse
►Analog blocks are designed and verified [designer]
►Abstract HDL model is created for the block [designer/modeler]
• Written for use in SoC verification
Performance is key
Captures high-level functionality
►Abstract HDL model is verified vs. spec [modeler/verifier]
• Assertions added and checked here
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 5
• Assertions added and checked here
►Abstract HDL model is verified vs. schematic [modeler/verifier]
• Pin names and directions match
• High-level behavior matches
• Timing may differ
►Abstract HDL model is used in SoC-level verification [verifier]
What do we check with assertions?
►Properties that are difficult to model but easy to check
►Interface assumptions
• Illegal input combinations, sequences, or configurations
Experimental feature is never enabled
Analog inputs are isolated during digital test modes
►Power mode transitions
• Check for conditions that result in floating nodes/leakage paths
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 6
• Check for conditions that result in floating nodes/leakage paths
Block is never enabled without all power supplies present
Level shifter is properly isolated when one supply goes down
►Timing relationships
• Check “setup” times for analog blocks
Circuit must be functional within the specified time after start-up
Output is stable within the specified time after being enabled
Where do we write AMS assertions?
►SystemVerilog
• Powerful SystemVerilog Assertions (SVAs) are available
• Can’t access continuous quantities
• Tend to use carefully timed clocks and multiclocked properties
►Verilog-AMS
• Can’t write actual assertions
• Have full access to continuous quantities
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 7
• Have full access to continuous quantities
• Use modeling code to approximate assertions
►SystemVerilog/Verilog-AMS
• Digitize continuous signals using Verilog-AMS monitors
• Pass digitized signals into the SystemVerilog module
• Write assertions using the digitized signals, digital signals, and carefully
timed clocks
Verilog-AMS monitors example
Property: To avoid floating nodes ensure that when vdd1 is powered down
either isolate is high or vdd2 is powered down. For the purpose of
determining if a supply is powered up/down we will ignore “droops” of less
than 25 ns.
Verilog-AMS checker
Verilog-AMS monitors
@cross(V(vdd1) – 5.0, +1)
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 8
//inertial delays squash short droops
//Note: initialization is ignored
assign #25 vdd1_down = !vdd1_gt_5;
assign #25 vdd2_down = !vdd2_gt_5;
always @(vdd1_down,isolate,vdd2_down)
if(vdd1_down & !(isolate|vdd2_down))
$error(“ERROR: Floating node!”);
@cross(V(vdd1) – 5.0, +1)
vdd1_gt_5 <= 1’b1;
@cross(V(vdd1) – 5.0, -1)
vdd1_gt_5 <= 1’b0;
@cross(V(vdd2) – 5.0, +1)
vdd2_gt_5 <= 1’b1;
@cross(V(vdd2) – 5.0, -1)
vdd2_gt_5 <= 1’b0;
Verilog-AMS monitors example
//inertial delays squash short droops
//Note: initialization is ignored
assign #25 vdd1_down = !vdd1_gt_5;
assign #25 vdd2_down = !vdd2_gt_5;
always @(vdd1_down,isolate,vdd2_down)
if(vdd1_down & !(isolate|vdd2_down))
$error(“ERROR: Floating node!”);
@cross(V(vdd1) – 5.0, +1)
vdd1_gt_5 <= 1’b1;
@cross(V(vdd1) – 5.0, -1)
vdd1_gt_5 <= 1’b0;
@cross(V(vdd2) – 5.0, +1)
vdd2_gt_5 <= 1’b1;
@cross(V(vdd2) – 5.0, -1)
vdd2_gt_5 <= 1’b0;
vdd1
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 9
vdd2
isolate
vdd1_gt_5
vdd2_gt_5
vdd1_down
SVAs & Verilog-AMS monitors example
Property: To avoid floating nodes ensure that when vdd1 is powered down
either isolate is high or vdd2 is powered down.
SystemVerilog Assertion
Verilog-AMS monitors
@cross(V(vdd1) – 5.0, +1)
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 10
property noFloatingNodes;
@(negedge vdd1_gt_5) 1'b1
##0
@(posedge clk_1ns) (!vdd1_gt_5)[*25]
|->
!vdd2_gt_5 | isolate throughout !vdd1_gt_5[*0:$]
;
endproperty
@cross(V(vdd1) – 5.0, +1)
vdd1_gt_5 <= 1’b1;
@cross(V(vdd1) – 5.0, -1)
vdd1_gt_5 <= 1’b0;
@cross(V(vdd2) – 5.0, +1)
vdd2_gt_5 <= 1’b1;
@cross(V(vdd2) – 5.0, -1)
vdd2_gt_5 <= 1’b0;
SVAs & Verilog-AMS monitors example
property noFloatingNodes;
@(negedge vdd1_gt_5) 1'b1
##0
@(posedge clk_1ns) (!vdd1_gt_5)[*25]
|->
!vdd2_gt_5 | isolate throughout !vdd1_gt_5[*0:$]
;
endproperty
@cross(V(vdd1) – 5.0, +1)
vdd1_gt_5 <= 1’b1;
@cross(V(vdd1) – 5.0, -1)
vdd1_gt_5 <= 1’b0;
@cross(V(vdd2) – 5.0, +1)
vdd2_gt_5 <= 1’b1;
@cross(V(vdd2) – 5.0, -1)
vdd2_gt_5 <= 1’b0;
vdd1
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 11
vdd1
vdd2
isolate
vdd1_gt_5
vdd2_gt_5
vdd1_down
What bugs have we found?
►Incorrect enable sequencing
• The system was enabling an analog block before it was stable. This
early enable “crashes” the block.
►Floating analog blocks
• Designer misunderstood the system configuration in a key low power
mode. The isolation logic was incorrect and resulted in a large chunk of
floating analog circuitry
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 12
►Incorrect initialization
• For correct behavior leaving reset, specific outputs must be pulled
low/high. This system-level requirement was not understood or
implemented by the block designer.
►Inconsistent specifications
• The minimum operating voltage was specified in an incompatible way
between key blocks.
What is the future of AMS assertions?
►SVA is being added to Verilog-AMS
►Analog SVA (ASVA) effort is underway in Accellera and IEEE
►ASVA is an extension of SVA
• Real values in boolean expressions
• Realtime (i.e., continuous time) semantics
• New realtime operators in sequences and properties
►Draws on Verilog-AMS
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 13
►Draws on Verilog-AMS
• Eventually, ASVA will be a part of a unified SystemVerilog-AMS
language
SVAs in Verilog-AMS modules example
Property: To avoid floating nodes ensure that when vdd1 is powered down
either isolate is high or vdd2 is powered down.
SystemVerilog Assertion in a Verilog-AMS module
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 14
property noFloatingNodes;
@(cross(V(vdd1) – 5.0, -1) 1'b1
##0
@(posedge clk_1ns) (V(vdd1) < 5.0)[*25]
|->
V(vdd2)<5.0|isolate throughout (V(vdd1)<5.0)[*0:$]
;
endproperty
Verilog-AMS monitor
@cross(V(vdd2) – 5.0, 0)
;
SVAs in Verilog-AMS modules example
property noFloatingNodes;
@(cross(V(vdd1) – 5.0, -1) 1'b1
##0
@(posedge clk_1ns) (V(vdd1) < 5.0)[*25]
|->
V(vdd2)<5.0|isolate throughout (V(vdd1)<5.0)[*0:$]
;
endproperty
@cross(V(vdd2) – 5.0, 0)
;
vdd1
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 15
vdd1
vdd2
isolate
vdd1_gt_5
vdd2_gt_5
vdd1_down
ASVA extension requirements
►ASVA committee has voted on extension requirements
• ASVA should include all existing SVA
• The meaning of existing constructs should not change
• New constructs should provide realtime capabilities useful for AMS
verification
►Existing SVA has a discrete semantic framework
• Based on linear temporal logic and regular expressions
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 16
• Based on linear temporal logic and regular expressions
►Problem: Find a “good” way to extend SVA to realtime
• Allow free intermingling of old and new operators, not just a union of old
and new forms
• Non-trivial
Extending SVA to realtime
►Some extensions are straightforward
• Logical connectives (and, or, not) have the same meaning
• Non-temporal implications (|->, if-else) have the same meaning
• Clocked booleans (ignoring sampling questions)
►Some extensions have been studied in external research
• Realtime linear temporal logic operators
p until[0:1.5m] q requires q to occur within 1.5 ms of the start of the
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 17
p until[0:1.5m] q requires q to occur within 1.5 ms of the start of the
property
►What about realtime sequences?
Realtime sequences
►We invented a realtime semantic framework for sequences based
on continuous intervals
• Proved equivalence between the new realtime semantics and the
existing SVA semantics for the SVA sequence forms
►Introduced three new primitive realtime sequence forms:
• b: realtime (i.e., unclocked) boolean
• r without @(c): sequence without an event
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 18
• r without @(c): sequence without an event
• b[*a1:a2]: boolean “smear”, i.e., boolean holds continuously for a
specified time range
►Introduced several new derived realtime sequence forms:
• r #[a:b] s: realtime concatenation
• r #0 s: realtime fusion
• b[~>1]: realtime goto
Realtime sequence examples
►a is true and b is false continuously for 10.5 ns
• (a && !b)[*10.5n]
►a is true and 9.7 ms later b is true
• a #9.7m b
►From the beginning of the interval, advance to the first time where a
is high, then find b and c high 1.6 ns later, and also ensure that b
subsequently stays high continuously for 5.1 ms
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 19
subsequently stays high continuously for 5.1 ms
• a[->1] #1.6n (b && c) #0 b[*5.1m]
ASVA example
Property: From the time we see a valid bias voltage until the circuit gets
enabled must be >= 5 µs.
ASVA
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 20
property noFloatingNodes;
@(cross(V(vdd1) – 5.0, -1) 1'b1
#0
(V(vdd1) < 5.0)[*25.0n]
|->
V(vdd2) < 5.0 | isolate throughout (V(vdd1) < 5.0)[*0.0:$]
;
endproperty
ASVA example
property noFloatingNodes;
@(cross(V(vdd1) – 5.0, -1) 1'b1
#0
(V(vdd1) < 5.0)[*25.0n]
|->
V(vdd2) < 5.0 | isolate throughout (V(vdd1) < 5.0)[*0.0:$]
;
endproperty
vdd1
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 21
vdd1
vdd2
isolate
vdd1_gt_5
vdd2_gt_5
vdd1_down
Conclusions
►AMS assertions are a powerful tool in the verification toolbox
• They are very useful when checking for illegal interface conditions,
power down conditions, and timing sequences
• They are in the process of maturing
• Even while maturing they are very usable
• They help find real bugs
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 22
►More information on the standards effort:
• http://www.vhdl.org/twiki/bin/view.cgi/VerilogAMS/AmsAssertions
Acknowlegements
►I would like to thank the following people for their collaboration:
• John Havlicek
• Himyanshu Anand
• Chris Stoll
• Ben Ehlers
• Neil Spake
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink
and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 23
TM

More Related Content

What's hot

Uvm dcon2013
Uvm dcon2013Uvm dcon2013
Uvm dcon2013sean chen
 
Advances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringAdvances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringRamdas Mozhikunnath
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料直久 住川
 
Formal Verification Techniques
Formal Verification TechniquesFormal Verification Techniques
Formal Verification TechniquesDVClub
 
Real Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARMReal Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARMVincent Claes
 
Overcoming challenges of_verifying complex mixed signal designs
Overcoming challenges of_verifying complex mixed signal designsOvercoming challenges of_verifying complex mixed signal designs
Overcoming challenges of_verifying complex mixed signal designsPankaj Singh
 
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...DVClub
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelDVClub
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_featuresNirav Desai
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training CoursePaul Laskowski
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_finalsean chen
 
System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )sivasubramanian manickam
 
Integrating a custom AXI IP Core in Vivado for Xilinx Zynq FPGA based embedde...
Integrating a custom AXI IP Core in Vivado for Xilinx Zynq FPGA based embedde...Integrating a custom AXI IP Core in Vivado for Xilinx Zynq FPGA based embedde...
Integrating a custom AXI IP Core in Vivado for Xilinx Zynq FPGA based embedde...Vincent Claes
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesRamdas Mozhikunnath
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-ExpressDVClub
 
Introduction to VHDL
Introduction to VHDLIntroduction to VHDL
Introduction to VHDLMohamed Samy
 

What's hot (20)

Uvm dcon2013
Uvm dcon2013Uvm dcon2013
Uvm dcon2013
 
Advances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringAdvances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of Engineering
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
 
IPsecについて
IPsecについてIPsecについて
IPsecについて
 
Formal Verification Techniques
Formal Verification TechniquesFormal Verification Techniques
Formal Verification Techniques
 
Real Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARMReal Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARM
 
Overcoming challenges of_verifying complex mixed signal designs
Overcoming challenges of_verifying complex mixed signal designsOvercoming challenges of_verifying complex mixed signal designs
Overcoming challenges of_verifying complex mixed signal designs
 
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC Level
 
UVM TUTORIAL;
UVM TUTORIAL;UVM TUTORIAL;
UVM TUTORIAL;
 
Coverage and Introduction to UVM
Coverage and Introduction to UVMCoverage and Introduction to UVM
Coverage and Introduction to UVM
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_features
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training Course
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_final
 
System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )
 
Integrating a custom AXI IP Core in Vivado for Xilinx Zynq FPGA based embedde...
Integrating a custom AXI IP Core in Vivado for Xilinx Zynq FPGA based embedde...Integrating a custom AXI IP Core in Vivado for Xilinx Zynq FPGA based embedde...
Integrating a custom AXI IP Core in Vivado for Xilinx Zynq FPGA based embedde...
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification Methodologies
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
Introduction to VHDL
Introduction to VHDLIntroduction to VHDL
Introduction to VHDL
 

Viewers also liked

Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyDVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 ProcessorDVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment OverviewDVClub
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)DVClub
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)DVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal ValidationDVClub
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentDVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUsDVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design CommunityDVClub
 
IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseDVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through MethodologyDVClub
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessDVClub
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesDVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemCDVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACTDVClub
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationDVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and VerificationDVClub
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceDVClub
 

Viewers also liked (18)

Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification Methodology
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team Environment
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
 
IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification Process
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
 

Similar to Using Assertions in AMS Verification

Testbench Linter: Automated Rule Checker Framework for Testbenches
Testbench Linter: Automated Rule Checker Framework for TestbenchesTestbench Linter: Automated Rule Checker Framework for Testbenches
Testbench Linter: Automated Rule Checker Framework for TestbenchesDVClub
 
Novel Approach for Accelerating Mixed Signal Verification
Novel Approach for Accelerating Mixed Signal VerificationNovel Approach for Accelerating Mixed Signal Verification
Novel Approach for Accelerating Mixed Signal VerificationDVClub
 
What's new in cdt 8.1
What's new in cdt 8.1What's new in cdt 8.1
What's new in cdt 8.1Mircea Givan
 
Emea freescale cup 2014 introduction
Emea freescale cup 2014 introductionEmea freescale cup 2014 introduction
Emea freescale cup 2014 introductionharragesi
 
EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...
EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...
EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...QT-day
 
Hardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux conHardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux consprdd
 
One Version of the Truth, Driving S&OP from detailed planning tools, Freescale
One Version of the Truth, Driving S&OP from detailed planning tools, FreescaleOne Version of the Truth, Driving S&OP from detailed planning tools, Freescale
One Version of the Truth, Driving S&OP from detailed planning tools, FreescaleInnovation Enterprise
 
Adrian purcarea, country manager, freescale semiconductor
Adrian purcarea, country manager, freescale semiconductorAdrian purcarea, country manager, freescale semiconductor
Adrian purcarea, country manager, freescale semiconductorRevistaBiz
 
DPTF - Dataflow Programming Tools Framework
DPTF - Dataflow Programming Tools FrameworkDPTF - Dataflow Programming Tools Framework
DPTF - Dataflow Programming Tools Frameworkfliordache
 
Migrating from PDE to Tycho builds
Migrating from PDE to Tycho buildsMigrating from PDE to Tycho builds
Migrating from PDE to Tycho buildsTeodor Madan
 
l'internet des objets By Freescale
l'internet des objets By Freescalel'internet des objets By Freescale
l'internet des objets By Freescaleservicesmobiles.fr
 
RTCA DO-254 Guidance - Accelerating DO-254 Verification
RTCA DO-254 Guidance - Accelerating DO-254 VerificationRTCA DO-254 Guidance - Accelerating DO-254 Verification
RTCA DO-254 Guidance - Accelerating DO-254 VerificationTarek Salah
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllThomas Wuerthinger
 
Supportland overview 91510
Supportland overview 91510Supportland overview 91510
Supportland overview 91510Emily Witt
 

Similar to Using Assertions in AMS Verification (20)

Testbench Linter: Automated Rule Checker Framework for Testbenches
Testbench Linter: Automated Rule Checker Framework for TestbenchesTestbench Linter: Automated Rule Checker Framework for Testbenches
Testbench Linter: Automated Rule Checker Framework for Testbenches
 
Novel Approach for Accelerating Mixed Signal Verification
Novel Approach for Accelerating Mixed Signal VerificationNovel Approach for Accelerating Mixed Signal Verification
Novel Approach for Accelerating Mixed Signal Verification
 
What's new in cdt 8.1
What's new in cdt 8.1What's new in cdt 8.1
What's new in cdt 8.1
 
Emea freescale cup 2014 introduction
Emea freescale cup 2014 introductionEmea freescale cup 2014 introduction
Emea freescale cup 2014 introduction
 
EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...
EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...
EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...
 
Hardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux conHardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux con
 
One Version of the Truth, Driving S&OP from detailed planning tools, Freescale
One Version of the Truth, Driving S&OP from detailed planning tools, FreescaleOne Version of the Truth, Driving S&OP from detailed planning tools, Freescale
One Version of the Truth, Driving S&OP from detailed planning tools, Freescale
 
Adrian purcarea, country manager, freescale semiconductor
Adrian purcarea, country manager, freescale semiconductorAdrian purcarea, country manager, freescale semiconductor
Adrian purcarea, country manager, freescale semiconductor
 
DPTF - Dataflow Programming Tools Framework
DPTF - Dataflow Programming Tools FrameworkDPTF - Dataflow Programming Tools Framework
DPTF - Dataflow Programming Tools Framework
 
Migrating from PDE to Tycho builds
Migrating from PDE to Tycho buildsMigrating from PDE to Tycho builds
Migrating from PDE to Tycho builds
 
l'internet des objets By Freescale
l'internet des objets By Freescalel'internet des objets By Freescale
l'internet des objets By Freescale
 
Sensor fusion
Sensor fusionSensor fusion
Sensor fusion
 
Bangalore march07
Bangalore march07Bangalore march07
Bangalore march07
 
iWave Systems Techologies Pvt Ltd- Company Profile Presentation
iWave Systems Techologies Pvt Ltd- Company Profile PresentationiWave Systems Techologies Pvt Ltd- Company Profile Presentation
iWave Systems Techologies Pvt Ltd- Company Profile Presentation
 
Vlsi design services
Vlsi design servicesVlsi design services
Vlsi design services
 
Oracle super cluster m7
Oracle super cluster m7Oracle super cluster m7
Oracle super cluster m7
 
RTCA DO-254 Guidance - Accelerating DO-254 Verification
RTCA DO-254 Guidance - Accelerating DO-254 VerificationRTCA DO-254 Guidance - Accelerating DO-254 Verification
RTCA DO-254 Guidance - Accelerating DO-254 Verification
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
 
Supportland overview 91510
Supportland overview 91510Supportland overview 91510
Supportland overview 91510
 
Rashmi_Palakkal_CV
Rashmi_Palakkal_CVRashmi_Palakkal_CV
Rashmi_Palakkal_CV
 

More from DVClub

UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register PackageDVClub
 
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...DVClub
 
Verification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark AgesVerification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark AgesDVClub
 
I Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This FormalI Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This FormalDVClub
 
OMAP Verification
OMAP VerificationOMAP Verification
OMAP VerificationDVClub
 
Roy aeroVerifying Power Domains in AeroFONE
Roy aeroVerifying Power Domains in AeroFONERoy aeroVerifying Power Domains in AeroFONE
Roy aeroVerifying Power Domains in AeroFONEDVClub
 
Advanced Methodologies Used for Top-Level Verification of Mixed Signal Products
Advanced Methodologies Used for Top-Level Verification of Mixed Signal ProductsAdvanced Methodologies Used for Top-Level Verification of Mixed Signal Products
Advanced Methodologies Used for Top-Level Verification of Mixed Signal ProductsDVClub
 
Verification Planning and Metrics to Ensure Efficient Program Execution
Verification Planning and Metrics to Ensure Efficient Program ExecutionVerification Planning and Metrics to Ensure Efficient Program Execution
Verification Planning and Metrics to Ensure Efficient Program ExecutionDVClub
 
Need of AMS Simulation in Mix IP Verification: Benefits and Challenges
Need of AMS Simulation in Mix IP Verification: Benefits and ChallengesNeed of AMS Simulation in Mix IP Verification: Benefits and Challenges
Need of AMS Simulation in Mix IP Verification: Benefits and ChallengesDVClub
 
Wireless Low Power and Verification Challenges
Wireless Low Power and Verification ChallengesWireless Low Power and Verification Challenges
Wireless Low Power and Verification ChallengesDVClub
 

More from DVClub (10)

UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
 
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
 
Verification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark AgesVerification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark Ages
 
I Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This FormalI Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This Formal
 
OMAP Verification
OMAP VerificationOMAP Verification
OMAP Verification
 
Roy aeroVerifying Power Domains in AeroFONE
Roy aeroVerifying Power Domains in AeroFONERoy aeroVerifying Power Domains in AeroFONE
Roy aeroVerifying Power Domains in AeroFONE
 
Advanced Methodologies Used for Top-Level Verification of Mixed Signal Products
Advanced Methodologies Used for Top-Level Verification of Mixed Signal ProductsAdvanced Methodologies Used for Top-Level Verification of Mixed Signal Products
Advanced Methodologies Used for Top-Level Verification of Mixed Signal Products
 
Verification Planning and Metrics to Ensure Efficient Program Execution
Verification Planning and Metrics to Ensure Efficient Program ExecutionVerification Planning and Metrics to Ensure Efficient Program Execution
Verification Planning and Metrics to Ensure Efficient Program Execution
 
Need of AMS Simulation in Mix IP Verification: Benefits and Challenges
Need of AMS Simulation in Mix IP Verification: Benefits and ChallengesNeed of AMS Simulation in Mix IP Verification: Benefits and Challenges
Need of AMS Simulation in Mix IP Verification: Benefits and Challenges
 
Wireless Low Power and Verification Challenges
Wireless Low Power and Verification ChallengesWireless Low Power and Verification Challenges
Wireless Low Power and Verification Challenges
 

Recently uploaded

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Using Assertions in AMS Verification

  • 1. TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. Using Assertions in AMS Verification December 6, 2010 Scott Little (scott.little@freescale.com) AMS Verification Engineer
  • 2. Why assertions? ►I shouldn’t have to evangelize to this audience, but… ►Characteristics of assertions: • Compact • Mathematically precise semantics • Reusable across verification methodologies and Simulation/formal Module/SoC level TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 2 Module/SoC level • Built-in coverage collection and metrics ►Quickly identify failing condition ►Standard error reporting mechanism
  • 3. AMS verification ►Still a largely ad hoc process • Automated block-level regression suites rarely exist • General verification rigor we have come to expect with digital verification is often absent Immature verification plans Little or no random stimulus Coverage is not collected TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 3 ►Disconnect between system-level and block-level • Minimal sharing of checkers/monitors If automatic checkers/monitors exist at all • Testing focuses on local behaviors not interaction with the system
  • 4. Assertion-based AMS verification ►Assertions can: • Collect coverage • Be checked all levels of the hierarchy • Check interface assumptions ►Digital assertions have limitations • Real values cannot be referenced (according to the LRM) This works in practice for most simulators TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 4 This works in practice for most simulators • Time is aligned to sampling events (clocks) • Time is discrete and can’t be referenced directly • Continuous quantities (voltage, current) can’t be accessed directly ►What do we do? • Approximate with current languages • Enhance current modeling/assertion languages
  • 5. Our AMS verification methodology: A brief glimpse ►Analog blocks are designed and verified [designer] ►Abstract HDL model is created for the block [designer/modeler] • Written for use in SoC verification Performance is key Captures high-level functionality ►Abstract HDL model is verified vs. spec [modeler/verifier] • Assertions added and checked here TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 5 • Assertions added and checked here ►Abstract HDL model is verified vs. schematic [modeler/verifier] • Pin names and directions match • High-level behavior matches • Timing may differ ►Abstract HDL model is used in SoC-level verification [verifier]
  • 6. What do we check with assertions? ►Properties that are difficult to model but easy to check ►Interface assumptions • Illegal input combinations, sequences, or configurations Experimental feature is never enabled Analog inputs are isolated during digital test modes ►Power mode transitions • Check for conditions that result in floating nodes/leakage paths TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 6 • Check for conditions that result in floating nodes/leakage paths Block is never enabled without all power supplies present Level shifter is properly isolated when one supply goes down ►Timing relationships • Check “setup” times for analog blocks Circuit must be functional within the specified time after start-up Output is stable within the specified time after being enabled
  • 7. Where do we write AMS assertions? ►SystemVerilog • Powerful SystemVerilog Assertions (SVAs) are available • Can’t access continuous quantities • Tend to use carefully timed clocks and multiclocked properties ►Verilog-AMS • Can’t write actual assertions • Have full access to continuous quantities TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 7 • Have full access to continuous quantities • Use modeling code to approximate assertions ►SystemVerilog/Verilog-AMS • Digitize continuous signals using Verilog-AMS monitors • Pass digitized signals into the SystemVerilog module • Write assertions using the digitized signals, digital signals, and carefully timed clocks
  • 8. Verilog-AMS monitors example Property: To avoid floating nodes ensure that when vdd1 is powered down either isolate is high or vdd2 is powered down. For the purpose of determining if a supply is powered up/down we will ignore “droops” of less than 25 ns. Verilog-AMS checker Verilog-AMS monitors @cross(V(vdd1) – 5.0, +1) TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 8 //inertial delays squash short droops //Note: initialization is ignored assign #25 vdd1_down = !vdd1_gt_5; assign #25 vdd2_down = !vdd2_gt_5; always @(vdd1_down,isolate,vdd2_down) if(vdd1_down & !(isolate|vdd2_down)) $error(“ERROR: Floating node!”); @cross(V(vdd1) – 5.0, +1) vdd1_gt_5 <= 1’b1; @cross(V(vdd1) – 5.0, -1) vdd1_gt_5 <= 1’b0; @cross(V(vdd2) – 5.0, +1) vdd2_gt_5 <= 1’b1; @cross(V(vdd2) – 5.0, -1) vdd2_gt_5 <= 1’b0;
  • 9. Verilog-AMS monitors example //inertial delays squash short droops //Note: initialization is ignored assign #25 vdd1_down = !vdd1_gt_5; assign #25 vdd2_down = !vdd2_gt_5; always @(vdd1_down,isolate,vdd2_down) if(vdd1_down & !(isolate|vdd2_down)) $error(“ERROR: Floating node!”); @cross(V(vdd1) – 5.0, +1) vdd1_gt_5 <= 1’b1; @cross(V(vdd1) – 5.0, -1) vdd1_gt_5 <= 1’b0; @cross(V(vdd2) – 5.0, +1) vdd2_gt_5 <= 1’b1; @cross(V(vdd2) – 5.0, -1) vdd2_gt_5 <= 1’b0; vdd1 TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 9 vdd2 isolate vdd1_gt_5 vdd2_gt_5 vdd1_down
  • 10. SVAs & Verilog-AMS monitors example Property: To avoid floating nodes ensure that when vdd1 is powered down either isolate is high or vdd2 is powered down. SystemVerilog Assertion Verilog-AMS monitors @cross(V(vdd1) – 5.0, +1) TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 10 property noFloatingNodes; @(negedge vdd1_gt_5) 1'b1 ##0 @(posedge clk_1ns) (!vdd1_gt_5)[*25] |-> !vdd2_gt_5 | isolate throughout !vdd1_gt_5[*0:$] ; endproperty @cross(V(vdd1) – 5.0, +1) vdd1_gt_5 <= 1’b1; @cross(V(vdd1) – 5.0, -1) vdd1_gt_5 <= 1’b0; @cross(V(vdd2) – 5.0, +1) vdd2_gt_5 <= 1’b1; @cross(V(vdd2) – 5.0, -1) vdd2_gt_5 <= 1’b0;
  • 11. SVAs & Verilog-AMS monitors example property noFloatingNodes; @(negedge vdd1_gt_5) 1'b1 ##0 @(posedge clk_1ns) (!vdd1_gt_5)[*25] |-> !vdd2_gt_5 | isolate throughout !vdd1_gt_5[*0:$] ; endproperty @cross(V(vdd1) – 5.0, +1) vdd1_gt_5 <= 1’b1; @cross(V(vdd1) – 5.0, -1) vdd1_gt_5 <= 1’b0; @cross(V(vdd2) – 5.0, +1) vdd2_gt_5 <= 1’b1; @cross(V(vdd2) – 5.0, -1) vdd2_gt_5 <= 1’b0; vdd1 TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 11 vdd1 vdd2 isolate vdd1_gt_5 vdd2_gt_5 vdd1_down
  • 12. What bugs have we found? ►Incorrect enable sequencing • The system was enabling an analog block before it was stable. This early enable “crashes” the block. ►Floating analog blocks • Designer misunderstood the system configuration in a key low power mode. The isolation logic was incorrect and resulted in a large chunk of floating analog circuitry TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 12 ►Incorrect initialization • For correct behavior leaving reset, specific outputs must be pulled low/high. This system-level requirement was not understood or implemented by the block designer. ►Inconsistent specifications • The minimum operating voltage was specified in an incompatible way between key blocks.
  • 13. What is the future of AMS assertions? ►SVA is being added to Verilog-AMS ►Analog SVA (ASVA) effort is underway in Accellera and IEEE ►ASVA is an extension of SVA • Real values in boolean expressions • Realtime (i.e., continuous time) semantics • New realtime operators in sequences and properties ►Draws on Verilog-AMS TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 13 ►Draws on Verilog-AMS • Eventually, ASVA will be a part of a unified SystemVerilog-AMS language
  • 14. SVAs in Verilog-AMS modules example Property: To avoid floating nodes ensure that when vdd1 is powered down either isolate is high or vdd2 is powered down. SystemVerilog Assertion in a Verilog-AMS module TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 14 property noFloatingNodes; @(cross(V(vdd1) – 5.0, -1) 1'b1 ##0 @(posedge clk_1ns) (V(vdd1) < 5.0)[*25] |-> V(vdd2)<5.0|isolate throughout (V(vdd1)<5.0)[*0:$] ; endproperty Verilog-AMS monitor @cross(V(vdd2) – 5.0, 0) ;
  • 15. SVAs in Verilog-AMS modules example property noFloatingNodes; @(cross(V(vdd1) – 5.0, -1) 1'b1 ##0 @(posedge clk_1ns) (V(vdd1) < 5.0)[*25] |-> V(vdd2)<5.0|isolate throughout (V(vdd1)<5.0)[*0:$] ; endproperty @cross(V(vdd2) – 5.0, 0) ; vdd1 TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 15 vdd1 vdd2 isolate vdd1_gt_5 vdd2_gt_5 vdd1_down
  • 16. ASVA extension requirements ►ASVA committee has voted on extension requirements • ASVA should include all existing SVA • The meaning of existing constructs should not change • New constructs should provide realtime capabilities useful for AMS verification ►Existing SVA has a discrete semantic framework • Based on linear temporal logic and regular expressions TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 16 • Based on linear temporal logic and regular expressions ►Problem: Find a “good” way to extend SVA to realtime • Allow free intermingling of old and new operators, not just a union of old and new forms • Non-trivial
  • 17. Extending SVA to realtime ►Some extensions are straightforward • Logical connectives (and, or, not) have the same meaning • Non-temporal implications (|->, if-else) have the same meaning • Clocked booleans (ignoring sampling questions) ►Some extensions have been studied in external research • Realtime linear temporal logic operators p until[0:1.5m] q requires q to occur within 1.5 ms of the start of the TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 17 p until[0:1.5m] q requires q to occur within 1.5 ms of the start of the property ►What about realtime sequences?
  • 18. Realtime sequences ►We invented a realtime semantic framework for sequences based on continuous intervals • Proved equivalence between the new realtime semantics and the existing SVA semantics for the SVA sequence forms ►Introduced three new primitive realtime sequence forms: • b: realtime (i.e., unclocked) boolean • r without @(c): sequence without an event TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 18 • r without @(c): sequence without an event • b[*a1:a2]: boolean “smear”, i.e., boolean holds continuously for a specified time range ►Introduced several new derived realtime sequence forms: • r #[a:b] s: realtime concatenation • r #0 s: realtime fusion • b[~>1]: realtime goto
  • 19. Realtime sequence examples ►a is true and b is false continuously for 10.5 ns • (a && !b)[*10.5n] ►a is true and 9.7 ms later b is true • a #9.7m b ►From the beginning of the interval, advance to the first time where a is high, then find b and c high 1.6 ns later, and also ensure that b subsequently stays high continuously for 5.1 ms TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 19 subsequently stays high continuously for 5.1 ms • a[->1] #1.6n (b && c) #0 b[*5.1m]
  • 20. ASVA example Property: From the time we see a valid bias voltage until the circuit gets enabled must be >= 5 µs. ASVA TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 20 property noFloatingNodes; @(cross(V(vdd1) – 5.0, -1) 1'b1 #0 (V(vdd1) < 5.0)[*25.0n] |-> V(vdd2) < 5.0 | isolate throughout (V(vdd1) < 5.0)[*0.0:$] ; endproperty
  • 21. ASVA example property noFloatingNodes; @(cross(V(vdd1) – 5.0, -1) 1'b1 #0 (V(vdd1) < 5.0)[*25.0n] |-> V(vdd2) < 5.0 | isolate throughout (V(vdd1) < 5.0)[*0.0:$] ; endproperty vdd1 TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 21 vdd1 vdd2 isolate vdd1_gt_5 vdd2_gt_5 vdd1_down
  • 22. Conclusions ►AMS assertions are a powerful tool in the verification toolbox • They are very useful when checking for illegal interface conditions, power down conditions, and timing sequences • They are in the process of maturing • Even while maturing they are very usable • They help find real bugs TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 22 ►More information on the standards effort: • http://www.vhdl.org/twiki/bin/view.cgi/VerilogAMS/AmsAssertions
  • 23. Acknowlegements ►I would like to thank the following people for their collaboration: • John Havlicek • Himyanshu Anand • Chris Stoll • Ben Ehlers • Neil Spake TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink and VortiQa are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc. 23
  • 24. TM