FPGA应用学习笔记--时钟域的控制 亚稳态的解决

时钟域就是同一个时钟的区域,体现在laways语句边缘触发语句中,设计规模增大就会导致时钟不同步,有时差,就要设计多时钟域。

会经过与门的延时产生的新时钟域,这种其实不推荐使用,但在ascl里面很常见

在处理时钟域的信号传递,一般会有故障具有随机性,不同工艺出现问题的可能性不同,对于亚稳态的检测很少,故障很难被发现,要设计中要注意。

要经过组合延时,就会起冲突,间隔不够

数据要保证建立时间和保持时间才有效,RTL级无法分析亚稳态的,在门级都很难,提高设计本身的设计!,通过DLL或者PLL控制相位,来达到相位匹配,消除亚稳态。要保持时钟具有整数倍关系

若两个时钟毫无关系,或者FPGA为两个系统提供接口时候,很难使用相位控制

用打两拍的方法,解决单bit的亚稳态问题

FIFO先入先出结构解决多bit数据

用fifo存储数据,然后根据时钟2调整推出数据,要注意防止溢出,要有效握手控制,满标志通知发送端已经满了,空标志通知接收端已经没有数据可以抓取了,

读状态机的示意图,写状态机类似。

相关推荐
好奇龙猫1 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
saoys1 小时前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
电子小白1232 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
唯情于酒2 小时前
Docker学习
学习·docker·容器
clorisqqq4 小时前
人工智能现代方法笔记 第1章 绪论(1/2)
人工智能·笔记
charlie1145141914 小时前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++
IT=>小脑虎4 小时前
C++零基础衔接进阶知识点【详解版】
开发语言·c++·学习
#眼镜&4 小时前
嵌入式学习之路2
学习
码农小韩5 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
微露清风5 小时前
系统性学习C++-第十九讲-unordered_map 和 unordered_set 的使用
开发语言·c++·学习