|
在使用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
在網(wǎng)上查找多種解決方案,最終行之有效的是:
解決方案是從QuartusSettings File (.qsf)中移除下行:
set_global_assignment -nameWEAK_PULL_UP_RESISTOROFF
這一問題計劃在QuartusII軟件的后續(xù)版本中得到修復(fù)。
以上的答案摘自:https://www.altera.com.cn/suppor ... rd04072014_413.html
問題的解決說明的問題就是因為版本的原因?qū)е挛覀冊谲浖械脑O(shè)置不能夠在qsf文件中實現(xiàn)。那我們就引申學(xué)習(xí)一下qsf文件與tcl文件
tcl文件與qsf文件同屬于FPGA的配置文件。
tcl文件:tcl的全稱是Tool commandlanguage,是基于字符串的命令語言,tcl語言是一種解釋性語言,他不需要通過編譯與聯(lián)結(jié),它像其它shell語言一樣,直接對每條語句順次解釋執(zhí)行。在FPGA的應(yīng)用中tcl文件中使用tcl語言對管腳進行配置,tcl文件只包含管腳的配置信息。
qsf文件:qsf的全稱是Quartus SettingsFile的縮寫。包含了一個Quartus工程的所有約束,包括工程信息、器件信息、引腳約束、編譯約束和用于ClassicTimingAnalyzer的時序約束。
這里要注意的是,qsf并不是把工程所有能用到的設(shè)置都寫在里面,如果你的設(shè)置和默認設(shè)置一樣,那么就不會出現(xiàn)那一條,如果不一樣則會添加一條。默認的設(shè)置從assignment_defaults.qdfquartusdefaultfile中讀取。然而當(dāng)你把設(shè)置從非默認改回默認的時候,并不是把這條設(shè)置在文件里刪掉,而是修改這條設(shè)置的值。這樣如果你的工程反復(fù)修改了多次設(shè)置可以看到qsf有很長的一串。如果新建的工程則只有一點點。
關(guān)于qsf文件與tcl文件的關(guān)系
個人認為,tcl文件是設(shè)置管腳用的工具,它是一個應(yīng)用范圍很廣的工具,不局限于fpga。而qsf這是與quartus“生養(yǎng)”的工具專門為quartus服務(wù)。通過執(zhí)行tcl文件,把tcl文件中的設(shè)置寫入到qsf文件中去,quartus真正調(diào)用的配置文件是qsf文件(也不知道說的對不對,有待考證)
|
|