【正文】
圖32 基于VHDL 的數(shù)字系統(tǒng)設(shè)計(jì)數(shù)字鐘系統(tǒng)是由各個(gè)功能模塊組成的,在這里主要介紹其中的分頻模塊,六十進(jìn)制計(jì)數(shù)器模塊,二十四進(jìn)制計(jì)數(shù)器模塊,校時(shí)模塊和BCD七段顯示譯碼器模塊。Entity div1024 is Port( clk: in std_logic。039。圖34 六十進(jìn)制計(jì)數(shù)器模塊可以把2片74160芯片連成六十進(jìn)制計(jì)數(shù)器,其電路圖如下。 COUT:OUT STD_LOGIC)。 Q1:=(OTHERS=39。 THENIF Q0=9 and Q1=5 THEN Q0:=(OTHERS=39。)。ELSE COUT=39。將二十四進(jìn)制的計(jì)數(shù)模塊用8bit的數(shù)組用來表示,高四位為時(shí)鐘的十位,低四位為時(shí)鐘的個(gè)位。ENTITY CNT24 IS PORT(CLK,RST,EN:IN STD_LOGIC。 THEN Q0:=(OTHERS=39。139。)。END IF。END PROCESS。而數(shù)字電子鐘更是需要通過將系統(tǒng)產(chǎn)生的BCD碼轉(zhuǎn)換成七段顯示碼,從而將時(shí)間直觀的顯示出來。它將具備計(jì)時(shí)、鬧鐘、定時(shí)等功能,同時(shí)可以方便地調(diào)校時(shí)間。4.三個(gè)計(jì)數(shù)器輸出信號分別為hour、min、sec。圖 43 60進(jìn)制計(jì)數(shù)器的仿真圖由仿真圖可以看到,當(dāng)時(shí)鐘信號輸入時(shí),開始計(jì)時(shí)。將alarm開關(guān)轉(zhuǎn)成on時(shí),6個(gè)數(shù)字即顯示00:00:00,以等待輸入。調(diào)分鍵與調(diào)時(shí)鍵的動作原理與之類似,此時(shí)指撥開關(guān)ok仍在off狀態(tài)。 i24BCD組件同理,設(shè)計(jì)一個(gè)查表程序?qū)⑿r(shí)數(shù)0~23共24個(gè)整數(shù)轉(zhuǎn)換成二進(jìn)制編碼的十進(jìn)制(BCD)輸出,以便將來轉(zhuǎn)換成七段顯示器格式輸出。以下是系統(tǒng)輸入信號。圖412為時(shí)鐘在正常計(jì)時(shí)的一個(gè)波形圖。因此,并不能完全體現(xiàn)出本次設(shè)計(jì)的成果。所以,使用不同型號的單片機(jī)必須學(xué)會不同的匯編語言。因此,F(xiàn)PGA將在EDA基礎(chǔ)上的廣泛應(yīng)用。千萬不要?jiǎng)h除行尾的分節(jié)符,此行不會被打印。隨著現(xiàn)代電子技術(shù)的發(fā)展,F(xiàn)PGA芯片的性能更加卓越,必將在數(shù)字系統(tǒng)中擔(dān)負(fù)更加重要的角色,通過此次畢業(yè)設(shè)計(jì),我認(rèn)識了FPGA的基本結(jié)構(gòu)和工作原理,為自己又增添了一項(xiàng)基本技能。致謝參考文獻(xiàn)1 潘松,黃繼業(yè). EDA技術(shù)實(shí)用教程. 第三版. 科學(xué)出版社,2006:84~922 歐偉明,周春臨,瞿遂春. 電子信息系統(tǒng)設(shè)計(jì). 西安電子科技大學(xué)出版社,2005:88~1293 褚振勇,翁木云. FPGA設(shè)計(jì)及應(yīng)用. 西安電子科技大學(xué)出版社,2002:45~564 羅朝霞,高書莉. CPLD/FPGA及應(yīng)用. 人民郵電出版社,2007:81~975 辛春艷.VHDL硬件描述語言. 國防工業(yè)出版社,2005:49~566 盧毅,. 科學(xué)出版社,2005:34~457 雷雪松. VHDL設(shè)計(jì)實(shí)例與仿真. 機(jī)械工業(yè)出版社,2007:2~68 雷伏容. VHDL電路設(shè)計(jì). 清華大學(xué)出版社,2006:12~179 王傳新. FPGA設(shè)計(jì)基礎(chǔ). 高等教育出版社,2007:9~1410 Stephen Brown ,Zvonko Vranesic . Fundamengtals of Digital Logic with VHDL Design . McGraw—Hill Education(Asia),2002:5~911 Clive Max Maxfield .The Design Warrior’s Guide to FPGA’s Devices, Tools and Flows . Elsevier(Singapore)Pte Ltd,2007:12~1512 Maziar Khosravipour, Herbert Grfinbacher . VHDLbased Rapid Hardware Prototyping Using . Vienna, Austria,2006:3~713 SangJoon Lee and Dr. Kaamran Placement Optimization Methodology Survey. Toronto, Canada,2008:1~814 歐偉明. 基于FPGA電路重構(gòu)技術(shù)的電子系統(tǒng)設(shè)計(jì),2006:2~515 李冬梅. PLD器件與EDA技術(shù)[M] . 北京廣播學(xué)院出版社,2004:47~5216 姜雪松,吳鈺淳. VHDL設(shè)計(jì)實(shí)例與仿真. 機(jī)械工業(yè)出版社,2007:78~8517 劉嵐,黃秋光,陳適. FPGA應(yīng)用技術(shù)基礎(chǔ)教程. 電子工業(yè)出版社,2009:2~518 王誠,吳建華. Altara FPGA/CPLD設(shè)計(jì). 人民郵電出版社,2008:104~10919 徐志軍,尹延輝. 數(shù)字邏輯原理與VHDL設(shè)計(jì). 機(jī)械工業(yè)出版社,2008:46~5020 [美]克萊茨(Kleitz,W.),李楚軍 譯. VHDL數(shù)字電子學(xué). 科學(xué)出版社,2008:417~42421 孟憲元,錢偉康. FPGA嵌入式系統(tǒng)設(shè)計(jì). 電子工業(yè)出版社,2007:108~11422 李云,侯傳教. VHDL電路設(shè)計(jì)實(shí)用教程. 機(jī)械工業(yè)出版社,2009:195~196附錄AFPGA Placement Optimization Methodology SurveySangJoon Lee and Dr. Kaamran RaahemifarDepartment of Electrical and Computer Engineering Ryerson UniversityToronto, ON, CanadaABSTRACTField Programmable Gate Array (FPGA) is a programmable chip that can be used to quickly implement any digital circuits. Placement is an important part of FPGA design step which determines physical arrangement of the logic blocks in the FPGA. The quality of placement of logic blocks determines overall performance of the logic implemented in the FPGA. In this paper, a number of placement optimization techniques are reviewed。歸納起來如下:1.對EDA技術(shù)有了更加深刻的了解,這使得我能夠把握本專業(yè)的發(fā)展方向,并結(jié)合個(gè)人興趣而有目的地學(xué)習(xí),為以后走上工作崗位打下基礎(chǔ)。同時(shí)對其進(jìn)行仿真分析,以便檢驗(yàn)各功能模塊是否達(dá)到設(shè)計(jì)要求以及運(yùn)行狀態(tài)正確與否。另外,F(xiàn)PGA可根據(jù)需要用到的軟件改變各引腳的功能,如需要的話,也可在FPGA中設(shè)計(jì)出一個(gè)或多個(gè)CPU,達(dá)到控制的目的。而單片機(jī)為適應(yīng)實(shí)時(shí)處理的快速要求,它是直接面對硬件的,屬較低級的,大多數(shù)都使用匯編語言。需要說明的是,由于本圖為通過FPGA試驗(yàn)箱來設(shè)計(jì)數(shù)字電子鐘系統(tǒng)。此時(shí)時(shí)鐘暫停計(jì)時(shí);同時(shí)把sec_tune置為1,即為開始計(jì)時(shí),秒鐘將從0持續(xù)增到59,然后自動清零,同時(shí)再次開始計(jì)時(shí)。經(jīng)過轉(zhuǎn)換,最終輸出為七段顯示數(shù)碼形式,從而能夠通過控制七段數(shù)碼管的亮暗來最終達(dá)到顯示時(shí)間的設(shè)計(jì)目的。當(dāng)輸入信號計(jì)數(shù)到60時(shí),計(jì)數(shù)器清零,系統(tǒng)重新計(jì)時(shí)。將alarm開關(guān)轉(zhuǎn)成on時(shí),6個(gè)數(shù)字即顯示00:00:00,以等待輸入。為了設(shè)定鬧鐘,設(shè)計(jì)了一個(gè)目標(biāo)時(shí)間調(diào)整程序。 六十進(jìn)制計(jì)數(shù)器組件為了讓計(jì)算過程容易閱讀,個(gè)位數(shù)信號one和十位數(shù)信號ten先以整數(shù)形式出現(xiàn),計(jì)算完成后再轉(zhuǎn)化成位矢量形式(信號ones與tens),便于以后轉(zhuǎn)化成七段LED顯示碼,雖然十進(jìn)制僅需要兩位的位矢量,但為了統(tǒng)一以后的七段顯示器輸出顯示的需要,這里是以4位的位矢量表示的。計(jì)分電路和計(jì)時(shí)電路功能動作也相類似。因此,了解并掌握各個(gè)功能模塊的工作原理及設(shè)計(jì)方法具有重要意義。圖38 定時(shí)模塊 BCD七段顯示譯碼器在數(shù)字測量儀表和各種數(shù)字系統(tǒng)中,都需要將數(shù)字量直觀的顯示出來。CQ2=Q0。END IF。 Q1:=(OTHERS=39。 ELSIF CLK39。BEGIN IF RST=39。 USE 。 END behav。IF Q0=9 and Q1=5 THEN COUT=39。elsif Q0=9 THEN Q0:=(OTHERS=39。 THENIF EN=39。039。 CQ0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。將六十進(jìn)制的計(jì)數(shù)模塊用8bit的數(shù)組用來表示,高四位為秒鐘的十位,低四位為秒鐘的個(gè)位。139。Use 。VHDL程序設(shè)計(jì)采用自頂向下的模塊化設(shè)計(jì)方法,一個(gè)完整的VHDL程序包括實(shí)體(entity)、結(jié)構(gòu)體(architecture)、配置(configuration)、程序包(package)和庫(library)五個(gè)部分。VHDL具有豐富的仿真語句和庫函數(shù),使得門電路級功能仿真、檢查成為可能,使設(shè)計(jì)者對整個(gè)工程設(shè)計(jì)的結(jié)構(gòu)和功能的可行性作出決策。VHDL具有比其他硬件描述語言更強(qiáng)的行為描述能力,基于抽象的行為描述風(fēng)格避開了具體的硬件結(jié)構(gòu),是設(shè)計(jì)人員能從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)。UDL/I在日本以標(biāo)準(zhǔn)HDL的形式出現(xiàn)。時(shí)序分析器不要求用戶產(chǎn)生輸入激勵(lì)或測試矢量。(4) 時(shí)序提取:產(chǎn)生一個(gè)目標(biāo)文件,供后續(xù)的時(shí)序仿真使用。HDL描述語言在狀態(tài)機(jī)、控制邏輯、總線功能方面較強(qiáng),使其描述的電路能在特定綜合工具作用下以具體硬件單元較好地實(shí)現(xiàn);而原理圖輸入在頂層設(shè)計(jì)、數(shù)據(jù)通路邏輯、手工最優(yōu)化電路等方面具有圖形化強(qiáng)、單元節(jié)儉、功能明確等特點(diǎn)。它們可以作為樣機(jī),可以快速編程,而且它們可以用作最終設(shè)計(jì)的一部分?,F(xiàn)在,F(xiàn)PGA被用于組建各種各樣的數(shù)字系統(tǒng):高速電信設(shè)備、家庭個(gè)人視頻錄像機(jī)的視頻加速器。FPGA一般也比定制芯片運(yùn)行速度慢而且功耗大,同時(shí)相對較貴,所以,人們認(rèn)為定值芯片較為便宜。這樣做大大簡化了設(shè)計(jì)工作,提高了效率,因此,采用EDA技術(shù)設(shè)計(jì)數(shù)字系統(tǒng)地方法得到了越來越廣泛的應(yīng)用。雖然不同的算法可以實(shí)現(xiàn)相同的系統(tǒng)功能,但是電路結(jié)構(gòu)是不同的;相同的算法也可能對應(yīng)不同的電路結(jié)構(gòu)。若采用自頂向下的設(shè)計(jì)方法,則需要先進(jìn)行系統(tǒng)級設(shè)計(jì),再進(jìn)行邏輯級。該設(shè)計(jì)方法的具體實(shí)施過程是:首先根據(jù)系統(tǒng)的總體功能要求,進(jìn)行系統(tǒng)級設(shè)計(jì);然后按照一定的標(biāo)準(zhǔn)將整個(gè)系統(tǒng)劃分成若干子系統(tǒng);接著將各個(gè)子系統(tǒng)劃分為若干功能模塊,針對各模塊進(jìn)行邏輯電路設(shè)計(jì)??刂破鹘邮芡獠枯斎胄盘柡透鱾€(gè)邏輯功能部件或子系統(tǒng)的反饋輸入信號,進(jìn)行處理后,發(fā)出各種控制命令,用來控制各邏輯功能部件或子系統(tǒng)(對于由若干字系統(tǒng)組成的數(shù)字系統(tǒng)而言)協(xié)調(diào)的工作,實(shí)現(xiàn)整個(gè)數(shù)字系統(tǒng)的復(fù)雜功能。存儲單元中的編程數(shù)據(jù)一旦確定,門陣列的邏輯關(guān)系也就確定了。 該電路中D觸發(fā)器是直接利用LUT后面D觸發(fā)器來實(shí)現(xiàn)。 (5) 底層嵌入功能單元[7] 查找表(LookUpTable)簡稱為LUT,LUT本質(zhì)上就是一個(gè)RAM。寫入CAM的數(shù)據(jù)會和其內(nèi)部存儲的每一個(gè)數(shù)據(jù)進(jìn)行比較,并返回與端口數(shù)據(jù)相同的所有內(nèi)部數(shù)據(jù)的地址。FPGA內(nèi)部寄存器可配置為帶同步/異步復(fù)位和置位、時(shí)鐘使能的觸發(fā)器,也可以配置成為鎖存器。 本文首先介紹了FPGA相關(guān)的背景知識以及FPGA的基本結(jié)構(gòu)和工作原理,闡述了數(shù)字系統(tǒng)的構(gòu)造方法和流程,從而為應(yīng)用FPGA構(gòu)建數(shù)字系統(tǒng)打下基礎(chǔ)。過去的FPGA也相對較貴,當(dāng)時(shí)最先進(jìn)的FPGA器件大約要150美元。9.一般情況下, FPGA的功耗要比CPLD大,且集成度越高越明顯[5]。而FPGA的編程信息需存放在外部存儲器上,使用方法復(fù)雜。換句話說, FPGA更適合于觸發(fā)器豐富的結(jié)構(gòu),而CPLD更適合于觸發(fā)器有限而乘積項(xiàng)豐富的結(jié)構(gòu)。 與此相比,CPLD提供的邏輯資源少得多現(xiàn)在最新的FPGA器件,如XilinxBlock)和內(nèi)部連線(Interconnect)三個(gè)部分。PLD供應(yīng)商在設(shè)計(jì)其可編程器件時(shí)已經(jīng)支付了這些成本,并且可通過PLD產(chǎn)品線延續(xù)多年的生命期來分?jǐn)傔@些成本。對一些需要極高性能的應(yīng)用,固定邏輯也可能是最佳的選擇。PAL器件是現(xiàn)場可編程的,它的實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和EEPROM技術(shù)。 對于可編程邏輯器件,設(shè)計(jì)人員可利用價(jià)格低廉的軟件工具快速開發(fā)、仿真和測試其設(shè)計(jì)。另一方面,可編程邏輯器件(PLD)是能夠?yàn)榭蛻籼峁┓秶鷱V泛的多種邏輯容量、特性、速度和電壓參數(shù)的標(biāo)準(zhǔn)成品部件,系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而