Download presentation
Presentation is loading. Please wait.
Published byEdward Roling Modified over 10 years ago
1
Verilog Section 3.10 Section 4.5
2
Keywords Keywords are predefined lowercase identifiers that define the language constructs – Key example of keywords: module, endmodule, input, output, and wire.
3
assign The assignment is said to be sensitive to the variables in the RHS expression because anytime a variable in the RHS changes during the simulation, the RHS expression is reevaluated and the result is used to update the LHS.
4
Semicolon Each statement must end with a semicolon (;)
5
Bitwise Logic Operation Bitwise means 1 bit at a time Bitwise logic operatorVerilog ANDa&b ORa|b XORa^b INVERT~a NAND~(a&b) NOR~(a|b) XNOR!(a^b)
6
wire You can think of a wire as a wire in a circuit where actual voltages Could be measured.
7
Wire example Use & for AND operation Use tilda (~) for the INVERT operation Use | for the OR operation
8
Waveform
9
Using Verilog Primitives Verilog also has keywords such as and or and not. The output of a primitive must be listed first.
10
Gate Delays In Verilog, the propagation delay of a gate is specified in terms of time units and is specified by the symbol #. `timescale 1ns/100ps – The first number specifies the unit of measurement for time delays. – The second number specifies the precisions for which the delays are rounded off.
11
Gate Delay E is not defined until after 1 ns.
12
Gate Delay E is not defined until 1 ns. W is not defined until 2 ns. This means that D is not defined until 3 ns.
13
Binary Addition Example
14
Derivation of ∑ (ES112 Slides) BA∑ 000 101 011 110
15
Derivation of Carry Out (ES112 Slides) Question: What primitive best implements C o ? Inputs: A, B Outputs: C o =A∙B BACoCo 000 100 010 111
16
Implementation of a Half-Adder
17
Limitation of a Half Adder A half-adder does not account for carry-in.
18
Truth Table for a Full Adder carry-in
19
Karnaugh Map For the Sum Bit (ES112 Review)
20
Karnaugh Map For the Carry-Out Bit (ES112 Review)
21
Implementation of a Full Adder (carry-in)
22
Schematic of a Full Adder Half-adder(not including the bubble) Half-adder
23
Build a Verilog Representation of a Full Adder Circuit Build a half adder circuit Build a test bench for the adder circuit Assemble a full adder circuit Build a test bench circuit to test the full –adder Write the code to implement the adder circuit on FPGA
24
Build a Half-Adder Circuit (Figure 4.5)
25
Build a Test Bench in Verilog Ideas: (page 112 of the textbook) 1.reg 2.Initial statement 3.Assign value to a single bit 4.$finish 1’b0=one binary digit with a value of 0 1’b1=one binary digit with a value of 1
26
Initial, $finish inital: keyword used with a set of statements that begin executing when simulation is initialized. $finish: specifies the termination of simulation.
27
Block statement A block statement consists of several statements that are executed in sequence from top to bottom.
28
Build a Full-Adder Circuit w1 w2w3 M1M2
29
Full-Adder Top Level Circuit
30
Build a FPGA Top Level Circuit (x) (y) (z)(s) (c) See gates2.pdf (available from the course website) for reference
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.