FPGA面试题(4)(跨时钟域处理)

news2024/12/23 23:41:09

跨时钟域处理方法

慢->快快->慢
单bit在快时钟域同步打拍,将信号同步到快时钟域展宽后同步打拍
多bit异步FIFO异步FIFO+握手信号

一.打两拍

  • 适用于单bit跨时钟域处理
  • 所谓的打两拍就是定义两级寄存器实现延时
    在这里插入图片描述

那为什么是打两拍,不是打一拍,打三拍?

  • 打拍的作用:第一拍是异步信号转同步信号,第二拍及以后是防止亚稳态传递。理论来说,打两拍也不是完全消除亚稳态,只是降低了亚稳态出现的概率。触发器进入亚稳态的时间计算可以用参数MBTF计算,其公式如下
    在这里插入图片描述


    其中MBTF的值越大,亚稳态出现的概率越小。而打拍可以增大MBTF的值。
    简而言之就是:打一拍仍然有很大概率出现亚稳态,打两拍出现亚稳态概率不大,打三拍相较于打两拍亚稳态出现的概率更低,但是除非超高频没必要

二.异步双口RAM

  • 这个比较好理解,就是用时钟1来写入,时钟2来读出。可以使用异步FIFO实现同样的目的。

三.格雷码转换

  • 在异步双口RAM操作时,写入RAM后要在读时钟下判断写地址,当写地址大于某个值时再去读取RAM。如果直接打两拍,在高速环境下容易出错。那么更稳妥的方法就是先把RAM的写地址转换为格雷码,再将这个转换后的格雷码打两拍,最后在读时钟域恢复为十进制。在FIFO中也是一样,转换格雷码能够有效降低指针在跳变时出现的亚稳态风险,冒险现象。
  • 格雷码是和FIFO,双口RAM结合使用的

补充格雷码知识点

在这里插入图片描述

  • 规律如下:

    1.最右边一位取反

    2.从右往左第一个0变为1

    (重复上述两个操作)

  • 二进制如何转换为格雷码

    1.格雷码中的最高有效位(最左边)等同于二进制数中相应的最高有效位。

    2.从左到右,加上每一对相邻的二进制编码位,从而得到下一个格雷码位,舍去进位。

    在这里插入图片描述

  • 格雷码如何转为二进制

    1.二进制码的最高有效位(最左边)等同于格雷码中相应的最高有效位。

    2.将所产生的每个二进制码位加下一个相邻位置的格雷码位,从而得到下一个二进制位。舍去进位。

    在这里插入图片描述

参考:

1.https://cloud.tencent.com/developer/article/1664923

2.https://blog.csdn.net/Hide_in_Code/article/details/126600563?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169692141116800225522215%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=169692141116800225522215&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-126600563-null-null.142^v95^insert_down1&utm_term=单bit跨时钟域为什么打两拍不是打一拍&spm=1018.2226.3001.4187

3.https://www.zhihu.com/question/43571892

4.https://blog.csdn.net/fpga_start/article/details/122652715?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169692603816800225524240%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=169692603816800225524240&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-122652715-null-null.142^v95^insert_down1&utm_term=格雷码&spm=1018.2226.3001.4187

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1083410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

方案:餐厅饭店AI智能视频监控可视化监管系统搭建方案

随着大众对食品卫生的要求逐渐提升,明厨亮灶已成为很多人选择就餐点的一大要求,明厨亮灶的产生对保障大众食安起到了十分显著的作用,后厨作为食品安全重要场所,需要“亮”出来,前厅也同时需要监控系统的保护&#xff0…

获取当日n个季度前的日期所处季度的最后一天——时间相关函数4

