基于CPLD-FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計第1章_第1頁
基于CPLD-FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計第1章_第2頁
基于CPLD-FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計第1章_第3頁
基于CPLD-FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計第1章_第4頁
基于CPLD-FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計第1章_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

新編電氣與電子信息類本科規(guī)劃教材基于CPLD/FPGA的數(shù)字通信系統(tǒng)與設(shè)計段吉海黃智偉編著王毓銀主審電子工業(yè)出版社目錄第1章緒論第2章通信系統(tǒng)的VHDL建模第3章常用基本電路模塊的建模與設(shè)計第4章基帶信號的編、譯碼建模與設(shè)計第5章數(shù)字復(fù)接技術(shù)及其建模與設(shè)計第6章同步技術(shù)與VHDL設(shè)計第7章數(shù)字通信基帶系統(tǒng)的建模與設(shè)計第8章數(shù)字信號頻帶傳輸系統(tǒng)的建模與設(shè)計第9章偽隨機(jī)序列與誤碼檢測原理、建模與設(shè)計第1章緒論內(nèi)容提要本章主要分兩部分內(nèi)容,第一部分是關(guān)于通信系統(tǒng)的概述,簡單介紹了通信技術(shù)的發(fā)展歷史,通信系統(tǒng)的組成和有關(guān)概念以及通信系統(tǒng)的主要性能指標(biāo)。第二部分是關(guān)于EDA的概述,介紹了EDA的概念,VHDL硬件描述語言的特點,仿真、綜合和自頂向下的設(shè)計方法,以及對可編程邏輯器件CPLD/FPGA和Max+plusII開發(fā)設(shè)計平臺做了簡單介紹,最后就數(shù)字通信系統(tǒng)的建模與EDA工程方法學(xué)的關(guān)系做了簡單說明。

知識要點

模擬和數(shù)字通信系統(tǒng)的基本模型;信道的分類;衡量通信系統(tǒng)性能的主要指標(biāo);

VHDL的主要優(yōu)點和基本結(jié)構(gòu);基于VHDL的設(shè)計方法和步驟;

CPLD/FPGA的基本結(jié)構(gòu);

CPLD/FPGA的編程與配置;

Max+plusⅡ開發(fā)系統(tǒng)的應(yīng)用。教學(xué)建議要求了解通信技術(shù)的發(fā)展歷史,掌握通信系統(tǒng)的基本組成和有關(guān)概念以及通信系統(tǒng)的主要性能指標(biāo);掌握EDA的概念、VHDL的特點、仿真、綜合和自頂向下的設(shè)計方法;了解CPLD/FPGA器件的結(jié)構(gòu)和特點;掌握CLPD/FPGA的設(shè)計文件下載和配置方法;掌握Max+plusII開發(fā)設(shè)計平臺的應(yīng)用;學(xué)習(xí)本教材之前,應(yīng)先修《數(shù)字電路》、《通信原理》和《VHDL實用教程》等課程。建議教學(xué)時數(shù)為2~4學(xué)時。該章內(nèi)容可根據(jù)具體情況,作為選修內(nèi)容。1.1通信系統(tǒng)概述1.1.1引言

隨著人類社會生產(chǎn)力的發(fā)展,人類交流感情、傳遞信息的各種方式發(fā)生了巨大變化,進(jìn)而形成了一門獨立的學(xué)科——通信。通信可以理解為信息的傳輸與交換。本書中的所謂通信指的是電通信。它的發(fā)展起于十九世紀(jì)三十年代。1938年美國人Morse(莫爾斯)發(fā)明了有線電報,利用導(dǎo)線中的有無電流分別表示傳號和空號,然后再根據(jù)傳號和空號的長短來組成點和劃,編碼成不同的電報符號。因此若發(fā)信者先將所要傳遞的文字翻譯成電報符號,再利用電報機(jī)發(fā)送出去,則收信者將收到的電報符號,再翻譯成報文,既可實現(xiàn)有線文字傳輸。這為通信技術(shù)的發(fā)展奠定了良好的基礎(chǔ)。1864年Maxwell(麥克斯韋)提出了電磁輻射方程,為無線電報的發(fā)明提供了理論依據(jù)。1876年Bell(貝爾)發(fā)明了電話,因而實現(xiàn)了語音傳輸。1906年發(fā)明了電子管,它不僅為無線電話提供了實現(xiàn)的基礎(chǔ),而且為后來的諸如電子管計算機(jī)等提供了器件基礎(chǔ),到了真正的電子應(yīng)用時代。20世紀(jì)初到40年代,相繼出現(xiàn)了調(diào)幅廣播、明線載波電話、多路通信、調(diào)頻無線電廣播等1948年發(fā)明了晶體管,進(jìn)入了電子應(yīng)用的新時代。隨著Shannon(香農(nóng))提出了信息論,通信統(tǒng)計理論開始建立,為通信信道的研究提供了理論依據(jù),隨后相繼出現(xiàn)了時分多路通信,衛(wèi)星通信等。

20世紀(jì)60年代發(fā)明了集成電路和激光,標(biāo)志著電子和通信進(jìn)入了第三個重要發(fā)展階段,爾后相繼產(chǎn)生了程控交換機(jī)、光纖通信系統(tǒng)。20世紀(jì)80年代,發(fā)明了超大規(guī)模集成電路,加速了現(xiàn)代通信系統(tǒng)的發(fā)展。數(shù)字通信是從模擬通信發(fā)展起來的,它已成為不可替代的現(xiàn)代通信技術(shù),特別是近年來,隨著FPGA/CPLD(現(xiàn)場可編程邏輯器件/復(fù)雜可編程邏輯器件)的出現(xiàn)和發(fā)展,對通信系統(tǒng)進(jìn)行ASIC(專用集成電路)芯片的研究開始盛行,VHDL等硬件描述語言已正廣泛應(yīng)用于ASIC芯片的開發(fā),將為現(xiàn)代通信技術(shù)的發(fā)展做出重大貢獻(xiàn)。

