Efficient Modeling and Verification of Analog/Mixed-Signal Circuits

Size: px
Start display at page:

Download "Efficient Modeling and Verification of Analog/Mixed-Signal Circuits"

Transcription

1 Efficient Modeling and Verification of Analog/Mixed-Signal Circuits Scott R. Little University of Utah

2 Motivation 1 About 75 percent of all chips include analog circuits. These circuits make up 2 percent of the devices and 20 percent of the area but require 40 percent of the design effort. 50 percent of re-spins are due to errors in the analog portion. 1 Data on this slide is from IBS Corporation s industry reports (2003).

3 Industrial Perspectives...the business issue is that analog has to budget five or six respins. Silicon has become the validation vehicle for analog, and that s a problem. Sandipan Bhanot, CEO of Knowlent

4 Industrial Perspectives If the digital designers did verification the way analog designers do verification, no chip would ever tape out. Sandipan Bhanot, CEO of Knowlent

5 Analog Validation Today AMS validation is driven by designers running simulations. Global variation is explored via corner simulations. Local variation is explored via Monte Carlo simulation. Correctness of the simulations is validated manually. Design correctness is the responsibility of each designer.

6 Switched Capacitor Integrator Circuit C 2 Φ 1 Φ 2 V in Q 1 Q 2 + V out C 1 V in = ±1V freq(v in ) = 5 khz C 1 = 1 pf C 2 25 pf freq(φ 1 ) = freq(φ 2 ) = 500 khz dv out /dt ±20 mv/µs

7 Switched Capacitor Integrator Output Waveform Vout (mv) Time (us) Vout

8 Switched Capacitor Integrator Circuit C 2 Φ 1 Φ 2 V in Q 1 Q 2 + V out C 1 V in = ±1000 mv freq(v in ) = 5 khz C 1 = 1 pf C 2 = 25 ± 2.5 pf freq(φ 1 ) = freq(φ 2 ) = 500 khz dv out /dt = ±(18 to 22) mv/µs Does V out saturate? (i.e. 2000mV V out 2000mV )

9 Switched Capacitor Integrator Circuit C 2 Φ 1 Φ 2 V in Q 1 Q 2 + V out C 1 V in = ±1000 mv freq(v in ) = 5 khz C 1 = 1 pf C 2 = 25 ± 2.5 pf freq(φ 1 ) = freq(φ 2 ) = 500 khz dv out /dt = ±(18 to 22) mv/µs Does V out saturate? (i.e. 2000mV V out 2000mV )

10 Switched Capacitor Output Waveform Vout (mv) Time (us) Vout

11 Switched Capacitor Output Waveform Vout (mv) Time (us) Vout

12 Switched Capacitor Integrator (Correct) Φ 1 Φ 2 Q 3 Q 4 C 3 C 2 Φ 1 Φ 2 V in Q 1 V in = ±1000mV freq(v in ) = 5 khz Q 2 V out + C 1 C 1 = 1 pf C 2 = 25 pf C 3 = 0.5 pf freq(φ 1 ) = freq(φ 2 ) = 500 khz dv out /dt (±20 V out /100) mv/µs

13 Switched Capacitor (Correct) Output Waveform 2000 Vout 1000 Vout (mv) Time (us)

14 Switched Capacitor (Correct) Output Waveform 2000 Vout 1000 Vout (mv) Time (us)

15 Industrial Perspectives...are being solved because we have very good analog engineers. But in the future, if we want to improve time-to-market we will have to improve the tools. We cannot depend on experienced designers forever. James Lin, VP at National Semiconductor

16 Formal and Semi-formal Methods Exhaustively explores the design space for ranges of initial conditions and dynamically varying parameter values. Automatically checks the property over the entire state space. Produces an error trace upon finding a property violation. Formal methods have been successful for digital circuits.

17 AMS Formal Methods Challenges Creation of formal AMS circuit models. Representation of continuous variables, such as voltages and currents, during state space exploration.

18 LEMA VHDL AMS Subset Safety Property Simulation Traces Thresholds VHDL AMS Compiler Model Generator Labeled Hybrid Petri Net (LHPN) Verilog AMS Model VHDL AMS Model BDD Based Model Checker SMT Bounded Model Checker DBM Based Model Checker Pass or Fail + Error Trace

19 LEMA VHDL AMS Subset Safety Property Simulation Traces Thresholds VHDL AMS Compiler Model Generator Labeled Hybrid Petri Net (LHPN) Verilog AMS Model VHDL AMS Model BDD Based Model Checker SMT Bounded Model Checker DBM Based Model Checker Pass or Fail + Error Trace

20 LEMA VHDL AMS Subset Safety Property Simulation Traces Thresholds VHDL AMS Compiler Model Generator Labeled Hybrid Petri Net (LHPN) Verilog AMS Model VHDL AMS Model BDD Based Model Checker SMT Bounded Model Checker DBM Based Model Checker Pass or Fail + Error Trace

21 Labeled Hybrid Petri Nets (LHPNs) Composed of a Petri net and labels operating on continuous variables and Boolean signals. Label types are: Enablings Delay bounds Boolean assignments Value assignments Rate assignments p 0 {l 18} max := T, ẋ := 2 p 1 {open} x := 0, ẋ := 1 t 0 [1, 2] t 1 [1, 2]

22 Labeled Hybrid Petri Nets (LHPNs) Composed of a Petri net and labels operating on continuous variables and Boolean signals. Label types are: Enablings Delay bounds Boolean assignments Value assignments Rate assignments p 0 {l 18} max := T, ẋ := 2 p 1 {open} x := 0, ẋ := 1 t 0 [1, 2] t 1 [1, 2]

23 Labeled Hybrid Petri Nets (LHPNs) Composed of a Petri net and labels operating on continuous variables and Boolean signals. Label types are: Enablings Delay bounds Boolean assignments Value assignments Rate assignments p 0 {l 18} max := T, ẋ := 2 p 1 {open} x := 0, ẋ := 1 t 0 [1, 2] t 1 [1, 2]

24 Labeled Hybrid Petri Nets (LHPNs) Composed of a Petri net and labels operating on continuous variables and Boolean signals. Label types are: Enablings Delay bounds Boolean assignments Value assignments {l 18} max := T, ẋ := 2 [1, 2] Rate assignments x := 0, ẋ := 1 [1, 2] p 0 p 1 {open} t 0 t 1

25 Labeled Hybrid Petri Nets (LHPNs) Composed of a Petri net and labels operating on continuous variables and Boolean signals. Label types are: Enablings Delay bounds Boolean assignments Value assignments {l 18} max := T, ẋ := 2 Rate assignments x := 0, ẋ := 1 p 0 p 1 {open} t 0 [1, 2] t 1 [1, 2]

26 Labeled Hybrid Petri Nets (LHPNs) Composed of a Petri net and labels operating on continuous variables and Boolean signals. Label types are: Enablings Delay bounds Boolean assignments Value assignments Rate assignments p 0 {l 18} max := T, ẋ := 2 p 1 {open} x := 0, ẋ := 1 t 0 [1, 2] t 1 [1, 2]

27 Labeled Hybrid Petri Nets (LHPNs) Composed of a Petri net and labels operating on continuous variables and Boolean signals. Label types are: Enablings Delay bounds Boolean assignments Value assignments Rate assignments p 0 {l 18} max := T, ẋ := 2 p 1 {open} x := 0, ẋ := 1 t 0 [1, 2] t 1 [1, 2]

28 Labeled Hybrid Petri Nets (LHPNs) Composed of a Petri net and labels operating on continuous variables and Boolean signals. Label types are: Enablings Delay bounds Boolean assignments Value assignments Rate assignments p 0 {l 18} max := T, ẋ := 2 p 1 {open} x := 0, ẋ := 1 t 0 [1, 2] t 1 [1, 2]

29 LEMA VHDL AMS Subset Safety Property Simulation Traces Thresholds VHDL AMS Compiler Model Generator Labeled Hybrid Petri Net (LHPN) Verilog AMS Model VHDL AMS Model BDD Based Model Checker SMT Bounded Model Checker DBM Based Model Checker Pass or Fail + Error Trace

