创客空间

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 800|回复: 0

f32c 可重定义 RISC-V 处理器核

[复制链接]

5

主题

69

帖子

165

积分

注册会员

Rank: 2

积分
165
发表于 2018-2-2 04:30:50 | 显示全部楼层 |阅读模式

f32c是可重定向的,标量的,流水线的32位处理器核,其可以执行RISC-V或MIPS指令集的子集。它在参数化VHDL中实现,其允许具有不同面积/速度权衡的合成,并且包括分支预测器,异常处理控制块和可选的直接映射高速缓存。 RTL代码还包括诸如多端口SDRAM和SRAM控制器,具有复合(PAL),HDMI,DVI和VGA输出的视频帧缓冲器,具有用于精灵和窗口的简单2D加速,浮点向量处理器,SPI,UART,PCM音频,GPIO,PWM输出和定时器,以及为各种制造商的众多流行FPGA开发板定制的胶合逻辑。

在合成整数基准中,内核以存储在片上块RAM中的代码和数据产生3.06 CoreMark / MHz和1.63 DMIPS / MHz(1.81 DMIPS / MHz,功能内联)。当配置为16 KB指令和4 KB数据高速缓存,并且代码和数据存储在外部SDRAM中时,内核产生2.78 CoreMark / MHz和1.31 DMIPS / MHz。

包括定时器和UART的性能优化的f32c SoC仅占用1048个6输入LUT,同时仍然能够在最紧凑配置(仅消耗697(649个逻辑加48个存储器)LUT)下合成时执行gcc生成的代码。

可配置选项包括:

  1. C_arch RISC-V或MIPS ISA

  2. C_big_endian总线端

  3. C_mult_enable合成乘法单位

  4. C_branch_likely支持分支延迟时隙取消

  5. C_sign_extend支持符号扩展指令

  6. C_movn_movz支持条件移动指令

  7. C_ll_sc支持原子读 - 修改 - 写构造

  8. C_branch_prediction合成分支预测器

  9. C_bp_global_depth全局分支历史跟踪大小

  10. C_result_forwarding合成结果旁路

  11. C_load_aligner合成加载对齐器

  12. C_full_shifter pipelined而不是迭代移位器

  13. C_icache_size指令高速缓存大小(0到64 KB)

  14. C_dcache_size数据高速缓存大小(0到64 KB)

  15. C_debug综合单步调试模块

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|创客空间

GMT+8, 2024-11-27 06:32 , Processed in 0.011619 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表