Digital VLSI Design. Lecture 5: Logic Synthesis

Size: px
Start display at page:

Download "Digital VLSI Design. Lecture 5: Logic Synthesis"

Transcription

1 Digital VLSI Design Lecture 5: Logic Synthesis Semester A, Lecturer: Dr. Adam Teman 5 December 206 Disclaimer: This course was prepared, in its entirety, by Adam Teman. Many materials were copied from sources freely available on the internet. When possible, these sources have been cited; however, some references may have been cited incorrectly or overlooked. If you feel that a picture, graph, or code example has been copied from you and either needs to be cited or removed, please feel free to adam.teman@biu.ac.il and I will address this as soon as possible.

2 2 What is Logic Synthesis? Synthesis is the process that converts RTL into a technologyspecific gate-level netlist, optimized for a set of pre-defined constraints. You start with: A behavioral RTL design A standard cell library A set of design constraints You finish with: A gate-level netlist, mapped to the standard cell library (For FPGAs: LUTs, flip-flops, and RAM blocks) Hopefully, it s also efficient in terms of speed, area, power, etc. Standard Cell Design s module counter( input clk, rstn, load, input [:0] in, output reg [:0] out); clk) if (!rstn) out <= 2'b0; else if (load) out <= in; else out <= out + ; endmodule Synthesis module counter ( clk, rstn, load, in, out ); input [:0] in; output [:0] out; input clk, rstn, load; wire N6, N7, n5, n6, n7, n8; HDDFFPQ out_reg_ (.D(N7),.CK(clk),.Q(out[])); HDDFFPQ out_reg_0 (.D(N6),.CK(clk),.Q(out[0])); HDNAN2DL U8 (.A(out[0]),.A2(n5),.Z(n8)); HDNAN2DL U9 (.A(n5),.A2(n7),.Z(n6)); HDINVDL U0 (.A(load),.Z(n5)); HDOA2DL U (.A(in[0]),.A2(n5),.B(rstn),.C(n8),.Z(N6)); HDOA2DL U2 (.A(in[]),.A2(n5),.B(rstn),.C(n6),.Z(N7)); HDEXNOR2DL U3 (.A(out[]),.A2(out[0]),.Z(n7)); endmodule

3 What is Logic Synthesis? Given: Finite-State Machine F(X,Y,Z, λ, δ) where: X: Input alphabet Y: Output alphabet Z: Set of internal states λ: X x Z Z (next state function) δ: X x Z Y (output function) Target: Circuit C(G, W) where: G: set of circuit components g = {Boolean gates, flip-flops, etc.} W: set of wires connecting G 3

4 Motivation Why perform logic synthesis? Automatically manages many details of the design process: Fewer bugs Improves productivity Abstracts the design data (HDL description) from any particular implementation technology Designs can be re-synthesized targeting different chip technologies; E.g.: first implement in FPGA then later in ASIC In some cases, leads to a more optimal design than could be achieved by manual means (e.g.: logic optimization) Why not logic synthesis? May lead to less than optimal designs in some cases 4

5 Simple Example module foo (a,b,s0,s,f); input [3:0] a; input [3:0] b; input s0,s; output [3:0] f; reg f; (a or b or s0 or s) if (!s0 && s s0) f=a; else f=b; endmodule 5

6 Goals of Logic Synthesis Minimize area in terms of literal count, cell count, register count, etc. Minimize power in terms of switching activity in individual gates, deactivated circuit blocks, etc. Maximize performance in terms of maximal clock frequency of synchronous systems, throughput for asynchronous systems Any combination of the above combined with different weights formulated as a constraint problem minimize area for a clock speed > 300MHz More global objectives feedback from layout actual physical sizes, delays, placement and routing 6

7 How does it work? 7 Variety of general and ad-hoc (special case) methods: Instantiation: maintains a library of primitive modules (AND, OR, etc.) and user defined modules Macro expansion /substitution: a large set of language operators (+, -, Boolean operators, etc.) and constructs (if-else, case) expand into special circuits Inference: special patterns are detected in the language description and treated specially (e.g.,: inferring memory blocks from variable declaration and read/write statements, FSM detection and generation from (posedge clk) blocks) Logic optimization: Boolean operations are grouped and optimized with logic minimization techniques Structural reorganization: advanced techniques including sharing of operators, and retiming of circuits (moving FFs), and others

8 Basic Synthesis Flow Syntax : Read in HDL files and check for syntax errors. read_hdl verilog sourcecode/toplevel.v : Provide standard cells and IP Libraries. set_attribute library /design/data/my_fab/digital/lib/ttv25c.lib Syntax and Binding : Convert RTL into technology-independent generics. State reduction, encoding, register infering. Bind all leaf cells to provided libraries. elaborate toplevel : Reduce Boolean literals. 8

