• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

數(shù)字頻率計(jì)Verilog代碼Quartus DE1-SoC開發(fā)板

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-240104163204947.doc

共1個(gè)文件

名稱:數(shù)字頻率計(jì)Verilog代碼Quartus??DE1-SoC開發(fā)板

軟件:Quartus

語言:Verilog

代碼功能:

數(shù)字頻率計(jì)

采用一個(gè)標(biāo)準(zhǔn)的基準(zhǔn)時(shí)鐘,在1s里對(duì)被測(cè)信號(hào)的脈沖數(shù)進(jìn)行計(jì)數(shù),即為信號(hào)頻率利用等精度測(cè)量法可以測(cè)量1hz至99999999Hz信號(hào)頻率,七段碼管顯示測(cè)量值。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在DE1-SoC開發(fā)板驗(yàn)證,DE1-SoC開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

QQ圖片20240104162729.png

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. 程序RTL圖(結(jié)構(gòu)圖)

5. 管腳分配

6. Testbench

7. 仿真圖

整體仿真圖

計(jì)數(shù)模塊

顯示模塊

閘門信號(hào)產(chǎn)生模塊

單位選擇模塊

鎖存模塊

超量程模塊

部分代碼展示:

//頂層模塊
module?frequency_detect(
input?clk_in,//輸入50M基準(zhǔn)時(shí)鐘
input?reset_p,//復(fù)位信號(hào),低電平復(fù)位
input?[7:0]?SW,//頻率調(diào)節(jié)開關(guān)
input?signal_in,//待測(cè)頻率輸入--GPIO_0_0
output?gear_led,//單位指示燈
output?over_load_led,//超量程指示燈
output?[7:0]HEX0,//數(shù)碼管段選
output?[7:0]HEX1,//數(shù)碼管段選
output?[7:0]HEX2,//數(shù)碼管段選
output?[7:0]HEX3,//數(shù)碼管段選
output?[7:0]HEX4,//數(shù)碼管段選
output?[7:0]HEX5//數(shù)碼管段選
);
wire?doors_open;
wire?[31:0]?total_frequency;
wire?[31:0]?CNT1_buf;//基準(zhǔn)時(shí)鐘計(jì)數(shù)器寄存器
wire?[31:0]?CNT2_buf;//待測(cè)頻率計(jì)數(shù)器寄存器
wire?[31:0]?display_frequency;//顯示數(shù)值
wire?clk_out;
//分頻模塊,產(chǎn)生自測(cè)頻率
clk_div?i_clk_div(
.?clk_in(clk_in),//輸入50M基準(zhǔn)時(shí)鐘
.?SW(SW),//頻率調(diào)節(jié)開關(guān)
.?clk_out(clk_out)//待測(cè)頻率
);
////分頻模塊,產(chǎn)生閘門信號(hào)
div_doors?i_div_doors(
.?clk_in(clk_in),//輸入50M基準(zhǔn)時(shí)鐘
.?reset_p(reset_p),//復(fù)位信號(hào)
.?signal_in(clk_out),
.?doors_open(doors_open)//閘門信號(hào)
);
//計(jì)數(shù)模塊
count_cal?i_count_cal(
.?clk_in(clk_in),//輸入50M基準(zhǔn)時(shí)鐘
.?signal_in(clk_out),//待測(cè)頻率輸入
.?doors_open(doors_open),
.?CNT1_buf(CNT1_buf),//輸出基準(zhǔn)時(shí)鐘計(jì)數(shù)器
.?CNT2_buf(CNT2_buf)//輸出待測(cè)頻率計(jì)數(shù)器
);
//鎖存模塊
latch_buf?i_latch_buf(
.?clk_in(clk_in),//輸入50M基準(zhǔn)時(shí)鐘
.?doors_open(doors_open),
.?total_frequency(total_frequency),//輸出頻率
.?CNT1_buf(CNT1_buf),//輸出基準(zhǔn)時(shí)鐘計(jì)數(shù)器
.?CNT2_buf(CNT2_buf)//輸出待測(cè)頻率計(jì)數(shù)器
);
//單位選擇模塊
gear_position?i_gear_position(
.?clk(clk_in),
.?total_frequency(total_frequency),//頻率
.?gear_led(gear_led),//單位指示燈
.?display_frequency(display_frequency)//顯示數(shù)值
);
//超量程指示模塊
over_load?i_over_load(
.?clk(clk_in),
.?total_frequency(total_frequency),//頻率
.?over_load_led(over_load_led)//超量程指示燈
);
//數(shù)碼管顯示模塊
display?i_display(
.?clk(clk_in),
.?display_frequency(display_frequency),//輸出頻率
.?HEX0(HEX0),
.?HEX1(HEX1),
.?HEX2(HEX2),
.?HEX3(HEX3),
.?HEX4(HEX4),
.?HEX5(HEX5)
);
endmodule

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=489

  • 2-240104163204947.doc
    下載

相關(guān)推薦