xiaoan109 / ysyx-workbench

11 stars 1 forks source link

重构代码 #2

Open xiaoan109 opened 1 year ago

xiaoan109 commented 1 year ago

重构代码,尽量模块化每一级 解决DPI-C的各种BUG

xiaoan109 commented 1 year ago

参考大佬的代码简单重构了一下https://github.com/algorithmconquer/ysyx_riscv64_cpu 发现实现流程和自己的差别不大,只是我的条理化差一些,核心模块和思路都相近。依旧是很大一坨代码,有待精简和debug。 IO Deveice之前实现过一个commit版本了,重新实现也不难,先halt在这里吧

xiaoan109 commented 1 year ago

补充一下:verilator最新版本下,DPI-C在同一个always块内调用两个函数,无法解决二者的依赖关系,导致如果load指令紧接着出现在store指令之后,有可能会先的读取内存再写入,使得结果出错,目前暂时的解决方法是利用begin end的顺序执行将pmem_write放在pmem_read上面保证先写入再读出,但是这个值得再去研究。