1.1.2通信系統(tǒng)的組成

1.通信系統(tǒng)的一般模型

所謂通信系統(tǒng)是指構(gòu)成信息傳遞所需的技術(shù)設(shè)備的總和。組成通信系統(tǒng)的一般模型如圖1-1所示。

(1)信源與信宿

①信源:

指消息的產(chǎn)生來源,并將消息變換為電信號。根據(jù)信源輸出信號的性質(zhì)可分為模擬信源和數(shù)字信源。模擬信源輸出的是模擬信號。模擬信號是指幅度連續(xù)的信號,如電話機(jī)輸出的話音信號,攝像機(jī)輸出的圖像信號等。數(shù)字信源輸出的是數(shù)字信號。數(shù)字信號是指幅度離散,且時間也離散的信號。如電傳機(jī)及計算機(jī)輸出的符號序列等信號屬于數(shù)字信號。②信宿:

也稱收信者或受信者,是信號到達(dá)的終端。它的作用是將接收設(shè)備的電信號轉(zhuǎn)換成相應(yīng)的消息。

(2)發(fā)送設(shè)備與接收設(shè)備

①發(fā)送設(shè)備:

包括調(diào)制、放大、濾波、發(fā)射等等,其作用是實現(xiàn)信源與信道的匹配。由于信源輸出的信號常為基帶信號。它包含有低頻成分甚至還有直流成分,而這種信號不適合在大多數(shù)信道中傳送?;鶐盘柦?jīng)調(diào)制后成為所謂的頻帶信號。這種信號能適應(yīng)于信道傳輸,而且可實現(xiàn)多路復(fù)用和提高抗干擾能力。調(diào)制是指將基帶信號轉(zhuǎn)換為適合于在信道中傳輸?shù)男盘?。對于無線傳輸來說,發(fā)送設(shè)備應(yīng)包括從調(diào)制到發(fā)射天線間的設(shè)備,對數(shù)字信源還包括信源編碼。②接收設(shè)備:

其基本功能是完成與發(fā)送設(shè)備相反的變換。如解調(diào),譯碼(對應(yīng)數(shù)字信號)等。(3)信道

最基本的信道(指狹義信道)包括兩類:有線信道和無線信道。有線信道有架空明線、對稱電纜、同軸電纜、光纖等等。無線信道是指空間傳輸媒質(zhì)。信道對信號的傳輸性能有直接的影響,因此,不同的通信系統(tǒng),對信道有不同的要求。或者說,不同的信道,對通信系統(tǒng)有不同的要求。關(guān)于狹義信道與廣義信道的概念將在后面介紹。(4)噪聲源

所謂噪聲源是指噪聲的來源。這里的噪聲是指信道中的噪聲或干擾。關(guān)于噪聲的種類和定義可查閱參考文獻(xiàn)[1]。

2.模擬通信系統(tǒng)模型

根據(jù)信道中傳輸?shù)男盘柼卣?,將通信系統(tǒng)分為模擬通信系統(tǒng)和數(shù)字通信系統(tǒng)。其中,模擬通信系統(tǒng)是指傳輸模擬信號的通信系統(tǒng)。其模型如圖1-2所示。

調(diào)制器實現(xiàn)了基帶信號到頻帶信號的轉(zhuǎn)換,而解調(diào)器則完成由頻帶信號到基帶信號的轉(zhuǎn)換。調(diào)制器和解調(diào)器是非線性器件或設(shè)備。需要指出的是上述模型是模擬通信系統(tǒng)的最簡化模型,而復(fù)雜系統(tǒng)還有濾波、放大、變頻、發(fā)射等部件或設(shè)備。圖1-2中的信源為模擬信源,即輸出的是模擬信號。

3.數(shù)字通信系統(tǒng)模型數(shù)字通信模型的框圖如圖1-3所示。

數(shù)字通信是指在該通信系統(tǒng)中所傳輸?shù)氖嵌M(jìn)制或多進(jìn)制數(shù)字信號。發(fā)送設(shè)備包括信源編碼和信道編碼兩部分。信源編碼是指把連續(xù)消息變換為數(shù)字信號。例如,將模擬信號的語音信號經(jīng)PCM(脈沖編碼調(diào)制)變換后,實現(xiàn)了數(shù)字化。這一過程就是信源編碼。信道編碼則是指在原來的數(shù)字信號序列中引進(jìn)某些作為誤差控制用的數(shù)碼,以實現(xiàn)自動檢錯和糾錯的目的。

經(jīng)信道編碼后的數(shù)碼序列長度變長,從而降低了碼元傳輸速率,因此信道編碼所提高的傳輸可靠性是靠犧牲其傳輸?shù)挠行詠頁Q取的。

下面介紹關(guān)于“狹義信道”、“廣義信道”以及“調(diào)制信道”和“編碼信道”的概念。(1)狹義信道:以具體媒質(zhì)定義的信道稱為狹義信道。(2)廣義信道:指除具體媒質(zhì)外,還包含一定的設(shè)備的信道。(3)調(diào)制信道:

