軟件:Quartus
語言:Verilog
代碼功能:
頻率計設(shè)計:
基本要求:8位數(shù)碼管顯示結(jié)果,閘門時間固定1S;
擴(kuò)展:閘門時間用按鍵進(jìn)行切換,四個閘門時間:1S,0.1S,0.01S,0.001S。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 仿真圖
整體仿真圖
控制信號產(chǎn)生模塊
計數(shù)器模塊
控制鎖存器模塊
數(shù)碼管驅(qū)動顯示(加分頻器)模塊
部分代碼展示:
//頻率計 module?Freq_top( input?clk,//50MHz input?reset,//復(fù)位 input?signal_in,//被測信號 output?[7:0]?LED_BIT,//數(shù)碼管位選,8個數(shù)碼管 output?[7:0]?LED_SEG//數(shù)碼管段選 ); wire?en; wire?rst; wire?lat; wire?[31:0]?number; wire?[31:0]?store_number;//鎖存值 //控制信號產(chǎn)生模塊(控制器) Frq_Ctrl?i_Frq_Ctrl( .?clk(clk),//50MHz .?en(en),////1S閘門信號 .?rst(rst),//清零 .?lat(lat)//鎖存 ); //計數(shù)器模塊 counter?i_counter?( .?signal_in(signal_in),//被測信號 .?en(en),////1S閘門信號 .?rst(rst),//清零 .?number(number)//計數(shù)值 ); //鎖存器模塊 data_store?i_data_store( .?reset(reset),//復(fù)位 .?lat(lat),//鎖存 .?number(number),//計數(shù)值 .?store_number(store_number)//鎖存值 ); //數(shù)碼管驅(qū)動顯示(加分頻器) LED_DISP?i_LED_DISP( .?clk(clk),// .?store_number(store_number),//鎖存值 .?LED_BIT(LED_BIT),//數(shù)碼管位選,4個數(shù)碼管 .?LED_SEG(LED_SEG)//數(shù)碼管段選 ); endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=423
閱讀全文