|
300 | 300 | assign _saxi_bready = 1;
|
301 | 301 | assign _saxi_arcache = 3;
|
302 | 302 | assign _saxi_arprot = 0;
|
303 |
| - reg [32-1:0] outstanding_wreq_count_9; |
| 303 | + reg [3-1:0] outstanding_wcount_9; |
304 | 304 | wire [32-1:0] _tmp_10;
|
305 | 305 | assign _tmp_10 = _saxi_awaddr;
|
306 | 306 |
|
|
467 | 467 | _saxi_wvalid = 0;
|
468 | 468 | _saxi_araddr = 0;
|
469 | 469 | _saxi_arvalid = 0;
|
470 |
| - outstanding_wreq_count_9 = 0; |
| 470 | + outstanding_wcount_9 = 0; |
471 | 471 | counter = 0;
|
472 | 472 | th_ctrl = th_ctrl_init;
|
473 | 473 | _th_ctrl_i_11 = 0;
|
|
755 | 755 |
|
756 | 756 | always @(posedge uut_CLK) begin
|
757 | 757 | if(uut_RST) begin
|
758 |
| - outstanding_wreq_count_9 <= 0; |
| 758 | + outstanding_wcount_9 <= 0; |
759 | 759 | _saxi_awaddr <= 0;
|
760 | 760 | _saxi_awvalid <= 0;
|
761 | 761 | __saxi_cond_0_1 <= 0;
|
|
804 | 804 | if(__saxi_cond_9_1) begin
|
805 | 805 | _saxi_arvalid <= 0;
|
806 | 806 | end
|
807 |
| - if(_saxi_wvalid && _saxi_wready && !(_saxi_bvalid && _saxi_bready)) begin |
808 |
| - outstanding_wreq_count_9 <= outstanding_wreq_count_9 + 1; |
| 807 | + if(_saxi_wvalid && _saxi_wready && !(_saxi_bvalid && _saxi_bready) && (outstanding_wcount_9 < 7)) begin |
| 808 | + outstanding_wcount_9 <= outstanding_wcount_9 + 1; |
809 | 809 | end
|
810 |
| - if(!(_saxi_wvalid && _saxi_wready) && (_saxi_bvalid && _saxi_bready) && (outstanding_wreq_count_9 > 0)) begin |
811 |
| - outstanding_wreq_count_9 <= outstanding_wreq_count_9 - 1; |
| 810 | + if(!(_saxi_wvalid && _saxi_wready) && (_saxi_bvalid && _saxi_bready) && (outstanding_wcount_9 > 0)) begin |
| 811 | + outstanding_wcount_9 <= outstanding_wcount_9 - 1; |
812 | 812 | end
|
813 | 813 | if((th_ctrl == 6) && (_saxi_awready || !_saxi_awvalid)) begin
|
814 | 814 | _saxi_awaddr <= _th_ctrl_awaddr_12;
|
|
818 | 818 | if(_saxi_awvalid && !_saxi_awready) begin
|
819 | 819 | _saxi_awvalid <= _saxi_awvalid;
|
820 | 820 | end
|
821 |
| - if((th_ctrl == 7) && (_saxi_wready || !_saxi_wvalid)) begin |
| 821 | + if((th_ctrl == 7) && ((outstanding_wcount_9 < 6) && (_saxi_wready || !_saxi_wvalid))) begin |
822 | 822 | _saxi_wdata <= 4096;
|
823 | 823 | _saxi_wvalid <= 1;
|
824 | 824 | _saxi_wstrb <= { 4{ 1'd1 } };
|
|
835 | 835 | if(_saxi_awvalid && !_saxi_awready) begin
|
836 | 836 | _saxi_awvalid <= _saxi_awvalid;
|
837 | 837 | end
|
838 |
| - if((th_ctrl == 12) && (_saxi_wready || !_saxi_wvalid)) begin |
| 838 | + if((th_ctrl == 12) && ((outstanding_wcount_9 < 6) && (_saxi_wready || !_saxi_wvalid))) begin |
839 | 839 | _saxi_wdata <= _th_ctrl_src_offset_13;
|
840 | 840 | _saxi_wvalid <= 1;
|
841 | 841 | _saxi_wstrb <= { 4{ 1'd1 } };
|
|
852 | 852 | if(_saxi_awvalid && !_saxi_awready) begin
|
853 | 853 | _saxi_awvalid <= _saxi_awvalid;
|
854 | 854 | end
|
855 |
| - if((th_ctrl == 17) && (_saxi_wready || !_saxi_wvalid)) begin |
| 855 | + if((th_ctrl == 17) && ((outstanding_wcount_9 < 6) && (_saxi_wready || !_saxi_wvalid))) begin |
856 | 856 | _saxi_wdata <= _th_ctrl_dst_offset_14;
|
857 | 857 | _saxi_wvalid <= 1;
|
858 | 858 | _saxi_wstrb <= { 4{ 1'd1 } };
|
|
869 | 869 | if(_saxi_awvalid && !_saxi_awready) begin
|
870 | 870 | _saxi_awvalid <= _saxi_awvalid;
|
871 | 871 | end
|
872 |
| - if((th_ctrl == 22) && (_saxi_wready || !_saxi_wvalid)) begin |
| 872 | + if((th_ctrl == 22) && ((outstanding_wcount_9 < 6) && (_saxi_wready || !_saxi_wvalid))) begin |
873 | 873 | _saxi_wdata <= 1;
|
874 | 874 | _saxi_wvalid <= 1;
|
875 | 875 | _saxi_wstrb <= { 4{ 1'd1 } };
|
|
991 | 991 | end
|
992 | 992 | end
|
993 | 993 | th_ctrl_7: begin
|
994 |
| - if(_saxi_wready || !_saxi_wvalid) begin |
| 994 | + if((outstanding_wcount_9 < 6) && (_saxi_wready || !_saxi_wvalid)) begin |
995 | 995 | th_ctrl <= th_ctrl_8;
|
996 | 996 | end
|
997 | 997 | end
|
|
1013 | 1013 | end
|
1014 | 1014 | end
|
1015 | 1015 | th_ctrl_12: begin
|
1016 |
| - if(_saxi_wready || !_saxi_wvalid) begin |
| 1016 | + if((outstanding_wcount_9 < 6) && (_saxi_wready || !_saxi_wvalid)) begin |
1017 | 1017 | th_ctrl <= th_ctrl_13;
|
1018 | 1018 | end
|
1019 | 1019 | end
|
|
1035 | 1035 | end
|
1036 | 1036 | end
|
1037 | 1037 | th_ctrl_17: begin
|
1038 |
| - if(_saxi_wready || !_saxi_wvalid) begin |
| 1038 | + if((outstanding_wcount_9 < 6) && (_saxi_wready || !_saxi_wvalid)) begin |
1039 | 1039 | th_ctrl <= th_ctrl_18;
|
1040 | 1040 | end
|
1041 | 1041 | end
|
|
1057 | 1057 | end
|
1058 | 1058 | end
|
1059 | 1059 | th_ctrl_22: begin
|
1060 |
| - if(_saxi_wready || !_saxi_wvalid) begin |
| 1060 | + if((outstanding_wcount_9 < 6) && (_saxi_wready || !_saxi_wvalid)) begin |
1061 | 1061 | th_ctrl <= th_ctrl_23;
|
1062 | 1062 | end
|
1063 | 1063 | end
|
|
1229 | 1229 | assign maxi_arprot = 0;
|
1230 | 1230 | assign maxi_arqos = 0;
|
1231 | 1231 | assign maxi_aruser = 0;
|
1232 |
| - reg [32-1:0] outstanding_wreq_count_0; |
| 1232 | + reg [3-1:0] outstanding_wcount_0; |
1233 | 1233 | reg _maxi_read_start;
|
1234 | 1234 | reg [8-1:0] _maxi_read_op_sel;
|
1235 | 1235 | reg [32-1:0] _maxi_read_local_addr;
|
|
1411 | 1411 | wire [32-1:0] _dataflow__variable_odata_1;
|
1412 | 1412 | wire _dataflow__variable_ovalid_1;
|
1413 | 1413 | wire _dataflow__variable_oready_1;
|
1414 |
| - assign _dataflow__variable_oready_1 = (_maxi_write_fsm == 3) && (_maxi_write_op_sel == 1) && ((counter_32 > 0) && (maxi_wready || !maxi_wvalid)); |
| 1414 | + assign _dataflow__variable_oready_1 = (_maxi_write_fsm == 3) && (_maxi_write_op_sel == 1) && ((counter_32 > 0) && (outstanding_wcount_0 < 6) && (maxi_wready || !maxi_wvalid)); |
1415 | 1415 | reg _maxi_cond_2_1;
|
1416 | 1416 | assign _maxi_write_data_done = (last_33 && maxi_wvalid && maxi_wready)? 1 : 0;
|
1417 | 1417 | reg axim_flag_34;
|
|
1491 | 1491 |
|
1492 | 1492 | always @(posedge CLK) begin
|
1493 | 1493 | if(RST) begin
|
1494 |
| - outstanding_wreq_count_0 <= 0; |
| 1494 | + outstanding_wcount_0 <= 0; |
1495 | 1495 | _maxi_read_start <= 0;
|
1496 | 1496 | _maxi_write_start <= 0;
|
1497 | 1497 | _maxi_ram_a_0_read_start <= 0;
|
|
1546 | 1546 | maxi_wlast <= 0;
|
1547 | 1547 | last_33 <= 0;
|
1548 | 1548 | end
|
1549 |
| - if(maxi_wlast && maxi_wvalid && maxi_wready && !(maxi_bvalid && maxi_bready)) begin |
1550 |
| - outstanding_wreq_count_0 <= outstanding_wreq_count_0 + 1; |
| 1549 | + if(maxi_wlast && maxi_wvalid && maxi_wready && !(maxi_bvalid && maxi_bready) && (outstanding_wcount_0 < 7)) begin |
| 1550 | + outstanding_wcount_0 <= outstanding_wcount_0 + 1; |
1551 | 1551 | end
|
1552 |
| - if(!(maxi_wlast && maxi_wvalid && maxi_wready) && (maxi_bvalid && maxi_bready) && (outstanding_wreq_count_0 > 0)) begin |
1553 |
| - outstanding_wreq_count_0 <= outstanding_wreq_count_0 - 1; |
| 1552 | + if(!(maxi_wlast && maxi_wvalid && maxi_wready) && (maxi_bvalid && maxi_bready) && (outstanding_wcount_0 > 0)) begin |
| 1553 | + outstanding_wcount_0 <= outstanding_wcount_0 - 1; |
1554 | 1554 | end
|
1555 | 1555 | _maxi_read_start <= 0;
|
1556 | 1556 | _maxi_write_start <= 0;
|
|
1623 | 1623 | if(maxi_awvalid && !maxi_awready) begin
|
1624 | 1624 | maxi_awvalid <= maxi_awvalid;
|
1625 | 1625 | end
|
1626 |
| - if(_dataflow__variable_ovalid_1 && ((_maxi_write_fsm == 3) && (_maxi_write_op_sel == 1) && ((counter_32 > 0) && (maxi_wready || !maxi_wvalid))) && ((counter_32 > 0) && (maxi_wready || !maxi_wvalid) && (counter_32 > 0))) begin |
| 1626 | + if(_dataflow__variable_ovalid_1 && ((_maxi_write_fsm == 3) && (_maxi_write_op_sel == 1) && ((counter_32 > 0) && (outstanding_wcount_0 < 6) && (maxi_wready || !maxi_wvalid))) && ((counter_32 > 0) && (outstanding_wcount_0 < 6) && (maxi_wready || !maxi_wvalid) && (counter_32 > 0))) begin |
1627 | 1627 | maxi_wdata <= _dataflow__variable_odata_1;
|
1628 | 1628 | maxi_wvalid <= 1;
|
1629 | 1629 | maxi_wlast <= 0;
|
1630 | 1630 | maxi_wstrb <= { 4{ 1'd1 } };
|
1631 | 1631 | counter_32 <= counter_32 - 1;
|
1632 | 1632 | end
|
1633 |
| - if(_dataflow__variable_ovalid_1 && ((_maxi_write_fsm == 3) && (_maxi_write_op_sel == 1) && ((counter_32 > 0) && (maxi_wready || !maxi_wvalid))) && ((counter_32 > 0) && (maxi_wready || !maxi_wvalid) && (counter_32 > 0)) && (counter_32 == 1)) begin |
| 1633 | + if(_dataflow__variable_ovalid_1 && ((_maxi_write_fsm == 3) && (_maxi_write_op_sel == 1) && ((counter_32 > 0) && (outstanding_wcount_0 < 6) && (maxi_wready || !maxi_wvalid))) && ((counter_32 > 0) && (outstanding_wcount_0 < 6) && (maxi_wready || !maxi_wvalid) && (counter_32 > 0)) && (counter_32 == 1)) begin |
1634 | 1634 | maxi_wlast <= 1;
|
1635 | 1635 | last_33 <= 1;
|
1636 | 1636 | end
|
|
2045 | 2045 | th_memcpy <= th_memcpy_23;
|
2046 | 2046 | end
|
2047 | 2047 | th_memcpy_23: begin
|
2048 |
| - if(_maxi_write_idle && (outstanding_wreq_count_0 == 0)) begin |
| 2048 | + if(_maxi_write_idle && (outstanding_wcount_0 == 0)) begin |
2049 | 2049 | th_memcpy <= th_memcpy_24;
|
2050 | 2050 | end
|
2051 | 2051 | end
|
|
0 commit comments