指包含從調(diào)制器輸出到解調(diào)器輸入之間的媒質(zhì)和設(shè)備部分。調(diào)制信道屬于模擬信道,它通過乘性干擾和加性噪聲對調(diào)制信號發(fā)生模擬變化。(4)編碼信道:

指包含從編碼器輸出到解碼器輸入之間的媒質(zhì)和設(shè)備部分。編碼信道屬于數(shù)字信道,它對信號的影響是一種數(shù)字序列的變換,即把一種數(shù)字序列變換成另一種數(shù)字序列。(5)調(diào)制信道和編碼信道屬于廣義信道。

1.1.3衡量通信系統(tǒng)的主要性能指標(biāo)

傳輸信息的有效性和可靠性是通信系統(tǒng)最主要的性能指標(biāo)。有效性是指在給定信道內(nèi)能傳輸信息內(nèi)容的多少。可靠性是指接收信息的準(zhǔn)確程度。模擬通信系統(tǒng)的有效性指標(biāo)用有效傳輸頻帶來度量。有效傳輸頻帶越窄,則系統(tǒng)傳輸?shù)挠行栽礁?。模擬通信系統(tǒng)的可靠性指標(biāo)用接收端輸出信噪比來衡量。輸出信噪比越大,則可靠性越高。

數(shù)字通信系統(tǒng)的有效性指標(biāo)可用信息傳輸速率,單位為(比特/秒)或用碼元傳輸速率,單位為B(波特)來衡量。信息速率是指單位時間內(nèi)傳輸?shù)男畔⒘康亩嗌伲帽硎?。而碼元速率是指單位時間內(nèi)傳輸?shù)拇a元個數(shù),用

表示。信息速率與碼元速率有如下關(guān)系:

(1-1)式中的N表示碼元的進(jìn)制數(shù)。從上式可知,信息傳輸速率不僅與碼元速率有關(guān),還與碼元的進(jìn)制有關(guān)。

系統(tǒng)在具有相同的信息速率條件下,所采用的進(jìn)制不同,則碼元的傳輸速率也不同。二進(jìn)制碼元速率與進(jìn)制碼元速率有如下關(guān)系:(1-2)例如,設(shè)二進(jìn)制碼元速率為,則三進(jìn)制碼元的速率應(yīng)為:可見,在相同的信息速率條件下,多進(jìn)制信號碼元速率比二進(jìn)制的碼元速率低。系統(tǒng)在相同的碼元速率條件下,多進(jìn)制的信息速率比二進(jìn)制的信息速率高。例如,設(shè)二進(jìn)制的信息速率為,則三進(jìn)制的信息速率為:衡量數(shù)字通信系統(tǒng)的另一常用指標(biāo)是頻帶利用率。

頻帶利用率的定義為單位頻帶內(nèi)的碼元傳輸速率,其單位為(波特/赫茲)。頻帶利用率越高,則系統(tǒng)的有效性越好。

數(shù)字通信系統(tǒng)的可靠性用差錯率,即誤碼率或誤信率來表示。所謂誤碼率,是指錯誤接收碼元數(shù)與所傳送的總碼元數(shù)之比。誤信率,也稱誤比特率,是指錯誤接收的信息量占傳送信息總量的比例。1.2

EDA概述

1.2.1引言

隨著社會生產(chǎn)力發(fā)展到了新的階段,各種電子新產(chǎn)品的開發(fā)速度越來越快?,F(xiàn)代計算機(jī)技術(shù)和微電子技術(shù)進(jìn)一步發(fā)展和結(jié)合使得集成電路的設(shè)計出現(xiàn)了兩個分支。一個是傳統(tǒng)的更高集成度的集成電路的進(jìn)一步研究;另一個是利用高層次VHDL/Verilog等硬件描述語言對新型器件FPGA/CPLD進(jìn)行專門設(shè)計,使之成為專用集成電路(ASIC)。這不僅大大節(jié)省了設(shè)計和制造時間,而且對設(shè)計者,無須考慮集成電路制造工藝,現(xiàn)已成為系統(tǒng)級產(chǎn)品設(shè)計的一項新的技術(shù)。

現(xiàn)代通信技術(shù)的發(fā)展隨著VHDL等設(shè)計語言的出現(xiàn)和ASIC的應(yīng)用也進(jìn)入了一個新的設(shè)計階段,特別是,對數(shù)字通信系統(tǒng)的ASIC芯片的研究有著看得見的使用價值。

EDA(ElectronicDesignAutomation)技術(shù)是現(xiàn)代電子設(shè)計技術(shù)的核心。它以EDA軟件工具為開發(fā)環(huán)境,采用硬件描述語言(HardwareDescriptionLanguage,HDL),采用可編程器件為實驗載體,實現(xiàn)源代碼編程、自動邏輯編譯、邏輯簡化、邏輯分割、邏輯綜合、布局布線、邏輯優(yōu)化和仿真等功能,以ASIC、SOC芯片為目標(biāo)器件,以電子系統(tǒng)設(shè)計為應(yīng)用方向的電子產(chǎn)品自動化的設(shè)計技術(shù)[18]。

EDA技術(shù)可把數(shù)字通信技術(shù),微電子技術(shù)和現(xiàn)代電子設(shè)計自動技術(shù)結(jié)合起來,實現(xiàn)了硬件設(shè)計軟件化,加速了數(shù)字通信系統(tǒng)設(shè)計的效率,降低了設(shè)計成本。本書就是基于CPLD/FPGA,利用EDA技術(shù)針對數(shù)字通信系統(tǒng),對一些相關(guān)的功能部分的研究和設(shè)計方法進(jìn)行了介紹,以供讀者借鑒和參考。1.2.2關(guān)于專用集成電路(ASIC)與VHDL

