Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module bcd_adder #(parameter k = 3)
- (
- input [4*k - 1:0] x, y,
- input ci,
- output [4*k - 1:0] z,
- output co
- );
- wire [k-1:0] cip, cop;
- bcd_add tadd[k - 1:0](
- .x(x),
- .y(y),
- .ci(cip),
- .z(z),
- .co(cop)
- );
- assign cip[0] = ci;
- assign cip[k-1:1] = cop[k-2:0];
- assign co = cop[k-1];
- endmodule
- module bcd_adder_tb
- (
- output reg [11:0] x, y,
- output reg ci,
- output [11:0] z,
- output co
- );
- bcd_adder #(.k(3))
- test
- (
- .x(x),
- .y(y),
- .ci(ci),
- .z(z),
- .co(co)
- );
- integer i, j, ct = 0;
- initial begin
- for(i = 0; i < 4096; i = i+1)
- if(ct == 10)
- begin
- i = i+5;
- ct = 0;
- end
- else
- begin
- #100 ct = ct + 1;
- $display("i = %h",i);
- end
- end
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement