Question: Objective: To implement a Verilog gate level model for 3 2 - bit and 6 4 - bit Ripple Carry Adders. Outcome: Gate level implementation

Objective:
To implement a Verilog gate level model for 32-bit and 64-bit Ripple Carry Adders.
Outcome:
Gate level implementation for the following components.
TWOSCOMP64
TWOSCOMP32
Instruction:
Continue with your Modelsim Project03 as in Lab Assignment 02
Complete gate level description of following components.
RC_ADD_SUB_64 in rc_add_sub_32.v file
Try to use generate block in a loop this time.
TWOSCOMP32 in logic.v file
TWOSCOMP64 in logic.v file
Compile entire Project03 and simulate following modules in ModelSim simulator.
TWOSCOMP32_TB
TWOSCOMP64_TB
Observe corresponding outcomes on waveform windows and fix any issue.
Each testbench will generate corresponding output file.
OUTPUT/twoscomp32_tb.out
OUTPUT/twoscomp64_tb.out
This should match with corresponding golden output file in CS147-Project03/GOLDEN/ directory.
twoscomp32_tb.out.golden
twoscomp64_tb.out.golden
Add more testing in these testbenches to make sure outcome is correct.
// Name: rc_add_sub_32.v
// Module: RC_ADD_SUB_32
//
// Output: Y : Output 32-bit
// CO : Carry Out
// Input: A : 32-bit input
// B : 32-bit input
// SnA : if SnA=0 it is add, subtraction otherwise
//
// Notes: 32-bit adder / subtractor implementaiton.
//
"include "prj_definition.v"
module RC_ADD_SUB_64(Y, CO, A, B, SnA);
// output list
output [63:0] Y:
output CO:
// input list
input [63:0] A:
input [63:0] B;
input SnA:
// TBD
\
endmodule
module RC_ADD_SUB_32(Y, CO, A, B, SnA):
// output list
output ["DATA_INDEX_LIMIT:0] Y:
output CO:
// input list
input [`DATA_INDEX_LIMIT:0] A;
input [`DATA_INDEX_LIMIT:0] B;
input SnA;
// TBD
endmodule
// Name: logic.v
// Module:
// Input:
// Output:
//
// Notes: Common definitions
//
// Name: logic.v
// Module:
// Input:
// Output:
//
// Notes: Common definitions
//64-bit two's complement
module TWOSCOMP64(Y,A);
//output list
output [63:0] Y;
//input list
input [63:0] A;
// TBD
endmodule
//32-bit two's complement
module TWOSCOMP32(Y,A);
//output list
output [31:0] Y;
//input list
input [31:0] A;
// TBD
endmodule
//32-bit registere +ve edge, Reset on RESET=0
module REG32(Q, D, LOAD, CLK, RESET);
output [31:0] Q;
input CLK, LOAD;
input [31:0] D;
input RESET;
// TBD
endmodule
//1 bit re
Objective: To implement a Verilog gate level

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!