FPGA

FPGA--时序违例

时序违例的影响 1. 功能性错误(最主要影响)数据错误:最常见的后果是数据采集或传输错误。例如,一个D触发器在时钟上升沿到来时,如果其输入数据还没有稳定(不满足建立时间),或者在时钟上升沿后很快就变化了(不满足保持时间),那么D触发器就可能采集到错误的数据,或者采集到亚稳态。 亚稳态:当建立时间和保持时间不满足时,触发器可能会进入亚稳态。处于亚稳态 …

FPGA--Ethernet

第一部分:以太网的第一性原理 - “有组织的广播风暴” 要从根本上理解以太网,我们需要回到它最初要解决的问题:如何让连接在同一根物理介质(如同轴电缆)上的多台计算机,能够相对有序地、避免冲突地共享信道进行通信?1. 核心模型:带有地址的广播 (Addressed Broadcast)广播是物理基础: 在最原始的以太网中(共享介质,如集线器Hub环境 …

FPGA--PCIE

第一部分:PCIe的第一性原理 - “网络化”的总线要从根本上理解PCIe,必须抛弃传统并行总线(如PCI)的“共享总线”思维。PCIe的革命性在于它将网络通信的思想引入了板级互连。 1. 核心模型:点对点的串行链路 (Point-to-Point Serial Links)抛弃共享: PCIe总线上没有共享的数据线。每个PCIe设备都通过一个或多 …

FPGA--AXI4

第一部分:AXI协议的第一性原理1. 核心问题: 在一个复杂的片上系统(SoC)中,有多个“主设备”(Masters,如CPU、DMA引擎)需要与多个“从设备”(Slaves,如DDR4控制器、Block RAM、自定义IP)进行数据交换。如何设计一个高性能、高效率、可扩展的通信框架来管理这些交互? 2. AXI的解决方案 - …

FPGA--DDR4

第一部分:DDR4 - 演进的巅峰 DDR4 (Double Data Rate 4th Generation) SDRAM 并不是一个全新的发明,而是SDRAM技术的第四代主流演进。要理解DDR4,必须先理解“DDR”的本质。 SDRAM的基石: 所有操作都与一个时钟同步。DDR的革命: Double Data Rate。在一个时钟周期内,SDRAM只能在 …

FPGA--SDRAM

SDRAM工作原理A. 核心架构:三维矩阵的“图书馆”可以将一块SDRAM芯片想象成一座多层的图书馆,你需要按特定流程才能取出想要的书(数据)。Bank (存储体): 图书馆的楼层。一块SDRAM芯片通常包含2、4或8个Bank。Bank之间可以独立操作(例如,在一个Bank进行预充电时,可以在另一个Bank读取数据),这是实现高性能流水线操作的关 …

FPGA--I2C通信协议

I2C (Inter-Integrated Circuit)概述 I²C总线由飞利浦公司(现NXP)开发,是一种同步、半双工、多主多从的串行总线。仅用两根线即可连接多个设备,非常适合板内设备间的近距离、低速通信。 物理层与信号线2根线: `SCL` (Serial Clock): 串行时钟线。 `SDA` (Serial Data): 串行数据线。 …

FPGA--SPI通信协议

SPI (Serial Peripheral Interface) 概述 串行外设接口,由摩托罗拉提出,是一种同步、全双工、主从模式的串行通信协议。通常支持一个主设备(Master)和多个从设备(Slaves)。因其高速、简单的特性,广泛用于与闪存(Flash)、ADCDAC、传感器等外设的通信。 物理层与信号线4根线 (典型):  `SCLK` …

FPGA--UART通信协议

引言:串行 vs. 并行 并行接口 (Parallel Interface): 在同一时刻,通过多条数据线同时传输多个数据位。优点是速度快(理论上),逻辑简单。缺点是需要大量引脚和导线,远距离传输时容易出现位间偏斜(Skew,即不同数据位到达时间不一致)和串扰,成本高,难以实现高频率。  串行接口 (Serial Interface): …

FPGA--跨时钟域处理(CDC)

第一部分:问题的根源 —— 无法回避的物理幽灵:亚稳态1. 什么是时钟域 (Clock Domain)?一个时钟域是指FPGA设计中,所有由同一个时钟信号驱动的同步元件(主要是触发器)的集合。在这个域内,所有的数据交换都遵循严格的建立时间(Setup)和保持时间(Hold)要求,是同步、安全、可预测的。2. 什么是跨时钟域 (Clock …