Skip to content
Snippets Groups Projects
Commit 066e7fd6 authored by Daniel van der Schuur's avatar Daniel van der Schuur
Browse files

-Fixed MIF file path;

-Added clock generation to mmm_apertif_unb1_correlator (for sim);
-Added werkplan.
parent 0769c3b1
No related branches found
No related tags found
No related merge requests found
......@@ -139,7 +139,7 @@ ARCHITECTURE str OF apertif_unb1_correlator IS
true, c_wpfb_use_separate, 16, c_wpfb_out_dat_w, 18, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
CONSTANT c_wpfb_coefs_file_prefix : STRING := "../../../../../UniBoard/trunk/Firmware/dsp/filter/build/data/coefs_wide";
CONSTANT c_wpfb_coefs_file_prefix : STRING := "../../../../../UniBoard/trunk/Firmware/dsp/filter/build/data/coefs_wide1_p64_t8";
-- Correlator
CONSTANT c_nof_inputs : NATURAL := 24;
......@@ -396,7 +396,8 @@ BEGIN
clk_clk => CLK, -- altpll_1 ref clk (200MHz)
clk_clk_in_reset_reset_n => xo_rst_n,
altpll_1_c0_clk => dp_clk, -- altpll_1 output clock
dp_clk => dp_clk, -- altpll_1 output clock
-- PIOs
pout_wdi => pout_wdi,
......
......@@ -90,7 +90,7 @@ ENTITY mmm_apertif_unb1_correlator IS
-- Speed test using internal PLL:
clk_clk : IN STD_LOGIC;
clk_clk_in_reset_reset_n : IN STD_LOGIC;
altpll_1_c0_clk : OUT STD_LOGIC
dp_clk : OUT STD_LOGIC
);
......@@ -102,11 +102,13 @@ ARCHITECTURE str OF mmm_apertif_unb1_correlator IS
CONSTANT c_ram_fil_coefs_addr_w : natural := ceil_log2(g_wpfb.nof_points * g_wpfb.nof_taps / g_wpfb.wb_factor);
CONSTANT c_mm_clk_period : TIME := 8 ns; -- 125 MHz
CONSTANT c_dp_clk_period : TIME := 5 ns; -- 200 MHz
CONSTANT c_sim_node_type : STRING(1 TO 2):= sel_a_b(g_sim_node_nr<4, "FN", "BN");
CONSTANT c_sim_node_nr : NATURAL := sel_a_b(c_sim_node_type="BN", g_sim_node_nr-4, g_sim_node_nr);
SIGNAL i_mm_clk : STD_LOGIC := '1';
SIGNAL i_dp_clk : STD_LOGIC := '1';
----------------------------------------------------------------------------
-- mm_file component
......@@ -232,6 +234,7 @@ ARCHITECTURE str OF mmm_apertif_unb1_correlator IS
BEGIN
mm_clk <= i_mm_clk;
dp_clk <= i_dp_clk;
----------------------------------------------------------------------------
-- MM <-> file I/O for simulation. The files are created in $UPE/sim.
......@@ -239,6 +242,8 @@ BEGIN
gen_mm_file_io : IF g_sim = TRUE GENERATE
i_mm_clk <= NOT i_mm_clk AFTER c_mm_clk_period/2;
i_dp_clk <= NOT i_dp_clk AFTER c_dp_clk_period/2;
mm_locked <= '0', '1' AFTER c_mm_clk_period*5;
u_mm_file_reg_unb_system_info : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_SYSTEM_INFO")
......@@ -382,7 +387,7 @@ BEGIN
clk_clk => clk_clk,
reset_reset_n => clk_clk_in_reset_reset_n,
altpll_1_c0_clk => altpll_1_c0_clk,
altpll_1_c0_clk => i_dp_clk,
altpll_1_areset_conduit_export => xo_rst,
altpll_1_phasedone_conduit_export => OPEN,
......
================
WPFB+ CORRELATOR (2 weken)
================
1) mm_file instances in tb_apertif_unb1_correlator
2) copy tc_correlator.py naar tc_apertif_unb1_correlator.py
4) maak src/python/gen_block_gen_hex_files.py
. maak eerst 1 (deze komt bv. in channel 0) phase-shifted sinus per stream,
. verifieer correcte correlator output met de TC
. Voeg signalen toe voor zover deze in aparte bins terechtkomen
. 64 ge-adde sinussen zijn wss te veel.
5) Correlatoroutput verifieren met bovenstaande sinussen
=======================
1GbE visibility offload (2 weken)
=======================
6) 1GbE offload toevoegen aan apertif_unb1_correlator.vhd
7) 1GbE capture toevoegen aan TC, validatie zelfde als verificatie met correlator_src_out0.rec
8) Draai dit image op 8 FPGAs en zorg dat de 1GbE capture TC dit ook aankan.
==============================
BGs aanpassen + reinterleavers (3 weken)
==============================
9) Block gens aanpassen, reinterleavers (aka 'combine' in doc) erachter:
. Van 24 BG's @(100MHz x 2x6b=) 1.2Gbps (totaal = 24x1.2= 28.8Gbps) naar:
=> 8 ('telescopes) * 3 BG's @(200MHz x 4 x 2x6b=) 9.6Gbps = 8*28.8Gbps
. Reinterleaver stage:
. 1/8 vd data rate naar eigen correlator (dus 28.8Gbps).
. 7/8 vd data rate: eerst discarden (later naar mesh TX)
. Correlatoroutput: moet nog steeds kloppen.
. Dit design werkt nog op 1 node.
NOTE: Als 24 diepere+bredere BGs niet passen hebben we fn_beamformer (evt. met block gens)
en 10GbE inputs nodig.
Andere optie is om block gen outputs te kopieren maar dan kloppen de fases niet meer.
==================================
3BGs/FPGA (ipv 24) + Mesh terminals (4 weken)
==================================
10) Verwijder BG 3..23.
11) Instantieer mesh terminals + BSN aligner
. Reinterleaver inputs 3..23 komen nu van mesh terminal RX ipv BGs 3..23
. 7/8 vd reinterleaver output data gaat nu naar mesh terminal TX
. Correlatoroutput moet ongewijzigd blijven.
. Dit design werkt op 8 nodes.
. Dit design kan op 1 node werken als we hier al rekening houden met uitgevallen telescopes.
============
10GbE inputs (1 week) (hier moet de DDR3 transpose werken of we moeten een fn_beamformer met block gens oid hebben).
============
12) 10GbE toevoegen aan apertif_unb1_correlator.vhd
. Sluit ipv de 3 block gens de 3 10GbE input streams aan.
. Als we nog geen 10GbE backplane hebben moeten we wel uitgevallen telescopes supporten
aangezien T12..23 niet binnenkomen
Niet meegenomen:
-Correlatormodule cleanen,afmaken, documenteren, sluitende test bench....etc.
. Dit kan in de slacktijd als mijlpalen al gehaald zijn
-Flagging
-wat moeten we met de BSN
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment