您当前的位置: 首页 > 

FPGA硅农

暂无认证

  • 0浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

RISC-V CPU设计(三)---多周期CPU的设计与实现

FPGA硅农 发布时间:2022-03-18 10:16:12 ,浏览量:0

基本情况

本多周期CPU支持RV32I指令集(fence,ecall,ebreak除外),已通过部分指令的测试,如代码有bug,欢迎指出。

模块划分

代码将CPU划分为以下几个模块: 1.控制单元:ControlUnit 用于产生控制信号,是CPU的大脑,指挥中枢。 2.分支决策单元:BranchUnit 用于决定B型指令是否发生跳转 3.立即数单元:ImmUnit 用于从指令中解析出立即数. 4.寄存器堆:RegisterFile RISC-V的32个寄存器,其中x0寄存器恒为0,不可更改。 5.指令存储器:InstrMem 用于存储指令,目前仅支持32位指令,不支持16位指令,且地址是4字节对齐的。 6.数据存储器:DataMem 数据存储器,用于存储数据,可进行字、半字、字节的读写。 7.Data_Ext 用于load指令,从读出的字中获取需要的部分,并进行符号/无符号扩展。例如LH,LBU指令选取哪个半字、哪个字节,以及如何扩展为32bit。 8.PC生成单元:NPC_Generator 根据Jal,Jalr以及Branch生成下一条指令的地址(PCF),若上述三个信号均为无效电平,则更新为PCF+4

关注
打赏
1658642721
查看更多评论
立即登录/注册

微信扫码登录

0.0457s