| module add32(sum, cOut, clock, a, b, cIn); |
| |
| input clock; |
| input a, b, cIn; |
| output sum, cOut; |
| |
| reg [31:0] a, b; |
| reg cIn; |
| wire [31:0] sum; |
| wire cOut; |
| |
| always @(posedge clock) |
| //{cOut, sum} = a + b + cIn; |
| assign sum = a + b + cIn; |
| |
| endmodule |
| |
| |
| ////////////////////////// |
| |
| module main; |
| |
| reg CLOCK; |
| reg [31:0] A, B; |
| reg C_IN; |
| reg [31:0] SUM; |
| wire C_OUT; |
| |
| |
| add32 myAdder(SUM, C_OUT, CLOCK, A, B, C_OUT); |
| |
| always #1 CLOCK = ~ CLOCK; |
| |
| initial |
| begin |
| $monitor($time,, " CLOCK=%d, A=%x, B=%x, C_IN=%d -- SUM=%x, C_OUT=%d", |
| CLOCK, A, B, C_IN, SUM, C_OUT); |
| end |
| |
| initial |
| begin |
| CLOCK = 0; |
| A = 32'h00000001; |
| B = 32'h00000002; |
| C_IN = 1'b0; |
| #20 $finish; |
| end |
| |
| endmodule |
| |