mirror of
https://github.com/fpganinja/taxi.git
synced 2025-12-09 00:48:40 -08:00
pcie: Fix some corner cases in PCIe US AXI lite master
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -380,7 +380,7 @@ always_comb begin
|
|||||||
m_axil_bready_next = 1'b1;
|
m_axil_bready_next = 1'b1;
|
||||||
s_axis_cq_tready_next = 1'b0;
|
s_axis_cq_tready_next = 1'b0;
|
||||||
state_next = STATE_WRITE_2;
|
state_next = STATE_WRITE_2;
|
||||||
end else if (AXIS_PCIE_DATA_W < 256 && dword_count_next == 11'd1) begin
|
end else if (AXIS_PCIE_DATA_W < 256 && !s_axis_cq.tlast && dword_count_next == 11'd1) begin
|
||||||
s_axis_cq_tready_next = 1'b1;
|
s_axis_cq_tready_next = 1'b1;
|
||||||
state_next = STATE_WRITE_1;
|
state_next = STATE_WRITE_1;
|
||||||
end else begin
|
end else begin
|
||||||
@@ -485,7 +485,7 @@ always_comb begin
|
|||||||
end else if (type_next == REQ_MEM_WRITE || type_next == REQ_IO_WRITE) begin
|
end else if (type_next == REQ_MEM_WRITE || type_next == REQ_IO_WRITE) begin
|
||||||
// write request
|
// write request
|
||||||
cpl_data_next = 1'b0;
|
cpl_data_next = 1'b0;
|
||||||
if (dword_count_next == 11'd1) begin
|
if (!s_axis_cq.tlast && dword_count_next == 11'd1) begin
|
||||||
s_axis_cq_tready_next = 1'b1;
|
s_axis_cq_tready_next = 1'b1;
|
||||||
state_next = STATE_WRITE_1;
|
state_next = STATE_WRITE_1;
|
||||||
end else begin
|
end else begin
|
||||||
@@ -583,6 +583,8 @@ always_comb begin
|
|||||||
s_axis_cq_tready_next = 1'b0;
|
s_axis_cq_tready_next = 1'b0;
|
||||||
state_next = STATE_WRITE_2;
|
state_next = STATE_WRITE_2;
|
||||||
end else begin
|
end else begin
|
||||||
|
cpl_data_next = 1'b0;
|
||||||
|
status_next = CPL_STATUS_CA; // completer abort
|
||||||
s_axis_cq_tready_next = 1'b1;
|
s_axis_cq_tready_next = 1'b1;
|
||||||
state_next = STATE_WAIT_END;
|
state_next = STATE_WAIT_END;
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user