劉彩虹,陳秀萍
摘 要:可編程邏輯器件的出現,使得傳統的數字系統設計方法發生了根本的改變,所以有必要介紹一下基于可編程邏輯器件的數字電路設計方法。以計數器的實現方法作為實例,介紹了采用原理圖和硬件描述語言兩種方法作為輸入,實現計數器的方法,并描述了編譯仿真的方法,給出了對應的仿真結果。采用熟悉的器件為例,使基于可編程邏輯器件的數字電路設計方法更容易理解掌握。
關鍵詞:可編程器件;計數器;數字電路;VHDL
中圖分類號:TN47文獻標識碼:A
文章編號:1004-373X(2009)19-189-02
Design of Digital Circuit Based on Programmable Logic Devices
LIU Caihong,CHEN Xiuping
(Northwest Minorities University,Lanzhou,730030,China)
Abstract:The traditional design method of digital systems has fundamentally changed because of the emergence of programmable logic devices,it is necessary to introduce the design of digital circuit based on the programmable logic device.The realization methods of counter as examples,described two ways to achieve counter by schematic and hardware description language as input methods.The method of compiled simulation was described,and given the simulation results.The design of digital circuit based on the programmable logic device easier to understand and grasp by the use of familiar device.
Keywords:programmable logic devices;counter;digital circuit;VHDL
0 引 言
可編程邏輯器件PLD(Programmable Logic Device)是一種數字電路,它可以由用戶來進行編程和進行配置,利用它可以解決不同的邏輯設計問題。PLD由基本邏輯門電路、觸發器以及內部連接電路構成,利用軟件和硬件(編程器)可以對其進行編程,從而實現特定的邏輯功能。可編程邏輯器件自20世紀70年代初期以來經歷了從PROM,PLA,PAL,GAL到CPLD和FPGA的發展過程,在結構、工藝、集成度、功能、速度和靈活性方面都有很大的改進和提高[1]。
隨著數字集成電路的不斷更新和換代,特別是可編程邏輯器件的出現,使得傳統的數字系統設計方法發生了根本的改變[2]。可編程邏輯器件的靈活性使得硬件系統設計師在實驗室里用一臺計算機、一套相應的EDA軟件和可編程邏輯芯片就可以完成數字系統設計與生產[3]。
1 Max+plus Ⅱ簡介
Max+plus Ⅱ是一種與結構無關的全集成化設計環境,使設計者能對Altera的各種CPLD系列方便地進行設計輸入、快速處理和器件編程。Max+plus Ⅱ開發系統具有強大的處理能力和高度的靈活性,其主要優點:與結構無關、多平臺、豐富的設計庫、開放的界面、全集成化、支持多種硬件描述語言(HDL)等。
數字系統的設計采用自頂向下、由粗到細,逐步分解的設計方法,最頂層電路是指系統的整體要求,最下層是具體的邏輯電路的實現。自頂向下的設計方法將一個復雜的系統逐漸分解成若干功能模塊,從而進行設計描述,并且應用EDA 軟件平臺自動完成各功能模塊的邏輯綜合與優化,門級電路的布局,再下載到硬件中實現設計[4],具體設計過程如下。
1.1 設計輸入
Max+plus Ⅱ支持多種設計輸入方式,如原理圖輸入、波形輸入、文本輸入和它們的混合輸入。
1.2 設計處理
設計輸入完后,用Max+plus Ⅱ的編譯器編譯、查錯、修改直到設計輸入正確,同時將對輸入文件進行邏輯簡化、優化,最后生成一個編程文件,這是設計的核心環節。
1.3 設計檢查
Max+plus Ⅱ為設計者提供完善的檢查方法設計仿真和定時分析,其目的是檢驗電路的邏輯功能是否正確,同時測試目標器件在最差情況下的時延,這一查錯過程對于檢驗組合邏輯電路的競爭冒險和時序邏輯電路的時序、時延等至關重要。
1.4 器件編程
當電路設計、校驗之后,Max+plus Ⅱ的Programmer 將編譯器所生成的編譯文件下載到具體的CPLD器件中,即實現目標器件的物理編程[5]。
2 以計數器為例介紹具體的設計方法
計數器是非常常用的時序邏輯電路。計數器類型有多種,實現計數器的方法也有很多。可以買到大部分類型的中規模集成的計數器直接使用,也可以用觸發器搭建符合要求的計數器。但是采用以上方法實現的計數器靈活性不夠,不能隨時進行修改,通用性差。這里介紹基于可編程邏輯器件的實現方法。
2.1 設計輸入
采用原理圖輸入的思維方式比較適合一直采用傳統設計方法人的使用。原理圖輸入如圖1所示。
圖1 原理輸入圖
采用硬件描述語言輸入的方法對于沒有傳統設計方法經驗的人更容易入門,修改起來也更方便。給出了一個可逆計數器的實現實例[6],程序的核心部分如下[7]:
PROCESS (clk)
VARIABLE cnt:INTEGER RANGE 0 TO 255;
VARIABLE direction:INTEGER;
BEGIN
IF(updown=′1′)THEN
direction:=1;
ELSE
direction:=-1;
END IF;
IF(clk′EVENT AND clk=′1′)THEN
cnt:=cnt+direction;
END IF;
qd <= cnt;
end process;
2.2 設計處理
原理圖或程序完成之后,選擇好器件并進行引腳定義,然后編譯優化得到編程文件的界面如圖2所示[8]。
2.3 設計檢查
編譯結束后,建立波形文件進行仿真,注意波形文件需要先保存,保存文件名和源文件一致才能進行仿真[9]。結果如圖3所示。
圖2 編譯優化得到編程文件的界面
圖3 仿真結果
仿真結果達到設計目的,符合設計要求。這時可以把編譯生成的*.pof文件下載到選定的器件使用。用以上方法實現的器件,修改起來非常方便,只需要修改程序重新編譯下載即可,任何類型的計數器都可以在可編程邏輯器件實現。
3 結 語
隨著電子技術的高速發展,CPLD 和FPGA 器件在集成度、功能和性能(速度及可靠性)方面已經能夠滿足大多數場合的使用要求。用CPLD,FPGA等大規模可編程邏輯器件取代傳統的標準集成電路、接口電路和專用集成電路已成為技術發展的必然趨勢。
可編程邏輯器件是邏輯器件家族中發展最快的一類器件,它出現使得產品開發周期縮短、現場靈活性好、開發風險變小,隨著工藝、技術及市場的不斷發展,PLD產品的價格將越來越便宜、集成度越來越高、速度越來越快,再加上其設計開發采用符合國際標準的、功能強大的通用性EDA工具,可編程邏輯器件的應用前景將愈來愈廣闊[10]。
參考文獻
[1]徐偉業,江冰,虔湘賓.CPLD/FPGA的發展與應用之比較[J].現代電子技術,2007,30(2):4-7.
[2]鄭寶華.基于CPLD的大屏幕掃描電路設計[J].現代電子技術,2008,31(24):17-19.
[3]趙延,葛利嘉,雙濤.基于FPGA的UART設計實現及其驗證方法[J].現代電子技術,2008,31(17):162-164.
[4]王淑文.基于CPLD的數字系統設計[J].現代電子技術,2007,30(12):184-186.
[5]楊暉,張鳳言.大規模可編程邏輯器件與數字系統設計[M].北京:北京航空航天大學出版社,2001.
[6]潘松.VHLD 實用教程[M].西安:西安電子科技大學出版社,2000.
[7]宋萬杰.CPLD技術及其應用[M].西安:西安電子科技大學出版社,2000.
[8]林明權.VHDL數字控制系統設計范例[M].北京:電子工業出版社,2003.
[9]曾繁泰,陳美金.VHDL程序設計[M].北京:清華大學出版社,2000.
[10]田開坤,徐海霞.基于CPLD的單片機接口設計[J].現代電子技術,2008,31(2):34-36.