|
刚刚买了块FPGA/CPLD的板子,在家没事的时候拿出来玩玩,大学的时候弄过点点VHDL,有点C语言的底子,看起来不是很难,弄的时候却大伤脑筋了。
开始当然是从LED流水灯开始了,自己敲了遍程序,新建工程,编译太多的警告,Pin Planer下随便定义了一下引脚,下载程序后发现板子上除了LED灯,数码管也亮了,菜鸟真伤不起,百X了一下, 管脚分配的几种方法.
FPGA管脚分配文件保存方法
使用别人的工程时,有时找不到他的管脚文件,但可以把他已经绑定好的管脚保存下来,输出到文件里。
方法一:
查看引脚绑定情况,quartus -> assignment -> Pins,打开FPGA引脚界面,在这个界面的菜单中可以保存引脚文件为csv格式(表格形式)和tcl格式。
步骤:File -> Export… -> 选择保存名字和保存格式。
方法二:
直接输出管脚配置,assignmengt -> Export assignmengt,可以保存配置为qsf格式,该格式可以用记事本查看,在该文件中同样包含了引脚信息。注意:保存时会在原工程文件夹下新建一个文件夹。
至于元件的其它配置方式,可以在qsf文件和tcl文件中用语句来设置,也可以在Assignment -> device,界面中设置。
加载:
使用已经有的引脚文件时,在选项assignment -> Import assignment,中可以选择要加载的引脚文件。此时,可以加载qsf 和 csv(或txt)文件。
保存的csv(txt)文件、qsf文件 和 tcl文件的区别:
csv(txt)文件:包含芯片所有管脚信息,包括分配的和未分配的;
qsf文件:包含管脚分配信息和芯片信息;
tcl文件:只包含已分配管脚信息。
最后总结最重要的一点,就是没有使用的IO一定要进行状态的定义:
Assignment >> Device >>选择Device and pins options >> unusedpin >>设置为Tri-stated(软件设置有很多种可以选择),再次重新编译和下载,其他没有用到的IO就不会出现其他不可预料的状况了(我之前没设置就导致使用开发板时,明明没定义的数码管IO却把所有的都点亮了>=<)。