|
94 | 94 | assign _axi_arprot = 0; |
95 | 95 | assign _axi_arqos = 0; |
96 | 96 | assign _axi_aruser = 0; |
97 | | - reg [32-1:0] outstanding_wreq_count_0; |
| 97 | + reg [3-1:0] outstanding_wcount_0; |
98 | 98 | wire [32-1:0] _tmp_1; |
99 | 99 | assign _tmp_1 = _axi_awaddr; |
100 | 100 |
|
|
370 | 370 | _axi_araddr = 0; |
371 | 371 | _axi_arlen = 0; |
372 | 372 | _axi_arvalid = 0; |
373 | | - outstanding_wreq_count_0 = 0; |
| 373 | + outstanding_wcount_0 = 0; |
374 | 374 | read_fsm = read_fsm_init; |
375 | 375 | rsum = 0; |
376 | 376 | counter_27 = 0; |
|
398 | 398 |
|
399 | 399 | always @(posedge CLK) begin |
400 | 400 | if(RST) begin |
401 | | - outstanding_wreq_count_0 <= 0; |
| 401 | + outstanding_wcount_0 <= 0; |
402 | 402 | _axi_araddr <= 0; |
403 | 403 | _axi_arlen <= 0; |
404 | 404 | _axi_arvalid <= 0; |
|
444 | 444 | _axi_wlast <= 0; |
445 | 445 | last_32 <= 0; |
446 | 446 | end |
447 | | - if(_axi_wlast && _axi_wvalid && _axi_wready && !(_axi_bvalid && _axi_bready)) begin |
448 | | - outstanding_wreq_count_0 <= outstanding_wreq_count_0 + 1; |
| 447 | + if(_axi_wlast && _axi_wvalid && _axi_wready && !(_axi_bvalid && _axi_bready) && (outstanding_wcount_0 < 7)) begin |
| 448 | + outstanding_wcount_0 <= outstanding_wcount_0 + 1; |
449 | 449 | end |
450 | | - if(!(_axi_wlast && _axi_wvalid && _axi_wready) && (_axi_bvalid && _axi_bready) && (outstanding_wreq_count_0 > 0)) begin |
451 | | - outstanding_wreq_count_0 <= outstanding_wreq_count_0 - 1; |
| 450 | + if(!(_axi_wlast && _axi_wvalid && _axi_wready) && (_axi_bvalid && _axi_bready) && (outstanding_wcount_0 > 0)) begin |
| 451 | + outstanding_wcount_0 <= outstanding_wcount_0 - 1; |
452 | 452 | end |
453 | 453 | if((read_fsm == 0) && ((_axi_arready || !_axi_arvalid) && (counter_27 == 0))) begin |
454 | 454 | _axi_araddr <= 1024; |
|
489 | 489 | if(_axi_awvalid && !_axi_awready) begin |
490 | 490 | _axi_awvalid <= _axi_awvalid; |
491 | 491 | end |
492 | | - if((write_fsm == 1) && ((counter_29 > 0) && (_axi_wready || !_axi_wvalid) && (counter_29 > 0))) begin |
| 492 | + if((write_fsm == 1) && ((counter_29 > 0) && (outstanding_wcount_0 < 6) && (_axi_wready || !_axi_wvalid) && (counter_29 > 0))) begin |
493 | 493 | _axi_wdata <= wdata; |
494 | 494 | _axi_wvalid <= 1; |
495 | 495 | _axi_wlast <= 0; |
496 | 496 | _axi_wstrb <= { 4{ 1'd1 } }; |
497 | 497 | counter_29 <= counter_29 - 1; |
498 | 498 | end |
499 | | - if((write_fsm == 1) && ((counter_29 > 0) && (_axi_wready || !_axi_wvalid) && (counter_29 > 0)) && (counter_29 == 1)) begin |
| 499 | + if((write_fsm == 1) && ((counter_29 > 0) && (outstanding_wcount_0 < 6) && (_axi_wready || !_axi_wvalid) && (counter_29 > 0)) && (counter_29 == 1)) begin |
500 | 500 | _axi_wlast <= 1; |
501 | 501 | last_30 <= 1; |
502 | 502 | end |
|
519 | 519 | if(_axi_awvalid && !_axi_awready) begin |
520 | 520 | _axi_awvalid <= _axi_awvalid; |
521 | 521 | end |
522 | | - if((write_fsm == 3) && ((counter_31 > 0) && (_axi_wready || !_axi_wvalid) && (counter_31 > 0))) begin |
| 522 | + if((write_fsm == 3) && ((counter_31 > 0) && (outstanding_wcount_0 < 6) && (_axi_wready || !_axi_wvalid) && (counter_31 > 0))) begin |
523 | 523 | _axi_wdata <= wdata; |
524 | 524 | _axi_wvalid <= 1; |
525 | 525 | _axi_wlast <= 0; |
526 | 526 | _axi_wstrb <= { 4{ 1'd1 } }; |
527 | 527 | counter_31 <= counter_31 - 1; |
528 | 528 | end |
529 | | - if((write_fsm == 3) && ((counter_31 > 0) && (_axi_wready || !_axi_wvalid) && (counter_31 > 0)) && (counter_31 == 1)) begin |
| 529 | + if((write_fsm == 3) && ((counter_31 > 0) && (outstanding_wcount_0 < 6) && (_axi_wready || !_axi_wvalid) && (counter_31 > 0)) && (counter_31 == 1)) begin |
530 | 530 | _axi_wlast <= 1; |
531 | 531 | last_32 <= 1; |
532 | 532 | end |
|
603 | 603 | end |
604 | 604 | end |
605 | 605 | write_fsm_1: begin |
606 | | - if((counter_29 > 0) && (_axi_wready || !_axi_wvalid)) begin |
| 606 | + if((counter_29 > 0) && (outstanding_wcount_0 < 6) && (_axi_wready || !_axi_wvalid)) begin |
607 | 607 | wdata <= wdata + 1; |
608 | 608 | end |
609 | 609 | if(last_30) begin |
|
616 | 616 | end |
617 | 617 | end |
618 | 618 | write_fsm_3: begin |
619 | | - if((counter_31 > 0) && (_axi_wready || !_axi_wvalid)) begin |
| 619 | + if((counter_31 > 0) && (outstanding_wcount_0 < 6) && (_axi_wready || !_axi_wvalid)) begin |
620 | 620 | wdata <= wdata + 1; |
621 | 621 | end |
622 | 622 | if(last_32) begin |
|
0 commit comments