@@ -83,11 +83,11 ENTITY lpp_top_apbreg IS | |||||
83 | --------------------------------------------------------------------------- |
|
83 | --------------------------------------------------------------------------- | |
84 | --------------------------------------------------------------------------- |
|
84 | --------------------------------------------------------------------------- | |
85 | -- WaveForm picker Reg |
|
85 | -- WaveForm picker Reg | |
86 |
status_full : IN STD_LOGIC_VECTOR(3 DOWNTO 0); |
|
86 | status_full : IN STD_LOGIC_VECTOR(3 DOWNTO 0); | |
87 | status_full_ack : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); |
|
87 | status_full_ack : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); | |
88 | status_full_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0); |
|
88 | status_full_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0); | |
89 | status_new_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0); |
|
89 | status_new_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0); | |
90 |
|
90 | |||
91 | -- OUT |
|
91 | -- OUT | |
92 | data_shaping_BW : OUT STD_LOGIC; |
|
92 | data_shaping_BW : OUT STD_LOGIC; | |
93 | data_shaping_SP0 : OUT STD_LOGIC; |
|
93 | data_shaping_SP0 : OUT STD_LOGIC; | |
@@ -191,33 +191,33 BEGIN -- beh | |||||
191 | addr_matrix_f2 <= reg_sp.addr_matrix_f2; |
|
191 | addr_matrix_f2 <= reg_sp.addr_matrix_f2; | |
192 |
|
192 | |||
193 |
|
193 | |||
194 |
|
194 | |||
195 |
|
||||
196 | data_shaping_BW <= reg_wp.data_shaping_BW; |
|
|||
197 | data_shaping_SP0 <= reg_wp.data_shaping_SP0; |
|
|||
198 | data_shaping_SP1 <= reg_wp.data_shaping_SP1; |
|
|||
199 | data_shaping_R0 <= reg_wp.data_shaping_R0; |
|
|||
200 | data_shaping_R1 <= reg_wp.data_shaping_R1; |
|
|||
201 |
|
195 | |||
202 |
|
|
196 | data_shaping_BW <= reg_wp.data_shaping_BW; | |
203 | delta_f2_f1 <= reg_wp.delta_f2_f1; |
|
197 | data_shaping_SP0 <= reg_wp.data_shaping_SP0; | |
204 | delta_f2_f0 <= reg_wp.delta_f2_f0; |
|
198 | data_shaping_SP1 <= reg_wp.data_shaping_SP1; | |
205 | nb_burst_available <= reg_wp.nb_burst_available; |
|
199 | data_shaping_R0 <= reg_wp.data_shaping_R0; | |
206 | nb_snapshot_param <= reg_wp.nb_snapshot_param; |
|
200 | data_shaping_R1 <= reg_wp.data_shaping_R1; | |
|
201 | ||||
|
202 | delta_snapshot <= reg_wp.delta_snapshot; | |||
|
203 | delta_f2_f1 <= reg_wp.delta_f2_f1; | |||
|
204 | delta_f2_f0 <= reg_wp.delta_f2_f0; | |||
|
205 | nb_burst_available <= reg_wp.nb_burst_available; | |||
|
206 | nb_snapshot_param <= reg_wp.nb_snapshot_param; | |||
207 |
|
207 | |||
208 |
|
|
208 | enable_f0 <= reg_wp.enable_f0; | |
209 |
|
|
209 | enable_f1 <= reg_wp.enable_f1; | |
210 |
|
|
210 | enable_f2 <= reg_wp.enable_f2; | |
211 |
|
|
211 | enable_f3 <= reg_wp.enable_f3; | |
212 |
|
212 | |||
213 |
|
|
213 | burst_f0 <= reg_wp.burst_f0; | |
214 |
|
|
214 | burst_f1 <= reg_wp.burst_f1; | |
215 |
|
|
215 | burst_f2 <= reg_wp.burst_f2; | |
216 |
|
216 | |||
217 |
|
|
217 | addr_data_f0 <= reg_wp.addr_data_f0; | |
218 |
|
|
218 | addr_data_f1 <= reg_wp.addr_data_f1; | |
219 |
|
|
219 | addr_data_f2 <= reg_wp.addr_data_f2; | |
220 |
|
|
220 | addr_data_f3 <= reg_wp.addr_data_f3; | |
221 |
|
221 | |||
222 | lpp_top_apbreg : PROCESS (HCLK, HRESETn) |
|
222 | lpp_top_apbreg : PROCESS (HCLK, HRESETn) | |
223 | VARIABLE paddr : STD_LOGIC_VECTOR(7 DOWNTO 2); |
|
223 | VARIABLE paddr : STD_LOGIC_VECTOR(7 DOWNTO 2); | |
@@ -238,28 +238,28 BEGIN -- beh | |||||
238 | prdata <= (OTHERS => '0'); |
|
238 | prdata <= (OTHERS => '0'); | |
239 |
|
239 | |||
240 | apbo.pirq <= (OTHERS => '0'); |
|
240 | apbo.pirq <= (OTHERS => '0'); | |
241 |
|
241 | |||
242 | status_full_ack <= (OTHERS => '0'); |
|
242 | status_full_ack <= (OTHERS => '0'); | |
243 |
|
243 | |||
244 | reg_wp.data_shaping_BW <= '0'; |
|
244 | reg_wp.data_shaping_BW <= '0'; | |
245 | reg_wp.data_shaping_SP0 <= '0'; |
|
245 | reg_wp.data_shaping_SP0 <= '0'; | |
246 | reg_wp.data_shaping_SP1 <= '0'; |
|
246 | reg_wp.data_shaping_SP1 <= '0'; | |
247 | reg_wp.data_shaping_R0 <= '0'; |
|
247 | reg_wp.data_shaping_R0 <= '0'; | |
248 | reg_wp.data_shaping_R1 <= '0'; |
|
248 | reg_wp.data_shaping_R1 <= '0'; | |
249 | reg_wp.enable_f0 <= '0'; |
|
249 | reg_wp.enable_f0 <= '0'; | |
250 | reg_wp.enable_f1 <= '0'; |
|
250 | reg_wp.enable_f1 <= '0'; | |
251 | reg_wp.enable_f2 <= '0'; |
|
251 | reg_wp.enable_f2 <= '0'; | |
252 | reg_wp.enable_f3 <= '0'; |
|
252 | reg_wp.enable_f3 <= '0'; | |
253 | reg_wp.burst_f0 <= '0'; |
|
253 | reg_wp.burst_f0 <= '0'; | |
254 | reg_wp.burst_f1 <= '0'; |
|
254 | reg_wp.burst_f1 <= '0'; | |
255 | reg_wp.burst_f2 <= '0'; |
|
255 | reg_wp.burst_f2 <= '0'; | |
256 | reg_wp.addr_data_f0 <= (OTHERS => '0'); |
|
256 | reg_wp.addr_data_f0 <= (OTHERS => '0'); | |
257 | reg_wp.addr_data_f1 <= (OTHERS => '0'); |
|
257 | reg_wp.addr_data_f1 <= (OTHERS => '0'); | |
258 | reg_wp.addr_data_f2 <= (OTHERS => '0'); |
|
258 | reg_wp.addr_data_f2 <= (OTHERS => '0'); | |
259 | reg_wp.addr_data_f3 <= (OTHERS => '0'); |
|
259 | reg_wp.addr_data_f3 <= (OTHERS => '0'); | |
260 | reg_wp.status_full <= (OTHERS => '0'); |
|
260 | reg_wp.status_full <= (OTHERS => '0'); | |
261 | reg_wp.status_full_err <= (OTHERS => '0'); |
|
261 | reg_wp.status_full_err <= (OTHERS => '0'); | |
262 | reg_wp.status_new_err <= (OTHERS => '0'); |
|
262 | reg_wp.status_new_err <= (OTHERS => '0'); | |
263 | reg_wp.delta_snapshot <= (OTHERS => '0'); |
|
263 | reg_wp.delta_snapshot <= (OTHERS => '0'); | |
264 | reg_wp.delta_f2_f1 <= (OTHERS => '0'); |
|
264 | reg_wp.delta_f2_f1 <= (OTHERS => '0'); | |
265 | reg_wp.delta_f2_f0 <= (OTHERS => '0'); |
|
265 | reg_wp.delta_f2_f0 <= (OTHERS => '0'); | |
@@ -271,8 +271,8 BEGIN -- beh | |||||
271 |
|
271 | |||
272 | reg_sp.status_ready_matrix_f0_0 <= reg_sp.status_ready_matrix_f0_0 OR ready_matrix_f0_0; |
|
272 | reg_sp.status_ready_matrix_f0_0 <= reg_sp.status_ready_matrix_f0_0 OR ready_matrix_f0_0; | |
273 | reg_sp.status_ready_matrix_f0_1 <= reg_sp.status_ready_matrix_f0_1 OR ready_matrix_f0_1; |
|
273 | reg_sp.status_ready_matrix_f0_1 <= reg_sp.status_ready_matrix_f0_1 OR ready_matrix_f0_1; | |
274 |
reg_sp.status_ready_matrix_f1 <= reg_sp.status_ready_matrix_f1 |
|
274 | reg_sp.status_ready_matrix_f1 <= reg_sp.status_ready_matrix_f1 OR ready_matrix_f1; | |
275 |
reg_sp.status_ready_matrix_f2 <= reg_sp.status_ready_matrix_f2 |
|
275 | reg_sp.status_ready_matrix_f2 <= reg_sp.status_ready_matrix_f2 OR ready_matrix_f2; | |
276 |
|
276 | |||
277 | reg_sp.status_error_anticipating_empty_fifo <= reg_sp.status_error_anticipating_empty_fifo OR error_anticipating_empty_fifo; |
|
277 | reg_sp.status_error_anticipating_empty_fifo <= reg_sp.status_error_anticipating_empty_fifo OR error_anticipating_empty_fifo; | |
278 | reg_sp.status_error_bad_component_error <= reg_sp.status_error_bad_component_error OR error_bad_component_error; |
|
278 | reg_sp.status_error_bad_component_error <= reg_sp.status_error_bad_component_error OR error_bad_component_error; | |
@@ -341,12 +341,12 BEGIN -- beh | |||||
341 | reg_sp.status_ready_matrix_f2 <= apbi.pwdata(3); |
|
341 | reg_sp.status_ready_matrix_f2 <= apbi.pwdata(3); | |
342 | reg_sp.status_error_anticipating_empty_fifo <= apbi.pwdata(4); |
|
342 | reg_sp.status_error_anticipating_empty_fifo <= apbi.pwdata(4); | |
343 | reg_sp.status_error_bad_component_error <= apbi.pwdata(5); |
|
343 | reg_sp.status_error_bad_component_error <= apbi.pwdata(5); | |
344 |
WHEN "000010" => reg_sp.addr_matrix_f0_0 |
|
344 | WHEN "000010" => reg_sp.addr_matrix_f0_0 <= apbi.pwdata; | |
345 |
WHEN "000011" => reg_sp.addr_matrix_f0_1 |
|
345 | WHEN "000011" => reg_sp.addr_matrix_f0_1 <= apbi.pwdata; | |
346 |
WHEN "000100" => reg_sp.addr_matrix_f1 |
|
346 | WHEN "000100" => reg_sp.addr_matrix_f1 <= apbi.pwdata; | |
347 |
WHEN "000101" => reg_sp.addr_matrix_f2 |
|
347 | WHEN "000101" => reg_sp.addr_matrix_f2 <= apbi.pwdata; | |
348 | -- |
|
348 | -- | |
349 | WHEN "001000" => reg_wp.data_shaping_BW <= apbi.pwdata(0); |
|
349 | WHEN "001000" => reg_wp.data_shaping_BW <= apbi.pwdata(0); | |
350 | reg_wp.data_shaping_SP0 <= apbi.pwdata(1); |
|
350 | reg_wp.data_shaping_SP0 <= apbi.pwdata(1); | |
351 | reg_wp.data_shaping_SP1 <= apbi.pwdata(2); |
|
351 | reg_wp.data_shaping_SP1 <= apbi.pwdata(2); | |
352 | reg_wp.data_shaping_R0 <= apbi.pwdata(3); |
|
352 | reg_wp.data_shaping_R0 <= apbi.pwdata(3); | |
@@ -365,10 +365,10 BEGIN -- beh | |||||
365 | WHEN "001110" => reg_wp.status_full <= apbi.pwdata(3 DOWNTO 0); |
|
365 | WHEN "001110" => reg_wp.status_full <= apbi.pwdata(3 DOWNTO 0); | |
366 | reg_wp.status_full_err <= apbi.pwdata(7 DOWNTO 4); |
|
366 | reg_wp.status_full_err <= apbi.pwdata(7 DOWNTO 4); | |
367 | reg_wp.status_new_err <= apbi.pwdata(11 DOWNTO 8); |
|
367 | reg_wp.status_new_err <= apbi.pwdata(11 DOWNTO 8); | |
368 |
status_full_ack(0) <= reg_wp.status_full(0) AND |
|
368 | status_full_ack(0) <= reg_wp.status_full(0) AND NOT apbi.pwdata(0); | |
369 |
status_full_ack(1) <= reg_wp.status_full(1) AND |
|
369 | status_full_ack(1) <= reg_wp.status_full(1) AND NOT apbi.pwdata(1); | |
370 |
status_full_ack(2) <= reg_wp.status_full(2) AND |
|
370 | status_full_ack(2) <= reg_wp.status_full(2) AND NOT apbi.pwdata(2); | |
371 |
status_full_ack(3) <= reg_wp.status_full(3) AND |
|
371 | status_full_ack(3) <= reg_wp.status_full(3) AND NOT apbi.pwdata(3); | |
372 | WHEN "001111" => reg_wp.delta_snapshot <= apbi.pwdata(delta_snapshot_size-1 DOWNTO 0); |
|
372 | WHEN "001111" => reg_wp.delta_snapshot <= apbi.pwdata(delta_snapshot_size-1 DOWNTO 0); | |
373 | WHEN "010000" => reg_wp.delta_f2_f1 <= apbi.pwdata(delta_f2_f1_size-1 DOWNTO 0); |
|
373 | WHEN "010000" => reg_wp.delta_f2_f1 <= apbi.pwdata(delta_f2_f1_size-1 DOWNTO 0); | |
374 | WHEN "010001" => reg_wp.delta_f2_f0 <= apbi.pwdata(delta_f2_f0_size-1 DOWNTO 0); |
|
374 | WHEN "010001" => reg_wp.delta_f2_f0 <= apbi.pwdata(delta_f2_f0_size-1 DOWNTO 0); |
General Comments 0
You need to be logged in to leave comments.
Login now