设计一个电路,把A clock domain的一个单周期脉冲同步到B clockdomain,在B domain也为一个单周期脉冲(A、B是异步clock,且时钟周期关系不确定),画出电路图。

解析:通读题干后我们可以得出一些比较有用的信息:

1)单周期脉冲,说明只有1bit;

2)A、B是异步的,说明需要做跨时钟域的处理;

3)A、B的时钟周期关系不确定,说明要考虑A时钟快还是B时钟快。

总结下来就是考察我们单比特数据如何做跨时钟域处理的问题,相关的知识点我们在加油站| 单比特信号跨时钟域问题详解(大疆FPGA逻辑岗A卷)中做了详细的讲解。与之不同的是我们要用一种方法实现两种情况(A快B慢和A慢B快),这里我们还是用脉冲展宽的方法,代码不再贴出,直接看仿真结果。

A(约300MHz)快B(100MHz)慢跨时钟域仿真波形图:

设计一个电路,把A clock domain的一个单周期脉冲同步到B clockdomain,在B domain也为一个单周期脉冲(A、B是异步clock,且时钟周期关系不确定),画出电路图。

A(100MHz)慢B(约300MHz)快跨时钟域仿真波形图:

设计一个电路,把A clock domain的一个单周期脉冲同步到B clockdomain,在B domain也为一个单周期脉冲(A、B是异步clock,且时钟周期关系不确定),画出电路图。

题目要求画出电路图,所以我们可以将如下所示的RTL代码综合出的电路图画出。

设计一个电路,把A clock domain的一个单周期脉冲同步到B clockdomain,在B domain也为一个单周期脉冲(A、B是异步clock,且时钟周期关系不确定),画出电路图。