简易频率计 的设计与验证

本文介绍了一个使用等精度测量法设计的简易频率计,该计数器通过FPGA实现,能够测量并显示输入时钟信号的频率。核心模块freq_meter_calc负责计算频率,数码管显示模块seg_595_dynamic展示结果,而clk_test_gen模块则生成待检测时钟。整个设计在100 MHz的标准时钟下运行,确保了测量精度。
摘要由CSDN通过智能技术生成

常用频率测量法有:频率测量法,周期测量法,以及等精度测量法。这里设计一个基于等精度测量原理的简易频率计,对输入的未知时钟信号做频率测量,并将测量结果在数码管上显示。包括 4 个子模块,其中频率计算模块(freq_meter_calc)是核心模块,它将输入的待检测信号利用等精度测量法进行计算,得出被测时钟信号时钟频率并输出;数码管显示模块(seg_595_dynamic)接收频率计算模块输出的计算结果,并显示在数码管上,(已经实现);被测时钟生成模块(clk_test_gen)负责产生某一频率的待检测时钟信号(利用锁相环IP核);最后的顶层模块(freq_meter),内部将上述 3 个子功能模块实例化其中,连接各自对应信号,外部输入时钟、复位和待检测信号,输出段选、位选和待检测数据。这里使用 100 MHz 时钟作为标准时钟信号,从而提高测量精度。

频率计算模块(freq_meter_calc)代码如下:

module  freq_meter_calc
(
    input   wire            sys_clk     ,   
    input   wire            sys_rst_n   ,   
    input   wire            clk_test    ,   

    output  reg     [33:0]  freq            

);

parameter   CNT_GATE_S_MAX  =   28'd74_999_999  ,   
            CNT_RISE_MAX    =   28'd12_500_000  ;   
parameter   CLK_STAND_FREQ  =   28'd100_000_000 ;   
//wire  define
wire            clk_stand           ;   
wire            gate_a_fall_s       ;   
wire            gate_a_fall_t       ;   

//reg   define
reg     [27:0]  cnt_gate_s          ;   
reg             gate_s              ;   
reg             gate_a              ;   
reg             gate_a_stand        ;   
reg             gate_a_test         ;   
reg     [47:0]  cnt_clk_stand   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值