9 9 Basic Synthesis Flow : Define clock frequency and other design constraints. read_sdc sdc/constraints.sdc : Map generic logic to technology libraries. synthesize to_mapped effort medium : Iterate over design, changing gate sizes, Boolean literals, architectural approaches to try and meet constraints. Report final results with an emphasis on timing reports. report timing num paths 0 > reports/timing_reports.rpt Export netlist and other results for further use. write_hdl > /netlist.v Syntax and Binding

10 Intro 2 Compile 3 Lib. Def. 4 Boolean Min 5 SDC 6 Tech. 7 Verilog for Synt. 8 Opt. Syntax Compilation but aren t we talking about synthesis?

11 Compilation in the synthesis flow Before starting to synthesize, we need to check the syntax for correctness. Synthesis vs. Compilation: Compiler Recognizes all possible constructs in a formally defined program language Translates them to a machine language representation of execution process Synthesis Recognizes a target dependent subset of a hardware description language Maps to collection of concrete hardware resources Iterative tool in the design flow Syntax

12 Intro 2 Compile 3 Lib. Def. 4 Boolean Min 5 SDC 6 Tech. 7 Verilog for Synt. 8 Opt. Syntax 2

13 It s all about the standard cells Well, we discussed quite a bit about standard cell libraries. The library definition stage is tells the synthesizer where to look for leaf cells for binding and the target library for technology mapping. We can provide a list of paths to search for libraries in: set_attribute lib_search_path /design/data/my_fab/digital/lib/ And we have to provide the name of a specific library, usually characterized for a single corner: set_attribute library TTV25C.lib We also need to provide.lib files for IPs, such as memory macros, I/Os, and others. Syntax Make sure you understand all the warnings about the libs that the synthesizer spits out, even though you probably can t fix them. 3

14 Intro 2 Compile 3 Lib. Def. 4 Boolean Min 5 SDC 6 Tech. 7 Verilog for Synt. 8 Opt. Syntax Boolean Minimzation to Generics and Libs, Basics of Boolean Minimization (BDDs, Two-Level Logic, Espresso) 4

15 During the next step of logic synthesis, the tool: Compiles the RTL into a Boolean data structure (elaboration) Binds the non-boolean modules to leaf cells (binding), and Optimizes the Boolean logic (minimization). The resulting design is mapped to generic, technology independent logic gates. This is the core of synthesis and has been a very central subject of research in computer science since the eighties. Syntax 5

16 Two-Level Logic B C Syntax During elaboration, primary inputs and outputs (ports) are defined and sequential elements (flip-flops, latches) are inferred. This results in a set of combinational logic clouds with: Input ports and register outputs are inputs to the logic Output ports and register inputs are the outputs of the logic The outputs can be described as Boolean functions of the inputs. The goal of Boolean minimization is to reduce the number of literals in the output functions. Many different data structures are used to represent the Boolean functions: Truth tables, cubes, Binary Decision Diagrams, equations, etc. A lot of the research was developed upon SOP or POS representation, which is better known as Two-Level Logic B D A C D A C D C D A B D A B C F x 3 F f = x x 2 x x 2 6

17 Two-Level Logic Minimization In our freshman year we learned about Karnaugh maps: For n inputs, the map contains 2 n entries Objective is to find minimum prime cover However Difficult to automate (NP-complete) Number of cells is exponential (<6 variables) A different approach is the Quine-McCluskey method Easy to implement in software BUT computational complexity too high Some Berkeley students fell asleep while solving a Quine-McCluskey exercise. They needed a shot of Espresso. AB CD C X X X B A D Syntax 7

18 Espresso Heuristic Minimizer Start with an SOP solution. Expand Make each cube as large as possible without covering a point in the OFF-set. Increases the number of literals (worse solution) Irredundant Throw out redundant cubes. ESPRESSO(F) { do { reduce(f); expand(f); irredundant(f); } while (fewer terms in F); verify(f); } Remove smaller cubes whose points are covered by larger cubes. Reduce The cubes in the cover are reduced in size. In general, the new cover will be different from the initial cover. expand and irredundant steps can possibly find out a new way to cover the points in the ON-set. Hopefully, the new cover will be smaller. Syntax 8

19 9 Espresso Example AB CD CD C C AB D Initial Set of Primes found by Steps and 2 of the Espresso Method 4 primes, irredundant cover, but not a minimal cover! B A B A AB CD CD C D C AB f AC CD AC CD f AC ACD AC ACD D B A B Result of REDUCE: Shrink primes while still covering the ON-set Choice of order in which to perform shrink is important A D Syntax ESPRESSO(F) { do { reduce(f); expand(f); irredundant(f); } while (F smaller); verify(f); }

