2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  一 摘 要3</b></p><p><b>  二 課題簡介3</b></p><p>  三 實驗總體設(shè)計6</p><p>  四 數(shù)字秒表的工作原理及設(shè)計過程7</p><

2、;p>  五 設(shè)計過程 19 </p><p><b>  六 結(jié)論24</b></p><p><b>  七 參考文獻(xiàn)25</b></p><p><b>  一、摘 要</b></p>

3、;<p>  目前數(shù)字電子技術(shù)已經(jīng)廣泛地應(yīng)用于計算機(jī),自動控制,電子測量儀表,電視,雷達(dá),通信等各個領(lǐng)域。隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,嵌入式產(chǎn)品日益廣泛地滲透到日常生活、科學(xué)研究和軍事技術(shù)等領(lǐng)域。人們在日常生活中,有很多時候要精確地計算時間,但往往因為人為因素造成人們不愿意看到的誤差。秒表是日常生活中比較常用的精確計時工具,特別是在體育競技以及生產(chǎn)科研中,跳動精確的秒表更是有著不可替代的作用。過去機(jī)械秒表的設(shè)計制作極

4、為復(fù)雜,而且成本高、不穩(wěn)定給使用者帶來了不少的困擾。但是隨著電子技術(shù)的飛速發(fā)展,電子秒表的出現(xiàn)徹底改變了這一局面,電子秒表以其成本低廉、工作穩(wěn)定、走時精確、操作簡單在人類的工作生活中得到了廣泛的應(yīng)用。秒表的出現(xiàn),解決了傳統(tǒng)的由于人為因素造成的誤差和不公平性。本設(shè)課程設(shè)計是主要采用sopc技術(shù)基于FPGA的數(shù)字秒表的設(shè)計,利用Verilog HDL語言和Quartus II軟件以及FPGA實驗操作平臺來實現(xiàn)的。本論文的重點是用硬件語言Ve

5、rilog HDL 來描述數(shù)字秒表,偏重于軟件設(shè)計。大致內(nèi)容是首先簡單介紹了EDA的現(xiàn)狀和前景, Verilog HDL 語言特點,應(yīng)用平臺FPGA</p><p>  【關(guān)鍵詞】Verilog HDL 語言;Quartus II 軟件;數(shù)字秒表;SOPC技術(shù)</p><p><b>  二、課題簡介</b></p><p>  SOPC技術(shù)是

6、美國Altrea公司于2000年最早提出的,并同時推出了相應(yīng)的開發(fā)軟件Quartus II。SOPC是基于FPGA解決方案的SOC,與ASIC的SOC解決方案相比,SOPC系統(tǒng)及其開發(fā)技術(shù)具有更多的特色,構(gòu)成SOPC的方案有多種途徑,我們主要用到的是:基于FPGA嵌入IP硬核的SOPC系統(tǒng)</p><p>  2.3基于FPGA嵌入IP硬核的SOPC系統(tǒng)</p><p>  即在FPGA中

7、預(yù)先植入嵌入式系統(tǒng)處理器。目前最為常用的嵌入式系統(tǒng)大多采用了含有ARM的32位知識產(chǎn)權(quán)處理器核的器件。盡管由這些器件構(gòu)成的嵌入式系統(tǒng)有很強(qiáng)的功能,但為了使系統(tǒng)更為靈活完備,功能更為強(qiáng)大,對更多任務(wù)的完成具有更好的適應(yīng)性,通常必須為此處理器配置許多接口器件才能構(gòu)成一個完整的應(yīng)用系統(tǒng)。如除配置常規(guī)的SRAM、DRAM、Flash外,還必須配置網(wǎng)絡(luò)通信接口、串行通信接口、USB接口、VGA接口、PS/2接口或其他專用接口等。這樣會增加整個系統(tǒng)