在單片芯片上可集成某個系統(tǒng)的全部功能,稱之為系統(tǒng)級芯片(SystemOnChip),簡稱SOC。

ASIC(專用集成電路)是相對于通用集成電路而言的,可分為數(shù)字ASIC、模擬ASIC和數(shù)模混合ASIC三類。

ASIC芯片設(shè)計一方面基于“裸片”FPGA(現(xiàn)場可編程邏輯器件)和CPLD(復(fù)雜可編程邏輯器件)的可用門的集成度,另一方面基于高層次VHDL(甚高速集成電路硬件描述語言)等自動設(shè)計技術(shù)。

甚高速集成電路硬件描述語言(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,VHDL)誕生于1982年。

VHDL被IEEE確認(rèn)為標(biāo)準(zhǔn)硬件描述語言,在電子工程領(lǐng)域,已成為廣泛使用的通用硬件描述語言,已成為EDA的重要組成部分,除了作為電子系統(tǒng)設(shè)計的主選硬件描述語言外,VHDL在EDA領(lǐng)域的仿真測試、程序模塊的移植、ASIC設(shè)計源程序的交付、IP核(IntelligencePropertycore)的應(yīng)用方面擔(dān)任著不可或缺的角色,因此不可避免地將成為了必要的設(shè)計開發(fā)工具。1.

ASIC的設(shè)計流程從設(shè)計輸入到制成ASIC芯片的整個過程中,通??蓪⑵湓O(shè)計流程歸納為以下7個步驟。第1步:設(shè)計輸入。應(yīng)用HDL語言(VHDL或Verilog語言)的源程序設(shè)計文本,通過編輯輸入的方式。這種方式如同一般的計算機(jī)應(yīng)用軟件的源程序編輯輸入法。第2步:前仿真。所設(shè)計的電路必須在布局布線前驗證,目的主要是在仿真時,驗證電路功能是否有效。第3步:設(shè)計輸入編譯。設(shè)計輸入之后就有一個從高層次系統(tǒng)行為設(shè)計向低層次門級邏輯電路的轉(zhuǎn)化翻譯過程,即把設(shè)計輸入的某種或某幾種數(shù)據(jù)格式(網(wǎng)表)轉(zhuǎn)化為底層軟件能夠識別的某種數(shù)據(jù)格式(網(wǎng)表)的過程。第4步:設(shè)計輸入的優(yōu)化。對于上述綜合生成的網(wǎng)表,根據(jù)布爾方程功能等效的原則,用更小更快的綜合結(jié)果替代一些復(fù)雜的單元,并與指定的庫映射生成新的網(wǎng)表,目的是在硬件描述語言輸入方式中減小電路規(guī)模。第5步:布局布線。當(dāng)初步的仿真被驗證后,就開始布局布線。這一步相對規(guī)劃出ASIC和FPGA/CPLD設(shè)計。第6步:參數(shù)提取和后仿真。設(shè)計人員需要利用在布局布線中獲得的更精確的RC參數(shù)再次驗證電路的功能和時序。第7步:制版、流片。在布局布線和后仿真完成之后,當(dāng)需要大批量生產(chǎn)該芯片時,就可以開始ASIC芯片的投產(chǎn)。2.VHDL的主要優(yōu)點(1)覆蓋面廣,有強(qiáng)大的系統(tǒng)硬件描述能力VHDL可以覆蓋行為描述、RTL(寄存器傳輸)級描述、門描述、電路描述和物理參數(shù)描述(包括延時、功耗、頻率、幾何尺寸等)。

VHDL還具有豐富的數(shù)據(jù)類型.即可以支持預(yù)定義的數(shù)據(jù)類型,也可以自己定義數(shù)據(jù)類型。這樣便給硬件描述帶來了較大的自由度,使設(shè)計人員能夠方便地使用VHDL創(chuàng)建高層次的系統(tǒng)模型。(2)可讀性好、易于修改

在硬件電路設(shè)計過程中,主要的設(shè)計文件是用VHDL編寫的源代碼,因為VHDL易讀和結(jié)構(gòu)模塊化,所以易于修改設(shè)計。(3)獨立于器件的設(shè)計,與工藝無關(guān)

用VHDL進(jìn)行硬件電路設(shè)計時,并不需要首先考慮選擇完成設(shè)計的器件,也就是說,VHDL并沒有嵌入具體的技術(shù)和工藝約定,設(shè)計人員可以集中精力進(jìn)行設(shè)計的優(yōu)化,不需要考慮其他問題。當(dāng)一個設(shè)計描述完成以后,可以用多種不同的器件結(jié)構(gòu)來實現(xiàn)其功能。(4)易于移植和設(shè)計資源共享

由于VHDL是一種國際標(biāo)準(zhǔn)化的硬件描述語言,對于同一個設(shè)計描述,它可以移植到符合相同標(biāo)準(zhǔn)的任意系統(tǒng)或平臺上運行。對于一些較大的通用性硬件電路,目前已經(jīng)有專門的IP核出售,因此,能實現(xiàn)設(shè)計資源的有償使用,可大大縮短設(shè)計周期,加快設(shè)計產(chǎn)品的上市速度。3.

VHDL源程序的基本結(jié)構(gòu)(1)實體(entity)實體是設(shè)計中最基本的模塊。它描述了系統(tǒng)與外部進(jìn)行信息交換的端口和參數(shù),是系統(tǒng)外部結(jié)構(gòu)的描述。實體說明的基本結(jié)構(gòu)表示如下:常用的最基本的表示格式:entity實體名

