场景分析一:

slow_clk不是由PLL这类IP产生的,而是由逻辑产生的。

理想情况下,slow_clk这类时钟到达1/2的时刻是相同的;

非理想情况下,这类时钟达到1/2的时刻有很大可能与FPGA逻辑版本编译布局布线情况有关,每次进行编译后问题情况可能都不一样,会导致其上升沿到达1/2的时刻不一致;

问题描述:期望是数据先从RAM的当前地址中读出、或者数据写入RAM的当前地址里,之后地址计数器才能进行翻转。

但是由于slow_clk不是从PLL里产生的,而是由逻辑产生;从而导致其上升沿到达RAM clk端口和cnt模块的时刻存在先后关系,而非同时到达,导致写错地址或者读错地址。

图1

解决方法:逻辑设计保证cnt的计数翻转时刻与clk上升沿的先后设计,使其符合预期要求,如图二所示采用两路时钟驱动。

图2

结论,对待这类不是由PLL产生的时钟slow_clk,使用时就需要格外关注其上升沿达到各个模块的时刻是否相同;

若需要满足时间的先后顺序的话,需要逻辑设计进行保证(举例,如上图二所示)。

场景分析二:ISE工程稳定性分析

对比分析下面两种设计,分析其对ISE软件编译布局布线的依赖程度。

图3的设计,存在slow_clk上升沿到达1/2两点的时刻可能不同,受编译布局布线的影响大概是20%左右。

图4的设计,受ISE编译布局布线的影响大概75%左右,即每次ISE编译,Verilog工程其功能都可能受影响、导致工程功能异常,工程不稳定度比较高。

图3

图4

需要特别说明的是:在同步逻辑设计中,是不建议使用图4的时钟使用方式

对图4的设计进行修改,可以采用时钟使能的方式,如图5所示。采用时钟使能的方式,将时钟使能送到RAM的读写使能端口。

图5

一般,硬件上若是需要进行两个时钟的切换,可以考虑采用专用的时钟切换芯片。

Verilog时钟分析相关推荐

  1. FPGA学习之路—应用程序—原码二位乘法器及Verilog代码分析

    FPGA学习之路--原码二位乘法器及Verilog代码分析 原理 原码乘法可以分为原码一位乘和原码二位乘,两者在实现规则上大同小异.原码一位乘每次判断乘数的最低位,对被乘数和部分积进行相应操作.而原码 ...

  2. (17)Verilog时钟与复位激励-基本语法(五)(第4天)

    (17)Verilog时钟与复位激励-基本语法(五)(第4天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)Verilog时钟与复位激励-基本语法(五)(第4天 ...

  3. Verilog——时钟3分频

    Verilog--时钟3分频 功能实现 3分频模块实现 仿真 功能实现 简单实现一个对输入时钟的3分频.相信2分频可能是一个FPGA的初学者最先实现的模块了,但是心里一直有个疑问,3分频如何实现?最近 ...

  4. verilog时钟翻转怎么写_Verilog基本电路设计之二(时钟无缝切换)

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?注册 x 时钟切换分成两种方式,普通切换和去毛刺无缝切换. 普通切换,就是不关心切出的时钟是否存在毛 ...

  5. verilog时钟使能

    时钟使能 1.时钟使能是用分频得到的信号作为模块的使能信号,模块原有的时钟不变.即用分频信号去控制模块的使能端口.这样做的好处是:避免过于复杂的时钟信号设计. 2.是出于对于时钟信号质量的高要求,尽量 ...

  6. verilog时钟分频设计

    1.偶分频模块设计 偶分频意思是时钟模块设计最为简单.首先得到分频系数M和计数器值N. M = 时钟输入频率 / 时钟输出频率 N = M / 2 如输入时钟为50M,输出时钟为25M,则M=2,N= ...

  7. Verilog时钟分频模块设计

    目录 1 偶分频模块 2 奇分频模块 3 任意占空比的任意分频 转载自https://blog.csdn.net/moon9999/article/details/75020355/ 1 偶分频模块 ...

  8. STM32F10x_StdPeriph_Lib_V3.5.0库时钟分析及如何配置

    [操作环境]:KEIL MDK4.10  Lib_V3.5.0 阅读了STM32F10x_StdPeriph_Lib_V3.5.0库关于时钟部分代码,发现设备初始化时钟默认为外部晶振8MHz,经过PL ...

  9. Verilog 时钟分频

    看了网上的很多例子,有很多的成长.记录下来. 1.二分频 module sp6(input ext_clk_25m,input ext_rst_n,output reg clk_12m5); alwa ...

最新文章

  1. 浅谈AJAX基本实现流程
  2. react --- render持续调用解决方案
  3. python闭包与装饰器的代码解释
  4. 远程办公第一天,你掉线了吗?
  5. 信息学奥赛C++语言:奖励钢笔
  6. LWIP的TCP相关API
  7. Linux之dirname与basename命令
  8. 小瓜牛漫谈 — 获取资源文件
  9. GPS导航电文编码与校验
  10. 人体时钟屏保-widows电脑屏幕保护
  11. 处暑(Limit of Heat )节到了,应了解的生活常识
  12. 2021年微软研究博士奖研金名单出炉!三位华人博士生入选,每人42000美元
  13. openGL之API学习(七十八)SPIR-V
  14. 大学物理上册详细笔记_大学物理上册课堂笔记
  15. SuperMap地图发布
  16. Unity3D RPG角色扮演游戏源码(上下)-----源代码分析----01-----主角人物动画
  17. numpy 轴与维度的理解
  18. 硬盘主引导记录(MBR)及其结构详解
  19. ChatGPT指令大全
  20. 南华大学计算机学院老师,我院4位教师在南华大学2020年教师节表彰大会上接受表彰!...

热门文章

  1. VR全景的拍摄与制作
  2. Arduino开发之GP2Y0A21 Distance Sensor
  3. zookeeper-系列2,简单实用
  4. vscode+arm-gcc编译STM32标准外设库工程教程(小白亲历填坑版)
  5. 毕业设计 单片机智能温控农业大棚系统 - 物联网 嵌入式
  6. Java通讯框架介绍
  7. 45-互联网安全架构-Web常用攻击手段之XSS脚本SQL注入攻击
  8. 2022N1叉车司机考试题模拟考试题库及模拟考试
  9. 安装python2.7安装方法_python2.7环境如何安装
  10. 基于QT平台webapi科大讯飞语音机器人