eFEX firmware  1.7.3
ATLAS l1-calo - electron and tau feature extraction firmware for eFEX boards

Back to eFEX documentation
DelayTree.vhd
1 
108 library IEEE;
109 use IEEE.STD_LOGIC_1164.all;
110 library work;
111 use work.DataTypes.all;
112 
113 entity DelayTree is
114  port (
115  CLK : in std_logic;
116  IN_Words : in DataWords(28 downto 0);
117  OUT_Words : out DataWords(33 downto 0);
118  OUT_Overflows : out std_logic_vector(33 downto 0)
119  );
120 end DelayTree;
121 architecture Behavioral of DelayTree is
122  signal IN_Min_E_threshold : DataWordWithCarry := (others => '0');
123  signal FracEnvMultOverflows_1 : DataWordWithCarry := (others => '0');
124  signal ParFrac_0 : DataWordWithCarry := (others => '0');
125  signal C_IN_EnergyThr_OUT_Word_TO_DelayWC_C_IN_EnergyThr_C_IN_EnergyThr_d_IN_Word : DataWordWithCarry := (others => '0');
126  signal Final_BDTScore_out : DataWordWithCarry := (others => '0');
127  signal C_IN_BDTTOBEnergy_OUT_Word_TO_DelayWC_C_IN_BDTTOBEnergy_C_IN_BDTTOBEnergy_d_IN_Word : DataWordWithCarry := (others => '0');
128  signal C_IN_EnergyThr_out : DataWordWithCarry := (others => '0');
129  signal FracEnvMult_1 : DataWordWithCarry := (others => '0');
130  signal FracCoreSum : DataWordWithCarry := (others => '0');
131  signal TOBEnergyOverflow : DataWordWithCarry := (others => '0');
132  signal C_IN_BDTThr_2_out : DataWordWithCarry := (others => '0');
133  signal C_IN_FracCoreSum_OUT_Word_TO_DelayWC_C_IN_FracCoreSum_C_IN_FracCoreSum_d_IN_Word : DataWordWithCarry := (others => '0');
134  signal BDTThresholds_0 : DataWordWithCarry := (others => '0');
135  signal BDTScore : DataWordWithCarry := (others => '0');
136  signal C_IN_BDTTOBEnergyOverflow_out : DataWordWithCarry := (others => '0');
137  signal BDTThresholds_1 : DataWordWithCarry := (others => '0');
138  signal ParFrac_1 : DataWordWithCarry := (others => '0');
139  signal M_IN_ParFrac_2_out : DataWordWithCarry := (others => '0');
140  signal M_IN_FracEnvSum_out : DataWordWithCarry := (others => '0');
141  signal C_IN_BDTMaxEnergyThr_out : DataWordWithCarry := (others => '0');
142  signal Final_TOBEnergy_out : DataWordWithCarry := (others => '0');
143  signal C_OUT_IsMax : DataWordWithCarry := (others => '0');
144  signal C_IN_Frac_ET_Thr_out : DataWordWithCarry := (others => '0');
145  signal C_IN_FracTOBEnergy_out : DataWordWithCarry := (others => '0');
146  signal Final_IsMax_out : DataWordWithCarry := (others => '0');
147  signal C_IN_BDTMinEnergyThr_out : DataWordWithCarry := (others => '0');
148  signal C_IN_FracTOBEnergyOverflow_OUT_Word_TO_DelayWC_C_IN_FracTOBEnergyOverflow_C_IN_FracTOBEnergyOverflow_d_IN_Word : DataWordWithCarry := (others => '0');
149  signal C_IN_FracEnvMult_1_out : DataWordWithCarry := (others => '0');
150  signal Final_FracCondition_OUT_Word_TO_DelayWC_Final_FracCondition_Final_FracCondition_d_IN_Word : DataWordWithCarry := (others => '0');
151  signal FracEnvMult_0 : DataWordWithCarry := (others => '0');
152  signal Final_FracCondition_out : DataWordWithCarry := (others => '0');
153  signal FracCoreSumOverflow : DataWordWithCarry := (others => '0');
154  signal BDTThresholds_2 : DataWordWithCarry := (others => '0');
155  signal C_IN_FracEnvMultOverflows_1_out : DataWordWithCarry := (others => '0');
156  signal IN_Min_BDT_E_threshold : DataWordWithCarry := (others => '0');
157  signal Final_BDTScore_OUT_Word_TO_DelayWC_Final_BDTScore_Final_BDTScore_d_IN_Word : DataWordWithCarry := (others => '0');
158  signal Final_BDTCondition_OUT_Word_TO_DelayWC_Final_BDTCondition_Final_BDTCondition_d_IN_Word : DataWordWithCarry := (others => '0');
159  signal FracEnvMultOverflows_0 : DataWordWithCarry := (others => '0');
160  signal FracEnvMultOverflows_2 : DataWordWithCarry := (others => '0');
161  signal M_IN_ParFrac_0_out : DataWordWithCarry := (others => '0');
162  signal C_IN_FracEnvSumOverflow_OUT_Word_TO_DelayWC_C_IN_FracEnvSumOverflow_C_IN_FracEnvSumOverflow_d_IN_Word : DataWordWithCarry := (others => '0');
163  signal C_IN_FracEnvMult_2_out : DataWordWithCarry := (others => '0');
164  signal FracEnvMult_2 : DataWordWithCarry := (others => '0');
165  signal C_OUT_BDTCondition : DataWordWithCarry := (others => '0');
166  signal C_IN_FracEnvMultOverflows_2_out : DataWordWithCarry := (others => '0');
167  signal C_OUT_TOBEnergyOverflow : DataWordWithCarry := (others => '0');
168  signal C_IN_BDTScore_out : DataWordWithCarry := (others => '0');
169  signal C_IN_FracEnvMultOverflows_0_out : DataWordWithCarry := (others => '0');
170  signal C_OUT_BDTScore : DataWordWithCarry := (others => '0');
171  signal C_IN_TOBEnergyOverflow_OUT_Word_TO_DelayWC_C_IN_TOBEnergyOverflow_C_IN_TOBEnergyOverflow_d_IN_Word : DataWordWithCarry := (others => '0');
172  signal C_OUT_FracCondition : DataWordWithCarry := (others => '0');
173  signal C_IN_FracEnvSumOverflow_out : DataWordWithCarry := (others => '0');
174  signal C_IN_BDTThr_0_out : DataWordWithCarry := (others => '0');
175  signal C_IN_FracTOBEnergy_OUT_Word_TO_DelayWC_C_IN_FracTOBEnergy_C_IN_FracTOBEnergy_d_IN_Word : DataWordWithCarry := (others => '0');
176  signal C_IN_TOBEnergy_OUT_Word_TO_DelayWC_C_IN_TOBEnergy_C_IN_TOBEnergy_d_IN_Word : DataWordWithCarry := (others => '0');
177  signal FracEnvSumOverflow : DataWordWithCarry := (others => '0');
178  signal C_IN_FracCoreSumOverflow_out : DataWordWithCarry := (others => '0');
179  signal TOBEnergy : DataWordWithCarry := (others => '0');
180  signal SF_IsMax : DataWordWithCarry := (others => '0');
181  signal ParFrac_2 : DataWordWithCarry := (others => '0');
182  signal C_IN_FracEnvMult_0_out : DataWordWithCarry := (others => '0');
183  signal C_IN_TOBEnergyOverflow_out : DataWordWithCarry := (others => '0');
184  signal Final_BDTCondition_out : DataWordWithCarry := (others => '0');
185  signal Final_TOBEnergyOverflow_OUT_Word_TO_DelayWC_Final_TOBEnergyOverflow_Final_TOBEnergyOverflow_d_IN_Word : DataWordWithCarry := (others => '0');
186  signal C_IN_Frac_ET_Thr_OUT_Word_TO_DelayWC_C_IN_Frac_ET_Thr_C_IN_Frac_ET_Thr_d_IN_Word : DataWordWithCarry := (others => '0');
187  signal C_IN_FracTOBEnergyOverflow_out : DataWordWithCarry := (others => '0');
188  signal Final_IsMax_OUT_Word_TO_DelayWC_Final_IsMax_Final_IsMax_d_IN_Word : DataWordWithCarry := (others => '0');
189  signal C_IN_BDTThr_1_out : DataWordWithCarry := (others => '0');
190  signal Final_TOBEnergyOverflow_out : DataWordWithCarry := (others => '0');
191  signal C_IN_BDTScore_OUT_Word_TO_DelayWC_C_IN_BDTScore_C_IN_BDTScore_d_IN_Word : DataWordWithCarry := (others => '0');
192  signal Final_TOBEnergy_OUT_Word_TO_DelayWC_Final_TOBEnergy_Final_TOBEnergy_d_IN_Word : DataWordWithCarry := (others => '0');
193  signal IN_Max_cond_E_threshold : DataWordWithCarry := (others => '0');
194  signal FracEnvSum : DataWordWithCarry := (others => '0');
195  signal C_IN_FracCoreSum_out : DataWordWithCarry := (others => '0');
196  signal C_OUT_TOBEnergy : DataWordWithCarry := (others => '0');
197  signal M_IN_ParFrac_1_out : DataWordWithCarry := (others => '0');
198  signal C_IN_BDTTOBEnergyOverflow_OUT_Word_TO_DelayWC_C_IN_BDTTOBEnergyOverflow_C_IN_BDTTOBEnergyOverflow_d_IN_Word : DataWordWithCarry := (others => '0');
199  signal C_IN_TOBEnergy_out : DataWordWithCarry := (others => '0');
200  signal C_IN_IsMax_out : DataWordWithCarry := (others => '0');
201  signal C_IN_FracCoreSumOverflow_OUT_Word_TO_DelayWC_C_IN_FracCoreSumOverflow_C_IN_FracCoreSumOverflow_d_IN_Word : DataWordWithCarry := (others => '0');
202  signal C_IN_BDTTOBEnergy_out : DataWordWithCarry := (others => '0');
203 begin
204  ParFrac_0(ParFrac_0'high - 1 downto 0) <= IN_Words(0);
205  ParFrac_1(ParFrac_1'high - 1 downto 0) <= IN_Words(1);
206  ParFrac_2(ParFrac_2'high - 1 downto 0) <= IN_Words(2);
207  FracEnvSum(FracEnvSum'high - 1 downto 0) <= IN_Words(3);
208  TOBEnergy(TOBEnergy'high - 1 downto 0) <= IN_Words(4);
209  TOBEnergyOverflow(TOBEnergyOverflow'high - 1 downto 0) <= IN_Words(5);
210  SF_IsMax(SF_IsMax'high - 1 downto 0) <= IN_Words(6);
211  IN_Min_E_threshold(IN_Min_E_threshold'high - 1 downto 0) <= IN_Words(7);
212  BDTScore(BDTScore'high - 1 downto 0) <= IN_Words(8);
213  BDTThresholds_0(BDTThresholds_0'high - 1 downto 0) <= IN_Words(9);
214  BDTThresholds_1(BDTThresholds_1'high - 1 downto 0) <= IN_Words(10);
215  BDTThresholds_2(BDTThresholds_2'high - 1 downto 0) <= IN_Words(11);
216  IN_Max_cond_E_threshold(IN_Max_cond_E_threshold'high - 1 downto 0) <= IN_Words(12);
217  IN_Min_BDT_E_threshold(IN_Min_BDT_E_threshold'high - 1 downto 0) <= IN_Words(13);
218  FracEnvSumOverflow(FracEnvSumOverflow'high - 1 downto 0) <= IN_Words(14);
219  FracCoreSumOverflow(FracCoreSumOverflow'high - 1 downto 0) <= IN_Words(15);
220  FracCoreSum(FracCoreSum'high - 1 downto 0) <= IN_Words(16);
221  FracEnvMult_0(FracEnvMult_0'high - 1 downto 0) <= IN_Words(17);
222  FracEnvMult_1(FracEnvMult_1'high - 1 downto 0) <= IN_Words(18);
223  FracEnvMult_2(FracEnvMult_2'high - 1 downto 0) <= IN_Words(19);
224  FracEnvMultOverflows_0(FracEnvMultOverflows_0'high - 1 downto 0) <= IN_Words(20);
225  FracEnvMultOverflows_1(FracEnvMultOverflows_1'high - 1 downto 0) <= IN_Words(21);
226  FracEnvMultOverflows_2(FracEnvMultOverflows_2'high - 1 downto 0) <= IN_Words(22);
227  C_OUT_TOBEnergy(C_OUT_TOBEnergy'high - 1 downto 0) <= IN_Words(23);
228  C_OUT_TOBEnergyOverflow(C_OUT_TOBEnergyOverflow'high - 1 downto 0) <= IN_Words(24);
229  C_OUT_IsMax(C_OUT_IsMax'high - 1 downto 0) <= IN_Words(25);
230  C_OUT_BDTScore(C_OUT_BDTScore'high - 1 downto 0) <= IN_Words(26);
231  C_OUT_BDTCondition(C_OUT_BDTCondition'high - 1 downto 0) <= IN_Words(27);
232  C_OUT_FracCondition(C_OUT_FracCondition'high - 1 downto 0) <= IN_Words(28);
233  M_IN_ParFrac_0_out <= ParFrac_0;
234  M_IN_ParFrac_1_out <= ParFrac_1;
235  M_IN_ParFrac_2_out <= ParFrac_2;
236  M_IN_FracEnvSum_out <= FracEnvSum;
237  C_IN_TOBEnergy_OUT_Word_TO_DelayWC_C_IN_TOBEnergy_C_IN_TOBEnergy_d_IN_Word <= TOBEnergy;
238  C_IN_TOBEnergyOverflow_OUT_Word_TO_DelayWC_C_IN_TOBEnergyOverflow_C_IN_TOBEnergyOverflow_d_IN_Word <= TOBEnergyOverflow;
239  C_IN_IsMax_out <= SF_IsMax;
240  C_IN_EnergyThr_OUT_Word_TO_DelayWC_C_IN_EnergyThr_C_IN_EnergyThr_d_IN_Word <= IN_Min_E_threshold;
241  C_IN_BDTScore_OUT_Word_TO_DelayWC_C_IN_BDTScore_C_IN_BDTScore_d_IN_Word <= BDTScore;
242  C_IN_BDTThr_0_out <= BDTThresholds_0;
243  C_IN_BDTThr_1_out <= BDTThresholds_1;
244  C_IN_BDTThr_2_out <= BDTThresholds_2;
245  C_IN_BDTMaxEnergyThr_out <= IN_Max_cond_E_threshold;
246  C_IN_BDTMinEnergyThr_out <= IN_Min_BDT_E_threshold;
247  C_IN_BDTTOBEnergy_OUT_Word_TO_DelayWC_C_IN_BDTTOBEnergy_C_IN_BDTTOBEnergy_d_IN_Word <= TOBEnergy;
248  C_IN_BDTTOBEnergyOverflow_OUT_Word_TO_DelayWC_C_IN_BDTTOBEnergyOverflow_C_IN_BDTTOBEnergyOverflow_d_IN_Word <= TOBEnergyOverflow;
249  C_IN_FracTOBEnergy_OUT_Word_TO_DelayWC_C_IN_FracTOBEnergy_C_IN_FracTOBEnergy_d_IN_Word <= TOBEnergy;
250  C_IN_FracTOBEnergyOverflow_OUT_Word_TO_DelayWC_C_IN_FracTOBEnergyOverflow_C_IN_FracTOBEnergyOverflow_d_IN_Word <= TOBEnergyOverflow;
251  C_IN_FracEnvSumOverflow_OUT_Word_TO_DelayWC_C_IN_FracEnvSumOverflow_C_IN_FracEnvSumOverflow_d_IN_Word <= FracEnvSumOverflow;
252  C_IN_FracCoreSumOverflow_OUT_Word_TO_DelayWC_C_IN_FracCoreSumOverflow_C_IN_FracCoreSumOverflow_d_IN_Word <= FracCoreSumOverflow;
253  C_IN_FracCoreSum_OUT_Word_TO_DelayWC_C_IN_FracCoreSum_C_IN_FracCoreSum_d_IN_Word <= FracCoreSum;
254  C_IN_FracEnvMult_0_out <= FracEnvMult_0;
255  C_IN_FracEnvMult_1_out <= FracEnvMult_1;
256  C_IN_FracEnvMult_2_out <= FracEnvMult_2;
257  C_IN_FracEnvMultOverflows_0_out <= FracEnvMultOverflows_0;
258  C_IN_FracEnvMultOverflows_1_out <= FracEnvMultOverflows_1;
259  C_IN_FracEnvMultOverflows_2_out <= FracEnvMultOverflows_2;
260  C_IN_Frac_ET_Thr_OUT_Word_TO_DelayWC_C_IN_Frac_ET_Thr_C_IN_Frac_ET_Thr_d_IN_Word <= IN_Max_cond_E_threshold;
261  Final_TOBEnergy_OUT_Word_TO_DelayWC_Final_TOBEnergy_Final_TOBEnergy_d_IN_Word <= C_OUT_TOBEnergy;
262  Final_TOBEnergyOverflow_OUT_Word_TO_DelayWC_Final_TOBEnergyOverflow_Final_TOBEnergyOverflow_d_IN_Word <= C_OUT_TOBEnergyOverflow;
263  Final_IsMax_OUT_Word_TO_DelayWC_Final_IsMax_Final_IsMax_d_IN_Word <= C_OUT_IsMax;
264  Final_BDTScore_OUT_Word_TO_DelayWC_Final_BDTScore_Final_BDTScore_d_IN_Word <= C_OUT_BDTScore;
265  Final_BDTCondition_OUT_Word_TO_DelayWC_Final_BDTCondition_Final_BDTCondition_d_IN_Word <= C_OUT_BDTCondition;
266  Final_FracCondition_OUT_Word_TO_DelayWC_Final_FracCondition_Final_FracCondition_d_IN_Word <= C_OUT_FracCondition;
267  DelayWC_C_IN_TOBEnergy_C_IN_TOBEnergy_d: entity work.DelayWithCarry
268  generic map (
269  delay => 1
270  )
271  port map (
272  CLK => CLK,
273  IN_Word => C_IN_TOBEnergy_OUT_Word_TO_DelayWC_C_IN_TOBEnergy_C_IN_TOBEnergy_d_IN_Word,
274  OUT_Word => C_IN_TOBEnergy_out
275  );
276  DelayWC_C_IN_TOBEnergyOverflow_C_IN_TOBEnergyOverflow_d: entity work.DelayWithCarry
277  generic map (
278  delay => 1
279  )
280  port map (
281  CLK => CLK,
282  IN_Word => C_IN_TOBEnergyOverflow_OUT_Word_TO_DelayWC_C_IN_TOBEnergyOverflow_C_IN_TOBEnergyOverflow_d_IN_Word,
283  OUT_Word => C_IN_TOBEnergyOverflow_out
284  );
285  DelayWC_C_IN_EnergyThr_C_IN_EnergyThr_d: entity work.DelayWithCarry
286  generic map (
287  delay => 1
288  )
289  port map (
290  CLK => CLK,
291  IN_Word => C_IN_EnergyThr_OUT_Word_TO_DelayWC_C_IN_EnergyThr_C_IN_EnergyThr_d_IN_Word,
292  OUT_Word => C_IN_EnergyThr_out
293  );
294  DelayWC_C_IN_BDTScore_C_IN_BDTScore_d: entity work.DelayWithCarry
295  generic map (
296  delay => 1
297  )
298  port map (
299  CLK => CLK,
300  IN_Word => C_IN_BDTScore_OUT_Word_TO_DelayWC_C_IN_BDTScore_C_IN_BDTScore_d_IN_Word,
301  OUT_Word => C_IN_BDTScore_out
302  );
303  DelayWC_C_IN_BDTTOBEnergy_C_IN_BDTTOBEnergy_d: entity work.DelayWithCarry
304  generic map (
305  delay => 5
306  )
307  port map (
308  CLK => CLK,
309  IN_Word => C_IN_BDTTOBEnergy_OUT_Word_TO_DelayWC_C_IN_BDTTOBEnergy_C_IN_BDTTOBEnergy_d_IN_Word,
310  OUT_Word => C_IN_BDTTOBEnergy_out
311  );
312  DelayWC_C_IN_BDTTOBEnergyOverflow_C_IN_BDTTOBEnergyOverflow_d: entity work.DelayWithCarry
313  generic map (
314  delay => 5
315  )
316  port map (
317  CLK => CLK,
318  IN_Word => C_IN_BDTTOBEnergyOverflow_OUT_Word_TO_DelayWC_C_IN_BDTTOBEnergyOverflow_C_IN_BDTTOBEnergyOverflow_d_IN_Word,
319  OUT_Word => C_IN_BDTTOBEnergyOverflow_out
320  );
321  DelayWC_C_IN_FracTOBEnergy_C_IN_FracTOBEnergy_d: entity work.DelayWithCarry
322  generic map (
323  delay => 3
324  )
325  port map (
326  CLK => CLK,
327  IN_Word => C_IN_FracTOBEnergy_OUT_Word_TO_DelayWC_C_IN_FracTOBEnergy_C_IN_FracTOBEnergy_d_IN_Word,
328  OUT_Word => C_IN_FracTOBEnergy_out
329  );
330  DelayWC_C_IN_FracTOBEnergyOverflow_C_IN_FracTOBEnergyOverflow_d: entity work.DelayWithCarry
331  generic map (
332  delay => 3
333  )
334  port map (
335  CLK => CLK,
336  IN_Word => C_IN_FracTOBEnergyOverflow_OUT_Word_TO_DelayWC_C_IN_FracTOBEnergyOverflow_C_IN_FracTOBEnergyOverflow_d_IN_Word,
337  OUT_Word => C_IN_FracTOBEnergyOverflow_out
338  );
339  DelayWC_C_IN_FracEnvSumOverflow_C_IN_FracEnvSumOverflow_d: entity work.DelayWithCarry
340  generic map (
341  delay => 3
342  )
343  port map (
344  CLK => CLK,
345  IN_Word => C_IN_FracEnvSumOverflow_OUT_Word_TO_DelayWC_C_IN_FracEnvSumOverflow_C_IN_FracEnvSumOverflow_d_IN_Word,
346  OUT_Word => C_IN_FracEnvSumOverflow_out
347  );
348  DelayWC_C_IN_FracCoreSumOverflow_C_IN_FracCoreSumOverflow_d: entity work.DelayWithCarry
349  generic map (
350  delay => 5
351  )
352  port map (
353  CLK => CLK,
354  IN_Word => C_IN_FracCoreSumOverflow_OUT_Word_TO_DelayWC_C_IN_FracCoreSumOverflow_C_IN_FracCoreSumOverflow_d_IN_Word,
355  OUT_Word => C_IN_FracCoreSumOverflow_out
356  );
357  DelayWC_C_IN_FracCoreSum_C_IN_FracCoreSum_d: entity work.DelayWithCarry
358  generic map (
359  delay => 5
360  )
361  port map (
362  CLK => CLK,
363  IN_Word => C_IN_FracCoreSum_OUT_Word_TO_DelayWC_C_IN_FracCoreSum_C_IN_FracCoreSum_d_IN_Word,
364  OUT_Word => C_IN_FracCoreSum_out
365  );
366  DelayWC_C_IN_Frac_ET_Thr_C_IN_Frac_ET_Thr_d: entity work.DelayWithCarry
367  generic map (
368  delay => 3
369  )
370  port map (
371  CLK => CLK,
372  IN_Word => C_IN_Frac_ET_Thr_OUT_Word_TO_DelayWC_C_IN_Frac_ET_Thr_C_IN_Frac_ET_Thr_d_IN_Word,
373  OUT_Word => C_IN_Frac_ET_Thr_out
374  );
375  DelayWC_Final_TOBEnergy_Final_TOBEnergy_d: entity work.DelayWithCarry
376  generic map (
377  delay => 5
378  )
379  port map (
380  CLK => CLK,
381  IN_Word => Final_TOBEnergy_OUT_Word_TO_DelayWC_Final_TOBEnergy_Final_TOBEnergy_d_IN_Word,
382  OUT_Word => Final_TOBEnergy_out
383  );
384  DelayWC_Final_TOBEnergyOverflow_Final_TOBEnergyOverflow_d: entity work.DelayWithCarry
385  generic map (
386  delay => 5
387  )
388  port map (
389  CLK => CLK,
390  IN_Word => Final_TOBEnergyOverflow_OUT_Word_TO_DelayWC_Final_TOBEnergyOverflow_Final_TOBEnergyOverflow_d_IN_Word,
391  OUT_Word => Final_TOBEnergyOverflow_out
392  );
393  DelayWC_Final_IsMax_Final_IsMax_d: entity work.DelayWithCarry
394  generic map (
395  delay => 5
396  )
397  port map (
398  CLK => CLK,
399  IN_Word => Final_IsMax_OUT_Word_TO_DelayWC_Final_IsMax_Final_IsMax_d_IN_Word,
400  OUT_Word => Final_IsMax_out
401  );
402  DelayWC_Final_BDTScore_Final_BDTScore_d: entity work.DelayWithCarry
403  generic map (
404  delay => 1
405  )
406  port map (
407  CLK => CLK,
408  IN_Word => Final_BDTScore_OUT_Word_TO_DelayWC_Final_BDTScore_Final_BDTScore_d_IN_Word,
409  OUT_Word => Final_BDTScore_out
410  );
411  DelayWC_Final_BDTCondition_Final_BDTCondition_d: entity work.DelayWithCarry
412  generic map (
413  delay => 1
414  )
415  port map (
416  CLK => CLK,
417  IN_Word => Final_BDTCondition_OUT_Word_TO_DelayWC_Final_BDTCondition_Final_BDTCondition_d_IN_Word,
418  OUT_Word => Final_BDTCondition_out
419  );
420  DelayWC_Final_FracCondition_Final_FracCondition_d: entity work.DelayWithCarry
421  generic map (
422  delay => 3
423  )
424  port map (
425  CLK => CLK,
426  IN_Word => Final_FracCondition_OUT_Word_TO_DelayWC_Final_FracCondition_Final_FracCondition_d_IN_Word,
427  OUT_Word => Final_FracCondition_out
428  );
429  OUT_Words(0) <= M_IN_ParFrac_0_out(M_IN_ParFrac_0_out'high - 1 downto 0);
430  OUT_Words(1) <= M_IN_ParFrac_1_out(M_IN_ParFrac_1_out'high - 1 downto 0);
431  OUT_Words(2) <= M_IN_ParFrac_2_out(M_IN_ParFrac_2_out'high - 1 downto 0);
432  OUT_Words(3) <= M_IN_FracEnvSum_out(M_IN_FracEnvSum_out'high - 1 downto 0);
433  OUT_Words(4) <= C_IN_TOBEnergy_out(C_IN_TOBEnergy_out'high - 1 downto 0);
434  OUT_Words(5) <= C_IN_TOBEnergyOverflow_out(C_IN_TOBEnergyOverflow_out'high - 1 downto 0);
435  OUT_Words(6) <= C_IN_IsMax_out(C_IN_IsMax_out'high - 1 downto 0);
436  OUT_Words(7) <= C_IN_EnergyThr_out(C_IN_EnergyThr_out'high - 1 downto 0);
437  OUT_Words(8) <= C_IN_BDTScore_out(C_IN_BDTScore_out'high - 1 downto 0);
438  OUT_Words(9) <= C_IN_BDTThr_0_out(C_IN_BDTThr_0_out'high - 1 downto 0);
439  OUT_Words(10) <= C_IN_BDTThr_1_out(C_IN_BDTThr_1_out'high - 1 downto 0);
440  OUT_Words(11) <= C_IN_BDTThr_2_out(C_IN_BDTThr_2_out'high - 1 downto 0);
441  OUT_Words(12) <= C_IN_BDTMaxEnergyThr_out(C_IN_BDTMaxEnergyThr_out'high - 1 downto 0);
442  OUT_Words(13) <= C_IN_BDTMinEnergyThr_out(C_IN_BDTMinEnergyThr_out'high - 1 downto 0);
443  OUT_Words(14) <= C_IN_BDTTOBEnergy_out(C_IN_BDTTOBEnergy_out'high - 1 downto 0);
444  OUT_Words(15) <= C_IN_BDTTOBEnergyOverflow_out(C_IN_BDTTOBEnergyOverflow_out'high - 1 downto 0);
445  OUT_Words(16) <= C_IN_FracTOBEnergy_out(C_IN_FracTOBEnergy_out'high - 1 downto 0);
446  OUT_Words(17) <= C_IN_FracTOBEnergyOverflow_out(C_IN_FracTOBEnergyOverflow_out'high - 1 downto 0);
447  OUT_Words(18) <= C_IN_FracEnvSumOverflow_out(C_IN_FracEnvSumOverflow_out'high - 1 downto 0);
448  OUT_Words(19) <= C_IN_FracCoreSumOverflow_out(C_IN_FracCoreSumOverflow_out'high - 1 downto 0);
449  OUT_Words(20) <= C_IN_FracCoreSum_out(C_IN_FracCoreSum_out'high - 1 downto 0);
450  OUT_Words(21) <= C_IN_FracEnvMult_0_out(C_IN_FracEnvMult_0_out'high - 1 downto 0);
451  OUT_Words(22) <= C_IN_FracEnvMult_1_out(C_IN_FracEnvMult_1_out'high - 1 downto 0);
452  OUT_Words(23) <= C_IN_FracEnvMult_2_out(C_IN_FracEnvMult_2_out'high - 1 downto 0);
453  OUT_Words(24) <= C_IN_FracEnvMultOverflows_0_out(C_IN_FracEnvMultOverflows_0_out'high - 1 downto 0);
454  OUT_Words(25) <= C_IN_FracEnvMultOverflows_1_out(C_IN_FracEnvMultOverflows_1_out'high - 1 downto 0);
455  OUT_Words(26) <= C_IN_FracEnvMultOverflows_2_out(C_IN_FracEnvMultOverflows_2_out'high - 1 downto 0);
456  OUT_Words(27) <= C_IN_Frac_ET_Thr_out(C_IN_Frac_ET_Thr_out'high - 1 downto 0);
457  OUT_Words(28) <= Final_TOBEnergy_out(Final_TOBEnergy_out'high - 1 downto 0);
458  OUT_Words(29) <= Final_TOBEnergyOverflow_out(Final_TOBEnergyOverflow_out'high - 1 downto 0);
459  OUT_Words(30) <= Final_IsMax_out(Final_IsMax_out'high - 1 downto 0);
460  OUT_Words(31) <= Final_BDTScore_out(Final_BDTScore_out'high - 1 downto 0);
461  OUT_Words(32) <= Final_BDTCondition_out(Final_BDTCondition_out'high - 1 downto 0);
462  OUT_Words(33) <= Final_FracCondition_out(Final_FracCondition_out'high - 1 downto 0);
463  OUT_Overflows(0) <= M_IN_ParFrac_0_out(M_IN_ParFrac_0_out'high);
464  OUT_Overflows(1) <= M_IN_ParFrac_1_out(M_IN_ParFrac_1_out'high);
465  OUT_Overflows(2) <= M_IN_ParFrac_2_out(M_IN_ParFrac_2_out'high);
466  OUT_Overflows(3) <= M_IN_FracEnvSum_out(M_IN_FracEnvSum_out'high);
467  OUT_Overflows(4) <= C_IN_TOBEnergy_out(C_IN_TOBEnergy_out'high);
468  OUT_Overflows(5) <= C_IN_TOBEnergyOverflow_out(C_IN_TOBEnergyOverflow_out'high);
469  OUT_Overflows(6) <= C_IN_IsMax_out(C_IN_IsMax_out'high);
470  OUT_Overflows(7) <= C_IN_EnergyThr_out(C_IN_EnergyThr_out'high);
471  OUT_Overflows(8) <= C_IN_BDTScore_out(C_IN_BDTScore_out'high);
472  OUT_Overflows(9) <= C_IN_BDTThr_0_out(C_IN_BDTThr_0_out'high);
473  OUT_Overflows(10) <= C_IN_BDTThr_1_out(C_IN_BDTThr_1_out'high);
474  OUT_Overflows(11) <= C_IN_BDTThr_2_out(C_IN_BDTThr_2_out'high);
475  OUT_Overflows(12) <= C_IN_BDTMaxEnergyThr_out(C_IN_BDTMaxEnergyThr_out'high);
476  OUT_Overflows(13) <= C_IN_BDTMinEnergyThr_out(C_IN_BDTMinEnergyThr_out'high);
477  OUT_Overflows(14) <= C_IN_BDTTOBEnergy_out(C_IN_BDTTOBEnergy_out'high);
478  OUT_Overflows(15) <= C_IN_BDTTOBEnergyOverflow_out(C_IN_BDTTOBEnergyOverflow_out'high);
479  OUT_Overflows(16) <= C_IN_FracTOBEnergy_out(C_IN_FracTOBEnergy_out'high);
480  OUT_Overflows(17) <= C_IN_FracTOBEnergyOverflow_out(C_IN_FracTOBEnergyOverflow_out'high);
481  OUT_Overflows(18) <= C_IN_FracEnvSumOverflow_out(C_IN_FracEnvSumOverflow_out'high);
482  OUT_Overflows(19) <= C_IN_FracCoreSumOverflow_out(C_IN_FracCoreSumOverflow_out'high);
483  OUT_Overflows(20) <= C_IN_FracCoreSum_out(C_IN_FracCoreSum_out'high);
484  OUT_Overflows(21) <= C_IN_FracEnvMult_0_out(C_IN_FracEnvMult_0_out'high);
485  OUT_Overflows(22) <= C_IN_FracEnvMult_1_out(C_IN_FracEnvMult_1_out'high);
486  OUT_Overflows(23) <= C_IN_FracEnvMult_2_out(C_IN_FracEnvMult_2_out'high);
487  OUT_Overflows(24) <= C_IN_FracEnvMultOverflows_0_out(C_IN_FracEnvMultOverflows_0_out'high);
488  OUT_Overflows(25) <= C_IN_FracEnvMultOverflows_1_out(C_IN_FracEnvMultOverflows_1_out'high);
489  OUT_Overflows(26) <= C_IN_FracEnvMultOverflows_2_out(C_IN_FracEnvMultOverflows_2_out'high);
490  OUT_Overflows(27) <= C_IN_Frac_ET_Thr_out(C_IN_Frac_ET_Thr_out'high);
491  OUT_Overflows(28) <= Final_TOBEnergy_out(Final_TOBEnergy_out'high);
492  OUT_Overflows(29) <= Final_TOBEnergyOverflow_out(Final_TOBEnergyOverflow_out'high);
493  OUT_Overflows(30) <= Final_IsMax_out(Final_IsMax_out'high);
494  OUT_Overflows(31) <= Final_BDTScore_out(Final_BDTScore_out'high);
495  OUT_Overflows(32) <= Final_BDTCondition_out(Final_BDTCondition_out'high);
496  OUT_Overflows(33) <= Final_FracCondition_out(Final_FracCondition_out'high);
497 end Behavioral;
Daly for data word format.