文章目录

  • 一、时钟周期与时钟频率换算
  • 二、不同类型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信号波形的产生、与时钟频率的关系相关推荐

  1. 已调信号波形是怎样的_【鼎阳硬件智库原创 | 测试测量】初识任意波形发生器...

    方浩 鼎阳硬件设计与测试智库专家组成员 在产品调试的过程中,大多数的电路需要输入某种幅度随时间变化的信号,在这样的应用场景中,一个完整的测试测量系统一般会包含激励源,被测件和采集仪器三个部分.采集仪器 ...

  2. 一个进程仅存在给定类型的一个挂起信号,同一进程同样类型的其他信号不被排队

    任何时候,一个进程仅存在给定类型的一个挂起信号,同一进程同样类型的其他信号不被排队,只被简单的丢弃:理解--即使连续发送SIGQUIT信号,进程也只有处理一个SIGQUIT信号. Please rea ...

  3. (59)简单介绍RAM IP核类型和接口信号?

    1.1 简单介绍RAM IP核类型和接口信号? 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)简单介绍RAM IP核类型和接口信号?: 5)结束语. 1.1.2 本节引 ...

  4. 跨时钟域信号如何处理(一、单bit信号)

    文章目录 背景 两级DFF同步器 脉冲展宽同步 握手协议 背景 一颗芯片上会有许多不同的信号工作在不同的时钟频率下.比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工 ...

  5. 痞子衡嵌入式:实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(有预取)...

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形. 上一篇文章 <实抓Flash信号波形来看i.MXR ...

  6. Visio—“信号波形”

    Visio-"信号波形" 这里介绍利用Visio自带库画正弦波形/波浪. 分为3步: 1.找到形状>>电气工程>>模拟和数字逻辑 2.选择"信号波 ...

  7. MATLAB产生任意信号波形(多周期线性扫频信号)

    目录 一.背景 二.MATLAB代码 2.1.单周期时间设置 2.2.三个周期的时间设置 2.3.全部MATLAB代码 2.4.加上频谱 2.5.仿真结果 一.背景 写论文时需要仿真多个周期的线性扫频 ...

  8. matlab语音波形,MATLAB程序原始语音信号波形与加噪信号波形(最新整理)

    <MATLAB程序原始语音信号波形与加噪信号波形(最新整理)>由会员分享,可在线阅读,更多相关<MATLAB程序原始语音信号波形与加噪信号波形(最新整理)(3页珍藏版)>请在人 ...

  9. matlab编写单路扫频,MATLAB产生任意信号波形(多周期线性扫频信号)

    目录 一.背景 二.MATLAB代码 2.1.单周期时间设置 2.2.三个周期的时间设置 2.3.全部MATLAB代码 2.4.加上频谱 2.5.仿真结果 一.背景 写论文时需要仿真多个周期的线性扫频 ...

最新文章

  1. 特斯拉烧,特斯拉烧完蔚来烧
  2. 设计模式--门面(Facade)模式
  3. 9.JAVA之GUI编程列出指定目录内容
  4. 多线程计算0-100 0-200 的和
  5. jmeter 取json值_Jmeter入门13 后置处理器JSON Extractor提取json的多个值
  6. 鼠标 ArcBall 局部坐标系 旋转模型
  7. fifo页面置换算法设计思路_千万级并发!如何设计一个多级缓存系统?
  8. Struts2工作流程
  9. 用asp.net程序备份或还原SQLServer
  10. Golang 接口切片存储多层嵌套Map对象,如何初始化,又如何直接读取嵌套层的key-value值
  11. ADB 学习(4):adb shell (上)
  12. 基于收发一体超声波探头的超声波测距方案(附源代码和原理图)
  13. 计算机从外部世界接收信息和向外部世界反馈运算结果的手段
  14. era5气溶胶反演_我院第七届“共享杯”大赛获奖专访来了,各位大气学子进来取经吧!...
  15. html如何添加qq聊天框
  16. dede标签云(TAG)随机颜色及大小的实现方法
  17. 尤里复仇退出界面_win10运行红警2尤里复仇的解决方法
  18. 恶意程序利用Linksys路由器漏洞在路由器中传播
  19. Spring5春天还是配置地狱
  20. 基金小白理财收益超过1万+的回顾

热门文章

  1. 百家讲坛 雍正十三年(下部)
  2. pikachu——简介
  3. 文件名变乱码. 不知道怎么找回呢
  4. C语言 mmap函数
  5. 设计模式的C语言应用
  6. 网线如何制作和如何使用?
  7. 使用Pinyin4j进行拼音分词
  8. CStdioFile的Writestring无法写入中文的问题
  9. 预处理命令不是c语言本身的组成部分,C中的预处理命令
  10. 动力节点 mysql 郭鑫 34道经典的面试题