|
在使用quartus II操作FPGA的过程中遇到如下的问题:
Error: Following feature(s) of I/O pin DCLK hasinvalid setting(s)in the configuration scheme ACTIVE_SERIAL whenthe pin is placed at pinlocation 12
在网上查找多种解决方案,最终行之有效的是:
解决方案是从QuartusSettings File (.qsf)中移除下行:
set_global_assignment -nameWEAK_PULL_UP_RESISTOROFF
这一问题计划在QuartusII软件的后续版本中得到修复。
以上的答案摘自:https://www.altera.com.cn/suppor ... rd04072014_413.html
问题的解决说明的问题就是因为版本的原因导致我们在软件中的设置不能够在qsf文件中实现。那我们就引申学习一下qsf文件与tcl文件
tcl文件与qsf文件同属于FPGA的配置文件。
tcl文件:tcl的全称是Tool commandlanguage,是基于字符串的命令语言,tcl语言是一种解释性语言,他不需要通过编译与联结,它像其它shell语言一样,直接对每条语句顺次解释执行。在FPGA的应用中tcl文件中使用tcl语言对管脚进行配置,tcl文件只包含管脚的配置信息。
qsf文件:qsf的全称是Quartus SettingsFile的缩写。包含了一个Quartus工程的所有约束,包括工程信息、器件信息、引脚约束、编译约束和用于ClassicTimingAnalyzer的时序约束。
这里要注意的是,qsf并不是把工程所有能用到的设置都写在里面,如果你的设置和默认设置一样,那么就不会出现那一条,如果不一样则会添加一条。默认的设置从assignment_defaults.qdfquartusdefaultfile中读取。然而当你把设置从非默认改回默认的时候,并不是把这条设置在文件里删掉,而是修改这条设置的值。这样如果你的工程反复修改了多次设置可以看到qsf有很长的一串。如果新建的工程则只有一点点。
关于qsf文件与tcl文件的关系
个人认为,tcl文件是设置管脚用的工具,它是一个应用范围很广的工具,不局限于fpga。而qsf这是与quartus“生养”的工具专门为quartus服务。通过执行tcl文件,把tcl文件中的设置写入到qsf文件中去,quartus真正调用的配置文件是qsf文件(也不知道说的对不对,有待考证)
|
|