8、的體積、功耗,而降低系統(tǒng)的可靠性。但是如果將ARM或其他知識產(chǎn)權(quán)核,以硬核方式植入FPGA中,利用FPGA中的可編程邏輯資源和IP軟核,直接利用FPGA中的邏輯宏單元來構(gòu)成該嵌入式系統(tǒng)處理器的接口功能模塊,就能很好地解決這些問題。</p><p>  2.2基于FPGA嵌入IP軟核的SOPC系統(tǒng)</p><p>  這種SOPC系統(tǒng)是指在FPGA中植入軟核處理器,如:NIOS II核等。用

9、戶可以根據(jù)設(shè)計的要求,利用相應(yīng)的EDA工具,對NIOS II及其外圍設(shè)備進(jìn)行構(gòu)建,使該嵌入式系統(tǒng)在硬件結(jié)構(gòu)、功能特點、資源占用等方面全面滿足用戶系統(tǒng)設(shè)計的要求。</p><p>  2.3 Verilog HDL語言及QuartusⅡ軟件簡介</p><p>  Verilog HDL語言是1983年GDA公司的Phil Moorby首創(chuàng)的,之后Moorby有設(shè)計了Verilog-XL仿真

10、器獲得很大成功,也使得Verilog HDL語言得到發(fā)展和推廣。Verilog HDL語言是在C語言的基礎(chǔ)上發(fā)展而來的。從語法結(jié)構(gòu)上看,Verilog HDL繼承和借鑒了C語言的很多語法,兩者有許多的相似之處,但Verilog HDL作為一種硬件描述語言,還是有本質(zhì)的區(qū)別。即可適于可綜合的電路設(shè)計,也可勝任電路和系統(tǒng)的仿真;能在多層次上對所設(shè)計的系統(tǒng)加以描述,從開關(guān)級、門級,寄存器傳輸級到行為級等都可以擔(dān)任,而且沒規(guī)模限制;靈活多變的電

11、路描述風(fēng)格,可進(jìn)行行為描述,也可進(jìn)行結(jié)構(gòu)描述等;應(yīng)用十分的廣泛。</p><p>  QuartusⅡ軟件是Atlera的CPLD/FPGA集成開發(fā)軟件,具有完善的可視化設(shè)計環(huán)境,并具有標(biāo)準(zhǔn)的EDA工具接口,基于QuartusⅡ進(jìn)行EDA設(shè)計開發(fā)需要以下步驟:設(shè)計輸入、編譯、仿真、編程與驗證等。</p><p>  2.4 VHDL語言的特點</p><p>  

12、VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,關(guān)于用VHDL和原理圖輸入進(jìn)行CPLD/FPGA設(shè)計的粗略比較:在設(shè)計中,如果采用原理圖輸入的設(shè)計方式是比較直觀的。你要設(shè)計的是什么,你就直接從庫中調(diào)出來用就行了。這樣比較符合人們的習(xí)慣。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點。應(yīng)用VHDL進(jìn)行工程設(shè)計的優(yōu)點是多方面的。</p>

13、<p> ?。?)與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。</p><p> ?。?)VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗設(shè)計系統(tǒng)的功能可行性,隨時可對設(shè)計進(jìn)行仿真模擬。</p><p> ?。?/p>

14、3)VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計的分解和已有設(shè)計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。</p><p>  (4)對于用VHDL完成的一個確定的設(shè)計,可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。</p><p>  (5)VHDL對設(shè)計的描述具有相對獨立性,設(shè)

15、計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計實現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨立的設(shè)計。</p><p>  2.5 VHDL的設(shè)計流程</p><p>  它主要包括以下幾個步驟</p><p><b>  文本編輯:</b></p><p>  用任何文本編輯器都可以進(jìn)行,也可以用專用的HDL編輯環(huán)境。通常VHDL文件保存

16、為.vhd文件,Verilog文件保存為.v文件</p><p><b>  2.功能仿真:</b></p><p>  將文件調(diào)入HDL仿真軟件進(jìn)行功能仿真,檢查邏輯功能是否正確(也叫前仿真,對簡單的設(shè)計可以跳過這一步,只在布線完成以后,進(jìn)行時序仿真)</p><p><b>  邏輯綜合:</b></p>