20 Espresso Example AB CD 00 CD C AB D C 0 Second EXPAND generates a different set of prime implicants B A B A AB CD 00 CD C 00 0 D 0 AB f AC AD AC CD f AC AD CD D C 0 B A IRREDUNDANT COVER found by final step of espresso Only three prime implicants! B A D Only 6 literals! Syntax ESPRESSO(F) { do { reduce(f); expand(f); irredundant(f); } while (F smaller); verify(f); } 20

21 Multi-level Logic Minimization Two-level logic minimization has been widely researched and many famous methods have come out of it. However, often it is better and/or more practical to use many levels of logic (remember logical effort?). Therefore, a whole new optimization regime, known as multi-level logic minimization was developed. We will not cover multi-level minimization in this course, however, you should be aware that the output of logic minimization will generally be multi-level and not twolevel. Syntax 2

22 Multi-level Logic Minimization For example: Given the following logic set: t = a + bc; t 2 = d + e; t 3 = ab + d; t 4 = t t 2 + fg; t 5 = t 4 h + t 2 t 3 ; F = t 5 ; a+bc d+e ab+d t t 2 + fg t 4 h + t 2 t 3 7 Literals t 5 F Syntax Multi-level Logic Minimization can result in: 3 Literals t = d + e; t 2 = b + h; t 3 = at 2 + c; t 4 = t t 3 + fgh; F = t 4 ; d+e b+h at 2 +c t t 3 + fgh t 4 F 22

23 Binary Decision Diagrams (BDD) BDDs are DAGs that represent the truth table of a given function x x 2 x 3 f(x x 2 x 3 ) Root node x f(x,x 2,x 3 ) ~(x 2 x 3 ) x 2 x x 2 2 ~x 3 Syntax ~x x x 3 ~x x x f(x, x 2, x 3 ) = ~x ~x 2 ~x 3 + ~x ~x 2 x 3 + ~x x 2 ~x 3 + x x 2 ~x 3

24 Binary Decision Diagrams (BDD) The Shannon Expansion of a function relates the function to its cofactors: Given a boolean function f(x,x 2,,x i,,x n ) Positive cofactor: f i = f(x,x 2,,,,x n ) Negative cofactor: f i 0 = f(x,x 2,,0,,x n ) Shannon s expansion theorem states that f = x i f i 0 + x i f i f = (x i + f i 0 )(x i + f i ) This leads to the formation of a BDD: Example: b c + bc f = ac + bc + a b c = a (b c + bc) + a (c + bc) = a (b c + bc) + a (c) f a c Syntax 24

25 Reduced Ordered BDD (ROBDD) BDDs can get very big. So let s see if we can provide a reduced representation. Reduction Rule : Merge equivalent leaves a a a ~(x 2 x 3 ) x x 2 x 2 f(x,x 2,x 3 ) x 2 ~x 3 ~(x 2 x 3 ) x x 2 x 2 f(x,x 2,x 3 ) x 2 ~x 3 Syntax ~x 3 ~x 3 x 3 x 3 x 3 x 3 ~x 3 ~x 3 x 3 x 3 x 3 x f(x, x 2, x 3 ) = ~x ~x 2 ~x 3 + ~x ~x 2 x 3 + ~x x 2 ~x 3 + x x 2 ~x 3 = ~x ~x 2 + ~x x 2 ~x 3 + x x 2 ~x 3 25

26 Reduced Ordered BDD (ROBDD) BDDs can get very big. So let s see if we can provide a reduced representation. Reduction Rule 2: Merge isomorphic nodes x y x z x y x z ~(x 2 x 3 ) x x 2 ~x 3 x 2 x 2 f(x,x 2,x 3 ) f(x,x 2,x 3 ) x ~(x 2 x 3 ) x 2 ~x 3 x 2 x 2 Syntax ~x 3 ~x 3 x 3 x 3 x x 3 3 x 3 x 3 x 3 ~x

27 Reduced Ordered BDD (ROBDD) BDDs can get very big. So let s see if we can provide a reduced representation. Reduction Rule 2: Eliminate Redundant Tests x y y ~(x 2 x 3 ) x x 2 x 2 f(x,x 2,x 3 ) x 2 ~x 3 ~(x 2 x 3 ) x x 2 x 2 f(x,x 2,x 3 ) x 2 ~x 3 Syntax f(x, x 2, x 3 ) = ~x ~x 2 + x 3 ~x 3 x 3 x 3 x 3 ~x 3 ~x x 2 ~x 3 + x x 2 ~x

