Skip to content

Commit 3dcb13d

Browse files
committed
decoder readme
1 parent 006add0 commit 3dcb13d

File tree

1 file changed

+30
-13
lines changed

1 file changed

+30
-13
lines changed

README.md

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,23 @@ cargo test -- --nocapture
9999

100100
You can also run the test directly from within vscode by pressing the `Run Test` button.
101101

102+
## Vips registers
103+
104+
| Number | Name |
105+
| :----: | :------: |
106+
| 0 | zero |
107+
| 1 | at |
108+
| 2..3 | v0..v1 |
109+
| 4..7 | a0..a2 |
110+
| 8..15 | t0..t7 |
111+
| 16..23 | s0..s7 |
112+
| 24..25 | t8..t9 |
113+
| 26..27 | k0..k1 |
114+
| 28 | gp |
115+
| 29 | sp |
116+
| 30 | fp |
117+
| 31 | ra |
118+
102119
## Modules
103120

104121
### Alu
@@ -109,7 +126,7 @@ The Alu module, configured for 4 bit wide inputs:
109126

110127
The Alu has the `sub` and `op` inputs defined as follows:
111128

112-
| Operation | `sub` | `op` |
129+
| Operation | `sub` | `op` |
113130
| --------- | :---: | :--: |
114131
| and | 0 | 00 |
115132
| or | 0 | 01 |
@@ -121,20 +138,20 @@ The Alu has the `sub` and `op` inputs defined as follows:
121138

122139
The VIPS support a subset of the MIPS32 ISA:
123140

124-
125-
| Operation | `rf_we` | `sub` | `op` | `alu_src` |
126-
| --------- | :-----: | :---: | :--: | :------: |
127-
| and | 1 | 0 | 00 | 0 | |
128-
| or | 1 | 0 | 01 | 0 | |
129-
| add | 1 | 0 | 10 | 0 | |
130-
| sub | 1 | 1 | 10 | 0 | |
131-
| slt | 1 | 1 | 11 | 0 | |
132-
| addi | 1 | 0 | 10 | 0 | |
133-
| subi | 1 | 1 | 10 | 0 | |
134-
| slti | 1 | 1 | 11 | 0 | |
141+
| Operation | `rf_we` | `wb_reg` | `sub` | `op` | `alu_src` | `sign_ext` |
142+
| --------- | :-----: | :------: | :---: | :--: | :------: | :--------: |
143+
| and | 1 | 1 | 0 | 00 | 0 | x |
144+
| or | 1 | 1 | 0 | 01 | 0 | x |
145+
| add | 1 | 1 | 0 | 10 | 0 | x |
146+
| sub | 1 | 1 | 1 | 10 | 0 | x |
147+
| slt | 1 | 1 | 1 | 11 | 0 | x |
148+
| andi | 1 | 0 | 0 | 00 | 1 | 0 |
149+
| ori | 1 | 0 | 0 | 01 | 1 | 0 |
150+
| addi | 1 | 0 | 0 | 10 | 1 | 1 |
151+
| slti | 1 | 0 | 1 | 11 | 1 | 1 |
135152

136153
![image](images/decoder.svg)
137-
154+
138155
## List of current tests
139156

140157
For now using the explicit syntax for declaring dependencies.

0 commit comments

Comments
 (0)