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