Verilog Code File Normally this will not have delay information, but it will have fanout (loading) information. Cell Model File

Size: px
Start display at page:

Download "Verilog Code File Normally this will not have delay information, but it will have fanout (loading) information. Cell Model File"

Transcription

1 Delay Modeling Verilog Code File Normally this will not have delay information, but it will have fanout (loading) information. Cell Model File Delay Modeling This has delay information but not loading information. It may also attempt to tell the delay calculator the proper method to use. There are many formats; some of them are:- Verilog is shown. However the loading parameters are not standard. Synopsys and Cadence each have proprietary formats which include specialized timing model information. VHDL Initiative Toward ASIC Libraries (VITAL) is an IEEE standard. The Advanced Library format (ALF) is a standard proposed by the Open Verilog International group. Wire Delays Before layout an estimate of the wire delays may be made from a crude layout, or by adding short delays inside a module and longer delays between modules. After layout some quite complex wire delays can be inserted. Delay Calculator This takes the cell delay, wire delay and loading information and converts them to a numerical delay. It usually gives different delays for rising and falling signals. It may give a min and max delay corresponding to a hightemperature and a slow process, or a low-temperature and a fast process. The delay calculator may be part of some simulators. It must be part of a synthesizer. SDF file This saves the output of the delay calculator. The Annotator This merges the SDF delays with the logic from the Verilog and cell-library files. It is often part of the simulator. Comment on Slide 21 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 41 Timing Model Uses Path Searching It is much faster (minutes to months) to check for the excessively long paths by adding up the delays, than to check that the paths long paths can actually be sensitized. trying to find setup-time violations by simulation led to the expression death by simulation. Synthesis For synthesis the SDF files will contain timing assertions. for example: The clock period should be 10 ns. The minimum output pulse width is 5 ns. Adding these assertions is called forward annotation. The synthesizer will try to construct a circuit which will meet the constraints. Verification Timing Model Uses After layout the lead resistance and capacitance may be calculated from their lengths and dimensions. The delay calculator can then calculate delays and add them to the SDF file. This is called back annotation. False paths If certain paths are known to be false, most verifiers will let one remove them from consideration: set_false_path -from Areg -to Breg Comment on Slide 22 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 42

2 Delay Modelling Cell Model File... specify specparam Outcap=8, Incap=6, R_Ramp$a$g=0.2; (a=>g)=(4,3); endspecify g not (g, a);... a tr=# Optional Wire Delays 6 g c b 6 h k Verilog Code File... not1 noty(g,a); nand2 nany(h,b,g); nand2... pany(k,c,g); Delay Calculator Calc for: noty, a g, rising. t = R(Cout+Cload)+tr = 0.2(8+(6+6)) + 4 = 8 Annotator $sdf_annotate Simulator or Synthesizer Standard Delay Format File (CELLTYPE not1 ) (INSTANCE mod1.submod3.noty) (DELAY (ABSOLUTE (IOPATH a g (8) (7)) ) ) Annotated Netlist Propriatory format. Has both logic and delay info. Slide 20 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 43 Timing-Verification and Synthesis vs Timing Model Uses Timing-Verification and Synthesis vs Simulation Timing verification only checks for timing violations, not logic. Usually of setup and hold times. Verification looks only for longest (shortest) paths It assumes the long paths found can be sensitized (propagate a signal change). The longest path Add the register-toregister delays. (=12) This is a setup violation if T clk <12 False paths Suppose c,d,e can never be 1,1,1. Then the path is a false path. If the longest circuit path is false: the synthesizer will prescribe a slower T clk than necessary. the verifier will accuse it of having a setup violations. The Simulator: will not be able to sensitize false paths. will not flag them as setup violations x 1D C1 0 A sensitized path for x. c=1 x #4 #3 x 0 x #2 #2 d=1 But is it really false, or was the simulator just not fed the right input vector? x e=1 #3 x 1D C1 Slide 21 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 44

