5 | reg num | Lane 0 | Lane 1 | Lane 2 | Lane 3 |
6 | ------- | ------ | ------ | ------ | ------ |
7 | r0 | (31.0) | (31.0) | (31.0) | (31.0) |
8 | r1 | (31.0) | (31.0) | (31.0) | (31.0) |
9 | r2 | (31.0) | (31.0) | (31.0) | (31.0) |
13 /* XLEN and N are "baked-in" to the hardware */
16 /* note that N cannot be greater than XLEN */
19 register x[N][32][XLEN];
21 function op_add(rd, rs1, rs2) {
22 /* note that this is ADD, not PADD */
26 x[i][rd] <= x[i][rs1] + x[i][rs2];
28 /* note that "<=" is the Verilog non-blocking assignment operator */