Skip to content
Snippets Groups Projects
Commit 4c04ea8b authored by Reinier van der Walle's avatar Reinier van der Walle
Browse files

processed review comments

parent 85a628d2
No related branches found
No related tags found
2 merge requests!100Removed text for XSub that is now written in Confluence Subband correlator...,!89Resolve L2SDP-308
...@@ -66,10 +66,14 @@ ARCHITECTURE rtl OF st_xsq_mm_to_dp IS ...@@ -66,10 +66,14 @@ ARCHITECTURE rtl OF st_xsq_mm_to_dp IS
CONSTANT c_reg_rst : t_reg := (c_dp_sosi_rst, c_dp_sosi_rst, '0', 0, 0, 0); CONSTANT c_reg_rst : t_reg := (c_dp_sosi_rst, c_dp_sosi_rst, '0', 0, 0, 0);
SIGNAL r : t_reg; SIGNAL r : t_reg;
SIGNAL nxt_r : t_reg; SIGNAL nxt_r : t_reg;
SIGNAL mm_mosi : t_mem_mosi := c_mem_mosi_rst;
BEGIN BEGIN
mm_mosi_arr <= (OTHERS => mm_mosi); -- all mosi are identical.
u_sosi : PROCESS(r, mm_miso_arr) u_sosi : PROCESS(r, mm_miso_arr)
BEGIN BEGIN
FOR I IN 0 TO g_nof_streams-1 LOOP FOR I IN 0 TO g_nof_streams-1 LOOP
...@@ -94,22 +98,18 @@ BEGIN ...@@ -94,22 +98,18 @@ BEGIN
BEGIN BEGIN
v := r; v := r;
v.out_sosi_ctrl := c_dp_sosi_rst; v.out_sosi_ctrl := c_dp_sosi_rst;
FOR I IN 0 TO g_nof_streams-1 LOOP mm_mosi.rd <= '0';
mm_mosi_arr(I).rd <= '0';
END LOOP;
-- initiate next block and capture in_sosi strobe
IF r.busy = '0' AND in_sosi.sop = '1' THEN IF r.busy = '0' AND in_sosi.sop = '1' THEN
-- initiate next block
v.busy := '1'; v.busy := '1';
v.in_sosi_strobe := in_sosi; v.in_sosi_strobe := in_sosi;
ELSIF r.busy = '1' THEN ELSIF r.busy = '1' THEN
-- continue with block -- continue with block
FOR I IN 0 TO g_nof_streams-1 LOOP mm_mosi.rd <= '1';
mm_mosi_arr(I).rd <= '1'; mm_mosi.address <= TO_MEM_ADDRESS(r.crosslets_index * g_nof_signal_inputs + r.in_b_index); -- streams iterate over in_b_index
mm_mosi_arr(I).address <= TO_MEM_ADDRESS(r.crosslets_index * g_nof_signal_inputs + r.in_b_index); -- streams iterate over in_b_index
END LOOP;
-- Counters -- Indices counters to select data order
IF r.in_b_index < g_nof_signal_inputs - 1 THEN IF r.in_b_index < g_nof_signal_inputs - 1 THEN
v.in_b_index := r.in_b_index + 1; v.in_b_index := r.in_b_index + 1;
ELSE ELSE
......
...@@ -89,6 +89,7 @@ ARCHITECTURE str OF st_xst IS ...@@ -89,6 +89,7 @@ ARCHITECTURE str OF st_xst IS
SIGNAL reg_x_sosi_0_im : t_slv_64_arr(g_nof_signal_inputs-1 DOWNTO 0); SIGNAL reg_x_sosi_0_im : t_slv_64_arr(g_nof_signal_inputs-1 DOWNTO 0);
BEGIN BEGIN
-- MM -> DP
st_xsq_mm_to_dp : ENTITY work.st_xsq_mm_to_dp st_xsq_mm_to_dp : ENTITY work.st_xsq_mm_to_dp
GENERIC MAP( GENERIC MAP(
g_nof_streams => g_nof_streams, g_nof_streams => g_nof_streams,
...@@ -105,11 +106,14 @@ BEGIN ...@@ -105,11 +106,14 @@ BEGIN
out_sosi_arr => x_sosi_arr out_sosi_arr => x_sosi_arr
); );
-- rewire -- in_b_sosi_arr = x_sosi_arr
in_b_sosi_arr <= x_sosi_arr; in_b_sosi_arr <= x_sosi_arr;
-- Capture x_sosi_arr(0) data
reg_x_sosi_0_re(nxt_r.in_b_index) <= x_sosi_arr(0).re; reg_x_sosi_0_re(nxt_r.in_b_index) <= x_sosi_arr(0).re;
reg_x_sosi_0_im(nxt_r.in_b_index) <= x_sosi_arr(0).im; reg_x_sosi_0_im(nxt_r.in_b_index) <= x_sosi_arr(0).im;
-- reorder x_sosi_arr(0) data to follow in_a_index instead of in_b_index. All sosi in in_a_sosi_arr are identical.
p_in_a : PROCESS(x_sosi_arr, reg_x_sosi_0_re, reg_x_sosi_0_im, nxt_r.in_a_index) p_in_a : PROCESS(x_sosi_arr, reg_x_sosi_0_re, reg_x_sosi_0_im, nxt_r.in_a_index)
BEGIN BEGIN
FOR I IN 0 TO g_nof_streams-1 LOOP FOR I IN 0 TO g_nof_streams-1 LOOP
...@@ -119,6 +123,7 @@ BEGIN ...@@ -119,6 +123,7 @@ BEGIN
END LOOP; END LOOP;
END PROCESS; END PROCESS;
-- Register process
p_reg : PROCESS(dp_rst, dp_clk) p_reg : PROCESS(dp_rst, dp_clk)
BEGIN BEGIN
IF dp_rst='1' THEN IF dp_rst='1' THEN
...@@ -128,16 +133,17 @@ BEGIN ...@@ -128,16 +133,17 @@ BEGIN
END IF; END IF;
END PROCESS; END PROCESS;
-- Combinatorial process to create in_a_index and in_b_index for reoredering x_sosi_arr(0) data.
p_comb : PROCESS(r, x_sosi_arr) p_comb : PROCESS(r, x_sosi_arr)
VARIABLE v : t_reg; VARIABLE v : t_reg;
BEGIN BEGIN
v := r; v := r;
-- initiate next block
IF r.busy = '0' AND x_sosi_arr(0).sop = '1' THEN IF r.busy = '0' AND x_sosi_arr(0).sop = '1' THEN
-- initiate next block
v.busy := '1'; v.busy := '1';
-- Continue block
ELSIF r.busy = '1' THEN ELSIF r.busy = '1' THEN
-- Counters -- Indices counters to select data order
IF r.in_b_index < g_nof_signal_inputs - 1 THEN IF r.in_b_index < g_nof_signal_inputs - 1 THEN
v.in_b_index := r.in_b_index + 1; v.in_b_index := r.in_b_index + 1;
ELSE ELSE
...@@ -149,6 +155,7 @@ BEGIN ...@@ -149,6 +155,7 @@ BEGIN
END IF; END IF;
END IF; END IF;
END IF; END IF;
-- End of block
IF x_sosi_arr(0).eop = '1' THEN IF x_sosi_arr(0).eop = '1' THEN
v.busy := '0'; v.busy := '0';
v.in_a_index := 0; v.in_a_index := 0;
...@@ -157,7 +164,6 @@ BEGIN ...@@ -157,7 +164,6 @@ BEGIN
nxt_r <= v; nxt_r <= v;
END PROCESS; END PROCESS;
-- st_xsq instances -- st_xsq instances
st_xsq_arr : ENTITY work.st_xsq_arr st_xsq_arr : ENTITY work.st_xsq_arr
GENERIC MAP ( GENERIC MAP (
......
...@@ -159,7 +159,7 @@ BEGIN ...@@ -159,7 +159,7 @@ BEGIN
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
-- MM Stimuli -- MM Stimuli
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
gen_mm_stim : FOR M IN 0 TO g_nof_streams-1 GENERATE gen_mm_stimuli : FOR M IN 0 TO g_nof_streams-1 GENERATE
p_mm_stimuli : PROCESS p_mm_stimuli : PROCESS
BEGIN BEGIN
-- read statistics -- read statistics
...@@ -224,7 +224,7 @@ BEGIN ...@@ -224,7 +224,7 @@ BEGIN
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
-- RAM -- RAMs that contain a block of crosslets for each stream
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
gen_ram : FOR I IN 0 TO g_nof_streams-1 GENERATE gen_ram : FOR I IN 0 TO g_nof_streams-1 GENERATE
u_ram : ENTITY common_lib.common_ram_cr_cw u_ram : ENTITY common_lib.common_ram_cr_cw
......
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