今天调试了一下午的FPGA,前几天忙的要死,没空管我现在这块板子,今天决定把fpga部分调试一下。首先遇到的问题是jtag和as模式多试几次都能把程序写进去,但是简单的led闪烁程序就是不能工作,以至于怀疑我的硬件设计问题,之前从来没有设计过fpga的pcb这让我心里很没底,经过五六个小时的奋战,总结如下:
我用的是EPCS16,FPGA是EP2C5,软件用的是Quartus II9.1 经过我的测试,软件默认生成的pof文件无法在epcs16中无法配置fpga,需要使用file-convert programming files进行文件转换,将生成的sof文件转换成pof文件在烧写就可以了。或者epcs的器件配置中取消数据流压缩也可以。
jtag加载数据后即使软件界面显示烧写成功但是conf_done引脚必须变为高电平后程序才可以正常运行,按照手册的说法,加载数据成功后释放对conf_done引脚的控制,由外部电阻拉高,因此不能单纯的看软件界面的提示。
后面再布线时候需要尤其注意TCK和DCLK两根时钟线,尽量减少过孔,线也要尽量粗一点。