第一章CPLDFPGA可編程邏輯器件_第1頁
第一章CPLDFPGA可編程邏輯器件_第2頁
第一章CPLDFPGA可編程邏輯器件_第3頁
第一章CPLDFPGA可編程邏輯器件_第4頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、河北大學(xué)電信學(xué)院 基礎(chǔ)教研部 40第一章 CPLDFPGA可編程邏輯器件1.1 前言PLD是可編程邏輯器件(Programmable Logic Device)的英文縮寫。在可編程邏輯器件芯片內(nèi)部,按一定的排列方式集成了大量的門和觸發(fā)器等基本元件。使用者可利用特定的計(jì)算機(jī)開發(fā)工具對其進(jìn)行加工,即按設(shè)計(jì)要求將這些芯片內(nèi)部的元件連接起來,使之實(shí)現(xiàn)完成某個(gè)數(shù)字邏輯電路或系統(tǒng)的功能,成為一個(gè)可在實(shí)際電子系統(tǒng)中使用的專用集成電路(ASIC,Application Specific Integrated Circuit)。隨著集成電路工藝的日趨完善,集成度急劇增加,其功能日益強(qiáng)大。PLD廣闊的應(yīng)用前景備受

2、業(yè)內(nèi)人士的矚目。1.2 PLD的分類按照不同的分類方法,PLD可分為如下幾種情況:(1)按集成度分可分為低密度和高密度兩大類,如圖1.1所示。圖1.1 PLD按集成度的分類圖(2)按結(jié)構(gòu)分按結(jié)構(gòu)的不同可分為兩類:一類是基于與/或陣列結(jié)構(gòu)的器件(PORM、PLA、PAL、GAL)、CPLD(EPLD)。另一類是基于門陣列結(jié)構(gòu)的器件(FPGA)。(3)按編程工藝分 熔絲和反熔絲編程器件。如Actel的FPGA器件。 SRAM器件,如Xilinx的FPGA。 UEPROM器件,即紫外線擦除/電可編程器件。如大多數(shù)的EPLD器件。 EEPROM器件。如GAL、CPLD器件。1.3 PLD的發(fā)展概況PL

3、D從20世紀(jì)70年代發(fā)展到現(xiàn)在,已形成了許多類型的產(chǎn)品,其結(jié)構(gòu)、工藝、集成度、速度和性能都在不斷改進(jìn)和提高。最早的PLD是1970年制成的PROM(Programmable Read Only Memory),即可編程只讀存儲器,它是由固定的與陣列和可編程的或陣列組成。PROM采用熔絲工藝編程,只能寫一次,不能擦除和重寫。隨著技術(shù)的發(fā)展和應(yīng)用要求,此后又出現(xiàn)了UVEPROM(紫外線可擦除只讀存儲器)、EEPROM(電可擦除只讀存儲器),由于它們價(jià)格低,易于編程,速度低、適合于存儲函數(shù)和數(shù)據(jù)表格,因此主要用作存儲器。典型的EPROM有2716、2732等??删幊踢壿嬯嚵蠵IA(Programma

4、ble Logic Array)于20世紀(jì)70年代中期出現(xiàn),它是由可編程的與陣列和可編程的或陣列組成,但由于器件的資源利用率低,價(jià)格較貴,編程復(fù)雜,支持PLA的開發(fā)軟件有一定難度,因而沒有得到廣泛應(yīng)用??删幊剃嚵羞壿婸AL(Programmable Array Logic)器件是1977年美國MMI公司(單片存儲器公司)率先推出的,它由可編程的與陣列和固定的或陣列組成,采用熔絲編程方式,雙極性工藝制造,器件的工作速度很高。由于它的輸出結(jié)構(gòu)種類很多,設(shè)計(jì)靈活,因而成為第一個(gè)得到普遍應(yīng)用的可編程邏輯器件,如PALl6L8。通用陣列邏輯器件GAL(Generic Array Logic)器件是198

5、5年Lattice公司最先發(fā)明的可電擦寫、可重復(fù)編程、可設(shè)置加密位的PLD。GAL在PAL基礎(chǔ)上,采用了輸出邏輯宏單元形式E2CMOS工藝結(jié)構(gòu)。具有代表性的GAL芯片有GALl6V8、GAL20V8,這兩種GAL幾乎能夠代替所有類型的PAL器件。在實(shí)際應(yīng)用中,GAL器件對PAL器件仿真具有百分之百的兼容性,所以GAL幾乎完全代替了PAL器件,并可以取代大部分SSI、MSI、數(shù)字集成電路,如標(biāo)準(zhǔn)的5474系列器件,因而獲得廣泛應(yīng)用。PAL和GAL都屬于簡單PLD,結(jié)構(gòu)簡單,設(shè)計(jì)靈活,對開發(fā)軟件的要求低,但規(guī)模小,難以實(shí)現(xiàn)復(fù)雜的邏輯功能。隨著技術(shù)的發(fā)展,簡單PLD在集成密度和性能方面的局限性也暴露

6、出來,其寄存器、I/O引腳、時(shí)鐘資源的數(shù)目有限,沒有內(nèi)部互連,因此包括EPLD、CPLD和FPGA在內(nèi)的復(fù)雜PLD迅速發(fā)展起來,并向著高密度、高速度、低功耗以及結(jié)構(gòu)體系更靈活、適用范圍更寬廣的方向發(fā)展??刹脸删幊踢壿嬈骷﨓PLD是20世紀(jì)80年代中期Altera公司推出的基于UVEPROM和CMOS技術(shù)的PLD,后來發(fā)展到采用E2CMOS工藝制作的PLD。EPLD的基本邏輯單元是宏單元。宏單元由可編程的與或陣列、可編程寄存器和可編程I/O三部分組成。從某種意義上講EPLD是改進(jìn)的GAL,它在GAL基礎(chǔ)上大大增加輸出宏單元的數(shù)目,提供更大的與陣列,靈活性較GAL有較大改善,集成密度大幅度提高,

