tx_addheader(加前导)

1,四状态

reg framing_flag;

状态主开关,它是全局的状态标识。后面几乎所有的逻辑,都要看这个灯的脸色行事------"只有灯亮着,流水线才允许运转" 。

reg [15:0]data_cnt;

计数器,0~2047:发前导码;2048~19455 :发数据 。

reg framing_flag_reg;

它的输入端死死连着 framing_flag,并且受时钟 clk 驱动。在时钟的每一个上升沿时刻,它都会读取 framing_flag 的状态(此时读取的是framing_flag 上一拍 的电平)。这个变量不直接参与业务控制,它是专门为了配合生成下面那个 _rise 脉冲而设立的"工具人"。没有它,就做不出边沿检测电路。

wire framing_flag_rise;

它是整个系统的"起跑发令枪"。

  • framing_flag 拉高会持续两万多个周期(持续时间太长了),但系统里的某些部件(比如各种缓存指针、RAM 的读地址)只需要在发车的一瞬间听到一声"砰!",然后把自己归零,准备开始新一轮的工作。

  • 根据它的逻辑表达式:framing_flag && !framing_flag_reg (现在的状态是 1,且上一拍的状态是 0)。

  • 这个条件仅仅在发车的第一拍会成立。只要过了这一拍,两者都会变成 1,这个脉冲就会瞬间消失。

  • 架构师视角 :极其优美的同步电路设计!有了这根线,你就可以在代码的任何地方写上 if (framing_flag_rise)。这相当于告诉底层的部件:"只要枪声一响,不管你之前在干嘛,立刻给我复位清零,准备迎接新的一帧!"

相关推荐
北京青翼科技6 小时前
青翼科技基于XCVU13P FPGA的4路FMC接口高性能信号处理平台丨嵌入式智能平台 · 通用嵌入式平台丨FPGA信号处理板
fpga开发·信号处理·信号处理板·图形处理板卡·pcie数据处理板·fpga板卡
HIZYUAN1 天前
FPGA/CPLD漫谈:2K LUT的功能定位与典型方案(一)
stm32·单片机·嵌入式硬件·fpga开发·国产mcu+fpga
FPGA_Linuxer1 天前
FPGA开发板 KU5P开发板 图像处理,硬件加速 PCIE3.0 100G光口
fpga开发
szxinmai主板定制专家1 天前
基于ZYNQ MPSOC多通道声音振动采集方案,替代NI9234和B&K
arm开发·人工智能·嵌入式硬件·fpga开发
ZYNQRFSOC2 天前
基于安路PH2A系列FPGA的JESD204B接口测试
嵌入式硬件·fpga开发
szxinmai主板定制专家2 天前
基于RK3588超小体积,轻巧,长续航的无人机AI模块,支持视频跟踪
arm开发·人工智能·嵌入式硬件·fpga开发·无人机
unicrom_深圳市由你创科技3 天前
多 FPGA 之间如何同步与通信?
fpga开发
LCMICRO-133108477463 天前
长芯微LCMDC7616完全P2P替代AD7616,16通道16位模数转换器(ADC)
stm32·嵌入式硬件·fpga开发·硬件工程·模数转换器adc·电力线监测
又菜又爱玩的东哥3 天前
【Verilog 3-8译码器设计与仿真:深入理解case语句与组合逻辑】
fpga开发