Commit f1e9a982 authored by Dimitris Lampridis's avatar Dimitris Lampridis

hdl: fix bug in BFM not accepting 4096B writes

Signed-off-by: Dimitris Lampridis's avatarDimitris Lampridis <dimitris.lampridis@cern.ch>
parent 4f56571d
......@@ -2520,7 +2520,11 @@ writeline(OUT_FILE, OUTPUT_LINE);
if(CID_COUNT < N_INBOUND_RD_OUTSTANDING) then -- OK to accept the request
INBOUND_READ_REQUEST_ARRAY(COMPLETION_ID).ADDRESS <= HEADER_ADDR_HI & HEADER_ADDR_LOW;
INBOUND_READ_REQUEST_ARRAY(COMPLETION_ID).BAR_HIT <= to_mvl(BFM_BAR_HIT(1)) & to_mvl(BFM_BAR_HIT(0));
INBOUND_READ_REQUEST_ARRAY(COMPLETION_ID).LENGTH <= to_int(HEADER_LENGTH);
if to_int(HEADER_LENGTH) = 0 then
INBOUND_READ_REQUEST_ARRAY(COMPLETION_ID).LENGTH <= 1024;
else
INBOUND_READ_REQUEST_ARRAY(COMPLETION_ID).LENGTH <= to_int(HEADER_LENGTH);
end if;
INBOUND_READ_REQUEST_ARRAY(COMPLETION_ID).STATE <= not INBOUND_READ_REQUEST_ARRAY(COMPLETION_ID).STATE;
INBOUND_READ_REQUEST_ARRAY(COMPLETION_ID).TC <= HEADER_TC;
INBOUND_READ_REQUEST_ARRAY(COMPLETION_ID).V <= HEADER_V;
......@@ -2542,7 +2546,11 @@ writeline(OUT_FILE, OUTPUT_LINE);
--* Process the Read Completion
--*-------------------------------------------------------------
I_HEADER_LENGTH := to_int(HEADER_LENGTH);
if to_int(HEADER_LENGTH) = 0 then
I_HEADER_LENGTH := 1024;
else
I_HEADER_LENGTH := to_int(HEADER_LENGTH);
end if;
I_CID := to_int(HEADER_CID);
if(RD_BUFFER_PTR(I_CID) = 0) then -- start of a completion sequence
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment