几个CPLD/FPGA调试的小窍门
2012-02-17 21:04
246 查看
1.LED的妙用。
一般的开发板上都带有LED灯,比如我们的EP2C35核心板上就带有三路的LED,我们用这些LED做一些入门的程序,如闪烁、流水灯等。但这几个LED的作用远不仅如此,它是我们在调试比较复杂的程序时定位问题的手段。比如我们在调试DS18B20的温度检测程序时,发现总是读不到数据,我们怀疑是没有检测到DS18B20的应答信号。于是我们把LED放在检测应答状态里,若检测到应答就点亮,没有检测到应答就熄灭,结果发现确实LED没有亮。所以我们就找到了问题的所在,就可以对症下药了。所以,在没有方便的调试手段(如可实时跟踪单片机/DSP的仿真器,SignalTap用起来还是笨重点,而且器件支持上受限)来调试CPLD/FPGA的情况下,用简单的LED来跟踪定位程序不失为一种比较好的方法。
2.当存在调用大分频元件时的仿真。
当程序含有大分频元件时,若进行波形仿真,则往往需要设置很大的End Time,这也造成了运行一次波形仿真需要花费很长的时间。这个往往没有必要。我们可以在波形仿真时,先设置一个小的分频系数,然后波形仿真正确后再改为大分频系数,再编译下载。这样就省了很多的时间。
3.串口的作用。
当把串口调试通以后,其附加作用就开始显现了。比如在调试AT24C02的程序时,我们就通过串口把读出的数据发到到PC的串口调试助手上进行显示。这样,就可以很显然的得到读出的数据,直观快捷。我们在调试AT93C46,DS18B20,DAC7512时都通过串口发送过来的数据来观察程序的运行情况。所以,串口的作用是很大的。
一般的开发板上都带有LED灯,比如我们的EP2C35核心板上就带有三路的LED,我们用这些LED做一些入门的程序,如闪烁、流水灯等。但这几个LED的作用远不仅如此,它是我们在调试比较复杂的程序时定位问题的手段。比如我们在调试DS18B20的温度检测程序时,发现总是读不到数据,我们怀疑是没有检测到DS18B20的应答信号。于是我们把LED放在检测应答状态里,若检测到应答就点亮,没有检测到应答就熄灭,结果发现确实LED没有亮。所以我们就找到了问题的所在,就可以对症下药了。所以,在没有方便的调试手段(如可实时跟踪单片机/DSP的仿真器,SignalTap用起来还是笨重点,而且器件支持上受限)来调试CPLD/FPGA的情况下,用简单的LED来跟踪定位程序不失为一种比较好的方法。
2.当存在调用大分频元件时的仿真。
当程序含有大分频元件时,若进行波形仿真,则往往需要设置很大的End Time,这也造成了运行一次波形仿真需要花费很长的时间。这个往往没有必要。我们可以在波形仿真时,先设置一个小的分频系数,然后波形仿真正确后再改为大分频系数,再编译下载。这样就省了很多的时间。
3.串口的作用。
当把串口调试通以后,其附加作用就开始显现了。比如在调试AT24C02的程序时,我们就通过串口把读出的数据发到到PC的串口调试助手上进行显示。这样,就可以很显然的得到读出的数据,直观快捷。我们在调试AT93C46,DS18B20,DAC7512时都通过串口发送过来的数据来观察程序的运行情况。所以,串口的作用是很大的。
相关文章推荐
- FPGA/CPLD设计的几个常用技巧
- 用Quartus II + Verilog 做FPGA/CPLD设计/仿真的几个基本问题(自己总结的,对初学者有效)
- FPGA/CPLD设计的几个常用技巧
- FPGA与CPLD的区别
- CPLD和FPGA的区别
- Linux几个调试宏__FUNCTION__, __TIME__, __LINE__, __FILE__ , __DATA__ 使用
- task和function语法的使用讨论(Verilog,CPLD/FPGA)
- 32个最热CPLD-FPGA论坛
- DM8168裸机调试-GPMC+FPGA
- FPGA/CPLD网站
- FPGA与CPLD的区别
- GDB中应该知道的几个调试方法
- 32个最热CPLD-FPGA论坛
- GDB中应该知道的几个调试方法
- cpld fpga 区别
- 几个调试工具
- GDB中应该知道的几个调试方法
- CPLD/FPGA/Verilog_Verilog中阻塞与非阻塞的区别
- 基于SignalTap的FPGA调试
- 几个不错的驱动开发和调试的网站(持续更新中)