RISC-V MCU中文社区

【分享】 蜂鸟Hbird E203 RISC-V基础【2022集创赛 队伍编号:CICC2082】

发表于 全国大学生集成电路创新创业大赛 2022-05-25 09:21:30
0
154
0

基础例程
1.CPU基础知识
1.1 ISA 指令集架构
架构:抽象层,软件无需做任何修改便可完全运行在任何一款遵循同一抽象层标准的处理器上。如:RISC-V x86

微架构:处理器具体的硬件实现。如:Intel AMD

精简指令集架构RISC

常见的有:RICV-V ARM

1.2 常见ISA
x86 CISC:由8086发展而来
power RISC:IBM 高端服务器
ARM:英国,IP授权
RISC-V 新的希望 www.riscv.org www.rvmcu.com
2.RISC-V基础知识
2.1 模块化的指令子集
可配置的通用寄存器组:通用寄存器个数、通用寄存器宽度、浮点寄存器组
规整的指令编码:通用寄存器索引位置不变(4种数据类型)
简介的存储器访问指令:load&store、仅支持小端格式、不支持地址自增/自减模式、采用松散存储器模式
高效的分支跳转指令:2条无条件跳转指令、6条带条件跳转指令、采用默认的静态分支预测机制
优雅的压缩指令子集
自定义指令扩展
常见的有:RICV-V ARM

2.2 RISC-V编码器特点
K.I.S.S

简洁的子程序调用
简洁的运算指令
无条件码执行
无分支延迟槽
无零开销硬件循环指令
硬件搭台,软件唱戏。hhhhhhh

2.3 RISC-V工具链
riscv-tools: spike
riscv-gnu-toolchain: riscv-gcc
2.4 RISC-V实现简介
rocket core:面积和功耗远小于ARM-A7 chisel语言
boom core:超标量乱序发射、乱序执行的处理器核
freedom soc: lowrisc soc 硬件界的Linux hhh
3.蜂鸟E203处理器设计
3.1 设计原则
模块化核可重用i选哪个
面积最小化 数据通路
结构简单化
性能不追求极端:性能提倡够用就行 最高能效比
从模块到SoC,从硬件到软件,从运行到调试的完整解决方案
图1

3.2 处理器内核
图2

3.3 代码风格
Verilog RTL

使用标准的DFF模块例化生成寄存器
用assign 代替 if-else case(因为这俩 1优先级非并行,2不能传递不定态)
在数据通路上可使用不带reset的寄存器,只在控制通路上使用带reset的寄存器
信号名定义 注意使用英文缩写
clk rst信号 禁止被用于其他的任何逻辑功能,只作为接入DFF的时钟和复位信号
4.指令流水线设计
4.1 经典五级流水线设计
取指IF
译码ID
执行EX
访存MEM:可能空闲
写回WB
4.2 蜂鸟
变长的流水线

取值
图片alt
执行
图片alt
交付
图片alt
写回
图片alt
5.存储器架构
5.1 存储器相关指令
图片alt
5.2 存储器子系统结构
AGU
图片alt
LSU
图片alt
ICTM
图片alt
DTCM
图片alt
5.3 ICB总线
6.异常和中断
广义异常(包含中断)

6.1 中断定义
图片alt
7.低功耗与可拓展性处理器
4.1 经典五级流水线设计
图片alt
DSA 专用领域架构(与异构不同 如CPU+GPU)

EAI接口 协处理器

8.实战开发
8.1 测试
hbird-e203-soc模块
图片alt
图片alt
图片alt

喜欢0
用户评论
Goodman

Goodman 实名认证

明天会更好

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板