30 Switched Capacitor Integrator Model library IEEE; use IEEE.std logic 1164.all; use work.handshake.all; use work.nondeterminism.all; entity integrator is end integrator; architecture switchcap of integrator is signal Vin:std logic := 0 ; quantity Vout:real; begin break Vout => ; --Initial value if Vin= 0 use Vout dot == span(18.0, 22.0); elsif Vin = 1 use Vout dot == span(-22.0, -18.0); end use; process begin assign(vin, 1,100,100); assign(vin, 0,100,100); end process; assert (Vout above( ) and not Vout above(2000.0)) report error severity failure; end switchcap;

31 Switched Capacitor Integrator Model library IEEE; use IEEE.std logic 1164.all; use work.handshake.all; use work.nondeterminism.all; entity integrator is end integrator; architecture switchcap of integrator is signal Vin:std logic := 0 ; quantity Vout:real; begin break Vout => ; --Initial value if Vin= 0 use Vout dot == span(18.0, 22.0); elsif Vin = 1 use Vout dot == span(-22.0, -18.0); end use; process begin assign(vin, 1,100,100); assign(vin, 0,100,100); end process; assert (Vout above( ) and not Vout above(2000.0)) report error severity failure; end switchcap; { fail Vin V out [18,22] } V out := [18, 22], V out [18,22] := T, V out [ 22, 18] := F { fail} [100, 100] Vin := T p 1 t 2 t 3 p 0 t 0 { fail Vin V out [ 22, 18] } V out := [ 22, 18], V out [18,22] := F, V out [ 22, 18] := T p 3 p 2 { fail} [100, 100] Vin := F t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T Q 0 = {Vout = 1000} R 0 = { V out = [18, 22]} S 0 = { Vin} t 1

32 Switched Capacitor Integrator Model library IEEE; use IEEE.std logic 1164.all; use work.handshake.all; use work.nondeterminism.all; entity integrator is end integrator; architecture switchcap of integrator is signal Vin:std logic := 0 ; quantity Vout:real; begin break Vout => ; --Initial value if Vin= 0 use Vout dot == span(18.0, 22.0); elsif Vin = 1 use Vout dot == span(-22.0, -18.0); end use; process begin assign(vin, 1,100,100); assign(vin, 0,100,100); end process; assert (Vout above( ) and not Vout above(2000.0)) report error severity failure; end switchcap; { fail Vin V out [18,22] } V out := [18, 22], V out [18,22] := T, V out [ 22, 18] := F { fail} [100, 100] Vin := T p 1 t 2 t 3 p 0 t 0 { fail Vin V out [ 22, 18] } V out := [ 22, 18], V out [18,22] := F, V out [ 22, 18] := T p 3 p 2 { fail} [100, 100] Vin := F t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T Q 0 = {Vout = 1000} R 0 = { V out = [18, 22]} S 0 = { Vin} t 1

33 Switched Capacitor Integrator Model library IEEE; use IEEE.std logic 1164.all; use work.handshake.all; use work.nondeterminism.all; entity integrator is end integrator; architecture switchcap of integrator is signal Vin:std logic := 0 ; quantity Vout:real; begin break Vout => ; --Initial value if Vin= 0 use Vout dot == span(18.0, 22.0); elsif Vin = 1 use Vout dot == span(-22.0, -18.0); end use; process begin assign(vin, 1,100,100); assign(vin, 0,100,100); end process; assert (Vout above( ) and not Vout above(2000.0)) report error severity failure; end switchcap; { Vin} V out := [18, 22] t 0 p 3 { fail} [100, 100] Vin := T p 1 t 2 t 3 p 2 { fail} [100, 100] Vin := F t 4 p 0 {Vin} V out := [ 22, 18] { (Vout 2000) Vout 2000} [0, 0] fail := T Q 0 = {Vout = 1000} R 0 = { V out = [18, 22]} S 0 = { Vin} t 1

34 Switched Capacitor Integrator Model library IEEE; use IEEE.std logic 1164.all; use work.handshake.all; use work.nondeterminism.all; entity integrator is end integrator; architecture switchcap of integrator is signal Vin:std logic := 0 ; quantity Vout:real; begin break Vout => ; --Initial value if Vin= 0 use Vout dot == span(18.0, 22.0); elsif Vin = 1 use Vout dot == span(-22.0, -18.0); end use; process begin assign(vin, 1,100,100); assign(vin, 0,100,100); end process; assert (Vout above( ) and not Vout above(2000.0)) report error severity failure; end switchcap; { Vin V out [18,22] } V out := [18, 22], V out [18,22] := T, V out [ 22, 18] := F t 0 p 3 { fail} [100, 100] Vin := T p 1 {Vin V out [ 22, 18] } V out := [ 22, 18], V out [18,22] := F, V out [ 22, 18] := T t 2 t 3 p 2 { fail} [100, 100] Vin := F t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T Q 0 = {Vout = 1000} R 0 = { V out = [18, 22]} S 0 = { Vin, V out [18,22], V out [ 22, 18] } p 0 t 1

35 Switched Capacitor Integrator Model library IEEE; use IEEE.std logic 1164.all; use work.handshake.all; use work.nondeterminism.all; entity integrator is end integrator; architecture switchcap of integrator is signal Vin:std logic := 0 ; quantity Vout:real; begin break Vout => ; --Initial value if Vin= 0 use Vout dot == span(18.0, 22.0); elsif Vin = 1 use Vout dot == span(-22.0, -18.0); end use; process begin assign(vin, 1,100,100); assign(vin, 0,100,100); end process; assert (Vout above( ) and not Vout above(2000.0)) report error severity failure; end switchcap; { Vin V out [18,22] } V out := [18, 22], V out [18,22] := T, V out [ 22, 18] := F [100, 100] Vin := T p 1 t 2 [100, 100] Vin := F p 3 t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T Q 0 = {Vout = 1000} R 0 = { V out = [18, 22]} S 0 = { Vin, V out [18,22], V out [ 22, 18] } p 0 t 0 {Vin V out [ 22, 18] } V out := [ 22, 18], V out [18,22] := F, V out [ 22, 18] := T t 3 p 2 t 1

36 Switched Capacitor Integrator Model library IEEE; use IEEE.std logic 1164.all; use work.handshake.all; use work.nondeterminism.all; entity integrator is end integrator; architecture switchcap of integrator is signal Vin:std logic := 0 ; quantity Vout:real; begin break Vout => ; --Initial value if Vin= 0 use Vout dot == span(18.0, 22.0); elsif Vin = 1 use Vout dot == span(-22.0, -18.0); end use; process begin assign(vin, 1,100,100); assign(vin, 0,100,100); end process; assert (Vout above( ) and not Vout above(2000.0)) report error severity failure; end switchcap; { fail Vin V out [18,22] } V out := [18, 22], V out [18,22] := T, V out [ 22, 18] := F { fail} [100, 100] Vin := T p 1 t 2 t 3 p 0 t 0 { fail Vin V out [ 22, 18] } V out := [ 22, 18], V out [18,22] := F, V out [ 22, 18] := T p 3 p 2 { fail} [100, 100] Vin := F t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T Q 0 = {Vout = 1000} R 0 = { V out = [18, 22]} S 0 = { Vin, fail, V out [18,22], V out [ 22, 18] } t 1

37 Piecewise Linear Approximation mv µs

38 Piecewise Linear Approximation mv µs

39 Piecewise Linear Approximation mv µs

40 Piecewise Linear Approximation mv µs

41 LHPN Piecewise Transformation { fail Vin V out [18,22] } V out := [18, 22], V out [18,22] := T, V out [ 22, 18] := F p 0 t 1 t 0 { fail Vin V out [ 22, 18] } V out := [ 22, 18], V out [18,22] := F, V out [ 22, 18] := T

42 LHPN Piecewise Transformation { fail Vin V out [18,22] } V out := 18, V out [18,22] := T, V out [ 22, 18] := F, v0 := T, v1 := F t 5 { fail v0}[0, ] V out := 22, v0 := F p 0 t 1 t 0 { fail Vin V out [ 22, 18] } V out := 22, V out [18,22] := F, V out [ 22, 18] := T, v0 := F, { fail v1}[0, ] v1 := T V t 6 out := 18, v1 := F

43 Abstract AMS Modeling Designers create abstract HDL models manually. Updating these models for circuit changes may be tedious. High quality abstract models require time and expertise. AMS designers typically use detailed transistor level models.

