|
勇敢的芯伴你玩轉Altera FPGA連載42:基于仿真的第一個工程實例之Verilog源碼文件編輯 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD
我們接著在該文件中輸入實現實驗功能的一段Verilog代碼如下。 //對外部輸入時鐘做二分頻 module cy4( 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的輸出值翻轉。 如圖5.14所示,這便是前面的代碼將要實現的功能。
圖6.7 源碼實現功能波形 |