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

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

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

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

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

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

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

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

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

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

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

相关推荐
wljt2 分钟前
SpringBoot学习笔记五:Spring Boot的web开发
spring boot·笔记·学习
Shadow(⊙o⊙)6 分钟前
C++常见错误解析2.0
开发语言·数据结构·c++·后端·学习·算法
Hello_Embed17 分钟前
嵌入式上位机开发入门(二十八):JSON 与 JsonRPC 入门
网络·笔记·网络协议·tcp/ip·嵌入式
U盘失踪了23 分钟前
Playwright codegen脚本录制
笔记
何如呢38 分钟前
SC-FDE_tx_comb_part
fpga开发
Joseph Cooper43 分钟前
STM32MP157 Linux驱动学习笔记(一):驱动基础与设备模型入门(同步互斥/LCD/I2C/Input)
linux·stm32·学习
Joseph Cooper1 小时前
STM32MP157 Linux驱动学习笔记(二):硬件资源地基(Pinctrl/GPIO/Interrupt)
linux·stm32·学习
xieliyu.1 小时前
Java手搓数据结构:从零模拟实现单向无头非循环链表
java·数据结构·学习·链表
conti1231 小时前
水题记录2.4
c++·笔记·题解
y = xⁿ1 小时前
MySQL学习日记:关于MVCC及一些八股总结
数据库·学习·mysql