名稱:Quartus數(shù)字頻率計(jì)verilog代碼altera開發(fā)板
軟件:Quartus
語(yǔ)言:Verilog
代碼功能:
1、設(shè)計(jì)一個(gè)能測(cè)量并顯示信號(hào)頻率的頻率計(jì)。
2、用數(shù)碼管顯示測(cè)量的頻率。
3、測(cè)頻范圍:1Hz-100MHz,誤差<0.01%。
4、輸入信號(hào)類型:方波。
5、輸入信號(hào)幅度:LVTTL電平。
6、采用等精度法在 Quartus平臺(tái)下完成測(cè)頻電路的設(shè)計(jì)仿真和測(cè)試。
7、測(cè)量并顯示信號(hào)的占空比,誤差<1%。
8、測(cè)量?jī)陕吠l率方波輸入信號(hào)的時(shí)間間隔,誤差<1%。
9、方波輸入信號(hào)的頻率為1Hz~10MHz。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在altera開發(fā)板驗(yàn)證,altera開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
管腳分配
5. 仿真圖
整體仿真圖
5.1 分頻模塊
5.2 閘門信號(hào)產(chǎn)生模塊
5.3 計(jì)數(shù)模塊
5.4 運(yùn)算鎖存模塊
5.5 數(shù)碼管顯示模塊
部分代碼展示:
//計(jì)數(shù)模塊
module count_cal(
input clk_in,//輸入50K基準(zhǔn)時(shí)鐘
input signal_in,//待測(cè)頻率輸入
input doors_open,
output reg [31:0]CNT1_buf,//輸出基準(zhǔn)時(shí)鐘計(jì)數(shù)器
output reg [31:0]CNT2_buf//輸出待測(cè)頻率計(jì)數(shù)器
);
wire?door_1s;
assign door_1s=doors_open;
reg [31:0] CNT1=32'd0;//基準(zhǔn)時(shí)鐘計(jì)數(shù)器
reg [31:0] CNT2=32'd0;//待測(cè)頻率計(jì)數(shù)器
always@(posedge clk_in)
if(door_1s==1)begin
CNT1<=CNT1+32'd1;//基準(zhǔn)時(shí)鐘計(jì)數(shù)器
end
else begin
CNT1<=32'd0;
end
always@(posedge signal_in)
if(door_1s==1)begin
CNT2<=CNT2+32'd1;//待測(cè)頻率計(jì)數(shù)器
end
else begin
CNT2<=32'd0;
end
always@(posedge clk_in)
begin
CNT1_buf<=CNT1;//基準(zhǔn)頻率計(jì)數(shù)
CNT2_buf<=CNT2;//待測(cè)頻率計(jì)數(shù)
end
endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=393