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

Back to eFEX documentation
BDTModel_sparsemux_9_2_7_1_1.vhd
1 -- ==============================================================
2 -- Generated by Vitis HLS v2024.1.2
3 -- Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
4 -- Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
5 -- ==============================================================
6 -- 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
7 
8 library IEEE;
9 use IEEE.std_logic_1164.all;
10 use IEEE.numeric_std.all;
11 
13 generic (
14 
15  din0_WIDTH : INTEGER := 1;
16 
17  din1_WIDTH : INTEGER := 1;
18 
19  din2_WIDTH : INTEGER := 1;
20 
21  din3_WIDTH : INTEGER := 1;
22 
23  def_WIDTH : INTEGER := 1;
24  sel_WIDTH : INTEGER := 1;
25  dout_WIDTH : INTEGER := 1;
26 
27  CASE0 : std_logic_vector(1 downto 0);
28 
29  CASE1 : std_logic_vector(1 downto 0);
30 
31  CASE2 : std_logic_vector(1 downto 0);
32 
33  CASE3 : std_logic_vector(1 downto 0);
34 
35  ID : INTEGER := 1;
36  NUM_STAGE : INTEGER := 1
37 );
38 port (
39 
40 
41  din0 : in std_logic_vector (din0_WIDTH-1 downto 0);
42 
43  din1 : in std_logic_vector (din1_WIDTH-1 downto 0);
44 
45  din2 : in std_logic_vector (din2_WIDTH-1 downto 0);
46 
47  din3 : in std_logic_vector (din3_WIDTH-1 downto 0);
48 
49  def : in std_logic_vector (def_WIDTH-1 downto 0);
50  sel : in std_logic_vector (1 downto 0);
51  dout : out std_logic_vector (dout_WIDTH-1 downto 0)
52 );
53 end entity;
54 
56  signal dout_tmp : std_logic_vector (dout_WIDTH-1 downto 0);
57 
58 
59 begin
60 
61  process(din0, din1, din2, din3, sel) is
62  begin
63  case sel is
64 
65  when CASE0 =>
66  dout_tmp <= din0;
67 
68  when CASE1 =>
69  dout_tmp <= din1;
70 
71  when CASE2 =>
72  dout_tmp <= din2;
73 
74  when CASE3 =>
75  dout_tmp <= din3;
76 
77  when others =>
78  dout_tmp <= def;
79  end case;
80  end process;
81 
82 
83  dout <= dout_tmp;
84 
85 
86 
87 
88 end architecture;