3 Delay Models Specification by Connection Verilog models For all models one can use either: #(single_delay) i.e #(5) or #5 #(min: typical: max) i.e #(4:5:6) #(rising_delay, falling_delay) i.e #(3, 6) #(rise_min: rise_typ: rise_max, fall_min: fall_typ: fall_max) i.e. #(2:3:4, 4:5;6) One also has #(rising_dly, falling_dly, turn_off_dly) for coming out of tri-state. ;Lumped and distributed delays are put on the line where the module is invoked. Placing something like #5 before each instance is nuisance for modules that are standard cells. Such cells would probably be encapsulated as shown on the right. module not_cell (out, in); input in; output out; not #(0.15, 0.2) (out,in); endmodule Delay Models Path or pin-to-pin delay is done using specify blocks. Specify blocks show timing between module pins. The specify block is put inside the module, but its timing is between the modules input and output pins. This is a useful way to specify timing for standard-cell models. Comment on Slide 23 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 45 Delay Models Specify Blocks The are a separate block inside the module, They are not placed inside an always or initial block. They are for wire signals, not reg. However one can cheat by assigning regx to wirex Parallel connection The signals must be declared the same size on both sides of the delay. input [10:0] a; output [10:0] b; Full connections *> Groups of signals are equated to other groups. The signals groups do not have to be the same size. However do not give timing for some signals of a vector and omit others. You may propagate a Z. Conditional delays specifications may be made conditional. The condition can be almost any logical construct. One can use if but not else. specify if (b & c) ( b => out) = 3; if (~(b & c)) ( b => out) = 4; if ({e,f,g} == 3b 101 ) (e,f,g *> out) = 12; if (out1 out2) (a *> out1, out2) = 3.3; endspecify module cheat(xout, a) input a; output xout; reg xreg; wire a, xout; assign xout=xreg; specify (a => xout)=30; endspecify Full Connection module add(cout,s, a,b,cin); input [4:0] a, b; input cin; output [4:0] s; output cout; specify (a,b *> s[2:0]) =1.2; (a,b *> s[4:3]) =1.5; (cin => cout) = 1.7; endspecify a[7:0] b[7:0] s[4:3] s[2:0] Comment on Slide 24 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 46

4 Delay Model Types Delay Models Delay Model Types 1. Delay by connection 2. Delay by rise/fall min/max 3. Delay by model, RC, Elmore delay 1. Delay Classified by Connection Lumped delay All the delay lumped at the output Distributed delays (gate delay) Delays distributed to each gate. Path delay (Pin-to-pin delay) For pin-to-pin delay in modules Module andor(g, A, B, C, D) input...etc... specify (A => G ) = 7; (B => G ) = 8; (C => G ) = 8; (D => G ) = 9; endspecify A B C D #4 E #5 #6 #2 #3 #7 F G A B C D A B C D Lumped E #5 #6 F and and5(e, A, B); and and6(f, C, D); or #9 or3(g, E, F); Distributed E F #3 and #5 and5(e, A, B); and #6 and6(f, C, D); or #3 or3(g, E, F); assign #5 E = A & B; assign #3 G = E F; assign #6 F = C & D; #9 G G Slide 22 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 47 Module pin-to-pin delay in Verilog Module pin-to-pin delay in Verilog Specify Blocks Uses a specify...endspecify block. It is a separate block inside the module. Circuitry is defined outside that block. Delays are for module:- input pins => output pins. Types Scalar delays Here (min: typical: max) delays were used. Parallel connection Use for arrays Size of output must equal size of input. Full connection *> specifies delays between multiple inputs and multiple outputs. Conditional delays if (a (~b)&c) (a,b,c *> out)=2; There is no else Scalar delays Module andor(g, A, B, C, D) input A,B,C,D; output G; // Module pin-to-pin timing specify (A => G) = (5:7:9); (B => G) = (6:8:10); (C => G) = (6:8:10); (D => G) = (7:9:11); endspecify A B C D // Now define the gates assign G = E (C & D); assign E = A & B; Parallel delay specify (Q => P) = (3:5:7); endspecify Q[0] Q[1] Q[2] Q[3] Q[4] Q[5] Full connection specify (A,B *> G) = 9; A #5 B #5 (C,D *> G,H) = 7; endspecify C #4 D #4 3:4:5 4:5:6 2:3:4 G 5:6:7 1:2:3 6:7:8 E #4 #3 #3 P[0] P[1] P[2] P[3] P[4] P[5] G H Slide 23 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 48

5 Specparam Specparam Specparam are officially defined and used inside the same specify block. However real circuits have cells whose delay is proportional to load and Verilog only allows a fixed delay. That means the delays of every cell instance must be changed according to load. External delay calculations An external program will reach into the Verilog, extract the specparam and send back the load corrected delays. Timing model This delay calculator may use a prop-ramp delay model in which:- Delay = R(C out + C load ) + t fixed Rise time = R_Ramp$i$z(OutCap$z + Cload) + (30:50:70) Fall time = F_Ramp$i$z(OutCap$z + Cload) + (25:45:63) Cload is taken from the InCap specparam of the next stage(s) Min, typ, or max numbers will be selected for the final calculation. Interacting with the Verilog circuit The extraction is probably done using the Programming Language Interface (PLI) which is a part of the Verilog language. PLI contains a number of routines that can access the internal Verilog data-structures after compilation. It can also pass data back and forth between the simulator and external c programs. Since the access functions are part of the Verilog standard, their calls are always the same independent of how the Verilog data-structures are organized. At least 3000 ps clk $Setup, $Hold and $Width More checks exist like $period and $skew At least At least 120 ps 200 ps and $setuphold. D Comment on Slide 25 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p Delay Classified by Max/Min Rise/Fall Verilog format triads (min: typ: max) assign #(1:2:3) g= a & b; value-changes (rising, falling, turn_off) assign #(2, 5, 7) g= a & b; value-changes may be triads assign #(1:2:3, 4:5:6, 6:7:8) g= a & b; 2. Delay Classified by Max/Min Rise/Fall In addition specify blocks can do (rising, falling, 0 z, z 1, 1 z, z 0) which can be triads. specify (a =>g) = (1:2:3, 4:5:6, 6:7:8, 3:4:5, 6:7:8, 3:4:5); Selecting min, typ, or max. Verilog will simulate with only one of the triad at a time. Choose one on the command line. > verilog your_file_name.v +maxdelays //or use +mindelays or +typdelays Interpretation of rise/fall Interpretation I Nonunate delay AND and OR gates are called positive unate. A rising input means the verifier will chose the rising delay. Similarly NAND and NOR are negative unate. XOR is nonunate, the verifier cannot tell if the output inverts, and must use the maximum delay. Negative delay In Out In Out t RISE start of Input change to end of output change Interpretation II common usage t RISE Input =1/2 or (0.37) to output =1/2 or (0.63) c=1 x x/x x/x x #(2,3) #(4,5)? #(4,2) 1 Delay 1 = 3 + 5(max) + 2 = 10 Delay 2 = 2 + 5(max) + 2 = 9 Watch out; the verifier did not get the worst case! Many simulators/verifiers interpret negative delays as 0.0. This may give an over-conservative clock-period. Comment on Slide 26 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 50

