版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 目 錄0</b></p><p> 1、EDA技術(shù)發(fā)展及介紹2</p><p> 1.1 EDA技術(shù)的介紹2</p><p> 1.2 EDA技術(shù)的發(fā)展2</p><p> 1.
2、3 EDA技術(shù)的發(fā)展趨勢3</p><p> 2、總體方案設(shè)計4</p><p><b> 2.1設(shè)計內(nèi)容4</b></p><p> 2.2設(shè)計方案比較4</p><p><b> 2.3方案論證5</b></p><p><b> 2.4方
3、案選擇5</b></p><p> 3、單元模塊設(shè)計6</p><p><b> 3.1分頻模塊6</b></p><p> 3.1.1分頻模塊波形仿真圖6</p><p> 3.1.2分頻模邏輯綜合圖6</p><p> 3.1.3分頻模塊verilog源代碼7
4、</p><p><b> 3.2計數(shù)模塊8</b></p><p> 3.2.1計數(shù)模塊功能仿真波形8</p><p> 3.2.2計數(shù)模塊邏輯綜合圖9</p><p> 3.2.3計數(shù)模塊verilog源代碼9</p><p> 3.3鎖存模塊10</p>&
5、lt;p> 3.3.1鎖存模塊功能仿真波形10</p><p> 3.3.2鎖存模塊邏輯綜合圖11</p><p> 3.3.1鎖存模塊verilog源代碼11</p><p> 3.4七段譯碼模塊12</p><p> 3.4.1七段一碼模塊功能仿真波形12</p><p> 3.4.2七
6、段譯碼模塊邏輯綜合圖13</p><p> 3.4.3七段一碼模塊代碼源程序13</p><p> 3.5數(shù)碼管顯示模塊14</p><p> 3.5.1數(shù)碼管顯示模塊功能仿真波形圖15</p><p> 3.5.2數(shù)碼管顯示模塊綜合圖15</p><p> 3.5.3數(shù)碼管顯示模塊源代碼16&l
7、t;/p><p><b> 4、軟件實現(xiàn)17</b></p><p> 4.1軟件實現(xiàn)方法17</p><p> 4.1.1 軟件實現(xiàn)步驟框圖17</p><p> 4.2軟件設(shè)計18</p><p> 4.2.1 頂層模塊程序如下:18</p><p>
8、 4.2.2 頂層模塊結(jié)構(gòu)圖19</p><p> 5、系統(tǒng)仿真及調(diào)20</p><p> 5.1頂層模塊仿真及調(diào)試20</p><p><b> 6、總結(jié)21</b></p><p> 6.1設(shè)計小結(jié)21</p><p> 6.2設(shè)計收獲21</p><
9、;p> 6.3設(shè)計改進(jìn)22</p><p><b> 6.4 致謝22</b></p><p> 7 、參考文獻(xiàn)22</p><p> 1、EDA技術(shù)發(fā)展及介紹</p><p> 1.1 EDA技術(shù)的介紹</p><p> EDA是Electronic Design Au
10、tomation的縮寫,中文譯為電子設(shè)計自動化,是現(xiàn)代電子設(shè)計技術(shù)的有力工具。迄今為止,EDA技術(shù)沒有精確的定義,我們可以這樣來認(rèn)識,EDA技術(shù)就是以計算機(jī)為工作平臺,以EDA軟件工具為開發(fā)環(huán)境,以PLD器件或者ASIC專用集成電路為目標(biāo)器件設(shè)計實現(xiàn)電路系統(tǒng)的一種技術(shù)。而EDA技術(shù)的發(fā)展又以計算機(jī)科學(xué)、微電子技術(shù)的發(fā)展為基礎(chǔ),并且融合了應(yīng)用電子技術(shù)、智能技術(shù)以及計算機(jī)圖形學(xué)、拓?fù)鋵W(xué)、計算數(shù)學(xué)等眾多最新成果發(fā)展而來的。</p>
11、<p> 1.2 EDA技術(shù)的發(fā)展</p><p> 從20世紀(jì)70年代,人們就已經(jīng)開始基于計算機(jī)開發(fā)出一些軟件工具幫助設(shè)計者完成電路系統(tǒng)的設(shè)計任務(wù),以替代傳統(tǒng)的手工設(shè)計的方法,隨著計算機(jī)軟件和硬件技術(shù)水平的提高,EDA技術(shù)也不斷進(jìn)步,大致經(jīng)歷了下面三個發(fā)展階段:</p><p> ?。?)CAD階段:20世紀(jì)70年代至80年代初,由于電子技術(shù)軟件的功能較弱和個人計算機(jī)
12、的普及度不高,人們主要借助于計算機(jī)對所設(shè)計的電路的性能進(jìn)行模擬和預(yù)測;完成簡單的版圖繪制和PCB布局。這是EDA技術(shù)發(fā)展的早起階段。</p><p> ?。?)CAE階段:20世紀(jì)80年代至90年代初,由于人們在設(shè)計方法學(xué)、設(shè)計工具集成優(yōu)化方面取得了長足的進(jìn)步,使得集成電路規(guī)模逐漸擴(kuò)大,電子系統(tǒng)設(shè)計也逐步復(fù)雜,與CAD相比,又增加了電路功能設(shè)計和結(jié)構(gòu)設(shè)計、工程設(shè)計、原理圖輸入、邏輯仿真、電路分析、自動布局布線、P
13、CB后分析等功能。由此EDA進(jìn)入CAE階段。</p><p> ?。?)EDA階段:20世紀(jì)90年代以來,由于微電子工藝的顯著發(fā)展,促進(jìn)了電子設(shè)計工具的不斷改善。尤其是進(jìn)入21世紀(jì)以后,EDA技術(shù)得到了更快的發(fā)展。使得EDA技術(shù)廣泛應(yīng)用于各個領(lǐng)域,IP核的SoC設(shè)計技術(shù)日趨成熟、SoPC技術(shù)步入實用化階段、高速DSP實現(xiàn)成為了可能、復(fù)雜電子系統(tǒng)的設(shè)計和驗證更加高效。
14、</p><p> 1.3 EDA技術(shù)的發(fā)展趨勢</p><p> 隨著人們對設(shè)備功能和成本要求的越來越苛刻,EDA技術(shù)也在不斷改進(jìn),就目前而言,EDA技術(shù)有以下三個大的發(fā)展趨勢。</p><p> 高性能的EDA工具將得到進(jìn)一步發(fā)展</p><p> 隨著市場的需求增長,超大規(guī)模集成技術(shù)不斷提高,超深亞微米(VDSM)工藝已經(jīng)走向
15、成熟;IC生產(chǎn)線的投資更為巨大,可編程邏輯器件開始進(jìn)入傳統(tǒng)的ASIC市場;電子系統(tǒng)成本降低,系統(tǒng)體積減小,設(shè)計效率提高,EDA工具盒IP核廣泛應(yīng)用;自動化和智能化程度不斷提高,計算機(jī)硬件平臺性能的不斷提高為SoC設(shè)計提供了物質(zhì)基礎(chǔ)。</p><p> EDA技術(shù)將促使ASIC和FPGA逐步走向融合</p><p> 隨著系統(tǒng)開發(fā)對EDA技術(shù)的目標(biāo)器件各種性能指標(biāo)要求的提高,ASIC和F
16、PGA將更大程度地相互融合。這是因為雖然標(biāo)準(zhǔn)邏輯ASIC芯片尺寸小、功能強(qiáng)、耗電省,膽設(shè)計復(fù)雜,并且有批量生產(chǎn)要求;可編程邏輯器件的開發(fā)費用低廉,能現(xiàn)場編程,膽體積大、功耗大。因此,F(xiàn)PGA和ASIC正在走到一起,兩者之間正在誕生一種“雜交”產(chǎn)品,互相融合,取長補(bǔ)短,以滿足成本和上市速度的要求。例如,將可編程邏輯器件嵌入到標(biāo)準(zhǔn)單元。</p><p> (3)EDA技術(shù)的應(yīng)用領(lǐng)域?qū)⒃絹碓綇V泛</p>
17、<p> 從目前的EDA技術(shù)來看,其特點就是使用普及、應(yīng)用廣泛、工具多樣、軟件功能強(qiáng)大。在ASIC和PLD器件方面,向高速度、高密度、低功耗、低電壓方向發(fā)展。EDA技術(shù)發(fā)展迅速,可以用日新月異來描述。EDA技術(shù)的廣泛應(yīng)用,現(xiàn)已涉及各行各業(yè)。EDA水平不斷提高,設(shè)計工具不斷趨于完善。</p><p> 然而,目前人們對更低成本、更低功耗的無止境追求和越來越短的產(chǎn)品上市壓力為當(dāng)代EDA工具和設(shè)計方法帶
18、來了不少新的挑戰(zhàn)與機(jī)會。例如,如何在工藝上防止模擬電路與數(shù)字電路之間的干擾;現(xiàn)有的大部份EDA工具最多只能處理百萬門級設(shè)計規(guī)模,隨著IC設(shè)計向千萬門級以上規(guī)模發(fā)展,現(xiàn)有EDA工具和方法必須進(jìn)行升級。 </p><p><b> 2、總體方案設(shè)計</b></p><p><b> 2.1設(shè)計內(nèi)容</b></p><p
19、> 要求設(shè)計一個八位十進(jìn)制頻率計,該頻率計的測頻范圍為0到99999999HZ,測頻的原理采用直接測頻法,利用計數(shù)器在單位時間(通常是1s)內(nèi)對被測得脈沖進(jìn)行計數(shù),計數(shù)的結(jié)果就是被測脈沖的頻率,直接測頻法的好處是可以通過改變門控信號的周期,從而提高測量的精度和頻率的測量范圍。計數(shù)的結(jié)果通過鎖存器來鎖存并通過譯碼電路譯碼,然后用七段數(shù)碼管對被測頻率值進(jìn)行動態(tài)顯示。</p><p><b> 2.
20、2設(shè)計方案比較</b></p><p> 方案一:基于單片機(jī)實現(xiàn)八位十進(jìn)制頻率計字功能</p><p> 利用AT89C51的內(nèi)部定時計數(shù)器來對外部輸入信號進(jìn)行計數(shù),從而達(dá)到測頻的目的,這種方案,結(jié)構(gòu)簡單容易掌握,各部分電路實現(xiàn)起來都非常容易。其原理框圖如圖2-1所示:</p><p> 圖2-1單片原理實現(xiàn)框圖</p><p&
21、gt; 方案二:基于CPLD技術(shù)實現(xiàn)八位十進(jìn)制頻率計</p><p> 通過Verilog HDL硬件描述語言編寫代碼的方式來實現(xiàn)八位十進(jìn)制頻率計數(shù)器功能。其框圖如圖2-2:</p><p> 圖2-2基于CPLD實現(xiàn)頻率測量的框圖</p><p><b> 2.3方案論證</b></p><p> ?。?)方案
22、一:使用單片機(jī)設(shè)計成的系統(tǒng)外圍電路相對較少,硬件搭建相對容易。51單片機(jī)的價格低廉,性能可靠。但是,單片機(jī)的管腳十分有限,計算速度相對CPLD慢,內(nèi)部數(shù)據(jù)存儲器為字節(jié)存儲,難以滿足八位十進(jìn)制計數(shù)器的存儲需要。</p><p> ?。?)方案二:采用CPLD來設(shè)計八位十進(jìn)制計數(shù)器,測量精度高,運行速度快,采用verilog語言模塊化編程,大大縮減了外圍的硬件電路,節(jié)約了硬件資源,而且方便進(jìn)行軟件調(diào)試。</p&
23、gt;<p><b> 2.4方案選擇</b></p><p> 由于本次課程設(shè)計題目為八位十進(jìn)制頻率計,要求可測的頻率范圍為0到100MHZ,所以運算速度快、精度高、性能可靠、可將外圍器件通過編程來代替的CPLD芯片更符合要求。綜合比較結(jié)合各方面的優(yōu)劣勢,并參考本次課程設(shè)計要求,我選擇了基于CPLD器件來實現(xiàn)八位十進(jìn)制頻率計的設(shè)計方案。</p><p&
24、gt;<b> 3、單元模塊設(shè)計</b></p><p> 本設(shè)計由復(fù)雜可編程邏輯器件(CPLD)作為控制芯片,通過Vreilog HDL硬件描述語言設(shè)計,運用自頂而下的設(shè)計思想,按功能逐層分割實現(xiàn)層次化的設(shè)計??傮w設(shè)計方案為由晶振電路提供時鐘信號。然后對系統(tǒng)時鐘分頻產(chǎn)生控制信號如秒脈沖tgate,鎖存信號ale,譯碼控制信號的dclk和顯示使能信號d_en,位選信號lclk。在控制信
25、號作用下,被測脈沖mclk通過八位十進(jìn)制bcd加法計數(shù)器計數(shù),計數(shù)值通過鎖存器鎖存,然后經(jīng)過七段顯示譯碼器譯碼后用數(shù)碼管實現(xiàn)動態(tài)顯示。下面介紹主要模塊的功能及作用。</p><p><b> 3.1分頻模塊</b></p><p> 在分頻模塊中,系統(tǒng)時鐘s_clk設(shè)定為2ms,經(jīng)過1000分頻后便可以產(chǎn)生周期為2s的閘門信號tgate,鎖存信號ale,譯碼信號d
26、clk,顯示使能信號d_en,同時對系統(tǒng)時鐘經(jīng)過60分頻便可以得到周期為125ms的位選切換信號。</p><p> 3.1.1分頻模塊波形仿真圖</p><p> 圖3-1-1分頻模塊功能仿真圖</p><p> 3.1.2分頻模邏輯綜合圖</p><p> 圖3-1-2分頻模塊邏輯綜合圖</p><p>
27、 3.1.3分頻模塊verilog源代碼</p><p> module div(tgate,s_clk,ale,dclk,d_en,lclk,);</p><p> input s_clk;</p><p> output tgate,ale,dclk,d_en,lclk;</p><p> reg tgate,a
28、le,dclk,lclk,d_en;</p><p> integer i,j;</p><p> always @(posedge s_clk)</p><p><b> begin</b></p><p> if(i==499)</p><p> begin tg
29、ate=~tgate;ale=~ale;dclk=~dclk;d_en=~d_en;i=0;end</p><p> else i=i+1;</p><p><b> end</b></p><p> always @(posedge s_clk)</p><p> if(j==30)begin lcl
30、k=~lclk;j=0;end</p><p> else j=j+1;</p><p><b> end</b></p><p><b> endmodule</b></p><p><b> 3.2計數(shù)模塊</b></p><p> 該計數(shù)
31、模塊為十位八進(jìn)制bcd加法計數(shù)器,clrn為清零信號,高電平有效,q為計數(shù)值,tgate為高電平為1s的門控信號,仿真中設(shè)定被測脈沖周期為40ms,對其在1s鐘內(nèi)進(jìn)行計數(shù),計數(shù)結(jié)果q值顯示為25。符合理論計算結(jié)果。</p><p> 3.2.1計數(shù)模塊功能仿真波形</p><p> 圖3-2-1計數(shù)模塊功能仿真圖</p><p> 3.2.2計數(shù)模塊邏輯綜合圖
32、</p><p> 圖3-2-2分頻模塊邏輯綜合圖</p><p> 3.2.3計數(shù)模塊verilog源代碼</p><p> module counter(clrn,mclk,q,tgate,cunt);</p><p> input clrn,mclk,tgate;</p><p> output [15
33、:0]q,cunt;</p><p> reg [15:0]q;</p><p> always @(posedge mclk ) </p><p><b> begin</b></p><p> if(!clrn) q[15:0]=0;</p><p> else if(tgate
34、)</p><p><b> begin</b></p><p> if(q[15:0]==16'H9999) q[15:0]=0;</p><p> else if(q[11:0]==12'H999) q[15:0]=q[15:0]+12'H667;</p><p> else if(q
35、[ 7:0]== 8'H99) q[15:0]=q[15:0]+8'H67;</p><p> else if(q[ 3:0]== 4'H9) q[15:0]=q[15:0]+4'H7; //十六進(jìn)制轉(zhuǎn)換為十進(jìn)制。</p><p> else q[15:0]=q[15:0]+1; </p><p><b> e
36、nd</b></p><p><b> else</b></p><p><b> q=0;</b></p><p><b> end</b></p><p> assign cunt=q;</p><p><b> en
37、dmodule</b></p><p><b> 3.3鎖存模塊</b></p><p> 在鎖存模塊locker中,采用ale信號的下降沿對計數(shù)模塊的計數(shù)結(jié)果進(jìn)行鎖存,鎖存時間由ale的周期確定,在仿真中將輸入值din設(shè)定為隨機(jī)值,ale設(shè)定為周期為2s的方波,qout為鎖存結(jié)果輸出端,輸出端結(jié)果在ale下降沿到來時刻改變,其余時刻保持為鎖存狀態(tài)。&
38、lt;/p><p> 3.3.1鎖存模塊功能仿真波形</p><p> 圖3-3-1計數(shù)模塊功能仿真圖</p><p> 3.3.2鎖存模塊邏輯綜合圖</p><p> 圖3-3-2計數(shù)模塊功能仿真圖</p><p> 3.3.1鎖存模塊verilog源代碼</p><p> modul
39、e locker(ale,din,qout,qou);</p><p> input ale;//鎖存脈沖,下降沿有效。</p><p> input[31:0] din; //鎖存值輸入。</p><p> output[31:0] qout;//鎖存值。</p><p> output[31:0] qou;<
40、/p><p> reg[31:0] qout;</p><p> reg[31:0] qou;</p><p> always @(negedge ale)</p><p><b> begin</b></p><p><b> if(!ale)</b></p&g
41、t;<p><b> begin</b></p><p><b> qout=din;</b></p><p><b> qou=qout;</b></p><p><b> end</b></p><p><b> el
42、se </b></p><p> qout=qout;</p><p><b> qou=qout;</b></p><p><b> end</b></p><p><b> endmodule</b></p><p><b&
43、gt; 3.4七段譯碼模塊</b></p><p> 七段譯碼模塊,譯碼脈沖來自dclk,上升沿由效,上升沿到來時,便根據(jù)輸入的4位bcd碼,輸出相應(yīng)的七段顯示碼,比如輸入的為0001(十進(jìn)制數(shù)1),在dclk下降沿到來時dout輸出七段碼11111001(即數(shù)碼管顯示1)。</p><p> 3.4.1七段一碼模塊功能仿真波形</p><p>
44、 圖3-4-4計數(shù)模塊功能仿真圖</p><p> 3.4.2七段譯碼模塊邏輯綜合圖</p><p> 圖3-4-2計數(shù)模塊功能仿真圖</p><p> 3.4.3七段一碼模塊代碼源程序</p><p> module decord(din,dout,dclk);</p><p> input[3:0] di
45、n;</p><p> input dclk;</p><p> output[7:0] dout;</p><p> reg[7:0] dout;</p><p> always @(posedge dclk)</p><p><b> case(din)</b></p>
46、<p><b> 4'b0000:</b></p><p> begin dout=8'b1100_0000;end</p><p><b> 4'b0001:</b></p><p> begin dout=8'b1111_1001;end</p><
47、;p><b> 4'b0010:</b></p><p> begin dout=8'b1010_0100;end</p><p><b> 4'b0011:</b></p><p> begin dout=8'b1011_0000;end</p><p&g
48、t;<b> 4'b0100:</b></p><p> begin dout=8'b1001_1001;end</p><p><b> 4'b0101:</b></p><p> begin dout=8'b1001_0010;end</p><p>&l
49、t;b> 4'b0110:</b></p><p> begin dout=8'b1000_0010;end</p><p><b> 4'b0111:</b></p><p> begin dout=8'b1111_1000;end</p><p><b&
50、gt; 4'b1000:</b></p><p> begin dout=8'b1000_0000;end</p><p><b> 4'b1001:</b></p><p> begin dout=8'b1001_1000;end</p><p><b>
51、 4'b1010:</b></p><p> begin dout=8'b1000_1000;end</p><p><b> 4'b1011:</b></p><p> begin dout=8'b1000_0011;end</p><p><b> 4
52、39;b1100:</b></p><p> begin dout=8'b1100_0110;end</p><p><b> 4'b1101:</b></p><p> begin dout=8'b1010_0001;end</p><p><b> 4'b
53、1110:</b></p><p> begin dout=8'b1000_0110;end</p><p><b> 4'b1111:</b></p><p> begin dout=8'b1000_1110;end</p><p><b> endcase<
54、/b></p><p><b> endmodule</b></p><p> 3.5數(shù)碼管顯示模塊</p><p> 該模塊將譯碼模塊譯碼結(jié)果作為輸入送到輸入端ledin,然后再使能信號d_en(周期為2s)高電平有效,在d_en有效的情況下依次將輸入值送到輸出端口ledout,并改變位選輸出值switch,從而實現(xiàn)數(shù)碼管的動態(tài)顯
55、示,比如ledin輸入值設(shè)定為隨機(jī)值</p><p> 8‘h904FDEF528BC8898,在d_en有效,并且lclk的第一個上升沿到來時,把98h送到ledout,并將switch賦值為FE,從而使第一個數(shù)碼管顯示98h 所代表的段碼值,第二個上升沿到來時把88h送到ledout,switch賦值為FD,從而使第二個數(shù)碼管顯示88h所代表的段碼值,依次類推,便可以對八個數(shù)碼管進(jìn)行動態(tài)顯示了。</p
56、><p> 3.5.1數(shù)碼管顯示模塊功能仿真波形圖</p><p> 圖3-5-1顯示模塊功能仿真圖</p><p> 3.5.2數(shù)碼管顯示模塊綜合圖</p><p> 圖3-5-2顯示模塊邏輯綜合圖</p><p> 3.5.3數(shù)碼管顯示模塊源代碼</p><p> module di
57、splay(ledin,ledout,lclk,switch,d_en);</p><p> input lclk,d_en;</p><p> input[63:0] ledin;</p><p> output[7:0] ledout,switch;</p><p> reg[7:0] ledout,switch;</p&g
58、t;<p> integer num1,num2;</p><p> always @(posedge lclk)</p><p><b> if(d_en)</b></p><p> case (num1)</p><p> 0:begin num1<=1;switch=8'hfe
59、;end</p><p> 1:begin num1<=2;switch=8'hfd;end</p><p> 2:begin num1<=3;switch=8'hfb;end</p><p> 3:begin num1<=4;switch=8'hf7;end</p><p> 4:begin
60、 num1<=5;switch=8'hef;end</p><p> 5:begin num1<=6;switch=8'hdf;end</p><p> 6:begin num1<=7;switch=8'hbf;end </p><p> 7:begin num1<=0;switch=8'h7f;end&
61、lt;/p><p><b> endcase</b></p><p> else begin switch=0;end</p><p> always @(switch)</p><p> case(switch)</p><p> 8'h00:ledout=0;</p>
62、<p> 8'hfe:ledout=ledin[7:0];</p><p> 8'hfd:ledout=ledin[15:8];</p><p> 8'hfb:ledout=ledin[23:16];</p><p> 8'hf7:ledout=ledin[31:24];</p><p>
63、 8'hef:ledout=ledin[39:32];</p><p> 8'hdf:ledout=ledin[47:40];</p><p> 8'hbf:ledout=ledin[55:48];</p><p> 8'h7f:ledout=ledin[63:56];</p><p><b>
64、; endcase</b></p><p><b> endmodule</b></p><p><b> 4、軟件實現(xiàn)</b></p><p><b> 4.1軟件實現(xiàn)方法</b></p><p> 采用quartus 2軟件進(jìn)行設(shè)計,使用verilog
65、語言進(jìn)行模塊化編程,自上而下按功能模塊分層實現(xiàn)各個模塊的功能,在頂層模塊中調(diào)用子模塊,從而實現(xiàn)系統(tǒng)的整體功能。</p><p> 4.1.1 軟件實現(xiàn)步驟框圖</p><p> 圖4-1-1軟件實現(xiàn)步驟框圖</p><p><b> 4.2軟件設(shè)計</b></p><p> 4.2.1 頂層模塊程序如下:<
66、;/p><p> module mainton(mclk,ledout,switch,qou,s_clk,clrn,tgate0);</p><p> input mclk,s_clk,clrn;</p><p> output[7:0] ledout,switch;</p><p> output tgate0;</p>
67、<p> wire[7:0] p0,p1,p2,p3,p4,p5,p6,p7;</p><p> output[31:0] qou;</p><p> wire[31:0] q;</p><p> wire[31:0] qout;</p><p> wire ale,dclk,tgate,d_en,lclk;</p&
68、gt;<p> div d(.tgate(tgate),.s_clk(s_clk),.ale(ale),</p><p> .dclk(dclk),.d_en(d_en),.lclk(lclk),.tgate0(tgate0));</p><p> counter c(.clrn(clrn),.mclk(mclk),.tgate(tgate),.q(q),.cunt(c
69、unt));</p><p> locker lck(.ale(ale),.din(q),.qout(qout),.qou(qou));</p><p> decord d0(.din(qout[3:0]),.dout(p0),.dclk(dclk));</p><p> decord d1(.din(qout[7:0]),.dout(p1),.dclk(dc
70、lk));</p><p> decord d2(.din(qout[11:8]),.dout(p2),.dclk(dclk));</p><p> decord d3(.din(qout[15:12]),.dout(p3),.dclk(dclk));</p><p> decord d4(.din(qout[19:16]),.dout(p4),.dclk(d
71、clk));</p><p> decord d5(.din(qout[23:20]),.dout(p5),.dclk(dclk));</p><p> decord d6(.din(qout[27:24]),.dout(p6),.dclk(dclk));</p><p> decord d7(.din(qout[31:28]),.dout(p7),.dclk
72、(dclk));</p><p> display t(.ledin({p0,p1,p2,p3,p4,p5,p6,p7})</p><p> ,.ledout(ledout),.lclk(lclk),.switch(switch),.d_en(d_en));</p><p><b> endmodule</b></p>&l
73、t;p> 4.2.2 頂層模塊結(jié)構(gòu)圖</p><p> 圖4-2-2頂層顯示模塊邏輯綜合圖</p><p><b> 5、系統(tǒng)仿真及調(diào)</b></p><p> 5.1頂層模塊仿真及調(diào)試</p><p> 通過QuartusII軟件,我們對頂層模塊進(jìn)行了仿真,其仿真波形如圖5-1-1所示。</p&g
74、t;<p> 圖5-1-1頂層模塊波形仿真圖</p><p> 由設(shè)計要求可知,由0.5KHZ的系統(tǒng)時鐘s_clk經(jīng)過1000分頻后產(chǎn)生的門控信號tgate0為0.5HZ,即高電平有效時間為1s,tgate0波形如圖5-1所示。被測脈沖mclk設(shè)定為1KHZ,經(jīng)過計數(shù)模塊和所存模塊后,鎖存器輸出值qou為00001000,即頻率為1000HZ,與理論計算值一致。最后頻率值經(jīng)過譯碼模塊后通過數(shù)碼管
75、進(jìn)行動態(tài)顯示。波形仿真圖中的switch代表位選信號,即選中哪一個數(shù)碼管亮,ledout代表顯示的七段碼,即數(shù)碼管顯示的什么內(nèi)容,比如在switch為0xfe時選中第一個數(shù)碼管,并將顯示碼11000000(代表顯示0)通過ledout送給第一個數(shù)碼管顯示。由波形圖分析可知,數(shù)碼管最終顯示的內(nèi)容為00001000,與理論頻率值一致。</p><p> 在程序的調(diào)試過程中,我發(fā)現(xiàn)了自己存在很多問題,也收獲了不少的知
76、識,主要有以下幾點:</p><p> (1)由于先前對硬件描述語言代碼的編寫不夠熟悉,所以在使用過程中經(jīng)常編譯報錯;經(jīng)查找資料、和同學(xué)討論、詢問老師后了解到了錯誤的原因。</p><p> (2)在設(shè)置頂層文件和建立工程時,必須要設(shè)置好相關(guān)的配置。并且選擇合適的芯片,還要設(shè)置好END TIME和GRID SIZE參數(shù),更要注意仿真的文件設(shè)置成頂層文件和時鐘設(shè)置等等。</p>
77、;<p> (3在程序調(diào)試過程中,由于不規(guī)范的編寫,總是編譯失敗。經(jīng)逐條語句分析調(diào)試后發(fā)現(xiàn)往往只是其中一個數(shù)據(jù)的類型設(shè)置錯誤,修改以后解決了該錯誤,并對程序編寫有了更深刻的認(rèn)識和理解。</p><p> ?。?在波形文件仿真中,時鐘和輸入設(shè)置等信號一般不要設(shè)置成特殊的情況,有可能造成看不到正確的仿真波形和時序圖。在仿真狀態(tài)寄存器的波形圖時就出現(xiàn)了看不到正確時序圖的情況,經(jīng)分析查找后發(fā)現(xiàn)是由于時鐘和
78、輸入設(shè)置成了特殊情況,并沒有仿真出所有可能發(fā)生的情況。 </p><p> ?。?)用硬件描述語言的方法和畫原理圖的方法都可實現(xiàn)同樣邏輯功能的電路出來,但是二者各有優(yōu)缺點。原理圖直觀明了,但畫復(fù)雜的電路不易實現(xiàn)。用硬件語言描述復(fù)雜的邏輯功能電路則比較易于實現(xiàn),但是不如原理圖直觀,編寫時容易出現(xiàn)邏輯混亂的情況。</p><p><b> 6、總結(jié)</
79、b></p><p><b> 6.1設(shè)計小結(jié)</b></p><p> 本次設(shè)計中,我們成功完成本系統(tǒng)設(shè)計所要求的八位十進(jìn)制頻率計的測頻功能。在設(shè)計開始前我們就系統(tǒng)整體框架和各個模塊功能進(jìn)行了詳細(xì)的分析和設(shè)計準(zhǔn)備工作,設(shè)計過程中,我們相互協(xié)調(diào),積極參與討論,最終克服了所有遇到的技術(shù)難點。本設(shè)計要求用CPLD控制字符液晶實現(xiàn)字符的顯示,通過對CPLD的功能分
80、析和搭建CPLD外圍電路,我們認(rèn)識到了CPLD的強(qiáng)大功能。</p><p><b> 6.2設(shè)計收獲</b></p><p> 通過本次設(shè)計,我們在對EDA這門技術(shù)上有了更深刻的認(rèn)識,也在實踐過程中感受到了EDA設(shè)計給我們設(shè)計帶來的方便。在這個過程中,我們不僅比較熟練地掌握了QuartusII軟件的使用,與此同時,我們還對電子設(shè)計的思路有了更清晰的認(rèn)識。通過對ED
81、A設(shè)計我們更深入的了解了可編程邏輯器件的各個功能,也從中學(xué)到了很多電子電路設(shè)計方面的知識,為我們以后從事設(shè)計工作打下了一定的基礎(chǔ),雖然設(shè)計的系統(tǒng)不算完美,但是我確信自己努力認(rèn)真了,從中學(xué)到了知識、開闊了眼界,這也是課程設(shè)計真正目的所在。</p><p><b> 6.3設(shè)計改進(jìn)</b></p><p> 由于自身能力有限,學(xué)到的知識不多,本次八位十進(jìn)制頻率計的設(shè)計
82、僅僅是完成了一些基本的功能,如計數(shù),鎖存,譯碼和顯示,在實際的頻率測量中,信號在進(jìn)入計數(shù)器之前應(yīng)該先經(jīng)過放大整形電路,將信號轉(zhuǎn)化為標(biāo)準(zhǔn)的矩形波,如果信號的頻率太大,還得要考慮是否要先對被測頻率進(jìn)行分頻,從而使得測量結(jié)果更加精確穩(wěn)定,更具說服力,頻率計作為一種測量儀器應(yīng)該有自動換擋的功能,從而才能方便使用。另一方面,顯示可以采用液晶顯示,從而使顯示的效果更加的美觀。</p><p><b> 6.4 致
83、謝</b></p><p> 我們小組能夠完成這次課程設(shè)計,首先要感謝老師耐心細(xì)致的為我們分析題目,提供解決方案,如果沒有老師的悉心指導(dǎo),我們的課程設(shè)計也不會進(jìn)展的如此順利,并最終實現(xiàn)各個功能。此外還要感謝我的組員們,和他們一起思考問題,摸索quartus軟件的使用方法,仿真方法等。通過和他們一起思考,討論分析問題,我受到很大的啟發(fā),理解到團(tuán)隊協(xié)作的重要性。</p><p>
84、<b> 7 、參考文獻(xiàn)</b></p><p> [1] 謝自美. 電子線路設(shè)計(第二版)[M]. 華中科技大學(xué)出版社. 2000</p><p> [2] 張毅剛. 單片機(jī)原理及應(yīng)用[M].北京.高等教育出版社.2010</p><p> [3] 談世哲. Protel DXP 2004 電路設(shè)計基礎(chǔ)與典型范例[M].北京.電子工業(yè)
85、出版社.2007</p><p> [5] 盧毅編著.VHDL與數(shù)字電路設(shè)計[M].北京.科技大學(xué)出版.2001</p><p> [6] 康華光 陳大欽. 電子技術(shù)基礎(chǔ)模擬部分(第四版)[M]. 高等教育出版社.1987</p><p> [7] 張洪潤等. 電子線路及應(yīng)用. 北京.科學(xué)出版社. 2002 </p><p> [8]
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計--八位十進(jìn)制頻率計
- 電子信息系統(tǒng)課程設(shè)計--基于fpga四位十進(jìn)制數(shù)字頻率計
- eda數(shù)字頻率計課程設(shè)計
- eda課程設(shè)計--數(shù)字頻率計
- eda課程設(shè)計---數(shù)字頻率計
- 課程設(shè)計---eda數(shù)字頻率計
- eda課程設(shè)計---數(shù)字頻率計
- eda課程設(shè)計---數(shù)字頻率計
- eda課程設(shè)計---數(shù)字頻率計
- eda課程設(shè)計數(shù)字頻率計
- eda技術(shù)課程設(shè)計 ---eda數(shù)字頻率計
- eda課程設(shè)計-數(shù)字頻率計的設(shè)計
- 基于eda的8位十進(jìn)制頻率計設(shè)計
- 基于eda的8位十進(jìn)制頻率計設(shè)計
- eda技術(shù)課程設(shè)計----數(shù)字頻率計
- 基于eda的8位十進(jìn)制頻率計設(shè)計
- 課程設(shè)計--八位十六進(jìn)制頻率計
- 數(shù)字頻率計課程設(shè)計
- 數(shù)字頻率計課程設(shè)計
- 課程設(shè)計--數(shù)字頻率計
評論
0/150
提交評論