44 LEMA VHDL AMS Subset Safety Property Simulation Traces Thresholds VHDL AMS Compiler Model Generator Labeled Hybrid Petri Net (LHPN) Verilog AMS Model VHDL AMS Model BDD Based Model Checker SMT Bounded Model Checker DBM Based Model Checker Pass or Fail + Error Trace

45 LHPN Model Generation Build abstract models of the circuit using: Simulation traces. Thresholds on the design variables. A property to verify. Thresholds Simulation Traces Safety Property 1. Assign data to bins 2. Generate rates for binned data 3. Detect discrete multi valued variables 4. Generate model VHDL AMS Model Verilog AMS Model LHPN Model

46 Model Generation Simulations V in V out (27pF ) V out (23pF ) 1 Voltage (V) 0-1 0e e 04 2e 04 3e 04 4e 04 Time (s)

47 Step 1: Data Binning Each data point is assigned a bin based upon thresholds. Each bin represents an operating region of the system mv 1 V out 0 mv mv V in V out mv 1 0 mv 0 V in 1000 mv 100µs 200µs 300µs 400µs

48 Step 1: Data Binning 1000 mv 1 V out 0 mv mv V in V out mv 1 V in 0 mv mv 100µs 200µs 300µs 400µs

49 Step 1: Data Binning 1000 mv 1 V out 0 mv mv V in V out mv 1 V in 0 mv mv 100µs 200µs 300µs 400µs

50 Step 1: Data Binning 1000 mv 1 V out 0 mv mv V in V out mv 1 V in 0 mv mv 100µs 200µs 300µs 400µs

51 Step 1: Data Binning 1000 mv 1 V out 0 mv mv V in V out mv 1 V in 0 mv mv 100µs 200µs 300µs 400µs

52 Step 2: Rate Calculation Rates are calculated for each eligible data point in each bin. Low pass filtering smooths edge effects and transitory pulses. Minimum and maximum rates are tabulated for each bin mv V out 23 pf 27 pf mv mv µs µs 150µs 200µs

53 Step 2: Rate Calculation 1000 mv V out 23 pf 27 pf mv mv µs µs 150µs 200µs ( )/( ) = 23.93mV /µs V out00 = [23, 24]

54 Step 2: Rate Calculation 1000 mv Vout 23 pf 27 pf mv mv µs 100µs 150µs 200µs ( )/( ) = 21.06mV /µs V out00 = [21, 24]

55 Step 2: Rate Calculation 1000 mv Vout 23 pf 27 pf mv mv µs 100µs 150µs 200µs No rate calculated. V out00 = [19, 24]

56 Step 2: Rate Calculation 1000 mv V out 23 pf 27 pf mv mv µs µs 150µs 200µs Final rate calculations after C 2 = 27pF. V out00 = [17, 24]

57 Step 3: Discrete Multi-Valued (DMV) Variables Stable signals are handled differently to aid efficiency. Stability is determined by: Remaining constant within an epsilon value for a specified time. Total percent of the entire signal marked stable. Delay is calculated for each constant value. Min/max delay and constant values are extracted. ɛ ɛ

58 Step 3: Discrete Multi-Valued (DMV) Variables 1V Vout 0V 1V 50µs 100µs 150µs 200µs Stability ratio: 100.1/100.1 = 1

59 Step 3: Discrete Multi-Valued (DMV) Variables 1V Vout 0V 1V 50µs 100µs 150µs 200µs Stability ratio: 100.1/100.2 =.99

60 Step 3: Discrete Multi-Valued (DMV) Variables 1V Vout 0V 1V 50µs 100µs 150µs 200µs Stability ratio: 199.9/200 =.99

61 Step 3: Discrete Multi-Valued (DMV) Variables 1V Vout 0V 1V 50µs 100µs 150µs 200µs Delay value for mv: [100,101]

62 Step 3: Discrete Multi-Valued (DMV) Variables 1V Vout 0V 1V 50µs 100µs 150µs 200µs Delay value for 1000 mv: [99,100]

63 Step 4: Generating Verilog-AMS include "disciplines.h" module swcap(vin io,vout io); inout Vin io, Vout io; electrical Vin io, Vout io; real Vout var, Vout rate; analog step) begin Vout var = -1.00; Vout rate = 0.020; io)-0.0,-1)) begin Vout rate = 0.020; io)-0.0,1)) begin Vout rate = ; begin Vout var = Vout var + Vout rate; end V(Vout io) <+ transition(vout var,1p,1p,1p); end endmodule

64 Step 4: Generating an LHPN Initial values = {V out = 1000mV, V in = 1000mV, fail = F }; Initial rates = { V in = 0, V out = [17, 24]} V out LHPN p 6 (00) {V in 0} [0, 0] V out := [ 24, 17] p 4 (11) p p 3 (01) 1 ( 1000) t 1 t 3 t 2 V in LHPN [0, 0] {V out 0} t 6 { V out 0} [0, 0] V V out := [17, 24] out := [ 24, 17] t 4 [99, 100] p 2 (1000) V in := 1000 t 5 { V in 0} [0, 0] V out := [17, 24] p 5 (10) p 0 t 0 [100, 101] V in := 1000 Property LHPN {( V out 2000) V out 2000} [0, 0] fail := T

65 LEMA VHDL AMS Subset Safety Property Simulation Traces Thresholds VHDL AMS Compiler Model Generator Labeled Hybrid Petri Net (LHPN) Verilog AMS Model VHDL AMS Model BDD Based Model Checker SMT Bounded Model Checker DBM Based Model Checker Pass or Fail + Error Trace

66 State Space Exploration Methods Hartong, et al. Little, et al. Frehse, Gupta, Krogh, Rutenbar

67 Zones Representation used by many timed state space verifiers. Efficiently represented using difference bound matrices (DBMs). Only allow polygons with 45 and 90 angles. Evolve at a rate of 1 along 45 angles. Uses variable substitutions to support other rates. Uses warping to ensure 45 and 90 angles are maintained.

68 Warping the Zone 9 p 0 3 y x 2 10 [2, 5] t 0 ẋ := 2 ẏ := 3

69 Warping the Zone p 0 3 y 3 x 2 4 [2, 5] t 0 ẋ := 2 ẏ := 3

70 Warping the Zone p 0 3 y 3 x 2 4 [2, 5] t 0 ẋ := 2 ẏ := 3

71 Warping the Zone p 0 3 y 3 x 2 4 [2, 5] t 0 ẋ := 2 ẏ := 3

72 Switched Capacitor Integrator Example { fail Vin V out [18,22] } V out := 18, V out [18,22] := T, V out [ 22, 18] := F, v0 := T, v1 := F Q 0 = {Vout = 1000} t 5 { fail v0}[0, ] V out := 22, v0 := F R 0 = { V out = 18} S 0 = { Vin, fail, V out [18,22], V out [ 22, 18], v0, v1} p 0 t 1 { fail} [100, 100] Vin := T p 1 t 2 t 3 p 2 { fail} [100, 100] Vin := F t 0 { fail Vin V out [ 22, 18] } V out := 22, V out [18,22] := F, V out [ 22, 18] := T, v0 := F, { fail v1}[0, ] v1 := T V t 6 out := 18, v1 := F p 3 t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T c t2 = 0 Vout = 1000mV V out = 18mV /µs vin = F, V out [18,22] = T, V out [ 22, 18] = F, v0 = T, v1 = F, fail = F

73 Switched Capacitor Integrator Example { fail Vin V out [18,22] } V out := 18, V out [18,22] := T, V out [ 22, 18] := F, v0 := T, v1 := F Q 0 = {Vout = 1000} t 5 { fail v0}[0, ] V out := 22, v0 := F R 0 = { V out = 18} S 0 = { Vin, fail, V out [18,22], V out [ 22, 18], v0, v1} p 0 t 1 { fail} [100, 100] Vin := T p 1 t 2 t 3 p 2 { fail} [100, 100] Vin := F t 0 { fail Vin V out [ 22, 18] } V out := 22, V out [18,22] := F, V out [ 22, 18] := T, v0 := F, { fail v1}[0, ] v1 := T V t 6 out := 18, v1 := F p 3 t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T 0µs c t2 100µs 1000mV Vout 800mV V out = 18mV /µs vin = F, V out [18,22] = T, V out [ 22, 18] = F, v0 = T, v1 = F, fail = F

