名稱:任意整數(shù)分頻器設(shè)計Verilog代碼vivado? ego1開發(fā)板
軟件:vivado
語言:Verilog
代碼功能:
任意整數(shù)分頻器設(shè)計
1、支持進行任意整數(shù)分頻;
2、使用一個偶數(shù)分頻器和一個奇數(shù)分頻器模塊;
3、根據(jù)輸入的分頻值,選擇輸出偶分頻還是奇分頻。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在ego1開發(fā)板驗證,ego1開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 管腳約束
4. 程序編譯
5. 仿真文件(testbench)
6. 仿真圖
6.1 整體仿真
6.2 偶分頻模塊
下圖可看出,輸入N為偶數(shù)時,en使能信號為高電平,clk_div輸出偶數(shù)分頻信號
6.3 奇分頻模塊
下圖可看出,輸入N為奇數(shù)時,en使能信號為高電平,clk_div輸出奇數(shù)分頻信號
部分代碼展示:
module?div_n( input?clk,//時鐘100M input?rst_n,//復(fù)位信號 input?[14:0]?N,//輸入的分頻倍數(shù) output?clk_div//輸出分頻信號 ); wire?clk_div_ou;//偶分頻信號 wire?clk_div_ji;//奇分頻信號 //偶分頻模塊 div_ou?i_div_ou( .?clk(clk),//時鐘100M .?rst_n(rst_n),//復(fù)位信號 .?N(N),//輸入的分頻倍數(shù) .?en(~N[0]),//使能信號 .?clk_div(clk_div_ou)//輸出分頻信號 ); //奇分頻模塊 div_ji?i_div_ji( .?clk(clk),//時鐘100M .?rst_n(rst_n),//復(fù)位信號 .?N(N),//輸入的分頻倍數(shù) .?en(N[0]),//使能信號 .?clk_div(clk_div_ji)//輸出分頻信號 ); ?? assign?clk_div=clk_div_ou?|?clk_div_ji;//輸出偶分頻或奇分頻 endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=466