1.在写实验室的OFDM信号解调项目时,有一个地方用多级的组合逻辑,导致最后综合出来的电路时序报错了,对于125MHz时钟,理论上应该是8ns,但出来的时序已经到十几ns了,于是我在多级的组合逻辑的地方加了多级的流水,时序就没有报错了。
2.发现ISE里面仿真和综合的结果不同,后来发现是因为其中的一个data_adjust模块中的FIFO忘了加rst信号,导致程序刚烧进去时,程序可能是可以的,但按下rst信号,通过chipscope看到data_adjust和ClipCP数据是错误的,但在他们之前的同步模块是没有问题的。
3.我使用了非常简单的调制方式,按理说误码率应该为0,但误码率会在开机时增加,然后后期一直停在一个点,说明开机时的数据是不对的,后期的数据是正常的,用UDP数据捕获后期的数据也可以发现后期的数据是正常的,这时加一个开机延时,其实之前也加过,只不过时间太短,这次的延时延长到5秒。这个问题是因为ADC的初始化和后面逻辑的初始化不同步,或者ADC的初始化需要一定时间,导致介于初始化和未初始化之间的ADC数据是不完全正确的。
4.ISE项目庞大,对于要重建ISE项目的,可按以下几个方面去重建,按chipscope、IPcore、source、testbench、XPS、ISE工程、ucf,以上7个方面去新建文件夹,chipscope里放的是cdc文件;IPcore里放的是工程中用到的核,每个核再单独新建一个文件夹;source里面放的是rtl源码,文件层次应该跟工程中模块层次一样;testbench里面放的是测试文件;XPS是软核;ucf里面放的是pin配置文件;ISE工程里面的文件最多,但我们只需要xise和gise这两个文件即可,其他文件都是综合的过程中出现的。
5.chipscope里面也可以下载程序,所以可以不使用iMPACT。chipscope下载程序步骤如下:右击DEV:1,configure,勾选“Clean previous project setting”,点击“Select New File”,选择新的bit文件,然后会自动导入cdc文件(cdc文件需与bit文件在同一目录下),确定之后就会下载程序并加载cdc,这时就可以观察数据了。