一个简单的测量频率的模块

73 篇文章 11 订阅
25 篇文章 50 订阅

 为了方便试验时候测试基带的频率。

/*

frq_cal #(.REF_FRQ  ( 100*1000*1000))  frq_cal(
.sig(),
.clk(), 
.res(),
.update()
);

*/
module frq_cal #(parameter REF_FRQ = 100*1000*1000)(
input sig,
input clk,
output  reg  [31:0]  res,
output reg update
);


wire rst =  0; 
reg a;
always @(posedge sig) a<=!a;

reg [2:0] r;

always @(posedge clk) begin r[2:1] <= r[1:0] ;r[0]=(a!=a );end

reg [31:0] d; 
wire d_of = d >= (REF_FRQ-1 ) ;

always @ (posedge clk)if (rst | d_of)d<=0;else d <=d+1 ;
always @ (posedge clk) if(rst | d_of)cntr<=0;else if (r[2])cntr<=cntr+1;

always@(posedge clk) update<= d_of;
always@(posedge clk) if (d_of) res<= cntr;

endmodule 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值