4 (insert-string (format "parameter I_ = 8'h%02x;\n" i))
7 parameter I_TRAP
= 8'h00
;
8 parameter I_FCMP
= 8'h01
;
9 parameter I_FUN
= 8'h02
;
10 parameter I_FEQL
= 8'h03
;
11 parameter I_FADD
= 8'h04
;
12 parameter I_FIX
= 8'h05
;
13 parameter I_FSUB
= 8'h06
;
14 parameter I_FIXU
= 8'h07
;
15 parameter I_FLOT
= 8'h08
;
16 parameter I_FLOTI
= 8'h09
;
17 parameter I_FLOTU
= 8'h0a
;
18 parameter I_FLOTUI
= 8'h0b
;
19 parameter I_SFLOT
= 8'h0c
;
20 parameter I_SFLOTI
= 8'h0d
;
21 parameter I_SFLOTU
= 8'h0e
;
22 parameter I_SFLOTUI
= 8'h0f
;
23 parameter I_FMUL
= 8'h10
;
24 parameter I_FCMPE
= 8'h11
;
25 parameter I_FUNE
= 8'h12
;
26 parameter I_FEQLE
= 8'h13
;
27 parameter I_FDIV
= 8'h14
;
28 parameter I_FSQRT
= 8'h15
;
29 parameter I_FREM
= 8'h16
;
30 parameter I_FINT
= 8'h17
;
31 parameter I_MUL
= 8'h18
;
32 parameter I_MULI
= 8'h19
;
33 parameter I_MULU
= 8'h1a
;
34 parameter I_MULUI
= 8'h1b
;
35 parameter I_DIV
= 8'h1c
;
36 parameter I_DIVI
= 8'h1d
;
37 parameter I_DIVU
= 8'h1e
;
38 parameter I_DIVUI
= 8'h1f
;
39 parameter I_ADD
= 8'h20
;
40 parameter I_ADDI
= 8'h21
;
41 parameter I_ADDU
= 8'h22
;
42 parameter I_ADDUI
= 8'h23
;
43 parameter I_SUB
= 8'h24
;
44 parameter I_SUBI
= 8'h25
;
45 parameter I_SUBU
= 8'h26
;
46 parameter I_SUBUI
= 8'h27
;
47 parameter I_2ADDU
= 8'h28
;
48 parameter I_2ADDUI
= 8'h29
;
49 parameter I_4ADDU
= 8'h2a
;
50 parameter I_4ADDUI
= 8'h2b
;
51 parameter I_8ADDU
= 8'h2c
;
52 parameter I_8ADDUI
= 8'h2d
;
53 parameter I_16ADDU
= 8'h2e
;
54 parameter I_16ADDUI
= 8'h2f
;
55 parameter I_CMP
= 8'h30
;
56 parameter I_CMPI
= 8'h31
;
57 parameter I_CMPU
= 8'h32
;
58 parameter I_CMPUI
= 8'h33
;
59 parameter I_NEG
= 8'h34
;
60 parameter I_NEGI
= 8'h35
;
61 parameter I_NEGU
= 8'h36
;
62 parameter I_NEGUI
= 8'h37
;
63 parameter I_SL
= 8'h38
;
64 parameter I_SLI
= 8'h39
;
65 parameter I_SLU
= 8'h3a
;
66 parameter I_SLUI
= 8'h3b
;
67 parameter I_SR
= 8'h3c
;
68 parameter I_SRI
= 8'h3d
;
69 parameter I_SRU
= 8'h3e
;
70 parameter I_SRUI
= 8'h3f
;
71 parameter I_BN
= 8'h40
;
72 parameter I_BNB
= 8'h41
;
73 parameter I_BZ
= 8'h42
;
74 parameter I_BZB
= 8'h43
;
75 parameter I_BP
= 8'h44
;
76 parameter I_BPB
= 8'h45
;
77 parameter I_BOD
= 8'h46
;
78 parameter I_BODB
= 8'h47
;
79 parameter I_BNN
= 8'h48
;
80 parameter I_BNNB
= 8'h49
;
81 parameter I_BNZ
= 8'h4a
;
82 parameter I_BNZB
= 8'h4b
;
83 parameter I_BNP
= 8'h4c
;
84 parameter I_BNPB
= 8'h4d
;
85 parameter I_BNOD
= 8'h4e
; // == EVEN
86 parameter I_BNODB
= 8'h4f
; // == EVEN
87 parameter I_PBN
= 8'h50
;
88 parameter I_PBNB
= 8'h51
;
89 parameter I_PBZ
= 8'h52
;
90 parameter I_PBZB
= 8'h53
;
91 parameter I_PBP
= 8'h54
;
92 parameter I_PBPB
= 8'h55
;
93 parameter I_PBOD
= 8'h56
;
94 parameter I_PBODB
= 8'h57
;
95 parameter I_PBNN
= 8'h58
;
96 parameter I_PBNNB
= 8'h59
;
97 parameter I_PBNZ
= 8'h5a
;
98 parameter I_PBNZB
= 8'h5b
;
99 parameter I_PBNP
= 8'h5c
;
100 parameter I_PBNPB
= 8'h5d
;
101 parameter I_PBNOD
= 8'h5e
; // == EVEN
102 parameter I_PBNODB
= 8'h5f
; // == EVEN
103 parameter I_CSN
= 8'h60
;
104 parameter I_CSNI
= 8'h61
;
105 parameter I_CSZ
= 8'h62
;
106 parameter I_CSZI
= 8'h63
;
107 parameter I_CSP
= 8'h64
;
108 parameter I_CSPI
= 8'h65
;
109 parameter I_CSOD
= 8'h66
;
110 parameter I_CSODI
= 8'h67
;
111 parameter I_CSNN
= 8'h68
;
112 parameter I_CSNNI
= 8'h69
;
113 parameter I_CSNZ
= 8'h6a
;
114 parameter I_CSNZI
= 8'h6b
;
115 parameter I_CSNP
= 8'h6c
;
116 parameter I_CSNPI
= 8'h6d
;
117 parameter I_CSEV
= 8'h6e
;
118 parameter I_CSEVI
= 8'h6f
;
119 parameter I_ZSN
= 8'h70
;
120 parameter I_ZSNI
= 8'h71
;
121 parameter I_ZSZ
= 8'h72
;
122 parameter I_ZSZI
= 8'h73
;
123 parameter I_ZSP
= 8'h74
;
124 parameter I_ZSPI
= 8'h75
;
125 parameter I_ZSOD
= 8'h76
;
126 parameter I_ZSODI
= 8'h77
;
127 parameter I_ZSNN
= 8'h78
;
128 parameter I_ZSNNI
= 8'h79
;
129 parameter I_ZSNZ
= 8'h7a
;
130 parameter I_ZSNZI
= 8'h7b
;
131 parameter I_ZSNP
= 8'h7c
;
132 parameter I_ZSNPI
= 8'h7d
;
133 parameter I_ZSEV
= 8'h7e
;
134 parameter I_ZSEVI
= 8'h7f
;
135 parameter I_LDB
= 8'h80
;
136 parameter I_LDBI
= 8'h81
;
137 parameter I_LDBU
= 8'h82
;
138 parameter I_LDBUI
= 8'h83
;
139 parameter I_LDW
= 8'h84
;
140 parameter I_LDWI
= 8'h85
;
141 parameter I_LDWU
= 8'h86
;
142 parameter I_LDWUI
= 8'h87
;
143 parameter I_LDT
= 8'h88
;
144 parameter I_LDTI
= 8'h89
;
145 parameter I_LDTU
= 8'h8a
;
146 parameter I_LDTUI
= 8'h8b
;
147 parameter I_LDO
= 8'h8c
;
148 parameter I_LDOI
= 8'h8d
;
149 parameter I_LDOU
= 8'h8e
;
150 parameter I_LDOUI
= 8'h8f
;
151 parameter I_LDSF
= 8'h90
;
152 parameter I_LDSFI
= 8'h91
;
153 parameter I_LDHT
= 8'h92
;
154 parameter I_LDHTI
= 8'h93
;
155 parameter I_CSWAP
= 8'h94
;
156 parameter I_CSWAPI
= 8'h95
;
157 parameter I_LDUNC
= 8'h96
;
158 parameter I_LDUNCI
= 8'h97
;
159 parameter I_LDVTS
= 8'h98
;
160 parameter I_LDVTSI
= 8'h99
;
161 parameter I_PRELD
= 8'h9a
;
162 parameter I_PRELDI
= 8'h9b
;
163 parameter I_PREGO
= 8'h9c
;
164 parameter I_PREGOI
= 8'h9d
;
165 parameter I_GO
= 8'h9e
;
166 parameter I_GOI
= 8'h9f
;
167 parameter I_STB
= 8'ha0
;
168 parameter I_STBI
= 8'ha1
;
169 parameter I_STBU
= 8'ha2
;
170 parameter I_STBUI
= 8'ha3
;
171 parameter I_STW
= 8'ha4
;
172 parameter I_STWI
= 8'ha5
;
173 parameter I_STWU
= 8'ha6
;
174 parameter I_STWUI
= 8'ha7
;
175 parameter I_STT
= 8'ha8
;
176 parameter I_STTI
= 8'ha9
;
177 parameter I_STTU
= 8'haa
;
178 parameter I_STTUI
= 8'hab
;
179 parameter I_STO
= 8'hac
;
180 parameter I_STOI
= 8'had
;
181 parameter I_STOU
= 8'hae
;
182 parameter I_STOUI
= 8'haf
;
183 parameter I_STSF
= 8'hb0
;
184 parameter I_STSFI
= 8'hb1
;
185 parameter I_STHT
= 8'hb2
;
186 parameter I_STHTI
= 8'hb3
;
187 parameter I_STCO
= 8'hb4
;
188 parameter I_STCOI
= 8'hb5
;
189 parameter I_STUNC
= 8'hb6
;
190 parameter I_STUNCI
= 8'hb7
;
191 parameter I_SYNCD
= 8'hb8
;
192 parameter I_SYNCDI
= 8'hb9
;
193 parameter I_PREST
= 8'hba
;
194 parameter I_PRESTI
= 8'hbb
;
195 parameter I_SYNCID
= 8'hbc
;
196 parameter I_SYNCIDI
= 8'hbd
;
197 parameter I_PUSHGO
= 8'hbe
;
198 parameter I_PUSHGOI
= 8'hbf
;
199 parameter I_OR
= 8'hc0
;
200 parameter I_ORI
= 8'hc1
;
201 parameter I_ORN
= 8'hc2
;
202 parameter I_ORNI
= 8'hc3
;
203 parameter I_NOR
= 8'hc4
;
204 parameter I_NORI
= 8'hc5
;
205 parameter I_XOR
= 8'hc6
;
206 parameter I_XORI
= 8'hc7
;
207 parameter I_AND
= 8'hc8
;
208 parameter I_ANDI
= 8'hc9
;
209 parameter I_ANDN
= 8'hca
;
210 parameter I_ANDNI
= 8'hcb
;
211 parameter I_NAND
= 8'hcc
;
212 parameter I_NANDI
= 8'hcd
;
213 parameter I_NXOR
= 8'hce
;
214 parameter I_NXORI
= 8'hcf
;
215 parameter I_BDIF
= 8'hd0
;
216 parameter I_BDIFI
= 8'hd1
;
217 parameter I_WDIF
= 8'hd2
;
218 parameter I_WDIFI
= 8'hd3
;
219 parameter I_TDIF
= 8'hd4
;
220 parameter I_TDIFI
= 8'hd5
;
221 parameter I_ODIF
= 8'hd6
;
222 parameter I_ODIFI
= 8'hd7
;
223 parameter I_MUX
= 8'hd8
;
224 parameter I_MUXI
= 8'hd9
;
225 parameter I_SADD
= 8'hda
;
226 parameter I_SADDI
= 8'hdb
;
227 parameter I_MOR
= 8'hdc
;
228 parameter I_MORI
= 8'hdd
;
229 parameter I_MXOR
= 8'hde
;
230 parameter I_MXORI
= 8'hdf
;
231 parameter I_SETH
= 8'he0
;
232 parameter I_SETMH
= 8'he1
;
233 parameter I_SETML
= 8'he2
;
234 parameter I_SETL
= 8'he3
;
235 parameter I_INCH
= 8'he4
;
236 parameter I_INCMH
= 8'he5
;
237 parameter I_INCML
= 8'he6
;
238 parameter I_INCL
= 8'he7
;
239 parameter I_ORH
= 8'he8
;
240 parameter I_ORMH
= 8'he9
;
241 parameter I_ORML
= 8'hea
;
242 parameter I_ORL
= 8'heb
;
243 parameter I_ANDNH
= 8'hec
;
244 parameter I_ANDNMH
= 8'hed
;
245 parameter I_ANDNML
= 8'hee
;
246 parameter I_ANDNL
= 8'hef
;
247 parameter I_JMP
= 8'hf0
;
248 parameter I_JMPB
= 8'hf1
;
249 parameter I_PUSHJ
= 8'hf2
;
250 parameter I_PUSHJB
= 8'hf3
;
251 parameter I_GETA
= 8'hf4
;
252 parameter I_GETAB
= 8'hf5
;
253 parameter I_PUT
= 8'hf6
;
254 parameter I_PUTI
= 8'hf7
;
255 parameter I_POP
= 8'hf8
;
256 parameter I_RESUME
= 8'hf9
;
257 parameter I_SAVE
= 8'hfa
;
258 parameter I_UNSAVE
= 8'hfb
;
259 parameter I_SYNC
= 8'hfc
;
260 parameter I_SWYM
= 8'hfd
;
261 parameter I_GET
= 8'hfe
;
262 parameter I_TRIP
= 8'hff
;
264 /* Special registers */
272 parameter REG_BB
= 7;
275 parameter REG_O
= 10;
276 parameter REG_S
= 11;
277 parameter REG_I
= 12; // Priviledged vvvvvvvv
278 parameter REG_T
= 13;
279 parameter REG_TT
= 14;
280 parameter REG_K
= 15;
281 parameter REG_Q
= 16;
282 parameter REG_U
= 17;
283 parameter REG_V
= 18; // ^^^^^^^^^^^^^^^^^^^^
284 parameter REG_G
= 19;
285 parameter REG_L
= 20;
286 parameter REG_A
= 21;
287 parameter REG_F
= 22;
288 parameter REG_P
= 23;
289 parameter REG_W
= 24;
290 parameter REG_X
= 25;
291 parameter REG_Y
= 26;
292 parameter REG_Z
= 27;
293 parameter REG_WW
= 28;
294 parameter REG_XX
= 29;
295 parameter REG_YY
= 30;
296 parameter REG_ZZ
= 31;