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