Question: The aim of this task is to implement a Carry - Lookahead Adder ( CLA ) in SystemVerilog. The CLA is to add two n
The aim of this task is to implement a CarryLookahead Adder CLA in SystemVerilog. The CLA is to add two n bit numbers together. It consists of blocks for k columns each so that n k
Except for the testbench, it is not allowed to use addition operators, comparison operators or similar, use only operators from Boolean algebra Boolean reduction operators are allowed
Note: You can also receive points for later parts of the task if you were unable to solve previous parts.
A CLA block for k columns is constructed as follows from the blocks RCA, GP and CARRY:
Now implement the parameterized SystemVerilog module clablock for a kcolumn block of the CLA. Use instances of the modules carry, gp and rca. An implementation of rca is already provided here, you only need to instantiate it
Note: You can compile and test your code with the following command:
Windows: simbat clablock, Otherwise: simsh clablock
Note: If you do not solve this task, you can use clablockfiller.sv as an implementation of clablock for the following tasks. To do this, copy it to clablock.sv This implementation is correct, but uses addition operators internally and is therefore not a valid solution for this subtask. this subtask.'timescale ns ns
module clablock
#parameter Number of columns per CLA block
input logic : Operand
input logic : B Operand B
input logic CIN CarryIn
output logic K: SUM, Sum
output logic COUT; CarryOut
endmodule
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
