-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinst_pack.vhd
More file actions
203 lines (192 loc) · 10.6 KB
/
inst_pack.vhd
File metadata and controls
203 lines (192 loc) · 10.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
library ieee;
use ieee.std_logic_1164.all;
package inst_pack is
constant nop1 : std_logic_vector( 5 downto 0) ;
constant xor1 : std_logic_vector( 5 downto 0) ;
constant and1 : std_logic_vector( 5 downto 0) ;
constant nxor1 : std_logic_vector( 5 downto 0) ;
constant nor1 : std_logic_vector( 5 downto 0) ;
constant nand1 : std_logic_vector( 5 downto 0) ;
constant add1 : std_logic_vector( 5 downto 0) ;
constant sub1 : std_logic_vector( 5 downto 0) ;
constant mul1 : std_logic_vector( 5 downto 0) ;
constant div1 : std_logic_vector( 5 downto 0) ;
constant addfp1 : std_logic_vector( 5 downto 0) ;
constant subfp1 : std_logic_vector( 5 downto 0) ;
constant mulfp1 : std_logic_vector( 5 downto 0) ;
constant divfp1 : std_logic_vector( 5 downto 0) ;
constant cmpreg1 : std_logic_vector( 5 downto 0) ;
constant not1 : std_logic_vector( 5 downto 0) ;
constant abs1 : std_logic_vector( 5 downto 0) ;
constant absfp1 : std_logic_vector( 5 downto 0) ;
constant sllr1 : std_logic_vector( 5 downto 0) ;
constant slar1 : std_logic_vector( 5 downto 0) ;
constant srlr1 : std_logic_vector( 5 downto 0) ;
constant srar1 : std_logic_vector( 5 downto 0) ;
constant rotlr1 : std_logic_vector( 5 downto 0) ;
constant rotrr1 : std_logic_vector( 5 downto 0) ;
constant ldr1 : std_logic_vector( 5 downto 0) ;
constant str1 : std_logic_vector( 5 downto 0) ;
constant xori1 : std_logic_vector( 5 downto 0) ;
constant andi1 : std_logic_vector( 5 downto 0) ;
constant ori1 : std_logic_vector( 5 downto 0) ;
constant nxori1 : std_logic_vector( 5 downto 0) ;
constant nori1 : std_logic_vector( 5 downto 0) ;
constant nandi1 : std_logic_vector( 5 downto 0) ;
constant addi1 : std_logic_vector( 5 downto 0) ;
constant subi1 : std_logic_vector( 5 downto 0) ;
constant muli1 : std_logic_vector( 5 downto 0) ;
constant divi1 : std_logic_vector( 5 downto 0) ;
constant addfpi1 : std_logic_vector( 5 downto 0) ;
constant subfpi1 : std_logic_vector( 5 downto 0) ;
constant mulfpi1 : std_logic_vector( 5 downto 0) ;
constant divfpi1 : std_logic_vector( 5 downto 0) ;
constant cmpregi1 : std_logic_vector( 5 downto 0) ;
constant jmp1 : std_logic_vector( 5 downto 0) ;
constant bre1 : std_logic_vector( 5 downto 0) ;
constant brue1 : std_logic_vector( 5 downto 0) ;
constant brg1 : std_logic_vector( 5 downto 0) ;
constant bls1 : std_logic_vector( 5 downto 0) ;
constant btr1 : std_logic_vector( 5 downto 0) ;
constant bfs1 : std_logic_vector( 5 downto 0) ;
constant jmpr1 : std_logic_vector( 5 downto 0) ;
constant slli1 : std_logic_vector( 5 downto 0) ;
constant slai1 : std_logic_vector( 5 downto 0) ;
constant srli1 : std_logic_vector( 5 downto 0) ;
constant srai1 : std_logic_vector( 5 downto 0) ;
constant rotli1 : std_logic_vector( 5 downto 0) ;
constant rotri1 : std_logic_vector( 5 downto 0) ;
constant li1 : std_logic_vector( 5 downto 0) ;
constant ldm1 : std_logic_vector( 5 downto 0) ;
constant stm1 : std_logic_vector( 5 downto 0) ;
constant goto1 : std_logic_vector( 5 downto 0) ;
constant mov1 : std_logic_vector( 5 downto 0) ;
constant clr1 : std_logic_vector( 5 downto 0) ;
constant R0 : std_logic_vector( 4 downto 0) ;
constant R1 : std_logic_vector( 4 downto 0) ;
constant R2 : std_logic_vector( 4 downto 0) ;
constant R3 : std_logic_vector( 4 downto 0) ;
constant R4 : std_logic_vector( 4 downto 0) ;
constant R5 : std_logic_vector( 4 downto 0) ;
constant R6 : std_logic_vector( 4 downto 0) ;
constant R7 : std_logic_vector( 4 downto 0) ;
constant R8 : std_logic_vector( 4 downto 0) ;
constant R9 : std_logic_vector( 4 downto 0) ;
constant R10 : std_logic_vector( 4 downto 0) ;
constant R11 : std_logic_vector( 4 downto 0) ;
constant R12 : std_logic_vector( 4 downto 0) ;
constant R13 : std_logic_vector( 4 downto 0) ;
constant R14 : std_logic_vector( 4 downto 0) ;
constant R15 : std_logic_vector( 4 downto 0) ;
constant R16 : std_logic_vector( 4 downto 0) ;
constant R17 : std_logic_vector( 4 downto 0) ;
constant R18 : std_logic_vector( 4 downto 0) ;
constant R19 : std_logic_vector( 4 downto 0) ;
constant R20 : std_logic_vector( 4 downto 0) ;
constant R21 : std_logic_vector( 4 downto 0) ;
constant R22 : std_logic_vector( 4 downto 0) ;
constant R23 : std_logic_vector( 4 downto 0) ;
constant R24 : std_logic_vector( 4 downto 0) ;
constant R25 : std_logic_vector( 4 downto 0) ;
constant R26 : std_logic_vector( 4 downto 0) ;
constant R27 : std_logic_vector( 4 downto 0) ;
constant R28 : std_logic_vector( 4 downto 0) ;
constant R29 : std_logic_vector( 4 downto 0) ;
constant R30 : std_logic_vector( 4 downto 0) ;
constant R31 : std_logic_vector( 4 downto 0) ;
end package inst_pack ;
package body inst_pack is
constant nop1 : std_logic_vector( 5 downto 0) := "000000" ;
constant xor1 : std_logic_vector( 5 downto 0) := "000001" ;
constant and1 : std_logic_vector( 5 downto 0) := "000010" ;
constant nxor1 : std_logic_vector( 5 downto 0) := "000100" ;
constant nor1 : std_logic_vector( 5 downto 0) := "000101" ;
constant nand1 : std_logic_vector( 5 downto 0) := "000110" ;
constant add1 : std_logic_vector( 5 downto 0) := "000111" ;
constant sub1 : std_logic_vector( 5 downto 0) := "001000" ;
constant mul1 : std_logic_vector( 5 downto 0) := "001001" ;
constant div1 : std_logic_vector( 5 downto 0) := "001010" ;
constant addfp1 : std_logic_vector( 5 downto 0) := "001011" ;
constant subfp1 : std_logic_vector( 5 downto 0) := "001100" ;
constant mulfp1 : std_logic_vector( 5 downto 0) := "001101" ;
constant divfp1 : std_logic_vector( 5 downto 0) := "001110" ;
constant cmpreg1 : std_logic_vector( 5 downto 0) := "001111" ;
constant not1 : std_logic_vector( 5 downto 0) := "010000" ;
constant abs1 : std_logic_vector( 5 downto 0) := "010001" ;
constant absfp1 : std_logic_vector( 5 downto 0) := "010010" ;
constant sllr1 : std_logic_vector( 5 downto 0) := "010011" ;
constant slar1 : std_logic_vector( 5 downto 0) := "010100" ;
constant srlr1 : std_logic_vector( 5 downto 0) := "010101" ;
constant srar1 : std_logic_vector( 5 downto 0) := "010110" ;
constant rotlr1 : std_logic_vector( 5 downto 0) := "010111" ;
constant rotrr1 : std_logic_vector( 5 downto 0) := "011000" ;
constant ldr1 : std_logic_vector( 5 downto 0) := "011001" ;
constant str1 : std_logic_vector( 5 downto 0) := "011010" ;
constant xori1 : std_logic_vector( 5 downto 0) := "011011" ;
constant andi1 : std_logic_vector( 5 downto 0) := "011100" ;
constant ori1 : std_logic_vector( 5 downto 0) := "011101" ;
constant nxori1 : std_logic_vector( 5 downto 0) := "011110" ;
constant nori1 : std_logic_vector( 5 downto 0) := "011111" ;
constant nandi1 : std_logic_vector( 5 downto 0) := "100000" ;
constant addi1 : std_logic_vector( 5 downto 0) := "100001" ;
constant subi1 : std_logic_vector( 5 downto 0) := "100010" ;
constant muli1 : std_logic_vector( 5 downto 0) := "100011" ;
constant divi1 : std_logic_vector( 5 downto 0) := "100100" ;
constant addfpi1 : std_logic_vector( 5 downto 0) := "100101" ;
constant subfpi1 : std_logic_vector( 5 downto 0) := "100110" ;
constant mulfpi1 : std_logic_vector( 5 downto 0) := "100111" ;
constant divfpi1 : std_logic_vector( 5 downto 0) := "101000" ;
constant cmpregi1 : std_logic_vector( 5 downto 0) := "101001" ;
constant jmp1 : std_logic_vector( 5 downto 0) := "101010" ;
constant bre1 : std_logic_vector( 5 downto 0) := "101011" ;
constant brue1 : std_logic_vector( 5 downto 0) := "101100" ;
constant brg1 : std_logic_vector( 5 downto 0) := "101101" ;
constant bls1 : std_logic_vector( 5 downto 0) := "101110" ;
constant btr1 : std_logic_vector( 5 downto 0) := "101111" ;
constant bfs1 : std_logic_vector( 5 downto 0) := "110000" ;
constant jmpr1 : std_logic_vector( 5 downto 0) := "110001" ;
constant slli1 : std_logic_vector( 5 downto 0) := "110010" ;
constant slai1 : std_logic_vector( 5 downto 0) := "110011" ;
constant srli1 : std_logic_vector( 5 downto 0) := "110100" ;
constant srai1 : std_logic_vector( 5 downto 0) := "110101" ;
constant rotli1 : std_logic_vector( 5 downto 0) := "110110" ;
constant rotri1 : std_logic_vector( 5 downto 0) := "110111" ;
constant li1 : std_logic_vector( 5 downto 0) := "111000" ;
constant ldm1 : std_logic_vector( 5 downto 0) := "111001" ;
constant stm1 : std_logic_vector( 5 downto 0) := "111010" ;
constant goto1 : std_logic_vector( 5 downto 0) := "111111" ;
constant mov1 : std_logic_vector( 5 downto 0) := "111100" ;
constant clr1 : std_logic_vector( 5 downto 0) := "111101" ;
constant R0 : std_logic_vector( 4 downto 0) := "00000" ;
constant R1 : std_logic_vector( 4 downto 0) := "00001" ;
constant R2 : std_logic_vector( 4 downto 0) := "00010" ;
constant R3 : std_logic_vector( 4 downto 0) := "00011" ;
constant R4 : std_logic_vector( 4 downto 0) := "00100" ;
constant R5 : std_logic_vector( 4 downto 0) := "00101" ;
constant R6 : std_logic_vector( 4 downto 0) := "00110" ;
constant R7 : std_logic_vector( 4 downto 0) := "00111" ;
constant R8 : std_logic_vector( 4 downto 0) := "01000" ;
constant R9 : std_logic_vector( 4 downto 0) := "01001" ;
constant R10 : std_logic_vector( 4 downto 0) := "01010" ;
constant R11 : std_logic_vector( 4 downto 0) := "01011" ;
constant R12 : std_logic_vector( 4 downto 0) := "01100" ;
constant R13 : std_logic_vector( 4 downto 0) := "01101" ;
constant R14 : std_logic_vector( 4 downto 0) := "01110" ;
constant R15 : std_logic_vector( 4 downto 0) := "01111" ;
constant R16 : std_logic_vector( 4 downto 0) := "10000" ;
constant R17 : std_logic_vector( 4 downto 0) := "10001" ;
constant R18 : std_logic_vector( 4 downto 0) := "10010" ;
constant R19 : std_logic_vector( 4 downto 0) := "10011" ;
constant R20 : std_logic_vector( 4 downto 0) := "10100" ;
constant R21 : std_logic_vector( 4 downto 0) := "10101" ;
constant R22 : std_logic_vector( 4 downto 0) := "10110" ;
constant R23 : std_logic_vector( 4 downto 0) := "10111" ;
constant R24 : std_logic_vector( 4 downto 0) := "11000" ;
constant R25 : std_logic_vector( 4 downto 0) := "11001" ;
constant R26 : std_logic_vector( 4 downto 0) := "11010" ;
constant R27 : std_logic_vector( 4 downto 0) := "11011" ;
constant R28 : std_logic_vector( 4 downto 0) := "11100" ;
constant R29 : std_logic_vector( 4 downto 0) := "11101" ;
constant R30 : std_logic_vector( 4 downto 0) := "11110" ;
constant R31 : std_logic_vector( 4 downto 0) := "11111" ;
end package body inst_pack;