isport(端口表);end實體名;例1-1

entitynot1is--實體名“not1”port(a:instd_logic;--端口說明

b:outstd_logic);endnot1;端口說明是對設(shè)計實體與外部接口的描述。它的基本格式是:

port(端口名:端口模式數(shù)據(jù)類型;{端口名:端口模式數(shù)據(jù)類型});端口名是賦予每個外部端口的名稱;端口模式用于定義外部端口的信號方向。表1-1給出了端口說明的關(guān)鍵詞和含義。表1-1端口模式說明端口模式含義in輸入,只讀模式out輸出,單向賦值模式inout雙向功能,可讀可寫buffer可讀的輸出模式,可讀或?qū)懀荒苡幸粋€驅(qū)動源lingkage不指定方向,哪個方向都可連接

有些場合還需要增加類屬參數(shù)說明。這樣的實體結(jié)構(gòu)為:

entity實體名

isgeneric(類屬表);

port(端口表);

end實體名;例1-2entitynot1is--實體名“not1”generic(trise:TIME:=1ns;--類屬說明tfall:TIME:=1ns);port(a:instd_logic;--端口說明b:outstd_logic);endnot1;類屬(generic):是傳遞信息參數(shù)到實體的術(shù)語。類屬參數(shù)說明必須放在端口之前,用于指定參數(shù)。在上例的類屬說明中,定義參數(shù)trise為上升沿寬度(1ns);tfall為下降沿寬度(1ns)。這兩個參數(shù)用于仿真模塊的設(shè)計。(2)結(jié)構(gòu)體(architecture)

結(jié)構(gòu)體描述實體的行為功能或內(nèi)部的具體結(jié)構(gòu)。一個實體可以有多個結(jié)構(gòu)體。結(jié)構(gòu)體的基本結(jié)構(gòu)如下:architecture

結(jié)構(gòu)體名of

實體名

is[說明語句]內(nèi)部信號,常數(shù),數(shù)據(jù)類型,函數(shù)等的定義;begin[功能描述語句]end

結(jié)構(gòu)體名;例1-3architecturehhofcounterissignalclk:bit:=‘0’;signalcount:integer:=0;begin……endhh;上例中,從architecture到begin之間的那些語句則為說明語句,它們定義了內(nèi)部信號。

結(jié)構(gòu)體中除了說明語句外,還有功能描述語句。功能描述語句結(jié)構(gòu)是以并行方式工作的語句結(jié)構(gòu)。在功能描述語句結(jié)構(gòu)中可以有多個并行的子結(jié)構(gòu)。每個子結(jié)構(gòu)之間的關(guān)系,看成是并行運行的,但每個子結(jié)構(gòu)內(nèi)部包含的語句既可是并行語句,也可是順序語句。大體上,結(jié)構(gòu)體的功能描述語句有五種子結(jié)構(gòu):塊語句(BLOCK)、進(jìn)程語句(PROCESS)、信號賦值語句、子程序調(diào)用語句和元件例化語句。(3)塊語句(block)

塊語句是由多個并行語句的構(gòu)成的集合體。它構(gòu)成結(jié)構(gòu)體中的一個或多個子模塊。塊語句的基本表達(dá)格式如下:塊標(biāo)號:BLOCK

接口說明

類屬說明

BEGIN

并行語句

ENDBLOCK塊標(biāo)號;例1-4……b1:blocksignalo1:bit;begino1<=aandb;b2:blocksignalo2:bit;begino2<=candd;b3:blockbeginx<=o1;y<=o2;endblockb3;endblockb2;endblockb1;……(4)進(jìn)程(process)

進(jìn)程是基本的執(zhí)行單元,在VHDL描述時,把所有的運算或處理都劃分為單個或多個進(jìn)程。進(jìn)程語句是常用的功能描述語句。進(jìn)程語句的表達(dá)格式如下:[進(jìn)程標(biāo)號:]PROCESS[(敏感信號)](IS)[進(jìn)程說明]BEGIN順序描述語句ENDPROCESS[(進(jìn)程標(biāo)號)];注:進(jìn)程標(biāo)號是非必須的,因此可以不標(biāo)進(jìn)程標(biāo)號。所謂順序描述語句是指按順序執(zhí)行的語句,但并不代表其語句結(jié)構(gòu)對應(yīng)的硬件邏輯行為是順序執(zhí)行的。

例1-5……architecturert1ofcount16issignalcount_4:std_logic_vector(3downto0);beginprocess(clk)beginif(clk’eventandclk=‘1’)thenif(count_4=“1111”)thencount_4<=“0000”;elsecount_4<=count_4+1;endif;endif;endprocess;……(5)程序包(package)

程序包是設(shè)計中所使用的子程序和公用數(shù)據(jù)類型的集合。它由程序包首和程序包體組成程序包的表達(dá)格式如下:package程序包名is[說明語句:]end程序包名;packagebody程序包名is[說明語句:]end程序包名;(6)配置(configuration)

用配置語句可以將具體的元件安裝或連接到一個實體-結(jié)構(gòu)體對中。配置語句還能用于對元件的端口連接進(jìn)行重新安排等。配置語句的表達(dá)格式如下:configuration配置名of實體名is[說明語句:]end配置名;4.關(guān)于VHDL設(shè)計的仿真