7、內(nèi)部連線相對固定,延時(shí)小,有利于器件在高頻率下工作,但內(nèi)部互連能力十分弱。世界著名的半導(dǎo)體器件公司Altera、Xilinx、AMD、Lattice均有EPLD產(chǎn)品,但結(jié)構(gòu)差異較大。復(fù)雜可編程邏輯器件CPLD(Complex PLD)是20世紀(jì)80年代末Lattice公司提出的在系統(tǒng)可編程(ISP,In System Programmability)技術(shù)以后于20世紀(jì)90年代初出現(xiàn)的。CPLD是在EPLD的基礎(chǔ)上發(fā)展起來的,采用E2CMOS工藝制作,與EPLD相比,增加了內(nèi)部連線,對邏輯宏單元和I/O單元也有重大的改進(jìn)。CPLD至少包含三種結(jié)構(gòu):可編程邏輯宏單元、可編程I/O單元和可編程內(nèi)部連

8、線。部分CPLD器件內(nèi)部還集成了RAM、FIFO或雙口RAM等存儲器,以適應(yīng)DSP應(yīng)用設(shè)計(jì)的要求。其典型器件有Altera的MAX7000系列,Xilinx的7000和9500系列,Lattice的PLSIispLSI系列和AMD的MACH系列?,F(xiàn)場可編程門陣列FPGA(Field Programmable Gate Array)器件是Xilinx公司1985年首家推出的,它是一種新型的高密度PLD,采用CMOSSRAM工藝制作。FPGA的結(jié)構(gòu)與門陣列PLD不同,其內(nèi)部由許多獨(dú)立的可編程邏輯塊(CLB)組成,邏輯塊之間可以靈活的相互連接。FPGA的結(jié)構(gòu)一般分為三部分:可編程邏輯塊、可編程I/O

9、模塊和可編程內(nèi)部連線。CLB的功能很強(qiáng),不僅能夠?qū)崿F(xiàn)邏輯函數(shù),還可以配置成RAM等復(fù)雜形式。配置數(shù)據(jù)存放在片內(nèi)的SRAM或者熔絲圖上,基于SRAM的FPGA器件工作前需要從芯片外部加載配置數(shù)據(jù)。配置數(shù)據(jù)可以存放在片外的EPROM或者計(jì)算機(jī)上,設(shè)計(jì)人員可以控制加載過程,在現(xiàn)場修改器件的邏輯功能,即所謂現(xiàn)場可編程。FPGA出現(xiàn)后受到電子設(shè)計(jì)工程師的普遍歡迎,發(fā)展十分迅速。Xilinx、Altera和Actel等公司都提供高性能的FPGA芯片。高密度PLD在生產(chǎn)工藝、器件編程和測試技術(shù)等方面都有了飛速發(fā)展。目前PLD的集成度非常高,如Altera公司的APEX系列器件,采用0.15m工藝,各層都是銅

10、金屬布線,其中EP2A90的密度可達(dá)400萬典型門,可為用戶提供1140個(gè)I/O引腳,1Gbits數(shù)據(jù)速率。世界各著名半導(dǎo)體公司,如Altera、Xilinx、Lattice、Actel和AMD公司均可提供不同類型的CPLD、FPGA產(chǎn)品。眾多公司的競爭促進(jìn)了可編程集成電路技術(shù)的提高,使其性能不斷改善,產(chǎn)品日益豐富,價(jià)格逐步下降??梢灶A(yù)計(jì),可編程邏輯器件將在結(jié)構(gòu)、密度、功能、速度和性能等方面得到進(jìn)一步發(fā)展,結(jié)合EDA技術(shù),PLD將在現(xiàn)代電子系統(tǒng)設(shè)計(jì)中得到非常廣泛的應(yīng)用。1.4 Altera系列CPLD和FPGA器件隨著可編程邏輯器件應(yīng)用的日益廣泛,許多IC制造廠家均已涉足CPLDFPGA領(lǐng)域。

11、目前世界上有十幾家生產(chǎn)CPLDFPGA的公司,最大的三家是Altera、Xilinx和Lattice-Vantis,其中Altera和Xilinx占了60以上的市場份額。Altera在20世紀(jì)90年代以后發(fā)展很快,是最大的可編程邏輯供應(yīng)商之一。Altera的CPLD器件具有良好的性能、極高的密度和非常大的靈活性,除了具有一般PLD的特點(diǎn)外,還具有改進(jìn)的結(jié)構(gòu)、先進(jìn)的處理技術(shù)、現(xiàn)代化的開發(fā)工具以及多種宏功能模塊可選用等優(yōu)點(diǎn)。 (1)性能高 Altera器件的高性能主要體現(xiàn)在技術(shù)和結(jié)構(gòu)上,Altera器件采用銅鋁布線的先進(jìn)CMOS技術(shù),具有非常低的功耗和相當(dāng)高的速度,而且它采用了連續(xù)式互連結(jié)構(gòu),能夠

12、提供快速的、連續(xù)的信號延時(shí)。 (2)邏輯集成度高 在設(shè)計(jì)過程中,設(shè)計(jì)者總是希望將更多的邏輯集成進(jìn)更少的器件中,并縮小印制板的尺寸和降低成本。具有高集成能力的PLD提供了優(yōu)秀的解決方案:Altera器件密度從300門到400萬門,能很容易地集成現(xiàn)有的各種邏輯器件,包括小規(guī)模及大規(guī)模標(biāo)準(zhǔn)邏輯器件、PLD、FPGA或ASIC。高集成能力的PLD就代表著更高的系統(tǒng)性能、更高的可靠性和更低的成本。 (3)性價(jià)比高 Altera不斷改進(jìn)產(chǎn)品的開發(fā)和制造工藝,它的經(jīng)驗(yàn)積累使其處理技術(shù)和制造流程十分有效,能夠有效地提供高性價(jià)比的可編程邏輯器件。Altera的PLD成本與門陣列相當(dāng)。 (4)開發(fā)周期短 對設(shè)計(jì)者

