0 本章目录

1)时钟域定义

2)为什么要做跨时钟域的处理?

3)FPGA简介

4)结束语

1 时钟域定义

所谓时钟域,就是同一个时钟驱动的区域。单一时钟域是FPGA的基本组成部分,但是随着设计规模扩大,多时钟域的设计是必要的。

2 为什么要做跨时钟域的处理?

基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统。但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免。如果对跨时钟域带来的亚稳态、采样丢失、潜在逻辑错误等等一系列问题处理不当,将导致系统无法运行。

3 FPGA简介

1)现场可编程门阵列(FPGA),FPGA是可重新编程的硅芯片。

2)FPGA优点:与DSP和ARM相比,FPGA在数据采集领域有着极其重要的地位。FPGA具有时钟频率高、内部延时小、纯硬件并行控制、运算速度快、编程配置灵活、开发周期短、抗干扰能力强、内部资源丰富等优点,非常适用于实时高速数据采集。

4 格雷码处理跨时钟域

1)处理多bit数据的跨时钟域,一般采用FIFO或双端口RAM(对于大数据而言),但是对于少量数据且只有一个或几个信号,采用格雷码处理跨时钟域。

2)首先将跨时钟域信号转换为格雷码,然后将格雷码打两拍,最后使用最终时钟将格雷码转换为十进制。

3)对于格雷码相邻之间只有一个bit在变化,打两拍相当于处理单信号跨时钟域问题。

5 结束语

希望对你有帮助,如果遇到问题,可以一起沟通讨论,邮箱:jhqwy888@163.com。

FPGA异步时钟域处理之格雷码转换相关推荐

  1. 3位格雷码的顺序编码_FPGA 设计之 跨时钟域(四 - 格雷码)

    上一篇文章总结了四种常用的多比特跨时钟域的设计.这篇我们主要来看一下 格雷码,文章目录如下: 什么是格雷码 格雷码转二进制码 二进制码转格雷码 N比特格雷码转N-1比特格雷码 什么是格雷码 ? A G ...

  2. FPGA跨时钟域处理的三大方法

    跨时钟域处理是FPGA设计中经常遇到的问题,而如何处理好跨时钟域间的数据,可以说是每个FPGA初学者的必修课.如果是还在校的本科生,跨时钟域处理也是面试中经常常被问到的一个问题. 在本篇文章中,主要介 ...

  3. FPGA跨时钟域异步时钟设计的几种同步策略

    1 引言 基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统.但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免.如果对 ...

  4. FPGA跨时钟域信号处理之亚稳态问题

    FPGA跨时钟域信号处理之亚稳态问题学习笔记 跨时钟域会导致"亚稳态"的问题,信号的上升沿和下降沿并不是瞬间被拉高或拉低的,而是有一个倾斜变化的过程,如图中的tx信号的上升沿和下降 ...

  5. FPGA异步时钟设计中的同步策略

    1 引言    基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统.但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免. ...

  6. (11)FPGA跨时钟域处理(第3天)

    (11)FPGA跨时钟域处理(第3天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA跨时钟域处理(第3天) 5)技术交流 6)参考资料 2 FPGA初级 ...

  7. (10)FPGA跨时钟域处理

    (10)FPGA跨时钟域处理 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA跨时钟域处理 5)结语 1.2 FPGA简介 FPGA(Field Programm ...

  8. FPGA跨时钟域处理方法延迟法

    1.1 FPGA跨时钟域处理方法延迟法 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA跨时钟域处理方法延迟法: 5)结束语. 1.1.2 本节引言 " ...

  9. FPGA跨时钟域处理方法FIFO

    1.1 FPGA跨时钟域处理方法FIFO 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA跨时钟域处理方法FIFO: 5)结束语. 1.1.2 本节引言 &quo ...

最新文章

  1. 生活总是在推着你一步一步往前走
  2. catia 无许可证服务器名称,win10升级2004后CATIA无法连接许可证服务器解决方案(2页)-原创力文档...
  3. Sa身份登陆SQL SERVER失败的解决方案
  4. Leetcode295 数据流中的中位数-最小堆和最大堆
  5. Python爬虫入门(2):爬虫基础了解
  6. 期待着DELPHI的浴火重生
  7. hackerrank---Sets - Symmetric Difference
  8. oracle的学生,Oracle做学生信息系统的脚本
  9. 一个在职的软件测试的日常工作是怎么样的?
  10. 微信URL带来重大调整
  11. c# Quartz使用
  12. 【已解决】SVN设置为中文 最全面
  13. 副业 | 程序员开启副业之路经验之谈!
  14. 在线java编译器_五个免费在线Java编译器,轻松编译代码
  15. Gitlab首次首次使用步骤
  16. 如何使用Element Plus 提供的Icon图标库
  17. 微信小程序----对接OneNet平台(测试版)
  18. win服务器的远程连接--如何打开远程连接服务器?如何设置远程连接?连接工具?
  19. 条码应用与企业ERP无缝集成
  20. 【JAVA】奥林匹克五环(Olympic rings)

热门文章

  1. html瀑布流视频列表,StaggeredGridLayoutManager实现瀑布流视频列表和头部广告位以及分栏Header条...
  2. 计算机怎么会自动开机,Windows10系统电脑半夜会自动开机如何解决
  3. python 第一天
  4. Redis HyperLogLog
  5. python使用repeat、cycle重复打印字符串
  6. pytorch 使用 CPU 多进程多核训练模型
  7. python取两个列表的并集、交集、差集
  8. Mac os安装SEAL
  9. 使用pandas 按同一列名称合并,并解决concat() got an unexpected keyword argument ‘join_axes‘报错
  10. 小程序真机调试访问不了接口_24小时从0到1开发阴阳师小程序