完善README

This commit is contained in:
WangXuan95 2019-03-21 10:05:29 +08:00
parent 60d9f5d53d
commit 8fa76aa015

View File

@ -20,7 +20,7 @@ USTCRVSoC
* 进行仿真
* 修改指令ROM
# 特点
#特点
* **CPU**5段流水线 RISC-V ,能运行 **RV32I** 指令集中的大部分指令
* **总线**:简单直观的,具有**握手机制**的32-bit地址位宽和32-bit数据位宽的总线
@ -53,7 +53,7 @@ USTCRVSoC
* **指令ROM**:对应文件 instr_rom.sv。CPU默认从这里开始取指令里面的指令流是在硬件代码编译综合时就固定的不能在运行时修改。唯一的修改方法是编辑 **instr_rom.sv** 中的代码然后重新编译综合、烧写FPGA逻辑。因此**instr_rom** 多用于仿真。
* **指令RAM**:对应文件 ram_bus_wrapper.sv。用户使用 isp_uart 在线烧写指令流到这里,然后将 Boot 地址指向这里再复位SoC后CPU就从这里开始运行指令流。
* **数据RAM**:对应文件 ram_bus_wrapper.sv。存放运行时的数据。
* **显存RAM**:对应文件 vedio_ram.sv。在屏幕上显示 86列 * 32行 = 2752 个字符,显存 RAM 的 4096B 被划分为 32 个块,每块对应一行,占 128B前 86 字节对应 86 个列。屏幕上显示的是每个字节作为 ASCII 码所对应的字符。
* **显存RAM**:对应文件 video_ram.sv。在屏幕上显示 86列 * 32行 = 2752 个字符,显存 RAM 的 4096B 被划分为 32 个块,每块对应一行,占 128B前 86 字节对应 86 个列。屏幕上显示的是每个字节作为 ASCII 码所对应的字符。
# CPU特性
@ -174,7 +174,7 @@ UART 调试器有两种模式:
![Image text](https://github.com/WangXuan95/USTCRVSoC/blob/master/images/UartSession3.png)
除了读,我们也可以用调试器写总线,输入一条写命令: **"10000 abcd1234"** 并按回车,会看到对方发来 **"wr done"** ,意为写成功,该命令意为向地址 0x10000 中写入 0xabcd1234 (0x10000是数据RAM的首地址
除了读,我们也可以用调试器写总线,输入一条写命令: "10000 abcd1234" 并按回车,会看到对方发来 **"wr done"** ,意为写成功,该命令意为向地址 0x10000 中写入 0xabcd1234 (0x10000是数据RAM的首地址
为了验证写成功,输入读指令:**"10000"** 并按回车,会看到对方发来**"abcd1234"**。
@ -267,4 +267,4 @@ UART 调试器有两种模式:
如果你想仿真某个指令流,需要对**指令ROM**进行修改。
**USTCRVSoC-tool** 除了进行烧写,也可以用编译后的指令流生成**指令ROM**的Verilog代码。当你使用**汇编**按钮产生指令流后,可以点击右侧的**保存指令流(Verilog)**按钮,保存时替换 **./RTL/instr_rom.sv**,再重新进行仿真即可。
**USTCRVSoC-tool** 除了进行烧写,也可以用编译后的指令流生成**指令ROM**的Verilog代码。当你使用**汇编**按钮产生指令流后,可以点击右侧的"保存指令流(Verilog)"按钮,保存时替换 **./RTL/instr_rom.sv**,再重新进行仿真即可。