析构函数
构造函数(constructor)在创建对象时被系统自动调用,而析构函数(Destructor)在对象被撤销时被自动调用,相比构造函数,析构函数要简单的多。析构函数有如下特点:
- 与类同名,之前冠以波浪号,以区别于构造函数。
- 析构函数没有返回类型,也不能指定参数。因此,析构函数只能有一个,不能被重载。
- 对象超出其作用域被销毁时,析构函数会被自动调用。
在前面有使用过cocotb进行一些简单的操作仿真操作,了解了cocotb当中的基础使用方法,并且能够使用cocotb来关联modelsim/questasim 进行Vivado当中IP的仿真。
cocotb可以使用python来提供测试数据源,这对DSP算法的FPGA实现实很友好的,之前在FPGA上如何想要实现DSP的算法的验证,可能需要先从matlab生成测试数据,然后再将数据导入到仿真平台当中,在cocotb当中,我们可以使用numpy和scipy能够很容易地生成这些测试数据,并将这些数据灌入到我们自己的实现的HDL模块当中。
这篇博客,记录一下使用cocotb来完成仿真fft ip的功能仿真。
在之前学习了PYQT最基本的显示界面的方法,时间已经过去很久远了,因为不是做软件的,所以很多东西也就没有深入地去了解。
最近在制作一个原型,使用PYQT可以快速地显示界面,因此又稍微深入地了解了一下。
最近开始整理和无人机相关的东西,在网上找了一圈,发现了两个比较好的开源项目,这两个开源项目都能够实现的DJI OcuSync 2.0 Droneid协议的解调。
DroneSecurity
dji_droneid
在参考了上述两个仓库之后,给了我很多启发,通过阅读上面的代码,也让我对DJI的Droneid帧有了更加深刻的认识。