版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> EDA實驗技術文檔</b></p><p> 含異步清0和同步時鐘使能的4位加法計數(shù)器</p><p><b> 實驗內容與實驗原理</b></p><p> 利用Quartus II建立一個含計數(shù)使能、異步復位的4位加法計數(shù)器,并進行仿真測試和硬件測試。</p><
2、p> 由實驗開發(fā)板上數(shù)字信號源Clock0提供一個輸入為4Hz的時鐘輸入信號clk,由開發(fā)板上撥擋開關SW1控制計數(shù)使能端ena并由LED1指示,由核心板上SYS_RST按鍵控制復位端rst并由LED2指示,進位輸出由LED3指示,計數(shù)值由數(shù)碼管顯示。</p><p><b> 實驗步驟</b></p><p> 1、使用Quartus II建立空白工程,
3、然后命名為cnt_4b.qbf</p><p> 雙擊打開桌面上的Altera公司提供的Quartus II7.0(32-Bit)圖標,顯示如下軟件界面;</p><p> 選擇菜單欄中File>>New Project Wizard來新建工程,點擊后彈出新建工程向導對話框如下</p><p> 分別提示完成五項工作1)項目名稱與保存路徑2)頂層設
4、計實體名稱3)加入已有文件和相關庫4)指定目標Altera器件封裝和型號5)設置項目的其他EDA工具</p><p> 單擊Next進入如下圖所示界面,并按圖新建工程路徑、名稱、頂層實體</p><p> 在這里,工程名與頂層文件的實體名同名為cnt_4,文件夾所在路徑名和文件夾名中不能用中文,不能用空格,不能用括號(),可以用下劃線_或英文字母或數(shù)字,但最好也不要以數(shù)字開頭。<
5、/p><p> 單擊Next進入如下圖所示界面,這里是添加已有相關工程文件,這里我們是建立空白工程,所以不需要添加任何文件</p><p> 單擊Next進入如下圖所示界面,這一步是對所用實驗核心板中FPGA器件進行設置,以確保代碼順利編譯和下載。MagicSOPC實驗箱上的FPGA標配為:Altera公司CycloneII系列的EP2C35F672。設置相關參數(shù)如圖所示。</p&g
6、t;<p> 設置完成后,單擊Next, 進入如下圖所示界面,這里不需要設置其他EDA工具</p><p> 再單擊Next,出現(xiàn)如下圖所示的工程信息報告對話框,提示設計者看到工程文件配置信息報告。最后,單擊Finish,完成新建工程的建立。</p><p> 2、建立文本編程文件</p><p> 1)新建Verilog HDL源程序文件cn
7、t4b.v,輸入程序代碼并保存,(完整的程序參考清單見附錄),進行綜合編譯。</p><p> 在第1步,已經(jīng)創(chuàng)建好的設計工程后,在菜單欄中File>>New打開新建文本對話框如下圖所示,在新建對話框中選擇Verilog HDL File,按OK就可建立一個空的Verilog HDL文件,缺省名為Verilog1.v。</p><p> 再選擇菜單命令中File>&g
8、t;Save As 改名為cnt4b.v,點擊保存!</p><p> 這里切莫將文件名默認為cnt_4b,根據(jù)筆者的經(jīng)驗這將造成后續(xù)建立的相對應的模塊符號無法正常添加到頂層實體的圖形設計文件中去。</p><p> 在cnt4b.v空白Verilog HDL程序文件中輸入設計計數(shù)程序模塊,輸入無誤后點擊圖標加以保存。詳細程序文件和說明見附錄1!</p><p>
9、; 這里要注意保證程序的模塊名應和文件名一致!</p><p> 對上述的Verilog HDL文件進行編譯處理,具體操作如下:</p><p> 如圖所示,在工程向導欄窗口中的File標簽中的Led.v文件單擊鼠標右鍵,在彈出的菜單中單擊Set at Top-level-Entity選項。將cnt4b.v文件設置為頂層實體。這一步很重要,不設置無法進行b步驟的編譯與綜合</p
10、><p> 選擇菜單欄中Processing>>Start>>Start Analysis&Synthesis進行綜合編譯,也可以選擇工具欄上的按鈕啟動編譯</p><p> 若在編譯過程中發(fā)現(xiàn)錯誤,則找出并更正錯誤,直至編譯成功為止。若編譯成功會出現(xiàn)如下圖形:</p><p> 2)再新建Verilog HDL源程序文件decl7
11、s.v,輸入程序代碼并保存,(完整的程序參考清單見附錄),進行綜合編譯。</p><p> 相應新建保存以及綜合編譯的步驟請參照1)新建cnt4b.v</p><p> 新建文件名decl7s.v的空白Verilog HDL文件</p><p> 在decl7s.v空白Verilog HDL程序文件中輸入顯示計數(shù)程序模塊,輸入無誤后點擊圖標加以保存。詳細程序文
12、件和說明見附錄2!</p><p> 對decl7s.v文件進行Verilog HDL文件進行編譯處理,這里同樣別忘了將文件設置為頂層實體文件</p><p> 至此,我們已經(jīng)建立了實驗所需要的加法計數(shù)模塊和數(shù)碼管靜態(tài)顯示模塊!下面我們要做到就是將文本模塊程序進行“封裝”!</p><p> 3、從設計文件創(chuàng)建模塊</p><p>
13、如下圖所示,在工程向導里面的Files標簽中的cnt4b.v文件單擊鼠標右鍵,在彈出的菜單中單擊Create Symbol Files for Current File選項。之后會彈出一對話框提示原理圖文件創(chuàng)建成功,點“確定”按鈕即可創(chuàng)建一個代表現(xiàn)行一個代表現(xiàn)行文件功能的符號文件(cnt4b.bsf)。</p><p> 同理,用同樣的操作步驟,可以輕松的創(chuàng)建對decl7s.v代表的decl7s.bsf符號文件
14、</p><p><b> 4、波形仿真驗證</b></p><p> 這里我們將詳細介紹在第3部分建立的cnt4b.v計數(shù)模塊加以波形仿真驗證(前仿真)</p><p> 選擇在工程向導里面的Files標簽中的cnt4b.v文件,將其設回頂層實體文件,然后在進行一次綜合編譯(筆者認為,是為了能在后續(xù)的Node Finder對話框找到所需
15、的引腳,而不是其他模塊的引腳,這一點請格外注意?。?lt;/p><p> 選擇菜單欄中File>>New命令,打開新建文件對話框,如下圖所示:選擇Other Files標簽頁從中選擇Vector Waveform File(矢量波形文件),按OK建立空的波形編輯窗口,缺省值為Waveform1.vwf.選擇File>>Save As改名為cnt_4b.vwf并保存。</p>&
16、lt;p> 在如下圖所示的Name標簽區(qū)域內雙擊鼠標左鍵,彈出添加節(jié)點對話框</p><p> 在上圖中Insert Node or Bus對話框中單擊Node Finder 按鈕,彈出如下對話框,這里要進行三步設置</p><p> Filter>>Pins:all 按List按鈕</p><p><b> 按>>
17、添加所有節(jié)點</b></p><p> 按OK按鈕,這樣就會彈出一個未經(jīng)設置過的波形圖</p><p> 選擇Edit>>End Time命令,彈出結束時間對話框,在Time框中輸入仿真結束時間,這里我們采用默認設置(1us)</p><p><b> 編輯輸入節(jié)點波形。</b></p><p&
18、gt; 筆者認為這一步是體現(xiàn)實驗者對實驗對象計數(shù)模塊理解的情況下,根據(jù)自己仿真意圖,去建立輸入節(jié)點的波形,然后通過功能仿真觀察輸出波形,比對結果。</p><p> 如何建立輸入節(jié)點波形?</p><p> 在這里需要使用到上圖最左側的波形編輯器工具條,具體各個標簽請詳細參照EDA實驗與實踐教程(二)P84</p><p><b> clk輸入:&
19、lt;/b></p><p> 點擊Name欄中的clk輸入,這樣會是其高亮度顯示</p><p> 點擊波形編輯器工具條中(時鐘),彈出如右圖的時鐘設置窗口,這里筆者采用默認值</p><p><b> 點擊OK</b></p><p> ena輸入和rst輸入</p><p>
20、 分別點擊Name欄中的相應輸入,在波形圖中,使用工具(或者其他功能工具標簽)在合適位置進行靈活設置,具體圖形請參照上圖。</p><p> 選擇Processing>>Simulator Tool命令,彈出如下窗口,按下圖進行選擇設置</p><p><b> 具體步驟如下</b></p><p><b> 1)選
21、擇</b></p><p><b> 2)選擇仿真文件</b></p><p> 3)點擊,若產(chǎn)生功能仿真網(wǎng)表成功,提示如下信息</p><p><b> 4)選擇上</b></p><p> 5)按開始仿真,若通過,提示下圖信息:</p><p> 6
22、)按此按鈕打開仿真后的波形文件,仿真后得到的波形文件如下圖所示:</p><p> 驗證仿真結果是否與設計相符合,如果不符合,需要重新設計文件,再進行綜合編譯、仿真。指導仿真結果與設計相符合為止</p><p> 5、建立頂層實體文件------圖形設計文件</p><p> 如圖所示,選擇菜單欄中File>>New打開新建對話框,在新建對話框中選
23、擇Block Diagram/Schematic File,按OK就可建立一個空的圖形設計文件,缺省名為Block1.bdf。</p><p> 如圖所示,選擇菜單欄中File>>Save As打開將BDF文件存盤的對話框,</p><p> 在這里,一定要接受默認的文件名(與頂層實體名一定要相同),并默認Add file to current projext選項選中,以使
24、該文件添加到工程中去。</p><p> 至此,完成了頂層模塊的建立,下面將Verilog HDL文件生成的模塊符號文件加入到頂層模塊中去!</p><p> 6. 建立4位加法計數(shù)器頂層模塊原理圖</p><p> 添加cnt4b.bsf模塊到Quartus II頂層模塊</p><p> 在工程向導欄窗口中的File標簽中的cnt
25、_4b.bdf文件單擊鼠標右鍵,在彈出的菜單中單擊Set at Top-level-Entity選項。將cnt_4b.bdf文件設置為頂層實體。</p><p> 在cnt_4b.bdf右側空白窗口中,任意處雙擊,彈出添加符號(symbol)的對話框,如下圖所示:</p><p> c.單擊OK,Symbol對話框被關閉,cnt_4bf符號被附在鼠標的指針上,在cnt_4b.bdf的窗
26、口中的適當位置,放下該符號</p><p> d.選擇File>>Save來保存QuartusII頂層文件cnt_4b.bdf</p><p> 添加decl7s.bsf模塊到Quartus II頂層模塊</p><p> 添加方法請參照cnt4b.bsf模塊添加方法b,c,d步驟,所不同的就是選擇的模塊是decl7s.bsf,放在合適的位置上。&
27、lt;/p><p> 添加引腳和其他基本單元,組成完整的頂層模塊圖</p><p> 如上圖所示,在空白設計欄最左側豎向排列著若干圖標,即所謂的模塊編輯工具欄,具體內容詳見EDA實驗與實踐教程(二)P58</p><p> 我們這里就是使用若干模塊編輯工具欄中按鈕,完成頂層模塊設計!具體操作步驟如下:</p><p> 單擊模塊編輯工具欄
28、中按鈕,插入符號對話框如下圖所示,這里默認選擇了Repeat-insert mode,如此便可以重復插入相同功能的引腳。</p><p> 在Name欄目中直接輸入input,單擊OK按鈕</p><p> 連續(xù)插入三個輸入引腳,由于只需要三個輸入引腳,故浮動出現(xiàn)第四個引腳右鍵單擊出現(xiàn)選擇菜單,點擊Cancel即可取消,如下圖所示</p><p> d.同樣的
29、方法可以添加5個輸出引腳(Name欄目中輸入output)、2個非門(Name欄目中輸入not)、1個數(shù)字地(Name欄目中輸入gnd)。拖動引腳符號,按下圖進行相應正確放置</p><p> 在正確放置后,需要用到模塊編輯工具欄中按鈕(畫線)和按鈕(畫總線),需要正確使用兩種工具,切莫搞混亂用,否則在編譯的時候會報錯,尤其是需要注意在數(shù)碼管位碼dig[7..0]由于是8位輸出引腳線,所以需要用總線連接而不能用
30、單線!</p><p> 雙擊各個引腳符號,進行相應引腳命名</p><p> 選擇菜單欄中File>>Save保存BDF文件</p><p> g. 單擊快捷菜單欄中(或者按CTRL+L),開始編譯!這一步的目的筆者認為主要基于兩點1)檢查上述設計的cnt_4b.bdf文件2)方便后續(xù)分配FPGA引腳時會自動出現(xiàn)所需信號名,而不需要自己輸入&l
31、t;/p><p> 7. 選擇目標器件并對相應的引腳進行鎖定</p><p> 在這里選擇的器件為Altera公司Cyclone II系列的EP2C35F672C8芯片,具體操作在</p><p> 單擊菜單欄中Assignments>>Device,如下圖所示。進行如下操作:</p><p> Family>>C
32、yclone II</p><p> Package>>FBGA</p><p> Pin count>>672</p><p> Speed grade>>8</p><p> Available device>> EP2C35F672C8項</p><p>
33、 注意:這里其實已經(jīng)在一開始建立空白工程的時候完成,所以只需要進行再次的確認和修改</p><p> 在上圖點擊 Device&Pin Options,打開Device&Pin Options對話框。在對話框中選擇Configuration標簽頁按下圖進行設置,即采用串行配置器件EPCS16的主動配置方式。</p><p> 在對話框中選擇Unused Pins標簽頁按
34、下圖進行沒有使用引腳的設置,按照下圖設置將未使用引腳設置為高阻輸入,這樣上電后FPGA的所有不使用引腳后進入高阻抗狀態(tài)。</p><p> 筆者認為:這一步是相當關鍵,它可以避免多外設連接時造成的總線沖突,不至于造成讀數(shù)據(jù)錯誤,甚至更嚴重的長時間的器件過熱而燒毀,所以一定要將未定義的管腳設置為AS input tri-stated(三態(tài)輸入)方式</p><p> 點擊確認和OK即可退
35、出選擇器件設置完成</p><p> 本實驗中各引腳的命名以及與目標FPGA器件引腳號的關系如下表,我們就根據(jù)自己核心板選擇相應的引腳進行分配。</p><p> MagicSOPC部分引腳索引表</p><p> 注意:ena信號是撥擋開關的輸入,I/O Bank 工作電壓是2.5V,所以在I/O電平也應設置為2.5。</p><p>
36、; 單擊菜單欄中Assignments>>Pin,如下圖所示。進行如下操作:</p><p> 根據(jù)MagicSOPC部分引腳索引表在Location欄中輸入對應管腳號</p><p> 核對完成后在菜單欄中File>>close,便可以退回到主界面cnt_4b.bdf頂層文件中</p><p> 至此我們已經(jīng)完成了在QuartusI
37、I上的軟件設計和相關設置,下一步就是全局編譯了!</p><p> 8. 全程編譯和下載程序</p><p> 點擊工具欄中,對整個工程文件進行全程編譯處理,若在編譯過程中發(fā)現(xiàn)錯誤,則找出并更正錯誤,直至編譯成功為止。</p><p> 在編譯系統(tǒng)過程中,狀態(tài)窗口顯示整個編譯進行及每個編譯階段所用的時間。在編譯結果顯示在Compilation Report窗口
38、中。</p><p> 在編譯工程中可能產(chǎn)生很多警告信息,但這個不會影響設計結果!比如在本實驗中,筆者在自己的電腦上運行該編譯過程39秒,產(chǎn)生了13個警告信息。這些信息可以根據(jù)軟件手冊和提示得到一定的解決!對話框提示”Info: Quartus II Full Compilation was successful. 0 errors, 13 warnings”</p><p> 點擊確
39、定即可!如上圖所示</p><p><b> 查看編譯報告</b></p><p> 在下載程序之前,請在實驗箱上確保數(shù)字信號源(在核心板臨邊右側)的JP11的短路帽是處于ON位置,JP7中CLOCK0的短路帽處于4hz位置。</p><p> 這里還要特別提示CLOCK0~CLOCK3對應的排針左邊由不同頻率的數(shù)字信號,排針右邊是連到一
40、起的,所以每組信號源只能插一個短路帽,否則可能會損害芯片!</p><p> 下載硬件設計到目標FPGA</p><p> 方式一 成功編譯硬件系統(tǒng)后,將產(chǎn)生cnt_4b.sof的FPGA配置文件輸出。本步驟簡單介紹利用JTAG方式下載到目標FPGA器件的步驟。</p><p> 通過Z-Blaster下載電纜連接實驗箱JTAG口和主計算機,接通實驗箱電源&l
41、t;/p><p> 在QuartusII軟件中選擇Tools>>Programmer,或者點擊工具欄按鈕。打開編程器窗口并自動打開配置文件(cnt_4b.sof),如下圖所示。</p><p> 確保編程器窗口左上角的Hardware Setup欄中硬件已經(jīng)安裝</p><p><b> 選擇JTAG模式</b></p>
42、;<p> 確保Program/Configure下的方框選中</p><p> 單擊開始使用配置文件對FPGA進行配置,Progress欄顯示配置進度。</p><p> 方式二 成功編譯硬件系統(tǒng)后,將產(chǎn)生cnt_4b.pof的FPGA配置文件輸出。本步驟簡單介紹利用AS方式下載到目標FPGA器件的步驟。</p><p> a.通過Z-Bl
43、aster下載電纜連接實驗箱AS口和主計算機,接通實驗箱電源</p><p> b.在QuartusII軟件中選擇Tools>>Programmer,或者點擊工具欄按鈕。</p><p> c.確保編程器窗口左上角的Hardware Setup欄中硬件已經(jīng)安裝</p><p> d.選擇AS模式,由于筆者之前默認的JTAG方式下載,所以需要手動添加
44、cnt_4b.pof文件</p><p> 點擊彈出對話框選擇cnt_4b.pof文件后點擊打開,這樣就將需要的文件添加進去(如果之前有SOF文件,需要先選中文件后按按鈕加以刪除)</p><p> e.確保Program/Configure下的方框選中</p><p> f.單擊開始使用配置文件對FPGA進行配置,Progress欄顯示配置進度。</p
45、><p> 這里方式一是利用JTAG方式,掉電后FPGA中的配置數(shù)據(jù)將丟失,因為配置文件存儲在RAM中,下載速度相對主從AS下載較快。方式二是利用AS方式,它可以將配置文件寫入掉電保持的EPCS中,在上電時使用EPCS對FOGA進行配置。</p><p> 另外,在選擇下載方式前,一定要保持電源關閉,避免出現(xiàn)手指觸碰芯片管腳!</p><p> 9. 實驗結果與實
46、驗現(xiàn)象</p><p><b> 實現(xiàn)現(xiàn)象與分析:</b></p><p> 數(shù)字信號源為4Hz狀態(tài)下,計數(shù)值以這樣的頻率遞增并在八位數(shù)碼管顯示0,1,2,3,4,5,6,7,8,9,A,B,C,D,F,1,2………..,每當遞增至F值時,LED3燈亮,表示由進位輸出。</p><p> 將SW1上撥到0處,顯示當前值,停止計數(shù)</
47、p><p> 按下核心板上RST,計數(shù)值清零,顯示為0</p><p><b> RTL級圖</b></p><p> Technology Map Viewer Preprocess</p><p><b> 實驗心得與注意事項</b></p><p> 1)本實現(xiàn)關
48、鍵部分是cnt4b.v文件的設計,下面圖形是筆者在做cnt4b.v文件綜合編譯后得到的帶異步復位的4位加法計數(shù)器RTL圖</p><p> 現(xiàn)在結合計數(shù)模塊的源程序加以說明:</p><p> 圖中間的四位鎖存器,rst是異步清零信號,低電平有效;clk為時鐘脈沖信號,是計數(shù)加的頻率給定。ena是計數(shù)使能信號,當為高電平的時候鎖存信號。</p><p> 需要
49、說明的是:程序計數(shù)模塊中always如何產(chǎn)生鎖存器?</p><p> always @(posedge clk or negedge rst)</p><p><b> begin</b></p><p> if(rst == 1'b0)//異步清零,低電平有效</p><p> c
50、nt <= 4'h0;</p><p> else if (ena == 1'b1)//同步使能計數(shù),高電平有效</p><p> cnt <= cnt + 1'b1;</p><p><b> end</b></p><p> 仔細閱讀上述代碼既可以發(fā)現(xiàn)如下問
51、題:</p><p> Always塊,else if語句保證了ena == 1'b1(高電平)時,執(zhí)行計數(shù)功能。而沒有寫出ena == 1'b0時的結果,那么其實,如果在給定的條件下變量沒有賦值,這個變量將保持原值,也就是會說生成一個鎖存器,這里的話就是當將ena==0時,cnt值保持不變,不會根據(jù)時鐘信號累加!</p><p><b> 2)</b&
52、gt;</p><p> 數(shù)字信號源:能產(chǎn)生0.5Hz~100MHz多組數(shù)字信號源,分CLOCK0~CLOCK3四組信號輸 出,通過短路帽跳線分別可選擇不同的時鐘信號輸入到FPGA,CLOCK0~CLOCK3對應的排針左邊為不同頻率的數(shù)字信號,排針右邊是連到一起的,所以每組信號源只能插一個短路帽,否則可能會損壞芯片。 使用時要將數(shù)字信號源的電源開關JP11的短路帽跳到ON位置。</p><p
53、> FPGA編程 :通過JTAG接口下載FPGA程序時,最好將下載器插在主板上的JTAG接口,不要插在核心板的JTAG接口上,以防插反;如果使用AS接口下載程序時,一定要斷電后才能把下載器插到AS接口,確保不插反才能上電。 下載線接插最好按照以下流程:先將10Pin的仿真下載線(連著下載器)插到FPGA的JTAG或AS接口,然后再將下載器另一端的USB線插到電腦上。</p><p> 其他注意事項,見計
54、數(shù)文檔紅色字體處!</p><p><b> 附錄1 計數(shù)模塊</b></p><p> module cnt4b(clk,rst,ena,dout,cout); //模塊名cnt4b</p><p> input clk,rst,ena;//輸入信號</p><p> ou
55、tput[3:0]dout;//計數(shù)輸出</p><p> output cout;//進位輸出</p><p> reg[3:0]cnt;//計數(shù)器</p><p> assign cout = &cnt;//進位輸出 &</p><p&g
56、t; assign dout = cnt;//計數(shù)器輸出</p><p> always @(posedge clk or negedge rst)</p><p><b> begin</b></p><p> if(rst == 1'b0)//異步清零,低電平有效</p>
57、<p> cnt <= 4'h0;</p><p> else if (ena == 1'b1)//同步使能計數(shù),高電平有效</p><p> cnt <= cnt + 1'b1;</p><p><b> end</b></p><p><b
58、> endmodule</b></p><p> 模塊名一定要與所建立的文件名相一致,否則會出現(xiàn)編譯異常!</p><p> assign模塊以及always模塊之間的并行執(zhí)行的關系,時序上同步!但always模塊內部由順利執(zhí)行的關系!這也是FPGA不同與C語言的很重要的一點!</p><p> assign cout = &cnt
59、;對于這條語句中,用到了縮減運算符&,它是對單個操作數(shù)進行與遞推運算,最后的運算結果是一位的二進制數(shù)。筆者理解為</p><p> assign cout = &cnt相當于assign cout = ((cnt[0]&cnt[1])&cnt[2])&cnt[3],這樣就保證了當計數(shù)值加1到F(全1),出現(xiàn)進位信號高電平。</p><p> r
60、eg[3:0]cnt;寄存器變量只有在always塊或者是initial塊中能夠使用,always塊在仿真過程中不斷重復執(zhí)行,至于能否執(zhí)行里面的代碼取決于后面的敏感變量表的參量clk或者是rst是否發(fā)生變化</p><p><b> 附錄2</b></p><p> module decl7s(d,seg);//模塊名decl7s</p>
61、<p> input[3:0] d;//輸入4位二進制碼</p><p> output[7:0]seg;//七段譯碼輸出</p><p> reg[7:0] seg_r;//定義數(shù)碼管輸出寄存器</p><p> assign seg = seg_r;//輸出數(shù)碼管譯碼結果</p>
62、;<p> always @(d)</p><p><b> begin</b></p><p> case(d)//七段譯碼</p><p> 4'h0:seg_r = 8'hc0;//顯示0</p><p> 4'h1:seg_r = 8'
63、;hf9;//顯示1</p><p> 4'h2:seg_r = 8'ha4;//顯示2</p><p> 4'h3:seg_r = 8'hb0;//顯示3</p><p> 4'h4:seg_r = 8'h99;//顯示4</p><p> 4'
64、h5:seg_r = 8'h92;//顯示5</p><p> 4'h6:seg_r = 8'h82;//顯示6</p><p> 4'h7:seg_r = 8'hf8;//顯示7</p><p> 4'h8:seg_r = 8'h80;//顯示8</p>&
65、lt;p> 4'h9:seg_r = 8'h90;//顯示9</p><p> 4'ha:seg_r = 8'h88;//顯示a</p><p> 4'hb:seg_r = 8'h83;//顯示b</p><p> 4'hc:seg_r = 8'hc6;//
66、顯示c</p><p> 4'hd:seg_r = 8'ha1;//顯示d</p><p> 4'he:seg_r = 8'h86;//顯示e</p><p> 4'hf:seg_r = 8'h8e;//顯示f</p><p><b> endcase&
67、lt;/b></p><p><b> end</b></p><p><b> endmodule</b></p><p><b> 分析</b></p><p> 前面計數(shù)模塊輸出的計數(shù)值正是顯示模塊的輸入值集,即4bit的d變量值。</p>&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論