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