在做MCU的FPGA仿真平台的时候,如果需要验证ROM的功能,那么我们就会碰到直接更新ROM程序的问题,我们知道FPGA中ROM一般是通过block RAM实现的,因为芯片设计的时候ROM是只读的,所以在下载ROM的时候就不能像RAM程序那样通过下载器下载。所以这里就要用到一种新的ROM程序的更新方式。生成RAM报表我们知道FPGA中的RAM都是有固定的cell的,我们在更新ROM(实际对应...
我的代码我做主
在做MCU的FPGA仿真平台的时候,如果需要验证ROM的功能,那么我们就会碰到直接更新ROM程序的问题,我们知道FPGA中ROM一般是通过block RAM实现的,因为芯片设计的时候ROM是只读的,所以在下载ROM的时候就不能像RAM程序那样通过下载器下载。所以这里就要用到一种新的ROM程序的更新方式。生成RAM报表我们知道FPGA中的RAM都是有固定的cell的,我们在更新ROM(实际对应...
在之前的文章中我们介绍了一种PR之后直接获取ROM mmi信息的一个脚本,mmi脚本可以用于修改FPGA生成Bit的ROM初始化数据,这种技术在MCU的验证中非常重要,因为往往在测试MCU ROM代码的时候,我们就需要这种重新Load程序的方式。相比于动则十几个小时生成Bit的时间,我们直接修改bitfile则会快很多。虽然之前脚本中已经有生成MMI的功能,可以直接找出芯片ROM在FPGA内...
作为一个资深的折腾党和终端党,运行Vivado的时候我还是偏爱使用批处理模式,这样的好处就是可以直接一条命令走天下,直接搞一条命令,回头等结果就好了,这个才是运行程序的正常方式。就是讨厌点来点去的GUI,没得办法,就是这么偏执。本文所有命令在命令手册中都可以找到,手册在这.如何进入批处理模式首先,为了运行批处理,我们要先了解如何进入批处理模式,这个是通过Vivado的命令加参数实现的,默认V...
FPGA的设计离不开仿真,我们最常用的是RTL的行为仿真,而对于FPGA设计而言,如果遇到了比较难以调试的Bug的时候,我们还需要进行后仿。所谓的后仿,其实就是布局布线之后的仿真,这个时候仿真会带有各种延时信息,也是最接近器件行为的仿真。虽说是仿真,可以看到各种信号,但是调试起来相当于前仿还是有很大区别的,这里就简单介绍一下后仿的基本流程。仿真准备后仿,其实就是一个带有各种时延信息的仿真,基...
最近手痒痒,又重新入手了一块ESP32和一块ESP8266开发板,主要是这俩玩意真的是便宜好玩,还可以直接联网,本身只有一块橡皮大小,真的非常适合玩耍。另外ESP的软件资源也是比较丰富的,虽然CPU是一个不怎么主流的处理器,但是各种移植都有,什么LUA呀,micro-python呀,甚至JavaScript都可以在上面跑。不过从我之前玩这块开发板的经验来看,这些移植基本都是在玩一玩的层面上,...