在VHDL設(shè)計流程中,作為設(shè)計驗證的重要步驟,仿真是必不可少的。仿真是指從電路的描述抽象出模型,然后將外部激勵信號輸入該模型,通過觀察該模型在外部激勵信號作用下的反應(yīng)來判斷該系統(tǒng)設(shè)計的正確性。仿真分為功能仿真和時序仿真。功能仿真用于驗證設(shè)計模塊的邏輯功能,而時序仿真用于驗證設(shè)計模塊的時序關(guān)系。按VHDL的設(shè)計流程,仿真又分為三個階段,即行為級仿真、RTL級仿真和門級仿真。行為級仿真的目的是驗證系統(tǒng)的數(shù)學(xué)模型和行為的正確性。

RTL級仿真是描述數(shù)據(jù)在諸如寄存器、總線、運算單元等器件中流動的條件和過程。RTL級仿真的目的,是為了使被測模塊符合邏輯工具要求,使其能生成門級電路。門級仿真的對象是以邏輯門為主要描述基本元件,仿真的目的是檢查門級電路的設(shè)計功能,包括邏輯功能、延遲特性、負(fù)載特性等5.關(guān)于VHDL設(shè)計的綜合

所謂綜合是指將較高抽象層次的描述自動地轉(zhuǎn)換到較低抽象層次描述的一種過程,具體來說,從自然語言轉(zhuǎn)換到VHDL語言算法表示,稱為自然語言綜合;從算法表示轉(zhuǎn)換到寄存器傳輸級(RegisterTransportLevel,RTL),稱為RTL級綜合;將RTL級的描述轉(zhuǎn)換成門級網(wǎng)表的過程,稱為邏輯綜合;從邏輯門表示轉(zhuǎn)換到版圖表示(ASIC設(shè)計),或轉(zhuǎn)換到FPGA的配置網(wǎng)表文件,則稱為版圖綜合或結(jié)構(gòu)綜合。6.關(guān)于經(jīng)典的自下至上的系統(tǒng)設(shè)計方法(BottomtoTop)經(jīng)典的電子系統(tǒng)設(shè)計通常采用自下至上的方法,根據(jù)電子系統(tǒng)對硬件和軟件的要求,其大體設(shè)計步驟如下:(1)制訂設(shè)計任務(wù)書,提出設(shè)計要求和目標(biāo)。(2)畫出系統(tǒng)框圖或控制流程圖。(3)合理劃分硬件和軟件負(fù)擔(dān)的功能和任務(wù)。(4)分別設(shè)計硬件模塊和軟件模塊。(5)將軟、硬件連接起來進(jìn)行系統(tǒng)聯(lián)調(diào)與測試,直至完成系統(tǒng)設(shè)計的目標(biāo)。對于硬件設(shè)計來說,設(shè)計是從選擇具體元器件開始的,然后利用各種通用器件構(gòu)成小功能模塊,再把各小功能模塊連起來,最后形成整個硬件系統(tǒng)。它是一種從最底層(元件)開始,最后在最高層(系統(tǒng))結(jié)束的設(shè)計方法,于是稱為自下至上的設(shè)計方法。7.關(guān)于現(xiàn)代的自頂向下(Top-To-Down)的系統(tǒng)設(shè)計方法

所謂自頂向下的(TOP—TO—DOWN)設(shè)計方法是指從系統(tǒng)總體功能要求著手,自上往下逐步地將設(shè)計內(nèi)容細(xì)化,直至達(dá)到能有效設(shè)計的硬件層次,最終完成硬件設(shè)計的方法。采用VHDL自頂向下的設(shè)計步驟分為三個層次:

第一層次:行為描述。它是對整個系統(tǒng)的行為或數(shù)學(xué)模型進(jìn)行描述,是一種較抽象地描述系統(tǒng)的基本結(jié)構(gòu)或功能的方式。

第二層次:數(shù)據(jù)流描述,亦稱為RTL(寄存器傳輸級)描述。它描述數(shù)據(jù)信號的傳輸關(guān)系,定義各信號間的具體邏輯關(guān)系。一般地,VHDL的RTL級描述方式,類似于布爾代數(shù)方程,即可描述時序電路,又可描述組合電路。

第三層次:門級描述,又稱結(jié)構(gòu)描述。這一層次描述相當(dāng)于調(diào)用元件庫(包括自建庫)中的功能元件,形成一個完整的原理圖模塊。1.2.3現(xiàn)場可編程邏輯(FPGA)和復(fù)雜可編程邏輯(CPLD)器件

1.引言

FPGA(現(xiàn)場可編程門陣列)與CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL、GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來的。但FPGA/CPLD的規(guī)模較大,非常適合于對時序、組合等邏輯電路應(yīng)用場合,它可以替代幾十甚至上百塊通用IC芯片。應(yīng)用FPGA/CPLD可以做成一個系統(tǒng)級芯片,它具有可編程性和實現(xiàn)方案容易修改的特點?,F(xiàn)在,CPLD/FPGA等可編程器件已應(yīng)用在不同的高科技領(lǐng)域,如數(shù)字電路設(shè)計、微處理系統(tǒng)、DSP、通信及ASIC設(shè)計等。由于芯片內(nèi)部硬件連接關(guān)系的描述的存放,是以EEPROM、SRAM或FLASH或外接EPROM為基礎(chǔ)的,設(shè)計用戶可在可編程門陣列芯片及外圍電路保持不動的情況下,通過計算機(jī)重新下載或配置設(shè)計軟件,就能實現(xiàn)一種新的芯片功能。于是FPGA/CPLD可編程器件,正得到越來越多的電子設(shè)計者的青睞。

