畢業(yè)設(shè)計(jì)(論文) 基于VHDL語(yǔ)言的HDB3碼編解碼器設(shè)計(jì)
《畢業(yè)設(shè)計(jì)(論文) 基于VHDL語(yǔ)言的HDB3碼編解碼器設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)(論文) 基于VHDL語(yǔ)言的HDB3碼編解碼器設(shè)計(jì)(45頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、目錄 引言 1 1 緒論 1 1.1可編程邏輯器件概述 1 1.1.1 可編程邏輯器件的發(fā)展歷程 1 1.1.2 可編程邏輯器件的特點(diǎn) 2 1.1.3 可編程邏輯器件的一般設(shè)計(jì)流程 4 1.1.4 現(xiàn)代數(shù)字系統(tǒng)的設(shè)計(jì)方法 6 1.2 VHDL語(yǔ)言概述 7 1.2.1 VHDL語(yǔ)言介紹 7 1.2.2語(yǔ)言特性、功能與特點(diǎn) 7 1.2.3 TOP-DOWN的設(shè)計(jì)思想簡(jiǎn)介 8 1.3 Quartus II的介紹 9 1.3.1 Quartus II的產(chǎn)生與發(fā)展 9 1.3.2 Quartus II功能概論 10 1.3.3 Quartus II的應(yīng)用 10 2 H
2、DB3碼介紹 21 2.1 數(shù)字基帶信號(hào) 21 2.2 NRZ,AMI,HDB3碼之間的對(duì)應(yīng)關(guān)系 21 2.3 HDB3碼的編/譯碼規(guī)則 22 3 用VHDL語(yǔ)言設(shè)計(jì)HDB3編碼器 24 3.1 HDB3編碼器實(shí)現(xiàn)的基本原理 24 3.2 HDB3編碼器的設(shè)計(jì)過(guò)程 24 3.3 HDB3編碼器仿真波形 30 4 用VHDL語(yǔ)言設(shè)計(jì)HDB3譯碼器 31 4.1 HDB3解碼器實(shí)現(xiàn)的基本原理 31 4.2 HDB3解碼器的設(shè)計(jì)過(guò)程 32 4.3 HDB3解碼器仿真波形 33 5 總結(jié) 35 5.1 系統(tǒng)設(shè)計(jì)思路小結(jié) 35 5.2 畢設(shè)存在的問(wèn)題及不足 36 5.3
3、 畢設(shè)后的感想 36 致謝 37 參考文獻(xiàn) 38 附錄:基于VHDL語(yǔ)言的HDB3碼編/解碼器設(shè)計(jì)程序 39 摘要 現(xiàn)代通信在技術(shù)一般的數(shù)字通信系統(tǒng)中首先將消息變?yōu)閿?shù)字基帶信號(hào),稱為信源編碼,經(jīng)過(guò)調(diào)制后進(jìn)行傳輸,在接收端先進(jìn)行解調(diào)恢復(fù)為基帶信號(hào),再進(jìn)行解碼轉(zhuǎn)換為消息。在實(shí)際的基帶傳輸系統(tǒng)中,并不是所有電波均能在信道中傳輸,因此有基帶信號(hào)的選擇問(wèn)題,因此對(duì)碼型的設(shè)計(jì)和選擇需要符合一定的原則。HDB3(High Density Binary-3)碼是AMI碼的一種改進(jìn)型。HDB3碼保持了AMI碼的優(yōu)點(diǎn),克服了AMI碼在遇到連“0”長(zhǎng)時(shí)難以提取定時(shí)信息的困難,因而獲得廣
4、泛應(yīng)用。CCITT已建議把HDB3碼作為PCM終端設(shè)備一次群到三次群的接口碼型。我本次畢業(yè)設(shè)計(jì)的主要內(nèi)容就是基于VHDL語(yǔ)言的HDB3編/解碼器的設(shè)計(jì),它所要達(dá)到的要求就是能從軟件方面來(lái)實(shí)現(xiàn)HDB3編/解碼器的基本功能,并能協(xié)調(diào)整個(gè)設(shè)計(jì),使之達(dá)到預(yù)想的要求。設(shè)計(jì)的核心部分是:在QuartusⅡ的軟件平臺(tái)上,用VHDL語(yǔ)言來(lái)完成HDB3編/解碼器的各個(gè)模塊的設(shè)計(jì)并將它們合為一個(gè)整體的系統(tǒng)。設(shè)計(jì)中所用到的知識(shí)主要是:對(duì)VHDL碼型基本原理和特性的認(rèn)識(shí)、對(duì)Quartus Ⅱ軟件的熟練操作、對(duì)VHDL(超高速集成電路硬件描述語(yǔ)言)的掌握和應(yīng)用,這些知識(shí)都是進(jìn)行電子設(shè)計(jì)的基本知識(shí)和能力,只有基礎(chǔ)知識(shí)和能
5、力扎實(shí)了,才能更好的進(jìn)行更高層次的電子設(shè)計(jì),所以這個(gè)設(shè)計(jì)也是對(duì)電子設(shè)計(jì)基本能力的很好的鍛練。 關(guān)鍵字:現(xiàn)代通信 HDB3碼 模塊 VHDL Quartus Ⅱ軟件 Abstract Modern communication in general digital communication system in first will change the information into number word signal of base band, is called as lette
6、r source coding , transmit after passing modulation, in take over end advanced trip demodulation recovery is the signal of base band, it is news to carry out decode conversion again. In the actual transmission system of base band,its not all electric waves can transmit in channel , therefore have t
7、he option of the signal of base band problem, therefore for option and the design of pattern of sling-load, need to accord with certain principle. HDB3 ( High Density Binary - 3 ) code is a kind of improvement of AMI code type. HDB3 code has maintained the advantage of AMI code, have surmounted AMI
8、code in meet company the length of " 0 " is hard to draw the difficulty of timing information, thus get extensive application. CCITT had suggested that regard HDB3 code as PCM terminal equipment primary group to the interface pattern of sling-load of three crowd. So my major content of graduated de
9、sign is designing based on the HDB3 volume / decoder of VHDL language , the requirement that it will reach is the basic skill that can realize HDB3 volume / decoder funcation in software can, and can coordinate entire design , make sure it reach the requirement that anticipated. The key part of my
10、design is: In Quartus Ⅱ software platform on, complete the design of every modular of HDB3 volume / decoder with VHDL language ( modular include: Encoder and decoder) and will them suit for a overall system. The knowledge that used in design is mainly: It is for the knowledge of the VHDL basic princ
11、iple and property of pattern of sling-load , for Quartus Ⅱ the skilled operation of software , for VHDL ( exceed the hardware of integrated circuit description language ) grasp and apply , these knowledges are the basic knowledge and ability that carries out electronic design , has only basic knowle
12、dge and has strong ability , talent is better to carry out the electronic design of higher level, so this design also is a very good exercise for electronic design basic ability. Keyword: Modern communication HDB3 code modular VHDL QuartuⅡ 41 引言 現(xiàn)代通信
13、借助于電和光來(lái)傳輸信息,數(shù)字終端產(chǎn)生的數(shù)字信息是以“1”和“0”2種代碼(狀態(tài))位代表的隨機(jī)序列,他可以用不同形式的電信號(hào)表示,從而構(gòu)造不同形式的數(shù)字信號(hào)。在一般的數(shù)字通信系統(tǒng)中首先將消息變?yōu)閿?shù)字基帶信號(hào),稱為信源編碼,經(jīng)過(guò)調(diào)制后進(jìn)行傳輸,在接收端先進(jìn)行解調(diào)恢復(fù)為基帶信號(hào),再進(jìn)行解碼轉(zhuǎn)換為消息。在實(shí)際的基帶傳輸系統(tǒng)中,并不是所有電波均能在信道中傳輸,因此有基帶信號(hào)的選擇問(wèn)題,因此對(duì)碼型的設(shè)計(jì)和選擇需要符合一定的原則。考慮到當(dāng)數(shù)字信號(hào)進(jìn)行長(zhǎng)距離傳輸時(shí)要求線路傳輸碼型的頻譜不含直流分量,并且只有很少的低頻分量和高頻分量。其次,傳輸碼型中應(yīng)含有定時(shí)時(shí)鐘信息,以利于收端定時(shí)時(shí)鐘的提取,在基帶傳輸系統(tǒng)中
14、,定時(shí)信息是在接收端再生原始信息所必需的。再次,實(shí)際傳輸系統(tǒng)常希望在不中斷通信的前提下,能監(jiān)視誤碼,如果傳輸碼型有一定的規(guī)律性,那么就可以根據(jù)這一規(guī)律性來(lái)檢測(cè)傳輸質(zhì)量,以便做到自動(dòng)監(jiān)測(cè),因此,傳輸碼型應(yīng)具有一定的誤碼檢測(cè)能力。當(dāng)然,對(duì)傳輸碼型的選擇還需要編碼和解碼設(shè)備盡量簡(jiǎn)單等要求,但以上的幾點(diǎn)是最主要的考慮因素。以上要求導(dǎo)致了HDB3碼的出現(xiàn)并獲廣泛應(yīng)用。HDB3碼因具有無(wú)直流成分,低頻成分少和連0個(gè)數(shù)最多不超過(guò)三個(gè)等明顯的優(yōu)點(diǎn),對(duì)定時(shí)信號(hào)的恢復(fù)十分有利, CCITT已建議把HDB3碼作為PCM終端設(shè)備一次群到三次群的接口碼型。本設(shè)計(jì)就是用VHDL語(yǔ)言實(shí)現(xiàn)HDB3碼的編/解碼器功能。
15、 基于VHDL語(yǔ)言的HDB3碼編/解碼器設(shè)計(jì) 1 緒論 1.1可編程邏輯器件概述 1.1.1 可編程邏輯器件的發(fā)展歷程 從20世紀(jì)60年代開(kāi)始,數(shù)字集成電路經(jīng)歷了小規(guī)模集成電路(SSI-SmallScale Interation,幾十到幾百門),中規(guī)模集成電路(MSI-Medium ScaleIntegration,幾百到幾千門),大規(guī)模集成電路(LSI-Large Scale Integration,幾千到幾萬(wàn)門),超大規(guī)模集成電路(VLSI-Very Large Scale Integration,幾百萬(wàn)門以上)等幾個(gè)發(fā)展階段。在此期間先
16、后出現(xiàn)了各種不同類型的數(shù)字集成電路,從大的方面可以將它們分為三種類型。 1.標(biāo)準(zhǔn)邏輯器件 即中小規(guī)模集成電路,如TTL工藝的54/74系列和CMOS工藝的CD4000系列的各種邏輯門,觸發(fā)器,譯碼器,多路轉(zhuǎn)換器,計(jì)數(shù)器和寄存器等邏輯器件就屬于這一類。 標(biāo)準(zhǔn)器件的生產(chǎn)批量大,成本低,價(jià)格便宜。由于其功能完全確定,版圖設(shè)計(jì)時(shí)可將精力投入到提高性能上,因此這種器件的工作速度一般都很快。它是傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)中使用的主要器件,但集成度不高,用它設(shè)計(jì)的系統(tǒng)器件多,功耗大,而且印刷電路版走線復(fù)雜,焊點(diǎn)多,致使系統(tǒng)的可靠性降低。應(yīng)為用戶無(wú)法修改這類器件的功能,使得修改設(shè)計(jì)時(shí)比較麻煩,改動(dòng)
17、系統(tǒng)中的一個(gè)器件往往就需要重新設(shè)計(jì)印刷電路。 2.由軟件配置的集成電路器件 20世紀(jì)70年代以后陸續(xù)推出了由軟件配置的微處理器(CPU)和單片機(jī)等邏輯器件,它們較好的彌補(bǔ)了上述標(biāo)準(zhǔn)邏輯器件的缺陷。這類器件集成度高,邏輯功能可由軟件自由配置,因而由它們構(gòu)成的數(shù)字系統(tǒng)靈活性大大增強(qiáng)。但這類器件的工作速度比較底,不能直接用于速度要求特別嚴(yán)格的場(chǎng)合。另外,這類邏輯器件通常需要有若干標(biāo)準(zhǔn)邏輯器件搭成的外圍電路才可以工作,所以硬件規(guī)模也較大。 3.專用集成電路ASIC(Application Specific Intergrated Circuits)ASIC的出現(xiàn)在一定程度上克服了
18、上述兩種邏輯器件的某些缺點(diǎn)。ASIC是為了滿足一種或幾種特定功能而設(shè)計(jì)并制造的集成電路芯片,他的密度一般都很高,一片ASIC芯片就能取代一塊有若干中小規(guī)模集成電路芯片搭成的印刷電路板,甚至一個(gè)完整的數(shù)字電路系統(tǒng)也能用一片ASIC芯片實(shí)現(xiàn)。因此,使用ASIC能大大減小系統(tǒng)的硬件規(guī)模,降低系統(tǒng)功耗,提高系統(tǒng)可靠性,保密性和工作速度。 ASIC按制造方法又可分為全定制(Full Custom)產(chǎn)品,半定制(Semi-custom)產(chǎn)品和可編程邏輯器件(PLD)。 (1)全定制產(chǎn)品 全定制的ASIC芯片的各層掩膜都是按特定的電路功能專門制造的。設(shè)計(jì)人員從晶體管的版圖尺寸,位置和互
19、連線開(kāi)始設(shè)計(jì),以求達(dá)到芯片面積利用率高,速度快,功耗低的最優(yōu)性能。要經(jīng)過(guò)電路設(shè)計(jì),邏輯模擬,版圖設(shè)計(jì)和集成電路的各道生產(chǎn)工序才能制造出符合要求的專用集成電路芯片。它的設(shè)計(jì)制作成本高,周期長(zhǎng),還帶有較大的風(fēng)險(xiǎn)性,一旦設(shè)計(jì)失誤就會(huì)浪費(fèi)大量自己與設(shè)計(jì)時(shí)間,因此全定制的專用集成電路只在特大批量生產(chǎn)的情況下才適用。 (2) 半定制產(chǎn)品 半定制產(chǎn)品是一種約束性設(shè)計(jì)方式。約束的主要目的是簡(jiǎn)化設(shè)計(jì),縮短設(shè)計(jì)周期和提高芯片成品率。半定制ASIC芯片上的單元電路是由器件生產(chǎn)廠家預(yù)先作好的,只剩下金屬連接層的掩摸有待按用戶的具體要求進(jìn)行設(shè)計(jì)與制造。母片通用性較強(qiáng),可以大批量生產(chǎn),因而成本較低。
20、設(shè)計(jì)半定制ASIC芯片時(shí),用戶根據(jù)設(shè)計(jì)要求及所選母片的結(jié)構(gòu)設(shè)計(jì)出連線版圖,在交器件生產(chǎn)廠家布金屬連接線。最常見(jiàn)的半定制ASIC有門陣列,門海和標(biāo)準(zhǔn)單元等。半定制ASIC與全定制ASIC相比,當(dāng)生產(chǎn)量不是很大時(shí),它的設(shè)計(jì)和生產(chǎn)周期較短,成本低,風(fēng)險(xiǎn)也小。 (3) 可編程邏輯器件 以上兩種ASIC的設(shè)計(jì)和制造都離不開(kāi)器件生產(chǎn)廠家,用戶主動(dòng)性較差。隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路芯片,并盡可能縮短設(shè)計(jì)周期,最好是在實(shí)驗(yàn)室里就可以設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,在使用中也能比較方便的對(duì)設(shè)計(jì)進(jìn)行修改??删幊踢壿嬈骷褪菫榱藵M足這一需求應(yīng)運(yùn)
21、而生的。 PLD芯片上的電路和金屬引線都是事先由器件生產(chǎn)廠家作好的,但其邏輯功能在出廠時(shí)并沒(méi)有確定,可由用戶根據(jù)需要借助于PLD開(kāi)發(fā)工具通過(guò)對(duì)其“編程”的辦法來(lái)確定。因此設(shè)計(jì)師們不通過(guò)器件生產(chǎn)廠家就能自己設(shè)計(jì)出符合要求的各種ASIC芯片。PLD器件兼有邏輯器件速度快、微處理器靈活性好和定制與半定制ASIC集成度高的優(yōu)點(diǎn),且大都可多次重復(fù)編程,為設(shè)計(jì)和開(kāi)發(fā)帶來(lái)很大方便,是實(shí)現(xiàn)新型數(shù)字系統(tǒng)的理想器件。 1.1.2 可編程邏輯器件的特點(diǎn) PLD的特點(diǎn)是在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)體現(xiàn)出來(lái)的,使用PLD設(shè)計(jì)數(shù)字系統(tǒng)會(huì)帶來(lái)許多好處,歸結(jié)起來(lái)主要有以下幾點(diǎn)。 (1) 集成度高 PLD器件集成度高,一
22、片PLD可代替幾片、幾十片乃至上百片中小規(guī)模的數(shù)字集成電路芯片。用PLD器件實(shí)現(xiàn)數(shù)字系統(tǒng)時(shí)用的芯片數(shù)量減少,占用印刷線路板面積小,整個(gè)系統(tǒng)的硬件規(guī)模明顯減小。例如,一個(gè)由2片“或”門74LS32、4片“與”門74LS08和4片D觸發(fā)器74LS74組成的電子游戲機(jī)控制電路,用1片GAL16V8即可代替。 (2)可靠性好 使用PLD器件減少了實(shí)現(xiàn)系統(tǒng)所需要的芯片數(shù)目,在印刷線路板上的引線以及焊接點(diǎn)數(shù)量也隨之減少,所以系統(tǒng)的可靠性得以提高。 (3)工作速度快 PLD器件的工作速度快,使用PLD后實(shí)現(xiàn)系統(tǒng)所需要的電路級(jí)數(shù)又少,因而整個(gè)系統(tǒng)的工作速度會(huì)得到提高。 (4)提高系統(tǒng)的靈活性 在系
23、統(tǒng)的研制階段,由于設(shè)計(jì)錯(cuò)誤或任務(wù)的變更而修改設(shè)計(jì)的事情經(jīng)常發(fā)生,使用不可編程的器件時(shí),修改設(shè)計(jì)就要更換或增減器件,這是一件相當(dāng)麻煩的事,有時(shí)還不得不更換印刷線路板。使用PLD器件后情況就大為不同:由于PLD器件引腳比較靈活,又有可擦除可編程能力,因此對(duì)原設(shè)計(jì)進(jìn)行修改時(shí),只需要修改原設(shè)計(jì)文件再對(duì)PLD芯片重新編程即可,而不需要修改電路布局,更不需要重新加工印刷線路板,這就大大提高了系統(tǒng)的靈活性。 (5)縮短設(shè)計(jì)周期 PLD器件集成度高,使用時(shí)印刷線路板電路布局布線簡(jiǎn)單;性能靈活,使用它修改設(shè)計(jì)方便;開(kāi)發(fā)工具先進(jìn),自動(dòng)化程度高。因此,使用PLD可大大縮短系統(tǒng)的設(shè)計(jì)周期,加快產(chǎn)品投放市場(chǎng)的速度,
24、提高產(chǎn)品的競(jìng)爭(zhēng)能力。 (6)增加系統(tǒng)的保密性能 很多PLD器件都具有加密功能,在系統(tǒng)中廣泛使用PLD期間可有效防止產(chǎn)品被他人非法仿制。 (7)降低成本 使用PLD器件實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì)時(shí),如果僅從器件本身的價(jià)格考慮,有時(shí)還看不出它的優(yōu)勢(shì),但影響系統(tǒng)成本的因素是很多方面,綜合考慮,使用PLD的成本優(yōu)越性是很明顯的。首先,使用PLD器件修改設(shè)計(jì)方便,設(shè)計(jì)周期縮短,使系統(tǒng)的研制開(kāi)發(fā)費(fèi)用降低;其次,使用PLD器件可使印刷線路板面積和需要的插件減少,從而使系統(tǒng)的制造費(fèi)用降低;再次,使用PLD器件能使系統(tǒng)的可靠性提高,維修工作量減少,進(jìn)而使系統(tǒng)的維修服務(wù)費(fèi)用降低??傊褂肞LD進(jìn)行系統(tǒng)設(shè)計(jì)能節(jié)約成
25、本。 1.1.3 可編程邏輯器件的一般設(shè)計(jì)流程 可編程邏輯器件的設(shè)計(jì)過(guò)程是利用EDA開(kāi)發(fā)軟件和編程工具對(duì)器件進(jìn)行開(kāi)發(fā)的過(guò)程。可編程邏輯器件的一般設(shè)計(jì)流程如圖1-1所示,包括設(shè)計(jì)準(zhǔn)備,設(shè)計(jì)輸入,功能仿真,設(shè)計(jì)處理,時(shí)序仿真和器件編程及測(cè)試等七個(gè)步驟。 圖1-1 可編程邏輯器件的一般設(shè)計(jì)流程 1.設(shè)計(jì)準(zhǔn)備 在系統(tǒng)設(shè)計(jì)之前,首先要進(jìn)行的是方案論證,系統(tǒng)設(shè)計(jì)和器件選擇等準(zhǔn)備工作。設(shè)計(jì)人員需要根據(jù)任務(wù)要求,如系統(tǒng)的功能和復(fù)雜度,對(duì)工作速度和器件本身的資源、成本及連線的可布性等方面進(jìn)行權(quán)衡,選擇合適的設(shè)計(jì)方案和合適的器件類型。一般采用自
26、頂向下的設(shè)計(jì)方法。 2.設(shè)計(jì)輸入 設(shè)計(jì)輸入是設(shè)計(jì)人員將所設(shè)計(jì)的系統(tǒng)或電路以開(kāi)發(fā)軟件要求的某種形式表示出來(lái),并送入計(jì)算機(jī)的過(guò)程。設(shè)計(jì)輸入通常有以下幾種形式: (1)原理圖輸入方式 (2)HDL(硬件描述語(yǔ)言)輸入方式 (3)波形輸入方式 1)原理圖輸入方式 原理圖輸入方式是一種最直接的設(shè)計(jì)描述方式,要設(shè)計(jì)什么,就從軟件系統(tǒng)提供的元件庫(kù)中調(diào)出來(lái),畫(huà)出原理圖。這種方式要求設(shè)計(jì)人員有豐富的電路知識(shí)及對(duì)PLD的結(jié)構(gòu)比較熟悉。其主要優(yōu)點(diǎn)是容易實(shí)現(xiàn)仿真,便于信號(hào)的觀察和電路的調(diào)整;缺點(diǎn)是效率低,特別是產(chǎn)品有所改動(dòng),需要選用另外一個(gè)公司的PLD器件時(shí),就需要重新輸入原理圖,而采用硬件描述語(yǔ)言輸
27、入方式就不存在這個(gè)問(wèn)題。 2)HDL(硬件描述語(yǔ)言)輸入方式 硬件描述語(yǔ)言是用文本方式描述設(shè)計(jì),它分為普通硬件描述語(yǔ)言和行為描述語(yǔ)言。普通硬件描述語(yǔ)言有ABEL、CUR和LFM等,它們支持邏輯方程。真值表、狀態(tài)機(jī)等邏輯表達(dá)方式,主要用于簡(jiǎn)單PLD的設(shè)計(jì)輸入。行為描述語(yǔ)言是目前常用的高層硬件描述語(yǔ)言,主要有VHDL和 Verilog HDL兩個(gè)IEEE標(biāo)準(zhǔn)。其突出優(yōu)點(diǎn)有:語(yǔ)言與工藝的無(wú)關(guān)性,可以使設(shè)計(jì)人員在系統(tǒng)設(shè)計(jì)、邏輯驗(yàn)證階段便確立方案的可行性;語(yǔ)言的公開(kāi)可利用性,便于實(shí)現(xiàn)大規(guī)模系統(tǒng)的設(shè)計(jì);具有很強(qiáng)的邏輯描述和仿真功能,而且輸入效率高,在不同的設(shè)計(jì)輸入庫(kù)之間的轉(zhuǎn)換非常方便,用不著對(duì)底層的
28、電路和PLD結(jié)構(gòu)的熟悉。 3)波形輸入方式 波形輸入方式主要是用來(lái)建立和編輯波形設(shè)計(jì)文件,以及輸入仿真向量和功能測(cè)試向量。 3.功能仿真 功能仿真在編譯之前對(duì)用戶所設(shè)計(jì)的電路進(jìn)行邏輯功能驗(yàn)證,此時(shí)的仿真沒(méi)有延時(shí)信息,僅對(duì)初步的功能進(jìn)行檢測(cè)。仿真前,要先利用波形編輯器和硬件描述語(yǔ)言等建立波形文件和測(cè)試向量(即將所關(guān)心的輸入信號(hào)組合成序列),仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中便可以觀察到各個(gè)節(jié)點(diǎn)的信號(hào)變化。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)輸入中修改邏輯設(shè)計(jì)。 4.設(shè)計(jì)處理 設(shè)計(jì)處理是器件設(shè)計(jì)中的核心環(huán)節(jié)。在設(shè)計(jì)處理過(guò)程中,編譯軟件將對(duì)設(shè)計(jì)輸入文件進(jìn)行邏輯化簡(jiǎn)、綜合優(yōu)化和適配,最后
29、產(chǎn)生編程用的編程文件。 (1)語(yǔ)法檢查和設(shè)計(jì)規(guī)則檢查 (2)邏輯優(yōu)化和綜合 (3)適配和分割 (4)布局和布線 5.時(shí)序仿真 時(shí)序仿真又稱后仿真或延時(shí)仿真。由于不同器件的內(nèi)部延時(shí)不一樣,不同的布局布線方案也給延時(shí)造成不同的影響,因此在設(shè)計(jì)處理以后,對(duì)系統(tǒng)和各模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)設(shè)計(jì)的性能,以及檢查和消除競(jìng)爭(zhēng)冒險(xiǎn)等是非常有必要的。實(shí)際上這也是與實(shí)際器件工作情況基本相同的仿真。 6.器件編程測(cè)試 時(shí)序仿真完成后,軟件就可產(chǎn)生供器件編程使用的數(shù)據(jù)文件。對(duì)EPLD/CPLD來(lái)說(shuō),是產(chǎn)生熔絲圖文件,即 JED文件。對(duì)于FPGA來(lái)說(shuō),是產(chǎn)生位流數(shù)據(jù)文件(Bitstre
30、am Generation),然后將編程數(shù)據(jù)放到對(duì)應(yīng)的具體可編程器件中去。 器件編程需要滿足一定的條件,如編程電壓、編程時(shí)序和編程算法等。普通的EPLD/CPLD器件和一次性編程的FPGA需要專用的編程器完成器件的編程工作?;赟RAM的FPGA可以由EPROM或其它存儲(chǔ)體進(jìn)行配置。在線可編程的PLD器件不需要專門的編程器,只要一根編程下載電纜就可以了。 器件在編程完畢后,可以用編譯時(shí)產(chǎn)生的文件對(duì)器件進(jìn)行校驗(yàn)、加密等工作。對(duì)于支持JTAG技術(shù),具有邊界掃描測(cè)試BST(Bandary-Scan Testing)能力和在線編程能力的器件來(lái)說(shuō),測(cè)試起來(lái)就更加方便。 1.1.4 現(xiàn)代數(shù)字系統(tǒng)的
31、設(shè)計(jì)方法 傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)一般是采用“自下而上”方法進(jìn)行,即由器件搭成電路板,由電路板搭成數(shù)字系統(tǒng)。系統(tǒng)常用的“積木塊”是固定功能的標(biāo)準(zhǔn)集成電路,如 74/54系列(TTL)、4000/4500系列(CMOS)芯片和一些固定功能的大規(guī)模集成電路。設(shè)計(jì)者根據(jù)需要選擇合適的器件,由器件組成電路板,最后完成系統(tǒng)設(shè)計(jì)。傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)只能對(duì)電路板進(jìn)行設(shè)計(jì),通過(guò)設(shè)計(jì)電路板來(lái)實(shí)現(xiàn)系統(tǒng)功能。 進(jìn)入到20世紀(jì)90年代以后, EDA(電子設(shè)計(jì)自動(dòng)化)技術(shù)的發(fā)展和普及給數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了革命性的變化。在器件方面,可編程邏輯器件飛速發(fā)展。利用EDA工具,采用可編程邏輯器件,正在成為數(shù)字系統(tǒng)設(shè)計(jì)的主流。 采
32、用可編程邏輯器件通過(guò)對(duì)器件內(nèi)部的設(shè)計(jì)來(lái)實(shí)現(xiàn)系統(tǒng)功能,是一種基于芯片的設(shè)計(jì)方法。設(shè)計(jì)者可以根據(jù)需要定義器件的內(nèi)部邏輯和管腳,將電路板設(shè)計(jì)的大部分工作放在芯片的設(shè)計(jì)中進(jìn)行,通過(guò)對(duì)芯片設(shè)計(jì)實(shí)現(xiàn)數(shù)字系統(tǒng)的邏輯功能。靈活的內(nèi)部功能塊組合、管腳定義等,可大大減輕電路設(shè)計(jì)和電路板設(shè)計(jì)的工作量和難度,有效地增強(qiáng)設(shè)計(jì)的靈活性,提高工作效率。同時(shí)采用可編程邏輯器件,設(shè)計(jì)人員在實(shí)驗(yàn)室可反復(fù)編程,修改錯(cuò)誤,以期盡快開(kāi)發(fā)產(chǎn)品,迅速占領(lǐng)市場(chǎng)。基于芯片的設(shè)計(jì)方法可以減少芯片的數(shù)量,縮小系統(tǒng)體積,降低能源消耗,提高系統(tǒng)的性能和可靠性。 采用可編程邏輯器件芯片和EDA軟件,在實(shí)驗(yàn)室里就可以完成數(shù)字系統(tǒng)的設(shè)計(jì)和生產(chǎn)??梢詫?shí)現(xiàn)
33、無(wú)芯片EDA公司,專業(yè)從事IP模塊生產(chǎn)。也可以實(shí)現(xiàn)無(wú)生產(chǎn)線集成電路設(shè)計(jì)公司的運(yùn)作。可以說(shuō),當(dāng)今的數(shù)字系統(tǒng)設(shè)計(jì)已經(jīng)離不開(kāi)可編程邏輯器件和EDA設(shè)計(jì)工具。 1.2 VHDL語(yǔ)言概述 1.2.1 VHDL語(yǔ)言介紹 VHDL的全名是very-high-speed integrated circuit hardware description language,誕生與1982年。1987年底VHDL被IEEE和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言。自IEEE發(fā)布了HDL標(biāo)準(zhǔn)版本后,各EDA公司相繼推出了自己的VHDL實(shí)際環(huán)境,或宣布自己的程序可以和VHDL接口。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的
34、接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。1993年,IEEE對(duì)VHDL進(jìn)行了修正,從更高的抽象層次和系統(tǒng)描述能力擴(kuò)展VHDL的內(nèi)容。現(xiàn)在,VHDL和VERILOG作為IEEE的工業(yè)硬件描述語(yǔ)言,又得到了眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言。 VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許
35、多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。 1.2.2語(yǔ)言特性、功能與特點(diǎn) 聯(lián)性的語(yǔ)法和形式雖類似與一般程序語(yǔ)言,但是涵蓋許多與硬件關(guān)聯(lián)的語(yǔ)法構(gòu)造。其特有的層次性——由上而下的結(jié)構(gòu)VHDL語(yǔ)言可描述一個(gè)數(shù)字電
36、路的輸入,輸出以及相互之間的行為和功能。而其硬件關(guān)式語(yǔ)法結(jié)構(gòu)適合大型設(shè)計(jì)項(xiàng)目的團(tuán)隊(duì)合作。在主要的系統(tǒng)結(jié)構(gòu),組件及相互間的連接方式?jīng)Q定以后,就能將工作分包下去,各自獨(dú)立進(jìn)行,例如使用主程序外的組件,函數(shù)以及程序內(nèi)的塊程序。 1.支持多種電路與多種設(shè)計(jì)方法 VHDL語(yǔ)言能夠支持自頂向下和基于庫(kù)的設(shè)計(jì)方法,支持組合邏輯電路,同步時(shí)序邏輯電路和異步時(shí)序邏輯電路等電路的設(shè)計(jì),大多數(shù)EDA工具都支持VHDL語(yǔ)言。 2.支持硬件電路的層次化描述 VHDL語(yǔ)言具有支持多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的行為功能(數(shù)學(xué)模型)直到門級(jí)電路逐層進(jìn)行描述。另外,高層次的行為描述可以與底層次的寄存器描述和
37、結(jié)構(gòu)描述混合使用。 3.能實(shí)現(xiàn)與工藝無(wú)關(guān)編程 采用VHDL語(yǔ)言設(shè)計(jì)硬件電路時(shí),當(dāng)門級(jí)或門級(jí)以上層次的描述通過(guò)仿真檢驗(yàn)以后,再用相應(yīng)的工具將設(shè)計(jì)映射成不同的工藝。在工藝更新時(shí)無(wú)須原設(shè)計(jì)程序,只需改變相應(yīng)的映射工具。由此可見(jiàn),修改電路和修改工藝相互之間不會(huì)產(chǎn)生影響。 4.易于共享和復(fù)用 作為IEEE標(biāo)準(zhǔn)的VHDL語(yǔ)言,語(yǔ)法嚴(yán)格,設(shè)計(jì)成果便于復(fù)用和交流。一個(gè)大規(guī)模的數(shù)字系統(tǒng)設(shè)計(jì)不可能從門級(jí)電路開(kāi)始逐步進(jìn)行設(shè)計(jì),而是一些模塊電路的有機(jī)疊加。這些模塊電路可以預(yù)先設(shè)計(jì)或者使用以前設(shè)計(jì)中的存檔模塊。這些模塊電路可以采用VHDL語(yǔ)言進(jìn)行描述且存放于庫(kù)中,便于在以后設(shè)計(jì)中復(fù)用。這樣可以減小數(shù)字系統(tǒng)設(shè)計(jì)的
38、工作量,縮短開(kāi)發(fā)周期。 1.2.3 TOP-DOWN的設(shè)計(jì)思想簡(jiǎn)介 自上而下的設(shè)計(jì)方法,就是從系統(tǒng)總體要求出發(fā),自上而下地逐步將設(shè)計(jì)美容細(xì)化,最后完成系統(tǒng)硬件的整體設(shè)計(jì),其從總體行為設(shè)計(jì)開(kāi)始到最終邏輯綜合,形成網(wǎng)絡(luò)表為止。在利用HDL的硬件設(shè)計(jì)方法中,設(shè)計(jì)者將自上而下分為三個(gè)層次對(duì)系統(tǒng)硬件進(jìn)行設(shè)計(jì)。 (1)第一層次是行為描述。所謂行為描述,實(shí)質(zhì)上就是對(duì)整個(gè)系統(tǒng)的數(shù)字模型的描述。一般來(lái)說(shuō),對(duì)系統(tǒng)進(jìn)行行為描述的目的是試圖在系統(tǒng)設(shè)計(jì)的初始階段,通過(guò)對(duì)系統(tǒng)行為描述的仿真來(lái)發(fā)現(xiàn)設(shè)計(jì)存在的問(wèn)題,并不真正考慮其實(shí)際的操作和算法用什么方法來(lái)實(shí)現(xiàn)。當(dāng)行為描述程序仿真通過(guò)之后,說(shuō)明模型是正確的,在此基
39、礎(chǔ)上再改寫該程序,使其語(yǔ)句表達(dá)式易于用邏輯元件來(lái)實(shí)現(xiàn),這是第二層所要做的工作。 (2)第二層次是RLT方式描述。這一層次稱為寄存器傳輸描述,有稱數(shù)據(jù)流描述。如前所述,用行為描述的系統(tǒng)結(jié)構(gòu)的程序,要想得到硬件的實(shí)現(xiàn),必須將行為方式描述的VHDL語(yǔ)言程序改寫為RLT方式描述的VHDL語(yǔ)言程序。也就是說(shuō),采用RLT描述,才能導(dǎo)出系統(tǒng)的邏輯表達(dá)式,才能進(jìn)行邏輯綜合。在完成編寫RLT方式的描述程序以后,再用仿真工具進(jìn)行仿真,如果通過(guò)這一步仿真,就可以利用邏輯綜合工具進(jìn)行綜合。 (3)第三層次是邏輯綜合。邏輯綜合這一階段是利用邏輯綜合工具,將RTL方式描述的程序轉(zhuǎn)換成用基本邏輯元件表示的文件。此
40、時(shí),如果需要,可以將邏輯綜合結(jié)果,以邏輯原理圖方式輸出。此后對(duì)邏輯綜合結(jié)果在門電路級(jí)上再進(jìn)行仿真,并檢查定時(shí)關(guān)系。如果一切正常,那么,系統(tǒng)的硬件設(shè)計(jì)就基本有邏輯綜合工具產(chǎn)生門級(jí)網(wǎng)絡(luò)表后,在最終完成硬件設(shè)計(jì)時(shí), 還可以有兩種選擇,第一種是由自動(dòng)布線程序?qū)⒕W(wǎng)絡(luò)表轉(zhuǎn)換成相應(yīng)的ASIC芯片的制造工藝,做出ASIC芯片。第二種是將網(wǎng) 絡(luò)表轉(zhuǎn)換成FPGA的變成碼點(diǎn),利用FPGA完成硬件電路設(shè)計(jì)。 規(guī)格設(shè)計(jì) 行為級(jí)描述 RLT及描述 邏輯綜合 門級(jí)仿真、定時(shí)檢查 輸出門級(jí)網(wǎng)表 圖1-2自上而下系統(tǒng)硬件的過(guò)程 1.3 Quartus II的介紹
41、1.3.1 Quartus II的產(chǎn)生與發(fā)展 Quartus Ⅱ是Altera公司提供的可編程邏輯器件的集成開(kāi)發(fā)軟件,是該公司前一代可編程邏輯器件的集成開(kāi)發(fā)軟件MAX+plus Ⅱ的更新?lián)Q代產(chǎn)品。Quartus Ⅱ集成開(kāi)發(fā)軟件支持可編程邏輯器件開(kāi)發(fā)的整個(gè)過(guò)程,它提供一種與器件結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、設(shè)計(jì)處理和器件編程。 Quartus Ⅱ集成開(kāi)發(fā)軟件適合多種平臺(tái)的工作環(huán)境,其中包括PC機(jī)的Microsoft Windows XP。它支持更多種類的可編程邏輯器件的開(kāi)發(fā),同時(shí)也提供在片可編程系統(tǒng)(System on a Programmable Chip,SOPC)設(shè)
42、計(jì)的綜合性環(huán)境和基本設(shè)計(jì)工具。另外,Quartus Ⅱ集成開(kāi)發(fā)軟件也可以利用第三方軟件的結(jié)果,并支持第三方軟件的工作。 為加快應(yīng)用系統(tǒng)的開(kāi)發(fā),Quartus Ⅱ集成開(kāi)發(fā)軟件提供更多的知識(shí)產(chǎn)權(quán)模塊(Intellectual Property,IP)。知識(shí)產(chǎn)權(quán)模塊(IP)是一些預(yù)先設(shè)計(jì)好的電路功能模塊,在設(shè)計(jì)中使用這些模塊不僅可以加快設(shè)計(jì)進(jìn)程,而且還可以提高系統(tǒng)性能。 Quartus Ⅱ集成開(kāi)發(fā)軟件的核心是模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis & Synthesis)、適配器(Fitter)、裝配器(Assembler)、時(shí)序分析器(Timing Analyze
43、r)、設(shè)計(jì)輔助模塊(Design Assistant)以及EDA網(wǎng)表文件生成器(EDA Netlist Writer)等??删幊踢壿嬈骷_(kāi)發(fā)的所有過(guò)程為:設(shè)計(jì)輸入、綜合、布局和布線、驗(yàn)證和仿真以及可編程邏輯器件的編程或配置。 Quartus Ⅱ集成開(kāi)發(fā)軟件允許用戶在開(kāi)發(fā)過(guò)程中使用Quartus Ⅱ圖形用戶界面、EDA工具界面和命令行界面。用戶可以在整個(gè)開(kāi)發(fā)過(guò)程中使用這些界面中的任意一個(gè),也可以在開(kāi)發(fā)過(guò)程中的不同步驟使用不同的界面。 1.3.2 Quartus II功能概論 作為一種電子設(shè)計(jì)自動(dòng)化(EDA)的工具,Quartus Ⅱ可編程邏輯器件的集成開(kāi)發(fā)軟件支持可編程邏輯器件開(kāi)發(fā)的全過(guò)程
44、。這個(gè)過(guò)程包括以下步驟:創(chuàng)建工程,工程用來(lái)組織整個(gè)可編程邏輯器件開(kāi)發(fā)的過(guò)程;設(shè)計(jì)輸入,本章介紹利用硬件描述語(yǔ)言通過(guò)文本編輯的方法完成電路設(shè)計(jì);設(shè)計(jì)編譯,把設(shè)計(jì)輸入轉(zhuǎn)換為支持可編程邏輯器件編程的文件格式;設(shè)計(jì)仿真,該步驟用來(lái)檢查設(shè)計(jì)是否滿足邏輯要求;器件編程,使得可編程邏輯具有所要求的邏輯功能。 1.3.3 Quartus II的應(yīng)用 (1)創(chuàng)建工程(Project) Quartus Ⅱ集成開(kāi)發(fā)軟件對(duì)設(shè)計(jì)過(guò)程的管理采用工程方式。工程(Project)保存著程序編輯的信息和程序調(diào)試的環(huán)境等內(nèi)容。在開(kāi)始編寫程序之前首先應(yīng)該建立一個(gè)工程。新建一個(gè)工程之前通常還需要建立一個(gè)文件夾,后面產(chǎn)生的工程文
45、件以及源程序文件等都將存儲(chǔ)在這個(gè)文件夾之中。這個(gè)文件夾通常被EDA軟件默認(rèn)為工作庫(kù)(Work Library),不同的工程最好放在不同的文件夾中,同一工程的所有文件都必須放在同一文件夾中。 在圖2.4所示的Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口,利用菜單“File → New Project Wizard”創(chuàng)建工程向?qū)Э梢詭椭脩魟?chuàng)建一個(gè)新的工程。創(chuàng)建工程時(shí)首先出現(xiàn)新工程向?qū)Ы榻B,如圖1-3所示。 圖1-3 新工程向?qū)Ы榻B 新工程向?qū)椭脩糁付üこ堂凸こ涛募淮鎯?chǔ)的目錄,指定頂層文件的名稱,指定工程中需要用到的設(shè)計(jì)文件、其它可以借用的源文件、用戶庫(kù),指定具體使用的可編程邏輯器件
46、的系列和型號(hào)。 在圖1-3中單擊“Next”按鈕可以打開(kāi)指定工程文件被存儲(chǔ)的位置,指定頂層文件名,指定工程名稱對(duì)話框,對(duì)話框如圖1-4所示。 在圖1-4所示的第一個(gè)文本輸入行,文件夾對(duì)話框,輸入包含完全路徑的工程文件將被存儲(chǔ)的文件夾名稱,或者使用瀏覽按鈕“...”找出這個(gè)文件夾。在第二個(gè)文本行,頂層文件名稱對(duì)話框,應(yīng)該輸入頂層文件的名稱,這個(gè)對(duì)話框后面的瀏覽按鈕“...”用于找出已經(jīng)存在,這里還將使用的頂層文件。在第三個(gè)文本行,工程文件名稱對(duì)話框,應(yīng)該輸入工程文件的名稱,這個(gè)對(duì)話框后面的瀏覽按鈕“...”用于找出已經(jīng)存在,這里還將使用的工程文件。建議文件夾的名稱、頂層文件的名稱以及工程文件
47、的名稱選擇同樣的名稱,以免產(chǎn)生不必要的麻煩。 圖1-4 新工程目錄和文件名稱對(duì)話框 初學(xué)者可以利用下面簡(jiǎn)便的方法完成新工程目錄和文件名稱對(duì)話框內(nèi)容的輸入。首先單擊第一個(gè)文本行,文件夾對(duì)話框,后面瀏覽按鈕“...”找到已經(jīng)為工程建立的文件夾并將其打開(kāi)。這時(shí)的文件夾是一個(gè)空的文件夾,再次單擊“打開(kāi)”按鈕將獲得如圖1-4所示的狀態(tài),即完成新工程目錄和文件名稱對(duì)話框內(nèi)容的輸入。一直單擊“Next”按鈕將顯示如圖1-5所示。單擊“Finish”按鈕完成工程的創(chuàng)建。 圖1-5新工程設(shè)置框圖 隨著工程的建立,Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口也發(fā)生變化,如圖1-6所示。右上方的工程導(dǎo)
48、航窗口(Project Navigator)中出現(xiàn)工程標(biāo)志。工程導(dǎo)航窗口具有三個(gè)可以互相切換的標(biāo)簽:Hierarchy、Files和Design Units。Hierarchy標(biāo)簽提供工程使用的可編程邏輯芯片邏輯單元、寄存器以及存儲(chǔ)器資源的使用信息。 圖1-6 Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口 選擇菜單“File → Save Project”可以存儲(chǔ)當(dāng)前的工程,該工程應(yīng)該被存儲(chǔ)在圖1-6所示的目錄對(duì)話框中輸入的工程文件被存儲(chǔ)的目錄。選擇菜單“File → Close Project”將關(guān)閉當(dāng)前的工程。 再次打開(kāi)一個(gè)存在的工程可以通過(guò)選擇菜單“File → Open Pro
49、ject...”來(lái)實(shí)現(xiàn)。選擇這個(gè)菜單使得打開(kāi)工程的對(duì)話框出現(xiàn),如圖1-6所示,在下拉列表框“查找范圍(I)”中選擇將要打開(kāi)的工程被存儲(chǔ)的文件夾名,列表框中將出現(xiàn)該文件夾中的所有工程,選擇將要打開(kāi)的工程,單擊“打開(kāi)(O)”按鈕即可打開(kāi)一個(gè)存在的工程。 (2)設(shè)計(jì)的輸入 在Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口使用菜單“File → New...”可以打開(kāi)如圖1-7所示的新建文件選擇窗口。 圖1-7 新建設(shè)計(jì)文件選擇窗口 新建文件選擇窗口的“Device Design Files”標(biāo)簽顯示了5種設(shè)計(jì)輸入方法?!癇lock Diagram/Schema
50、tic File”為圖形輸入方式,它利用電路結(jié)構(gòu)圖和原理圖來(lái)輸入設(shè)計(jì)信息?!癊DIF File”支持EDIF網(wǎng)表編輯器產(chǎn)生的網(wǎng)表文件的輸入?!癆HDL File”、“Verilog HDL File”和“VHDL File”都是文本輸入方法,它們支持不同的硬件描述語(yǔ)言。 原理圖輸入方法是一種類似于傳統(tǒng)電子設(shè)計(jì)中繪制電路圖的輸入方式。原理圖由邏輯器件和連線構(gòu)成,邏輯器件可以是軟件庫(kù)中的功能模塊,也可以是用戶生成的功能模塊。原理圖輸入方法的缺點(diǎn)是設(shè)計(jì)者必須面對(duì)硬件模塊的選用,這明顯地偏離了電子設(shè)計(jì)自動(dòng)化本質(zhì)的涵義。硬件描述語(yǔ)言具有行為描述的特點(diǎn),同時(shí)改變?cè)O(shè)計(jì)比采用電路圖描述更加方便,本節(jié)將介紹利
51、用“VHDL File”輸入設(shè)計(jì)信息。完成選擇以后,單擊“OK”按鈕將打開(kāi)一個(gè)文本編輯窗口,如圖1-8所示。 圖1-8文本編輯窗口 文本編輯窗口輸入上述程序之后,利用菜單“File → Save As...”可以完成程序的第一次存儲(chǔ)。注意,程序必須被存儲(chǔ)在文件夾JTD之內(nèi),文件名也為JTD,擴(kuò)展名采用vhd。如果對(duì)VHDL程序進(jìn)行了修改,再次存儲(chǔ)文件則可以利用菜單“File → Save”來(lái)實(shí)現(xiàn)。接著要做的是把程序JTD.vhd加入工程,這可以利用菜單“Project → Add Current File to Project”完成。程序JTD.vhd加入工程之后,
52、在工程導(dǎo)航窗口的Files標(biāo)簽中可以看到JTD.vhd被加入到“Device Design Files”文件夾之中。 (3)設(shè)計(jì)的編譯 使用硬件描述語(yǔ)言這樣的抽象工具進(jìn)行系統(tǒng)設(shè)計(jì)可以使設(shè)計(jì)者集中精力于系統(tǒng)的功能的實(shí)現(xiàn),而不必關(guān)心具體的電路結(jié)構(gòu)。要把利用硬件描述語(yǔ)言完成的設(shè)計(jì)轉(zhuǎn)換成可以對(duì)可編程邏輯器件進(jìn)行編程的文件必須進(jìn)行編譯,這個(gè)過(guò)程也被稱作為綜合。它類似于用高級(jí)語(yǔ)言編程,然后再用編譯器將高級(jí)語(yǔ)言程序轉(zhuǎn)換成機(jī)器代碼的過(guò)程。 盡管從表面上看,硬件描述語(yǔ)言和其它高級(jí)語(yǔ)言的編譯過(guò)程都是一種描述方法的轉(zhuǎn)換過(guò)程,但是它們之間還是具有許多本質(zhì)性的區(qū)別。高級(jí)語(yǔ)言編譯產(chǎn)生的機(jī)器代碼對(duì)應(yīng)于某種特定的CPU
53、,脫離了特定的硬件環(huán)境,機(jī)器代碼將失去意義。機(jī)器代碼不代表硬件結(jié)構(gòu),更不能改變硬件結(jié)構(gòu)。編譯的過(guò)程不需要與硬件相關(guān)的器件庫(kù)和工藝庫(kù)的參與,基本屬于一種一一對(duì)應(yīng)的“翻譯”過(guò)程。 硬件描述語(yǔ)言編譯將產(chǎn)生描述電路結(jié)構(gòu)的網(wǎng)表文件,網(wǎng)表文件不依賴于任何特定硬件結(jié)構(gòu),可以輕易地被移植到任意通用硬件環(huán)境中,例如各種CPLD或者FPGA芯片。另外,在把硬件描述語(yǔ)言表達(dá)的電路功能轉(zhuǎn)換成表達(dá)電路具體結(jié)構(gòu)的網(wǎng)表文件的過(guò)程中,它不是機(jī)械的一一對(duì)應(yīng)的“翻譯”過(guò)程,還必須根據(jù)設(shè)計(jì)庫(kù)、工藝庫(kù)以及預(yù)先設(shè)置的各類約束條件,選擇最優(yōu)的方式完成電路結(jié)構(gòu)的形成。 Quartus Ⅱ集成開(kāi)發(fā)軟件的編譯器包括多個(gè)獨(dú)立的模塊,各個(gè)模塊
54、可以單獨(dú)運(yùn)行,也可以啟動(dòng)全編譯過(guò)程。在Quartus Ⅱ集成開(kāi)發(fā)軟件工作窗口中,工程的編譯即可以通過(guò)“Tools”菜單進(jìn)行,也可以通過(guò)“Processing” 菜單進(jìn)行。 使用菜單“Tools → Compiler Tool ”可以打開(kāi)編譯器窗口,如圖1-9所示,編譯器窗口顯示出了編譯器的所有模塊。按每個(gè)模塊中的按鈕可以逐步完成編譯過(guò)程,這時(shí)進(jìn)程表將顯示工作進(jìn)度,工作完成之后將顯示出花費(fèi)的時(shí)間和是否出現(xiàn)錯(cuò)誤。每一步完成以后都可以通過(guò)按右下角“Report”按鈕打開(kāi)編譯報(bào)告。按左下角“Start”按鈕可以啟動(dòng)全編譯過(guò)程。 參考下圖P96F251標(biāo)出按鈕說(shuō)明 圖1-9 Quartus
55、Ⅱ集成開(kāi)發(fā)軟件的編譯器窗口 使用“Processing”菜單也包括單獨(dú)執(zhí)行每個(gè)模塊逐步完成編譯過(guò)程和啟動(dòng)全編譯過(guò)程。使用菜單“Processing → Start → ”可以單獨(dú)執(zhí)行每個(gè)模塊逐步完成編譯過(guò)程,這時(shí)也應(yīng)該遵循表2.3列出的執(zhí)行順序。使用菜單“Processing → Start Compilation”可以啟動(dòng)全編譯過(guò)程。 圖1-10 Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口 啟動(dòng)全編譯過(guò)程之后,如圖1-10所示Quartus Ⅱ集成開(kāi)發(fā)軟件工作窗口左邊中間的狀態(tài)窗口將顯示編譯的進(jìn)度,下面的信息窗口在編譯的過(guò)程中不斷顯示編譯信息。編譯過(guò)程結(jié)束以后,窗口將顯示編譯是否成功
56、,是否有錯(cuò)誤信息,是否有警告信息。如果有錯(cuò)誤,編譯將不會(huì)成功;對(duì)于初學(xué)者,警告信息可以不去關(guān)注,它對(duì)后面的仿真以及器件的編程影響不大。 (4)設(shè)計(jì)的功能仿真 完成了設(shè)計(jì)的輸入和編譯,還需要利用仿真工具對(duì)設(shè)計(jì)進(jìn)行仿真,因?yàn)榫幾g過(guò)程只檢查了設(shè)計(jì)是否具有規(guī)則錯(cuò)誤和所選擇器件的資源是否滿足設(shè)計(jì)要求,并沒(méi)有檢查設(shè)計(jì)要求的功能是否滿足。仿真的過(guò)程就是讓計(jì)算機(jī)根據(jù)一定的算法和一定的仿真庫(kù)對(duì)設(shè)計(jì)進(jìn)行模擬,以驗(yàn)證設(shè)計(jì)和排除錯(cuò)誤。 Quartus Ⅱ集成開(kāi)發(fā)軟件提供系統(tǒng)功能仿真工具和時(shí)序仿真工具。利用功能仿真工具,設(shè)計(jì)者能對(duì)設(shè)計(jì)進(jìn)行全面測(cè)試,保證設(shè)計(jì)在所有可能的情況下都具有正確的響應(yīng);利用時(shí)序仿真工具,設(shè)計(jì)
57、者可以測(cè)試所選用的器件是否滿足系統(tǒng)工作速度的要求。本節(jié)只涉及功能仿真。 1)創(chuàng)建仿真波形文件 在進(jìn)行系統(tǒng)功能仿真之前,需要?jiǎng)?chuàng)建仿真波形文件,也叫矢量波形文件(.vwf),該文件以波形圖的形式描述系統(tǒng)在仿真輸入信號(hào)的作用下產(chǎn)生的系統(tǒng)輸出仿真信號(hào)。在Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口使用菜單“File → New...”可以打開(kāi)如圖1-11所示的新建文件選擇窗口。 圖1-11 新建設(shè)計(jì)文件選擇窗口 在新建文件選擇窗口中選擇“Other Files”標(biāo)簽,再選擇“Vector Waveform File”,然后單擊“OK”按鈕將打開(kāi)波形編輯器窗口。 在Quartus Ⅱ集成開(kāi)發(fā)
58、軟件的工作窗口使用菜單“File → Save As...”可以打開(kāi)“保存為”對(duì)話框。這個(gè)對(duì)話框自動(dòng)給出文件存儲(chǔ)的文件夾、文件名和文件類型,只要單擊“保存(S)”按鈕就完成矢量波形文件的保存,這時(shí)的波形編輯器窗口如圖1-12所示。需要注意的是在“保存為”對(duì)話框中要選中“Add file to current project”復(fù)選框,使得這個(gè)文件加入到當(dāng)前的工程之中。 圖1-12 波形編輯器窗口 圖1-12所示波形編輯器的內(nèi)容目前還是空的,在進(jìn)行系統(tǒng)功能仿真之前需要加入系統(tǒng)的輸入節(jié)點(diǎn)和希望檢查的輸出節(jié)點(diǎn)。在圖1-12所示的波形編輯器窗口“Name”列的空白處單擊鼠標(biāo)右鍵,在彈出的菜單中
59、選擇“Insert Node or Bus”可以打開(kāi)“Insert Node or Bus”對(duì)話框,在這個(gè)對(duì)話框中單擊“Node Finder”按鈕可以打開(kāi)“Node Finder”窗口,如圖1-13所示。 圖1-13加入接點(diǎn)對(duì)話框 圖1-13中下拉菜單“Filter”現(xiàn)在為“Pins:all”,單擊“List”按鈕可以在左側(cè)“Nodes Found”欄列出所有的輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn),選擇希望觀察的節(jié)點(diǎn),使用“≥”按鈕可以將該節(jié)點(diǎn)送入右側(cè)的“Selected Nodes”欄。如果希望觀察所有的節(jié)點(diǎn),可以使用“>>”按鈕。下面的兩個(gè)反方向按鈕可以用來(lái)取消已經(jīng)選擇的觀察節(jié)點(diǎn)。 利用下拉菜單
60、“Filter”還可以選擇其它類型的節(jié)點(diǎn),例如選擇“Registers:pre-synthesis”,單擊“List”按鈕可以列出信號(hào)“aqi”。采用同樣的方法,也可以使這樣的中間信號(hào)被觀察,使得系統(tǒng)的功能驗(yàn)證和錯(cuò)誤排除更加方便。 完成希望觀察節(jié)點(diǎn)的選擇,在圖1-13中單擊“OK”按鈕,“Insert Node or Bus”對(duì)話框再次出現(xiàn),單擊對(duì)話框的“OK”按鈕,波形編輯器出現(xiàn)希望觀察的節(jié)點(diǎn),如圖2.21所示。這時(shí)輸入信號(hào)沒(méi)有加入,中間信號(hào)和輸出信號(hào)的內(nèi)容為不定。 圖1-14 波形編輯器窗口 在Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口使用菜單“View → Utility Win
61、dows → Node Finder”也可以在波形編輯器窗口加入希望觀察的節(jié)點(diǎn)。這時(shí)在“Node Finder”列出的節(jié)點(diǎn)中選擇要加入波形編輯器的節(jié)點(diǎn),然后按住鼠標(biāo)左鍵,拖動(dòng)到波形編輯器的“Name”列的空白處放開(kāi)即可。 如果系統(tǒng)的輸入信號(hào)為周期性的時(shí)鐘信號(hào),可以在它的名稱左邊的標(biāo)志上點(diǎn)擊鼠標(biāo)右鍵,從彈出的菜單中選擇“Value → Clock...”打開(kāi)時(shí)鐘信號(hào)設(shè)置對(duì)話框,如圖1-15所示。 圖1-15 時(shí)鐘信號(hào)設(shè)置對(duì)話框 圖1-15中時(shí)鐘周期設(shè)置為10ns,如果僅用來(lái)檢查系統(tǒng)輸出邏輯是否滿足要求,這沒(méi)有什么影響。當(dāng)然你也可以設(shè)置周期為1s,不過(guò)這時(shí)需要更改仿真
62、結(jié)束時(shí)間,默認(rèn)的仿真結(jié)束時(shí)間為1us。在Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口選擇菜單“Edit → End Time”可以打開(kāi)結(jié)束時(shí)間對(duì)話框,利用這個(gè)對(duì)話框可以改變仿真結(jié)束時(shí)間。需要注意,有時(shí)當(dāng)仿真結(jié)束時(shí)間太長(zhǎng)可能使得開(kāi)發(fā)軟件的工作不正常。 2)設(shè)計(jì)的功能仿真 Quartus Ⅱ集成開(kāi)發(fā)軟件提供系統(tǒng)功能仿真工具和時(shí)序仿真工具,因此在仿真之前需要對(duì)仿真器進(jìn)行設(shè)置。在Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口使用菜單“Assignments → Settings...”可以打開(kāi)“Settings”對(duì)話框,在對(duì)話框的“Category”列表中選擇“Simulator”選項(xiàng)就可以打開(kāi)仿真器設(shè)置對(duì)
63、話框,如圖1-16所示。 圖1-16 仿真器設(shè)置對(duì)話框 在仿真器設(shè)置對(duì)話框中,“Simulation”下拉菜單用來(lái)選擇仿真類型,由于要進(jìn)行設(shè)計(jì)的功能仿真,所以選擇“Functional”。“Simulation”文本框用來(lái)輸入包括目錄的仿真波形文件。對(duì)話框中的其它選項(xiàng)采用默認(rèn)值。 完成仿真器的設(shè)置以后,在Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口使用菜單“Processing → Start Simulation”就可以啟動(dòng)仿真器。 上述的仿真器設(shè)置和啟動(dòng)也可以在Quartus Ⅱ集成開(kāi)發(fā)軟件的工作窗口使用“Tools”菜單實(shí)現(xiàn)。選擇“Tools → Simulator Tool”可
64、以打開(kāi)“Simulator Tool”對(duì)話框,在這個(gè)對(duì)話框既可以實(shí)現(xiàn)仿真器的設(shè)置,也可以啟動(dòng)仿真器。 在仿真過(guò)程中,仿真器報(bào)告窗口自動(dòng)打開(kāi)。設(shè)計(jì)仿真結(jié)束之后,各種仿真報(bào)告可以通過(guò)仿真器報(bào)告窗口左邊的文件夾來(lái)打開(kāi),圖1-17顯示了文件夾中的仿真波形“Simulation Waveforms”。 圖1-17 仿真報(bào)告窗口 仿真波形就是利用圖形來(lái)描述電路輸入和輸出之間的關(guān)系,即數(shù)字電路中的描述方法中的時(shí)序圖。利用仿真波形可以直觀地檢查設(shè)計(jì)輸出是否滿足要求。如果不滿足要求,根據(jù)出現(xiàn)的現(xiàn)象,分析出具體原因再予以克服。 仿真報(bào)告窗口中的信號(hào)aqi的數(shù)據(jù)類型為整數(shù),這里使用二進(jìn)制格式進(jìn)行顯示。
65、數(shù)據(jù)顯示格式具有多種,用鼠標(biāo)右鍵點(diǎn)擊在圖1-17顯示的仿真波形“Simulation Waveforms”最左邊的對(duì)應(yīng)信號(hào)aqi的標(biāo)志可以打開(kāi)快捷菜單,選擇其中的“Properties”可以打開(kāi)如圖1-18所示的對(duì)話框。利用對(duì)話框的“Radix”下拉菜單,從菜單中可以更改顯示數(shù)據(jù)的數(shù)制。 圖1-18 觀察節(jié)點(diǎn)特性對(duì)話框 當(dāng)輸出滿足要求,這時(shí)就可以向可編程邏輯器件下載,即對(duì)器件進(jìn)行編程。器件的編程需要硬件電路的相關(guān)知識(shí)。 2 HDB3碼介紹 2.1 數(shù)字基帶信號(hào) 數(shù)字基帶信號(hào)的傳輸是數(shù)字通信系統(tǒng)的重要
66、組成部分之一。在數(shù)字通信中,有些場(chǎng)合可不經(jīng)過(guò)載波調(diào)制和解調(diào)過(guò)程,而對(duì)基帶信號(hào)進(jìn)行直接傳輸。為使基帶信號(hào)能適合在基帶信道中傳輸,通常要經(jīng)過(guò)基帶信號(hào)變化,這種變化過(guò)程事實(shí)上就是編碼過(guò)程。于是,出現(xiàn)了各種各樣常用碼型。不同碼型有不同的特點(diǎn)和不同的用途。 作為傳輸用的基帶信號(hào)歸納起來(lái)有如下要求:1 希望將原始信息符號(hào)編制成適合與傳輸用的碼型;2 對(duì)所選碼型的電波形,希望它適宜在信道中傳輸。可進(jìn)行基帶傳輸?shù)拇a型較多。 1、 AMI碼 AMI碼稱為傳號(hào)交替反轉(zhuǎn)碼。其編碼規(guī)則為代碼中的0仍為傳輸碼0,而把代碼中1交替地變化為傳輸碼的+1-1+1-1,、、、。 舉例如下。 消息代碼:0 1 1 1 0 0 1 0 、、、 AMI 碼:0 +1 -1 +1 0 0 -1 0 、、、或 0 -1 +1 -1 0 0 +1 0 、、、 AMI碼的特點(diǎn): (1) 無(wú)直流成分且低頻成分很小,因而在信道傳輸中不易造成信號(hào)失真。 (2) 編碼電路簡(jiǎn)單
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第7課時(shí)圖形的位置練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第1課時(shí)圖形的認(rèn)識(shí)與測(cè)量1平面圖形的認(rèn)識(shí)練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時(shí)比和比例2作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)4比例1比例的意義和基本性質(zhì)第3課時(shí)解比例練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第7課時(shí)圓柱的體積3作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)1負(fù)數(shù)第1課時(shí)負(fù)數(shù)的初步認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末豐收?qǐng)@作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十二課件新人教版
- 標(biāo)準(zhǔn)工時(shí)講義
- 2021年一年級(jí)語(yǔ)文上冊(cè)第六單元知識(shí)要點(diǎn)習(xí)題課件新人教版
- 2022春一年級(jí)語(yǔ)文下冊(cè)課文5識(shí)字測(cè)評(píng)習(xí)題課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時(shí)數(shù)學(xué)思考1練習(xí)課件新人教版