6 Specparam and Timing Checks Specparam and Timing Checks Specparam Define aliases for delays Easy to change delays by a text search. Helps avoid errors. Parameters are defined and used in the same block, except:-. Specparam for delay calculations Synthesizers and timing verifiers need to know load (fanout) related delays. Verilog cells store delay for one load only. Some cell models use specparam to store extra parameters used by a delay calculator to compute load related delays. Specify blocks for Verilog timing checks. $hold $setup $width Put these in a flip-flop model for automatic checking during simulation. $setuphold checks both, and allows negative limits. Specparam Module and(g, A, B) input A,B; output G; specify specparam AtoG_rise =3; specparam BtoG_rise =5; specparam fall =4; (A => G) = (AtoG_rise,fall); (D => G) = (BtoG_rise,fall); endspecify A B Specparam for external delay calculator specify specparam InCap$a=60, OutCap$z=40, R_Ramp$a$z=0.95:1.0:1.2; F_Ramp$a$z=0.80;0.95:1.0; (a => z)= (30:50:70, 25:45:63); endspecify a z Timing check functions specify specparam hold_lim = 120; $hold(posedge clk, D, hold_lim); $setup(d, posedge clk, 200); $width(posedge clk, 2000); endspecify 3, 4 G 5, 4 D clk 1D C1 Slide 24 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p Delay Classified by Max/Min Rise/Fall 2. Delay Classified by Max/Min Rise/Fall Verilog Notation triads (min: typ: max) assign #(1:2:3) g= a & b; value-changes (rising, falling, turn_off) assign #(2, 5, 7) g= a & b; value-changes may be triads assign #(1:2:3, 4:5:6, 6:7:8) g= a & b; Wire delays Can put delay on a wire Rise/Fall definition wire #(5:6:7) SlowLead; Rise/fall is usually defined input =1/2 to output =1/2. Verifiers must follow inversions They can ignore logic but they must keep track of rising/ falling delays. 0 x Delay 1 = Delay 2 = #(4,5) x 0 c=1 x x x #(4,3) x #(2,3) #(2,3) 1 #(4,3) = = 21 Negative Delays Happens if a very fast buffer squares up a very slow one. Verifiers may not handle negative delays. slow fast t RISE Input =1/2 to output =1/2 t RISE (neg) Slide 25 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 52

7 3. Delay models Delays For Cells 3. Delay models These models describe the internal cell delay and its interaction with its I/O signals. The interconnect delay between cells is not considered. Input slope delay The value of S is a function of the slope. For fast slopes S may be small. For slow slopes S may be 1, that is a slow input adds directly to the total propagation delay. 1 Propagation delay in practice 1. Verilog lumps all three into one number. Cells require an sdf file to change delays to account for loading. 2. Most data books ignore input slope and combine (T i +RCout) as one constant T pd = (T i + RCout) + RCload 3. Nonlinear effects: S is a function of input slope R is the channel resistance of a MOSFET which is nonlinear, as is much of the gate capacitance. Many delay calculators use tables to include these nonlinear function. 1. See Michael Smith, Application Specific Integrated Circuits, Addison Wesley, 1998, pp Comment on Slide 27 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p Delay models (cont) Interconnect Delay Two Models 1. The RC or L model which is simple. Many delay calculators add two time-constants: RdriverCdriver + Rnet(Cload+ Cload) 2. The Π model which is more complex. Placing half the capacitance on both sides means this model will give a faster delay. Two Types Of Tree 3. Delay models (cont) 1. Dividing each of the total lead resistance and total lead capacitance by the fanout N, and distributing it will predict shorter than actual delays. It is the default in some systems but is likely to give poor results for highresistance deep submicron leads. 2. Placing all of R N and C N in each lead will give worst case as a lower bound. This is a safer method. Comment on Slide 28 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 54

