Skip to content
Snippets Groups Projects
Commit fc69ae78 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Support reorder identity control.

parent 214a7bd1
No related branches found
No related tags found
1 merge request!348Use use_bdo_transpose = true in c_bf revision. Test use_bdo_transpose = false...
......@@ -77,6 +77,10 @@ package reorder_pkg is
(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
);
-----------------------------------------------------------------------------
-- Reorder transpose
-----------------------------------------------------------------------------
-- Block and data counters to derive select_copi.address for transpose
-- reording between nof_blocks_per_packet and nof_data_per_block.
type t_reorder_transpose is record
......@@ -96,6 +100,24 @@ package reorder_pkg is
transpose : t_reorder_transpose)
return t_reorder_transpose;
-----------------------------------------------------------------------------
-- Reorder identity
-- . so no reordering, same out as in, but delayed due to dual page
-- buffering of reorder
-----------------------------------------------------------------------------
-- Pass on input to output in same order.
type t_reorder_identity is record
select_copi : t_mem_copi;
addr : natural;
end record;
constant c_reorder_identity_rst : t_reorder_identity := (c_mem_copi_rst, 0);
function func_reorder_identity(nof_ch_per_packet : natural;
identity : t_reorder_identity)
return t_reorder_identity;
end reorder_pkg;
package body reorder_pkg is
......@@ -167,4 +189,22 @@ package body reorder_pkg is
return v;
end;
function func_reorder_identity(nof_ch_per_packet : natural;
identity : t_reorder_identity)
return t_reorder_identity is
variable v : t_reorder_identity;
begin
v := identity;
-- read at current address
v.select_copi.address := TO_MEM_ADDRESS(v.addr);
v.select_copi.rd := '1';
-- prepare next read address
if v.addr < nof_ch_per_packet - 1 then
v.addr := v.addr + 1;
else
v.addr := 0;
end if;
return v;
end;
end reorder_pkg;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment