freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

fpga課程設(shè)計(jì)最終版資料(存儲版)

2025-07-29 07:44上一頁面

下一頁面
  

【正文】 nx ISE簡介Xilinx 是最大的FPGA/CPLD 生產(chǎn)商之一,其設(shè)計(jì)開發(fā)的軟件也不斷升級換代,已從Foundation系列發(fā)展到目前的ISE 。其開發(fā)流程:在頂層用方框圖或硬件語言對電路的行為進(jìn)行描述后,進(jìn)行系統(tǒng)仿真驗(yàn)證和糾錯(cuò)。該模塊的VHDL描述中包含了三個(gè)進(jìn)程。圖31頂層模塊設(shè)計(jì)原理圖為了實(shí)現(xiàn)電子琴的功能要求,需要設(shè)計(jì)一個(gè)自動演奏模塊,該模塊的作用是產(chǎn)生8位發(fā)聲控制輸入index。當(dāng)auto=“0”時(shí),選擇自動演奏音樂存儲器里面的樂曲,自動演奏模塊以4Hz的頻率輸出8位發(fā)聲控制輸入信號,再送入音調(diào)發(fā)生器。 整個(gè)系統(tǒng)由樂曲自動演奏模塊、音調(diào)發(fā)生器模塊和數(shù)控分頻器模塊三個(gè)部分組成。這個(gè)過程實(shí)際上進(jìn)行了一次二分頻,將脈沖展寬。由此可以計(jì)算出簡譜中從低音l至高音1之間每個(gè)音符的頻率。綜合分析后我認(rèn)為,方案三采用FPGA的方法來實(shí)現(xiàn),不僅可以實(shí)現(xiàn)按鍵播放音樂和自動播放音樂的要求,有較高的靈敏度和可靠性。2方案論證及原理分析方案一:采用數(shù)字邏輯電路制作,用IC拼湊焊接實(shí)現(xiàn)。選擇手動彈奏模式按鍵時(shí),按下音符鍵后就會選通相應(yīng)的頻率輸出;選擇自動演奏模式按鍵時(shí),儲存器會將編寫好的音符信息依次取出,去選通各個(gè)對應(yīng)的頻率輸出,實(shí)現(xiàn)自動演奏。 (3)用戶可以將自己編制的樂曲存入電子琴,演奏時(shí)可選擇鍵盤輸入樂曲或者已存入的樂曲。要求每個(gè)學(xué)生單獨(dú)完成課程設(shè)計(jì)內(nèi)容,并寫出課程設(shè)計(jì)說明書、說明書應(yīng)該包括所涉及到的理論部分和充足的實(shí)驗(yàn)結(jié)果,給出程序清單,最后通過課程設(shè)計(jì)答辯。系統(tǒng)實(shí)現(xiàn)是用硬件描述語言VHDL按模塊化方式進(jìn)行設(shè)計(jì),然后進(jìn)行編程、時(shí)序仿真、電路功能驗(yàn)證,奏出美妙的樂曲(當(dāng)然由于條件限制,暫不進(jìn)行功能驗(yàn)證,只進(jìn)行編程和時(shí)序仿真)。其特點(diǎn)是直接用現(xiàn)成的IC組合而成,簡單方便,但本系統(tǒng)需用到許多分頻器,這就使得需要用到相當(dāng)多的IC,從而造成了體積過于龐大,而且連線也會比較復(fù)雜。并且原理方法和模塊結(jié)構(gòu)清晰,制作方案比較容易實(shí)現(xiàn),所以我采用方案三作為具體實(shí)現(xiàn)方案。簡譜音名與頻率對應(yīng)關(guān)系如表21所示:音名頻率/Hz音名頻率/Hz音名頻率/Hz低音1262中音1523高音11047低音2296中音2587高音21175低音3330中音3659高音31319低音4350中音4698高音41397低音5392中音5784高音51568低音6440中音6880高音61760低音7494中音7988高音71976表21 簡譜音名與頻率的對應(yīng)關(guān)系 使用一分頻器來產(chǎn)生各音符所需的頻率,但由于各音符對應(yīng)的頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),所以必須將計(jì)算得到的分頻數(shù)四舍五入取整數(shù)。因此,分頻系數(shù)的計(jì)算可以按照下面的方法進(jìn)行。樂曲自動演奏模塊又包含了鍵盤的編碼,并且設(shè)置了一個(gè)自動演奏/鍵盤輸入切換auto。當(dāng)8位發(fā)聲控制輸入信號中的某一位為高電平時(shí),則對應(yīng)某一音階的數(shù)值將在端口tone輸出,該數(shù)值即為該音階的分頻預(yù)置值,音調(diào)發(fā)生器還輸出音符顯示信號、高低音顯示信號。當(dāng)auto為“0”或“1”時(shí)可以選擇自動演奏或者鍵盤輸入,如果auto為“0”,則由存儲在此模塊中的8位二進(jìn)制數(shù)來作為發(fā)聲控制輸入index,由此便可自動演奏樂曲;當(dāng)auto為“1”時(shí),則由鍵盤的輸入轉(zhuǎn)化為8位2進(jìn)制數(shù)作為發(fā)聲控制輸入index。首先對32MHz的基準(zhǔn)脈沖進(jìn)行分頻得到8MHz的脈沖,然后按照tone1輸入的分頻系數(shù)對8MHz的脈沖再次分頻,得到的便是所需要的頻率。再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表。ISE(Integrated System Configuration)是集成綜合環(huán)境的簡稱,是Xilinx提供的一套工具集,其集成的設(shè)計(jì)工具可以完成整個(gè)FPGA/CPLD的開發(fā)過程。圖41頂層模塊軟件流程圖該模塊的VHDL源程序主要由3個(gè)工作進(jìn)程組成,分別為PULSE0,MUSIC和COM1。比如我們自定義INDEX第1位為高電平時(shí),它的分頻系數(shù)則為6920,音符顯示信號為0010010,此時(shí)高低音顯示0表示非高音。039。第二個(gè)進(jìn)程是此模塊的核心,即按照tone1輸入的分頻系數(shù)對8MHz的脈沖再次分頻,得到所需要的音符頻率。此時(shí)設(shè)置Auto=“0”,選擇自動演奏。圖57 HDL Bencher中輸入波形的設(shè)置(2)設(shè)計(jì)的仿真 雙擊 Processes 窗口中的 Simulate Behavioral Model 對設(shè)計(jì)進(jìn)行仿真,在右方窗口彈出仿真結(jié)果的波形,如圖58所示。最后進(jìn)行二分頻,將脈沖展寬,以使揚(yáng)聲器有足夠功率發(fā)音。圖513仿真結(jié)果及示意(3)仿真結(jié)果分析,AUTO設(shè)為1,鍵盤輸入信號INDEX1為00010000。(4)當(dāng)完成這些操作步驟后,生成相應(yīng)的操作報(bào)告供查看。由于初涉VHDL語言以致很多語法和語言基本結(jié)構(gòu)、算法生疏,運(yùn)用不靈活,在編寫源程序上遇到極大的難題,而且在編譯運(yùn)行程序時(shí)對出錯(cuò)的語句理解不到位,導(dǎo)致難于下手修正錯(cuò)誤語句、語法,這使得在設(shè)計(jì)程序時(shí)遇到更大的很大的麻煩。另外我也發(fā)現(xiàn)了在平時(shí)學(xué)習(xí)過程中難于發(fā)現(xiàn)的許多缺點(diǎn)不足。entity top is Port ( clk32MHz :in std_logic。 Auto: in std_logic。end ponent。 u1: tone port map(index=indx,tone0=tone2,code=code1,high=high1)。 系統(tǒng)時(shí)鐘;鍵盤輸入/自動演奏 index2 : in std_logic_vector(7 downto 0)。 then count:=0。139。event and clk2=39。039。 5 when 7 = index0=00100000。 1 when 15= index0=00000001。 2 when 23= index0=00000010。 2 when 31= index0=00000010。use 。architecture Behavioral of tone isbeginsearch :process(index) 此進(jìn)程完成音符到音符的分頻系數(shù)譯碼,音符的顯示,高低音階begin case index is when 00000001 = tone0=7648。 when 00000100 = tone0=6069。 when 00010000 = tone0=5102。 when 01000000 = tone0=4048。 when others = tone0=8191。use 。beginpulse1:process(clk1) 此進(jìn)程對系統(tǒng)時(shí)鐘進(jìn)行4分頻variable count:integer range 0 to 8。039。139。 end if。 if count2=39。end process。 end if。139。039。begin if preclk39。139。 驅(qū)動揚(yáng)聲器的音頻信號end speaker。end Behavioral。high=39。high=39。high=39。high=39。 高低音顯示信號 tone0 : out integer range 0 to 8191)。end Behavioral。 3 when 29= index0=00000100。 4 when 21= index0=00000100。 2 when 13= index0=00000010。 5 when 5 = index0=00010000。end process。end process。 then count:=count+1。begin if Auto=39。use 。signal indx:std_logic_vector(7 downto 0)。 high : out std_logic。 音頻信號end top。use 。最后終于將頂層模塊和三個(gè)子模塊編寫完成,編譯成功,完成了該系統(tǒng)的文本設(shè)計(jì)。39。(3)當(dāng)實(shí)現(xiàn)設(shè)計(jì)(Implement Design)運(yùn)行的過程中,展開實(shí)現(xiàn)(Implement Design)的步驟,會看到實(shí)現(xiàn)過程中,首先是進(jìn)行綜合(Synthesis),然后才依次完成實(shí)現(xiàn)的步驟。圖511 HDL Bencher中輸入波形的設(shè)置(2)設(shè)計(jì)的仿真 單擊Sourcese 窗口中的 testbench,則在 Processes 窗口中顯示 Xilinx ISE Simulator 工具欄,擴(kuò)展開后,右鍵單擊 Simulator Behavioral Model,選擇Properties, 對Simulation Run Time 輸入 900us,單擊 OK 按鈕,如圖512所示。圖510仿真結(jié)果及示意(3)仿真結(jié)果分析 由仿真結(jié)果圖可以看出,系統(tǒng)時(shí)鐘首先被4分頻,然后根據(jù)分頻系數(shù)再次分頻。(由于輸入頻率太高,實(shí)驗(yàn)條件所限,如按源程序仿真將看不到輸出波形,因此將原脈沖的分頻點(diǎn)4000000和8000000改為4和8)圖56仿真結(jié)果示意(1)創(chuàng)建Testbench波形源文件 新建一個(gè)Testbench波形源文件,出現(xiàn)如圖57所示的波形圖。圖51波形與VHDL文件關(guān)聯(lián) 此時(shí),HDL Bencher程序啟動,如圖52所示,可以選擇哪一個(gè)信號是時(shí)鐘信號并可以輸入所需的時(shí)序需求,系統(tǒng)時(shí)鐘信號為32MHz,但是由于限制只能選擇時(shí)鐘周期為32ns。該模塊的VHDL源主要由3個(gè)工作進(jìn)程組成。CODE=0001111。該模塊的唯一輸入信號INDEX對應(yīng)就是自動模塊中最后的輸出INDEX0。利用VHDL語言COMPONENT將三個(gè)模塊組合起來,其中3個(gè)模塊和頂層模塊的輸入輸出是一一對應(yīng)的,比如auto對應(yīng)handTOauto, tone0對應(yīng)tone2, spks對應(yīng)spkout等。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下和基于庫的設(shè)計(jì)特點(diǎn)。圖33音階發(fā)生器模塊數(shù)控分頻模塊的目的是對基準(zhǔn)脈沖分頻,得到0,1,2,3,4,5,6,7七個(gè)音符對應(yīng)頻率。圖31即是頂層模塊設(shè)計(jì)原理圖。鍵盤輸入一共有9個(gè)按鍵,除了8個(gè)音符對應(yīng)的按鍵之外,還設(shè)置一個(gè)自動演奏/鍵盤輸入切換auto,它不是一個(gè)單獨(dú)的模塊,它和其他按鍵一起包含在樂曲自動演奏模塊中,作用相當(dāng)于一個(gè)開關(guān)。如果樂譜中某個(gè)音符為三拍音長,那又該如何控制呢?其實(shí)只要在3個(gè)連續(xù)地址存放該音符,即持續(xù)了三拍的時(shí)間,通過這樣一個(gè)簡單的操作就可以控制音長了。由于數(shù)控分頻器輸出的波形是脈寬極窄的脈沖波,為了更好的驅(qū)動揚(yáng)聲器發(fā)聲,在到達(dá)揚(yáng)聲器之前需要均衡占空比,從而生成各音符對應(yīng)頻率的對稱方波輸出。另外,音符A(簡譜中的低音5)的頻率為392Hz,音符E到F之間、B到C之間為半音,其余為全音。用VHDL編程實(shí)現(xiàn)時(shí)更加方便,而且易于進(jìn)行功能擴(kuò)展,并可調(diào)試仿真,制作時(shí)間大大縮短。1)設(shè)計(jì)一個(gè)八音電子琴;2)由鍵盤輸入控制音響,同時(shí)可自動演奏樂曲;3)用戶可以將自己編制的樂曲存入電子琴,演奏時(shí)可選擇鍵盤輸入樂曲或者已存入的樂曲。系統(tǒng)由樂曲自動演奏模塊、音調(diào)發(fā)生模塊和數(shù)控分頻模塊三個(gè)部分組成。(2)由鍵盤輸入控制音響,同時(shí)可自動演奏樂曲。時(shí)間安排:序號階段內(nèi)容所需時(shí)間1方案設(shè)計(jì)1天2軟件設(shè)計(jì)2天3系統(tǒng)調(diào)試1天4答辯1天合
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1