8 3. Delay models 3. Delay models Delays For Cells Input Slope delay Related to output delay for previous stage. T S = T T (prev)*s Intrinsic delay Fixed delay Output transition delay Usually the 63% charge time. T T = R(Cout + Cload) Total propagation delay T T = R(Cout + Cload) Input Slope Delay Caused by slow input transitions T S Cout T I Intrinsic Delay Fixed internal delay T T Output Transition Delay Depends on load T pd = T T (prev)*s + T I + T T Two-dimensional nonlinear delay models NLDM tables are often used because S and R are really nonlinear functions. Both T T and T pd must be calculated. input T T output load T pd input TT output load T T Slide 26 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p Delay models (cont) 3. Delay models (cont) Interconnect Delay R-C Model C only tree Use for wide leads where R is negligible. Balanced tree Divide total net R and C equally between all outputs. Worst-Case tree Put total R N and C N in series with all loads. Π Model Gives slightly faster and more accurate delay calculations Worst-Case tree Balanced tree R N 0 C out 1R 2 N R N C N 1 R 2 N 1C 2 N 1 C 2 N R N 1 C 2 N 1C 2 N C N 1R 2 N 1 R 2 N C load 1C 2 N 1C 4 N 1C 4 N Network lead has total resistance R N and capacitance C N The R-C model 1C 2 N R N The Π model R N C N 1CN 2 Slide 27 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 56

9 3. Delay models (cont) Elmore delay It is the first term (moment) in the series expansion for the exact delay. It is the dominant time-constant in the exact expression. One method for deriving the model is shown below. 1 It is as on the slide except node 4 was dropped. The current generators represent i = CdV/dt at each node. R1 =0 1 i1 R2 R3 2 i2 3 i3 V 1 = (R 1 C 1 + R 1 C 2 + R 1 C 3 )dv 1 /dt V 2 =(R 1 C 1 + (R 1 +R 2 )C 2 + R 1 C 3 )dv 2 /dt V 3 =(R 1 C 1 + R 1 C 2 + (R 1 +R 3 )C 3 )dv 3 /dt 3. Delay models (cont) Use i=cdv/dt. Then to find V j at node j, assume dv i /dt at all other nodes equals dv j /dt at node j. Use superposition to find each node voltage. V 1 =R 1 i 1 + R 1 i 2 + R 1 i 3 V 2 =R 1 i 1 + (R 1 +R 2 )i 2 + R 1 i 3 V 3 =R 1 i 1 + R 1 i 2 + (R 1 +R 3 )i 3 Solve the differential equations:- V i = V i (t=0) exp(-t/τ i ) τ 1 = R 1 C 1 + R 1 C 2 + R 1 C 3 ) τ 2 = R 1 C 1 + (R 1 +R 2 )C 2 + R 1 C 3 τ 3 = R 1 C 1 + R 1 C 2 + (R 1 +R 3 )C 3 1. See Michael Smith, Application Specific Integrated Circuits, Addison Wesley, 1998, pp Comment on Slide 29 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p Delay models (cont) Comment on Slide 30 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 58

10 3. Delay models (cont) 3. Delay models (cont) Elmore delay An fairly accurate, easy to calculate model. It puts the right R N and C N in the paths. Combines a good model and a good tree. Elmore calculation τ Delay between node 0 (source) and node i (sink) is: i = C n R k n k n sums over all capacitances. k sums over all R common to the path between: (1) nodes i and 0, and (2) nodes n and 0. 0 R1 1 C1 R2 R3 2 C2 C3 R4 4 C4 τ 1 = R 1 C 1 + R 1 C 2 + R 1 C 3 + R 1 C 4 ) τ 2 = R 1 C 1 + (R 1 +R 2 )C 2 + R 1 C 3 + R 1 C 4 τ 3 = R 1 C 1 + R 1 C 2 + (R 1 +R 3 )C 3 + (R 1 +R 3 )C 4 τ 4 = R 1 C 1 + R 1 C 2 + (R 1 +R 3 )C 3 + (R 1 +R 3 +R 4 )C 4 τ 1 τ 2 τ 3 τ 4 Slide 28 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 59 Models Models If timing is critical Summary Elmore delay is the best commonly avaliable and should not slow simulation. With it you have the best tree and a good delay model. Try to get input slew incorporated. Watch out for treatment of negative delays. Slide 29 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 60

11 Comment on Slide 31 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 61 Comment on Slide 32 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 62

12 Models Slide 30 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 63 Models Slide 31 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 64

13 Comment on Slide 33 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 65 Comment on Slide 34 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 66

14 Models Slide 32 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 67 Models Slide 33 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 68

15 Comment on Slide 35 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 69 Comment on Slide 36 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 70

16 Models Slide 34 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 71 Models Slide 35 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 72

17 Comment on Slide 37 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 73 Comment on Slide 38 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 74

18 Models Slide 36 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 75 Models Slide 37 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 76

