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