Tcl自定义排序的方法

在之前的文章中我们介绍了一种PR之后直接获取ROM mmi信息的一个脚本,mmi脚本可以用于修改FPGA生成Bit的ROM初始化数据,这种技术在MCU的验证中非常重要,因为往往在测试MCU ROM代码的时候,我们就需要这种重新Load程序的方式。相比于动则十几个小时生成Bit的时间,我们直接修改bitfile则会快很多。虽然之前脚本中已经有生成MMI的功能,可以直接找出芯片ROM在FPGA内...

继续阅读 »

Vivado批处理模式的一些使用总结

作为一个资深的折腾党和终端党,运行Vivado的时候我还是偏爱使用批处理模式,这样的好处就是可以直接一条命令走天下,直接搞一条命令,回头等结果就好了,这个才是运行程序的正常方式。就是讨厌点来点去的GUI,没得办法,就是这么偏执。本文所有命令在命令手册中都可以找到,手册在这.如何进入批处理模式首先,为了运行批处理,我们要先了解如何进入批处理模式,这个是通过Vivado的命令加参数实现的,默认V...

继续阅读 »

Vivado FPGA 后仿流程

FPGA的设计离不开仿真,我们最常用的是RTL的行为仿真,而对于FPGA设计而言,如果遇到了比较难以调试的Bug的时候,我们还需要进行后仿。所谓的后仿,其实就是布局布线之后的仿真,这个时候仿真会带有各种延时信息,也是最接近器件行为的仿真。虽说是仿真,可以看到各种信号,但是调试起来相当于前仿还是有很大区别的,这里就简单介绍一下后仿的基本流程。仿真准备后仿,其实就是一个带有各种时延信息的仿真,基...

继续阅读 »

ESP32 MacOS开发环境搭建

最近手痒痒,又重新入手了一块ESP32和一块ESP8266开发板,主要是这俩玩意真的是便宜好玩,还可以直接联网,本身只有一块橡皮大小,真的非常适合玩耍。另外ESP的软件资源也是比较丰富的,虽然CPU是一个不怎么主流的处理器,但是各种移植都有,什么LUA呀,micro-python呀,甚至JavaScript都可以在上面跑。不过从我之前玩这块开发板的经验来看,这些移植基本都是在玩一玩的层面上,...

继续阅读 »

开启ARM中的FPU

FPU全称Float Process Unit,即浮点运算单元,在ARM cortex系列中,除了M0以外,其它M处理器基本都有FPU,FPU可以有效的提高浮点数的运算能力,虽然M0中没有FPU,但并不是说CM0+里不能使用浮点类型进行浮点运算,M0中浮点运算会通过软件方式实现,当然软件的方式,处理速度也会慢很多。在有FPU的处理器的时候,程序编译的时候一定要显式的指明浮点运算的实现方式,否...

继续阅读 »