19 Comment on Slide 39 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 77 Comment on Slide 40 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 78

20 Models Slide 38 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 79 Models Slide 39 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 80

21 Comment on Slide 41 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 81 Comment on Slide 42 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 82

22 Models Slide 40 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 83 Models Slide 41 Modified; March 22, 2000 Strategic Microelectronics Consortium Digital Circuits p. 84

Post-Synthesis Simulation. VITAL Models, SDF Files, Timing Simulation

Post-Synthesis Simulation. VITAL Models, SDF Files, Timing Simulation Post-Synthesis Simulation VITAL Models, SDF Files, Timing Simulation Post-synthesis simulation Purpose: Verify correctness of synthesized circuit Verify synthesis tool delay/timing estimates Synthesis

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation ECE 4514 Digital Design II Lecture 20: Timing Analysis and Timed Simulation A Tools/Methods Lecture Topics Static and Dynamic Timing Analysis Static Timing Analysis Delay Model Path Delay False Paths Timing

More information

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,

More information

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language COMS W4995-02 Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language Originally a modeling language for a very efficient event-driven

More information

Lecture 15: System Modeling and Verilog

Lecture 15: System Modeling and Verilog Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading

More information

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

More information

Introduction to Verilog design. Design flow (from the book)

Introduction to Verilog design. Design flow (from the book) Introduction to Verilog design Lecture 2 ECE 156A 1 Design flow (from the book) ECE 156A 2 1 Hierarchical Design Chip Modules Cells Primitives A chip contain many modules A module may contain other modules

More information

Verilog for Modeling - Module 9

Verilog for Modeling - Module 9 Verilog for Modeling Module 9 Jim Duckworth, WPI 1 General examples AND model Flip-flop model SRAM Model Customizing Models Generics in VHDL DDR SDRAM Model Parameters in Verilog Overview Commercial memory

More information

VLSI Design 13. Introduction to Verilog

VLSI Design 13. Introduction to Verilog Last module: Sequential circuit design Design styles This module Synthesis Brief introduction to Verilog Synthesis in the Design Flow Designer Tasks Tools Architect Logic Designer Circuit Designer Define

More information

Gate level or structural modeling

Gate level or structural modeling Gate level or structural modeling Prerequisites Functioning of basic logic gates and basic understanding of Verilog coding is required. You are suggested to complete the previous unit before starting this

More information

Writing Circuit Descriptions 8

Writing Circuit Descriptions 8 8 Writing Circuit Descriptions 8 You can write many logically equivalent descriptions in Verilog to describe a circuit design. However, some descriptions are more efficient than others in terms of the

More information

Introduction to Verilog design. Design flow (from the book) Hierarchical Design. Lecture 2

Introduction to Verilog design. Design flow (from the book) Hierarchical Design. Lecture 2 Introduction to Verilog design Lecture 2 ECE 156A 1 Design flow (from the book) ECE 156A 2 Hierarchical Design Chip Modules Cells Primitives A chip contain many modules A module may contain other modules

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

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 99-1 Under-Graduate Project Verilog Simulation & Debugging Tools Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 ACCESS IC LAB Outline Basic Concept of Verilog HDL Gate Level Modeling

More information

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation A Verilog Primer An Overview of Verilog for Digital Design and Simulation John Wright Vighnesh Iyer Department of Electrical Engineering and Computer Sciences College of Engineering, University of California,

More information

Nikhil Gupta. FPGA Challenge Takneek 2012

Nikhil Gupta. FPGA Challenge Takneek 2012 Nikhil Gupta FPGA Challenge Takneek 2012 RECAP FPGA Field Programmable Gate Array Matrix of logic gates Can be configured in any way by the user Codes for FPGA are executed in parallel Configured using

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

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

Verilog Nonblocking Assignments with Delays - Myths & Mysteries

Verilog Nonblocking Assignments with Delays - Myths & Mysteries Verilog Nonblocking Assignments with Delays - Myths & Mysteries Clifford E. Cummings, Inc. cliffc@sunburst-design.com www.sunburst-design.com 2 of 67 Agenda IEEE 1364 reference model & event queue Review

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

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE

More information

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Clock Routing Problem Formulation Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Better to develop specialized routers for these nets.

More information

Introduction to Verilog HDL. Verilog 1

Introduction to Verilog HDL. Verilog 1 Introduction to HDL Hardware Description Language (HDL) High-Level Programming Language Special constructs to model microelectronic circuits Describe the operation of a circuit at various levels of abstraction

More information

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements What is Verilog HDL? Lecture 1: Verilog HDL Introduction Verilog Hardware Description Language(HDL)? A high-level computer language can model, represent and simulate digital design Hardware concurrency

More information

N-input EX-NOR gate. N-output inverter. N-input NOR gate

N-input EX-NOR gate. N-output inverter. N-input NOR gate Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

More information

C-Based Hardware Design