17、<p>  將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合,即把語言綜合成最簡的布爾表達(dá)式。邏輯綜合軟件會生成.edf或.edif 的EDA工業(yè)標(biāo)準(zhǔn)文件。</p><p><b>  布局布線:</b></p><p>  將.edf文件調(diào)入PLD廠家提供的軟件中進(jìn)行布線,即把設(shè)計好的邏輯安放PLD/FPGA內(nèi)。</p><p><b>

18、;  時序仿真:</b></p><p>  需要利用在布局布線中獲得的精確參數(shù),用仿真軟件驗證電路的時序。(也叫后仿真) 通常以上過程可以都在PLD/FPGA廠家提供的開發(fā)工具。</p><p><b>  6.器件編程</b></p><p><b>  三、實驗總體設(shè)計</b></p>&l

19、t;p><b>  3.1實驗?zāi)康?lt;/b></p><p>  通過定時器實現(xiàn)電子秒表,達(dá)到熟練使用定時器中斷,熟練掌握單片機(jī)原理及應(yīng)用并且熟悉SOPC嵌入式系統(tǒng),熟悉掌握在NiosII的C語言編程,</p><p><b>  3.2實驗要求</b></p><p>  1)在開發(fā)板上,利用中斷實現(xiàn)電子秒表,顯示6

20、位(低位模擬到10ms,高位模擬到分鐘級),第一次按鍵開始計時,再按同一個按鍵暫停計時,再次按此鍵,計時繼續(xù);按另外一個按鍵停止計時。采用ALTERA公司FPGA產(chǎn)品作為數(shù)字系統(tǒng)基礎(chǔ)</p><p>  2)在該FPGA中設(shè)計NIOSII軟核處理器及其周邊模塊如PIO、定時器等。</p><p>  3)使用PIO接口模塊,設(shè)計一個控制鍵盤,該鍵盤有啟動鍵,停止鍵,查看鍵和記錄鍵</

21、p><p>  4)在按下啟動鍵后,秒表從0開始計數(shù),0.01秒增加一個計數(shù)值。</p><p>  5)在計數(shù)過程中,可按下5次記錄鍵,記錄5個時間點。在按下停止鍵后,停止計數(shù),并且在這個情況下,按查看鍵可以逐一查看剛才按下的時間點</p><p>  3.3課程設(shè)計的內(nèi)容</p><p>  采用ALTERA公司FPGA產(chǎn)品作為數(shù)字系統(tǒng)基礎(chǔ)&

22、lt;/p><p>  在該FPGA中設(shè)計NIOSII軟核處理器及其周邊模塊如PIO、定時器等。</p><p>  使用PIO接口模塊,設(shè)計一個控制鍵盤,該鍵盤有啟動鍵,停止鍵,查看鍵和記錄鍵</p><p>  在按下啟動鍵后,秒表從0開始計數(shù),0.01秒增加一個計數(shù)值。</p><p>  在計數(shù)過程中,可按下5次記錄鍵,記錄5個時間點。在

23、按下停止鍵后,停止計數(shù),并且在這個情況下,按查看鍵可以逐一查看剛才按下的時間點。</p><p>  完成硬件系統(tǒng)設(shè)計和軟件系統(tǒng)設(shè)計</p><p>  按照課程設(shè)計格式要求認(rèn)真完成</p><p>  四、數(shù)字秒表的工作原理及設(shè)計過程</p><p>  圖1數(shù)字秒表總體框圖</p><p>  4.1 7段數(shù)碼顯

24、示譯碼器基本原理</p><p>  在數(shù)字電路中,常常需要把運算結(jié)果用十進(jìn)制數(shù)顯示出來,這就要用顯示譯碼器。</p><p>  現(xiàn)以驅(qū)動七段發(fā)光二極管的二-十進(jìn)制譯碼器為例說明顯示譯碼器的設(shè)計原理,如圖2。</p><p>  圖2段數(shù)碼顯示譯碼器的原理示意圖</p><p>  7段顯示譯碼器實際上是一種代碼變換器,它是將4位二進(jìn)制碼轉(zhuǎn)