74 Switched Capacitor Integrator Example { fail Vin V out [18,22] } V out := 18, V out [18,22] := T, V out [ 22, 18] := F, v0 := T, v1 := F Q 0 = {Vout = 1000} t 5 { fail v0}[0, ] V out := 22, v0 := F R 0 = { V out = 18} S 0 = { Vin, fail, V out [18,22], V out [ 22, 18], v0, v1} p 0 t 1 { fail} [100, 100] Vin := T p 1 t 2 t 3 p 2 { fail} [100, 100] Vin := F t 0 { fail Vin V out [ 22, 18] } V out := 22, V out [18,22] := F, V out [ 22, 18] := T, v0 := F, { fail v1}[0, ] v1 := T V t 6 out := 18, v1 := F p 3 t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T 0µs c t2 100µs 1000mV Vout 1200mV V out = 22mV /µs vin = F, V out [18,22] = T, V out [ 22, 18] = F, v0 = F, v1 = F, fail = F

75 Switched Capacitor Integrator Example { fail Vin V out [18,22] } V out := 18, V out [18,22] := T, V out [ 22, 18] := F, v0 := T, v1 := F Q 0 = {Vout = 1000} t 5 { fail v0}[0, ] V out := 22, v0 := F R 0 = { V out = 18} S 0 = { Vin, fail, V out [18,22], V out [ 22, 18], v0, v1} p 0 t 1 { fail} [100, 100] Vin := T p 1 t 2 t 3 p 2 { fail} [100, 100] Vin := F t 0 { fail Vin V out [ 22, 18] } V out := 22, V out [18,22] := F, V out [ 22, 18] := T, v0 := F, { fail v1}[0, ] v1 := T V t 6 out := 18, v1 := F p 3 t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T c t2 = 100µs 800mV Vout 1200mV V out = 22mV /µs vin = T, V out [18,22] = T, V out [ 22, 18] = F, v0 = F, v1 = F, fail = F

76 Switched Capacitor Integrator Example { fail Vin V out [18,22] } V out := 18, V out [18,22] := T, V out [ 22, 18] := F, v0 := T, v1 := F Q 0 = {Vout = 1000} t 5 { fail v0}[0, ] V out := 22, v0 := F R 0 = { V out = 18} S 0 = { Vin, fail, V out [18,22], V out [ 22, 18], v0, v1} p 0 t 1 { fail} [100, 100] Vin := T p 1 t 2 t 3 p 2 { fail} [100, 100] Vin := F t 0 { fail Vin V out [ 22, 18] } V out := 22, V out [18,22] := F, V out [ 22, 18] := T, v0 := F, { fail v1}[0, ] v1 := T V t 6 out := 18, v1 := F p 3 t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T c t3 = 0µs 800mV Vout 1200mV V out = 22mV /µs vin = T, V out [18,22] = T, V out [ 22, 18] = F, v0 = F, v1 = F, fail = F

77 Switched Capacitor Integrator Example { fail Vin V out [18,22] } V out := 18, V out [18,22] := T, V out [ 22, 18] := F, v0 := T, v1 := F Q 0 = {Vout = 1000} t 5 { fail v0}[0, ] V out := 22, v0 := F R 0 = { V out = 18} S 0 = { Vin, fail, V out [18,22], V out [ 22, 18], v0, v1} p 0 t 1 { fail} [100, 100] Vin := T p 1 t 2 t 3 p 2 { fail} [100, 100] Vin := F t 0 { fail Vin V out [ 22, 18] } V out := 22, V out [18,22] := F, V out [ 22, 18] := T, v0 := F, { fail v1}[0, ] v1 := T V t 6 out := 18, v1 := F p 3 t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T c t3 = 0µs 400mV Vout 1600mV V out = 22mV /µs vin = T, V out [18,22] = T, V out [ 22, 18] = F, v0 = F, v1 = F, fail = F

78 Switched Capacitor Integrator Example { fail Vin V out [18,22] } V out := 18, V out [18,22] := T, V out [ 22, 18] := F, v0 := T, v1 := F Q 0 = {Vout = 1000} t 5 { fail v0}[0, ] V out := 22, v0 := F R 0 = { V out = 18} S 0 = { Vin, fail, V out [18,22], V out [ 22, 18], v0, v1} p 0 t 1 { fail} [100, 100] Vin := T p 1 t 2 t 3 p 2 { fail} [100, 100] Vin := F t 0 { fail Vin V out [ 22, 18] } V out := 22, V out [18,22] := F, V out [ 22, 18] := T, v0 := F, { fail v1}[0, ] v1 := T V t 6 out := 18, v1 := F p 3 t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T c t3 = 0µs 0mV Vout 2000mV V out = 22mV /µs vin = T, V out [18,22] = T, V out [ 22, 18] = F, v0 = F, v1 = F, fail = F

79 Switched Capacitor Integrator Example { fail Vin V out [18,22] } V out := 18, V out [18,22] := T, V out [ 22, 18] := F, v0 := T, v1 := F Q 0 = {Vout = 1000} t 5 { fail v0}[0, ] V out := 22, v0 := F R 0 = { V out = 18} S 0 = { Vin, fail, V out [18,22], V out [ 22, 18], v0, v1} p 0 t 1 { fail} [100, 100] Vin := T p 1 t 2 t 3 p 2 { fail} [100, 100] Vin := F t 0 { fail Vin V out [ 22, 18] } V out := 22, V out [18,22] := F, V out [ 22, 18] := T, v0 := F, { fail v1}[0, ] v1 := T V t 6 out := 18, v1 := F p 3 t 4 { (Vout 2000) Vout 2000} [0, 0] fail := T DEADLOCK 0mV Vout 2000mV V out = 22mV /µs vin = T, V out [18,22] = T, V out [ 22, 18] = F, v0 = F, v1 = F, fail = T

80 Switched Capacitor Integrator Verification Results V in V out 2000 Voltage (mv) Time (us)

81 Switched Capacitor Integrator (Correct) Φ 1 Φ 2 Q 3 Q 4 C 3 C 2 Φ 1 Φ 2 V in Q 1 V in = ±1000mV freq(v in ) = 5 khz Q 2 V out + C 1 C 1 = 1 pf C 2 = 25 pf C 3 = 0.5 pf freq(φ 1 ) = freq(φ 2 ) = 500 khz dv out /dt (±20 V out /100) mv/µs

82 Switched Capacitor Integrator (Correct) 1.5 V in V out (27pF ) V out (23pF ) 1 Voltage (V) e e 04 2e 04 3e 04 4e 04 Time (s)

83 Switched Capacitor Integrator (Correct) Model Initial values = {V out = 1000mV, V in = 1000mV, fail = F }; Initial rates = { V in = 0, V out = [18, 22]} V out LHPN p 3 (01) [0, 0] {V out 0} V out := [6, 24] p 6 (00) {V in 0} [0, 0] V out := [ 36, 15] t 3 t 6 t 4 t 5 { V in 0} [0, 0] V out := [14, 36] p 4 (11) { V out 0} [0, 0] V out := [ 24, 6] p 5 (10) p 1 [99, 101] V in := 999 t 1 t 2 [99, 100] V in := 1000 p 0 t 0 {( V out 2000) V out 2000} [0, 0] fail := T V in LHPN p 2 Property LHPN

84 Switched Capacitor Integrator (Correct) 1V V out 0V 1V 1V V in 0V 1V 100µs 200µs 300µs 400µs

85 Switched Capacitor Integrator (Correct) Model V out LHPN { V out 500} [0, 0] V out := [ 16, 9] { V in 0} [0, 0] V out := [23, 32] p 7 (10) t 6 t 7 p 0 (00) Q 0 = {V out = 1000, V in = 1000} R 0 = { V out = [26, 32]} S 0 = {fail = F } { V out 0} [0, 0] V out := [ 22, 14] p 6 (11) t 5 p 5 (12) t 0 p 1 (01) t 1 {V out 500} [0, 0] V out := [18, 27] {V out 0} [0, 0] V out := [14, 22] p 8 [100, 101] V in := 1000 t 8 t 9 [99, 100] V in := 1000 V in LHPN p 9 { V out 500} [0, 0] V out := [ 27, 18] t 4 p 4 (13) p 2 (02) t 2 {V out 500} [0, 0] V out := [9, 16] p 2 Property LHPN {V out 2000 V out 2000} [0, 0] fail := T t 3 p 3 (03) {V in 0} [0, 0] V out := [ 32, 23]

