Professional Documents
Culture Documents
F (A, B, C) A'BC' + A'BC+A' B' C'+ABC in SPO and POS Forms?: //casex Example
F (A, B, C) A'BC' + A'BC+A' B' C'+ABC in SPO and POS Forms?: //casex Example
NOTE :
1. Assignments to be submitted with codes and simulation snapshots as applicable in a
document form (ms-word template shared).
2. Last date for submission: By 1 week post the completion of Internship.
3. Course certificate shall be provided upon submission of assignments and minimum
scoring of 70% and above.
1. Compile, remove the syntax errors and determine the output for the following Verilog
code?
//casex example
module casex_example();
reg [3:0] opcode;
reg [1:0] a,b c;
reg [1:0] out;
always @ (opcode a or b or c)
casex(opcode)
4'b1zzx : begin // Don't care 2:0 bits
out = a;$display("@%0dns 4'b1zzx is selected, opcode
%b",$time,opcode); end
4'b01?? : begin // bit 1:0 is don't care
out = b; $display("@%0dns 4'b01?? is selected, opcode
%b",$time,opcode); end
4'b001? : begin // bit 0 is don't care
out = c; $display("@%0dns 4'b001? is selected, opcode
%b",$time,opcode); end
default : begin
$display("@%0dns default is selected, opcode %b,$time,opcode); end
endcase
CONFIDENTIAL
Excel VLSI Technologies and/or Entuple Technologies
Session 06: Design and verification of Combinational circuits
1. Write Verilog codes for latch and a D flip flop and verify?
2. Write Verilog code for T flip flop, JK flip flop?
3. Develop Verilog code for 4 bit synchronous shift register? use clock frequency of 100 Mhz
in test bench?
4. Design mod 24 counter and Verify?
5. Develop Verilog code for divide by 4 clock output?
1. Calculate the max frequency of the circuit with 2 flip flops connected back to back with a
combinational circuit between flip flops with following timings given.
a. flip flop 1 - delay - 2 ns,
b. combinational circuit delay - 4 ns
c. setup time of flip flop 1 - 2 ns
d. setup time of flip flop 2 - 2 ns
e. flip flop 2 delay - 2 ns
2. Write a Verilog code for double synchronizer? and simulate?
Projects :
1. State machine design- Mandatory
2. Dual Port Memory design- Mandatory
3. Serial Adder design- Mandatory
4. FIFO Design and Verification - Mandatory
5. APB Memory design - Optional
1. Design a mealy machine and develop Verilog code for checking the sequence “1011”
overlapping sequence?
2. Design and Verify 256x8 synchronous Memory as shown below?
addr_a[7:0] addr_b[7:0]
datain_a[7:0] datain_b[7:0]
dataout_a[7:0] dataout_b[7:0]
Dual Port Ram (256x8)
write_a write_b
read_a read_b
clk_a clk_b
CONFIDENTIAL
Excel VLSI Technologies and/or Entuple Technologies
3. Design and Verify a 4 bit serial adder as shown below?
(Refer this site for more information https://www.isabekov.pro/four-bit-serial-adder-
subtractor/)
4. Design and Verify 16x8 asynchronous FIFO as below? (To know more about FIFO – Refer
http://www.sunburst-design.com/papers/CummingsSNUG2002SJ_FIFO1.pdf)
reset
wdata[7:0] rdata[7:0]
w_enable r_enabl
e
wclk rclk
full_flag empty_flag
async_fifo
(16x8)
5. Design RTL for APB protocol based memory (1kx32) and develop test bench to verify?
(Refer APB specification for more information – https://developer.arm.com/docs/ihi0024/c)
APB_MEMORY (DUT)
PCLK
PRESETn
PSEL
PADDR[9:0] APB
Slave 1Kx32
PENABLE state Memory
machine
PWRITE
PREADY
PWDATA[7:0]
PRDATA[7:0]
CONFIDENTIAL
Excel VLSI Technologies and/or Entuple Technologies