高速和高可靠是FPGA/CPLD最明顯的特點,當(dāng)今的該類可編程器件,其最高工作頻率可達(dá)百兆級,其時鐘延遲可達(dá)納秒級,結(jié)合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實時測控方面有非常廣闊的應(yīng)用前景。相比應(yīng)用單片機(jī)的設(shè)計系統(tǒng)來說,可以較好地解決諸如MCU的復(fù)位不可靠和PC可能跑飛等問題。CPLD和FPGA的高可靠性還表現(xiàn)在,可形成片上系統(tǒng),從而大大縮小了體積,易于管理和屏蔽。由于FPGA/CPLD的集成規(guī)模非常大,因此可借助HDL硬件描述語言開發(fā)出系統(tǒng)級芯片和產(chǎn)品。又由于開發(fā)工具的通用性、設(shè)計語言的標(biāo)準(zhǔn)化以及設(shè)計過程幾乎與所用器件的硬件結(jié)構(gòu)沒有關(guān)系,所以設(shè)計成功的各類邏輯功能塊軟件有很好的兼容性和可移植性,它幾乎可用于任何型號和規(guī)模的FPGA/CPLD中,從而使得產(chǎn)品設(shè)計效率大幅度提高。FPGA/CPLD顯著的優(yōu)勢是開發(fā)周期短,投資風(fēng)險小、產(chǎn)品上市速度快,市場適應(yīng)能力強(qiáng)和硬件升級回旋余地大。一旦市場對所設(shè)計的產(chǎn)品需求量大,則可進(jìn)行流片設(shè)計,形成價格更低廉的AISC產(chǎn)品。2.CPLD器件簡介

本節(jié)介紹常用的基于乘積項(Product-Term)的CPLD結(jié)構(gòu)?;诔朔e項(Product-Term)的CPLD結(jié)構(gòu)芯片有:Altera的MAX7000,MAX3000系列(EEPROM工藝),Xilinx的XC9500系列(Flash工藝)和Lattice,Cypress的大部分產(chǎn)品(EEPROM工藝)下面以MAX7000為例介紹這種CPLD的總體結(jié)構(gòu)(其他型號的結(jié)構(gòu)與此類似),如圖1-4所示。圖1-4中的CPLD主要由三塊模塊構(gòu)成:宏單元(Marocell),可編程連線(PIA)和I/O控制塊。宏單元是PLD的基本結(jié)構(gòu),由它來實現(xiàn)基本的邏輯功能。圖1-4中LAB(邏輯陣列塊)是由多個宏單元組成的集合??删幊踢B線用于信號傳遞以及連接所有的宏單元。I/O控制塊用于輸入輸出的電氣特性控制。INPUT/GCLK1為全局時鐘,INPUT/GCLRn是清零信號,INPUT/OE1,INPUT/OE2為輸出使能信號。這幾個信號有專門的連線與PLD中每個宏單元相連,要求信號到每個宏單元的延時相同并且延時最短。宏單元的具體結(jié)構(gòu)見圖1-5所示。圖1-5宏單元結(jié)構(gòu)

圖1-5的左端為乘積項陣列,它是一個與或陣列,每一個交叉點都是一個可編程熔絲,如果導(dǎo)通就是實現(xiàn)“與”邏輯。圖中間的乘積項選擇矩陣是一個“或”陣列。它們共同完成組合邏輯。圖右側(cè)的可編程D觸發(fā)器,其時鐘,清零輸入可通過編程來選擇??删幊藾觸發(fā)器的時鐘和清零有兩種選擇,既可使用全局清零和全局時鐘,也可以使用內(nèi)部邏輯(乘積項陣列)產(chǎn)生的時鐘和清零。若不需要觸發(fā)器,則可將此觸發(fā)器旁路,即信號直接輸給PIA或輸出到I/O腳。這種PLD的制造采用了EEPROM和Flash工藝,因而一經(jīng)加電就可以工作,無需其他芯片配置。

3.FPGA器件簡介

采用查找表(Look-Up-Table)式結(jié)構(gòu)的PLD芯片稱之為FPGA。查找表(Look-Up-Table)簡稱為LUT。LUT是可編程的最小邏輯單元,它是一個RAM。大部分的FPGA中使用基于SRAM(靜態(tài)隨機(jī)存儲器)的查找表的邏輯結(jié)構(gòu),用SRAM構(gòu)成邏輯函數(shù)發(fā)生器。目前常用的FPGA查找表基本單元是一個4輸入的LUT單元,每一個LUT可以看成一個有4位地址線的16x1的RAM。當(dāng)用戶通過原理圖或HDL語言描述了一個邏輯電路以后,PLD/FPGA設(shè)計軟件將自動計算邏輯電路的所有可能的結(jié)果,且把結(jié)果事先寫入RAM。因此,每輸入一個信號進(jìn)行邏輯運算就等于輸入一個地址進(jìn)行查表,找出地址對應(yīng)的內(nèi)容,然后輸出?;诓檎冶恚↙UT)的altera的FLEX/ACEX等FPGA的結(jié)構(gòu)如圖1-6所示。圖1-6alteraFLEX/ACEX芯片的內(nèi)部結(jié)構(gòu)

