当前位置:网站首页>快时钟同步慢时钟域下的异步控制信号slow clk to fast clk
快时钟同步慢时钟域下的异步控制信号slow clk to fast clk
2022-04-23 17:06:00 【icgogogo】
这种情况下,异步控制信号可能在己慢时钟下只维持了一个有效时钟,而在快时钟下,已经被采样了几次,一次读请求可能被误以为多次读请求。
快时钟同步慢时钟信号示意图
RTL代码
module synchronizer(
clk_fst;
rst_b;
rd_en;//原始控制信号
rd_en_s2f;//处理后的信号
);
input clk_fst;
input rst_b;
output rd_en_s2f;
wire rd_en_s2f;
reg rd_en_s2f1;
reg rd_en_s2f2;
reg rd_en_s2f3;
always@(posedge clk_fst or negedge rst_b)
if(!rst_b)begin
rd_en_s2f1 <= 1'b0;
rd_en_s2f2 <= 1'b0;
rd_en_s2f3 <= 1'b0;
end else begin//同步器
rd_en_s2f1 <= rd_en;
rd_en_s2f2 <= rd_en_s2f1;
rd_en_s2f3 <= rd_en_s2f2;
end
end
always@(rd_en_s2f3 or rd_en_s2f3)begin
case({rd_en_s2f3,rd_en_s2f2})
2'b01:
rd_en_s2f <= 1'b1;
default:
rd_en_s2f <= 1'b0;
endcase
end
endmodule
版权声明
本文为[icgogogo]所创,转载请带上原文链接,感谢
https://blog.csdn.net/javagogogo2850/article/details/124360724
边栏推荐
猜你喜欢
Mock test using postman
JS, entries(), keys(), values(), some(), object Assign() traversal array usage
文件操作《二》(5000字总结篇)
Bottom processing of stack memory in browser
[pimf] openharmony paper Club - what is the experience of wandering in ACM survey
Milvus 2.0 質量保障系統詳解
[PROJECT] small hat takeout (8)
Customize my_ Strcpy and library strcpy [analog implementation of string related functions]
线性代数感悟之2
Milvus 2.0 détails du système d'assurance de la qualité
随机推荐
Shortcut keys (multiline)
1-3 components and modules
How to implement distributed locks with redis?
Read a blog, re understand closures and tidy up
信息摘要、数字签名、数字证书、对称加密与非对称加密详解
An essay on the classical "tear down the wall in thinking"
[markdown notes]
PostgreSQL列存与行存
STM32__ 03 - beginner timer
Generate random numbers with high quality and Gaussian distribution
Baidu Map Case - Zoom component, map scale component
On lambda powertools typescript
C# Task. Delay and thread The difference between sleep
Production environment——
[C#] 彻底搞明白深拷贝
线性代数感悟之1
New keyword learning and summary
Use between nodejs modules
STM32__03—初识定时器
1-1 NodeJS