基于IP核(DRAM,FIFO,DPRAM)的fpga调试经验(转载)
毕业设计开工以来,几个月倏地就过去了
整个硬件设计中,核心部分便是一块ALTERA公司的CYCLONE器件,主要使用的模块有SDR内存条控制模块、DPRAM,三口RAM以及FIFO。
从调试内存条的读写开始,到今天FPGA内部逻辑基本全部完成,历时将近两个月。于是,顺理成章的,积累了一点经验,呵呵。现在草草整理,与各位交流。
最强烈的一个感受,就是“烦”。这种感觉,越是到最后,越是明显。
因为烦,一塌糊涂便是我最好的发泄场所。当然,调试进度,也不可避免的要受影响了。
调试内存条的时候,完全依赖FPGA内部逻辑以及不用的管脚。如,先编写内部逻辑控制读写内存条的程序,然后将关键信息通过特定管脚输出来,用示波器观看。这种方法,烦在必须要编写基本功能模块之外的辅助控制逻辑。
到了后来,我将CPU接口设计上了。这个时候,调试明显加快。因为,我可以方便的将想要观察的信号,直接通过CPU接口读到调试软件去。当然,也可以轻轻松松的使用调试软件发出控制逻辑,指挥FPGA执行特定任务。但是,辅助控制逻辑的编写依然不爽。
再到后来,遇到了一个棘手的问题:MCU接口不知道为什么开始变得不可靠。现象就是一旦高速读写,FPGA就会陷入不正常工作状态,或者说“跑飞”了。这个问题困扰了我一个多星期,直到我下定决心使用QUARTUS II软件自带的SignalTAP功能。
SignalTAP 功能,呵呵,实在是爽呆了。。。。。。。我再也不用编写辅助控制逻辑单元。想要观察哪个模块下边的哪个寄存器,直接加上就是了。。。。。。。如此这般,如此这般,我也终于找到了MCU接口不可靠的原因:同步状态机在状态切换时进入了过渡状态。这一点,在观察时序仿真波形的时候,其实已经可以看到了,可惜我没有足够重视。。。。。。。。
自从使用了SignalTAP功能后,调试进度本来可以大大加快的,可是连着几个月搞FPGA,我已经烦透了,写两行程序,就想去一塌糊涂去。结果呢,单单一个32字节的双口RAM,我调试了3天,呵呵。。。。。。。。
总的来看,调试FPGA主要使用的手段:
1.硬件管脚+内部控制逻辑;
2.MCU接口 + 内部控制逻辑;
3.时序仿真+其它手段;
4.SiganlTAP
5.呵呵,组合呗。。。。。。。。。
此外,多用铅笔头在白纸上画画逻辑控制框架,时序波形图,状态机状态转换图什么,也会很有帮助的。比用脑子使劲思考要好的多了。。。。。。在这里开始书写日记、心情 …
毕业设计开工以来,几个月倏地就过去了
整个硬件设计中,核心部分便是一块ALTERA公司的CYCLONE器件,主要使用的模块有SDR内存条控制模块、DPRAM,三口RAM以及FIFO。
从调试内存条的读写开始,到今天FPGA内部逻辑基本全部完成,历时将近两个月。于是,顺理成章的,积累了一点经验,呵呵。现在草草整理,与各位交流。
最强烈的一个感受,就是“烦”。这种感觉,越是到最后,越是明显。
因为烦,一塌糊涂便是我最好的发泄场所。当然,调试进度,也不可避免的要受影响了。
调试内存条的时候,完全依赖FPGA内部逻辑以及不用的管脚。如,先编写内部逻辑控制读写内存条的程序,然后将关键信息通过特定管脚输出来,用示波器观看。这种方法,烦在必须要编写基本功能模块之外的辅助控制逻辑。
到了后来,我将CPU接口设计上了。这个时候,调试明显加快。因为,我可以方便的将想要观察的信号,直接通过CPU接口读到调试软件去。当然,也可以轻轻松松的使用调试软件发出控制逻辑,指挥FPGA执行特定任务。但是,辅助控制逻辑的编写依然不爽。
再到后来,遇到了一个棘手的问题:MCU接口不知道为什么开始变得不可靠。现象就是一旦高速读写,FPGA就会陷入不正常工作状态,或者说“跑飞”了。这个问题困扰了我一个多星期,直到我下定决心使用QUARTUS II软件自带的SignalTAP功能。
SignalTAP 功能,呵呵,实在是爽呆了。。。。。。。我再也不用编写辅助控制逻辑单元。想要观察哪个模块下边的哪个寄存器,直接加上就是了。。。。。。。如此这般,如此这般,我也终于找到了MCU接口不可靠的原因:同步状态机在状态切换时进入了过渡状态。这一点,在观察时序仿真波形的时候,其实已经可以看到了,可惜我没有足够重视。。。。。。。。
自从使用了SignalTAP功能后,调试进度本来可以大大加快的,可是连着几个月搞FPGA,我已经烦透了,写两行程序,就想去一塌糊涂去。结果呢,单单一个32字节的双口RAM,我调试了3天,呵呵。。。。。。。。
总的来看,调试FPGA主要使用的手段:
1.硬件管脚+内部控制逻辑;
2.MCU接口 + 内部控制逻辑;
3.时序仿真+其它手段;
4.SiganlTAP
5.呵呵,组合呗。。。。。。。。。
此外,多用铅笔头在白纸上画画逻辑控制框架,时序波形图,状态机状态转换图什么,也会很有帮助的。比用脑子使劲思考要好的多了。。。。。。在这里开始书写日记、心情 …