13、來說時(shí)間是最寶貴的資源,Altera的快速、直觀、易于使用的MAX+plus和Quartus II軟件能夠極大地縮短開發(fā)周期。使用的MAX+PLUS II和Quartus II軟件設(shè)計(jì)輸入、處理、校驗(yàn)以及器件編程一共僅需幾個(gè)小時(shí),一天內(nèi)可完成幾個(gè)完整的設(shè)計(jì)。Altera與其他EDA制造商緊密合作,在MAX+PLUSII和Quartus II軟件中集成了另外的工業(yè)標(biāo)準(zhǔn)設(shè)計(jì)輸入、綜合、校驗(yàn)工具,如Cadence、ExemplarLogic、Mentor、Graphics、Synopsys、Synplicity、Viewlogic提供的軟件。 (5)對器件優(yōu)化的IP解決方案 Altera為設(shè)計(jì)者提供

14、已經(jīng)做好的、經(jīng)過預(yù)先測試并優(yōu)化了的IP宏功能模塊(Megafunctions),允許設(shè)計(jì)人員在一個(gè)器件中快速實(shí)現(xiàn)一定的功能而不必從基礎(chǔ)的設(shè)計(jì)做起,大大地提高了設(shè)計(jì)效率。由于Altera提供開發(fā)板,所以可以在設(shè)計(jì)開始時(shí)就進(jìn)行應(yīng)用軟件的開發(fā),硬件設(shè)計(jì)人員也可以使用這些開發(fā)板快速有效地驗(yàn)證IP功能。 (6)在線可編程 MAX9000、MAX7000、MAX7000A、MAX7000B和MAX3000A系列器件具有在線可編程性,簡化了設(shè)計(jì)開發(fā)過程及流水線生產(chǎn)過程,提高了設(shè)計(jì)的靈活性,并且,能夠快速有效地對產(chǎn)品進(jìn)行現(xiàn)場升級。Altera的ISP使用IEEE ll49.1標(biāo)準(zhǔn)的JTAG(Joint Act

15、ion Test Group)測試端口,允許對器件進(jìn)行編程,并可以對印刷電路板(PCB)進(jìn)行功能測試。 現(xiàn)在,Altera的PLD器件包括APEX20K、APEXII、Excalibur、Mercury、Stratix、ACEXlK、FLEXl0K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX3000和Classic系列。從MAX系列發(fā)展到APEX系列,器件的可用資源逐漸增多,輸入輸出管腳也隨之增加。靈活邏輯單元矩陣FLEX(Flexible Logic Element Matrix)器件采用查找表(LUT)結(jié)構(gòu)來實(shí)現(xiàn)邏輯功能,而多陣列矩陣MAX(Multiple

16、 Array MatriX)和Classic采用“與”可編程“或”固定的乘積項(xiàng)(product-term)結(jié)構(gòu)。查找表和嵌入式寄存器表示了可編程邏輯矩陣(APEX)的先進(jìn)結(jié)構(gòu)特征,而Mercury系列則是基于查找表結(jié)構(gòu),它的特征是具有時(shí)鐘數(shù)據(jù)恢復(fù)和一個(gè)性能優(yōu)化的核,另外,Excalibur的結(jié)構(gòu)特征是基于ARM和基于MIPS的硬核微處理器。針對具體的應(yīng)用,每種器件系列都有各自不同的特點(diǎn),這就需要設(shè)計(jì)者掌握好它們之間的區(qū)別。所有Altera的CPLD器件都采用了CMOS工藝,其中一些系列經(jīng)過改進(jìn)已采用了更為先進(jìn)的工藝技術(shù),嵌入了大量的RAM塊。其性能對照如表1.1所示。表1.1 Altera器件

17、性能對照表器件序列邏輯單元結(jié)構(gòu)可配置單元用戶I/O數(shù)量典型可用門Classic乘積項(xiàng)EPROM2268300900MAX3000乘積項(xiàng)EPROM341586005000MAX7000乘積項(xiàng)EPROM362126001萬MAX9000乘積項(xiàng)EPROM522161萬1.2萬FLEX6000查找表SRAM712181.6萬2.4萬FLEX8000查找表SRAM6820825001.6萬FLEX10K查找表SRAM594701萬25萬ACEX1K查找表SRAM663331萬10萬Excalibur查找表和RISC處理器SRAM17852110萬100萬Mercury查找表和CDRSRAM3034861

18、2萬35萬APEX II查找表和乘積項(xiàng)SRAM492114060萬400萬APEX20KC查找表和乘積項(xiàng)SRAM25078010萬150萬APEX20K查找表和乘積項(xiàng)SRAM1288083萬150萬Altera的系列器件針對設(shè)計(jì)者需求提供了如下的特性:高帶寬、低電壓I/O標(biāo)準(zhǔn)(LVDS速率可以達(dá)到622Mb/s)和多種I/O電壓標(biāo)準(zhǔn)(可以在混合系統(tǒng)中非常方便地實(shí)現(xiàn)5.0V,3.3V,2.5V,1.8V電壓的互聯(lián))。內(nèi)部集成的鎖相環(huán)(PLL Phase-Locked Loop)增加了器件的系統(tǒng)級時(shí)鐘管理,還增加了I/O的性能。Altera的系列器件提供了豐富的芯片封裝形式:TQFP、BGA和FB