28 Syntax Binary Decision Diagrams (BDD) Some benefits of BDDs: Check for tautology is trivial. BDD is a constant. Complementation. Given a BDD for a function f, the BDD for f can be obtained by interchanging the terminal nodes. Equivalence check. Two functions f and g are equivalent if their BDDs (under the same variable ordering) are the same. c f = ab+a c+a bd c+bd c root node b c+d c a b b An Important Point: The size of a BDD can vary drastically if the order in which the variables are expanded is changed. The number of nodes in the BDD can be exponential in the number of variables in the worst case, even after reduction d d 0 28

29 Intro 2 Compile 3 Lib. Def. 4 Boolean Min 5 SDC 6 Tech. 7 Verilog for Synt. 8 Opt. Syntax 29

30 Syntax Following, the design is loaded into the synthesis tool and stored inside a data structure. Hierarchical ports (inputs/outputs) and registers can be accessed by name. set in_ports [get_ports IN*] set regs [get_cells hier *_reg] At this point, we can load the design constraints in SDC format, as we learned in the previous lecture. read_sdc verbose sdc/constraints.sdc Carefully check that all constraints were accepted by the tool! 30

31 Intro 2 Compile 3 Lib. Def. 4 Boolean Min 5 SDC 6 Tech. 7 Verilog for Synt. 8 Opt. Syntax 3

32 mapping mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Why technology mapping? Straight implementation may not be good. For example, F=abcdef as a 6-input AND gate causes a long delay. Gates in the library are pre-designed, they are usually optimized in terms of area, delay, power, etc. Fastest gates along the critical path, area-efficient gates (combination) off the critical path. Can apply a minimum cost tree-covering algorithm to solve this problem. Syntax 32

33 Syntax Algorithm Using a recursive tree-covering algorithm, we can easily, and almost optimally, map a logic network to a technology library. This process incurs three steps: Map netlist and tech library to simple gates Describe the netlist with only NAND2 and NOT gates Describe SC library with NAND2 and NOT gates and associate a cost with each gate Tree-ifying the input netlist Tree covering can only be applied to trees! Split tree at all places, where fanout > 2 Minimum Cost Tree matching For each node in your tree, recursively find the minimum cost target pattern at that node. Let us briefly go through these steps 33

34 Syntax. Simple Gate Apply De Morgan laws to your Boolean function to make it a collection of NAND2 and NOT gates. Let s take the example of multi-level logic minimization: 34 t = d + e; t 2 = b + h; t 3 = at 2 + c; t 4 = t t 3 + fgh; F = t 4 ; 2 t d e NAND d, e t b h NAND b, h t at c at c NAND NAND a, t, c t t t fgh NAND t t, fgh fgh fh g fh g NAND NAND f, h, g F t 4 f g d e h b a c t 2 t t 3 fgh F

35 . Simple Gate And then, given a set of gates (standard cell library) with cost metrics (area/delay/power): We need to define the gates with the same NAND2/NOT set: Syntax inv() nand2(2) nand3 (3) aoi2 (3) oai22 (4) nor2(2) nor3 (3) xor (5) 35

36 2. Tree-ifying To apply a tree covering algorithm, we must work on a tree! Is any given logic network a tree? No! We must break the tree at any node with fanout>2 Syntax We get 3 trees 36

37 3. Minimum Tree Covering Now, we can apply a recursive algorithm to achieve a minimum cover: Start at the output of the graph. For each node, find all the matching target patterns. The cost of node i for using gate g is: where k i are the inputs to gate g. For simplicity, we will redraw our graph and show an example: Every NOT is just an empty circle: Every AND is just a full circle: Every input is just a box: i k gi ki cost min cost cost A N I k g i i k k 2 k inputs to g i Syntax 37

38 3. Minimum Tree Covering - Example F AOI2 I y I N f w N z f: NOT 2 + min(w) = 2 + = 3 AND2 4 + min(y)+min(z) = = 2 AOI2 6 + min(x) = = 9 w: NAND2 3 + min(y)+min(z) = = y: NOT 2 z: NAND2 3 + min(x) = = 6 x: NAND2 3 Syntax NAND2 A B C D A B C N x D I N N 2 3 I 4 I N I I 6 I N I I 6 38 NOT NAND2 AND2 NOR2 AOI2

39 Intro 2 Compile 3 Lib. Def. 4 Boolean Min 5 SDC 6 Tech. 7 Verilog for Synt. 8 Opt. Verilog for Synthesis - revisited 39

