当前位置:网站首页>50MHz generation time
50MHz generation time
2022-07-08 01:00:00 【eachanm】
50Mhz The corresponding count is 0.02us, That is to say 20 nanosecond , Count to 1us want 50 Count , Others can be calculated by yourself , The following is the generation of 1us、1ms、1s Methods
module count_time
#(
parameter CNT_1US_MAX = 6'd49,
parameter CNT_1MS_MAX = 10'd999,
parameter CNT_1S_MAX = 10'd999
)
(
input wire sys_clk,
input wire sys_rst_n,
output reg led_out
);
//50Mhz by 20ns
reg [9:0]cnt_1s; // Give Way 1ms Count to 1000
reg [9:0]cnt_1ms; // Give Way 1us Count to 1000
reg [5:0]cnt_1us; // Count to 50
reg cnt_en;
//1us
[email protected] (posedge sys_clk or negedge sys_rst_n)
if(sys_rst_n == 1'b0)
cnt_1us <= 6'd0;
else if(cnt_1us == CNT_1US_MAX)
cnt_1us <= 6'd0;
else
cnt_1us <= cnt_1us +6'd1;
//1ms
[email protected] (posedge sys_clk or negedge sys_rst_n)
if(sys_rst_n == 1'b0)
cnt_1ms <= 10'd0;
else if(cnt_1ms == CNT_1MS_MAX && cnt_1us == CNT_1US_MAX)
cnt_1ms <= 10'd0;
else if(cnt_1us == CNT_1US_MAX)
cnt_1ms <= cnt_1ms +10'd1;
else
cnt_1ms <= cnt_1ms;
//1s
[email protected] (posedge sys_clk or negedge sys_rst_n)
if(sys_rst_n == 1'b0)
cnt_1s <= 10'd0;
else if(cnt_1s == CNT_1S_MAX && cnt_1ms == CNT_1MS_MAX && cnt_1us == CNT_1US_MAX)
cnt_1s <= 10'd0;
else if(cnt_1us == CNT_1US_MAX && cnt_1ms == CNT_1MS_MAX )
cnt_1s <= cnt_1s + 10'd1;
else
cnt_1s <= cnt_1s;
// Control state
[email protected] (posedge sys_clk or negedge sys_rst_n)
if(sys_rst_n == 1'b0)
cnt_en <= 1'b0;
else if(cnt_1s == CNT_1S_MAX && cnt_1ms == CNT_1MS_MAX && cnt_1us == CNT_1US_MAX)
cnt_en <= ~cnt_en;
else
cnt_en <= cnt_en;
[email protected] (posedge sys_clk or negedge sys_rst_n)
if(sys_rst_n == 1'b0)
led_out <= 1'b1;
else if((cnt_en == 1'b0) && (cnt_1ms <= cnt_1s)
|| (cnt_en == 1'b1) && (cnt_1ms >= cnt_1s))
led_out <= 1'b0;
else
led_out <= 1'b1;
endmodule
Clock cycle corresponding to clock frequency
5MHz 200ns
10MHz 100ns
20MHz 50ns
25MHz 40ns
33MHz 30ns
40MHz 25ns
50MHz 20ns
66MHz 15ns
80MHz 12ns
100MHz 10ns
120MHz 8.3ns
133MHz 7.5ns
166MHz 6.0ns
200MHz 5.0ns
250MHz 4.0ns
300MHz 3.3ns
333MHz 3.0ns
400MHz 2.5ns
500MHz 2.0ns
800MHz 1.2ns
1GHz 1.0ns
4GHz 0.25ns
Common unit conversion
1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz
1s=1000ms,1 ms=1000μs,1μs=1000ns
s( second )、ms( millisecond )、μs( Microsecond )、ns( nanosecond )
边栏推荐
- jemter分布式
- Reentrantlock fair lock source code Chapter 0
- Qt添加资源文件,为QAction添加图标,建立信号槽函数并实现
- 基于卷积神经网络的恶意软件检测方法
- Leetcode brush questions
- 取消select的默认样式的向下箭头和设置select默认字样
- 22年秋招心得
- 1293_ Implementation analysis of xtask resumeall() interface in FreeRTOS
- 8道经典C语言指针笔试题解析
- Which securities company has a low, safe and reliable account opening commission
猜你喜欢

Service mesh introduction, istio overview

v-for遍历元素样式失效

SDNU_ ACM_ ICPC_ 2022_ Summer_ Practice(1~2)

Where is the big data open source project, one-stop fully automated full life cycle operation and maintenance steward Chengying (background)?

英雄联盟胜负预测--简易肯德基上校

5G NR 系统消息

QT establish signal slots between different classes and transfer parameters

New library launched | cnopendata China Time-honored enterprise directory

【笔记】常见组合滤波电路

基于微信小程序开发的我最在行的小游戏
随机推荐
新库上线 | CnOpenData中国星级酒店数据
The whole life cycle of commodity design can be included in the scope of industrial Internet
Deep dive kotlin synergy (XXII): flow treatment
STL--String类的常用功能复写
Serial port receives a packet of data
Malware detection method based on convolutional neural network
Qt添加资源文件,为QAction添加图标,建立信号槽函数并实现
A network composed of three convolution layers completes the image classification task of cifar10 data set
50Mhz产生时间
11.递归神经网络RNN
Reentrantlock fair lock source code Chapter 0
New library launched | cnopendata China Time-honored enterprise directory
tourist的NTT模板
13.模型的保存和载入
图像数据预处理
Semantic segmentation model base segmentation_ models_ Detailed introduction to pytorch
Lecture 1: the entry node of the link in the linked list
Hotel
Introduction to ML regression analysis of AI zhetianchuan
Implementation of adjacency table of SQLite database storage directory structure 2-construction of directory tree