Skip to content

Commit 0650905

Browse files
committed
[WIP] Trying to simulate the ACQ core...
1 parent f1b6f27 commit 0650905

File tree

14 files changed

+916
-47
lines changed

14 files changed

+916
-47
lines changed

modules/wishbone/wb_acq_core/acq_cnt.vhd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,17 @@ end acq_cnt;
5555

5656
architecture rtl of acq_cnt is
5757

58-
signal pkt_ct_cnt : unsigned(c_pkt_size_width-1 downto 0);
58+
signal pkt_ct_cnt : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
5959
signal pkt_cnt_en : std_logic;
6060

6161
signal pkt_ct_cnt_all : std_logic;
6262
signal pkt_ct_cnt_will_finish : std_logic;
6363

64-
signal shots_cnt : unsigned(c_shots_size_width-1 downto 0);
64+
signal shots_cnt : unsigned(c_shots_size_width-1 downto 0) := (others => '0');
6565
signal shots_cnt_all : std_logic;
6666

67-
signal lmt_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
68-
signal lmt_shots_nb : unsigned(c_shots_size_width-1 downto 0);
67+
signal lmt_pkt_size : unsigned(c_pkt_size_width-1 downto 0) := to_unsigned(1, c_pkt_size_width);
68+
signal lmt_shots_nb : unsigned(c_shots_size_width-1 downto 0) := to_unsigned(1, c_shots_size_width);
6969

7070
begin
7171

modules/wishbone/wb_acq_core/acq_ddr3_axis_write.vhd

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,9 @@ architecture rtl of acq_ddr3_axis_write is
198198

199199
-- Flow control signals
200200
signal lmt_pre_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
201-
signal lmt_pre_pkt_size_s : std_logic_vector(c_pkt_size_width-1 downto 0);
202-
signal lmt_pre_pkt_size_alig_s : std_logic_vector(c_pkt_size_width-1 downto 0);
203-
signal lmt_pre_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0);
201+
signal lmt_pre_pkt_size_s : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
202+
signal lmt_pre_pkt_size_alig_s : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
203+
signal lmt_pre_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
204204
signal lmt_pre_pkt_size_aggd_byte_s : std_logic_vector(c_pkt_size_width-1 downto 0);
205205
signal lmt_pre_pkt_size_aggd_byte : unsigned(c_pkt_size_width-1 downto 0);
206206
signal lmt_pos_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
@@ -212,7 +212,7 @@ architecture rtl of acq_ddr3_axis_write is
212212
signal lmt_full_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
213213
signal lmt_full_pkt_size_s : std_logic_vector(c_pkt_size_width-1 downto 0);
214214
signal lmt_full_pkt_size_alig_s : std_logic_vector(c_pkt_size_width-1 downto 0);
215-
signal lmt_full_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0);
215+
signal lmt_full_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
216216
signal lmt_full_pkt_size_aggd_byte_s : std_logic_vector(c_pkt_size_width-1 downto 0);
217217
signal lmt_full_pkt_size_aggd_byte : unsigned(c_pkt_size_width-1 downto 0);
218218
signal lmt_shots_nb : unsigned(c_shots_size_width-1 downto 0);
@@ -237,7 +237,7 @@ architecture rtl of acq_ddr3_axis_write is
237237
signal fc_dreq_pld : std_logic;
238238
signal fc_ack : std_logic;
239239
signal fc_trigger_cmd : std_logic;
240-
signal fc_data_id_cmd : std_logic_vector(2 downto 0);
240+
signal fc_data_id_cmd : std_logic_vector(2 downto 0) := (others => '0');
241241

242242
signal valid_trans_cmd : std_logic;
243243
signal valid_trans_cmd_d0 : std_logic;
@@ -267,9 +267,9 @@ architecture rtl of acq_ddr3_axis_write is
267267
signal pl_pkt_thres_hit_pld : std_logic;
268268