86 Verification Results DBM Model Checker HyTech PHAVer Example Ψ Time Verifies? Time Time Integrator (Sat.) No Integrator (No sat.) Yes Diode (Osc.) Yes o/f 72.8 Diode (No osc.) No o/f n/a R L I l V in C V c

87 PLL Phase Detector Example clk clk d rst q q up Combinational Logic gclk rst d clk q q down

88 PLL Phase Detector Model 4 simulations used for model generation: 1 µs piecewise linear simulation representing reasonable clock skew and periodic clock signal. 2 periodic signals that are out of phase. 8 signals are used for model generation. Verilog-AMS and LHPN models generated in less than 20 s.

89 PLL Phase Detector Simulation Times 0.5 µs and 1 µs simulations use the piecewise linear trace representing reasonable clock skew. 2 µs simulation uses two periodic signals out of phase. Verilog-AMS simulation is significantly faster in each case. Sim Length Verilog-AMS (s) Transistor-level (s) Speed-up 0.5 µs µs µs µs µs

90 PLL Phase Detector Simulation Traces Comparison of Verilog-AMS and transistor-level simulation output clk gclk Transistor-level down Verilog-AMS down Voltage (V) Time (ns)

91 PLL Phase Detector Verification The property (down up) verifies in 0.3 seconds. A more complex property: if gclk 1 0 then if up = 1 then up = 0 within 5 ns elsif down = 0 then down = 1 within 5 ns if clk 1 0 then if down = 1 then down = 0 within 5 ns elsif up = 0 then up = 1 within 5 ns Translates to an LHPN with 20 transitions and 14 places. Verifies correctly in 2.12 seconds.

92 Conclusions Improved verification methods are needed in the AMS space. Developed LHPN model to describe and analyze AMS circuits. Simulation data and VHDL-AMS can be translated to LHPNs. Abstract circuit models can be generated from simulation data. Developed an efficient LHPN analysis engine based on zones. Results on several examples are encouraging.

93 Future Work AMS Circuit monitors. Reliability and functional failures can be detected. Automatic property extraction can aid this effort. AMS Property Specification Language. Digital designers have mature property specification languages. Digital languages are not adequate for analog designers. A property specification language supporting time and frequency domain properties is needed.

94 Future Work Automatic Stability Verification. Stability is a critical property of many analog designs. Formal methods can prove stability of a system over ranges of parameter values and initial conditions. Automatic Model Abstraction. System-level simulation needs abstract models for efficiency. Abstract models can be used by formal tools and simulators. Model quality and efficiency concerns must be addressed. AMS Coverage metrics. Determining the number and type of simulations required to validate an AMS circuit is an art. Coverage metrics should be based on the type of circuit.

95 Future Work Hardware/Software Modeling and Co-verification. Modeling and verification of embedded systems requires low level modeling of software and AMS circuits. Compositional verification techniques will improve efficiency. Embedded Software Verification. The embedded software problem differs from the general software verification problem. Extensions to current techniques that address interrupts and work at the assembly language level are needed.

Extending Digital Verification Techniques for Mixed-Signal SoCs with VCS AMS September 2014

Extending Digital Verification Techniques for Mixed-Signal SoCs with VCS AMS September 2014 White Paper Extending Digital Verification Techniques for Mixed-Signal SoCs with VCS AMS September 2014 Author Helene Thibieroz Sr Staff Marketing Manager, Adiel Khan Sr Staff Engineer, Verification Group;

More information

SmartSpice Verilog-A Interface. Behavioral and Structural Modeling Tool - Device Model Development

SmartSpice Verilog-A Interface. Behavioral and Structural Modeling Tool - Device Model Development SmartSpice Verilog-A Interface Behavioral and Structural Modeling Tool - Device Model Development Verilog-A Models and Features Agenda Overview Design Capability Compact Modeling Verilog-A Inteface - 2

More information

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series Design Verification An Introduction Main References Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series A Roadmap

More information

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation Course Goals Lab Understand key components in VLSI designs Become familiar with design tools (Cadence) Understand design flows Understand behavioral, structural, and physical specifications Be able to

More information

Part 6: VHDL simulation. Introduction to Modeling and Verification of Digital Systems. Elaboration and simulation. Elaboration and simulation

Part 6: VHDL simulation. Introduction to Modeling and Verification of Digital Systems. Elaboration and simulation. Elaboration and simulation M Informatique / MOIG Introduction to Modeling and Verification of Digital ystems Part 6: VHDL simulation Laurence PIERRE http://users-tima.imag.fr/amfors/lpierre/marc 27/28 37 Elaboration and simulation

More information

Custom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog

Custom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog DATASHEET Custom Design Formal Equivalence Checking Based on Symbolic Simulation High-quality equivalence checking for full-custom designs Overview is an equivalence checker for full custom designs. It

More information

THE DESIGNER'S GUIDE TO VERILOG-AMS First Edition June 2004

THE DESIGNER'S GUIDE TO VERILOG-AMS First Edition June 2004 THE DESIGNER'S GUIDE TO VERILOG-AMS First Edition June 2004 KENNETH S. KUNDERT Cadence Design Systems OLAF ZINKE Cadence Design Systems k4 Kluwer Academic Publishers Boston/Dordrecht/London Chapter 1 Introduction

More information

Logic Verification 13-1

Logic Verification 13-1 Logic Verification 13-1 Verification The goal of verification To ensure 100% correct in functionality and timing Spend 50 ~ 70% of time to verify a design Functional verification Simulation Formal proof

More information

Design Progression With VHDL Helps Accelerate The Digital System Designs

Design Progression With VHDL Helps Accelerate The Digital System Designs Fourth LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCET 2006) Breaking Frontiers and Barriers in Engineering: Education, Research and Practice 21-23 June

More information

ASIC world. Start Specification Design Verification Layout Validation Finish

ASIC world. Start Specification Design Verification Layout Validation Finish AMS Verification Agenda ASIC world ASIC Industrial Facts Why Verification? Verification Overview Functional Verification Formal Verification Analog Verification Mixed-Signal Verification DFT Verification

More information

Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink

Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink Arun Mulpur, Ph.D., MBA Industry Group Manager Communications, Electronics, Semiconductors, Software, Internet Energy Production, Medical

More information

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints Chip design is not getting any easier. With increased gate counts, higher clock speeds, smaller chip sizes and

More information

Electrical Characteristics

Electrical Characteristics 2 MOS (PTY) LTD. Microsystems On Silicon Member of ELMOS Semiconductor AG DUAL CHANNEL PIR SIGNAL PROCESSOR E910.62 Features General Description ÿ Direct connection to PIR sensor elements ÿ Temperature

More information

Mixed-signal Modeling Using Simulink based-c

Mixed-signal Modeling Using Simulink based-c Mixed-signal Modeling Using Simulink based-c Shoufeng Mu, Michael Laisne 1 Agenda Objectives of Mixed-signal (MS) modeling Advantages of Simulink based MS modeling Simulink based MS modeling flow 1) Build

More information

EE E6930 Advanced Digital Integrated Circuits. Spring, 2002 Lecture 18. Introduction to Verilog-A/Verilog-AMS

EE E6930 Advanced Digital Integrated Circuits. Spring, 2002 Lecture 18. Introduction to Verilog-A/Verilog-AMS EE E6930 Advanced Digital Integrated Circuits Spring, 2002 Lecture 18. Introduction to Verilog-A/Verilog-AMS References D. Fitzpatrick and I. Miller, Analog Behavior Modeling with the Verilog-A Language,

More information

Digital System Design

Digital System Design Digital System Design Analog time varying signals that can take on any value across a continuous range of voltage, current or other metric Digital signals are modeled with two states, 0 or 1 underneath

More information

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance

More information

Mixed Signal Verification of an FPGA-Embedded DDR3 SDRAM Memory Controller using ADMS

Mixed Signal Verification of an FPGA-Embedded DDR3 SDRAM Memory Controller using ADMS Mixed Signal Verification of an FPGA-Embedded DDR3 SDRAM Memory Controller using ADMS Arch Zaliznyak 1, Malik Kabani 1, John Lam 1, Chong Lee 1, Jay Madiraju 2 1. Altera Corporation 2. Mentor Graphics

