不同类型时钟CLK信号波形的产生、与时钟频率的关系
文章目录
- 一、时钟周期与时钟频率换算
- 二、不同类型CLK波形
- 2.1、占空比50%的时钟信号(高低电平持续时间相同)
- 2.2、占空比可设置时钟信号(高低电平持续时间不同)
- 2.3、带初始延迟的时钟(占空比可设置)
- 2.4、相移时钟(assign赋值+延迟)
- 2.5、倍频时钟(原时钟与相移始终异或)
- 2.6、检测时钟脉冲是否丢失
一、时钟周期与时钟频率换算
时间(s) = 1/时钟频率(单位换算成HZ)
例如:1GHz换算成秒
- 单位换算 把GHz换算成 Hz
- 1GHz = 10^3MHz = 10^6KHz = 10^9Hz 1000的数量级
- T(s) = 1ns = 1/(10^9Hz) = 10^-9 s , 即1ns的时钟周期对应1GHz的时钟频率
- 1s = 10^3 ms = 10^6 us = 10^9 ns
时钟频率 | 时钟周期 |
---|---|
10MHz | 100ns |
50MHz | 20ns |
100MHz | 10ns |
1GHz | 1.0ns |
二、不同类型CLK波形
2.1、占空比50%的时钟信号(高低电平持续时间相同)
module gen_clk_50(clk_a);output reg clk_a;parameter tPERIOD = 10;initialclk_a = 0;always #(tPERIOD/2) clk_a = ~clk_a;
endmodule
2.2、占空比可设置时钟信号(高低电平持续时间不同)
module gen_clk(clk_b);parameter tON = 5, tOFF = 10; //设置占空比output reg clk_b;always begin#tON clk_b = 0;#tOFF clk_b = 1;end
endmodule
2.3、带初始延迟的时钟(占空比可设置)
module gen_clk_d(clk_c);output reg clk_c;parameter START_DELAY = 5, LOW_TIME = 3, HIGH_TIME = 2;initial beginclk_c = 0; //初始化#START_DELAY; //设置初始延迟forever begin //也可通过repeat()语句指定时钟产生个数clk_c = 1;#HIGH_TIME;clk_c = 0;#LOE_TIME;endend
endmodule
2.4、相移时钟(assign赋值+延迟)
module clk_phase(master_clk, slave_clk);output reg master_clk;output wire slave_clk; //相移始终parameter tON = 2, tOFF = 3, tPHASE_DELAY = 1;always begin#tON master_clk = 0;#tOFF slave_clk = 1;endassign #tPHASE_DELAY salve_clk = master_clk; //通过连续赋值语句生成一个时钟的相移始终endmodule
2.5、倍频时钟(原时钟与相移始终异或)
为产生一个频率为原本时钟频率2倍的时钟,将原时钟相移1/4周期,新的时钟信号与原时钟信号异或得到的结果就是一个更快速的时钟。
module clk_divider(output double_clk);parameter tHALF_PERIOD = 2;reg clk;wire delayed_clk;always begin#tHALF_PERIOD clk = 0;#tHALF_PERIOD clk = 1;endassign #(tHALF_PERIOD/2) delayed_clk = clk;assign double_clk = delayed_clk^clk;endmodule
2.6、检测时钟脉冲是否丢失
module check_clock#(parameter tPERIOD=3)(input clk);time curr_time, last_time; //定义时间变量always@(posedge clk)begincurr_time = $time;if( (curr_time-last_tiem)>tPERIOD )$display("Assertion fail:: CLock not period");last_time = curr_time;endendmodule
不同类型时钟CLK信号波形的产生、与时钟频率的关系相关推荐
- 已调信号波形是怎样的_【鼎阳硬件智库原创 | 测试测量】初识任意波形发生器...
方浩 鼎阳硬件设计与测试智库专家组成员 在产品调试的过程中,大多数的电路需要输入某种幅度随时间变化的信号,在这样的应用场景中,一个完整的测试测量系统一般会包含激励源,被测件和采集仪器三个部分.采集仪器 ...
- 一个进程仅存在给定类型的一个挂起信号,同一进程同样类型的其他信号不被排队
任何时候,一个进程仅存在给定类型的一个挂起信号,同一进程同样类型的其他信号不被排队,只被简单的丢弃:理解--即使连续发送SIGQUIT信号,进程也只有处理一个SIGQUIT信号. Please rea ...
- (59)简单介绍RAM IP核类型和接口信号?
1.1 简单介绍RAM IP核类型和接口信号? 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)简单介绍RAM IP核类型和接口信号?: 5)结束语. 1.1.2 本节引 ...
- 跨时钟域信号如何处理(一、单bit信号)
文章目录 背景 两级DFF同步器 脉冲展宽同步 握手协议 背景 一颗芯片上会有许多不同的信号工作在不同的时钟频率下.比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工 ...
- 痞子衡嵌入式:实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(有预取)...
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形. 上一篇文章 <实抓Flash信号波形来看i.MXR ...
- Visio—“信号波形”
Visio-"信号波形" 这里介绍利用Visio自带库画正弦波形/波浪. 分为3步: 1.找到形状>>电气工程>>模拟和数字逻辑 2.选择"信号波 ...
- MATLAB产生任意信号波形(多周期线性扫频信号)
目录 一.背景 二.MATLAB代码 2.1.单周期时间设置 2.2.三个周期的时间设置 2.3.全部MATLAB代码 2.4.加上频谱 2.5.仿真结果 一.背景 写论文时需要仿真多个周期的线性扫频 ...
- matlab语音波形,MATLAB程序原始语音信号波形与加噪信号波形(最新整理)
<MATLAB程序原始语音信号波形与加噪信号波形(最新整理)>由会员分享,可在线阅读,更多相关<MATLAB程序原始语音信号波形与加噪信号波形(最新整理)(3页珍藏版)>请在人 ...
- matlab编写单路扫频,MATLAB产生任意信号波形(多周期线性扫频信号)
目录 一.背景 二.MATLAB代码 2.1.单周期时间设置 2.2.三个周期的时间设置 2.3.全部MATLAB代码 2.4.加上频谱 2.5.仿真结果 一.背景 写论文时需要仿真多个周期的线性扫频 ...
最新文章
- 特斯拉烧,特斯拉烧完蔚来烧
- 设计模式--门面(Facade)模式
- 9.JAVA之GUI编程列出指定目录内容
- 多线程计算0-100 0-200 的和
- jmeter 取json值_Jmeter入门13 后置处理器JSON Extractor提取json的多个值
- 鼠标 ArcBall 局部坐标系 旋转模型
- fifo页面置换算法设计思路_千万级并发!如何设计一个多级缓存系统?
- Struts2工作流程
- 用asp.net程序备份或还原SQLServer
- Golang 接口切片存储多层嵌套Map对象,如何初始化,又如何直接读取嵌套层的key-value值
- ADB 学习(4):adb shell (上)
- 基于收发一体超声波探头的超声波测距方案(附源代码和原理图)
- 计算机从外部世界接收信息和向外部世界反馈运算结果的手段
- era5气溶胶反演_我院第七届“共享杯”大赛获奖专访来了,各位大气学子进来取经吧!...
- html如何添加qq聊天框
- dede标签云(TAG)随机颜色及大小的实现方法
- 尤里复仇退出界面_win10运行红警2尤里复仇的解决方法
- 恶意程序利用Linksys路由器漏洞在路由器中传播
- Spring5春天还是配置地狱
- 基金小白理财收益超过1万+的回顾