
FPGA基本功
文章平均质量分 54
wo_cai_niao
一位菜鸟
展开
-
跨时钟域信号处理---脉冲同步器详解
此代码段的原理为:将时钟域clk_a下的单脉冲信号pulse_a转化为电平信号pulse_inv,然后在时钟域clk_b下对该电平信号进行异或边沿检测便得到时钟域clk_b下的脉冲信号pulse_b,采用三级寄存器进行边沿检测,可以防止亚稳态传播。原创 2023-02-14 22:41:45 · 2018 阅读 · 0 评论 -
FPGA基本功之数据帧检测
若不为帧尾则为有效数据,每收到16bit数据进行输出,并拉高data_valid信号(持续一个clk);继续检测该数据流是否为帧尾,如果为帧尾,本次数据提取结束;如果不为帧尾,仍为有效数据,重复上述过程,直到数据结束。定义一个数据帧,帧头为8'he,帧尾为8'hff(有效数据不包含帧尾),当数据输入时开始检测,若检测到帧头后直接检测到帧尾,则认为数据帧为空包,拉高abort信号(持续一个clk);原创 2023-01-25 10:11:23 · 1207 阅读 · 0 评论 -
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 · 874 阅读 · 1 评论