19、GA等。1.5 可編程邏輯器件上機(jī)實(shí)驗(yàn)實(shí)驗(yàn)一 38譯碼器設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、掌握組合邏輯電路的設(shè)計(jì)方法;2、掌握Verilog HDL語言設(shè)計(jì)輸入方法;3、掌握組合邏輯電路的仿真測試方法;4、初步掌握Quartus II軟件的基本操作與應(yīng)用;5、初步了解可編程邏輯器件的設(shè)計(jì)過程。二、硬件、軟件要求計(jì)算機(jī)、EDA實(shí)驗(yàn)箱、Quartus II軟件,下載電纜三、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)原理(一)使用向?qū)Ы⑿鹿こ蹋?、啟動軟件:通過桌面快捷方式或“開始”菜單打開Quartus II軟件,打開后界面如圖1.1.1所示。圖1.1.1 啟動界面2、選擇FileNew Project Wizard命令,彈出建立新工程

20、向?qū)?,如圖1.1.2所示。按照提示選擇保存文件的工程目錄、工程文件名稱及頂層實(shí)體的名稱(頂層實(shí)體名和之后設(shè)計(jì)的頂層實(shí)體名必須相同,默認(rèn)的頂層實(shí)體名與工程文件名相同)。單擊Next按鈕(如果文件夾不存在,會出現(xiàn)提示界面,如圖1.1.3所示,單擊“是(Y)”按鈕,創(chuàng)建該文件夾即可)進(jìn)入第2頁面。(注意:工程文件夾的名稱和文件名不要使用漢字,最好也不要使用數(shù)字開頭)圖1.1.2 新建設(shè)計(jì)項(xiàng)目對話框(第1頁面)圖1.1.3 目錄創(chuàng)建提示對話框3、第2頁面如圖1.1.4所示,用于添加已經(jīng)存在的文件到當(dāng)前工程項(xiàng)目。如果設(shè)計(jì)文件和其它底層文件已經(jīng)存在,可以單擊File Name后面的“.”找到相應(yīng)的文件夾,

21、再單擊需要的文件名(按住Ctrl鍵可以選擇多個(gè)文件),然后單擊Add或者Add All按鈕,就可以將原來存在的文件添加到當(dāng)前工程中;也可以不添加文件,直接單擊Next按鈕進(jìn)入第3頁面。圖1.1.4 新建設(shè)計(jì)項(xiàng)目對話框(第2頁面)4、第三頁面如圖1.1.5所示,用于選擇將要使用的目標(biāo)器件(要根據(jù)實(shí)驗(yàn)箱上FPGA芯片的具體型號而定)。在選擇芯片時(shí),首先要在Family右邊的下拉框中選擇目標(biāo)器件的系列,然后可以在Show inAvailable devicelist中限定封裝、管腳數(shù)和速度等級,以縮小可用器件列表的范圍,便于快速找到需要的目標(biāo)器件。然后,單擊Next按鈕進(jìn)入第4、5頁面。圖1.1.5

22、 新建設(shè)計(jì)項(xiàng)目對話框(第3頁面)5、第4頁面用于選擇使用第三方軟件工具,如不使用則不必設(shè)置,直接使用Quartus II軟件集成的工具。第5頁面顯示了新建設(shè)計(jì)項(xiàng)目的摘要,檢查全部參數(shù)設(shè)置,若無誤,則單擊Finish按鈕,完成工程的創(chuàng)建;若有誤,則單擊Back按鈕返回,重新設(shè)置。圖1.1.6 新建設(shè)計(jì)項(xiàng)目對話框(第4頁面)圖1.1.7 新建設(shè)計(jì)項(xiàng)目對話框(第5頁面)(二)輸入設(shè)計(jì)文件1、文件輸入方式選擇。在Quartus II軟件主界面選擇File/New命令,出現(xiàn)如圖1.1.8所示界面,選擇設(shè)計(jì)文件的輸入方式,如Verilog HDL File,單擊OK按鈕,則會打開輸入編輯界面如圖1.1.9

23、所示。圖1.1.8 設(shè)計(jì)輸入方式選擇界面圖1.1.9 Verilog 文本編輯窗口2、文件輸入。在圖1.1.9所示的界面中將Verilog程序輸入到編輯器中,然后保存文件。出現(xiàn)如圖1.1.10所示界面,點(diǎn)擊保存(S)按鈕。(注意:下方的復(fù)選框一定要勾上)保存后界面如圖1.1.11所示。圖1.1.10 文件保存提示對話框圖1.1.11 保存文件后的界面圖(三)編譯工程在Quartus II軟件主界面選擇Processing/Start Compilation開始編譯,編譯完成后的窗口如圖1.1.12所示。單擊“確定”按鈕后,在該圖中顯示了編譯時(shí)的各種信息,其中包括警告和出錯(cuò)信息。根據(jù)錯(cuò)誤提示進(jìn)行

24、相應(yīng)的修改,并重新編譯,直到?jīng)]有錯(cuò)誤提示為止。圖1.1.12 編譯完成后的窗口(四)仿真與時(shí)序分析1、建立矢量波形文件。在圖1.1.12中,單擊“File”菜單下的“New”命令,在彈出的“New”對話框中選擇“Vector Waveform File”選項(xiàng)后單擊“OK”按鈕,彈出如圖1.1.13所示的矢量波形編輯窗口。圖1.1.13 矢量波形編輯窗口2、添加引腳或節(jié)點(diǎn)。(1)在圖1.1.13中,雙擊“Name”下方的空白處,彈出“Insert Node or Bus”對話框,如圖1.1.14所示。單擊對話框的“Node Finder”按鈕后,彈出“Node Finder”對話框,如圖1.1.

