名稱:頻率設(shè)計(jì)與仿真Verilog代碼vivado? ego1開發(fā)板
軟件:vivado
語言:Verilog
代碼功能:
要求:
1、波形:方波;
2、測頻范圍為100MHz以下;
3、測頻精度為1Hz;
4、能夠?qū)y得的頻率以十進(jìn)制方式顯示在8個(gè)數(shù)碼管上。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在?ego1開發(fā)板驗(yàn)證,?ego1開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 資源占用
6. 管腳分配
7. Testbench
8. 仿真圖
整體仿真圖
控制模塊仿真圖
計(jì)數(shù)器模塊仿真圖
鎖存器模塊仿真圖
顯示模塊仿真圖
部分代碼展示:
//頻率計(jì) module?Freq_top( input?clk,//100MHz input?reset,//復(fù)位 input?signal_in,//被測信號 output?[7:0]?LED_BIT,//數(shù)碼管位選,8個(gè)數(shù)碼管 output?[7:0]?LED_SEG_1,//數(shù)碼管段選 output?[7:0]?LED_SEG_2//數(shù)碼管段選 ); wire?en; wire?rst; wire?lat; wire?[31:0]?number; wire?[31:0]?store_number;//鎖存值 //控制模塊 Frq_Ctrl?i_Frq_Ctrl( .?clk(clk),//100MHz .?en(en),////1S閘門信號 .?rst(rst),//清零 .?lat(lat)//鎖存 ); //計(jì)數(shù)器模塊 counter?i_counter?( .?signal_in(signal_in),//被測信號 .?en(en),////1S閘門信號 .?rst(rst),//清零 .?number(number)//計(jì)數(shù)值 ); //控制鎖存器模塊 data_store?i_data_store( .?reset(reset),//復(fù)位 .?lat(lat),//鎖存 .?number(number),//計(jì)數(shù)值 .?store_number(store_number)//鎖存值 ); //數(shù)碼管顯示 LED_DISP?i_LED_DISP( .?clk(clk),// .?store_number(store_number),//鎖存值 .?LED_BIT(LED_BIT),//數(shù)碼管位選,8個(gè)數(shù)碼管 .?LED_SEG_1(LED_SEG_1),//數(shù)碼管段選 .?LED_SEG_2(LED_SEG_2)//數(shù)碼管段選 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=448