Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhb2000/computerorganizationexperiment
计算机组成与设计课程实验
https://github.com/zhb2000/computerorganizationexperiment
computer-organization verilog
Last synced: 15 days ago
JSON representation
计算机组成与设计课程实验
- Host: GitHub
- URL: https://github.com/zhb2000/computerorganizationexperiment
- Owner: zhb2000
- Created: 2020-03-02T03:03:49.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-09T04:28:59.000Z (over 4 years ago)
- Last Synced: 2024-11-06T07:12:24.023Z (2 months ago)
- Topics: computer-organization, verilog
- Language: Verilog
- Homepage:
- Size: 894 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 计算机组成与设计课程实验
单周期、多周期的 MIPS CPU## 实验任务
### 单周期
- [x] 实现单周期 CPU,支持 15 条指令
- [x] 对单周期 CPU 进行指令扩展,支持 35 条指令### 多周期
- [x] 实现流水线(没有解决冒险)
- [x] 解决数据冒险
- [x] 解决控制冒险## 实现的指令
实现了以下 35 条指令### R-R运算
add, sub, and, or, slt, sltu, addu, subu, sll, srl, sra, sllv, srlv, srav, xor, nor
### R-I运算
addi, ori, slti, andi, lui
### 加载
lw, lb, lh, lbu, lhu
### 保存
sw, sb, sh
### 分支
beq, bne
### 跳转
j, jal, jr, jalr## 起始地址设置
本实验中,指令和数据分开存放在两个独立的存储器中。然而在 MARS MIPS simulator 中,指令和数据合用一个存储器。为了与 MARS 汇编出的机器指令兼容,使用 `TEXT_BASE_ADDRESS` 和 `DATA_BASE_ADDRESS` 这两个宏设定指令和数据的“起始地址”。| TEXT_BASE_ADDRESS | DATA_BASE_ADDRESS | 备注 |
| ----------------- | ----------------- | ---------------------------------------------- |
| 32'h0000_3000 | 32'h0000_0000 | MARS Configuration: Compact, Data at Address 0 |
| 32'h0000_0000 | 32'h0000_2000 | MARS Configuration: Compact, Text at Address 0 |
| 32'h0000_0000 | 32'h0000_0000 | 指令和数据均从 0 开始编址 |## 设计图
### 单周期
![single](docs/single.png)### 多周期
![multi](docs/multi.png)