2 use ieee.std_logic_1164.all;
4 package insn_helpers is
5 function insn_rs (insn_in : std_ulogic_vector) return std_ulogic_vector;
6 function insn_rt (insn_in : std_ulogic_vector) return std_ulogic_vector;
7 function insn_ra (insn_in : std_ulogic_vector) return std_ulogic_vector;
8 function insn_rb (insn_in : std_ulogic_vector) return std_ulogic_vector;
9 function insn_si (insn_in : std_ulogic_vector) return std_ulogic_vector;
10 function insn_ui (insn_in : std_ulogic_vector) return std_ulogic_vector;
11 function insn_l (insn_in : std_ulogic_vector) return std_ulogic;
12 function insn_sh32 (insn_in : std_ulogic_vector) return std_ulogic_vector;
13 function insn_mb32 (insn_in : std_ulogic_vector) return std_ulogic_vector;
14 function insn_me32 (insn_in : std_ulogic_vector) return std_ulogic_vector;
15 function insn_li (insn_in : std_ulogic_vector) return std_ulogic_vector;
16 function insn_lk (insn_in : std_ulogic_vector) return std_ulogic;
17 function insn_aa (insn_in : std_ulogic_vector) return std_ulogic;
18 function insn_rc (insn_in : std_ulogic_vector) return std_ulogic;
19 function insn_oe (insn_in : std_ulogic_vector) return std_ulogic;
20 function insn_bd (insn_in : std_ulogic_vector) return std_ulogic_vector;
21 function insn_bf (insn_in : std_ulogic_vector) return std_ulogic_vector;
22 function insn_bfa (insn_in : std_ulogic_vector) return std_ulogic_vector;
23 function insn_cr (insn_in : std_ulogic_vector) return std_ulogic_vector;
24 function insn_bt (insn_in : std_ulogic_vector) return std_ulogic_vector;
25 function insn_ba (insn_in : std_ulogic_vector) return std_ulogic_vector;
26 function insn_bb (insn_in : std_ulogic_vector) return std_ulogic_vector;
27 function insn_fxm (insn_in : std_ulogic_vector) return std_ulogic_vector;
28 function insn_bo (insn_in : std_ulogic_vector) return std_ulogic_vector;
29 function insn_bi (insn_in : std_ulogic_vector) return std_ulogic_vector;
30 function insn_bh (insn_in : std_ulogic_vector) return std_ulogic_vector;
31 function insn_d (insn_in : std_ulogic_vector) return std_ulogic_vector;
32 function insn_ds (insn_in : std_ulogic_vector) return std_ulogic_vector;
33 function insn_to (insn_in : std_ulogic_vector) return std_ulogic_vector;
34 function insn_bc (insn_in : std_ulogic_vector) return std_ulogic_vector;
35 function insn_sh (insn_in : std_ulogic_vector) return std_ulogic_vector;
36 function insn_me (insn_in : std_ulogic_vector) return std_ulogic_vector;
37 function insn_mb (insn_in : std_ulogic_vector) return std_ulogic_vector;
38 end package insn_helpers;
40 package body insn_helpers is
41 function insn_rs (insn_in : std_ulogic_vector) return std_ulogic_vector is
43 return insn_in(25 downto 21);
46 function insn_rt (insn_in : std_ulogic_vector) return std_ulogic_vector is
48 return insn_in(25 downto 21);
51 function insn_ra (insn_in : std_ulogic_vector) return std_ulogic_vector is
53 return insn_in(20 downto 16);
56 function insn_rb (insn_in : std_ulogic_vector) return std_ulogic_vector is
58 return insn_in(15 downto 11);
61 function insn_si (insn_in : std_ulogic_vector) return std_ulogic_vector is
63 return insn_in(15 downto 0);
66 function insn_ui (insn_in : std_ulogic_vector) return std_ulogic_vector is
68 return insn_in(15 downto 0);
71 function insn_l (insn_in : std_ulogic_vector) return std_ulogic is
76 function insn_sh32 (insn_in : std_ulogic_vector) return std_ulogic_vector is
78 return insn_in(15 downto 11);
81 function insn_mb32 (insn_in : std_ulogic_vector) return std_ulogic_vector is
83 return insn_in(10 downto 6);
86 function insn_me32 (insn_in : std_ulogic_vector) return std_ulogic_vector is
88 return insn_in(5 downto 1);
91 function insn_li (insn_in : std_ulogic_vector) return std_ulogic_vector is
93 return insn_in(25 downto 2);
96 function insn_lk (insn_in : std_ulogic_vector) return std_ulogic is
101 function insn_aa (insn_in : std_ulogic_vector) return std_ulogic is
106 function insn_rc (insn_in : std_ulogic_vector) return std_ulogic is
111 function insn_oe (insn_in : std_ulogic_vector) return std_ulogic is
116 function insn_bd (insn_in : std_ulogic_vector) return std_ulogic_vector is
118 return insn_in(15 downto 2);
121 function insn_bf (insn_in : std_ulogic_vector) return std_ulogic_vector is
123 return insn_in(25 downto 23);
126 function insn_bfa (insn_in : std_ulogic_vector) return std_ulogic_vector is
128 return insn_in(20 downto 18);
131 function insn_cr (insn_in : std_ulogic_vector) return std_ulogic_vector is
133 return insn_in(10 downto 1);
136 function insn_bb (insn_in : std_ulogic_vector) return std_ulogic_vector is
138 return insn_in(15 downto 11);
141 function insn_ba (insn_in : std_ulogic_vector) return std_ulogic_vector is
143 return insn_in(20 downto 16);
146 function insn_bt (insn_in : std_ulogic_vector) return std_ulogic_vector is
148 return insn_in(25 downto 21);
151 function insn_fxm (insn_in : std_ulogic_vector) return std_ulogic_vector is
153 return insn_in(19 downto 12);
156 function insn_bo (insn_in : std_ulogic_vector) return std_ulogic_vector is
158 return insn_in(25 downto 21);
161 function insn_bi (insn_in : std_ulogic_vector) return std_ulogic_vector is
163 return insn_in(20 downto 16);
166 function insn_bh (insn_in : std_ulogic_vector) return std_ulogic_vector is
168 return insn_in(12 downto 11);
171 function insn_d (insn_in : std_ulogic_vector) return std_ulogic_vector is
173 return insn_in(15 downto 0);
176 function insn_ds (insn_in : std_ulogic_vector) return std_ulogic_vector is
178 return insn_in(15 downto 2);
181 function insn_to (insn_in : std_ulogic_vector) return std_ulogic_vector is
183 return insn_in(25 downto 21);
186 function insn_bc (insn_in : std_ulogic_vector) return std_ulogic_vector is
188 return insn_in(10 downto 6);
191 function insn_sh (insn_in : std_ulogic_vector) return std_ulogic_vector is
193 return insn_in(1) & insn_in(15 downto 11);
196 function insn_me (insn_in : std_ulogic_vector) return std_ulogic_vector is
198 return insn_in(5) & insn_in(10 downto 6);
201 function insn_mb (insn_in : std_ulogic_vector) return std_ulogic_vector is
203 return insn_in(5) & insn_in(10 downto 6);
205 end package body insn_helpers;