269269
-- Counter signals
270-
signal dbg_cmd_pkt_ct_cnt : std_logic_vector(c_pkt_size_width-1 downto 0);
270+
signal dbg_cmd_pkt_ct_cnt : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
271271
signal dbg_cmd_shots_cnt : std_logic_vector(c_shots_size_width-1 downto 0);
272-
signal dbg_pld_pkt_ct_cnt : std_logic_vector(c_pkt_size_width-1 downto 0);
272+
signal dbg_pld_pkt_ct_cnt : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
273273
signal dbg_pld_shots_cnt : std_logic_vector(c_shots_size_width-1 downto 0);
274274
signal pl_cmd_cnt_en : std_logic;
275275
signal acq_cmd_cnt_en : std_logic;
@@ -278,7 +278,7 @@ architecture rtl of acq_ddr3_axis_write is
278278

279279
-- DDR3 Signals
280280
signal ddr_data_in : std_logic_vector(g_ddr_header_width+g_ddr_payload_width-1 downto 0);
281-
signal ddr_addr_cnt_axis : unsigned(g_ddr_addr_width-1 downto 0);
281+
signal ddr_addr_cnt_axis : unsigned(g_ddr_addr_width-1 downto 0) := (others => '0');
282282
signal ddr_byte_addr_cnt_axis : std_logic_vector(g_ddr_addr_width-1 downto 0);
283283
signal ddr_addr_cnt_max_reached : std_logic;
284284
signal ddr_addr_cnt_m1_max_reached : std_logic;
@@ -292,8 +292,8 @@ architecture rtl of acq_ddr3_axis_write is
292292
signal ddr_btt_mem_area_rem : unsigned(g_ddr_addr_width-1 downto 0);
293293
signal ddr_btt_slv : std_logic_vector(c_axis_cmd_tdata_btt_width-1 downto 0);
294294
signal ddr_addr_init : unsigned(g_ddr_addr_width-1 downto 0);
295-
signal ddr_addr_max : unsigned(g_ddr_addr_width-1 downto 0);
296-
signal ddr_addr_max_m1 : unsigned(g_ddr_addr_width-1 downto 0);
295+
signal ddr_addr_max : unsigned(g_ddr_addr_width-1 downto 0) := (others => '0');
296+
signal ddr_addr_max_m1 : unsigned(g_ddr_addr_width-1 downto 0) := (others => '0');
297297
signal ddr_recv_pkt_cnt : unsigned(c_ddr_axis_max_wtt_width-1 downto 0);
298298
signal ddr_addr_first : std_logic;
299299
signal ddr_reissue_trans : std_logic;

modules/wishbone/wb_acq_core/acq_fc_fifo.vhd

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -246,35 +246,35 @@ architecture rtl of acq_fc_fifo is
246246

247247
-- Samples counts
248248
-- counts the words written in the FIFO
249-
signal fifo_in_valid_cnt : t_fc_pkt;
249+
signal fifo_in_valid_cnt : t_fc_pkt := (others => '0');
250250
signal fifo_in_valid_full : std_logic;
251251

252252
-- Counts the completed tranfered words to ext mem
253253
signal fifo_pkt_sent : std_logic;
254254
signal fifo_pkt_cnt_en : std_logic;
255-
signal fifo_pkt_sent_cnt : t_fc_pkt;
255+
signal fifo_pkt_sent_cnt : t_fc_pkt := (others => '0');
256256
signal fifo_pkt_sent_ct_cnt : t_fc_pkt;
257257
signal fifo_pkt_sent_ct_all : std_logic;
258258
signal acq_cnt_en : std_logic;
259259
signal dbg_pkt_ct_cnt : std_logic_vector(c_pkt_size_width-1 downto 0);
260260
signal dbg_shots_cnt : std_logic_vector(c_shots_size_width-1 downto 0);
261261

