周慶芳

【摘 要】本文通過對可編程邏輯器件FPGA的相關基礎知識的學習與理論研究,進行十進制加法器的設計,通過仿真測試驗證了所做設計功能的正確性,并下載到EDA實驗箱進行了在線測試,闡述了可編程邏輯器件的基本設計方法。
【關鍵詞】FPGA 十進制計數器 模塊設計
一、FPGA概述
可編程邏輯器件FPGA,是20世紀70年代發展起來的一種新型器件。它的應用不僅簡化了電路設計,降低了成本,提高了系統的可靠性,而且給數字系統的設計帶來了革命性的變化[1]。FPGA開發采用的是一種高層次設計方法,這是一種“自頂向下”的方法,適應了當今芯片開發的復雜程度提高、上市時間緊迫的特點[2]。
二、模塊設計
(一)電源模塊
電源模塊包括3個開關、7個電壓輸出插孔。其中交流開關用于打開從220V交流電源接入的內部變壓器,為實驗箱提供基本工作電源。打開交流開關,電源指示燈PL0亮,實驗箱進入待機狀態。按鈕開關APW1用于打開主板各模塊工作電源,按下APW1后,電源指示燈PL1亮,實驗箱進入工作狀態,為系統提供+5V,+3.3V,+2.5V,+1.8V電源。
(二)通用編程模塊
本模塊為FPGA/CPLD通用配置/編程模塊,可以使用本模塊對ALTERA、LATTICE、XILINX等國際著名PLD公司的幾乎所有isp器件或FPGA/CPLD器件進行編程下載并且能自動識別目標器件[3]。本模塊由并口插座、核心電壓跳線選擇器、下載接口三部分組成。下載接口用于連接本模塊與目標器件的可編程接口。在本實驗箱的配置模塊、適配板上都有相應的接口,用10芯JTAG下載線將本模塊下載接口接配置模塊的下載接口,才能實現現場下載或配置。
(三)模式選擇模塊
本模塊采用8位撥碼開關,實現硬件資源免連線功能,同時是為了全面開放I/O口而設計的。在不使用實驗箱上相應資源而要使用I/O口時,所有撥碼開關均撥向下,此時硬件資源相連的I/O口會開放給用戶自由使用;當需要使用實驗箱上的資源時,將相應的撥碼開關撥向上,此時與此硬件資源相連的I/O口即被占用,用戶可利用這些資源進行數字系統設計。
(四)LED顯示模塊
本模塊是常用的數字系統輸出模塊,即用LED的亮與滅觀察輸出電平的高與低。當模式選擇模塊撥碼開關2、3均撥向上時,LED1-LED16全部有效顯示。撥碼開關2控制前八個LED,3控制后八個LED。
(五)液晶顯示模塊
在使用液晶屏做液晶實驗時,將液晶屏正確地插在液晶顯示模塊對應的單排軍品插座上。按鍵NK1用于液晶顯示復位,可調電阻NW1用于調節液晶的對比度。
(六)數碼管顯示模塊
本模塊是常用的數字系統輸出模塊。本模塊選擇共陰數碼管,相關知識可查閱模擬電子技術基礎書籍。當模式選擇模塊撥碼開關1撥向上時,本模塊有效。根據節省I/O口的原則,我們將8個數碼管SM1-SM8進行如下連接: SM1-SM8的對應段碼接在一起,即SM1-SM8的A段接在一起,以此類推。SM1-SM8的片選接3-8譯碼器的輸出端。因此,本模塊共需要控制信號3個,作為3-8譯碼器輸入;數據信號8個,作為數碼管段碼輸入。
(七)擴展功能部分
為了使設計所使用的硬件資源不僅僅局限于實驗箱上的固定模塊,我們專門設計了擴展功能部分。作為開放性的主要體現,本實驗箱用擴展插槽接擴展板的方式實現各種外圍硬件資源的擴展。
1.單片機擴展板
本擴展板主要完成單片機與PC機、FPGA/CPLD之間的通信,PS/2鍵盤控制,VGA顯示控制,串口通信等實驗內容。
2.數字邏輯學習板
本擴展板主要用于進行數字電路集成芯片的邏輯功能驗證和學習,未列入實驗項目。將數字集成芯片插于學習板的插槽上,然后可通過實驗箱上的資源輸入高低電平和時序,觀察集成芯片的輸出,可用于輔助數字電路教學。系統整體電路如圖1所示。
圖1 系統整體電路圖
三、總結
本文通過基于VHDL硬件描述語言對十進制計數器的設計,充分了解了使用CPLD開發硬件系統的模式。在開發過程中,我們依賴于計算機對硬件系統進行設計,便于修改,在實際設計中擺脫了以往繁多的電路芯片,用一塊CPLD芯片就可以完成絕大多數的設計。總之,使用CPLD這樣新興的方式,為硬件系統的開發節約了大量時間。
【參考文獻】
[1]幸云輝,楊旭東.計算機組成原理實用教程[M].北京:清華大學出版社,2004.
[2]潘松,黃繼業.EDA技術與VHDL[M].北京:清華大學出版社,2005.
[3]潘松.現代DSP技術[M].西安:西安電子科技大學出版社,2005.