概述 “自动化”设计altera的设计流程中其实就是使用Quartus集成的TCL脚本编译器,用户可以编写自己的脚本来完成一些需要多次重复的动作,或者利用脚本来保存一些可以多场合重复使用的配置等到。 本文总结有关FPGA配置方面应用“自动化”手段的小技巧,其中一个有关自动生成JIC配置文件,另一个就是如何批处理自动下载配置文件技巧。 JIC配置文件 Altera的FPGA有一种配置模式叫主动串行模式,即AS模式(最新有ASx4模式)。该模式可以通过EPCS这种Flash性质的配置芯片来对FPGA进行配置,需要注意的是Altera或Intel已经不生产这种基于Flash的配置芯片EPCS了,随着FPGA 规模越来越大,Flash配置芯片大多支持ASx4模式,Altera目前推荐使用的是EPCQL。而AS配置模式下,配置芯片的烧写有两种方式,一种是直接通过AS口直接独立地烧写POF文件,这样就需要给电路设计一个独立的10针插座;还有一种方式是可以借用JTAG的接口桥接方式来烧写,只是需要事先将配置文件*.sof文件转换成JIC文件。 JIC配置文件手动转换 Convert Programming Files...),该工具打开的界面如图1所示。 图1:配置文件转换工具及生成JIC的相关设置 JIC配置文件自动转换 通过脚本可以让Quartus II在全编译过程的同时自动生成JIC文件,这样只要首次进行配置后,后面项目任何更改后都会在全编译时自动生成JIC配置文件,而不需要如上述那样再手动将SOF文件转换为JIC文件。具体 方法是,设计者事先要确认一个正确的转换设置(不同的设计可能设置会有不同),再将这种设置保存到一个*.cof(这里命名为jicgen.cof)文件之中,如图2所示。 图2:将SOF文件转换到JIC文件的转换设置保存到COF文件 接着是编写一个简单的TCL脚本文件(这里将该文件命名为JicGen.tcl),该脚本文件中其实就一句话,即“exec quartus_cpf -c jicgen.cof”。 exec quartus_cpf -c jicgen.cof 最后一步是在工程的配置文件*.qsf文件中添加一句 “set_global_assignment -name POST_FLOW_SCRIPT_FILE "quartus_sh:JicGen.tcl"这样工程在编译结束后会为我们自动生成所需的JIC文件了。添加这条配置的目的,就是Quartus在编译过程中会适时地执行这条配置,并依据本条设置调用上述TCL脚本文件来产生JIC文件。 set_global_assignment -name POST_FLOW_SCRIPT_FILE "quartus_sh:JicGen.tcl FPGA配置文件自动下载 Altera的FPGA程序 在线 下载一般都是在打开Quartus II软件进行项目开发的过程中进行,当然也可以在调试过程中通过SignalTap II下载sof文件,同时,在后期也可以只打开Programmer来单独下载程序。上述方法都是需要打开GUI界面,本文介绍一种通过批处理在未打开GUI界面的情况下下载程序到FPGA。 1. 条件: 本条技巧涉及到的程序下载方法,都是需要经过下载电缆,所以条件之一就是必须要有一根USB-Blaster电缆,同时必须安装了Quartus II软件或单独安装Programmer亦可。这是FPGA在线配置的必要条件。 2.使用的命令及格式 下载使用的是集成在Quartus II软件中的“quartus_pgm”命令。为了自动化执行,需要手动生成一个Batch文件,将对应具体命令拷贝到这个BAT文件即可,这样在需要下载配置文件的时候,可以单击鼠标完成,而不需要打开GUI下载界面。BAT批处理具体格式如下: 1)、下载SOF文件 %QUARTUS_ROOTDIR%\\bin64\\quartus_pgm .exe -m jtag -c USB-Blaster -o " p ;output_file .sof " 2)、下载JIC文件 %QUARTUS_ROOTDIR%\\bin64\\quartus_pgm .exe -m jtag -c USB-Blaster -o pvbi;output_file .jic 注: 上述命令可能需要用户根据自己软件版本、硬件条件进行适当调整。比如32-bit版本就是将上述bin64修改成bin32,然后是usb-blaster下载线也要依据具体硬件来进行适当修改,因为现在usb-blaster升级到二代,而且有时可能电脑上连接有不止一根下载线。