|
在使用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文件(也不知道說的對不對,有待考證)
|
|