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