262262
-- Transaction limit signals
263-
signal lmt_pre_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
264-
signal lmt_pre_pkt_size_s : std_logic_vector(c_pkt_size_width-1 downto 0);
265-
signal lmt_pre_pkt_size_alig_s : std_logic_vector(c_pkt_size_width-1 downto 0);
266-
signal lmt_pre_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0);
267-
signal lmt_pos_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
268-
signal lmt_pos_pkt_size_s : std_logic_vector(c_pkt_size_width-1 downto 0);
269-
signal lmt_pos_pkt_size_alig_s : std_logic_vector(c_pkt_size_width-1 downto 0);
270-
signal lmt_pos_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0);
271-
signal lmt_full_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
272-
signal lmt_full_pkt_size_s : std_logic_vector(c_pkt_size_width-1 downto 0);
273-
signal lmt_full_pkt_size_alig_s : std_logic_vector(c_pkt_size_width-1 downto 0);
274-
signal lmt_full_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0);
275-
signal lmt_shots_nb : unsigned(c_shots_size_width-1 downto 0);
276-
signal lmt_curr_chan_id : unsigned(c_chan_id_width-1 downto 0);
277-
signal lmt_curr_chan_id_ext : unsigned(c_chan_id_width-1 downto 0);
263+
signal lmt_pre_pkt_size : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
264+
signal lmt_pre_pkt_size_s : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
265+
signal lmt_pre_pkt_size_alig_s : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
266+
signal lmt_pre_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
267+
signal lmt_pos_pkt_size : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
268+
signal lmt_pos_pkt_size_s : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
269+
signal lmt_pos_pkt_size_alig_s : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
270+
signal lmt_pos_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
271+
signal lmt_full_pkt_size : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
272+
signal lmt_full_pkt_size_s : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
273+
signal lmt_full_pkt_size_alig_s : std_logic_vector(c_pkt_size_width-1 downto 0) := (others => '0');
274+
signal lmt_full_pkt_size_aggd : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
275+
signal lmt_shots_nb : unsigned(c_shots_size_width-1 downto 0) := (others => '0');
276+
signal lmt_curr_chan_id : unsigned(c_chan_id_width-1 downto 0) := (others => '0');
277+
signal lmt_curr_chan_id_ext : unsigned(c_chan_id_width-1 downto 0) := (others => '0');
278278
signal lmt_valid : std_logic;
279279
signal lmt_valid_ext : std_logic;
280280

modules/wishbone/wb_acq_core/acq_fsm.vhd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ architecture rtl of acq_fsm is
189189
signal post_trig_skip_r : std_logic;
190190
signal post_trig_done_ext : std_logic;
191191
signal samples_cnt : unsigned(c_acq_samples_size-1 downto 0);
192-
signal shots_cnt : unsigned(15 downto 0);
192+
signal shots_cnt : unsigned(15 downto 0) := (others => '0');
193193
signal shots_done : std_logic;
194194
signal shots_decr : std_logic;
195195
signal single_shot : std_logic;

modules/wishbone/wb_acq_core/acq_multishot_dpram.vhd

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,15 +174,17 @@ begin
174174

175175
-- Write through port A
176176
clka_i => fs_clk_i,
177-
bwea_i => open,
177+
bwea_i => (others => '0'),
178178
wea_i => dpram0_wea,
179179
aa_i => dpram0_addra,
180180
da_i => dpram0_dina,
181181
qa_o => open,
182182

183183
-- Read through port B
184184
clkb_i => fs_clk_i,
185-
bweb_i => open,
185+
bweb_i => (others => '0'),
186+
web_i => '0',
187+
db_i => (others => '0'),
186188
ab_i => dpram0_addrb,
187189
qb_o => dpram0_doutb
188190
);
@@ -201,14 +203,16 @@ begin
201203
rst_n_i => fs_rst_n_i,
202204

203205
clka_i => fs_clk_i,
204-
bwea_i => open,
206+
bwea_i => (others => '0'),
205207
wea_i => dpram1_wea,
206208
aa_i => dpram1_addra,
207209
da_i => dpram1_dina,
208210
qa_o => open,
209211

210212
clkb_i => fs_clk_i,
211-
bweb_i => open,
213+
bweb_i => (others => '0'),
214+
web_i => '0',
215+
db_i => (others => '0'),
212216
ab_i => dpram1_addrb,
213217
qb_o => dpram1_doutb
214218
);

modules/wishbone/wb_acq_core/acq_sel_chan.vhd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ end acq_sel_chan;
6262
architecture rtl of acq_sel_chan is
6363

