|
Xilinx FPGA入門連載8:Verilog源碼文件創建與編輯 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1jGjAhEm
在上一個實例的基礎上,如圖所示,我們先到工程所在文件夾中,創建一個名為“source_code”的空文件夾,將來新創建的Verilog源文件,我們都把它們存放在這里,這樣做的好處是便于查看和管理。
接著回到ISE中打開sp6ex1工程。我們在“Design à Implementation à Hierarchy”中的任意位置單擊鼠標右鍵,彈出菜單中選擇“New Source..”。
在“New Source Wizard”中,做如圖所示的設置。 ● “Select Source Type”中選擇新建文件類型為“VerilogModule”。 ● “File name”即文件名,因為這個文件要作為工程的頂層文件,所以最好是和工程名稱一致,即“sp6”,如果不是工程頂層源文件,名稱隨意起,當然了也不要有中文和符號(還是要以字母、數字、下劃線為主)。 ● “Location”下面輸入這個新建文件所存放的路徑,我們將其定位到新創建的“source_code”文件夾下,整個路徑為“D:\myfpga\DK_SF_SP6\lesson\project\sp6ex1\source_code”。 ● 勾選上“Add to project”。
完成以上設置后,點擊“Next”繼續。 在接著彈出的“Define Module”窗口中,默認出現了“Modulename”為“sp6”,即我們上一個頁面設定的名稱,不需要修改。接著如圖所示,我們分別設定三個信號ext_clk_25m(input)、ext_rst_n(input)、clk_12m5(output)作為設計文件的對外接口。這個地方也可以不用設置,創建好Verilog源文件后直接在文本中編輯也行。完成設置后,點擊“Next”繼續。
最后彈出“Summary”頁面,點擊“Finish”完成創建。
此時,彈出了Notepad++打開的sp6.v文件,即我們剛剛創建好的Verilog工程源碼文件。
此時,在source_code文件夾下也出現了sp6.v文件。
在sp6.v源文件中,輸入一段對時鐘二分頻的代碼,編輯好后的sp6.v源文件代碼如下。 //對外部輸入時鐘做二分頻 module sp6( input ext_clk_25m, //外部輸入25MHz時鐘信號 input ext_rst_n, //外部輸入復位信號,低電平有效 output reg clk_12m5 //二分頻時鐘信號 ); always @(posedge ext_clk_25m or negedge ext_rst_n) if(!ext_rst_n) clk_12m5 <=1'b0; else clk_12m5 <= ~clk_12m5; endmodule 這段代碼的功能是: ● 輸入復位信號ext_rst_n為低電平時,即復位狀態。無論輸入時鐘ext_clk_25m是否運行,輸出信號clk_12m5始終保持低電平。 ● 輸入復位信號ext_rst_n為高電平時,即退出復位。每個ext_clk_25m時鐘信號的上升沿,信號clk_12m5的輸出值翻轉。 如圖所示,這便是前面的代碼將要實現的功能。
|