Computer Architecture (TT 2012)
|
|
- Colin Todd
- 5 years ago
- Views:
Transcription
1 Computer Architecture (TT 2012) The Register Transfer Level Daniel Kroening Oxford University, Computer Science Department Version 1.0, 2011
2 Outline Reminders Gates Implementations of Gates Latches, Flip-flops and Clocks Timing Analysis Transition Systems A Brief Verilog Primer Four-valued Logic Event-driven Simulation D. Kroening: Computer Architecture (TT 2012) 2
3 Reminders Abstract gates abstract and CMOS gates Flip-flops and clocks D. Kroening: Computer Architecture (TT 2012) 3
4 Logic Gates Basic building block of digital circuitry Implement Boolean functions Gates have multiple inputs, usually one output Inputs/outputs are assigned a logical value 0 or 1 Representation using voltage, for example: 0 0V voltage 1 3.3V voltage D. Kroening: Computer Architecture (TT 2012) 4
5 Abstract Switches x x Closed when x = 1 Closed when x = 0 Idea: switch closed upper and lower port are connected D. Kroening: Computer Architecture (TT 2012) 5
6 Example: Inverter and NOR Inverter logical negation x x (INV PIC) NOR disjunction with negation x y x y (NOR PIC) D. Kroening: Computer Architecture (TT 2012) 6
7 Building an Inverter using Switches x y input output D. Kroening: Computer Architecture (TT 2012) 7
8 Building an Inverter using Switches open x y input output The 1 on the input closes the lower switch. D. Kroening: Computer Architecture (TT 2012) 8
9 Building an Inverter using Switches x y input output The 0 on the input closes the upper switch. D. Kroening: Computer Architecture (TT 2012) 9
10 Building NOR using Switches x y inputs output z = x nor y D. Kroening: Computer Architecture (TT 2012) 10
11 Building NOR using Switches x y inputs output z = x nor y D. Kroening: Computer Architecture (TT 2012) 11
12 Building NOR using Switches x y inputs 2nd switch still open! output z = x nor y D. Kroening: Computer Architecture (TT 2012) 12
13 Building NOR using Switches x y inputs output z = x nor y D. Kroening: Computer Architecture (TT 2012) 13
14 Typical Implementations of Gates Examples: vacuum tube BJT: Bipolar Junction Transistor (used in TTL) FET: Field effect transistor (used in MOS) MOS = Metal Oxide Semiconductor CMOS: Complementary MOS D. Kroening: Computer Architecture (TT 2012) 14
15 NMOS source metal gate metal drain metal insulator SiO2 n doped n doped p doped substrate Implementation of a switch with doped silicon n/p-doping: excess of negative/positive charge carriers PMOS is dual to NMOS. D. Kroening: Computer Architecture (TT 2012) 15
16 NMOS Open source n doped gate p doped substrate n doped drain insulator SiO 2 Voltage gate/source 0 V: switch open (no current) D. Kroening: Computer Architecture (TT 2012) 16
17 NMOS Closed source n doped gate n channel p doped substrate n doped drain insulator SiO 2 Voltage gate/source > 0 V: switch closed (drain/source current possible) D. Kroening: Computer Architecture (TT 2012) 17
18 Schematics Drain Drain Gate Gate Source NMOS Source PMOS D. Kroening: Computer Architecture (TT 2012) 18
19 CMOS Inverter VDD IN PMOS OUT IN is 0: PMOS closed, NMOS open OUT is 1 GND NMOS IN is 1: PMOS open, NMOS closed OUT is 0 D. Kroening: Computer Architecture (TT 2012) 19
20 CMOS NOR VDD y x nor y x GND D. Kroening: Computer Architecture (TT 2012) 20
21 CMOS NAND VDD x y x nand y GND D. Kroening: Computer Architecture (TT 2012) 21
22 VLSI Prescott (2004), 90 nm process, 125 m. transistors on 122mm 2 Poulson (2012): 32 nm process, 3.1 bn transistors on 544mm 2 D. Kroening: Computer Architecture (TT 2012) 22
23 Latches and Flip-flops So far: combinational circuitry Outputs are a function of the inputs But we would like to store data D. Kroening: Computer Architecture (TT 2012) 23
24 Latches and Flip-flops So far: combinational circuitry Outputs are a function of the inputs But we would like to store data Latches store data level-sensitive Flip-flops store data edge-triggered D. Kroening: Computer Architecture (TT 2012) 23
25 D-Flip-Flop input (data) clock D Q C Q state state negated most simplistic sequential building block: stores input for one clock period usually comes with (asynchronous) reset or set input signal D. Kroening: Computer Architecture (TT 2012) 24
26 Positive and Negative Edges raising falling C falling and rising clock edge D. Kroening: Computer Architecture (TT 2012) 25
27 D-Flip-Flop with Positive Edge Triggering Transition table D C Q Q Q Q 0 Q Q 1 Q Q Notation: the prime in Q means value in the next state positive edge, negative edge D. Kroening: Computer Architecture (TT 2012) 26
28 D-Flip-Flop with Positive Edge Triggering D C Q Q Changing D only has an effect on the next (positive) clock edge! D. Kroening: Computer Architecture (TT 2012) 27
29 A High-level, Simplified View inputs combinational logic outputs current state registers next state D. Kroening: Computer Architecture (TT 2012) 28
30 A High-level, Simplified View This ignores (fails to model) techniques such as multi-cycle paths asynchronous sub-circuits multiple clock domains But: somewhat suitable to model clock multipliers D. Kroening: Computer Architecture (TT 2012) 29
31 Timing Analysis How much can we crank up the clock? D. Kroening: Computer Architecture (TT 2012) 30
32 Timing Analysis How much can we crank up the clock? What happens if we overdo it? D. Kroening: Computer Architecture (TT 2012) 30
33 Timing Requirements of a D-Flip-Flop t w t phl clk t plh t s t h t s t h Input stable during setup phase t s before the edge Input stable during hold phase t h after the edge Output is stable after propagation phase t plh or t phl, resp., after the edge minimal clock period (width) t w D. Kroening: Computer Architecture (TT 2012) 31
34 Timing Example t s t h t s t h D t w t w clk t plh Q t phl D. Kroening: Computer Architecture (TT 2012) 32
35 Maximal Clock Frequency setup + hold time + propagation delay of the flip-flops + delay of the combinational circuitry (longest path!) = cycle time The maximal clock frequency is the inverse of the cycle time D. Kroening: Computer Architecture (TT 2012) 33
36 Example D Q Q D Q Q D Q Q D Q Q Component t p t s AND 7 ns - NAND 6 ns - OR 6 ns - Component t p t s NOR 5 ns - XOR 9 ns - D-Flipflop 11 ns 3 ns D. Kroening: Computer Architecture (TT 2012) 34
37 Example D Q Q D Q Q D Q Q D Q Q Component t p t s AND 7 ns - NAND 6 ns - OR 6 ns - Component t p t s NOR 5 ns - XOR 9 ns - D-Flipflop 11 ns 3 ns D. Kroening: Computer Architecture (TT 2012) 34
38 Example D Q Q D Q Q D Q Q D Q Q Component t p t s AND 7 ns - NAND 6 ns - OR 6 ns - Component t p t s NOR 5 ns - XOR 9 ns - D-Flipflop 11 ns 3 ns D. Kroening: Computer Architecture (TT 2012) 34
39 Example 3 ns Setup + hold time + 11 ns propagation Delay of the flip-flops + 27 ns longest path = 41 ns cycle time Maximum clock frequency: 1 41ns Hz 24.4 MHz D. Kroening: Computer Architecture (TT 2012) 35
40 Pipelining Q: How can we increase the clock frequency? (will please marketing department) Reminder: the clock frequency is determined by the longest path between two D-flip-flops. D. Kroening: Computer Architecture (TT 2012) 36
41 Pipelining Q: How can we increase the clock frequency? (will please marketing department) Reminder: the clock frequency is determined by the longest path between two D-flip-flops. Idea: put a D-flip-flop into that path! D. Kroening: Computer Architecture (TT 2012) 36
42 Example Pipelining D Q Q D Q Q D Q Q D Q Q D. Kroening: Computer Architecture (TT 2012) 37
43 Example Pipelining D D Q Q Q Q D D D Q Q Q Q Q Q D D Q Q Q Q D. Kroening: Computer Architecture (TT 2012) 37
44 Example Pipelining D D Q Q Q Q D D D Q Q Q Q Q Q D D Q Q Q Q D. Kroening: Computer Architecture (TT 2012) 37
45 Example Pipelining 3 ns setup + hold time + 11 ns propagation delay of the flip-flops + 18 ns longest path = 32 ns cycle time Maximum clock frequency: 1 32ns Hz 31.3 MHz D. Kroening: Computer Architecture (TT 2012) 38
46 Modelling Sequential Circuits combinational no state think of functional programming (Lisp, ML): no side effects! Outputs are fully determined by the current inputs sequential with state think of programming with state variables and assignment current inputs and past behaviour determine outputs D. Kroening: Computer Architecture (TT 2012) 39
47 Formalisation of Sequential Circuitry Definition (transition system) A transition system is a triple S, I, T with S: set of states I S: initial states T : S S: transition relation D. Kroening: Computer Architecture (TT 2012) 40
48 Formalisation of Sequential Circuitry Definition (transition system) A transition system is a triple S, I, T with S: set of states I S: initial states T : S S: transition relation Definition (computation) A computation is a sequence s 0,..., s n with s i S and s 0 I i : (s i, s i+1 ) T D. Kroening: Computer Architecture (TT 2012) 40
49 Example: Modulo 4 Counter set of states S: the numbers 0 to 3 one initial state: I = {0} transition relation: the counter is incremented modulo 4 T = {(0, 1), (1, 2), (2, 3), (3, 0)} D. Kroening: Computer Architecture (TT 2012) 41
50 Determinism A state machine may, in general, be non-deterministic 1. deadends: states without successor 2. states with more than one successor D. Kroening: Computer Architecture (TT 2012) 42
51 Determinism A state machine may, in general, be non-deterministic 1. deadends: states without successor 2. states with more than one successor Hardware is usually deterministic: every state has exactly one successor D. Kroening: Computer Architecture (TT 2012) 42
52 Transition Functions What about the inputs of our device? We introduce an input alphabet E Transition function δ : (S E) S Initial states: I : (S E) This is a special case of a transition relation: (x, y) T e E.δ(x, e) = y D. Kroening: Computer Architecture (TT 2012) 43
53 Transition Functions What about the inputs of our device? We introduce an input alphabet E Transition function δ : (S E) S Initial states: I : (S E) This is a special case of a transition relation: (x, y) T e E.δ(x, e) = y for a given e this is deterministic, and there are no deadends D. Kroening: Computer Architecture (TT 2012) 43
54 Example: Modulo 4 Counter with Synchronous Reset rst rst 0 1 rst rst rst S = {0,..., 3} E = {rst, rst} 3 rst 2 The counter is reset to 0 when rst = 1, otherwise is incremented modulo 4: { 0 : rst δ(s, rst) = (s + 1) mod 4 : otherwise D. Kroening: Computer Architecture (TT 2012) 44
55 Example: Modulo 4 Counter with Synchronous Reset rst rst 0 1 rst rst rst S = {0,..., 3} E = {rst, rst} 3 rst 2 The counter is reset to 0 when rst = 1, otherwise is incremented modulo 4: { 0 : rst δ(s, rst) = (s + 1) mod 4 : otherwise In hardware, there would usually be bits and bytes. D. Kroening: Computer Architecture (TT 2012) 44
56 Modulo 4 Counter: Binary Encoding rst 00 rst 01 rst rst rst rst States ab are valuations of D-flip-flops with a, b {0, 1} Binary encoding: 0 00, 1 01, 2 10, 3 11 A transition ab c a b current state ab, a next state a b and a condition c is a triple of a D. Kroening: Computer Architecture (TT 2012) 45
57 Modulo 4 Counter: Transition Function δ = { (00, 0, 01), (00, 1, 00), (01, 0, 10), (01, 1, 00), (10, 0, 11), (10, 1, 00), (11, 0, 00), (11, 1, 00) } Examples: δ(00, 0) = 01, δ(10, 1) = 00 D. Kroening: Computer Architecture (TT 2012) 46
58 Modulo 4 Counter: Transition Table state a b rst a b This can be encoded using the following next-state functions: a rst (a b) b rst b D. Kroening: Computer Architecture (TT 2012) 47
59 Some Computations of the Modulo 4 Counter Transition # rst a b D. Kroening: Computer Architecture (TT 2012) 48
60 Some Computations of the Modulo 4 Counter Transition # rst a b Transition # rst a b D. Kroening: Computer Architecture (TT 2012) 48
61 Modulo 4 Counter with Synchronous Reset rst b a clk global clock: clk (we omit this from the model) just one input: rst next-state logic: as marked in blue no output logic in this example D. Kroening: Computer Architecture (TT 2012) 49
62 Summary: Register-transfer Level 1. Set of registers R i with i {1,..., n} with domain D i = {0, 1} wi for some w i 2. S = D 1 D 2... D n 3. Input e E (possibly partitioned) 4. Next-state function f i (s, e) for each register T (s, s ) e. s = (f 1 (s, e),..., f n (s, e)) D. Kroening: Computer Architecture (TT 2012) 50
63 Real-world Models of Hardware Old days: schematics Verilog or VHDL plain C C++ or SystemC (functional programming languages practicals) D. Kroening: Computer Architecture (TT 2012) 51
64 A Brief Verilog Primer Verilog was designed for circuit simulation Now also used for synthesis Procedural, event-driven semantics Circuits are composed of modules, which are connected via ports. D. Kroening: Computer Architecture (TT 2012) 52
65 Simulation with Four-valued Logic Verilog uses a four-valued logic A wire in the high impedance state has value Z In addition, we have X for unknown (e.g., at the beginning of the simulation) There is also a weak 1 and a weak 0 (we ll ignore these) D. Kroening: Computer Architecture (TT 2012) 53
66 Semantics of the Four-valued Logic & 0 1 X Z X X X 0 X X X Z 0 X X X ˆ 0 1 X Z X X X X X X X X X Z X X X X 0 1 X Z X X X X 1 X X Z X 1 X X ˆ 0 1 X Z X X X X X X X X X Z X X X X X X Z X D. Kroening: Computer Architecture (TT 2012) 54
67 Combinational Logic in Verilog timescale 1 ns / 1 ns module gate delay(input a, output b, c, z); assign #10 b =!a; 5 assign #10 c =!b; assign #10 z =!c; endmodule a b c z D. Kroening: Computer Architecture (TT 2012) 55
68 Delays and Time in Verilog module gate delay tb; wire b, c, z; reg a; 5 gate delay M(a, b, c, z); initial begin a=0; #50; a=1; #10; a=0; end 10 endmodule D. Kroening: Computer Architecture (TT 2012) 56
69 Example 2-Bit Adder module add2impl(input [1:0] a, input [1:0] b, output [2:0] sum); wire carry1; 5 assign sum[0] = a[0] ˆ b [0]; assign carry1 = a[0] & b [0]; assign sum[1] = a[1] ˆ b[1] ˆ carry1; assign sum[2] = (a[1]&b[1]) (a[1]&carry1) ( b[1]&carry1); 10 endmodule D. Kroening: Computer Architecture (TT 2012) 57
70 2-Bit Adder: Testbench module add2 tb(); reg [1:0] a, b; wire [2:0] s; 5 add2impl add(a, b, s); initial begin a=0; b=0; #1; assert(s==0); 10 a=1; b=0; #1; assert(s==1); a=0; b=1; #1; assert(s==1); a=1; b=1; #1; assert(s==2); a=2; b=1; #1; assert(s==3); end 15 endmodule The test vectors contain the expected result as assertions D. Kroening: Computer Architecture (TT 2012) 58
71 Word-level Descriptions in Verilog module my ALU( input [31:0] a, input [31:0] b, input op, output [31:0] out ); 5 assign out = op? a b : a+b; endmodule This actually generates an adder and a multiplier Verilog s expression syntax more or less matches that of Java and C D. Kroening: Computer Architecture (TT 2012) 59
72 2-Bit Adder: Word-level Specification module main(input [1:0] a, input [1:0] b, input clk, output reg [2:0] x); wire [2:0] s; 5 add2impl add(a, b, s); clk) begin x=s; 10 assert(s==a+b); end endmodule Separates test-vectors and specification D. Kroening: Computer Architecture (TT 2012) 60
73 Latch in Verilog reg q; c) if (c) q <= d; assign q <= c? d : q; assign q <= (d && c) (q &&!c); standard-compliant not compliant Synthesis maps compliant descriptions to a latch from the library non-compliant descriptions may result in asynchronous logic, and hazards D. Kroening: Computer Architecture (TT 2012) 61
74 D-Flip-flop in Verilog Flip-flops are meant to be implemented as follows: reg q; c) q <= d; Caveat: The contents of the sensitivity list are clock) There need not be an assignment to q on all paths D. Kroening: Computer Architecture (TT 2012) 62
75 Verilog: combinational vs. sequential module combinational( input a, b, sel, output reg out); 5 (a or b or sel) begin if (sel) out = a; else out = b; end 10 endmodule module sequential( input a, b, sel, clk, output reg out); 5 (posedge clk) begin if (sel) out = a; else out = b; end 10 endmodule a b 1 0 out a b 1 0 D Q out sel sel reg may be combinational! clk D. Kroening: Computer Architecture (TT 2012) 63
76 A Verilog Template for State Machines 1. Define state-holding elements 2. Define next-state function 3. Define output function D. Kroening: Computer Architecture (TT 2012) 64
77 Verilog Module module statemachine(input clk, rst,... // inputs output reg out,...);... 5 endmodule As usual, one clock for everything Inputs and outputs as required D. Kroening: Computer Architecture (TT 2012) 65
78 State localparam [2:0] OFF = b000, RED = b001, YELLOW= b010, 5 GREEN = b011; reg [2:0] state ; localparam defines module-local constants reg defines the state-holding variables state is usually split into multiple variables D. Kroening: Computer Architecture (TT 2012) 66
79 Next-State Logic clk) begin if ( rst ) state=init; // synchronous reset else case(state) 5 INIT: if (input1) state=q2; else state=q1; 10 Q1:... Q2: default: next state=init; endcase end D. Kroening: Computer Architecture (TT 2012) 67
80 Output Logic // note the dependency on the inputs! or rst or...) begin out1 = state [1] input1; out2 = state [1] & state [2]; 5 end May contain case(state) to implement a case-split D. Kroening: Computer Architecture (TT 2012) 68
81 File Operations Verilog has commands for reading files This is usually used to apply externally-generated test data E.g., read an assembler program into a CPU model Output can be saved in a file as well Checker does not have to be Verilog code (e.g., use Perl instead) D. Kroening: Computer Architecture (TT 2012) 69
82 Event-driven Simulation Goal: maximise simulation speed Exploit causal ordering of events Changing an input may result in a new output value Considers delays Event: signal and value and timestamp D. Kroening: Computer Architecture (TT 2012) 70
83 Event Queue events current t 1 time t 2 t 3 t 4 D. Kroening: Computer Architecture (TT 2012) 71
84 Single-pass Event Scheduler 1: for e = each event at current time do 2: UPDATE NODE(e); 3: 4: for j = each gate on the fanout list of e do 5: update input values of j; 6: EVALUATE(j); 7: if new value(j) last scheduled value(j) then 8: schedule new value(j) at (current time + delay(j)); 9: last scheduled value(j) := new value(j); 10: end if 11: end for 12: end for D. Kroening: Computer Architecture (TT 2012) 72
85 Example (1) x b a c z wire x, a, b, c, z; assign a =!x; assign b =!x; assign c =!b; 5 assign z = a c; D. Kroening: Computer Architecture (TT 2012) 73
86 Example (2) Suppose we just grab any event off the queue: time (x, a, b, c, z) event queue t (0,1,1,0,1) (x,1,t) external event for x D. Kroening: Computer Architecture (TT 2012) 74
87 Example (2) Suppose we just grab any event off the queue: time (x, a, b, c, z) event queue t (0,1,1,0,1) (x,1,t) external event for x t (1,1,1,0,1) (a,0,t)(b,0,t) yields two new events D. Kroening: Computer Architecture (TT 2012) 74
88 Example (2) Suppose we just grab any event off the queue: time (x, a, b, c, z) event queue t (0,1,1,0,1) (x,1,t) external event for x t (1,1,1,0,1) (a,0,t)(b,0,t) yields two new events t (1,1,0,0,1) (a,0,t)(c,1,t) pick b event t (1,1,0,1,1) (a,0,t) pick c event D. Kroening: Computer Architecture (TT 2012) 74
89 Example (2) Suppose we just grab any event off the queue: time (x, a, b, c, z) event queue t (0,1,1,0,1) (x,1,t) external event for x t (1,1,1,0,1) (a,0,t)(b,0,t) yields two new events t (1,1,0,0,1) (a,0,t)(c,1,t) pick b event t (1,1,0,1,1) (a,0,t) pick c event t (1,0,0,1,1) Finally do a event (note that the value of z never changes, and we thus don t have any event for it) D. Kroening: Computer Architecture (TT 2012) 74
90 Event Ordering Which event do we pick? The result will heavily depend on the ordering! Solution: introduce (artificial) delta delays along the cause-effect chain (this does not correspond to any notion of real time) Goal: standardise behaviour of simulators D. Kroening: Computer Architecture (TT 2012) 75
91 Using Delta Delays We always pick the event with the smallest delta delay: time (x, a, b, c, z) event queue t (0,1,1,0,1) (x,1,t) external event for x D. Kroening: Computer Architecture (TT 2012) 76
92 Using Delta Delays We always pick the event with the smallest delta delay: time (x, a, b, c, z) event queue t (0,1,1,0,1) (x,1,t) external event for x t (1,1,1,0,1) (a,0,t + δ)(b,0,t + δ) yields two events D. Kroening: Computer Architecture (TT 2012) 76
93 Using Delta Delays We always pick the event with the smallest delta delay: time (x, a, b, c, z) event queue t (0,1,1,0,1) (x,1,t) external event for x t (1,1,1,0,1) (a,0,t + δ)(b,0,t + δ) yields two events t + δ (1,0,1,0,1) (b,0,t + δ)(z,0,t + 2δ) t + δ (1,0,0,0,1) (z,0,t + 2δ)(c,1,t + 2δ) t + 2δ (1,0,0,0,0) (c,1,t + 2δ) t + 2δ (1,0,0,1,0) (z,1,t + 3δ) t + 3δ (1,0,0,1,1) Result: 0-impulse on output z D. Kroening: Computer Architecture (TT 2012) 76
94 Event Queue with Delta Delays current t 1 timeframe delta event t + δ 1 delta event t 1 + 2δ delta event t 1 + 3δ next timeframe t 2 D. Kroening: Computer Architecture (TT 2012) 77
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 informationMicrocomputers. 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 informationDigital 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 informationDigital 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 informationThis Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)
Last Lecture The basic component of a digital circuit is the MOS transistor Transistor have instrinsic resistance and capacitance, so voltage values in the circuit take some time to change ( delay ) There
More informationFPGA 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 informationLecture 32: SystemVerilog
Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32-bit busses. 17:
More informationDIGITAL 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 informationCS429: 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 informationEECS 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 informationSpiral 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 informationThe 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 information6. Latches and Memories
6 Latches and Memories This chapter . RS Latch The RS Latch, also called Set-Reset Flip Flop (SR FF), transforms a pulse into a continuous state. The RS latch can be made up of two interconnected
More informationA 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 informationMASSACHUSETTS 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(ii) Simplify and implement the following SOP function using NOR gates:
DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EE6301 DIGITAL LOGIC CIRCUITS UNIT I NUMBER SYSTEMS AND DIGITAL LOGIC FAMILIES PART A 1. How can an OR gate be
More informationMark Redekopp, All rights reserved. EE 352 Unit 8. HW Constructs
EE 352 Unit 8 HW Constructs Logic Circuits Combinational logic Perform a specific function (mapping of 2 n input combinations to desired output combinations) No internal state or feedback Given a set of
More informationSynthesizable 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 informationFPGA: 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 informationIn this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified.
1 In this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified. I will also introduce the idea of a testbench as part of a design specification.
More informationLab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation
Course Goals Lab Understand key components in VLSI designs Become familiar with design tools (Cadence) Understand design flows Understand behavioral, structural, and physical specifications Be able to
More informationCSE 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 informationVerilog. 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 informationSequential Logic Design
Sequential Logic Design 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 informationLogic Circuits II ECE 2411 Thursday 4:45pm-7:20pm. Lecture 3
Logic Circuits II ECE 2411 Thursday 4:45pm-7:20pm Lecture 3 Lecture 3 Topics Covered: Chapter 4 Discuss Sequential logic Verilog Coding Introduce Sequential coding Further review of Combinational Verilog
More informationARM 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 informationVerilog 1 - Fundamentals
Verilog 1 - Fundamentals FA FA FA FA module adder( input [3:0] A, B, output cout, output [3:0] S ); wire c0, c1, c2; FA fa0( A[0], B[0], 1 b0, c0, S[0] ); FA fa1( A[1], B[1], c0, c1, S[1] ); FA fa2( A[2],
More informationChapter 6. CMOS Functional Cells
Chapter 6 CMOS Functional Cells In the previous chapter we discussed methods of designing layout of logic gates and building blocks like transmission gates, multiplexers and tri-state inverters. In this
More informationFederal 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 informationVerilog introduction. Embedded and Ambient Systems Lab
Verilog introduction Embedded and Ambient Systems Lab Purpose of HDL languages Modeling hardware behavior Large part of these languages can only be used for simulation, not for hardware generation (synthesis)
More informationVerilog 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 informationTwo HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design
Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial
More informationECE 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 informationEE178 Lecture Verilog FSM Examples. Eric Crabill SJSU / Xilinx Fall 2007
EE178 Lecture Verilog FSM Examples Eric Crabill SJSU / Xilinx Fall 2007 In Real-time Object-oriented Modeling, Bran Selic and Garth Gullekson view a state machine as: A set of input events A set of output
More informationEND-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 informationN-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 informationIntroduction 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 informationLecture 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 informationVLSI Test Technology and Reliability (ET4076)
VLSI Test Technology and Reliability (ET4076) Lecture 4(part 2) Testability Measurements (Chapter 6) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Previous lecture What
More informationSpeaker: 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 informationVHDL: 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 informationQuick 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 informationTopics 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 informationIntroduction 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 informationVerilog 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 informationECEN 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 information3. The high voltage level of a digital signal in positive logic is : a) 1 b) 0 c) either 1 or 0
1. The number of level in a digital signal is: a) one b) two c) four d) ten 2. A pure sine wave is : a) a digital signal b) analog signal c) can be digital or analog signal d) neither digital nor analog
More informationECE 4514 Digital Design II. Spring Lecture 2: Hierarchical Design
ECE 4514 Digital Design II Spring 2007 Abstraction in Hardware Design Remember from last lecture that HDLs offer a textual description of a netlist. Through abstraction in the HDL, we can capture more
More informationCSE140L: Components and Design Techniques for Digital Systems Lab. Verilog HDL. Instructor: Mohsen Imani UC San Diego. Source: Eric Crabill, Xilinx
CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Instructor: Mohsen Imani UC San Diego Source: Eric Crabill, Xilinx 1 Hardware description languages Used to describe & model
More information3. Implementing Logic in CMOS
3. Implementing Logic in CMOS 3. Implementing Logic in CMOS Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 27 September, 27 ECE Department,
More informationVLSI DESIGN (ELECTIVE-I) Question Bank Unit I
VLSI DESIGN (ELECTIVE-I) Question Bank Unit I B.E (E&C) NOV-DEC 2008 1) If A & B are two unsigned variables, with A = 1100 and B = 1001, find the values of following expressions. i. (A and B) ii. (A ^
More informationWhy 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 informationCSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008
CSE 140L Final Exam Prof. Tajana Simunic Rosing Spring 2008 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. Do not separate
More informationModeling Sequential Circuits in Verilog
Modeling Sequential Circuits in Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals Presentation Outline Modeling Latches and Flip-Flops Blocking versus
More informationproblem maximum score 1 8pts 2 6pts 3 10pts 4 15pts 5 12pts 6 10pts 7 24pts 8 16pts 9 19pts Total 120pts
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 3/31/09 Name: ID number: Midterm Exam This is a closed-book,
More informationVHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language
VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language
More informationDigital Design (VIMIAA01) Introduction to the Verilog HDL
BUDAPEST UNIVERSITY OF TECHNOLOGY AND ECONOMICS FACULTY OF ELECTRICAL ENGINEERING AND INFORMATICS DEPARTMENT OF MEASUREMENT AND INFORMATION SYSTEMS Digital Design (VIMIAA01) Introduction to the Verilog
More informationGraduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date:
Design of Datapath Controllers and Sequential Logic Lecturer: Date: 2009.03.18 ACCESS IC LAB Sequential Circuit Model & Timing Parameters ACCESS IC LAB Combinational Logic Review Combinational logic circuits
More informationOutline. 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 informationLECTURE 4. Logic Design
LECTURE 4 Logic Design LOGIC DESIGN The language of the machine is binary that is, sequences of 1 s and 0 s. But why? At the hardware level, computers are streams of signals. These signals only have two
More informationA 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 informationSynthesis 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 informationChapter 10. case studies in sequential logic design
Chapter. case studies in sequential logic design This is the last chapter of this course. So far, we have designed several sequential systems. What is the general procedure? The most difficult part would
More informationComputer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog
Verilog Radek Pelánek and Šimon Řeřucha Contents 1 Computer Aided Design 2 Basic Syntax 3 Gate Level Modeling 4 Behavioral Modeling Computer Aided Design Hardware Description Languages (HDL) Verilog C
More informationVerilog 1 - Fundamentals
Verilog 1 - Fundamentals FA FA FA FA module adder( input [3:0] A, B, output cout, output [3:0] S ); wire c0, c1, c2; FA fa0( A[0], B[0], 1 b0, c0, S[0] ); FA fa1( A[1], B[1], c0, c1, S[1] ); FA fa2( A[2],
More informationVerilog 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 informationSystems Programming. Lecture 2 Review of Computer Architecture I
Systems Programming www.atomicrhubarb.com/systems Lecture 2 Review of Computer Architecture I In The Book Patt & Patel Chapter 1,2,3 (review) Outline Binary Bit Numbering Logical operations 2's complement
More informationL5: 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 informationEITF35: Introduction to Structured VLSI Design
EITF35: Introduction to Structured VLSI Design Part 1.1.2: Introduction (Digital VLSI Systems) Liang Liu liang.liu@eit.lth.se 1 Outline Why Digital? History & Roadmap Device Technology & Platforms System
More informationEPC6055 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 informationIntroduction to Verilog. Garrison W. Greenwood, Ph.D, P.E.
Introduction to Verilog Garrison W. Greenwood, Ph.D, P.E. November 11, 2002 1 Digital Design Flow Specification Functional Design Register Transfer Level Design Circuit Design Physical Layout Production
More informationVALLIAMMAI 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 informationUniversity 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 informationHardware Description Language VHDL (1) Introduction
Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for
More informationIntroduction to ICs and Transistor Fundamentals
Introduction to ICs and Transistor Fundamentals A Brief History 1958: First integrated circuit Flip-flop using two transistors Built by Jack Kilby at Texas Instruments 2003 Intel Pentium 4 mprocessor (55
More informationChapter 5 Registers & Counters
University of Wisconsin - Madison ECE/Comp Sci 352 Digital Systems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring 2002 Chapter 5 Registers & Counters Originals by: Charles R. Kime Modified for course
More informationECE 331: N0. Professor Andrew Mason Michigan State University. Opening Remarks
ECE 331: N0 ECE230 Review Professor Andrew Mason Michigan State University Spring 2013 1.1 Announcements Opening Remarks HW1 due next Mon Labs begin in week 4 No class next-next Mon MLK Day ECE230 Review
More informationOnline Verilog Resources
EECS 427 Discussion 6: Verilog HDL Reading: Many references EECS 427 F08 Discussion 6 1 Online Verilog Resources ASICs the book, Ch. 11: http://www.ge.infn.it/~pratolo/verilog/verilogtutorial.pdf it/ pratolo/verilog/verilogtutorial
More informationMODELING 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 informationTopics. 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 informationEECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.
Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function. 1.b. Show that a 2-to-1 MUX is universal (i.e. that any Boolean expression can be implemented with
More informationDigital Integrated Circuits
Digital Integrated Circuits Lecture 4 Jaeyong Chung System-on-Chips (SoC) Laboratory Incheon National University BCD TO EXCESS-3 CODE CONVERTER 0100 0101 +0011 +0011 0111 1000 LSB received first Chung
More informationa, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign
I hope you have completed Part 1 of the Experiment. This lecture leads you to Part 2 of the experiment and hopefully helps you with your progress to Part 2. It covers a number of topics: 1. How do we specify
More informationELCT 501: Digital System Design
ELCT 501: Digital System Lecture 4: CAD tools (Continued) Dr. Mohamed Abd El Ghany, Basic VHDL Concept Via an Example Problem: write VHDL code for 1-bit adder 4-bit adder 2 1-bit adder Inputs: A (1 bit)
More informationCS 261 Fall Mike Lam, Professor. Combinational Circuits
CS 261 Fall 2017 Mike Lam, Professor Combinational Circuits The final frontier Java programs running on Java VM C programs compiled on Linux Assembly / machine code on CPU + memory??? Switches and electric
More informationWriting 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 informationregister: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 informationDigital Integrated Circuits A Design Perspective. Jan M. Rabaey
Digital Integrated Circuits A Design Perspective Jan M. Rabaey Outline (approximate) Introduction and Motivation The VLSI Design Process Details of the MOS Transistor Device Fabrication Design Rules CMOS
More informationMicro transductors 08
Micro transductors 8 CMOS Basics Dr.-Ing. Frank Sill Department of Electrical Engineering, Federal University of Minas Gerais, Av. Antônio Carlos 6627, CEP: 327-, Belo Horizonte (MG), Brazil franksill@ufmg.br
More informationTopics. Midterm Finish Chapter 7
Lecture 9 Topics Midterm Finish Chapter 7 Xilinx FPGAs Chapter 7 Spartan 3E Architecture Source: Spartan-3E FPGA Family Datasheet CLB Configurable Logic Blocks Each CLB contains four slices Each slice
More informationCSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8
CSCB58 - Lab 3 Latches, Flip-flops, and Registers Learning Objectives The purpose of this exercise is to investigate the fundamental synchronous logic elements: latches, flip-flops, and registers. Prelab
More informationSequential Circuit Design: Principle
Sequential Circuit Design: Principle Chapter 8 1 Outline 1. Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4. Inference of basic memory elements
More informationCS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016
CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 2, 2016 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if
More informationCS6710 Tool Suite. Verilog is the Key Tool
CS6710 Tool Suite Verilog-XL Behavioral Verilog Your Library Cadence SOC Encounter Synopsys Synthesis Structural Verilog Circuit Layout CSI Verilog-XL AutoRouter Cadence Virtuoso Layout LVS Layout-XL Cadence
More informationAdvanced Digital Design Using FPGA. Dr. Shahrokh Abadi
Advanced Digital Design Using FPGA Dr. Shahrokh Abadi 1 Venue Computer Lab: Tuesdays 10 12 am (Fixed) Computer Lab: Wednesday 10-12 am (Every other odd weeks) Note: Due to some unpredicted problems with
More informationOUTLINE Introduction Power Components Dynamic Power Optimization Conclusions
OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions 04/15/14 1 Introduction: Low Power Technology Process Hardware Architecture Software Multi VTH Low-power circuits Parallelism
More information- 1 of 18 - The Verilog Hardware Description Language - A Behavioural View Overview. The Behavioural Model
The Verilog Hardware Description Language - A Behavioural View Overview In this lesson we will Introduce and explore the Verilog behavioural level model. Introduce the behavioural operators. Study the
More informationPAGE NO: EXP NO: 1A SIMULATION OF HALF ADDER AND FULL ADDER. DATE: AIM: To design, simulate and synthesize the Half adder and Full adder. TOOLS REQUIRED: SOFTWARE: XILINX ISE 9.1i ALGORITHM: 1. Start the
More informationECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016
ECE 353 Lab 4 Verilog Review Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 Recall What You Will Do Design and implement a serial MIDI receiver Hardware in
More informationAbi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University
Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.
More information