周慶芳
【摘 要】 通過對可編程邏輯器件FPGA基礎(chǔ)知識的學(xué)習(xí),以此平臺進(jìn)行二進(jìn)制代碼轉(zhuǎn)換電路的設(shè)計與實現(xiàn),并使用QuartusII軟件進(jìn)行仿真實驗測試,驗證了系統(tǒng)的正確性。與傳統(tǒng)二進(jìn)制代碼轉(zhuǎn)換電路相比,使用FPGA來進(jìn)行二進(jìn)制代碼轉(zhuǎn)換電路能夠顯著縮短設(shè)計的時間、減少外圍電路的數(shù)量、降低開發(fā)成本、提高系統(tǒng)的可靠性,達(dá)到快速上市和降低成本的要求。
【關(guān)鍵詞】EDA;FPGA;Quartus II;二進(jìn)制代碼轉(zhuǎn)換
一、設(shè)計目的及意義
熟練掌握數(shù)字電路基本知識及邏輯器件的設(shè)計,掌握Verlog硬件編程語言的基本語法和簡單實例操作,掌握在QuartusII的軟件平臺上進(jìn)行邏輯設(shè)計的基本輸入方法,掌握設(shè)計實驗項目的編譯、仿真、波形分析等。
通過EDA綜合實驗設(shè)計,從電路的設(shè)計到在EDA軟件上的編譯通過和運行,增強了從事電路設(shè)計的信心和專業(yè)水平。
二、設(shè)計原理
1.8421BCD碼和余3碼
8421BCD碼是最基本的和最常用的BCD碼,它和四位自然二進(jìn)制碼相似,各位的權(quán)值為8、4、2、1,故稱為有權(quán)BCD碼。即用0000~1001分別代表它所對應(yīng)的十進(jìn)制數(shù),將一個四位輸入的8421BCD碼轉(zhuǎn)化為一個四位輸出的余3碼,由于8421BCD碼不會出現(xiàn)1010~1111六種狀態(tài),所以把它們視為無關(guān)項。根據(jù)兩種BCD碼的編碼關(guān)系,其真值表如下:
2.格雷碼
在數(shù)字系統(tǒng)中只能識別0和1,各種數(shù)據(jù)要轉(zhuǎn)換為二進(jìn)制代碼才能進(jìn)行處理,格雷碼是一種無權(quán)碼,采用絕對編碼方式,典型格雷碼是一種具有反射特性和循環(huán)特性的單步自補碼,它的循環(huán)、單步特性消除了隨機取數(shù)時出現(xiàn)重大誤差的可能,它的反射、自補特性使得求反非常方便。格雷碼屬于可靠性編碼,是一種錯誤最小化的編碼方式,因為,自然二進(jìn)制碼可以直接由數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號,它在任意兩個相鄰的數(shù)之間轉(zhuǎn)換時,只有一個數(shù)位發(fā)生變化。它大大地減少了由一個狀態(tài)到下一個狀態(tài)時邏輯的混淆。另外由于最大數(shù)與最小數(shù)之間也僅一個數(shù)不同,故通常又叫格雷反射碼或循環(huán)碼。下表為幾種自然二進(jìn)制碼與格雷碼的對照表:
三、仿真
在仿真工具窗口中可以選擇時序仿真或功能仿真,指定仿真波形文件的位置等操作,如圖所示。
結(jié)果分析:模擬結(jié)果與結(jié)果一致,此仿真成功。
四、總結(jié)
本文通過更新數(shù)字系統(tǒng)設(shè)計手段,使用硬件描述語言代替?zhèn)鹘y(tǒng)的數(shù)字電路設(shè)計方法來設(shè)計數(shù)字系統(tǒng),減少了在硬件電路連接上所面臨的線路太多,不易檢查等問題,同時降低了實驗的成本,提高了實驗和工程的效率。改善了二進(jìn)制代碼轉(zhuǎn)換電路輸入輸出特性,滿足二進(jìn)制代碼轉(zhuǎn)換電路的基本原理和核心算法,實現(xiàn)了設(shè)計要求。