25、15所示。圖1.1.14 “Insert Node or Bus”對話框圖1.1.15 “Node Finder”對話框(2)單擊“List”按鈕,在“Node Found”欄中列出了設(shè)計(jì)中的引腳號,如圖1.1.16所示。圖1.1.16 列出輸入/輸出節(jié)點(diǎn) (3)單擊“»”按鈕,所有列出的輸入/輸出被復(fù)制到右邊的一側(cè),也可以只選中其中的一部分,根據(jù)情況而定,如圖1.1.17所示。圖1.1.17 選擇輸入/輸出節(jié)點(diǎn)(4)單擊“OK”按鈕后,返回“Insert Node or Bus”對話框,此時(shí),在“Name”和“Type”欄里出現(xiàn)了“Multiple Items”項(xiàng),如圖1.1.18

26、所示。圖1.1.18 “Insert Node or Bus”對話框(5)單擊“OK”按鈕,選中的輸入/輸出被添加到矢量波形編輯窗口中,如圖1.1.19所示。圖1.1.19 添加節(jié)點(diǎn)后的矢量波形編輯窗口3、編輯輸入信號并保存文件。在圖1.1.19中單擊“Name”下方的“a”,即選中該行的波形。將輸入信號“a”設(shè)置為時(shí)鐘信號,選擇Edit菜單下的“Value”中的“Clock”,彈出“Clock”對話框,此時(shí)可以修改信號的周期、相位和占空比。設(shè)置完成后單擊“OK”按鈕,輸入信號“a”設(shè)置完畢。同理設(shè)置輸入信號“b”和“c”,如圖1.1.20所示。最后單擊保存文件按鈕,根據(jù)提示完成保存工作。圖1

27、.1.20 編輯輸入信號4、仿真波形。仿真分為功能仿真和時(shí)序仿真,功能仿真是忽略延時(shí)后的仿真,是最理想的仿真;時(shí)序仿真則是加上了一些延時(shí)的仿真,是最接近于實(shí)際的仿真。在本設(shè)計(jì)中,直接采用時(shí)序仿真。Quartus II中默認(rèn)的仿真為時(shí)序仿真,在圖1.1.20中,選擇“Processing”菜單下的“Start Simulation”進(jìn)行仿真。仿真完成后的窗口如圖1.1.21所示。觀察波形可知輸出和輸入之間有一定的延時(shí)。圖1.1.21 時(shí)序仿真(五)引腳分配引腳分配是為了對所設(shè)計(jì)的工程進(jìn)行硬件測試,將輸入/輸出信號鎖定在器件確定的引腳上。單擊“Assignments”菜單下的“Pins”命令,彈出

28、的對話框如圖1.1.22所示,在下方的列表中列出了本項(xiàng)目所有的輸入/輸出引腳名。圖1.1.22 選擇要分配的引腳在圖1.1.22中,雙擊與輸入端“a”對應(yīng)的“Location”選項(xiàng)后彈出引腳列表,從中選擇合適的引腳(盡量別選擇具有第二功能的引腳),則輸入a的引腳分配完畢。同理完成所有引腳的指定,如圖1.1.23所示。圖1.1.23 完成所有引腳的分配(六)下載驗(yàn)證下載驗(yàn)證是將本次設(shè)計(jì)所生成的文件通過計(jì)算機(jī)下載到實(shí)驗(yàn)箱里來驗(yàn)證此次設(shè)計(jì)是否符合要求。大體上分為以下幾個(gè)步驟。1、編譯。分配完引腳后必須再次編譯才能存儲這些引腳鎖定的信息。2、配置下載電纜。在“Tool”菜單下選擇“Programmer

29、”命令,彈出如圖1.1.24所示的對話框。圖1.1.24 未配置的下載電纜窗口單擊“Hardware Setup”按鈕,彈出“Hardware Setup”對話框,如圖1.1.25所示。雙擊“USB-Blaster”即可,下載電纜配置完成。圖1.1.25 設(shè)置編程器對話框3、下載。JTAG模式是軟件的默認(rèn)下載模式,相應(yīng)的下載文件為“.sof”格式。勾選下載文件“Decoder3to8.sof”右側(cè)的第一個(gè)小方框,將下載電纜連接好后,打開實(shí)驗(yàn)箱電源,然后單擊“Start”按鈕計(jì)算機(jī)就開始下載編程文件,下載完成后如圖1.1.26所示。圖1.1.26 下載完畢(五)、器件下載編程與硬件實(shí)現(xiàn)一)實(shí)驗(yàn)電

30、路板上的連線用三位撥碼開關(guān)代表譯碼器的輸入端A、B、C,將之分別與實(shí)驗(yàn)箱上芯片的相應(yīng)管腳相連;用LED燈來表示譯碼器的輸出,將D0.D7對應(yīng)的管腳分別與8只LED燈相連。試驗(yàn)結(jié)果如下:ABCLED0LED1LED2LED3LED4LED5LED6LED7000滅亮亮亮亮亮亮亮100亮滅亮亮亮亮亮亮010亮亮滅亮亮亮亮亮110亮亮亮滅亮亮亮亮001亮亮亮亮滅亮亮亮101亮亮亮亮亮滅亮亮011亮亮亮亮亮亮滅亮111亮亮亮亮亮亮亮滅四、回答問題1、對于復(fù)雜電路設(shè)計(jì),比較原理圖與Verilog語言輸入設(shè)計(jì)的優(yōu)缺點(diǎn);2、列出目前Altera公司的主要CPLD和FPGA芯片系列號,并寫出該系列中部分具體器

