初级会员
- 积分
- 135
- 金钱
- 135
- 注册时间
- 2015-3-12
- 在线时间
- 166 小时
|
楼主 |
发表于 2021-8-30 08:45:02
|
显示全部楼层
我发现原子开拓者测频率的资料比较少。我拜度了一下资料。程序在这,https://download.csdn.net/download/VCA821/12899478
这个是等精度采集
频率计数模块:Fre_cnt.v
module Fre_cnt(
input clk_measure,
input rst_n,
input clk_match,
output[31:0] fre_cnt
);
reg [31:0] fre_cnt_r1 = 32'b0;
reg [31:0] fre_cnt_r2 = 32'b0;
always@(negedge clk_match)
begin
fre_cnt_r2 <= fre_cnt_r1;
end
always@(posedge clk_measure or negedge rst_n)
begin
if(!rst_n)
fre_cnt_r1 <= 32'b0;
else if(clk_match)
fre_cnt_r1 <= fre_cnt_r1 + 32'b1;
else
fre_cnt_r1 <= 32'b0;
end
assign fre_cnt = fre_cnt_r2;
endmodule
0.5Hz方波产生(1s)高电平产生:Time_1s.v
module Time_1s(
input clk,
input rst_n,
output reg flag_1s=1'd0
);
reg [27:0] timer;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
timer <= 28'd0;
else if(timer == 28'd49_999_999)
begin
flag_1s <= ~flag_1s;
timer <= 28'd0;
end
else
timer <= timer + 28'd1;
end
endmodul
————————————————
版权声明:本文为CSDN博主「VCA821」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/vca821/article/details/84960721 |
|