C-Based Hardware Design LECTURE 6 In this lecture we will introduce: The VHDL Language and its benefits. The VHDL entity Concurrent and Sequential constructs Structural design. Hierarchy Packages Various architectures Examples

More information

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) Objective Part A: To become acquainted with Spectre (or HSpice) by simulating an inverter,

More information

Timing and Verification

Timing and Verification Timing and Verification Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted

More information

Federal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed.

Federal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed. VLSI SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING VLSI System Design 1 LAB 01 Schematic Introduction to DSCH and

More information

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER This tutorial explains how to synthesize a verilog code using RTL Compiler. In order to do so, let s consider the verilog codes below. CNT_16 Module: 16

More information

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 Print Here Student ID Signature This is a closed book exam. The exam is to be completed in one-hundred ten (110) minutes. Don t use scratch

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

AccuCore Static Timing Analysis

AccuCore Static Timing Analysis AccuCore Static Timing Analysis AccuCore Static Timing Analysis High Performance SoC Timing Solution Levels of Design Abstraction History of Digital Functional Verification Definitions of Key STA Terminology

More information

Introduction to Verilog

Introduction to Verilog Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals Presentation Outline Hardware Description Language Logic Simulation versus Synthesis

More information

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB SYNTHESIS Synthesis Involves synthesizing a gate netlist from verilog source code We use Design Compiler (DC) by Synopsys which is the most popular synthesis tool used in industry Target library examples:

More information

Contents. Appendix D Verilog Summary Page 1 of 16

Contents. Appendix D Verilog Summary Page 1 of 16 Appix D Verilog Summary Page 1 of 16 Contents Appix D Verilog Summary... 2 D.1 Basic Language Elements... 2 D.1.1 Keywords... 2 D.1.2 Comments... 2 D.1.3 Identifiers... 2 D.1.4 Numbers and Strings... 3

More information

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1] FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed

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

Computer Architecture (TT 2012)

Computer Architecture (TT 2012) Computer Architecture (TT 2012) The Register Transfer Level Daniel Kroening Oxford University, Computer Science Department Version 1.0, 2011 Outline Reminders Gates Implementations of Gates Latches, Flip-flops

More information

ECEN 468 Advanced Logic Design

ECEN 468 Advanced Logic Design ECEN 468 Advanced Logic Design Lecture 28: Synthesis of Language Constructs Synthesis of Nets v An explicitly declared net may be eliminated in synthesis v Primary input and output (ports) are always retained

More information

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering FPGA Fabrics Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 Logic Design Process Combinational logic networks Functionality. Other requirements: Size. Power. Primary inputs Performance.

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information

Digital VLSI Design with Verilog

Digital VLSI Design with Verilog John Williams Digital VLSI Design with Verilog A Textbook from Silicon Valley Technical Institute Foreword by Don Thomas Sprin ger Contents Introduction xix 1 Course Description xix 2 Using this Book xx

More information

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis TOPIC : Verilog Synthesis examples Module 4.3 : Verilog synthesis Example : 4-bit magnitude comptarator Discuss synthesis of a 4-bit magnitude comparator to understand each step in the synthesis flow.

More information

INVX0 INVX1 ece5745-buf-resizing-insertion.txt During lecture today, I mentioned that _adding_ inverters can sometimes _reduce_ the path delay. This might seems counter intuitive based on what you learned

More information

CAD4 The ALU Fall 2009 Assignment. Description

CAD4 The ALU Fall 2009 Assignment. Description CAD4 The ALU Fall 2009 Assignment To design a 16-bit ALU which will be used in the datapath of the microprocessor. This ALU must support two s complement arithmetic and the instructions in the baseline

More information

Microcomputers. Outline. Number Systems and Digital Logic Review

Microcomputers. Outline. Number Systems and Digital Logic Review Microcomputers Number Systems and Digital Logic Review Lecture 1-1 Outline Number systems and formats Common number systems Base Conversion Integer representation Signed integer representation Binary coded

More information

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis EECS150 - Digital Design Lecture 10 Logic Synthesis September 26, 2002 John Wawrzynek Fall 2002 EECS150 Lec10-synthesis Page 1 Logic Synthesis Verilog and VHDL stated out as simulation languages, but quickly

More information

PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO. IRIS Lab National Chiao Tung University

PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO. IRIS Lab National Chiao Tung University PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO IRIS Lab National Chiao Tung University Outline Introduction Problem Formulation Algorithm -

More information

An easy to read reference is:

An easy to read reference is: 1. Synopsis: Timing Analysis and Timing Constraints The objective of this lab is to make you familiar with two critical reports produced by the Xilinx ISE during your design synthesis and implementation.

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

CSE140L: Components and Design Techniques for Digital Systems Lab

CSE140L: Components and Design Techniques for Digital Systems Lab CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check

More information

1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4]

1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4] HW 3 Answer Key 1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4] You can build a NAND gate from tri-state buffers and inverters and thus you

More information

EECS150 Homework 2 Solutions Fall ) CLD2 problem 2.2. Page 1 of 15