31、件型號;3、說明實(shí)驗(yàn)所用FPGA芯片的具體型號及主要參數(shù);4、說明編譯正確與時(shí)序仿真正確之間的區(qū)別;實(shí)驗(yàn)二 七段譯碼器設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、掌握7段數(shù)碼管的使用方法,學(xué)習(xí)數(shù)字編碼的規(guī)則;2、進(jìn)一步熟悉Verilog語言設(shè)計(jì)方法;3、熟悉Quartus II軟件中邏輯宏單元的使用方法;二、硬件、軟件要求計(jì)算機(jī)、EDA實(shí)驗(yàn)箱、Quartus II軟件,下載電纜三、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)原理1、實(shí)驗(yàn)原理說明:a7段數(shù)碼管的結(jié)構(gòu),如圖1.2.1所示:fbgecdpd圖1.2.1 7段數(shù)碼管筆段名稱對應(yīng)于共陰數(shù)碼管,其真值表如下所示:輸入BCD碼對應(yīng)顯示數(shù)字gfedcba000000111111000110000

32、1100010210110110011310011110100411001100101511011010110611111010111700001111000811111111001911001112、完成本實(shí)驗(yàn)可采用三種方法:1)利用上面所給的真值表,通過卡諾圖畫簡,得到輸出的最簡邏輯表達(dá)式,然后利用原理圖輸入方式完成邏輯電路設(shè)計(jì); 2)在原理圖中通過調(diào)用Quartus II軟件的邏輯宏單元庫中的7449器件,完成BCD碼到7段顯示的譯碼電路,其幫助文檔內(nèi)容如下:BCD-to-7-Segment DecoderDefault Signal Levels:GND-A, B, C, DVCC-B

33、INAHDL Function Prototype (port name and order also apply to Verilog HDL): FUNCTION 7449 (d, c, b, a, bin) RETURNS (oa, ob, oc, od, oe, 'of', og);Decimal| | |or | Inputs| Outputs |NotesFunction| | |DCBABIN|OAOBOCODOEOFOG|0|LLLLH|HHHHHHL|*1|LLLHH|LHHLLLL|2|LLHLH|HHLHHLH|3|LLHHH|HHHHLLH|4|LHLL

34、H|LHHLLHH|*5|LHLHH|HLHHLHH|6|LHHLH|LLHHHHH|7|LHHHH|HHHLLLL|8|HLLLH|HHHHHHH|*9|HLLHH|HHHLLHH|10|HLHLH|LLLHHLH|11|HLHHH|LLHHLLH|12|HHLLH|LHLLLHH|*13|HHLHH|HLLHLHH|14|HHHLH|LLLHHHH|15|HHHHH|LLLLLLL|BI|XXXXL|LLLLLLL|*Notes:*The blanking input (BIN) must be held at a high logic level when output function

35、s 0 through 15 are desired.*When a low logic level is applied directly to the blanking input (BIN), all segment outputs are low regardless of the level of any other input. 3)根據(jù)真值表,采用Verilog HDL語言自行設(shè)計(jì)7段譯碼器。3、實(shí)驗(yàn)要求:1)分別采用宏單元調(diào)用的方法及Verilog HDL語言設(shè)計(jì)方法完成譯碼器設(shè)計(jì),畫出實(shí)驗(yàn)原理圖,寫出Verilog程序;2)分別對譯碼器的兩種設(shè)計(jì)進(jìn)行時(shí)序仿真,記錄仿真結(jié)果;3

36、)將兩種不同實(shí)現(xiàn)方法的編程文件下載到實(shí)驗(yàn)箱,進(jìn)行功能驗(yàn)證,并記錄實(shí)驗(yàn)結(jié)果;四、回答問題1、說明在所給的7449宏單元說明表中,BI輸入信號的作用;2、寫出7449宏單元當(dāng)輸入為1015時(shí)所對應(yīng)的顯示內(nèi)容;3、采用Verilog語言進(jìn)行設(shè)計(jì)時(shí),對于無效輸入應(yīng)如何處理?若不進(jìn)行處理,從電路的角度來說會出現(xiàn)什么問題?實(shí)驗(yàn)三 八選一多路數(shù)據(jù)選擇器及七段數(shù)碼管動態(tài)顯示電路設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、熟悉多路數(shù)據(jù)選擇器的原理;2、掌握采用原理圖設(shè)計(jì)多路選擇器的方法;3、掌握采用Verilog HDL語言設(shè)計(jì)多路數(shù)據(jù)選擇器的方法;4、學(xué)習(xí)七段數(shù)碼管動態(tài)掃描顯示方法及電路原理。5、學(xué)習(xí)層次設(shè)計(jì)方法,學(xué)習(xí)生成原理圖元件

37、和Verilog程序中元件例化的方法;二、硬件、軟件要求計(jì)算機(jī)、EDA實(shí)驗(yàn)箱、Quartus II軟件,下載電纜三、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)原理sel2sel1sel0輸出y000y=in0001y=in1010y=in2011y=in3100y=in4101y=in5110y=in6111y=in71、本實(shí)驗(yàn)設(shè)計(jì)的多路數(shù)據(jù)選擇器有8個(gè)輸入信號,每個(gè)輸入信號為4位寬,其功能描述如下:in02、功能模塊如圖1.3.1所示:in1多路數(shù)據(jù)選擇器in2in3yin4in5in6in7sel2sel0sel1圖1.3.1 多路數(shù)據(jù)選擇器功能模塊圖3、七段數(shù)碼管動態(tài)顯示原理說明:如圖1.3.2所示:段碼,adp共

38、8位7段譯碼器4位BCD碼多路數(shù)據(jù)選擇器38譯碼器顯示數(shù)據(jù)輸入位選信號輸入圖1.3.2 七段數(shù)碼管動態(tài)顯示原理圖圖中8只數(shù)碼管的adp 8個(gè)筆段引腳對應(yīng)連接在一起(即8個(gè)a筆段引腳接在一起變成一個(gè)a引腳,其余類推),在實(shí)驗(yàn)箱中每個(gè)數(shù)碼管的陰極公共引腳分別接至3-8譯碼器的8個(gè)輸出端。因此,當(dāng)位選信號輸入端為000111變化時(shí)時(shí),只有一個(gè)數(shù)碼管能夠選通發(fā)光。顯示數(shù)據(jù)輸入為4位BCD碼,在這里可以同時(shí)輸入8個(gè)BCD碼,分別為8只數(shù)碼管要顯示的內(nèi)容,通過多路選擇器,可以選擇出8個(gè)輸入中的一個(gè)BCD碼并經(jīng)過七段譯碼電路輸出段碼,該段碼接至數(shù)碼管的8個(gè)筆段引腳上。由于位選信號同時(shí)接至38譯碼器和多路數(shù)據(jù)

