Download presentation

Presentation is loading. Please wait.

Published byEdward Roling Modified over 2 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∑

15
Derivation of Carry Out (ES112 Slides) Question: What primitive best implements C o ? Inputs: A, B Outputs: C o =A∙B BACoCo

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

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google