一、 實(shí)驗(yàn)?zāi)康?/strong>
1、 學(xué)習(xí)在QUARTUSII軟件中模塊符號(hào)文件的生成與調(diào)用。
2、 掌握模塊符號(hào)與模塊符號(hào)之間的連線規(guī)則與方法。
3、 掌握從設(shè)計(jì)文件到模塊符號(hào)的創(chuàng)建過(guò)程。
二、 實(shí)驗(yàn)原理
在層次化的設(shè)計(jì)文件中,經(jīng)常需要將已經(jīng)設(shè)計(jì)好的工程文件生成一個(gè)模塊符號(hào)文件作為自己的功能模塊符號(hào)在頂層調(diào)用,該符號(hào)就像圖形設(shè)計(jì)文件中的任何其它宏功能符號(hào)一樣可被高層設(shè)計(jì)重復(fù)調(diào)用。本實(shí)驗(yàn)的實(shí)驗(yàn)原理就是將前面設(shè)計(jì)的實(shí)驗(yàn)三、四、五通過(guò)QUARTUSII軟件合并成一個(gè)設(shè)計(jì)文件。實(shí)現(xiàn)實(shí)驗(yàn)三、四、五中的所有功能。
三、 實(shí)驗(yàn)內(nèi)容
本實(shí)驗(yàn)要求完成的任務(wù)與實(shí)驗(yàn)三、四、五的實(shí)驗(yàn)內(nèi)容基本一致。在實(shí)驗(yàn)中,時(shí)鐘信號(hào)選取1464HZ做為數(shù)碼管的掃描時(shí)鐘,撥動(dòng)開(kāi)關(guān)輸入一個(gè)預(yù)置的八位數(shù)據(jù),經(jīng)過(guò)數(shù)控分頻電路(實(shí)驗(yàn)五)分頻后得到一個(gè)較低的頻率做為加法計(jì)數(shù)器(實(shí)驗(yàn)三)的時(shí)鐘頻率進(jìn)行計(jì)數(shù)器的加法運(yùn)算。得到的值給數(shù)碼顯示譯碼電路(實(shí)驗(yàn)四)在數(shù)碼管上顯示出來(lái)。
四、 實(shí)驗(yàn)步驟
1、 打開(kāi)QUARTUSII軟件,新建一個(gè)工程。
2、 將以前編寫(xiě)的實(shí)驗(yàn)三、四、五的源程序代碼復(fù)制到當(dāng)前工作目錄下保存起來(lái)。
3、 選擇File>Open命令,如圖4-6-1所示,打開(kāi)復(fù)制到當(dāng)前工作目錄下和其中一個(gè)源程序代碼,如EXP3.VHD程序。
圖4-6-1 打開(kāi)一個(gè)設(shè)計(jì)文件
4、 在File菜單中選擇Create/Update項(xiàng),進(jìn)而選擇Create Symbol for Current File,點(diǎn)擊確定按鈕,即可創(chuàng)建一個(gè)代表剛才打開(kāi)的設(shè)計(jì)文件功能的符號(hào)(.bsf),如圖4-6-2所示。如果該文件對(duì)應(yīng)的符號(hào)文件已經(jīng)創(chuàng)建過(guò),則執(zhí)行該操作時(shí)會(huì)彈出提示信息,詢(xún)問(wèn)是否要覆蓋現(xiàn)存的符號(hào)文件。用戶可以根據(jù)自己的意愿進(jìn)行選擇。
圖4-6-2 從現(xiàn)行文件創(chuàng)建模塊符號(hào)文件
5、 用同樣的方法對(duì)其它設(shè)計(jì)文件(EXP4.VHD、EXP5.VHD)進(jìn)行模塊符號(hào)文件的創(chuàng)建。
6、 模塊符號(hào)文件創(chuàng)建完成后,再新建一個(gè)圖形編輯文件,打開(kāi)圖形編輯器對(duì)話框。在圖形編輯器窗口的工件區(qū)雙擊鼠標(biāo)的左鍵,或點(diǎn)擊圖中的符號(hào)工具按鈕,或選擇菜單Edit>Insert Symbol…,則彈出如圖4-6-3所示的Symbol對(duì)話框。
圖4-6-3 Symbol對(duì)話框
7、 在Symbol對(duì)話框(圖6-3)中的Project項(xiàng)下會(huì)出現(xiàn)前面創(chuàng)建的模塊符號(hào)文件(EXP3、EXP4、EXP5),我們現(xiàn)在就可以任意調(diào)用這些功能模塊符號(hào)文件。
8、 選取這些模塊符號(hào)文件放置到工作區(qū),調(diào)入需要的模塊符號(hào)以后,進(jìn)行符號(hào)之間的連線,以及放置輸入、輸出或雙向引腳。需要說(shuō)明的是,在這個(gè)實(shí)驗(yàn)中,因?yàn)檩斎氲臄?shù)據(jù)占用了十二位的撥動(dòng)開(kāi)關(guān),所以做為同步使能端的信號(hào)EN我們加入了一個(gè)VCC信號(hào),使使能端信號(hào)EN有效。所有設(shè)計(jì)完成后的電路如圖4-6-4所示。
圖4-6-4 設(shè)計(jì)圖形符號(hào)文件
9、 對(duì)自己編寫(xiě)的圖形符號(hào)輸入文件程序進(jìn)行保存,然后編譯并仿真,對(duì)程序的錯(cuò)誤進(jìn)行修改。
10、 編譯仿真無(wú)誤后,根據(jù)用戶自己的要求進(jìn)行管腳分配。分配完成后,再進(jìn)行全編譯一次,以使管腳分配生效。
如果是調(diào)用的本書(shū)提供的VHDL代碼,則實(shí)驗(yàn)連線如下:
CLK:FPGA時(shí)鐘信號(hào),接數(shù)字時(shí)鐘CLOCK3,并將這組時(shí)鐘設(shè)為1464HZ。
DATA[7..0]:分頻數(shù)據(jù)輸入信號(hào),分別接撥動(dòng)開(kāi)關(guān)的K8-K1。
COUT:計(jì)數(shù)進(jìn)位輸出信號(hào),接一個(gè)LED燈D1。
RET:計(jì)數(shù)復(fù)位信號(hào),接核心板RST復(fù)位按鍵。
LEDAG[6..0]:數(shù)碼管顯示信號(hào),接數(shù)碼管的G、F、E、D、C、B、A。
SEL[2..0]:數(shù)碼管的位選信號(hào),接數(shù)碼管的SEL2、SEL1、SEL0。
11、 根據(jù)實(shí)驗(yàn)內(nèi)容用實(shí)驗(yàn)導(dǎo)線將上面管腳分配的FPGA管腳與對(duì)應(yīng)的模塊連接起來(lái)。
12、 用下載電纜通過(guò)JTAG口將對(duì)應(yīng)的sof文件加載到FPGA中。觀察實(shí)驗(yàn)結(jié)果是否與自己的編程思想一致。
五、 實(shí)驗(yàn)現(xiàn)象與結(jié)果
以設(shè)計(jì)的參考示例為例,當(dāng)設(shè)計(jì)文件加載到目標(biāo)器件后,確認(rèn)信號(hào)連接線已正確連接,撥動(dòng)八位撥動(dòng)開(kāi)關(guān),使其為一個(gè)數(shù)值,則八位數(shù)碼管按一定的速率開(kāi)始顯示“0-F”,當(dāng)數(shù)碼管顯示A-F時(shí)LED燈LED1開(kāi)始被點(diǎn)亮,顯示其它數(shù)值時(shí)熄滅。按核心板復(fù)位鍵顯示的數(shù)值又從0開(kāi)始,撥動(dòng)八位撥動(dòng)開(kāi)關(guān),置于其它數(shù)據(jù),數(shù)碼管的顯示速率會(huì)發(fā)生改變。
六、 實(shí)驗(yàn)報(bào)告
1、 出仿真波形,并作說(shuō)明。
2、 自己設(shè)計(jì)文件,然后通過(guò)設(shè)計(jì)文件到模塊符號(hào)文件的轉(zhuǎn)換,設(shè)計(jì)自己的電路并在實(shí)驗(yàn)系統(tǒng)中驗(yàn)證。進(jìn)一步掌握這種方法。
3、 寫(xiě)出在軟件中通過(guò)其它方法從設(shè)計(jì)文件到模塊符號(hào)文件的轉(zhuǎn)換過(guò)程。