39、選擇器輸入端,因此當(dāng)選通第一只數(shù)碼管時(shí),對應(yīng)輸出第一個(gè)輸入BCD碼的譯碼值,同理,當(dāng)選通第二只數(shù)碼管時(shí),對應(yīng)輸出第二個(gè)輸入BCD碼的譯碼值,依此類推。當(dāng)位選信號周而復(fù)始的從000111變化,且循環(huán)頻率(即顯示刷新速率)大于50Hz時(shí),利用人眼的視覺暫留特性,則8只數(shù)碼管看上去是同時(shí)顯示的,并且顯示內(nèi)容分別為顯示數(shù)據(jù)輸入端所對應(yīng)的字符。4、實(shí)驗(yàn)要求:1)采用原理圖或Verilog語言進(jìn)行設(shè)計(jì),若采用原理圖設(shè)計(jì)方法,可參考圖1.3.3所示的四選一多路選擇器原理圖,自行擴(kuò)展設(shè)計(jì)八選一多路選擇器,記錄原理圖或Verilog程序;2)對設(shè)計(jì)進(jìn)行時(shí)序仿真,記錄仿真波形,測量輸出信號與數(shù)據(jù)選擇信號之間的延時(shí)

40、時(shí)間并記錄;3)仿真正確后將綜合結(jié)果下載至實(shí)驗(yàn)箱進(jìn)行實(shí)際功能驗(yàn)證。輸入信號和選擇信號接至實(shí)驗(yàn)箱的平撥開關(guān),輸出信號通過LED顯示邏輯電平。圖1.3.3 4選1多路數(shù)據(jù)選擇器參考原理圖4)生成設(shè)計(jì)文件對應(yīng)的原理圖符號其方法如下:a、先對要生成原理圖符號的文件(如原理圖文件或Verilog程序文件)進(jìn)行編譯,本例創(chuàng)建一個(gè)實(shí)驗(yàn)一的decoder3to8.v文件的原理圖符號;b、點(diǎn)擊File|Create Default Symbol菜單命令,如圖1.3.4所示:圖1.3.4 創(chuàng)建默認(rèn)符號 c、新建原理圖文件,調(diào)用剛生成的decoder3to8元件。其調(diào)用和使用方法與MAX+plus II軟件自帶的其

41、他庫元件完全相同。如圖1.3.5所示:圖1.3.5 調(diào)用創(chuàng)建的元件5)利用上述方法,通過原理圖完成七段數(shù)碼管動態(tài)顯示電路的設(shè)計(jì)。8個(gè)輸入信號可分別在原理圖中接固定電平,通過實(shí)驗(yàn)箱上平撥開關(guān)輸入三位位選信號,觀察數(shù)碼管顯示結(jié)果。6)試采用Verilog語言進(jìn)行7段數(shù)碼管動態(tài)顯示電路的設(shè)計(jì),在頂層的Verilog模塊中,采用元件例化的方法完成各模塊的調(diào)用與連接。四、回答問題1、本實(shí)驗(yàn)的動態(tài)掃描電路中,若要求電路能夠自動完成8位數(shù)碼管的循環(huán)掃描,應(yīng)在動態(tài)掃描電路中添加何種電路?若要求刷新速率為100Hz,則該電路時(shí)鐘頻率應(yīng)為多少?實(shí)驗(yàn)四 計(jì)數(shù)器設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、掌握Quartus II軟件中74系

42、列計(jì)數(shù)器宏單元的使用方法。2、掌握利用反饋方法實(shí)現(xiàn)任意進(jìn)制計(jì)數(shù)器的設(shè)計(jì)方法。3、掌握Verilog語言對計(jì)數(shù)器的描述方法。二、硬件、軟件要求計(jì)算機(jī)、EDA實(shí)驗(yàn)箱、Quartus II軟件,下載電纜三、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)原理1、采用7493宏單元進(jìn)行十進(jìn)制計(jì)數(shù)器設(shè)計(jì),該宏單元的符號如圖1.4.1所示,功能描述如圖1.4.2所示:圖1.4.1 7493計(jì)數(shù)器宏單元符號圖1.4.2 7493計(jì)數(shù)器宏單元功能2、按照7493宏單元圖形符號與功能表,自行設(shè)計(jì)組合電路形成復(fù)位信號實(shí)現(xiàn)一位十進(jìn)制計(jì)數(shù)器,同時(shí)該計(jì)數(shù)器具有計(jì)數(shù)使能輸入信號clken;clken=0,暫停計(jì)數(shù);clken=1,正常計(jì)數(shù)。對所設(shè)計(jì)的計(jì)數(shù)

