Documente Academic
Documente Profesional
Documente Cultură
Lab Experiment #1
Objective: To learn the design of combinational logic circuits in Verilog then simulating and
synthesizing using EDA tools
Problem 1: Write a Verilog code to implement Ripple Carry Adder.
The following points should be taken care of:
1. Use assign statement to design sub module half adder
2. Use gate primitives to design full adder using half adder
3. Construct the top module ripple carry adder using 1-bit full adder
Problem 2: Write a Verilog code to implement Multiplexer.
The following points should be taken care of:
1. Use ternary operator to design 2x1 Mux
2. Use initial and always statement to design 4x1 Mux
3. Use Gate Level Model to design 8x1 Mux using two 4x1 Mux and one 2x1 Mux
Problem 3: Write a Verilog code to implement Decoder
The following points should be taken care of:
1. Use dataflow model and behavioral model to design 3x8 decoder
2. Use 3x8 decoder to design 4x16 decoder
3. Use Generate Statement to design 4x16 decoder using 2x4 decoder.
Lab Experiment #2
Objective: To learn the design of sequential circuits in Verilog then simulating and synthesizing
using EDA tools
Problem 1: Write a Verilog code to implement Flip flops.
The following points should be taken care of:
1. Use If statement to design positive edge triggered SR flip
2. Use case statement to design negative edge triggered JK and T flip flop
3. Use Blocking and Non-Blocking statement to design negative edge triggered D flip flop
with asynchronous clear input.
Lab Experiment #3
Objective: To learn the design of VLSI multipliers in Verilog then simulating and synthesizing
using EDA tools
Problem 1: Write a Verilog code to implement Braun Array multiplier
The following points should be taken care of:
1. Use structural model to design Braun array multiplier
2. Use Generate Statement to design Braun array multiplier
Problem 2: Write a Verilog code to implement Baugh-Wooley Array multiplier.
The following points should be taken care of:
1. Use structural model to design Baugh-Wooley array multiplier
2. Baugh-Wooley parametrized multiplier using Generate Conditional
Lab Experiment #4
Objective: To learn the design of Multiply-Accumulate circuits in Verilog then simulating and
synthesizing using EDA tools
Problem 1: Write a Verilog code to implement unsigned MAC Unit using data flow model
Problem 2 : Implement MAC Unit using structural model
Lab Experiment #5
Objective: To learn the design of Digital Filter in Verilog then simulating and synthesizing using
EDA tools
Problem 1: Write a Verilog code to implement N order FIR filter. Use parameter statement to
define the filter coefficients.
Lab Experiment #6
Objective: To learn the design of FSM for any application in Verilog then simulating and
synthesizing using EDA tools
Problem 1: Implement Sequence Recognizer for detecting three successive 1s using Verilog
code
Lab Experiment #7
Objective: To learn the design of Microprocessor parts in Verilog then simulating and
synthesizing using EDA tools
Problem 1: Write a Verilog code to implement General Purpose Register block that has 8 eightbit register which are used for data manipulation.
Problem 2: Write a Verilog code to implement ALU block that all of the arithmetic operations.
The following points should be taken care of:
1. Operation performed in ALU are addition, subtraction, multiplication, logical AND and
OR, left and right logical shifts, left and right arithmetic shifts, bitwise complement, and
negation.
2. The output is only 8 bits, except for the multiply, which is 16 bits. The zero flag is
defined for every operation: if the result is all zeros, the flag is set. Likewise, the negative
flag is set whenever the highest bit of the result is a 1, which indicates a negative number
in the two's complement system. The behavior and meaning of the carry flag is dependent
on the operation. For add and subtract, it indicates a carry out or borrow in; for shifts, it
indicates the bit that was shifted out.