[FPGA][基础模块]跨时钟域传播脉冲信号
clk_a 周期为10ns
clk_b 周期为34ns
代码:
module pulse(input clk_a,input clk_b,input signal_a,output reg signal_b);reg [4:0] signal_a_widen_maker = 0;reg signal_a_widen;always @(posedge clk_a)if(signal_a) signal_a_widen_maker [0]<= 1;else beginsignal_a_widen_maker = signal_a_widen_maker<<1;if(signal_a_widen_maker[4] == 1)signal_a_widen_maker<=0;end always @(posedge clk_a)if((|signal_a_widen_maker)||signal_a)signal_a_widen <= 1;else signal_a_widen <= 0;reg [1:0] signal_b_reg;always @(posedge clk_b) begin signal_b_reg[0] <= signal_a_widen;signal_b_reg[1] <= signal_b_reg[0];endalways @(posedge clk_b) if(signal_b_reg == 2'b01)signal_b <= 1;else signal_b <= 0;endmodule
testbench:
module pulse(input clk_a,input clk_b,input signal_a,output reg signal_b);reg [4:0] signal_a_widen_maker = 0;reg signal_a_widen;always @(posedge clk_a)if(signal_a) signal_a_widen_maker [0]<= 1;else beginsignal_a_widen_maker = signal_a_widen_maker<<1;if(signal_a_widen_maker[4] == 1)signal_a_widen_maker<=0;end always @(posedge clk_a)if((|signal_a_widen_maker)||signal_a)signal_a_widen <= 1;else signal_a_widen <= 0;reg [1:0] signal_b_reg;always @(posedge clk_b) begin signal_b_reg[0] <= signal_a_widen;signal_b_reg[1] <= signal_b_reg[0];endalways @(posedge clk_b) if(signal_b_reg == 2'b01)signal_b <= 1;else signal_b <= 0;endmodule
[FPGA][基础模块]跨时钟域传播脉冲信号相关推荐
- 【数字IC基础】跨时钟域(CDC,Clock Domain Crossing)
文章目录 一.什么是跨时钟域? 二.跨时钟域传输的问题? 2.1 亚稳态(单bit:两级D触发器(双DFF)) 2.2 数据收敛(多bit亚稳态)(格雷码编码.握手协议.异步FIFO.DMUX) 2. ...
- FPGA笔记2——跨时钟域同步信号方法
亚稳态 触发器是FPGA设计中最常用的基本器件.触发器工作过程中存在数据的建立(setup)和保持(hold)时间.对于使用上升沿触发的触发器来说,建立时间就是在时钟上升沿到来之前,触发器数据端数据保 ...
- FPGA跨时钟域处理的三大方法
跨时钟域处理是FPGA设计中经常遇到的问题,而如何处理好跨时钟域间的数据,可以说是每个FPGA初学者的必修课.如果是还在校的本科生,跨时钟域处理也是面试中经常常被问到的一个问题. 在本篇文章中,主要介 ...
- FPGA设计中,跨时钟域问题的处理
FPGA设计中,跨时钟域问题的处理 今天和大侠简单聊一聊FPGA设计中跨时钟域问题的处理,话不多说,上货. 跨时钟域处理是FPGA设计中经常遇到的问题,而如何处理好跨时钟域间的数据,可以说是每个FPG ...
- 跨时钟域的数据同步,亚稳态,和相关电路设计方法
目录 同步时钟: 亚稳态: 双锁存器同步电路 单bit信号跨时钟域传播 边沿检测同步电路(慢时钟到快时钟) 脉冲同步器电路(快时钟到慢时钟) 结绳法1 结绳法2 结绳法3 多bit信号跨时钟域传播 多 ...
- 单bit控制信号的跨时钟域传输快到慢-----结绳法
本文对读到的两篇文章进行补充 文1:介绍了慢到快,快到慢的方法汇总FPGA--浅谈跨时钟域_three_yanlili的博客-CSDN博客_跨时钟域本篇文章仅用于个人学习,如有雷同,我抄他的.http ...
- 解决跨时钟域问题的三大方法
跨时钟域处理是FPGA设计中经常遇到的问题,而如何处理好跨时钟域间的数据,可以说是每个FPGA初学者的必修课.如果是还是在校的学生,跨时钟域处理也是面试中经常常被问到的一个问题. 在本篇文章中,主要介 ...
- FPGA基础知识极简教程(7)详解亚稳态与跨时钟域传输
博文目录 写在前面 正文 FPGA或ASIC中的传播延迟 建立和保持时间是什么? 建立和保持时间与传播延迟和时钟频率有何关系? 如果违反建立和保持时间会发生什么? FPGA中的亚稳定是什么? 亚稳态何 ...
- FPGA跨时钟域设计的一点总结
1. 亚稳态的概念说明 是指触发器无法在某个规定时间段内达到一个可确认的状态.当一个触发器进入亚稳态引时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上.在这个稳定期间,触发 ...
最新文章
- ud分区删除工具_如何用DiskGenius对硬盘进行分区
- python文件中内容转换为字典
- java中迭代方式_JAVA中LIST迭代的方式汇总
- .net 怎么在控制器action中返回一个试图_一个view事件分发,面试官6连问直击灵魂,我被虐的体无完肤...
- TypeScript 里 object 和 Object 的区别
- sketch钢笔工具_Sketch和Figma,不同的工具等于不同的结果
- P2157 [SDOI2009]学校食堂
- 突然听到一只公鸡的局域网聊天软件
- eclispe中相关操作
- JAVA来读取大文本文件
- python转义字符表
- ITIL4实用指南 | ITSM的未来属于敏捷
- 批处理html转excel,批量Excel转TXT工具(Batch Excel to Text Converter)v2020.12.1118官方免费版...
- 基于STM32的智能电子药盒设计
- 业务侧-到底应该怎么做A/Btest
- Java:从1循环到150,在每行打印一个值,另外在每个3的倍数行上打印出foo“,在每个5的倍数行上打印“biz“,在每个7的倍数行上打印“baz“
- CSS---足球场的实现,纪念2022世界杯(:root的使用)
- 快来新宇宙:物联网与元宇宙融合发展
- 利用albert模型提取文本标签
- ubuntu下安装(二)印象笔记(中国版而不是国际版)