6464
signal lmt_valid : std_logic;
65-
signal lmt_curr_chan_id : unsigned(c_chan_id_width-1 downto 0);
65+
signal lmt_curr_chan_id : unsigned(c_chan_id_width-1 downto 0) := (others => '0');
6666

6767
signal acq_data_marsh_demux : std_logic_vector(c_acq_chan_max_w-1 downto 0);
6868
signal acq_trig_demux : std_logic;

modules/wishbone/wb_acq_core/acq_trigger.vhd

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,12 @@ architecture rtl of acq_trigger is
145145
type t_id_pipe is array (natural range <>) of t_acq_id;
146146

147147
-- Signals
148-
signal lmt_dtrig_chan_id : unsigned(c_chan_id_width-1 downto 0);
148+
signal lmt_dtrig_chan_id : unsigned(c_chan_id_width-1 downto 0) := (others => '0');
149149
signal lmt_dtrig_valid : std_logic;
150-
signal lmt_curr_chan_id : unsigned(c_chan_id_width-1 downto 0);
150+
signal lmt_curr_chan_id : unsigned(c_chan_id_width-1 downto 0) := (others => '0');
151151
signal lmt_valid : std_logic;
152152

153-
signal dtrig_data_in : std_logic_vector(g_data_in_width-1 downto 0);
153+
signal dtrig_data_in : std_logic_vector(g_data_in_width-1 downto 0) := (others => '0');
154154
signal dtrig_valid_in : std_logic;
155155
signal dtrig_id_in : t_acq_id;
156156

@@ -182,8 +182,8 @@ architecture rtl of acq_trigger is
182182
signal int_trig_over_thres : std_logic;
183183
signal int_trig_over_thres_filt : std_logic;
184184
signal int_trig_over_thres_filt_d : std_logic;
185-
signal int_trig_data : std_logic_vector(c_widest_atom_width-1 downto 0);
186-
signal int_trig_data_se : std_logic_vector(c_widest_atom_width-1 downto 0);
185+
signal int_trig_data : std_logic_vector(c_widest_atom_width-1 downto 0) := (others => '0');
186+
signal int_trig_data_se : std_logic_vector(c_widest_atom_width-1 downto 0) := (others => '0');
187187
signal hw_trig : std_logic;
188188
signal hw_trig_t : std_logic;
189189
signal sw_trig : std_logic;
@@ -314,7 +314,7 @@ begin
314314
-- Problem: Vivado 2015.2 does not support dynamic slicing!
315315
-- Solution: Implement a case statement to address each possible slice
316316

317-
p_int_trig_data : process(acq_num_atoms_uncoalesced_log2)
317+
p_int_trig_data : process(acq_num_atoms_uncoalesced_log2, cfg_int_trig_sel_i, lmt_dtrig_chan_id)
318318
begin
319319
case to_integer(acq_num_atoms_uncoalesced_log2) is
320320
when 0 =>

modules/wishbone/wb_acq_core/fc_source.vhd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@ architecture rtl of fc_source is
122122
-- signals that a packet was actually transfered
123123
signal pkt_sent : std_logic;
124124
signal lmt_valid : std_logic;
125-
signal lmt_pre_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
126-
signal lmt_pos_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
127-
signal lmt_full_pkt_size : unsigned(c_pkt_size_width-1 downto 0);
125+
signal lmt_pre_pkt_size : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
126+
signal lmt_pos_pkt_size : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
127+
signal lmt_full_pkt_size : unsigned(c_pkt_size_width-1 downto 0) := (others => '0');
128128

129129
-- Pre output FIFO signals
130130
signal pre_out_fifo_we : std_logic;
@@ -146,7 +146,7 @@ architecture rtl of fc_source is
146146
signal fc_oob_out_int : t_fc_data_oob;
147147

148148
-- Counters
149-
signal fc_in_pend_cnt : t_fc_pkt;
149+
signal fc_in_pend_cnt : t_fc_pkt := (others => '0');
150150

151151
signal output_pipe_full : std_logic;
152152
signal output_pipe_almost_full : std_logic;

0 commit comments

Comments
 (0)