本文介绍的函数用于获取当日n个季度前的日期所处季度的最后一天(有点绕,看后面例子就好理解了)。 源码 def last_day_of_quarter_before_n_quarters(n):"""获取当日n个季度前的日期所处季度的最后一天:return: 当日n个季度前…

这才叫良心软件!

今年以来,大模型相关的技术究竟有多火,不用多说,相信大家心中也已有答案。 自GPT-4发布以来,各大互联网大厂都坐不住了,纷纷推出自己的大模型产品。 前段时间,“科大讯飞版”的 ChatGPT 正式上线了&#…

uniapp pc端和移动端列表上拉刷新加载分页

效果图&#xff1a; tips: 实现了pc端和移动端兼容 代码实现&#xff1a; html: <view v-if"answerList.length > 1" style"padding:30rpx 0;color:#888;text-align: center;"><view>{{loadMore}}</view> </view>data: …

一键切换IP地址:电脑IP更改的简便方法

今天我要和大家分享一个电脑IP更改的简便方法——一键切换IP地址。如果您想要更改电脑的IP地址&#xff0c;无需繁琐的设置和复杂的步骤&#xff0c;只需使用以下简单的方法&#xff0c;即可轻松实现IP地址的切换。让我们开始吧&#xff01; 1、使用批处理脚本 批处理脚本是一…

如何在使用JetBrains IDE时文本编辑更高效?这个IdeaVim好用

IdeaVim 插件已经发布一段时间了&#xff0c;它帮助开发者利用 Vim 的强大功能扩展 JetBrains IDE。JetBrains 内部有一个专属团队维护此插件&#xff0c;这为您提供了两项优势&#xff1a;以键盘为中心的编辑器和 IDE 的支持。 获取JetBrains IDE新版下载 Vim为文本中的跳转…

伦敦金的交易时间究竟多长?

接触过伦敦金交易的投资者&#xff0c;应该都知道自己根本不用担心市场上没有交易的机会&#xff0c;因为它全天的交易时间长达20多个小时&#xff0c;也就是在每一个正常的交易日&#xff0c;除去交易平台中途短暂的系统维护时间&#xff0c;投资者几乎全天都可以做盘。 伦敦金…

银河麒麟 ARM 架构 离线安装Docker

1. 下载对应的安装包 进入此地址下载对应的docker 离线安装包 下载地址 将文件上传到服务器 解压此文件 tar zxf docker-18.09.1.tgz将 docker 相关命令拷贝到 /usr/bin&#xff0c;方便直接运行命令 cp docker/* /usr/bin/启动Docker守护程序 dockerd &验证是否安装成…

苹果ipad触控笔哪个好?ipad手写笔推荐

在现在&#xff0c;电容笔已经成为了iPad的一个重要配件&#xff0c;随着其的功能变得更加强大&#xff0c;更多的人开始使用电容笔。因此&#xff0c;如何挑选出一款性价比高、功能优秀的电容笔&#xff0c;是大家最关心的事情。那么&#xff0c;哪一款电容笔更实惠&#xff0…

应对广告虚假流量,app广告变现该如何风控?

移动广告市场中的虚假流量一直是困扰各移动应用厂商的难题&#xff0c;广告作为app商业化变现最为直接快捷的途径&#xff0c;也引申出了流量作弊与反作弊的纷争。 根据《2021中国异常流量报告》&#xff0c;2021年中国品牌广告市场因异常流量造成的损失约为326亿人民币&#…

计算机网络传输层知识总结·

传输层提供的服务 传输层的功能 ●传输层提供进程之间的逻辑通信&#xff0c;即端到端的通信 ●复用和分用 ●差错检测&#xff08;首部和数据部分&#xff09; ●面向连接的TCP和无连接的UDP 端口的作用 ●端口标识的是主机中的进程 ●硬件端口是不同…

早安问候语早安心语,别把人生想太难,人生需要鼓励

1、别把人生想的太难&#xff0c;人生需要几分自我的鼓励&#xff0c;不管在什么时候&#xff0c;要有几分信念和信心&#xff0c;生活少不了哭哭笑笑。青山绿水依然在&#xff0c;来来往往人不同&#xff0c;要学会看得惯&#xff0c;还要学会看得开&#xff0c;你内心的平坦是…

开源酒店预订订房小程序源码系统+多元商户 前端+后端完整搭建教程 可二次开发

大家好啊&#xff0c;罗峰今天来给大家分享一款酒店预订订房小程序源码系统&#xff0c;这款系统进行了全新的升级&#xff0c;从原来的单门店升级成了多门店&#xff0c;可以自由切换账号&#xff0c;统一管理。功能强大。以下是部分代码截图&#xff1a; 酒店预订订房小程序源…

性价比高的学生用台灯?这些Led台灯适合学生用

想要选好护眼台灯首先我们要知道什么是护眼台灯&#xff0c;大的方向来看&#xff0c;护眼台灯就是可以保护视力的台灯&#xff0c;深入些讲就是具备让灯发出接近自然光特性的光线&#xff0c;同时光线不会伤害人眼而出现造成眼部不适甚至是视力降低的照明设备。 从细节上看就…

人物——高会军

近日&#xff0c;美国电气与电子工程师协会&#xff08;英文简称IEEE&#xff09;系统、人与控制论学会在美国夏威夷公布2023年诺伯特维纳奖&#xff08;Norbert Wiener Award&#xff09;获奖者&#xff0c;中国自动化学会会士、副秘书长&#xff0c;欧洲科学院院士&#xff0…

施耐德PLC之间的的无线MODBUS通信实例

本文主要介绍施耐德&#xff08;睿易&#xff09;PLC之间的MODBUS通讯的具体操作和各参数的意义&#xff0c;此方案可以作为施耐德&#xff08;睿易&#xff09;PLC之间的的无线MODBUS 通信实例。在本方案中采用了西门子、施耐德等欧美系PLC专用无线通讯终端DTD434M&#xff0c…

【python】求多变量/样本(矩阵)之间的相关性系数

创作日志&#xff1a; Pearson或Spearson代表的是两个变量之间的相关性&#xff0c;因此一般输入是两个向量(vector)&#xff0c;那么当我们有多个变量时&#xff0c;怎样计算他们两两之间的相关性系数呢&#xff1f;得到的correlation matrix各元素代表的又是什么意思呢&#…

1800*C. Table Decorations(贪心 || 二分)

Problem - 478C - Codeforces 解析&#xff1a; 做法一&#xff1a;二分&#xff0c;显然左右边界为 0 和 总数量除以3。check时mid&#xff0c;任意两项之和都不能小于mid 做法二&#xff1a;贪心&#xff0c;当数量最大的气球数量的一半小于另外两种颜色气球的数量之和&#…

2021年09月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python编程&#xff08;1~6级&#xff09;全部真题・点这里 一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 第1题 有如下Python程序段&#xff1a; x,y12,5 if x % y0:zx/yprint(x,"/",y,"",z) else:zy*xprint(x,&qu…

Allegro模块化布局的操作方法

用Allegro模块化布局的方法,可以大大提高PCB布局的效率。具体操作方法如下: (1)首先,在PCB界面激活MOVE命令,选择菜单Edit→Move 或点击快捷菜单,如下图。 (2)在Find选项卡只选择Symbols(器件) (3)在Optio