25、換成7位代碼,燃亮LED顯示器a、b、c、d、e、f、g七段中的對應(yīng)段,顯示出十進(jìn)制數(shù)的字型。</p><p>  圖3 7段顯示譯碼器真值表</p><p>  在EDA實驗箱中驗證這個項目,可用數(shù)據(jù)開關(guān)表示輸入,用LED數(shù)碼管表示輸出。本次的設(shè)計仿真選用以EPlC6Q240芯片為核心的FPGA開發(fā)板,該開發(fā)板提供了較完善的外圍周邊電路和信號接口,并提供了一塊4位7段數(shù)碼管的擴(kuò)展板,為

26、本次設(shè)計提供了硬件條件。在設(shè)計中,功能控制模塊根據(jù)控制選擇不同的功能狀態(tài)的時間輸出,通過勢能控制模塊和顯示輸出模塊驅(qū)動7段數(shù)碼管顯示相應(yīng)的時間。</p><p>  本系統(tǒng)設(shè)計由控制模塊、時基分頻模塊,計時模塊和顯示模塊四部分組成。各模塊實現(xiàn)秒表不同的功能 。</p><p>  4.2秒表程序構(gòu)成 </p><p><b>  1、程序設(shè)計思路</

27、b></p><p>  利用定時器經(jīng)確定時,并且利用隨機(jī)存儲區(qū)的有限空間,定義一個二維數(shù)組,通過按鍵將時間數(shù)值賦給數(shù)組(實踐證明,隨機(jī)存儲器內(nèi)最多只能存儲30組時間數(shù)值),然后在秒表停止或在數(shù)組存滿的情況下將所存的時間數(shù)值讀出。當(dāng)然,也需要通過按鍵來讀取不同時間數(shù)值,并且使用按鍵來控制秒表的開始、停止與清零。</p><p><b>  圖5程序流程圖</b>

28、</p><p><b>  2、程序分析</b></p><p>  主程序(main函數(shù))</p><p>  程序的初始入口,不斷調(diào)用各個子程序,程序的骨架。</p><p>  秒表啟動存數(shù)程序(keeptime函數(shù))</p><p>  用以處理分,秒和毫秒之間的聯(lián)系。</p>

29、;<p>  讀取所存數(shù)值處理程序(showtime函數(shù))</p><p>  用以讀取處理所存時間數(shù)值并加以處理。</p><p><b>  數(shù)碼管顯示程序</b></p><p>  1)秒表啟動時顯示程序(display函數(shù)):確定顯示數(shù)值,將顯示數(shù)值分為個位、十位、百位、千位,分別查表顯示。</p><

30、;p>  2)讀取所存時間數(shù)值顯示程序(display2函數(shù)):調(diào)取數(shù)組值賦給該函數(shù),確定顯示數(shù)值,將將其分為個、十、百、千位,分別查表顯示。</p><p>  3)所存時間數(shù)值序號顯示程序(display3函數(shù)):用以顯示所存時間的序號,以便于區(qū)分。</p><p><b>  按鍵掃描程序</b></p><p>  1)掃描按鍵1

31、(scankey1函數(shù))</p><p>  用于停止秒表或所存時間數(shù)值清零。</p><p>  2)掃描按鍵2(exter0函數(shù))</p><p>  用以觸發(fā)外部中斷0,觸發(fā)方式為下降沿觸發(fā),盡量降低了存儲時間數(shù)值時引起的誤差。</p><p>  3)掃描按鍵3(scankey3函數(shù))</p><p>  用于

32、所存時間數(shù)值的序號加一。</p><p>  4)掃描按鍵3(scankey4函數(shù))</p><p>  用于所存時間數(shù)值的序號減一。</p><p>  延時程序(delay函數(shù))</p><p>  用于延時z*1毫秒。 </p><p><b>  3、 程序</b></p>

