HYF
HYF
I think maybe you could use FPU as a peripheral. The instructions which need to use FPU should send a "req" to it, which means you need to implement an...
@stmach Could you please tell me the bugs that are found in DIVSQRT unit in the latest version of fpunew? I failed to find them...
@rsthnn 这个和PLIC的设置有关,一般PLIC在设置为高电平触发的时候,考虑如下情况: T时刻PLIC所连接的中断源引脚由低变高,则这个中断源会让plic连接到CPU的信号plic_ext_int = 1,但是此时CPU暂时不能接收这个中断。 T+1时刻CPU处理完了之前的工作,可以接收T时刻产生的中断,但是我们假设实际上中断源在T~T+1中间的时候已经取消了对CPU发送的中断请求,即外设连接到PLIC的中断源引脚由高变低,这种情况下PLIC并不会将发送给CPU的plic_ext_int信号变低,这是PLIC在电平触发设置下的工作特性。所以此时CPU虽然接收到了一个中断请求(plic_ext_int = 1),但是实际上外设是没有发起中断请求的,CPU需要再去读取它控制的外设中的状态寄存器看外设是否真的发起了中断请求。 如果还不理解的话可以去看一下risc-v特权文档1.10版本中对于PLIC的描述,里边说了对于PLIC设置为电平触发时如何使用的问题。  如果用边沿触发(上升或下降)可能就没这种问题,好像很多MCU(比如STM32)在控制外设的时候也大多数用的是边沿触发。
I found "updatemem" function of Vivado could be used to initialize BRAMs without rerun the synthesis and implementation, but it is hard to understand. I will try to find out...
@tangchuanchuan OF COURSE you can do that, so what's your problem?
It's said only E200 is opensource. For other cores you need to buy licenses.
@Shell-picking 这些verilog代码其实是由chisel生成的,所以基本没有任何可读性。想理解gpio的设计需要去SiFive的仓库里看chisel源码。
看起来UBUNTU的系统代理设置总是有点麻烦,不像win那样直接在小飞机里选择PAC模式就一切OK了。。。
一般chisel源码越复杂,生成verilog需要的内存就越大,电脑内存不足就会报错,我记得之前看过生成rocket-chip和生成boom对应的verilog代码需要的内存就不同,boom需要的内存大很多,所以貌似只能换个大内存的电脑。。。
开发人员能否把你们的服务器配置说一下作为参考呢?