More information

Instrumenting AMS Assertion Verification on Commercial Platforms

Instrumenting AMS Assertion Verification on Commercial Platforms Instrumenting AMS Assertion Verification on Commercial Platforms RAJDEEP MUKHOPADHYAY, S. K. PANDA, PALLAB DASGUPTA IIT Kharagpur, INDIA and JOHN GOUGH National Semiconductor Corp., Greenock, UK The industry

More information

VCS AMS. Mixed-Signal Verification Solution. Overview. testing with transistor-level accuracy. Introduction. Performance. Multicore Technology

VCS AMS. Mixed-Signal Verification Solution. Overview. testing with transistor-level accuracy. Introduction. Performance. Multicore Technology DATASHEET VCS AMS Mixed-Signal Verification Solution Scalable mixedsignal regression testing with transistor-level accuracy Overview The complexity of mixed-signal system-on-chip (SoC) designs is rapidly

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

Harmony-AMS Analog/Mixed-Signal Simulator

Harmony-AMS Analog/Mixed-Signal Simulator Harmony-AMS Analog/Mixed-Signal Simulator Yokohama, June 2004 Workshop 7/15/04 Challenges for a True Single-Kernel A/MS Simulator Accurate partition of analog and digital circuit blocks Simple communication

More information

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling ECE 587 Hardware/Software Co-Design Spring 2018 1/20 ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling Professor Jia Wang Department of Electrical and Computer Engineering

More information

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing? Testing ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 24: Introduction to Software Testing and Verification What is software testing? Running a program in order to find bugs (faults,

More information

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he Energy Efficient Solutions logo, mobilegt, PowerQUICC,

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he Energy Efficient Solutions logo, mobilegt, PowerQUICC, Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he Energy Efficient Solutions logo, mobilegt, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale

More information

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is

More information

EE 330 Spring Laboratory 2: Basic Boolean Circuits

EE 330 Spring Laboratory 2: Basic Boolean Circuits EE 330 Spring 2013 Laboratory 2: Basic Boolean Circuits Objective: The objective of this experiment is to investigate methods for evaluating the performance of Boolean circuits. Emphasis will be placed

More information

Short Course On Phase-Locked Loops and Their Applications Day 3, PM Lecture. Behavioral Simulation Exercises

Short Course On Phase-Locked Loops and Their Applications Day 3, PM Lecture. Behavioral Simulation Exercises Short Course On Phase-Locked Loops and Their Applications Day 3, PM Lecture Behavioral Simulation Exercises Michael H Perrott August 13, 2008 Copyright 2008 by Michael H. Perrott All rights reserved. A

More information

DS1238A MicroManager PIN ASSIGNMENT PIN DESCRIPTION V BAT V CCO V CC

DS1238A MicroManager PIN ASSIGNMENT PIN DESCRIPTION V BAT V CCO V CC MicroManager www.dalsemi.com FEATURES Holds microprocessor in check during power transients Halts and restarts an out-of-control microprocessor Warns microprocessor of an impending power failure Converts

More information

CS 250 VLSI Design Lecture 11 Design Verification

CS 250 VLSI Design Lecture 11 Design Verification CS 250 VLSI Design Lecture 11 Design Verification 2012-9-27 John Wawrzynek Jonathan Bachrach Krste Asanović John Lazzaro TA: Rimas Avizienis www-inst.eecs.berkeley.edu/~cs250/ IBM Power 4 174 Million Transistors

More information

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification? Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little

More information

101-1 Under-Graduate Project Digital IC Design Flow

101-1 Under-Graduate Project Digital IC Design Flow 101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL

More information

This Part-B course discusses design techniques that are used to reduce noise problems in large-scale integration (LSI) devices.

This Part-B course discusses design techniques that are used to reduce noise problems in large-scale integration (LSI) devices. Course Introduction Purpose This Part-B course discusses design techniques that are used to reduce noise problems in large-scale integration (LSI) devices. Objectives Learn approaches and design methods

More information

An Introduction to Programmable Logic

An Introduction to Programmable Logic Outline An Introduction to Programmable Logic 3 November 24 Transistors Logic Gates CPLD Architectures FPGA Architectures Device Considerations Soft Core Processors Design Example Quiz Semiconductors Semiconductor

More information

CAD Technology of the SX-9

CAD Technology of the SX-9 KONNO Yoshihiro, IKAWA Yasuhiro, SAWANO Tomoki KANAMARU Keisuke, ONO Koki, KUMAZAKI Masahito Abstract This paper outlines the design techniques and CAD technology used with the SX-9. The LSI and package

More information

ECE 595Z Digital Systems Design Automation

ECE 595Z Digital Systems Design Automation ECE 595Z Digital Systems Design Automation Anand Raghunathan, raghunathan@purdue.edu How do you design chips with over 1 Billion transistors? Human designer capability grows far slower than Moore s law!

More information

Making the Most of your MATLAB Models to Improve Verification

Making the Most of your MATLAB Models to Improve Verification Making the Most of your MATLAB Models to Improve Verification Verification Futures 2016 Graham Reith Industry Manager: Communications, Electronics & Semiconductors Graham.Reith@mathworks.co.uk 2015 The

More information

AMS Behavioral Modeling

AMS Behavioral Modeling CHAPTER 3 AMS Behavioral Modeling Ronald S. Vogelsong, Ph.D. Overview Analog designers have for many decades developed their design using a Bottom-Up design flow. First, they would gain the necessary understanding

More information

DS1233A 3.3V EconoReset

DS1233A 3.3V EconoReset 3.3V EconoReset www.maxim-ic.com FEATURES Automatically restarts microprocessor after power failure Monitors pushbutton for external override Internal circuitry debounces pushbutton switch Maintains reset

More information

OUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)

OUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1) September 3, 2018 GETTING STARTED WITH VHDL 2 Top-down design VHDL history Main elements of VHDL Entities and architectures Signals and processes Data types Configurations Simulator basics The testbench

More information

VHDL simulation and synthesis

VHDL simulation and synthesis VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis

More information

Basic Sample and Hold Element. Prof. Paul Hasler Georgia Institute of Technology

Basic Sample and Hold Element. Prof. Paul Hasler Georgia Institute of Technology Basic Sample and Hold Element Prof. Paul Hasler Georgia Institute of Technology Sample and Hold Elements Sample and Hold Elements Amplitude (Hold) (Sample) (Hold) Time Sample and Hold Elements Amplitude

More information

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001 Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright

More information

Fundamental Design Concepts. Fundamental Concepts. Modeling Domains. Basic Definitions. New terminology and overloaded use of common words

Fundamental Design Concepts. Fundamental Concepts. Modeling Domains. Basic Definitions. New terminology and overloaded use of common words Fundamental Design Concepts Fundamental Concepts Basic Definitions study now revisit later New terminology and overloaded use of common words Modeling Domains Structural Domain a domain in which a component

More information

REAL VALUE MODELING FOR IMPROVING THE VERIFICATION PERFORMANCE

REAL VALUE MODELING FOR IMPROVING THE VERIFICATION PERFORMANCE REAL VALUE MODELING FOR IMPROVING THE VERIFICATION PERFORMANCE MALLIKARJUNA REDDY. Y, TEST AND VERIFICATION SOLUTIONS K.VENKATRAMANARAO, MINDLANCE TECHNOLOGIES AGENDA Analog Modeling Vs Real Number Modeling

More information

Features. Applications. n Embedded Controllers and Processors n Intelligent Instruments n Automotive Systems n Critical µp Power Monitoring

Features. Applications. n Embedded Controllers and Processors n Intelligent Instruments n Automotive Systems n Critical µp Power Monitoring Microprocessor Supervisory Circuits with Separate Watchdog Timer Output, Power Fail Input and Manual Reset General Description The LM3712/LM3713 series of microprocessor supervisory circuits provide the

More information

electronic lab 11 Fedora Electronic Lab empowers hardware engineers and universities with opensource solutions for micro nano electronics engineering.

electronic lab 11 Fedora Electronic Lab empowers hardware engineers and universities with opensource solutions for micro nano electronics engineering. The Fedora Project is out front for you, leading the advancement of free, open software and content. electronic lab 11 Community Leader in opensource EDA deployment Fedora Electronic Lab empowers hardware