40 Some things we may have missed Now that we ve seen how synthesis works, let s revisit some of the things we may have skipped or only briefly mentioned earlier Let s take a simple 4 2 encoder as an example: Take a one-hot encoded vector and output the position of the bit. One possibility would be to describe this logic with a nested if-else block: begin : encode if (x == 4'b000) y = 2'b00; else if (x == 4'b000) y = 2'b0; else if (x == 4'b000) y = 2'b0; else if (x == 4'b000) y = 2'b; else y = 2'bxx; end 40 The result is known as priority logic i.e., some bits have priority over others

41 Some things we may have missed It would have been better to use a case construct: all cases are matched in parallel and better yet, synthesis can optimize away the constants and other Boolean equalities: begin : encode case (x) 4 b000: y = 2'b00; 4 b000: y = 2'b0; 4'b000: y = 2'b0; 4'b000: y = 2'b; default: y = 2'bxx; endcase end 4

42 Some things we may have missed In the previous example, if the encoding was wrong (i.e., not one-hot), we would have propagated an x in the logic simulation. But what if we guarantee that the input was one hot encoded? Then we could write our code differently begin : encode if (x[0]) y = 2'b00; else if (x[]) y = 2'b0; else if (x[2]) y = 2'b0; else if (x[3]) y = 2'b; else y = 2'bxx; end In fact, we have implemented a priority decoder (the least significant gets priority) 42

43 A few points about operators Logical operators map into primitive logic gates Arithmetic operators map into adders, subtractors, Unsigned 2 s complement Model carry: target is one-bit wider that source Watch out for *, %, and / Relational operators generate comparators Shifts by constant amount are just wire connections No logic involved Variable shift amounts a whole different story shifter Conditional expression generates logic or MUX Y = ~X << 2 X[3] X[2] X[] X[0] Y[5] Y[4] Y[3] Y[2] Y[] Y[0] 43

44 Datapath Synthesis Complex operators (Adders, Multipliers, etc.) are implemented in a special way Pre-written descriptions can be found in Synopsys DesignWare or Cadence ChipWare IP libraries. 44

45 Global Clock Gating Clock Gating enf FSM As you know, since a clock is continuously toggling, it is a major consumer of dynamic power. Therefore, in order to save power, we will try to turn off the clock for gates that are not in use. Block level (Global) clock-gating If certain operating modes do not use an entire module/component, a clock gate should be defined in the RTL. Register level (Local) clock-gating However, even at the register level, if a flip-flop doesn t change it s output, internal power is still dissipated due to the clock toggling. This is very typical of an enabled signal sampling, and therefore can be automatically detected and gated by the synthesis tool. din en clk d clk ene enm clk Local Clock Gating q qn dout din en clk Execution Unit Memory Control d clk q qn dout 45

46 Clock Gating Local clock gating: 3 methods Logic synthesizer finds and implements local gating opportunities RTL code explicitly specifies clock gating Clock gating cell explicitly instantiated in RTL Global clock gating: 2 methods RTL code explicitly specifies clock gating Clock gating cell explicitly instantiated in RTL Conventional RTL Code //always clock the register (posedge clk) begin if (enable) q <= din; end Low Power Clock Gated RTL >< //only clock the ff when enable is true assign gclk = enable && clk; (posedge gclk) begin q <= din; end Instantiated Clock Gating Cell //instantiate a clock gating cell clkgx i (.en(enable),.cp(clk),.gclk_out(gclk)); (posedge gclk) begin q <= din; end 46

47 Clock Gating Glitch Problem What happens if there is a glitch on the enable signal? clk en gclk What if the glitch happened during the high phase? Ah, we live in a perfect world! Not so Fast! Maybe the world aint so perfect after all 47

48 Solution: Glitch-free Clock Gate By latching the enable signal during the positive phase, we can eliminate glitches: clk en en_out //clock gating with glitch prevention latch (enable or clk) begin if (!clk) en_out <= enable end assign gclk = en_out && clk; gclk 48

49 Merging clock enable gates Clock gates with common enable can be merged Lower clock tree power, fewer gates May impact enable signal timing and skew. E clk E E clk en E enable E 49

50 Data Gating While clock gating is very well understood and automated, a similar situation occurs due to the toggling of data signals that are not used. These situations should be recognized and data gated. assign add_out = A+B; assign shift_out = A<<B; assign out = shift_add? shift_out : add_out; 50 assign shift_in_a = A && shift_add; assign shift_in_b = B && shift_add; assign shift_out = shift_in_a << shift_in_b; assign out = shift_add? shift_out : add_out;

51 Design and Verification HDL Linting 5 HDL Linting tools provide a quick easy check of likely coding inconsistencies: Simulation problems Synthesis Problems Simulation Synthesis mismatches Clock gating Latch inference Clock Domain Crossing issues Nonsensical assignments / implicit bit widths issues Not for checking syntactic correctness Use your simulator for that. (Will generally be more helpful) Alternatively some synthesis tools will give you basic lint warnings For simulation-synthesis mismatch errors Simulation/Synthesis Miss-matches z = a & b; Latch Inference or b or c) if (c) z = a & b; Clock Gating assign clka = clk & cond; clka) z <= a & b;

52 Intro 2 Compile 3 Lib. Def. 4 Boolean Min 5 SDC 6 Tech. 7 Verilog for Synt. 8 Opt. Syntax Timing 52

53 How can we optimize timing? There are many transforms that the synthesizer applies to the logic to improve the cost function: Resize cells Buffer or clone to reduce load on critical nets Decompose large cells Swap connections on commutative pins or among equivalent nets Move critical signals forward Pad early paths Area recovery Simple example: Double inverter removal transform: Delay = 4 Delay = 2 53

54 54 Resizing, Cloning and Buffering Resize a logic gate to better drive a load: a b Or make a copy (clone of the gate) to distribute the load: a b?? Or just buffer the fanout net: d e f d e f g h a b a b A A B a b d e f g h B a b 0. B C d e d f g h load A B C

55 Redesign Fan-In/Fan-out Trees Redesign Fan-In Tree Arr(a)=4 a Arr(b)=3 b Arr(c)= c Arr(d)=0 d e c Arr(e)=6 d b a e Arr(e)=5 Redesign Fan-Out Tree 3 3 Longest Path = 4 Slowdown of buffer due to load 2 Longest Path = 5 55

56 Decomposition and Swapping Consider decomposing complex gates into less complex ones: Swap commutative pins: Simple sorting on arrival times and delays can help 0 2 c b a a b c

57 Retiming Given the following network: FF D Q FF D Q FF D Q clock Cycle = 0 How would you meet the 0ns clock cycle time? Re-order sequential elements and combinational logic FF FF FF D Q D Q D Q 57 clock Cycle = 0

58 A last point: Topographical Synthesis Also called Physical Aware Synthesis 58

59 Main References Rob Rutenbar From Logic to Layout IDESA Rabaey, Low Power Design Essentials vlsicad.ucsd.edu ECE 260B CSE 24A Roy Shor, BGU Synopsys slides 59

Lecture Outline. Adam Teman, 2018

Lecture Outline. Adam Teman, 2018 Lecture Outline Adam Teman, 208 Digital VLSI Design Lecture 4: Logic Synthesis Part 2 Semester A, 208-9 Lecturer: Dr. Adam Teman November 6, 208 Disclaimer: This course was prepared, in its entirety, by

More information

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2 Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral

More information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State

More information

ECE260B CSE241A Winter Logic Synthesis

ECE260B CSE241A Winter Logic Synthesis ECE260B CSE241A Winter 2007 Logic Synthesis Website: /courses/ece260b-w07 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost

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

CSE241 VLSI Digital Circuits UC San Diego

CSE241 VLSI Digital Circuits UC San Diego CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design Systems January 21, 2003 CSE241 L5 Synthesis.1 Kahng & Cichy, UCSD 2003 Outline Introduction Two-level

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

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

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

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

ECE260B CSE241A Winter Logic Synthesis

ECE260B CSE241A Winter Logic Synthesis ECE260B CSE241A Winter 2005 Logic Synthesis Website: / courses/ ece260bw05 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost

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

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

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

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

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

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

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007 VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,

More information

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now? Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom

More information

COPYRIGHTED MATERIAL INDEX

COPYRIGHTED MATERIAL INDEX INDEX Absorption law, 31, 38 Acyclic graph, 35 tree, 36 Addition operators, in VHDL (VHSIC hardware description language), 192 Algebraic division, 105 AND gate, 48 49 Antisymmetric, 34 Applicable input

More information

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control ECE 4514 Digital Design II Lecture 15: FSM-based Control A Design Lecture Overview Finite State Machines Verilog Mapping: one, two, three always blocks State Encoding User-defined or tool-defined State

More information

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603 203 DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS YEAR / SEMESTER: II / III ACADEMIC YEAR: 2015-2016 (ODD

More information

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Universität Dortmund RTL Synthesis Purpose of HDLs Purpose of Hardware Description Languages: Capture design in Register Transfer Language form i.e. All

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

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

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 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745 RTL to

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 Introduction to Computer Design Logic Optimization Eli Bozorgzadeh Computer Science Department-UCI Hardware compilation flow HDL RTL Synthesis netlist Logic synthesis library netlist Physical design

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

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL for Synthesis. Course Description. Course Duration. Goals VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes

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

Code No: R Set No. 1

Code No: R Set No. 1 Code No: R059210504 Set No. 1 II B.Tech I Semester Regular Examinations, November 2007 DIGITAL LOGIC DESIGN ( Common to Computer Science & Engineering, Information Technology and Computer Science & Systems

More information

Introduction to synthesis. Logic Synthesis

Introduction to synthesis. Logic Synthesis Introduction to synthesis Lecture 5 Logic Synthesis Logic synthesis operates on boolean equations and produce optimized combinational logic Logic Minimization Two-level logic minimization Two-level logic

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

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

Lecture 12 VHDL Synthesis

Lecture 12 VHDL Synthesis CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced Digital Logic Design EECS 303 http://ziyang.eecs.northwestern.edu/eecs303/ Teacher: Robert Dick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline 1. 2. 2 Robert Dick

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

Code No: R Set No. 1

Code No: R Set No. 1 Code No: R059210504 Set No. 1 II B.Tech I Semester Regular Examinations, November 2006 DIGITAL LOGIC DESIGN ( Common to Computer Science & Engineering, Information Technology and Computer Science & Systems

More information

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1 Synthesis 1 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998. Typeset by FoilTEX 1 Introduction Logic synthesis is automatic generation of circuitry

More information

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis ECE 5775 (Fall 17) High-Level Digital Design Automation Binary Decision Diagrams Static Timing Analysis Announcements Start early on Lab 1 (CORDIC design) Fixed-point design should not have usage of DSP48s

More information

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline EECS150 - Digital Design Lecture 4 - Verilog Introduction Feb 3, 2009 John Wawrzynek Spring 2009 EECS150 - Lec05-Verilog Page 1 Outline Background and History of Hardware Description Brief Introduction

More information

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 98-1 Under-Graduate Project Synthesis of Combinational Logic Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 What is synthesis? Outline Behavior Description for Synthesis Write Efficient HDL

More information

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis ECE 4514 Digital Design II A Tools/Methods Lecture Second half of Digital Design II 9 10-Mar-08 L13 (T) Logic Synthesis PJ2 13-Mar-08 L14 (D) FPGA Technology 10 18-Mar-08 No Class (Instructor on Conference)

More information

structure syntax different levels of abstraction

structure syntax different levels of abstraction This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

L2: Design Representations

L2: Design Representations CS250 VLSI Systems Design L2: Design Representations John Wawrzynek, Krste Asanovic, with John Lazzaro and Yunsup Lee (TA) Engineering Challenge Application Gap usually too large to bridge in one step,

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

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

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

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

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

www.vidyarthiplus.com Question Paper Code : 31298 B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER 2013. Third Semester Computer Science and Engineering CS 2202/CS 34/EC 1206 A/10144 CS 303/080230012--DIGITAL

More information

Why Should I Learn This Language? VLSI HDL. Verilog-2

Why Should I Learn This Language? VLSI HDL. Verilog-2 Verilog Why Should I Learn This Language? VLSI HDL Verilog-2 Different Levels of Abstraction Algorithmic the function of the system RTL the data flow the control signals the storage element and clock Gate

More information

Hours / 100 Marks Seat No.

Hours / 100 Marks Seat No. 17333 13141 3 Hours / 100 Seat No. Instructions (1) All Questions are Compulsory. (2) Answer each next main Question on a new page. (3) Illustrate your answers with neat sketches wherever necessary. (4)

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

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

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

RTL Power Estimation and Optimization

RTL Power Estimation and Optimization Power Modeling Issues RTL Power Estimation and Optimization Model granularity Model parameters Model semantics Model storage Model construction Politecnico di Torino Dip. di Automatica e Informatica RTL

More information

ECE 3060 VLSI and Advanced Digital Design

ECE 3060 VLSI and Advanced Digital Design ECE 3060 VLSI and Advanced Digital Design Lecture 16 Technology Mapping/Library Binding Outline Modeling and problem analysis Rule-based systems for library binding Algorithms for library binding structural

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

Verilog Module 1 Introduction and Combinational Logic

Verilog Module 1 Introduction and Combinational Logic Verilog Module 1 Introduction and Combinational Logic Jim Duckworth ECE Department, WPI 1 Module 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog

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

Code No: R Set No. 1

Code No: R Set No. 1 Code No: R059210504 Set No. 1 II B.Tech I Semester Supplementary Examinations, February 2007 DIGITAL LOGIC DESIGN ( Common to Computer Science & Engineering, Information Technology and Computer Science

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian ذو الحجة 1438 ه Winter

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Eamination ECE 4F - Digital Systems Eaminers: S. Brown, J.

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

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF INFORMATION TECHNOLOGY & COMPUTER SCIENCE AND ENGINEERING QUESTION BANK II SEMESTER CS6201- DIGITAL PRINCIPLE AND SYSTEM DESIGN

More information

Synthesis of Combinational and Sequential Circuits with Verilog

Synthesis of Combinational and Sequential Circuits with Verilog Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two

More information

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline. Review EECS 150 - Components and Design Techniques for Digital Systems Lec 05 Boolean Logic 94-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley Design flow

More information

VHDL: RTL Synthesis Basics. 1 of 59

VHDL: RTL Synthesis Basics. 1 of 59 VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.

More information

Verilog for Synthesis Ing. Pullini Antonio

Verilog for Synthesis Ing. Pullini Antonio Verilog for Synthesis Ing. Pullini Antonio antonio.pullini@epfl.ch Outline Introduction to Verilog HDL Describing combinational logic Inference of basic combinational blocks Describing sequential circuits

More information

END-TERM EXAMINATION

END-TERM EXAMINATION (Please Write your Exam Roll No. immediately) END-TERM EXAMINATION DECEMBER 2006 Exam. Roll No... Exam Series code: 100919DEC06200963 Paper Code: MCA-103 Subject: Digital Electronics Time: 3 Hours Maximum

More information

Quick Introduction to SystemVerilog: Sequental Logic

Quick Introduction to SystemVerilog: Sequental Logic ! Quick Introduction to SystemVerilog: Sequental Logic Lecture L3 8-545 Advanced Digital Design ECE Department Many elements Don Thomas, 24, used with permission with credit to G. Larson Today Quick synopsis

More information

1. Mark the correct statement(s)

1. Mark the correct statement(s) 1. Mark the correct statement(s) 1.1 A theorem in Boolean algebra: a) Can easily be proved by e.g. logic induction b) Is a logical statement that is assumed to be true, c) Can be contradicted by another

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

Combinational Logic II

Combinational Logic II Combinational Logic II Ranga Rodrigo July 26, 2009 1 Binary Adder-Subtractor Digital computers perform variety of information processing tasks. Among the functions encountered are the various arithmetic

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,

More information

Principles of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system.

Principles of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system. Assignment No. 1 1. State advantages of digital system over analog system. 2. Convert following numbers a. (138.56) 10 = (?) 2 = (?) 8 = (?) 16 b. (1110011.011) 2 = (?) 10 = (?) 8 = (?) 16 c. (3004.06)

More information

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley Boolean Function Representations Syntactic: e.g.: CNF, DNF (SOP), Circuit Semantic: e.g.: Truth table, Binary

More information

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran CAD for VLSI Design - I Lecture 21 V. Kamakoti and Shankar Balachandran Overview of this Lecture Understanding the process of Logic synthesis Logic Synthesis of HDL constructs Logic Synthesis What is this?

More information

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN B.Tech II Year I Semester () Regular Examinations December 2014 (Common to IT and CSE) (a) If 1010 2 + 10 2 = X 10, then X is ----- Write the first 9 decimal digits in base 3. (c) What is meant by don

More information

Injntu.com Injntu.com Injntu.com R16

Injntu.com Injntu.com Injntu.com R16 1. a) What are the three methods of obtaining the 2 s complement of a given binary (3M) number? b) What do you mean by K-map? Name it advantages and disadvantages. (3M) c) Distinguish between a half-adder

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

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

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

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE)

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE) SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road 517583 QUESTION BANK (DESCRIPTIVE) Subject with Code : STLD(16EC402) Year & Sem: II-B.Tech & I-Sem Course & Branch: B.Tech

