update control signals for swl/swr
This commit is contained in:
parent
62b8efb8e3
commit
1f94aebd9d
@ -82,7 +82,9 @@ module instr_valid (
|
||||
32'b100110??????????????????????????: valid = 1'b1; // LWR
|
||||
32'b101000??????????????????????????: valid = 1'b1; // SB
|
||||
32'b101001??????????????????????????: valid = 1'b1; // SH
|
||||
32'b101010??????????????????????????: valid = 1'b1; // SWL
|
||||
32'b101011??????????????????????????: valid = 1'b1; // SW
|
||||
32'b101110??????????????????????????: valid = 1'b1; // SWR
|
||||
// 32'b101111?????00000????????????????: valid = 1'b1; // I-Cache Index Invalid
|
||||
// 32'b101111?????01000????????????????: valid = 1'b1; // I-Cache Index Store Tag
|
||||
// 32'b101111?????10000????????????????: valid = 1'b1; // I-Cache Hit Invalid
|
||||
|
@ -62,7 +62,9 @@ table = [
|
||||
('100110??????????????????????????', 'LWR'),
|
||||
('101000??????????????????????????', 'SB'),
|
||||
('101001??????????????????????????', 'SH'),
|
||||
('101010??????????????????????????', 'SWL'),
|
||||
('101011??????????????????????????', 'SW'),
|
||||
('101110??????????????????????????', 'SWR'),
|
||||
]
|
||||
|
||||
class Boolean:
|
||||
@ -83,7 +85,7 @@ class Boolean:
|
||||
|
||||
for inst, name in table:
|
||||
inst = list(Boolean(x) for x in inst[::-1])
|
||||
# print('=====', name, '=====')
|
||||
print('=====', name, '=====')
|
||||
ctrl = {}
|
||||
|
||||
ctrl['BJRJ'] = (~inst[27] & (~inst[31] & ~inst[30] & ~inst[29] & ~inst[28] & ~inst[5] & ~inst[4] & inst[3] & ~inst[2] | ~inst[31] & ~inst[29] & inst[28]) | inst[27] & ~inst[31] & ~inst[29]) & ~inst[26] | ~inst[31] & ~inst[29] & inst[26]
|
||||
|
@ -62,4 +62,6 @@
|
||||
32'h100110?????????????????????????? ADD 0 RS 1 1 IMM 1 ? IX 0 1 // LWR
|
||||
32'b101000?????????????????????????? ADD 0 RS 1 1 IMM 1 ? IX 0 1 // SB
|
||||
32'b101001?????????????????????????? ADD 0 RS 1 1 IMM 1 ? IX 0 1 // SH
|
||||
32'b101011?????????????????????????? ADD 0 RS 1 1 IMM 1 ? IX 0 1 // SW
|
||||
32'b101010?????????????????????????? ADD 0 RS 1 1 IMM 1 ? IX 0 1 // SWL
|
||||
32'b101011?????????????????????????? ADD 0 RS 1 1 IMM 1 ? IX 0 1 // SW
|
||||
32'b101110?????????????????????????? ADD 0 RS 1 1 IMM 1 ? IX 0 1 // SWR
|
@ -62,4 +62,6 @@
|
||||
32'h100110?????????????????????????? 0 0 0 0 1 0 0 0 0 1 // LWR
|
||||
32'b101000?????????????????????????? 0 0 0 0 1 0 0 0 0 1 // SB
|
||||
32'b101001?????????????????????????? 0 0 0 0 1 0 0 0 0 1 // SH
|
||||
32'b101011?????????????????????????? 0 0 0 0 1 0 0 0 0 1 // SW
|
||||
32'b101010?????????????????????????? 0 0 0 0 1 0 0 0 0 1 // SWL
|
||||
32'b101011?????????????????????????? 0 0 0 0 1 0 0 0 0 1 // SW
|
||||
32'b101110?????????????????????????? 0 0 0 0 1 0 0 0 0 1 // SWR
|
@ -62,4 +62,6 @@
|
||||
32'h100110?????????????????????????? ? ? ? 0 ? ? 0 ? ? ? ? // LWR
|
||||
32'b101000?????????????????????????? ? ? ? 0 ? ? 0 ? ? ? ? // SB
|
||||
32'b101001?????????????????????????? ? ? ? 0 ? ? 0 ? ? ? ? // SH
|
||||
32'b101011?????????????????????????? ? ? ? 0 ? ? 0 ? ? ? ? // SW
|
||||
32'b101010?????????????????????????? ? ? ? 0 ? ? 0 ? ? ? ? // SWL
|
||||
32'b101011?????????????????????????? ? ? ? 0 ? ? 0 ? ? ? ? // SW
|
||||
32'b101110?????????????????????????? ? ? ? 0 ? ? 0 ? ? ? ? // SWR
|
@ -60,6 +60,8 @@
|
||||
32'b100100?????????????????????????? 0 0 0 0 1 0 0 ALIGN 0 0 // LBU
|
||||
32'b100101?????????????????????????? 0 0 0 0 1 0 0 ALIGN 0 0 // LHU
|
||||
32'h100110?????????????????????????? 0 0 0 0 1 0 ? URIGHT 1 0 // LWR
|
||||
32'b101000?????????????????????????? 0 0 0 0 1 1 ? ? ? ? // SB
|
||||
32'b101001?????????????????????????? 0 0 0 0 1 1 ? ? ? ? // SH
|
||||
32'b101011?????????????????????????? 0 0 0 0 1 1 ? ? ? ? // SW
|
||||
32'b101000?????????????????????????? 0 0 0 0 1 1 ? ALIGN ? ? // SB
|
||||
32'b101001?????????????????????????? 0 0 0 0 1 1 ? ALIGN ? ? // SH
|
||||
32'b101010?????????????????????????? 0 0 0 0 1 1 ? ULEFT ? ? // SWL
|
||||
32'b101011?????????????????????????? 0 0 0 0 1 1 ? ALIGN ? ? // SW
|
||||
32'b101110?????????????????????????? 0 0 0 0 1 1 ? URIGHT ? ? // SWR
|
@ -62,4 +62,6 @@
|
||||
32'h100110?????????????????????????? 0 0 0 0 // LWR
|
||||
32'b101000?????????????????????????? 0 0 0 0 // SB
|
||||
32'b101001?????????????????????????? 0 0 0 0 // SH
|
||||
32'b101011?????????????????????????? 0 0 0 0 // SW
|
||||
32'b101010?????????????????????????? 0 0 0 0 // SWL
|
||||
32'b101011?????????????????????????? 0 0 0 0 // SW
|
||||
32'b101110?????????????????????????? 0 0 0 0 // SWR
|
@ -62,4 +62,6 @@
|
||||
32'h100110?????????????????????????? 0 // LWR
|
||||
32'b101000?????????????????????????? 0 // SB
|
||||
32'b101001?????????????????????????? 0 // SH
|
||||
32'b101011?????????????????????????? 0 // SW
|
||||
32'b101010?????????????????????????? 0 // SWL
|
||||
32'b101011?????????????????????????? 0 // SW
|
||||
32'b101110?????????????????????????? 0 // SWR
|
@ -62,4 +62,6 @@
|
||||
32'h100110?????????????????????????? 1 RT 1 ? // LWR
|
||||
32'b101000?????????????????????????? 0 ? ? ? // SB
|
||||
32'b101001?????????????????????????? 0 ? ? ? // SH
|
||||
32'b101011?????????????????????????? 0 ? ? ? // SW
|
||||
32'b101010?????????????????????????? 0 ? ? ? // SWL
|
||||
32'b101011?????????????????????????? 0 ? ? ? // SW
|
||||
32'b101110?????????????????????????? 0 ? ? ? // SWR
|
Loading…
Reference in New Issue
Block a user