开源RISCV简单虚拟原型/模拟器:RISC-V-TLM

文章:Màrius Montón. 2020. A RISC-V SystemC-TLM simulator. In Fourth Workshop
on Computer Architecture Research with RISC-V (CARRV 2020). ACM,
New York, NY, USA, 4 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn

源码:https://github.com/mariusmm/RISC-V-TLM

1.虚拟原型是什么?
虚拟原型是目标系统的快速且具有完整功能的软件模型。
描述虚拟原型的标准语言与传统构建系统模型所用的c/c++/matlab语言不同,开发虚拟原型是事实标准是SystemC语言,一种基于c++的类库,可描述硬件的并发行为。因此与c等建模语言比较,SystemC搭建的系统可包含更多细节,对系统的性能/能耗的评估也更加准确。
2.虚拟原型能干什么?
开发人员可以在其上加载、执行和调试二进制程序代码,它类似于软件开发人员所使用的硬件开发板,只是比真实硬件的完成要早得多。通过虚拟原型可以快速进行系统评估和设计空间探索,以及在早期进行嵌入式软件的开发
3.架构解析

架构框图
这个模拟器的特点是简洁、可拓展、支持risc基本整数指令、整数乘除指令、原子指令、压缩指令(IMAC)。它运行的机理,首先将soc系统需运行的c代码通过riscv标准交叉编译工具链生成hex文件,模拟器启动后,从memory模块读取hex文件到cpu,即指令集模拟器ISS。ISS中的指令模块负责解码和识别指令集子集,然后转到执行模块执行指令的具体操作。寄存器模块包含了32个通用寄存器,pc和csr寄存器.

ISS与其他模块的通信通过bus ctrl根据地址映射来分发,进行访存、字符输出、修改定时器等操作。通过在模拟器中添加控制语句可以对系统的性能进行评估。

此模拟器简单但架构清晰,研究其代码,可以对基于SystemcC/TLM的模拟器有一个快速的了解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值