搜索
bottom↓
回复: 34

用python 写了个riscv32I指令集仿真,初步可以运行

  [复制链接]

出0入25汤圆

发表于 2020-4-12 20:32:37 | 显示全部楼层 |阅读模式
为了学习riscv32指令集,我花了几天时间用python 做了个实验仿真程序,由于怕我对指令集理解有误,发出来,大家一块看看改改,谢谢了!
我的python也是学了个入门,代码写得不好,献丑了哈
同时我用spinalHDL 写了个riscv32I针对FPGA的硬件实现, 希望感兴趣的网友参与( 前提是有verilog 和scala 语言基础)


下面是源程序和测试用的.bin .c 和反汇编文件



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

阿莫论坛才是最爱国的,关心国家的经济、社会的发展、担心国家被别国牵连卷入战争、知道珍惜来之不易的和平发展,知道师夷之长,关注世界的先进文化与技术,也探讨中国文化的博大精深,也懂得警惕民粹主义的祸国殃民等等等等,无不是爱国忧民的表现。(坛友:tianxian)

出0入25汤圆

发表于 2020-4-12 20:52:38 | 显示全部楼层

大神牛叉,,感谢分享

太高端,只能瞻仰

出0入4汤圆

发表于 2020-4-12 21:10:03 | 显示全部楼层
厉害  大神真令人佩服     

出0入0汤圆

发表于 2020-4-12 21:36:29 来自手机 | 显示全部楼层
厉害,大神!

出0入0汤圆

发表于 2020-4-12 22:18:05 来自手机 | 显示全部楼层
厉害厉害

出0入8汤圆

发表于 2020-4-12 22:25:49 来自手机 | 显示全部楼层
不明觉厉

出0入0汤圆

发表于 2020-4-12 22:36:31 | 显示全部楼层
我Python用了几年也不知道怎么设计仿真指令。。。只能仰望

出0入0汤圆

发表于 2020-4-12 23:00:57 来自手机 | 显示全部楼层
只能仰望

出0入8汤圆

发表于 2020-4-13 02:54:50 | 显示全部楼层
真是塞翁失马啊,憋得这大神露出水面!

出0入0汤圆

发表于 2020-4-13 06:12:44 来自手机 | 显示全部楼层
Python版单片机?

出0入0汤圆

发表于 2020-4-13 08:02:41 | 显示全部楼层
好牛。。。

出0入12汤圆

发表于 2020-4-13 08:04:13 | 显示全部楼层
大神牛叉,,感谢分享

太高端,只能瞻仰

出0入0汤圆

发表于 2020-4-13 08:38:02 | 显示全部楼层
太高端,只能瞻仰

出0入0汤圆

发表于 2020-4-13 08:54:26 | 显示全部楼层
之前看到过有个600行PY实现RISCV虚拟机

出0入0汤圆

发表于 2020-4-13 09:16:19 | 显示全部楼层
太高端,只能瞻仰

出0入0汤圆

发表于 2020-4-13 09:35:12 来自手机 | 显示全部楼层
不明觉厉

出0入442汤圆

发表于 2020-4-13 12:04:10 | 显示全部楼层
lz,有vexriscv没必要重复造轮子了。

出0入0汤圆

发表于 2020-4-13 12:20:52 | 显示全部楼层
给楼主点个赞

出50入255汤圆

发表于 2020-4-13 12:37:58 | 显示全部楼层
这要多厉害,才能写个仿真都是信手拈来?

出0入8汤圆

发表于 2020-4-13 12:57:08 | 显示全部楼层
牛人......

出0入42汤圆

发表于 2020-4-13 14:38:08 | 显示全部楼层
楼主牛人。。。学习

出0入0汤圆

发表于 2020-4-13 15:58:32 | 显示全部楼层
太牛了。

出0入0汤圆

发表于 2020-4-13 18:20:22 | 显示全部楼层
然后你可以在这个仿真器里再写个python解释器

出0入25汤圆

 楼主| 发表于 2020-4-14 10:20:42 | 显示全部楼层

@Eworm001  谢谢刘总,我的spinalHDL 还是在您的热心帮助下入门的,很是感激!  

出0入25汤圆

 楼主| 发表于 2020-4-14 10:23:47 | 显示全部楼层
谢谢各位网友的回复, 希望能在spinalHDL  riscv 上多多交流哈

出0入0汤圆

发表于 2020-4-14 13:25:03 | 显示全部楼层
本帖最后由 路璐 于 2020-4-14 13:27 编辑
hxl_led 发表于 2020-4-14 10:23
谢谢各位网友的回复, 希望能在spinalHDL  riscv 上多多交流哈


在吗,可否加下联系方式,我也在学RISCV,最近在破解JTAG SMT3调试器用于在FPGA上实现RISC V

出0入0汤圆

发表于 2020-4-14 14:40:00 | 显示全部楼层
hxl_led 发表于 2020-4-14 10:20
@Eworm001  谢谢刘总,我的spinalHDL 还是在您的热心帮助下入门的,很是感激!

共同进步

出0入0汤圆

发表于 2020-4-14 14:40:52 | 显示全部楼层
路璐 发表于 2020-4-14 13:25
在吗,可否加下联系方式,我也在学RISCV,最近在破解JTAG SMT3调试器用于在FPGA上实现RISC V ...


一个FT232H breakout 板子就好了

出0入0汤圆

发表于 2020-4-14 15:14:01 | 显示全部楼层
Eworm001 发表于 2020-4-14 14:40
一个FT232H breakout 板子就好了

我用的FT2232H ,昨天刚把PCB弄出来,主要是想完美支持XLINX和DIGILENT工具,而且可以同时使用JTAG和UART,比较方便

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2020-4-14 17:56:37 | 显示全部楼层
RAM 为什么分成 4个 Bank?
RAM_Bank0 = [0] * BUFF_SIZE
RAM_Bank1 = [0] * BUFF_SIZE
RAM_Bank2 = [0] * BUFF_SIZE
RAM_Bank3 = [0] * BUFF_SIZE

出0入0汤圆

发表于 2020-4-14 18:12:00 来自手机 | 显示全部楼层
楼主牛逼,佩服

出0入25汤圆

 楼主| 发表于 2020-4-14 20:55:36 | 显示全部楼层
本帖最后由 hxl_led 于 2020-4-14 20:57 编辑
Eworm001 发表于 2020-4-14 17:56
RAM 为什么分成 4个 Bank?
RAM_Bank0 = [0] * BUFF_SIZE
RAM_Bank1 = [0] * BUFF_SIZE


对应于指令的LB  LH  LW  SB  SH SW  的读写内存指令, 执行读写一个字节,半个字,一个字
LB LH 读取时 要注意符号扩展

出0入0汤圆

发表于 2020-4-15 23:51:49 来自手机 | 显示全部楼层
太高端,膜拜呀

出0入4汤圆

发表于 2020-4-17 06:51:43 来自手机 | 显示全部楼层
又见胡大侠现身。

出90入0汤圆

发表于 2020-4-17 08:20:05 来自手机 | 显示全部楼层
厉害,大神!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-17 05:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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