- 博客(15)
- 收藏
- 关注
原创 跨时钟域信号处理---脉冲同步器详解
此代码段的原理为:将时钟域clk_a下的单脉冲信号pulse_a转化为电平信号pulse_inv,然后在时钟域clk_b下对该电平信号进行异或边沿检测便得到时钟域clk_b下的脉冲信号pulse_b,采用三级寄存器进行边沿检测,可以防止亚稳态传播。
2023-02-14 22:41:45
1898
原创 VGA模块实现详解
每切换一行,行计数器都是从0开始计数,行坐标不变,对应的列坐标从无效区逐渐计数进入有效区,可以将列坐标有效区向左平移一个像素周期,以提前产生像素坐标
2023-01-26 17:51:51
5835
原创 FPGA基本功之数据帧检测
若不为帧尾则为有效数据,每收到16bit数据进行输出,并拉高data_valid信号(持续一个clk);继续检测该数据流是否为帧尾,如果为帧尾,本次数据提取结束;如果不为帧尾,仍为有效数据,重复上述过程,直到数据结束。定义一个数据帧,帧头为8'he,帧尾为8'hff(有效数据不包含帧尾),当数据输入时开始检测,若检测到帧头后直接检测到帧尾,则认为数据帧为空包,拉高abort信号(持续一个clk);
2023-01-25 10:11:23
1149
原创 FPGA基本功之边沿检测
如下图,来一个与时钟不同步的信号data,检测其边沿,data_0为打1拍,data_2为打2拍,q1为打一拍后的输出,q2为打2拍后的输出,显然q1可能产生毛刺,q2波形质量更好。描述:有一个缓慢变化的1bit信号a,编写一个程序检测a信号的上升沿给出指示信号rise,当a信号出现下降沿时给出指示信号down。(q2好,多用q2)
2023-01-24 20:48:07
850
1
原创 FPGA之锁相环4种模式
零延迟缓冲模式与无补偿模式恰恰相反,它对ce路径进行了补偿,对cd路径没有补偿,因此建议在该模式下对时钟进行输出,不建议把时钟用在寄存器上,因为寄存器上的时钟相位会产生超前或者滞后。在标准模式中时钟在cd路径上是有补偿滴,通过补偿使得时钟在c处的相位与时钟在d处的相位相同。但时钟在e处的相位没有得到补偿,因此e处的时钟有可能超前也有可能滞后。由这个相位关系可知,标准模式下产生的时钟呢最好是用在内部寄存器上,不要用来输出,因为输出会产生相位的超前或者滞后,但在寄存器上它的相位关系是保持一致的。
2023-01-16 18:04:28
970
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人