EECS150 Homework 2 Solutions Fall ) CLD2 problem 2.2. Page 1 of 15 1.) CLD2 problem 2.2 We are allowed to use AND gates, OR gates, and inverters. Note that all of the Boolean expression are already conveniently expressed in terms of AND's, OR's, and inversions. Thus,

More information

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS Contents i SYLLABUS osmania university UNIT - I CHAPTER - 1 : BASIC VERILOG HDL Introduction to HDLs, Overview of Digital Design With Verilog HDL, Basic Concepts, Data Types, System Tasks and Compiler

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

CS250 DISCUSSION #2. Colin Schmidt 9/18/2014 Std. Cell Slides adapted from Ben Keller

CS250 DISCUSSION #2. Colin Schmidt 9/18/2014 Std. Cell Slides adapted from Ben Keller CS250 DISCUSSION #2 Colin Schmidt 9/18/2014 Std. Cell Slides adapted from Ben Keller LAST TIME... Overview of course structure Class tools/unix basics THIS TIME... Synthesis report overview for Lab 2 Lab

More information

King Fahd University of Petroleum and Minerals. Computer Engineering Department. COE 561 Digital Systems Design and Synthesis (Course Activity)

King Fahd University of Petroleum and Minerals. Computer Engineering Department. COE 561 Digital Systems Design and Synthesis (Course Activity) King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis using Synopsys Design Compiler Tutorial The Synthesis

More information

DIGITAL SYSTEM DESIGN

DIGITAL SYSTEM DESIGN DIGITAL SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING Digital System Design 1 Name: Registration No: Roll No: Semester:

More information

CSE140L: Components and Design

CSE140L: Components and Design CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam

More information

L5: Simple Sequential Circuits and Verilog

