| module forloops01 (input clk, a, b, output reg [3:0] p, q, x, y); | |
| integer k; | |
| always @(posedge clk) begin | |
| for (k=0; k<2; k=k+1) | |
| p[2*k +: 2] = {a, b} ^ {2{k}}; | |
| x <= k + {a, b}; | |
| end | |
| always @* begin | |
| for (k=0; k<4; k=k+1) | |
| q[k] = {~a, ~b, a, b} >> k[1:0]; | |
| y = k - {a, b}; | |
| end | |
| endmodule | |
| module forloops02 (input clk, a, b, output reg [3:0] q, x, output [3:0] y); | |
| integer k; | |
| always @* begin | |
| for (k=0; k<4; k=k+1) | |
| q[k] = {~a, ~b, a, b} >> k[1:0]; | |
| end | |
| always @* begin | |
| x = k + {a, b}; | |
| end | |
| assign y = k - {a, b}; | |
| endmodule |