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

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

7小時前
120
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-240104163204947.doc

共1個文件

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

軟件:Quartus

語言:Verilog

代碼功能:

數(shù)字頻率計

采用一個標準的基準時鐘,在1s里對被測信號的脈沖數(shù)進行計數(shù),即為信號頻率利用等精度測量法可以測量1hz至99999999Hz信號頻率,七段碼管顯示測量值。

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

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

QQ圖片20240104162729.png

演示視頻:

設計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. 程序RTL圖(結構圖)

5. 管腳分配

6. Testbench

7. 仿真圖

整體仿真圖

計數(shù)模塊

顯示模塊

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

單位選擇模塊

鎖存模塊

超量程模塊

部分代碼展示:

//頂層模塊
module?frequency_detect(
input?clk_in,//輸入50M基準時鐘
input?reset_p,//復位信號,低電平復位
input?[7:0]?SW,//頻率調(diào)節(jié)開關
input?signal_in,//待測頻率輸入--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;//基準時鐘計數(shù)器寄存器
wire?[31:0]?CNT2_buf;//待測頻率計數(shù)器寄存器
wire?[31:0]?display_frequency;//顯示數(shù)值
wire?clk_out;
//分頻模塊,產(chǎn)生自測頻率
clk_div?i_clk_div(
.?clk_in(clk_in),//輸入50M基準時鐘
.?SW(SW),//頻率調(diào)節(jié)開關
.?clk_out(clk_out)//待測頻率
);
////分頻模塊,產(chǎn)生閘門信號
div_doors?i_div_doors(
.?clk_in(clk_in),//輸入50M基準時鐘
.?reset_p(reset_p),//復位信號
.?signal_in(clk_out),
.?doors_open(doors_open)//閘門信號
);
//計數(shù)模塊
count_cal?i_count_cal(
.?clk_in(clk_in),//輸入50M基準時鐘
.?signal_in(clk_out),//待測頻率輸入
.?doors_open(doors_open),
.?CNT1_buf(CNT1_buf),//輸出基準時鐘計數(shù)器
.?CNT2_buf(CNT2_buf)//輸出待測頻率計數(shù)器
);
//鎖存模塊
latch_buf?i_latch_buf(
.?clk_in(clk_in),//輸入50M基準時鐘
.?doors_open(doors_open),
.?total_frequency(total_frequency),//輸出頻率
.?CNT1_buf(CNT1_buf),//輸出基準時鐘計數(shù)器
.?CNT2_buf(CNT2_buf)//輸出待測頻率計數(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

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

  • 2-240104163204947.doc
    下載

相關推薦