L5: Simple Sequential Circuits and Verilog L5: Simple Sequential Circuits and Verilog Acknowledgements: Nathan Ickes and Rex Min Key Points from L4 (Sequential Blocks) Classification: Latch: level sensitive (positive latch passes input to output

More information

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University EE 466/586 VLSI Design Partha Pande School of EECS Washington State University pande@eecs.wsu.edu Lecture 18 Implementation Methods The Design Productivity Challenge Logic Transistors per Chip (K) 10,000,000.10m

More information

EE 231 Fall EE 231 Homework 8 Due October 20, 2010

EE 231 Fall EE 231 Homework 8 Due October 20, 2010 EE 231 Homework 8 Due October 20, 20 1. Consider the circuit below. It has three inputs (x and clock), and one output (z). At reset, the circuit starts with the outputs of all flip-flops at 0. x z J Q

More information

Introduction to Verilog/System Verilog

Introduction to Verilog/System Verilog NTUEE DCLAB Feb. 27, 2018 Introduction to Verilog/System Verilog Presenter: Yao-Pin Wang 王耀斌 Advisor: Prof. Chia-Hsiang Yang 楊家驤 Dept. of Electrical Engineering, NTU National Taiwan University What is

More information

14. Introducton to Verilog

14. Introducton to Verilog 14. Introducton to Verilog 1 14. Introducton to Verilog Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 23, 2017 ECE Department,

More information

problem maximum score 1 10pts 2 8pts 3 10pts 4 12pts 5 7pts 6 7pts 7 7pts 8 17pts 9 22pts total 100pts

problem maximum score 1 10pts 2 8pts 3 10pts 4 12pts 5 7pts 6 7pts 7 7pts 8 17pts 9 22pts total 100pts University of California at Berkeley College of Engineering epartment of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2003 2/21/03 Exam I Solutions Name: I number: This is a

More information

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: Problem 1: CLD2 Problems. (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: C 0 = A + BD + C + BD C 1 = A + CD + CD + B C 2 = A + B + C + D C 3 = BD + CD + BCD + BC C 4

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification. 1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus

More information

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis EECS150 - Digital Design Lecture 10 Logic Synthesis February 13, 2003 John Wawrzynek Spring 2003 EECS150 Lec8-synthesis Page 1 Logic Synthesis Verilog and VHDL started out as simulation languages, but

More information

Introduction to VHDL. Module #5 Digilent Inc. Course

Introduction to VHDL. Module #5 Digilent Inc. Course Introduction to VHDL Module #5 Digilent Inc. Course Background Availability of CAD tools in the early 70 s Picture-based schematic tools Text-based netlist tools Schematic tools dominated CAD through mid-1990

More information

Logic Synthesis. Logic Synthesis. Gate-Level Optimization. Logic Synthesis Flow. Logic Synthesis. = Translation+ Optimization+ Mapping

Logic Synthesis. Logic Synthesis. Gate-Level Optimization. Logic Synthesis Flow. Logic Synthesis. = Translation+ Optimization+ Mapping Logic Synthesis Logic Synthesis = Translation+ Optimization+ Mapping Logic Synthesis 2 Gate-Level Optimization Logic Synthesis Flow 3 4 Design Compiler Procedure Logic Synthesis Input/Output 5 6 Design

More information

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University Digital Circuit Design and Language Datapath Design Chang, Ik Joon Kyunghee University Typical Synchronous Design + Control Section : Finite State Machine + Data Section: Adder, Multiplier, Shift Register

More information

FPGA Power Management and Modeling Techniques

FPGA Power Management and Modeling Techniques FPGA Power Management and Modeling Techniques WP-01044-2.0 White Paper This white paper discusses the major challenges associated with accurately predicting power consumption in FPGAs, namely, obtaining

More information

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas 1 RTL Design Flow HDL RTL Synthesis Manual Design Module Generators Library netlist

More information

Verilog Design Principles

Verilog Design Principles 16 h7fex // 16-bit value, low order 4 bits unknown 8 bxx001100 // 8-bit value, most significant 2 bits unknown. 8 hzz // 8-bit value, all bits high impedance. Verilog Design Principles ECGR2181 Extra Notes

More information

Cluster-based approach eases clock tree synthesis

Cluster-based approach eases clock tree synthesis Page 1 of 5 EE Times: Design News Cluster-based approach eases clock tree synthesis Udhaya Kumar (11/14/2005 9:00 AM EST) URL: http://www.eetimes.com/showarticle.jhtml?articleid=173601961 Clock network

More information

14. Introducton to Verilog

14. Introducton to Verilog 14. Introducton to Verilog Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 23, 2017 ECE Department, University of Texas at

More information

Verilog For Synthesis

Verilog For Synthesis Coding with always @(...) Coding with always @(...) always This is separate from the @(...) command. In C procedures are executed when called. In Verilog procedures are executed continuously by default.

More information

EECS 151/251A: SRPING 2017 MIDTERM 1

EECS 151/251A: SRPING 2017 MIDTERM 1 University of California College of Engineering Department of Electrical Engineering and Computer Sciences E. Alon Thursday, Mar 2 nd, 2017 7:00-8:30pm EECS 151/251A: SRPING 2017 MIDTERM 1 NAME Last First

More information

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out

More information

Digital Design with SystemVerilog

Digital Design with SystemVerilog Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for

More information

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project - Fall 2002 Lecture 20 Synthesis Sequential Logic Announcements Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project» Teams

More information

Verilog Tutorial (Structure, Test)

Verilog Tutorial (Structure, Test) Digital Circuit Design and Language Verilog Tutorial (Structure, Test) Chang, Ik Joon Kyunghee University Hierarchical Design Top-down Design Methodology Bottom-up Design Methodology Module START Example)

More information

register:a group of binary cells suitable for holding binary information flip-flops + gates

register:a group of binary cells suitable for holding binary information flip-flops + gates 9 차시 1 Ch. 6 Registers and Counters 6.1 Registers register:a group of binary cells suitable for holding binary information flip-flops + gates control when and how new information is transferred into the

More information

A Brief Introduction to Verilog Hardware Definition Language (HDL)

A Brief Introduction to Verilog Hardware Definition Language (HDL) www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital

More information

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware CS883: Advanced Digital Design for Embedded Hardware Lecture 2: Boolean Algebra, Gate Network, and Combinational Blocks Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1) Topics Verilog Hardware modeling and simulation Event-driven simulation Basics of register-transfer design: data paths and controllers; ASM charts. High-level synthesis Initially a proprietary language,

More information

EE4415 Integrated Digital Design Project Report. Name: Phang Swee King Matric Number: U066584J

EE4415 Integrated Digital Design Project Report. Name: Phang Swee King Matric Number: U066584J EE4415 Integrated Digital Design Project Report Name: Phang Swee King Matric Number: U066584J April 10, 2010 Contents 1 Lab Unit 1 2 2 Lab Unit 2 3 3 Lab Unit 3 6 4 Lab Unit 4 8 5 Lab Unit 5 9 6 Lab Unit

More information

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital

More information

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008 CSE 140L Final Exam Prof. Tajana Simunic Rosing Spring 2008 NAME: ID#: Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page.

More information

ARM 64-bit Register File

ARM 64-bit Register File ARM 64-bit Register File Introduction: In this class we will develop and simulate a simple, pipelined ARM microprocessor. Labs #1 & #2 build some basic components of the processor, then labs #3 and #4

More information

ENGIN 241 Digital Systems with Lab

ENGIN 241 Digital Systems with Lab ENGIN 241 Digital Systems with Lab (4) Dr. Honggang Zhang Engineering Department University of Massachusetts Boston 1 Introduction Hardware description language (HDL): Specifies logic function only Computer-aided

More information

Chapter 2a: Structural Modeling

Chapter 2a: Structural Modeling Chapter 2a: Structural Modeling Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL and FPGAs

More information

Verilog Design Principles

Verilog Design Principles 16 h7fex // 16-bit value, low order 4 bits unknown 8 bxx001100 // 8-bit value, most significant 2 bits unknown. 8 hzz // 8-bit value, all bits high impedance. Verilog Design Principles ECGR2181 Extra Notes

More information