More information

Formal Verification of Embedded Software in Medical Devices Considering Stringent Hardware Constraints

Formal Verification of Embedded Software in Medical Devices Considering Stringent Hardware Constraints Formal Verification of Embedded Software in Medical Devices Considering Stringent Hardware Constraints L. Cordeiro, B. Fischer, H. Chen, J. P. Marques-Silva Lucas Cordeiro lcc08r@ecs.soton.ac.uk Agenda

More information

Overview of Digital Design with Verilog HDL 1

Overview of Digital Design with Verilog HDL 1 Overview of Digital Design with Verilog HDL 1 1.1 Evolution of Computer-Aided Digital Design Digital circuit design has evolved rapidly over the last 25 years. The earliest digital circuits were designed

More information

Test Scenarios and Coverage

Test Scenarios and Coverage Test Scenarios and Coverage Testing & Verification Dept. of Computer Science & Engg,, IIT Kharagpur Pallab Dasgupta Professor, Dept. of Computer Science & Engg., Professor-in in-charge, AVLSI Design Lab,

More information

System Power Savings Using Dynamic Voltage Scaling. Scot Lester Texas Instruments

System Power Savings Using Dynamic Voltage Scaling. Scot Lester Texas Instruments System Power Savings Using Dynamic Voltage Scaling Scot Lester Texas Instruments What Is Dynamic Voltage Scaling? Dynamic voltage scaling, or DVS, is a method of reducing the average power consumption

More information

Figure 1 Typical Application Circuit

Figure 1 Typical Application Circuit 4-CH CAPACITIVE TOUCH SENSOR WITH AUTO CALIBRATION August 2015 GENERAL DESCRIPTION The IS31SE5104 is a low power, fully integrated 4-channel solution for capacitive touch button applications. The chip

More information

Model Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12

Model Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12 Model Checking mc Revision:.2 Model Checking for Infinite Systems mc 2 Revision:.2 check algorithmically temporal / sequential properties fixpoint algorithms with symbolic representations: systems are

More information

Cyber Physical System Verification with SAL

Cyber Physical System Verification with SAL Cyber Physical System Verification with July 22, 2013 Cyber Physical System Verification with Outline 1 2 3 4 5 Cyber Physical System Verification with Table of Contents 1 2 3 4 5 Cyber Physical System

More information

Tutorial on VHDL and Verilog Applications

Tutorial on VHDL and Verilog Applications Second LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCEI 2004) Challenges and Opportunities for Engineering Education, Research and Development 2-4 June

More information

sysclock PLL Usage Guide for ispxpga, ispgdx2, ispxpld and ispmach 5000VG Devices

sysclock PLL Usage Guide for ispxpga, ispgdx2, ispxpld and ispmach 5000VG Devices September 2004 Introduction sysclock PLL Usage Guide for ispxpga, ispgdx2, ispxpld and ispmach 5000VG Devices Technical Note TN1003 As programmable logic devices (PLDs) grow in size and complexity, on-chip

More information

ANNA UNIVERSITY QB ( )

ANNA UNIVERSITY QB ( ) ANNA UNIVERSITY QB (2003--2008) UNIT I POWER SEMICONDUCTOR DEVICES PART A 1. Draw the V-I characteristics of SCR and mark the holding current and latching current in the characteristics. Nov/Dec04 2. What

More information

2:1 MULTIPLEXER CHIP FOR PCI-EXPRESS ICS Features

2:1 MULTIPLEXER CHIP FOR PCI-EXPRESS ICS Features DATASHEET 2:1 MULTIPLEXER CHIP FOR PCI-EXPRESS ICS557-08 Description The ICS557-08 is a 2:1 multiplexer chip that allows the user to select one of the two HCSL (Host Clock Signal Level) input pairs and

More information

PCIe 3.0 Clock Generator with 4 HCSL Outputs. Description OE VDDXD S0 S1 S2 X1 X2 PD OE GNDXD IREF CLK0 CLK0 CLK1 CLK1 CLK2 CLK2 CLK3 CLK3

PCIe 3.0 Clock Generator with 4 HCSL Outputs. Description OE VDDXD S0 S1 S2 X1 X2 PD OE GNDXD IREF CLK0 CLK0 CLK1 CLK1 CLK2 CLK2 CLK3 CLK3 PCIe 3.0 Clock Generator with 4 HCSL Outputs Features PCIe 3.0 complaint PCIe 3.0 Phase jitter: 0.48ps RMS (High Freq. Typ.) LVDS compatible outputs Supply voltage of 3.3V ±5% 25MHz crystal or clock input

More information

Stratix FPGA Family. Table 1 shows these issues and which Stratix devices each issue affects. Table 1. Stratix Family Issues (Part 1 of 2)

Stratix FPGA Family. Table 1 shows these issues and which Stratix devices each issue affects. Table 1. Stratix Family Issues (Part 1 of 2) January 2007, ver. 3.1 Errata Sheet This errata sheet provides updated information on Stratix devices. This document addresses known issues and includes methods to work around the issues. Table 1 shows

More information

ForFET: A Formal Feature Evaluation Tool for Hybrid Systems

ForFET: A Formal Feature Evaluation Tool for Hybrid Systems 1 ATVA 2017 ForFET: A Formal Feature Evaluation Tool for Hybrid Systems António A. Bruto da Costa, Dept. of Computer Sc & Engg Pallab Dasgupta Professor, Dept. of Computer Sc & Engg Acknowledging 2 Assertions

More information

DS1677 Portable System Controller

DS1677 Portable System Controller Portable System Controller www.maxim-ic.com GENERAL DESCRIPTION The portable system controller is a circuit that incorporates many of the functions necessary for low-power portable products integrated

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 3: Architeching Speed Prof. Mingjie Lin 1 Flowchart of CAD 2 Digital Circuits: Definition of Speed Throughput Latency The amount of data that is processed

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

ISO26262 This Changes Everything!

ISO26262 This Changes Everything! Subset of material used at this year s DVCon Europe ISO26262 This Changes Everything! John Brennan, Viktor Preis Cadence Design Systems, Inc. Accellera Systems Initiative 1 Four disruptive trends in Automotive

More information

THE DESIGNER S GUIDE TO VERILOG-AMS

THE DESIGNER S GUIDE TO VERILOG-AMS THE DESIGNER S GUIDE TO VERILOG-AMS THE DESIGNER S GUIDE BOOK SERIES Consulting Editor Kenneth S. Kundert Books in the series: The Designer s Guide to Verilog-AMS ISBN: 1-00-80-1 The Designer s Guide to

More information

2:1 MULTIPLEXER CHIP FOR PCI-EXPRESS ICS Description. Features. Block Diagram DATASHEET

2:1 MULTIPLEXER CHIP FOR PCI-EXPRESS ICS Description. Features. Block Diagram DATASHEET DATASHEET 2:1 MULTIPLEXER CHIP FOR PCI-EXPRESS ICS557-08 Description The ICS557-08 is a 2:1 multiplexer chip that allows the user to select one of the two HCSL (Host Clock Signal Level) or LVDS input pairs

More information

7.3.3 Same Inputs in Antecedent and Consequent

7.3.3 Same Inputs in Antecedent and Consequent Formal Verification Using Assertions 249 There are some special scenarios in which the user may want to intentionally toggle the reset signal during a session. This may be needed to check conditions such

More information

Peak Distortion Analysis implemented in VHDL-AMS

Peak Distortion Analysis implemented in VHDL-AMS Peak Distortion Analysis implemented in VHDL-AMS BMAS The 2006 International Behavioral Modeling and Simulation Conference September 14-15, 2006 Arpad Muranyi Signal Integrity Engineering Intel Corporation

More information

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

Implementation and Verification Daniel MARTINS Application Engineer MathWorks Implementation and Verification Daniel MARTINS Application Engineer MathWorks Daniel.Martins@mathworks.fr 2014 The MathWorks, Inc. 1 Agenda Benefits of Model-Based Design Verification at Model level Code

More information

10. Interconnects in CMOS Technology

10. Interconnects in CMOS Technology 10. Interconnects in CMOS Technology 1 10. Interconnects in CMOS Technology Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October

More information

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it. MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.

More information

THE APPLICATION OF PROGRAMMABLE LOGIC TO A MIXED-SIGNAL POWER MANAGEMENT DEVICE

