【正文】
BCD七段數(shù)碼管顯示輸入音階和顯示高低音。 關(guān)鍵詞 : 電子琴, FPGA, EDA, VHDL 隆?。夯?CPLD/FPGA的簡(jiǎn)易電子琴設(shè)計(jì) II Abstract The logic function of Complex programmable logic device (Complex Programmable Logic Device, CPLD) can be defined according to different need. With programming flexibility, high integration, design and development cycle short, wide scope of application, adwanced development tools, design and manufacture of low cost, the experience of the designers of the hardware requirements of low, standard products without testing, confidentiality, and popular features such as price, can achieve largescale circuit design,so it is widely used in product design. In this paper, the principle on the scale that occurred, the pitch and tempo control methods on the basis of pleted based on CPLD / FPGA electronic an design, VHDL and schematic diagram using a bination of methods, to achieve a simple 16note an tune G of related functional modules and the overall circuit design and simulation. System by key scanning circuit KEYSCAN, numbered musical notation notes have a lookup table circuit TONE ROM, and decoding SPEAKER pronunciation module and display DISPLAY circuit posed of four modules. The primary function of the realization of electronic an is a keyboard input matrix corresponding to scale 16 of the information, and then sounds through the speakers, and BCDSevenSegment LED display and display high input scale bass. MAX + PLUS II program runs as a platform for the development of procedures by running through the debugging, waveform simulation, the initial realization of the design objectives. Keywords: Electronic Organ,FPGA,EDA,VHDL2020 屆 電氣工程與自動(dòng)化畢業(yè)設(shè)計(jì) (論文) 1 第一章 緒 論 本設(shè)計(jì)的研究背景和研究目的 幾十年來(lái),數(shù)字集成電路得到了飛速發(fā)展和廣泛應(yīng)用。集成電路的發(fā)展經(jīng)歷了以下幾個(gè)過程:小規(guī)模集成電路 (SIC,幾十~幾百門 )、中規(guī)模集成電路 (MSIC,幾百~幾千門 )、大規(guī)模集成電路 (LSIC,幾千~幾萬(wàn)門 )、超大規(guī)模集成電路 (VLSI,幾萬(wàn)門以上 )。早期,系統(tǒng)工程師利用半導(dǎo)體廠商提供的通用、專用集成電路在更高的層次上完成數(shù)字系統(tǒng)的搭接。 但是 ASIC 設(shè)計(jì)周期比較長(zhǎng),而且一旦完成,不能改動(dòng),于是可編程邏輯器件 (Programmable Logic Device,PLD)這種設(shè)計(jì)方便、使用靈活的產(chǎn)品便應(yīng)運(yùn)而生,并獲得了廣泛的應(yīng)用。它們廣泛的應(yīng)用于通信、電子、自動(dòng)化等各個(gè)領(lǐng)域。由于任意一個(gè)組合邏輯都可以用“與或”表達(dá)式來(lái)描述,所以 GAL 通過乘積和的形式可以完成大量的組合邏輯功能,它采用 PROM 或 CMOS 工藝,實(shí)現(xiàn)了電可擦除電可改寫等功能, 因此 GAL 具有很強(qiáng)的靈活性。 GAL 和其他早期的 PLD 器件的主要缺點(diǎn)是結(jié)構(gòu)簡(jiǎn) 單,只能實(shí)現(xiàn)規(guī)模較小的電路。這些產(chǎn)品可以實(shí)現(xiàn)較大規(guī)模的邏輯電路,編程也很靈活。生產(chǎn) PLD 的廠商很多,其中最具代表性和最有影響力的是 Xilinx隆健:基于 CPLD/FPGA的簡(jiǎn)易電子琴設(shè)計(jì) 2 公司和 Altera 公司,它們都有廣泛全面的產(chǎn)品線,可以滿足不同設(shè)計(jì)層次的要求;都有相當(dāng)高的市場(chǎng)占有率和相當(dāng)多的用戶;開發(fā)工具的支持也非常完備。 ASIC 和 PLD 相比具有以下缺點(diǎn):不可更改, ASIC 設(shè)計(jì)只能進(jìn)行一次編程,設(shè)計(jì)費(fèi)用昂貴,一旦 ASIC 設(shè)計(jì)完成,就不能更改,所以 ASIC 設(shè)計(jì)不具有 PLD 設(shè)計(jì)的在線升級(jí)等功能;設(shè)計(jì)復(fù)雜、周期長(zhǎng), ASIC 的設(shè) 計(jì)不僅要像 PLD 的設(shè)計(jì)進(jìn)行邏輯驗(yàn)證、時(shí)序分析等工作,還要進(jìn)行版圖、位置和互連線設(shè)計(jì),同時(shí)由于 ASIC 設(shè)計(jì)的不可更改性,需要大量高可靠性的驗(yàn)證,因此 ASIC 的設(shè)計(jì)周期要遠(yuǎn)遠(yuǎn)大于 PLD 的設(shè)計(jì)周期;啟動(dòng)的成本大,做一個(gè) ASIC 設(shè)計(jì)至少需要幾萬(wàn)片的量級(jí),而 PLD 不存在這個(gè)問題。隨著產(chǎn)品復(fù)雜度越來(lái)越高以及上市時(shí)間要求越來(lái)越短,產(chǎn)品的生命周期也越來(lái)越短,產(chǎn)品更新?lián)Q代的速度加快,而 PLD 的成本卻越來(lái)越低, PLD 必將蠶食掉 ASIC 很大的一部分市場(chǎng)。 當(dāng)前市場(chǎng)上的電子琴價(jià)格較昂貴,且產(chǎn)品升級(jí)換代必須更新大部分的硬件,影響了產(chǎn)品的推廣和適應(yīng)市場(chǎng)的能力。 CPLD/FPGA 技術(shù)的出現(xiàn)及迅速發(fā)展,為利用軟件實(shí)現(xiàn)較大規(guī)模的數(shù)字電路設(shè)計(jì)提供了方便,降低了數(shù)字電路的設(shè)計(jì)周期和相關(guān)產(chǎn)品的成本。本文通過對(duì)一個(gè)簡(jiǎn)易的 G 調(diào)16 音符電子琴的設(shè)計(jì),進(jìn)一步加深對(duì)集成電路設(shè)計(jì)以及數(shù)字電路應(yīng)用技術(shù)方面的了解與認(rèn)識(shí),熟悉大規(guī)模數(shù)字電路系統(tǒng)設(shè)計(jì)、制作與調(diào)試的方法和步驟。 因此研究研究基于 CPLD/FPGA 簡(jiǎn)易電子琴的設(shè)計(jì)方法具有重要的理論和現(xiàn)實(shí)意義。盡管這種方案有單片機(jī)軟件的支持較為靈活,但是由于受硬件資源的限制,未來(lái)對(duì)設(shè)計(jì)的變更和升級(jí),總是難以避免要付出較多研發(fā)經(jīng)費(fèi)和較長(zhǎng)投放市場(chǎng)周期的代價(jià)。 本課題的主要工作是通過對(duì)鍵盤,數(shù)控分頻,奇數(shù)分頻,顯示器以及對(duì) 數(shù)字信號(hào)處理等的設(shè)計(jì),利用鍵盤信號(hào),對(duì)音響的輸出進(jìn)行控制,同時(shí)同步的將所彈奏音樂的簡(jiǎn)譜信息顯示在顯示器上,從而在這些模塊的基礎(chǔ)之上構(gòu)成基于 CPLD/FPGA 的簡(jiǎn)易電子琴。在 EDA 工具軟件MAX+PLUS II 的支持下,本文所有的軟件通過了編譯、調(diào)式和波形仿真。并且每一個(gè)模塊都在這個(gè) 軟件下進(jìn)行了仿真。最好將程序下載到制好的電路上驗(yàn)證。 與設(shè)計(jì)相關(guān)的音樂知識(shí) 所謂簡(jiǎn)譜,是指一種簡(jiǎn)易的記譜法。一般所稱的 科譜,系指數(shù)字簡(jiǎn)譜。每一個(gè)數(shù)字的時(shí)值名相當(dāng)于五線譜的 4 分音符。表示聲音休止的符隆?。夯?CPLD/FPGA的簡(jiǎn)易電子琴設(shè)計(jì) 4 號(hào)叫休止符,用“ 0”標(biāo)記。休止符與音符基本相同,也有六種。 音的高低:任何一首曲子都是高低相間的音組成的,從鋼琴上直觀看就是越往左面的鍵盤音越低,越往右面的鍵盤音越高。 2020 屆 電氣工程與自動(dòng)化畢業(yè)設(shè)計(jì) (論文) 5 第二章 開發(fā)工具以及硬件 FPGA 器件簡(jiǎn)介 EDA 技術(shù) EDA 是電子設(shè)計(jì)自動(dòng)化( Electronic Design Automation)縮寫, 是 90 年代初從 CAD(計(jì)算機(jī)輔助設(shè)計(jì))、 CAM(計(jì)算機(jī)輔助制造)、 CAT(計(jì)算機(jī)輔助測(cè)試)和 CAE(計(jì)算機(jī)輔助工程)的概念發(fā)展而來(lái)的。典型的 EDA 工具中必須包含兩個(gè)特殊的軟件包,即綜合器和適配器。綜合器在工作前,必須給定所要實(shí)現(xiàn)的硬件結(jié)構(gòu)參數(shù),它的功能就是將軟件描述與給定的硬件結(jié)構(gòu) 用一定 的方式聯(lián)系起來(lái)。 綜合過程就是將電路的高級(jí)語(yǔ)言描述轉(zhuǎn)換 成 低級(jí)的、可與目標(biāo)器件 FPGA/CPLD 相映射的網(wǎng)表文件。適配 器 所選定的目標(biāo)器件( FPGA/CPLD 芯片)必須屬于在綜合器中已指定的目標(biāo)器件系列。HDL 語(yǔ)言使用與設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語(yǔ)言,它能描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和 連接方式。目前,就 FPGA/CPLD 開發(fā)來(lái)說,比較常用和流行的 HDL 主要有 ABELHDL、 AHDL和 VHDL。 1987 年底, VHDL 被 IEEE 和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言 。此后 VHDL 在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。 現(xiàn)在, VHDL 和 Verilog 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,又得到眾多 EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言。 VHDL 主要用于描述數(shù) 字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。 VHDL 的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分 ,及端口 )和內(nèi)部(或 稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是 VHDL 系統(tǒng)設(shè)計(jì)的基本點(diǎn)。 (1) 與其他的硬件描述語(yǔ)言相比, VHDL 具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。 (2) VHDL 豐富的仿真語(yǔ)句和庫(kù)函數(shù),使 得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè) 開 發(fā)組共同并行工作才能實(shí)現(xiàn) 任務(wù) 。 (5) VHDL 對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什 么,而進(jìn)行獨(dú)立的設(shè)計(jì)。 2020 屆 電氣工程與自動(dòng)化畢業(yè)設(shè)計(jì) (論文) 7 (2) 功能級(jí)模擬 用 VHDL, 模擬器對(duì)編輯后的程序進(jìn)行模擬 , 如果達(dá)不到設(shè)計(jì)要求,則可以重新修改程序,直到通過功能模擬。 (4) 門級(jí)模擬 對(duì)電路用 VHDL 仿真器仿真, 可對(duì)門級(jí)電路的延時(shí)、定時(shí)狀態(tài)、驅(qū)動(dòng)能力等進(jìn)行仿真。 (5) 版圖生成 用相應(yīng)的軟件處理后,就可以拿去制版。 FPGA 的發(fā)展非常迅速,形成了各種不同的結(jié)構(gòu)。 FPGA 一般由三種可編程電路和一個(gè)用于存放編程數(shù)據(jù)的 SRAM組成,這三種可編程電路是:可編程邏輯塊 CLB(Configurable Logic Block)、輸入 /輸出模塊 IOB(I/O Block)和互連資源 IR(Interconnect Resource),其基本結(jié)構(gòu)如圖21 所示 (1)可編程邏輯塊 CLB CLB 是 FPGA 的主要組成部分,是實(shí)現(xiàn)邏輯功的基本單元。這些數(shù)據(jù)擇器的地址控制信號(hào)均由編程信息提供,從而實(shí)現(xiàn)所需電路結(jié)構(gòu)。 IOB 主要由輸入觸發(fā)器、輸入緩沖器、輸 出 觸發(fā) /鎖存器和輸出緩沖器組 成。 (3)可編程互連資源 IR 可編程互聯(lián)資源包括各種長(zhǎng)度的連線和一些可編程連 接開關(guān),它們將各個(gè) CLB 之間以及 CLB 與 IOB 之間互相連接起來(lái),構(gòu)成各種復(fù)雜功能的系統(tǒng)。分段互連資源中具有多種不同長(zhǎng)度的金屬線,各金屬線段之間通過開關(guān)矩陣或反熔絲編程連接,走線靈活方便,但走線延時(shí)無(wú)法預(yù)測(cè);連續(xù)互連資源是利用相同長(zhǎng)度的金屬線,連接與距離遠(yuǎn)近無(wú)關(guān),布線延時(shí)是固定的、可預(yù)測(cè)的。 2020 屆 電氣工程與自動(dòng)化畢業(yè)設(shè)計(jì) (論文) 9 第三章 方案論證 設(shè)計(jì)思想以及設(shè)計(jì)原理框圖 本文的指導(dǎo)思想是利用 EDA 技術(shù), 通過 VHDL 語(yǔ)言對(duì) CPLD/FPGA 進(jìn)行配置來(lái)實(shí)現(xiàn)電子琴的功能,通過鍵盤的彈奏,將采集到的信號(hào)轉(zhuǎn)換成含有音符信號(hào)的代碼以及產(chǎn)生分頻預(yù)置數(shù),采用數(shù)控分頻的方法 輸出不同音符的頻率,最后通過揚(yáng)聲器或者蜂鳴器發(fā)出聲音,同時(shí)用 LED 顯示器顯示正在演奏的音符和音符的高低音,用 LED_A表示音符,用 LED_B 表示音階的高低。 隆?。夯?CPLD/FPGA的簡(jiǎn)易電子琴設(shè)計(jì) 10 ( 2)代碼音符作為音符查表電路和 簡(jiǎn)譜 碼 產(chǎn)生電路的處理,分別將按鍵的信息,以及所彈奏的音符的信息送出到譯碼顯示電路和數(shù)控分頻器。與此同時(shí),顯示譯碼電路對(duì)上級(jí)電路輸出的音符信息進(jìn)行處理,實(shí)時(shí) 地 對(duì)其進(jìn)行譯碼,來(lái)點(diǎn)亮各個(gè)二極管。 ( 5)同時(shí),可以通過 K4, K5 按鍵,可以靈活控制二極管的顯示與不顯示。 采用該方案可以提高設(shè)計(jì)的效率,并且易于對(duì)每一部分功能分析及總體的