如果同學(xué)們的問題我們帖子里面沒有的請第一時間聯(lián)系我微信同步:18022857217吳老師,我們對新問題進行補充!
明德?lián)P最近做了抖音系列短視頻,感興趣可以關(guān)注明德?lián)P抖音號:FPGA技巧分享(87481069842)至簡書籍短視頻(74803215644)
內(nèi)容不斷更新!點贊+關(guān)注,學(xué)習(xí)不迷路!
一、VIVADO TCL問題
【問題1.1】 在TCL開發(fā)中,生成BIT流階段出現(xiàn)錯誤,提示“Unspecified I/O Standard” 的錯誤,如下
答:1. 如果是使用MDY開發(fā)板,則其管腳文件必引用以下目錄的:F:svnmdy_flow_common_mdyCommForBoard_mdyBoardPin。不能是自己配置的。 2. 注意工程頂層文件的接口名,必須與管腳文件里的名稱相同,如果不同,要改頂層文件的接口信號名!! 例如下面案例中,左邊的頂層文件定義了接口lcd_rgb, 但右邊的管腳文件里沒有定義信號,而是定義了lcd_dat。因此,要將左邊的信號lcd_rgb改為lcd_dat。
【問題1.2】在TCL開發(fā)中,提示找不到模塊,該模塊名為:altpll等,如下圖
答:上面是提示模塊“altpll”找不到。 思路:
1. 如果是您用代碼寫的模塊,就是表示文件列表中缺少這個模塊,請把這個模塊添加進文件列表,或者文件列表中的定義搞錯了(不要是BOTH_FILE類型,這個是仿真用的)。
2. 該模塊是一個設(shè)計庫文件或者是ALTERA設(shè)計譯,那么檢查一下TCL中的宏定義,要定義成VIVADO,即 `define VIVADO 1。
【問題1.3】運行TCL腳本時,提示:couldn't open "../src/mdyLogGen.mdy":no such file or directory。
答:mdyLogGen是用來產(chǎn)生“串口調(diào)試信息”的一個文件,當(dāng)您不需要使用或不清楚是什么時,在TCL或DO文件里最上面添加一句:set LOGGEN_EN 0
這樣就關(guān)閉了該功能,就不會報錯了。
【問題1.4】 提示編譯“altera_mf.v”文件有錯誤。
答:該問題與【問題2.3】一樣,可解決相同解決方法。
【問題1.5】VIVADO報錯:ERROR: [DRC PDRC-34] MMCM_adv_ClkFrequency_div_no_dclk: The computed value 60.006 MHz (CLKIN1_PERIOD, net clk_IBUF) for the VCO operating frequency of the MMCME2_ADV site MMCME2_ADV_X0Y1 (cell u_xilinx_pll/MMCME2_ADV_inst) falls outside the operating range of the MMCM VCO frequency for this device (600.000 - 1440.000 MHz). The computed value is (CLKFBOUT_MULT_F * 1000 / (CLKINx_PERIOD * DIVCLK_DIVIDE)). Please run update_timing to update the MMCM settings. If that does not work, adjust either the input period CLKINx_PERIOD (33.330002), multiplication factor CLKFBOUT_MULT_F (2.000000) or the division factor DIVCLK_DIVIDE (1), in order to achieve a VCO frequency within the rated operating range for this device.
答:在使用mdyPLLXilinx的時候,不符合要求。
首先理解一下PLL的輸出時鐘是如何計算的,其計算公式通常為:輸出時鐘 = 輸入時鐘*M/D。例如輸入時鐘為50M,M為15,D為3,則輸出時鐘為250M。
注意一下以上規(guī)范,1. M和D為整數(shù),不超過64,不能為0。2. 輸入時鐘*M必須在一定范圍,上面的提示就是要求在600~1440M之間。
也就是說,如果輸入時鐘為50M,那么M必須大于等于12,小于28.8。
二、QUARTUS TCL問題
【問題2.1】提示:quartus_sh 不是內(nèi)部或者外部命令,也不是可運行的程序
答:需要設(shè)置電腦的環(huán)境變量,將quartus軟件中bin目錄,添加到系統(tǒng)的環(huán)境變量PATH中。添加后,重新再打開cmd窗口。
【問題2.2】運行TCL腳本時,提示:couldn't open "../src/mdyLogGen.mdy":no such file or directory。
【問題2.3】 錯誤提示:can't resolve reference to object "IS_VALID_FAMILY" file: altera_mf.v
答:注意一下,altera_mf.v文件是仿真庫來的,是仿真才用到的。所以在文件列表里,該文件的類型要為BOTH_FILE
三、MODELSIM DO問題
【問題3.1】在跑VIVADO的仿真時,提示“could not find 'glbl'”
答:glbl這個是VIVADO特有的一個模塊,需要在VIVADO庫中調(diào)用。如果說找不到此模塊,說明VIVADO的庫調(diào)用不正確。
所以看上圖中,前面的錯誤,F(xiàn)aile to access library,說明引用庫不成功。
【問題3.2】MODELSIM仿真出錯,提示如:Faile to access library ‘unimacro_ver’ at "unimacro_ver" 等錯誤。
答:這是仿真使用到的庫未添加成功的意思。我們仿真的時候,需要添加FPGA的一些仿真庫,這個仿真庫包括了一些仿真模塊的信息。
VIVADO仿真庫的添加方法,可以看:F:/svn/mdy_flow_common/06_mdyCommForBoardTest/lib/xilinx/修改modelsim.ini文件.txt
ALTERA仿真庫的添加方法,直接將F:/svn/mdy_flow_common/06_mdyCommForBoardTest/lib/altera/altera_mf.v文件加到文件列表中。
LATTICE仿真庫的添加方法,可以看:F:/svnmdy_flow_common/06_mdyCommForBoardTest/lib/lattice/修改modelsim.ini文件.txt
【問題3.3】仿真QUARTUS,提示:Instantiation of "altpll" failed. the design unit was not found.
答:上面是提示,模塊“altpll”(或其他名字)找不到。請根據(jù)以下思路來找。
1. 前提條件:該模塊不是自己寫的;ALTERA模式。解決方法:就很有可能是庫文件缺失,這個時候要添加庫文件。ALTERA的庫文件添加方式:直接將F:/svn/mdy_flow_common/06_mdyCommForBoardTest/lib/altera/altera_mf.v文件加到文件列表中。如果仍然無效,請看下一步。
2. 前提條件:是自己生成的IP核的子模塊,并生成的IP核目錄,能搜索到相同名字的模塊。解決方法:將生成的子模塊添加到工程,或者f文件列表(注意,不僅要添加qip文件,還要添加提示的模塊文件),如下圖。
上圖中的文件列表,1是qip文件,是QUARTUS要用到的;2~4是IP核生成的文件,均要添加進來。
注意,2~4是VHDL文件,即IP核生成了VHDL格式的文件,那么在前面的文件類型中,應(yīng)該為:BOTH_FILE_VHDL。
【問題3.4】 Error: can't read "LOGGEN_EN": no such variable
答:該問題,類似于本貼的問題1.3,請看那個問題答案。
【問題3.5】出現(xiàn)如下錯誤提示“Faile to access library 'work' to 'work”,如下圖。
答:注意問題中,是提示“work”庫找不到,而不是其他的仿真庫。 解決方法,在DO文件中,添加命令“mdyVerifyStart”,下圖所示。在下面中“1”的位置之后,“3”位置之前添加。
四、LATTICE TCL問題
五、安路FPGA TCL問題