33、<p>  1、秒表計數(shù)單位與對應(yīng)輸出信號</p><p><b>  2、計數(shù)器總程序:</b></p><p>  `timescale 1ns / 1ps</p><p><b>  Company: </b></p><p>  Engineer: </p><

34、;p>  Create Date: 20:10:58 04/19/2012 </p><p>  Design Name: </p><p>  Module Name: mbiao1 </p><p>  Project Name: </p><p>  Target Devices: </p><p&

35、gt;  Tool versions: </p><p>  Description: </p><p>  Dependencies: </p><p>  Revision: </p><p>  Revision 0.01 - File Created</p><p>  Additional Comments:

36、 </p><p>  /////////////////////////////////////////////////////////////////////////////////</p><p>  module mbiao1(clk_48M,dig,seg,ena,key);</p><p>  input[1:0] key;</p><

37、;p>  input clk_48M;//輸入頻率為48MHZ的時鐘</p><p>  output[2:0] dig;//數(shù)碼管位選</p><p>  output[7:0] seg;//數(shù)碼管段選</p><p>  output ena; //3-8譯碼器使能</p><p>  reg[2

38、:0] dig,count3b;</p><p>  reg[7:0] seg;</p><p>  reg[3:0] disp_dat;//定義顯示數(shù)據(jù)寄存器</p><p>  reg[18:0]count;//定義計數(shù)寄存器</p><p>  reg[23:0]hour;//定義現(xiàn)在時刻寄存器</p><

39、p>  reg clk100;//48MHZ的時鐘信號480000分頻,得到100HZ的時鐘信號</p><p>  reg key_flag; //啟動/暫停的切換標(biāo)志</p><p>  reg [1:0]key_inner;</p><p>  assign ena=0;</p><p><b>

40、  //按鍵輸入緩存</b></p><p>  always @(posedge count[16])</p><p><b>  begin</b></p><p>  key_inner<= key;</p><p><b>  end</b></p><

41、;p>  always @(negedge key_inner[0])</p><p><b>  begin</b></p><p>  key_flag=~key_flag;</p><p><b>  end</b></p><p>  //0.01秒信號產(chǎn)生部分,產(chǎn)生100HZ的時鐘信

42、號</p><p>  always @ (posedge clk_48M)</p><p><b>  begin</b></p><p>  if(count==239999)</p><p><b>  begin</b></p><p>  clk100<=~c

43、lk100;</p><p><b>  count<=0;</b></p><p><b>  end</b></p><p><b>  else</b></p><p>  count<=count+1'b1;</p><p>

44、<b>  end</b></p><p>  //數(shù)碼管動態(tài)掃描顯示部分</p><p>  always @(posedge count[10]) </p><p><b>  begin</b></p><p>  count3b=count3b+1;</p><

45、p>  case(count3b)</p><p>  3'd0:disp_dat=hour[3:0];</p><p>  3'd1:disp_dat=hour[7:4];</p><p>  3'd2:disp_dat=4'ha;</p><p>  3'd

46、3:disp_dat=hour[11:8];</p><p>  3'd4:disp_dat=hour[15:12];</p><p>  3'd5:disp_dat=4'ha;</p><p>  3'd6:disp_dat=hour[19:16];</p><p>  3'd7:

47、disp_dat=hour[23:20];</p><p>  default:disp_dat=4'bxxxx;</p><p><b>  endcase</b></p><p>  dig=count3b;</p><p><b>  end</b></p><

48、p>  always @(disp_dat)</p><p><b>  begin</b></p><p>  case(disp_dat)</p><p>  4'h0:seg=8'hc0;</p><p>  4'h1:seg=8'hf9;</p>

49、;<p>  4'h2:seg=8'ha4;</p><p>  4'h3:seg=8'hb0;</p><p>  4'h4:seg=8'h99;</p><p>  4'h5:seg=8'h92;</p><p>  4&

50、#39;h6:seg=8'h82;</p><p>  4'h7:seg=8'hf8;</p><p>  4'h8:seg=8'h80;</p><p>  4'h9:seg=8'h90;</p><p>  4'ha:seg=8'

51、;hbf;</p><p>  default:seg=8'bxxxxxxxx;</p><p><b>  endcase</b></p><p><b>  end</b></p><p><b>  //計時處理部分</b></p>

52、<p>  always @(posedge clk100)//計時處理</p><p><b>  begin</b></p><p>  if(!key_inner[1]&&key_flag==1)//判斷是否復(fù)位鍵</p><p><b>  begin</b></p>&

53、lt;p>  hour = 24'h0;</p><p><b>  end</b></p><p>  else if(!key_flag)</p><p><b>  begin</b></p><p>  hour[3:0] = hour[3:0] + 1;&l

54、t;/p><p>  if(hour[3:0] == 4'ha)</p><p><b>  begin</b></p><p>  hour[3:0] = 4'h0;</p><p>  hour[7:4] = hour[7:4] + 1;</p><p>  if(hour[7:

55、4] == 4'ha)</p><p><b>  begin</b></p><p>  hour[7:4] = 4'h0;</p><p>  hour[11:8] = hour[11:8] + 1;</p><p>  if(hour[11:8] == 4'ha)</p>&l

56、t;p><b>  begin</b></p><p>  hour[11:8] = 4'h0;</p><p>  hour[15:12] = hour[15:12] + 1;</p><p>  if(hour[15:12] == 4'h6)</p><p><b>  begin&l

57、t;/b></p><p>  hour[15:12] = 4'h0;</p><p>  hour[19:16] = hour[19:16] + 1;</p><p>  if(hour[19:16] == 4'ha)</p><p><b>  begin</b></p><

58、p>  hour[19:16] = 4'h0;</p><p>  hour[23:20] = hour[23:20] + 1;</p><p><b>  end</b></p><p>  if(hour[23:20] == 4'h6)</p><p>  hour[23:20] = 4'

59、;h0;</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b></p><p><b>  end&

60、lt;/b></p><p><b>  end</b></p><p><b>  endmodule</b></p><p>  4.3系統(tǒng)部分功能仿真  各部分模塊完成后,用QuartusⅡ?qū)Τ绦蚓幾g、仿真、得到的仿真波形如圖5所示如下:</p><p>  圖6

61、數(shù)字秒表仿真波形</p><p>  本系統(tǒng)采用的FPGA芯片為Altera公司的EPlC6Q240,用VHDL和QuartusⅡ軟件工具開發(fā),設(shè)計輸入完成后,進(jìn)行整體的編譯和邏輯仿真,然后進(jìn)行轉(zhuǎn)換、延時仿真生成配置文件,最后下載至FPGA器件,完成結(jié)果功能配置,實現(xiàn)其硬件功能。</p><p><b>  五、設(shè)計過程</b></p><p>

62、;  SOPC設(shè)計首先使用Quartus II建立一個Quartus II 的工程,創(chuàng)建完成工程之后,需要創(chuàng)建頂層實體。創(chuàng)建完頂層設(shè)計文件之后,使用SOPC Builder創(chuàng)建NIOS II 嵌入式處理器,添加、配置系統(tǒng)的外設(shè)IP,組成Nios II系統(tǒng)模塊。 Nios II 系統(tǒng)模塊設(shè)計完成之后要加入到該頂層實體中,然后進(jìn)行其他片上邏輯的開發(fā)。</p><p>  5.1 Quartus II 工程的建立:&

63、lt;/p><p>  啟動Quartus II軟件;</p><p>  2.選擇File菜單?New Project Wizard,出現(xiàn)Introduction頁面,該頁面介紹所要完成的具體任務(wù),點擊next。</p><p>  3. 進(jìn)行項目名稱的設(shè)定、工作目錄的選擇。指定工程存放的目錄,工程名和頂層實體名,工程名和頂層實體名要求相同,工程目錄可以隨意設(shè)置,但必

64、須是英文的目錄,工程名和頂層實體名也要求是英文名字,我們的工程名和頂層實體名為watch,選擇Next。</p><p>  4. 可以為工程添加先期已經(jīng)輸入的設(shè)計文件,指定用戶自定義的元件庫的路徑,這里我們沒有事先輸入好的文件,也沒有自定義的元件庫,點擊Next進(jìn)入下一步。 </p><p>  5. 用戶指定目標(biāo)器件,根據(jù)開發(fā)板的所使用的器件來選擇,實際開發(fā)中,通過查看核心板的參考手冊

65、來獲取所使用的器件具體型號,可以使用窗口右邊的Filters來加快器件的選擇,選擇完畢點擊Next。</p><p>  6. 指定在Quartus II 之外的用于,設(shè)計輸入、綜合、仿真、時序分析的第三方EDA工具,Quartus II對第三方工具的支持比較完善。這里我們不做選擇,直接點擊Next。</p><p>  所見新工程的信息,確認(rèn)所創(chuàng)建工程的主要信息,點擊Finish完成工程

66、的建立,在開發(fā)的過程中,還可以通過菜單assignment?Settings來對這些配置進(jìn)行修改。 點擊Finish按鈕,Quartus II自動會打開這個工程,可以看到頂層實體名出現(xiàn)在工程導(dǎo)航窗口中。</p><p>  7. 新建的工程窗口中,選擇File?New;在Device Design File頁中,選擇Block Diagram/Schematic File,即原理圖文件,也可以選擇硬件描述語言的文

67、件形式。單擊OK。出現(xiàn)一個模塊編輯窗口;選擇File?Save As,出現(xiàn)Save As對話框,顯示的目錄為之前設(shè)置的工程目錄,文件名為之前設(shè)置的頂層實體名(由于這是工程的第一個文件,系統(tǒng)會默認(rèn)為頂層設(shè)計實體的名字)。確定Add to Current Project選項被選中,點擊save。</p><p>  5.2創(chuàng)建NIOS II 系統(tǒng)模塊</p><p> ?。?) 創(chuàng)建系統(tǒng):啟動

68、SOPC Builder,選擇Tools?SOPC Builder,出現(xiàn)如圖所示的Create New System對話框。鍵入系統(tǒng)的名字,選擇硬件描述語言Verilog或者是VHDL。 </p><p>  (2) 設(shè)置系統(tǒng)主頻和指定目標(biāo)FPGA:在Board部分選擇Unspecified,然后在Device Family選擇Cyclone II。用戶需要設(shè)置系統(tǒng)的時鐘頻率,該頻率用于計算硬件和軟件開發(fā)中的定時

69、,比如時鐘分頻或波特率,還可以選擇是否選用流水線。 </p><p> ?。?)加入Nios II CPU和 IP模塊:首先加入Nios II軟核,Nios II 是軟核CPU,共有三種類型的CPU可供選擇:Nios II/e(經(jīng)濟(jì)型)、Nios II/s(標(biāo)準(zhǔn)型)和Nios II/f(快速型)。用戶可以根據(jù)實際的情況進(jìn)行選擇。Nios II是一個用戶可以自行進(jìn)行定制的CPU,用戶可以增加新的外設(shè)、新的指令等。&

70、lt;/p><p><b>  添加CPU軟核</b></p><p>  添加內(nèi)存__SDRAM</p><p>  添加LCD模塊 添加100ms的定時器</p><p>  完整的SOPC的硬件系統(tǒng)</p><p><b>  六、結(jié)論</b>&

71、lt;/p><p>  本系統(tǒng)設(shè)計用了現(xiàn)在EDA設(shè)計手段,基于FPGA采用VHDL語言編程實現(xiàn)數(shù)字秒表的設(shè)計。運用層次化設(shè)計方法,完成各電路模塊的連接。本數(shù)字秒表可用于體育比賽,計時精度大于1/100S,計時器能顯示1/100S的時間,計時器的最長計時時間為1小時,顯示的最長時問為59分59.99秒。系統(tǒng)具有簡單、工作穩(wěn)定可靠等優(yōu)點.具有一定的實際意義。</p><p>  現(xiàn)在做一個相對自己

72、水平來說功能較強(qiáng)的設(shè)計,這使我在實踐中對嵌入式系統(tǒng)的理解又加深了不少,而且,在這個課程設(shè)計中,讓我真真切切感受到收獲的喜悅。在做的過程中,我遇到了很多問題,通過自己的努力,比如上網(wǎng)查資料,去圖書館借書,或者請教高年級的同學(xué),都把他們一一解決了,成功后的喜悅給了我莫大學(xué)嵌入式系統(tǒng)的信心和動力。嵌入式系統(tǒng)對于我們專業(yè)的學(xué)生來說是一門很重要的學(xué)科,盡管我們在課堂上學(xué)到的內(nèi)容有限,但在以后還要好好的學(xué)習(xí)SOPC。 在設(shè)計程序時,不能妄想一次就將

73、整個程序設(shè)計好,“反復(fù)修改,不斷改進(jìn)”是程序設(shè)計的必經(jīng)之路并且要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便。還要在設(shè)計程序過程中遇到問題是很正常的,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。</p><p>  開始做設(shè)計時總是會犯一些錯誤,只有經(jīng)過不停的改錯不停的編譯得到正確的程序說明了作為軟件編程

74、人員是不能粗心大意的,一個程序的質(zhì)量的高低與你細(xì)心與否有著一定的聯(lián)系。在編程時,我充分使用了結(jié)構(gòu)化的思想,這樣程序檢查起來也比較方便,調(diào)試時也給了我很大方便,只要一個模塊一個模塊的進(jìn)行調(diào)就可以了,充分體現(xiàn)了結(jié)構(gòu)化編程的優(yōu)勢。在設(shè)計中要求我要有耐心和毅力,還要細(xì)心,稍有不慎,一個小小的錯誤就會導(dǎo)致結(jié)果的不正確,而對錯誤的檢查要求我要有足夠的耐心,通過這次設(shè)計和設(shè)計中遇到的問題,也積累了一定的經(jīng)驗,對以后從事集成電路設(shè)計工作會有一定的幫助。

75、</p><p>  在應(yīng)用VHDL的過程中讓我真正領(lǐng)會到了其并行運行與其他軟件順序執(zhí)行的差別及其在電路設(shè)計上的優(yōu)越性。用VHDL硬件描述語言的形式來進(jìn)行數(shù)字系統(tǒng)的設(shè)計方便靈活,利用EDA軟件進(jìn)行編譯優(yōu)化仿真極大地減少了電路設(shè)計時間和可能發(fā)生的錯誤,降低了開發(fā)成本,這種設(shè)計方法在數(shù)字系統(tǒng)設(shè)計中發(fā)揮越來越重要的作用。</p><p><b>  七、參考文獻(xiàn)</b>&l

76、t;/p><p>  [1] 崔更申,孫安青.ARM嵌入式系統(tǒng)開發(fā)與實踐[M].北京:中國電力出版社,2008</p><p>  [2] 馬忠梅. ARM & Linux嵌入式系統(tǒng)教程 [M].北京:北京航空航天大學(xué)出版社,2004 </p><p>  [3] 張綺文. ARM 嵌入式常用模塊與綜合系統(tǒng)設(shè)計實例精講[M].北京:電子工業(yè)出版社,2007

77、</p><p>  [4] 劉天時. ARM7嵌入式開發(fā)基礎(chǔ)實驗[M].北京:北京航空航天大學(xué)出版社,2007 </p><p>  [5] 賈宗璞,許合利.C語言程序設(shè)計:中國礦業(yè)大學(xué)出版社,2007</p><p>  [6]朱如琪. FPGA設(shè)計實踐教程[M].北京: 科學(xué)出版社,2009. </p><p>  [7]王金明.

78、數(shù)字系統(tǒng)設(shè)計與Verilog HDL[M]. 北京:電子工業(yè)出版社,2010. [8]黃智偉. FPGA系統(tǒng)設(shè)計與實踐[M]. 北京: 電子工業(yè)出版社,2008. </p><p>  [9]李宥謀. 基于Verilog的FPGA設(shè)計基礎(chǔ)[M]. 西安: 西安電子科技大學(xué)出版社,2009 . </p><p>  [10]侯建軍.郭勇.sopc技術(shù)基礎(chǔ)教程[M]. 清華大學(xué)出版

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論