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的处理器的时候,程序编译的时候一定要显式的指明浮点运算的实现方式,否...

继续阅读 »

QEMU资源占用过高的问题

QEMU是一个非常流行的虚拟机软件,支持多种架构CPU的模拟运行,就连我常常使用的VPS实际很多都是QEMU实现的。除了x86架构之外,QEMU支持各种常见的处理器模型,比如ARM,MIPS,PowerPC,RISCV等等,这个也是QEMU区别于其他虚拟机软件的优势之一。最近在学习ARM的时候,因为懒得搞什么开发板,所以就直接在QEMU上搞一下,QEMU还是非常方便的,直接下载ARM相关组件...

继续阅读 »

回收sqlite3删除记录后的容量

Photo by Franck V. on UnsplashSqlite3是一个非常简单的文件数据库,部署方便,使用简单,对于小型应用来说真的是人见人爱,花见花开。在部署Typecho的时候我就直接默认使用了sqlite3作为数据库,这样也方便以后数据的迁移,整个博客一个文件夹拷走就好了,非常简单暴力。不过最近博客上突然有很多垃圾评论,这个搞得我非常烦,面对几万条的垃圾评论,我又不能手动删除...

继续阅读 »