FLEX/ACEX的結(jié)構(gòu)主要包括LAB,I/O塊,RAM塊(未表示出)和可編程行/列連線。在FLEX/ACEX中,一個LAB包括8個邏輯單元(LE),每個LE包括一個LUT,一個同步使能可編程觸發(fā)器和一個進(jìn)位鏈和一個級連鏈。LE是FLEX/ACEX芯片實現(xiàn)邏輯的最基本結(jié)構(gòu),如圖1-7所示。由于基于SRAM工藝的LUT,在掉電后信息就會丟失,需要外加一片專用配置芯片,在上電的時候,通過該專用配置芯片把數(shù)據(jù)加載到FPGA中,才能使FPGA正常工作。由于配置過程所需時間很短,不會對系統(tǒng)的正常工作造成影響。除了上述類型的FPGA外,還有其它工藝的FPGA,如采用反熔絲或Flash工藝的FPGA。它們無須外加專用的配置芯片。圖1-7邏輯單元(LE)內(nèi)部結(jié)構(gòu)4.CPLD/FPGA編程與配置CPLA/FPGA編程與配置的概念在設(shè)計者完成仿真后,接下來的工作就是要在含CPLD或FPGA目標(biāo)器件的開發(fā)實驗平臺上進(jìn)行實際驗證與調(diào)試。根據(jù)不同的目標(biāo)器件,將結(jié)構(gòu)綜合器(或適配器)產(chǎn)生的下載文件或配置文件進(jìn)行下載,分為編程下載和配置兩種定義。通常,把對CPLD的下載稱為編程(Program);把對FPGA中的SRAM的下載稱為配置(Configure)。(2)Altera的ByteBlaster并行下載電纜

Altera的ByteBlaster并行下載電纜是一種常用的標(biāo)準(zhǔn)化下載裝置。這種電纜把PC機(jī)的并行打印口轉(zhuǎn)換成10芯的下載接口。

ByteBlaster有兩種下載和配置模式:一種是被動串行模式(PS),常用來配置重構(gòu)FLEX10K、FLEX8000和FLEX6000系列器件;另一種是邊界掃描模式(JTAG),具有邊界掃描電路的配置重構(gòu)或在線編程。不同的模式對應(yīng)的10芯接口的引腳信號不同,如表1-2所示。

表1-2ByteBlaster下載接口各引腳信號名稱

ByteBlaster下載電纜的構(gòu)成與設(shè)計,包括以下部分:

與PC機(jī)并口相連的25針插座頭;

與PCB板插座相連的10針插頭;

25針到10針的變換電路;

在ByteBlaster下載電纜中,其數(shù)據(jù)交換實際上就只有一個74LS244和幾個電阻,其原理圖如圖1-8所示下載電纜的一些有用的工作條件如表1-3和表1-4所示。表1-3下載線絕對最大值表1-4下載電纜直流工作條件

圖1-8ByteBlaster變換電(3)CPLD的編程下載連接Altera公司的MAX7000系列CPLD器件采用JTAG接口模式,其編程下載連接圖如圖1-9所示。圖1-9MAX7000系列CPLD器件編程下載連接圖(4)FPGA的配置FLEX器件的配置分為兩大類:主動配置方式和被動配置方式。主動配置方式由FLEX器件引導(dǎo)配置操作過程,它控制著外部存儲器的和初始化過程;被動配置方式由部計算機(jī)或控制器控制配置過程。根據(jù)數(shù)據(jù)線的多少將器件配置分為并行配置和串行配置兩類。圖1-10給出了利用單片機(jī)和外接ROM進(jìn)行配置的連接圖。圖中,X25F128為16Kbyte的串行快擦寫存儲器,89C51為單片機(jī)。在這里,介紹一種常用的PS模式,它是通過PC機(jī)的ByteBlaster并口下載電纜對Altera的FPGA器件進(jìn)行配置。

圖1-11給出了FLEX10K系列的PS模式的配置時序狀態(tài)圖。當(dāng)通過下載電纜配置FPGA時,目標(biāo)器件的CONF_DONE引腳跳變?yōu)榈碗娖?,即可觸發(fā)單片機(jī)的中斷,單片機(jī)開始接收并存儲數(shù)據(jù)。FLEX10K系列的PS模式配置,有三種工作狀態(tài):配置狀態(tài)、初始化狀態(tài)、用戶模式。配置狀態(tài)是指FPGA正處于配置的狀態(tài),此時用戶(User)I/O全處于高阻態(tài);初始化狀態(tài)是指配置完成,但FPGA的內(nèi)部邏輯電路尚未進(jìn)入正常工作狀態(tài),即內(nèi)部狀態(tài)還處于復(fù)位過程中;用戶模式是指配置已完成,而且FPGA的內(nèi)部邏輯已處于正常工作狀態(tài)。圖1-10利用單片機(jī)和外接ROM進(jìn)行配置的連接圖圖1-11FLEX10K系列PS模式配置時序圖

5器件的選擇盡管軟件的實現(xiàn)是整個設(shè)計工作的核心,但是如果沒有硬件的支持,無法達(dá)到實際應(yīng)用的目的。器件選擇是設(shè)計者必須重點考慮的工作。下面簡單比較CPLD和FPGA的特點,并簡單介紹器件選擇的考慮要點。CPLD與FPGA的特點比較:(1)FPGA的邏輯單元從功能上而言,比CPLD的組合乘積項及宏單元要簡單得多,但是它可由邏輯單元的級聯(lián)來創(chuàng)建很大的函數(shù)功能。(2)PLD適合用于復(fù)雜組合邏輯。FPGA適合于設(shè)計復(fù)雜的時序邏輯。(3)FPGA的制造工藝確定了FPGA芯片中包含的LUT和觸發(fā)器的數(shù)量非常多,可達(dá)上萬個,而PLD一般只能做到512個邏輯單元,因此FPGA的平均邏輯單元成本大大低于PLD。(4)在CPLD器件內(nèi)可以通過邏輯陣列將大型函數(shù)在一級邏輯中實現(xiàn),具有較高的系統(tǒng)運行速度,并且其易于確定的時序參數(shù)

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論