8 use IEEE.std_logic_1164.
all;
9 use IEEE.numeric_std.
all;
13 ap_ready : OUT STD_LOGIC;
14 x_3_val : IN STD_LOGIC_VECTOR (15 downto 0);
15 x_6_val : IN STD_LOGIC_VECTOR (15 downto 0);
16 ap_return : OUT STD_LOGIC_VECTOR (5 downto 0) );
21 constant ap_const_logic_1 : STD_LOGIC := '1';
22 constant ap_const_boolean_1 : BOOLEAN := true;
23 constant ap_const_lv32_3 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000011";
24 constant ap_const_lv32_F : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000001111";
25 constant ap_const_lv13_0 : STD_LOGIC_VECTOR (12 downto 0) := "0000000000000";
26 constant ap_const_lv16_56 : STD_LOGIC_VECTOR (15 downto 0) := "0000000001010110";
27 constant ap_const_lv16_45 : STD_LOGIC_VECTOR (15 downto 0) := "0000000001000101";
28 constant ap_const_lv1_1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
29 constant ap_const_lv2_2 : STD_LOGIC_VECTOR (1 downto 0) := "10";
30 constant ap_const_lv2_3 : STD_LOGIC_VECTOR (1 downto 0) := "11";
31 constant ap_const_lv6_2B : STD_LOGIC_VECTOR (5 downto 0) := "101011";
32 constant ap_const_lv6_33 : STD_LOGIC_VECTOR (5 downto 0) := "110011";
33 constant ap_const_lv6_2F : STD_LOGIC_VECTOR (5 downto 0) := "101111";
34 constant ap_const_lv6_28 : STD_LOGIC_VECTOR (5 downto 0) := "101000";
35 constant ap_const_logic_0 : STD_LOGIC := '0';
37 attribute shreg_extract : string;
38 signal tmp_fu_60_p4 : STD_LOGIC_VECTOR (12 downto 0);
39 signal comparison_fu_70_p2 : STD_LOGIC_VECTOR (0 downto 0);
40 signal comparison_32_fu_76_p2 : STD_LOGIC_VECTOR (0 downto 0);
41 signal comparison_33_fu_82_p2 : STD_LOGIC_VECTOR (0 downto 0);
42 signal activation_63_fu_88_p2 : STD_LOGIC_VECTOR (0 downto 0);
43 signal activation_fu_94_p2 : STD_LOGIC_VECTOR (0 downto 0);
44 signal xor_ln170_fu_106_p2 : STD_LOGIC_VECTOR (0 downto 0);
45 signal activation_66_fu_100_p2 : STD_LOGIC_VECTOR (0 downto 0);
46 signal zext_ln170_fu_112_p1 : STD_LOGIC_VECTOR (1 downto 0);
47 signal or_ln170_fu_116_p2 : STD_LOGIC_VECTOR (0 downto 0);
48 signal select_ln170_fu_122_p3 : STD_LOGIC_VECTOR (1 downto 0);
49 signal agg_result_fu_138_p9 : STD_LOGIC_VECTOR (5 downto 0);
50 signal agg_result_fu_138_p10 : STD_LOGIC_VECTOR (1 downto 0);
51 signal agg_result_fu_138_p11 : STD_LOGIC_VECTOR (5 downto 0);
52 signal agg_result_fu_138_p1 : STD_LOGIC_VECTOR (1 downto 0);
53 signal agg_result_fu_138_p3 : STD_LOGIC_VECTOR (1 downto 0);
54 signal agg_result_fu_138_p5 : STD_LOGIC_VECTOR (1 downto 0);
55 signal agg_result_fu_138_p7 : STD_LOGIC_VECTOR (1 downto 0);
56 signal ap_ce_reg : STD_LOGIC;
62 CASE0 :
STD_LOGIC_VECTOR (
1 downto 0);
64 CASE1 :
STD_LOGIC_VECTOR (
1 downto 0);
66 CASE2 :
STD_LOGIC_VECTOR (
1 downto 0);
68 CASE3 :
STD_LOGIC_VECTOR (
1 downto 0);
72 dout_WIDTH :
INTEGER );
74 din0 :
IN STD_LOGIC_VECTOR (
5 downto 0);
75 din1 :
IN STD_LOGIC_VECTOR (
5 downto 0);
76 din2 :
IN STD_LOGIC_VECTOR (
5 downto 0);
77 din3 :
IN STD_LOGIC_VECTOR (
5 downto 0);
78 def :
IN STD_LOGIC_VECTOR (
5 downto 0);
79 sel :
IN STD_LOGIC_VECTOR (
1 downto 0);
80 dout :
OUT STD_LOGIC_VECTOR (
5 downto 0) );
102 din0 => ap_const_lv6_2B,
103 din1 => ap_const_lv6_33,
104 din2 => ap_const_lv6_2F,
105 din3 => ap_const_lv6_28,
106 def => agg_result_fu_138_p9,
107 sel => agg_result_fu_138_p10,
108 dout => agg_result_fu_138_p11
);
113 activation_63_fu_88_p2 <= (comparison_fu_70_p2 xor ap_const_lv1_1);
114 activation_66_fu_100_p2 <= (comparison_33_fu_82_p2 and activation_63_fu_88_p2);
115 activation_fu_94_p2 <= (comparison_fu_70_p2 and comparison_32_fu_76_p2);
116 agg_result_fu_138_p10 <=
117 select_ln170_fu_122_p3 when (or_ln170_fu_116_p2(0) = '1') else
119 agg_result_fu_138_p9 <= "XXXXXX";
120 ap_ready <= ap_const_logic_1;
121 ap_return <= agg_result_fu_138_p11;
122 comparison_32_fu_76_p2 <= "1" when (unsigned(x_6_val) < unsigned(ap_const_lv16_56)) else "0";
123 comparison_33_fu_82_p2 <= "1" when (unsigned(x_6_val) < unsigned(ap_const_lv16_45)) else "0";
124 comparison_fu_70_p2 <= "1" when (tmp_fu_60_p4 = ap_const_lv13_0) else "0";
125 or_ln170_fu_116_p2 <= (comparison_fu_70_p2 or activation_66_fu_100_p2);
126 select_ln170_fu_122_p3 <=
127 zext_ln170_fu_112_p1 when (comparison_fu_70_p2(0) = '1') else
129 tmp_fu_60_p4 <= x_3_val(15 downto 3);
130 xor_ln170_fu_106_p2 <= (ap_const_lv1_1 xor activation_fu_94_p2);
131 zext_ln170_fu_112_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(xor_ln170_fu_106_p2),2));