More information

Advanced Synthesis Techniques

Advanced Synthesis Techniques Advanced Synthesis Techniques Reminder From Last Year Use UltraFast Design Methodology for Vivado www.xilinx.com/ultrafast Recommendations for Rapid Closure HDL: use HDL Language Templates & DRC Constraints:

More information

DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY

DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY Dept/Sem: II CSE/03 DEPARTMENT OF ECE CS8351 DIGITAL PRINCIPLES AND SYSTEM DESIGN UNIT I BOOLEAN ALGEBRA AND LOGIC GATES PART A 1. How many

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

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences Introductory Digital Systems Lab (6.111) uiz - Spring 2004 Prof. Anantha Chandrakasan Student Name: Problem

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

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware

More information

Synthesis at different abstraction levels

Synthesis at different abstraction levels Synthesis at different abstraction levels System Level Synthesis Clustering. Communication synthesis. High-Level Synthesis Resource or time constrained scheduling Resource allocation. Binding Register-Transfer

More information

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment Assignment 1. What is multiplexer? With logic circuit and function table explain the working of 4 to 1 line multiplexer. 2. Implement following Boolean function using 8: 1 multiplexer. F(A,B,C,D) = (2,3,5,7,8,9,12,13,14,15)

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 May 10, 2010 Final Exam Name: ID number: This is

More information

Homework deadline extended to next friday

Homework deadline extended to next friday Norm Midterm Grading Finished Stats on course homepage Pickup after this lab lec. Regrade requests within 1wk of posted solution Homework deadline extended to next friday Description Design Conception

More information