THE APPLICATION OF PROGRAMMABLE LOGIC TO A MIXED-SIGNAL POWER MANAGEMENT DEVICE THE APPLICATION OF PROGRAMMABLE LOGIC TO A MIXED-SIGNAL POWER MANAGEMENT DEVICE June 2005 Lattice Semiconductor 5555 Northeast Moore Ct. Hillsboro, Oregon 97124 USA Telephone: (503) 268-8000 www.latticesemi.com

More information

Will Silicon Proof Stay the Only Way to Verify Analog Circuits?

Will Silicon Proof Stay the Only Way to Verify Analog Circuits? Will Silicon Proof Stay the Only Way to Verify Analog Circuits? Pierre Dautriche Jean-Paul Morin Advanced CMOS and analog. Embedded analog Embedded RF 0.5 um 0.18um 65nm 28nm FDSOI 0.25um 0.13um 45nm 1997

More information

CS/ECE 5780/6780: Embedded System Design

CS/ECE 5780/6780: Embedded System Design CS/ECE 5780/6780: Embedded System Design John Regehr Lecture 18: Introduction to Verification What is verification? Verification: A process that determines if the design conforms to the specification.

More information

ANALOG MODELING WITH VERILOG-A USING CADENCE TOOLS. Eng. Sherief Fathi

ANALOG MODELING WITH VERILOG-A USING CADENCE TOOLS. Eng. Sherief Fathi ANALOG MODELING WITH VERILOG-A USING CADENCE TOOLS Eng. Sherief Fathi Hardware Description Language (HDL) In electronics, a hardware description language (HDL) is a specialized computer language used to

More information

Topics of this Slideset. CS429: Computer Organization and Architecture. Digital Signals. Truth Tables. Logic Design

Topics of this Slideset. CS429: Computer Organization and Architecture. Digital Signals. Truth Tables. Logic Design Topics of this Slideset CS429: Computer Organization and rchitecture Dr. Bill Young Department of Computer Science University of Texas at ustin Last updated: July 5, 2018 at 11:55 To execute a program

More information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: Formal System-Level to RTL Equivalence Checking ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008

More information

Equivalence Validation of Analog Behavioral Models

Equivalence Validation of Analog Behavioral Models Equivalence Validation of Analog Behavioral Models Hardik Parekh *, Manish Kumar Karna *, Mohit Jain*, Atul Pandey +, Sandeep Mittal ++ * ST MICROELECTRONICS PVT. LTD., GREATER NOIDA,INDIA { HARDIK.PAREKH,

More information

Achieving EMV Electrical Compliance with the Teridian 73S8024RN

Achieving EMV Electrical Compliance with the Teridian 73S8024RN August 2005 Achieving EMV Electrical Compliance with the Teridian 1 Introduction This application note highlights particular testing considerations required to achieve compliance for payment systems smart

More information

Digital Design Methodology

Digital Design Methodology Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification

More information

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 01 Introduction Welcome to the course on Hardware

More information

CS429: Computer Organization and Architecture

CS429: Computer Organization and Architecture CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: January 2, 2018 at 11:23 CS429 Slideset 5: 1 Topics of this Slideset

More information

133-MHz Spread Spectrum Clock Synthesizer/Driver with AGP, USB, and DRCG Support

133-MHz Spread Spectrum Clock Synthesizer/Driver with AGP, USB, and DRCG Support 133-MHz Spread Spectrum Clock Synthesizer/Driver with AGP, USB, and DRCG Support Features Mixed 2.5V and 3.3V Operation Compliant to Intel CK133 (CY2210-3) & CK133W (CY2210-2) synthesizer and driver specification

More information

Translation of Modelica Code into Hybrid Automata

Translation of Modelica Code into Hybrid Automata Research Project Madhumitha Hariharan Translation of Modelica Code into Hybrid Automata December 15, 2016 supervised by: Prof. Dr. Sibylle Schupp Mr. Timo Kamph Hamburg University of Technology (TUHH)

More information

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

ABCD: Booleanizing Continuous Systems for Analog/Mixed-Signal Design, Simulation, and Verification

ABCD: Booleanizing Continuous Systems for Analog/Mixed-Signal Design, Simulation, and Verification ABCD: Booleanizing Continuous Systems for Analog/Mixed-Signal Design, Simulation, and Verification Aadithya V. Karthik, Sayak Ray, Pierluigi Nuzzo, Alan Mishchenko, Robert Brayton, and Jaijeet Roychowdhury

More information

Extending ACL2 with SMT solvers

Extending ACL2 with SMT solvers Extending ACL2 with SMT solvers Yan Peng & Mark Greenstreet University of British Columbia October 2nd, 2015 Smtlink handles tedious details of proofs so you can focus on the interesting parts. 1 / 24

More information

Leveraging Formal Verification Throughout the Entire Design Cycle

Leveraging Formal Verification Throughout the Entire Design Cycle Leveraging Formal Verification Throughout the Entire Design Cycle Verification Futures Page 1 2012, Jasper Design Automation Objectives for This Presentation Highlight several areas where formal verification

More information

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology (Revisited) Design Methodology: Big Picture Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology

More information

Language Overview for PHAVer version 0.35

Language Overview for PHAVer version 0.35 Language Overview for PHAVer version 0.35 Goran Frehse June 22, 2006 We have tried to construct a textual input language that is as user friendly as possible, while keeping the parser simple. In the syntax,

More information

SoC Verification Methodology. Prof. Chien-Nan Liu TEL: ext:

SoC Verification Methodology. Prof. Chien-Nan Liu TEL: ext: SoC Verification Methodology Prof. Chien-Nan Liu TEL: 03-4227151 ext:4534 Email: jimmy@ee.ncu.edu.tw 1 Outline l Verification Overview l Verification Strategies l Tools for Verification l SoC Verification

More information

7.3 Case Study - FV of a traffic light controller

7.3 Case Study - FV of a traffic light controller Formal Verification Using Assertions 247 7.3 Case Study - FV of a traffic light controller 7.3.1 Model This design represents a simple traffic light controller for a North-South and East-West intersection.

More information

OpenVera Assertions. March Synopsys, Inc.

OpenVera Assertions. March Synopsys, Inc. OpenVera Assertions March 2003 2003 Synopsys, Inc. Introduction The amount of time and manpower that is invested in finding and removing bugs is growing faster than the investment in creating the design.

More information

A mixed signal verification platform to verify I/O designs

A mixed signal verification platform to verify I/O designs A mixed signal verification platform to verify I/O designs Dan Bernard Dhaval Sejpal 7/14/11 Introduction My group at IBM develops high-speed custom I/O interfaces for IBM's server processors. In the past,

More information

Mixed Signal Verification Transistor to SoC

Mixed Signal Verification Transistor to SoC Mixed Signal Verification Transistor to SoC Martin Vlach Chief Technologist AMS July 2014 Agenda AMS Verification Landscape Verification vs. Design Issues in AMS Verification Modeling Summary 2 AMS VERIFICATION

More information

LM3704/LM3705 Microprocessor Supervisory Circuits with Power Fail Input, Low Line Output and Manual Reset

LM3704/LM3705 Microprocessor Supervisory Circuits with Power Fail Input, Low Line Output and Manual Reset LM3704/LM3705 Microprocessor Supervisory Circuits with Power Fail Input, Low Line Output and Manual Reset General Description The LM3704/LM3705 series of microprocessor supervisory circuits provide the

More information

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Graham Reith Industry Manager Communications, Electronics and Semiconductors MathWorks Graham.Reith@mathworks.co.uk 2015 The MathWorks,

More information

Low-Power Verification Methodology using UPF Query functions and Bind checkers

Low-Power Verification Methodology using UPF Query functions and Bind checkers Low-Power Verification Methodology using UPF Query functions and Bind checkers Madhur Bhargava, Mentor Graphics, Noida, India (madhur_bhargava@mentor.com) Durgesh Prasad, Mentor Graphics, Noida, India

More information

EITF35: Introduction to Structured VLSI Design

EITF35: Introduction to Structured VLSI Design EITF35: Introduction to Structured VLSI Design Part 1.1.2: Introduction (Digital VLSI Systems) Liang Liu liang.liu@eit.lth.se 1 Outline Why Digital? History & Roadmap Device Technology & Platforms System

More information