在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: huige2601

[原创] 数字频率计的设计(verilog)

[复制链接]
发表于 2011-5-24 16:23:18 | 显示全部楼层
回复 1# huige2601


    楼主这个频率计和等精度测频原理上有什么区别吗?谢谢
发表于 2011-5-27 13:00:59 | 显示全部楼层
谢谢楼主分享啊
发表于 2011-5-27 16:29:49 | 显示全部楼层
也想像你一样写点东西啊
发表于 2011-5-27 16:49:51 | 显示全部楼层
有意思呵呵!!!
发表于 2011-5-28 22:35:04 | 显示全部楼层
要从管脚测100M的信号,  综合考虑一下应该是比较难
发表于 2011-6-14 08:50:32 | 显示全部楼层
非常感谢
发表于 2011-6-14 22:13:25 | 显示全部楼层
回复 1# huige2601


    你好,谢谢你的分享!但我觉得在程序中你对CLK的分频会产生较大的延时,并不符合FPGA设计的同步要求!只是个人看法!
发表于 2011-6-14 22:47:38 | 显示全部楼层
学习了。。。顶
发表于 2011-6-15 01:02:46 | 显示全部楼层
本帖最后由 mcupro 于 2011-6-15 01:04 编辑

这个是用8个数码管显示1-100M 的频率,输入频率是100M。实际效果很好。一下是TOP层文件。


module frenquenze_display_top (
input clk ,
input rst ,
output  [7:0] seg7_sel,
output  [7:0] seg7_data ,
input fin,
output reg fout,
input [7:0] sw
);
wire sys_clk;

pll25_100 pll25_100 (
        .inclk0(clk),
        .c0(sys_clk) // outpis 100Mhz
        );
        
reg [7:0] swr;
reg [7:0] swrr;

always @ (posedge sys_clk)swr<=sw;
always @ (posedge sys_clk)swrr<=swr;

reg [7:0] div_cntr;

always @ (posedge sys_clk)if (div_cntr==swrr)div_cntr<=0;else div_cntr<=div_cntr+1;
always @ (posedge sys_clk)if  (div_cntr==0)fout<=~fout;

reg [31:0] cntr ;
always @ (posedge sys_clk)
if (cntr == (100000000-1))
cntr <= 0;
else cntr <=cntr+1;

wire load = cntr==0 ;
wire clear = cntr==2 ;

reg [25:0] dis_cntr;
reg [25:0] dis_save;
always @ (posedge sys_clk)
if (load) dis_save<=dis_cntr ;

always @ (posedge fin or posedge clear)
if (clear) dis_cntr <= 0;else dis_cntr<=dis_cntr+1;

dec_display i_dec_display (
.clk(clk),
.value(dis_save) ,
.seg7_sel(seg7_sel),
.seg7_data(seg7_data)
);

endmodule
发表于 2011-10-23 10:31:30 | 显示全部楼层
做课程设计正好要用,多谢LZ
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-11 03:38 , Processed in 0.026309 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表