|
406 | 406 | input ra |
407 | 407 | ); |
408 | 408 |
|
| 409 | + assign rx = ((_pipe_ready_0 || (!_pipe_valid_0)) && (_pipe_ready_1 || (!_pipe_valid_1))); |
| 410 | + assign ry = ((_pipe_ready_0 || (!_pipe_valid_0)) && (_pipe_ready_1 || (!_pipe_valid_1))); |
409 | 411 | reg [32-1:0] _pipe_data_0; |
410 | 412 | reg _pipe_valid_0; |
411 | 413 | wire _pipe_ready_0; |
412 | | - assign rx = ((_pipe_ready_0 || (!_pipe_valid_0)) && (_pipe_ready_1 || (!_pipe_valid_1))); |
413 | | - assign ry = ((_pipe_ready_0 || (!_pipe_valid_0)) && (_pipe_ready_1 || (!_pipe_valid_1))); |
| 414 | + assign _pipe_ready_0 = (_pipe_ready_2 || (!_pipe_valid_2)); |
414 | 415 | reg [32-1:0] _pipe_data_1; |
415 | 416 | reg _pipe_valid_1; |
416 | 417 | wire _pipe_ready_1; |
417 | | - assign z = _pipe_data_0; |
418 | | - assign vz = _pipe_valid_0; |
419 | | - assign _pipe_ready_0 = rz; |
420 | | - assign a = _pipe_data_1; |
421 | | - assign va = _pipe_valid_1; |
422 | | - assign _pipe_ready_1 = ra; |
| 418 | + assign _pipe_ready_1 = (_pipe_ready_3 || (!_pipe_valid_3)); |
| 419 | + reg [32-1:0] _pipe_data_2; |
| 420 | + reg _pipe_valid_2; |
| 421 | + wire _pipe_ready_2; |
| 422 | + assign _pipe_ready_2 = rz; |
| 423 | + assign z = _pipe_data_2; |
| 424 | + assign vz = _pipe_valid_2; |
| 425 | + reg [32-1:0] _pipe_data_3; |
| 426 | + reg _pipe_valid_3; |
| 427 | + wire _pipe_ready_3; |
| 428 | + assign _pipe_ready_3 = ra; |
| 429 | + assign a = _pipe_data_3; |
| 430 | + assign va = _pipe_valid_3; |
423 | 431 |
|
424 | 432 | always @(posedge CLK) begin |
425 | 433 | if(RST) begin |
426 | 434 | _pipe_data_0 <= 0; |
427 | 435 | _pipe_valid_0 <= 0; |
428 | 436 | _pipe_data_1 <= 0; |
429 | 437 | _pipe_valid_1 <= 0; |
| 438 | + _pipe_data_2 <= 0; |
| 439 | + _pipe_valid_2 <= 0; |
| 440 | + _pipe_data_3 <= 0; |
| 441 | + _pipe_valid_3 <= 0; |
430 | 442 | end else begin |
431 | 443 | if((((vx && rx) && (vy && ry)) && (_pipe_ready_0 || (!_pipe_valid_0)))) begin |
432 | 444 | _pipe_data_0 <= (x + y); |
|
440 | 452 | if((_pipe_ready_1 || (!_pipe_valid_1))) begin |
441 | 453 | _pipe_valid_1 <= ((vy && ry) && (vx && rx)); |
442 | 454 | end |
| 455 | + if(((_pipe_valid_0 && _pipe_ready_0) && (_pipe_ready_2 || (!_pipe_valid_2)))) begin |
| 456 | + _pipe_data_2 <= _pipe_data_0; |
| 457 | + end |
| 458 | + if((_pipe_ready_2 || (!_pipe_valid_2))) begin |
| 459 | + _pipe_valid_2 <= (_pipe_valid_0 && _pipe_ready_0); |
| 460 | + end |
| 461 | + if(((_pipe_valid_1 && _pipe_ready_1) && (_pipe_ready_3 || (!_pipe_valid_3)))) begin |
| 462 | + _pipe_data_3 <= _pipe_data_1; |
| 463 | + end |
| 464 | + if((_pipe_ready_3 || (!_pipe_valid_3))) begin |
| 465 | + _pipe_valid_3 <= (_pipe_valid_1 && _pipe_ready_1); |
| 466 | + end |
443 | 467 | end |
444 | 468 | end |
445 | 469 |
|
|
0 commit comments