完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 晴天看云笑 于 2016-12-6 22:55 编辑
小弟入门学习FPGA,想实现一个简易频率计,FPGA芯片EP4CE6E22C8晶振50MHz,仿真没问题,但测试发现输入信号在10MHz以下计数正常,高于之后计数会不准确,难道这种方法有问题?想来想去也不知道是什么问题,以下为代码,望各位大神能解答。 module fcount(signal_in,clk,fout); input signal_in; //待测信号 input clk; //50MHz晶振 output fout; //信号频率 reg[31:0] count=0; reg[31:0] fout_temp=0; reg[31:0] fout=0; //获得时间闸门 always @(posedge clk) begin if(count >= 100_000_000) count = 0; else count <= count+1; end //在1s内对输入信号上升沿计数,计数值fout即是频率 always @(posedge signal_in) begin if(count > 50000000) fout_temp = 0; else if(count == 50000000) fout <= fout_temp; else fout_temp <= fout_temp+1; end endmodule |
|
相关推荐
13个回答
|
|
骚年,你用50M去测量10M,但是如果测量更高的话肯定不准确,如果要测量的话最好使用PLL,把时钟进行倍频,升到100M或者200M,cyclone4系列的芯片可以跑200M时钟的
最佳答案
|
|
|
|
这种情况可能是时序上不满足,计数器有点大了,会影响最大频率fmax。
|
|
|
|
搞了当然不行了啊,10M还低啊
|
|
|
|
FPGA能处理高速信号,信号频率应该不止10MHz吧?可看到有人做的频率计能测到100MHz。 |
|
|
|
|
|
|
|
|
|
|
|
你用的50M,400M是一个概念吗?
|
|
|
|
采用-8的这么简单的时序没有问题,但是你最好是采用内部时钟才输入信号,避免输入信号当做时钟
|
|
|
|
或者在线仿真试试,看看你输入的信号每一个沿你的计数器加没有 |
|
|
|
module fcount(signal_in,clk,fout);
input signal_in; //待测信号 input clk; //50MHz晶振 output fout; //信号频率 reg[31:0] count=0; reg[31:0] fout_temp=0; reg[31:0] fout=0; reg pre_signal_in; assign pos_signal_in; //获得时间闸门 always @(posedge clk) begin if(count >= 100_000_000) count = 0; else count <= count+1; end always @(posedge clk) begin pre_signal_in<=signal_in; end assign pos_signal_in=(pre_signal_in==1'b0 && signal_in==1'b1)?1'b1:1'b0; always @(*) begin fout<=count; end endmodule |
|
|
|
|
|
|
|
这样再试试行不行,就是不用用posedge触发来采集
|
|
|
|
系统频率最好是被测频率的10倍以上才会比较准确,越接近越不准。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
935 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1140 浏览 0 评论
886 浏览 0 评论
1992 浏览 0 评论
494 浏览 0 评论
1315 浏览 30 评论
5488 浏览 113 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 17:25 , Processed in 0.703821 second(s), Total 67, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号