43、器進(jìn)行時(shí)序仿真;最后將設(shè)計(jì)結(jié)果下載至實(shí)驗(yàn)箱進(jìn)行實(shí)際驗(yàn)證。計(jì)數(shù)器輸出結(jié)果可通過實(shí)驗(yàn)箱的LED發(fā)光二極管觀察,時(shí)鐘信號由實(shí)驗(yàn)箱上的時(shí)鐘模塊提供,將計(jì)數(shù)器時(shí)鐘信號接至該模塊的CLK5,并設(shè)置跳線設(shè)定為較低頻率,以便能夠觀察結(jié)果。3、將所設(shè)計(jì)的一位十進(jìn)制計(jì)數(shù)器生成原理圖符號,完成4位十進(jìn)制計(jì)數(shù)器設(shè)計(jì)。對所設(shè)計(jì)的四位十進(jìn)制計(jì)數(shù)器進(jìn)行時(shí)序仿真,最后下載至實(shí)驗(yàn)箱進(jìn)行實(shí)際功能驗(yàn)證。4、用Verilog語言設(shè)計(jì)一位十進(jìn)制計(jì)數(shù)器,設(shè)計(jì)時(shí)應(yīng)考慮計(jì)數(shù)器能夠進(jìn)行級連,同時(shí),該計(jì)數(shù)器具有異步復(fù)位信號和計(jì)數(shù)使能信號,復(fù)位信號高電平有效。計(jì)數(shù)使能信號作用如下:clken=0,暫停計(jì)數(shù);clken=1,正常計(jì)數(shù)。對設(shè)計(jì)進(jìn)行時(shí)序

44、仿真,最后下載至實(shí)驗(yàn)箱進(jìn)行驗(yàn)證。5、利用元件例化方法(或生成原理圖符號)進(jìn)行層次設(shè)計(jì),完成四位十進(jìn)制計(jì)數(shù)器電路,進(jìn)行時(shí)序仿真,最后下載至實(shí)驗(yàn)箱驗(yàn)證。四、回答問題1、說明同步計(jì)數(shù)器與異步計(jì)數(shù)器的區(qū)別?試用D觸發(fā)器或JK觸發(fā)器畫出一個(gè)異步計(jì)數(shù)器的電路。2、說明異步復(fù)位與同步復(fù)位有何區(qū)別?在Verilog HDL語言描述上如何區(qū)分是異步還是同步復(fù)位?實(shí)驗(yàn)五 數(shù)字頻率計(jì)設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、掌握簡單的時(shí)序控制電路設(shè)計(jì)方法;2、進(jìn)一步掌握復(fù)雜數(shù)字電路設(shè)計(jì)中的層次設(shè)計(jì)方法;3、掌握數(shù)字頻率計(jì)的原理與設(shè)計(jì)方法;二、硬件、軟件要求計(jì)算機(jī)、EDA實(shí)驗(yàn)箱、MAX+plus II軟件,下載電纜三、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)原理1

45、、數(shù)字頻率計(jì)原理:1)系統(tǒng)組成框圖如圖1.5.1所示:8位七段數(shù)碼管模塊clkenclken測頻時(shí)序控制八位十進(jìn)制計(jì)數(shù)器數(shù)據(jù)寄存器動態(tài)掃描顯示電路agclrclrsel2sel1sel0locklockclkclk800Hz時(shí)鐘輸入分頻器8Hz時(shí)鐘輸入fx被測信號輸入圖1.5.1 頻率計(jì)組成框圖 其中,8位七段數(shù)碼管模塊為實(shí)驗(yàn)箱上電路模塊,電路中有3-8譯碼器,故位選信號為3位二進(jìn)制順序編碼;動態(tài)掃描顯示電路可利用實(shí)驗(yàn)三的設(shè)計(jì)文件;數(shù)據(jù)寄存器是由32個(gè)D觸發(fā)器構(gòu)成,每四個(gè)為一組,每組保存一個(gè)BCD碼,其時(shí)鐘信號由測頻時(shí)序控制模塊提供,在本實(shí)驗(yàn)中需自行設(shè)計(jì);八位十進(jìn)制計(jì)數(shù)器模塊可利用實(shí)驗(yàn)四的設(shè)計(jì)

46、文件;測頻時(shí)序控制模塊在本實(shí)驗(yàn)中需要自行設(shè)計(jì);分頻器是將輸入的800Hz顯示掃描時(shí)鐘進(jìn)行分頻得到所需的8Hz時(shí)鐘,并接至測頻時(shí)序控制模塊,本實(shí)驗(yàn)中需自行設(shè)計(jì)。2)測頻時(shí)序控制模塊原理: 該模塊為頻率計(jì)控制電路的核心,完成各模塊的協(xié)調(diào)工作,按照時(shí)鐘節(jié)拍完成測頻功能。其原理圖如圖1.5.2所示:圖1.5.2 測頻時(shí)序控制邏輯電路圖 其仿真波形如圖1.5.3所示:圖1.5.3 測頻時(shí)序控制仿真波形2、設(shè)計(jì)要求:1)采用原理圖或Verilog語言完成各模塊的設(shè)計(jì)。對本次實(shí)驗(yàn)所設(shè)計(jì)的測頻時(shí)序控制模塊、數(shù)據(jù)寄存器模塊、時(shí)鐘分頻模塊進(jìn)行時(shí)序仿真,記錄設(shè)計(jì)文件和仿真波形。2)頻率計(jì)頂層文件采用原理圖設(shè)計(jì),將各功能模塊進(jìn)行連接,并對整個(gè)頻率計(jì)頂層設(shè)計(jì)進(jìn)行仿真,最后下載至實(shí)驗(yàn)箱,完成實(shí)際信號的頻率測量,記錄頂層文件和仿真結(jié)果。四、回答問題1、簡述測頻時(shí)序控制電路中各元件的作用和該模塊的工作原理;2、分析該頻率計(jì)的測量數(shù)據(jù)周期;3、提出設(shè)計(jì)方案,說明如何縮短無用的延時(shí)時(shí)間?4、根據(jù)本實(shí)驗(yàn)的基本原理,試分析如何設(shè)計(jì)完成信號周期的測量?實(shí)驗(yàn)六 A/D轉(zhuǎn)換器ADC0809控制電路設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)常用逐次逼近型并行A/D轉(zhuǎn)換器的原理與應(yīng)用;2、掌握采用Verilog語言進(jìn)行狀態(tài)機(jī)設(shè)計(jì)的方法;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論