本站小編為你精心準備了可編程邏輯器件實驗教學研究參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1如何解決編譯過程中的異?,F(xiàn)象
可編程邏輯器件的開發(fā)流程一般為建立工程、編程輸入、編譯和綜合、仿真、下載驗證等幾個過程。其中編譯和綜合是把行為和功能層次表達的電子系統(tǒng)轉(zhuǎn)換為低層次的便于具體實現(xiàn)的模塊組合的過程。只要VHDL語言編寫規(guī)范,編譯和綜合應該是沒有問題的[4]。但是,實驗過程中經(jīng)常會發(fā)現(xiàn)學生編寫的程序沒有任何問題,編譯就是通不過。開發(fā)平臺的錯誤提示又跟實際情況不符。從建立工程到編譯綜合過程的反復梳理,發(fā)現(xiàn)問題出在建立工程上。ispLEVERprojectnavigator開發(fā)平臺對工程名有苛刻的要求。工程名不支持中文和數(shù)字開頭的文件名,必須用英文,而且文件名不應包含空格或各種符號。這些在軟件說明里沒有明確指明。工程名的存儲路徑上不應該有中文名的文件夾,工程名也不能存儲在根目錄下,否則也會出現(xiàn)編譯不通過的現(xiàn)象。
2仿真中準確建立測試激勵波形
這里所指的是功能仿真,以驗證設(shè)計的邏輯正確性[5]。為了仿真,要建立測試激勵波形,能否建立完整的測試波形是實驗教學的核心問題。因為現(xiàn)在的仿真軟件性能出眾,只要仿真完整下載驗證問題不大。實驗教學中經(jīng)常會碰到測試激勵波形建立錯誤的情況。下面以簡單的D觸發(fā)器實驗為例說明問題。根據(jù)程序,學生經(jīng)常會建立與圖1類似的測試激勵波形。圖1中第一個clk(時鐘)上升沿跟輸入信號d,clr,pr上升沿或下降沿重疊在一起。這樣設(shè)計,根本無法確定時鐘上升沿時其他信號的狀態(tài)值,就無法根據(jù)程序,預期仿真后的波形,繼而無法判定程序的邏輯功能。建立測試激勵波形時,各種輸入信號的上升沿(或下降沿)不能重疊,應根據(jù)程序描述明確給定狀態(tài)值。根據(jù)程序分析,輸入信號d,clr,pr在時鐘信號的上升沿動作。而三個輸入信號構(gòu)成000~111八種輸入狀態(tài),所以測試激勵波形至少有8個時鐘上升沿,并且要保證輸入信號d,clr,pr的8種狀態(tài)輸入完整。這樣才叫完整意義上的仿真。圖1中所示波形只有5個時鐘上升沿,輸入信號狀態(tài)也不完整,因此顯然是錯誤的。要一次性輸入所有輸入輸出信號d,clr,pr,clk,qd0,qd1。如果遺漏哪一個信號,仿真結(jié)果將會出錯。屆時發(fā)現(xiàn)問題,返回到測試激勵波形建立窗口,重新補入該遺漏信號重新仿真,仿真結(jié)果也會不斷重復此前的錯誤結(jié)果。這種問題非常奇怪,估計與開發(fā)平臺的不成熟有關(guān)系。其它開發(fā)平臺未發(fā)現(xiàn)上述問題。發(fā)現(xiàn)這樣的問題,先把測試激勵波形文件在工程項目中刪掉,然后取一個與先前文件名不一樣的測試波形文件名,再把所有信號一次性輸入,就能得出正確的結(jié)果。上述三種錯誤是學生經(jīng)常忽略的問題,經(jīng)改正以后的圖2為正確的測試激勵波形。
3下載驗證中常見問題
編譯產(chǎn)生的目標程序文件(*.jed),經(jīng)下載線纜下載到目標器件,就構(gòu)成了具有程序所描述邏輯功能的器件[6]。綜合和仿真無誤的程序無法下載到目標器件。這時首先要查看綜合時所用到的器件與下載時的目標器件是否一致[7]。因為綜合是面向器件的,所產(chǎn)生的目標程序文件也是基于這一器件的,因此目標器件不一致會產(chǎn)生下載失敗的結(jié)果。目標器件沒有提供電源或者目標器件內(nèi)部燒毀都能導致下載失敗,應逐一排查原因。下載成功,就要根據(jù)管腳映射圖,連接硬件電路驗證目標器件的邏輯功能[7]。驗證時要跟仿真一樣從完整意義上逐一驗證所有邏輯功能。有時下載成功,硬件電路連接無誤,但邏輯功能驗證不出來。這時要懷疑目標程序文件下載錯了,把其他工程的文件下載到芯片里了。因為在ispLEVERprojectnavigator開發(fā)平臺中目標程序文件名與源程序文件名不一樣,與工程文件名相一致,所以很容易引起混淆,以致下載錯誤。
4結(jié)語
可編程邏輯器件的實驗教學中經(jīng)常會碰到理論教學難以觸及的問題,實驗教師要掌握核心內(nèi)容,并把學生容易犯錯的地方作為要點和難點指導實驗,檢驗學生的實驗結(jié)果,才能有效控制教學進程,提高教學效果。
作者:尹光明 張建萍 楊楠 單位:東北大學 信息科學與工程學院