FPGA学习记录-基础知识
1.FPGA的烧录一般我们的烧录口有两路接口。一种是JTAG分为TDI/TDO/TCK/TMS我们调试代码烧的sof就是这种方式其实就是直接将代码烧到fpga的SRAM(FPGA基本构成)中另外当我们给外置flash烧录时jic时也是通过jtag由fpga转了一手烧录的。下载器 → FPGAJTAG→ FPGA 内部桥 → Flash另一种是AS分为线序分别为ASDI/nCS/DCLK/DATA我们烧Alter的固件pof时其实就用的是这种通道。下载器 →直接连到 Flash的 SPI 引脚上FPGA 在中间处于高阻态旁观。这种 接口无法调试代码。对于intel的fpga基本都可以生成pof除了MAX II / MAX V / MAX 10。其他几种有 .pof 没用的情况产线只留一个测试点 — JTAG 口用来下载 调试 固化一条龙AS 口多余直接砍掉懒得换插头 — 调试用 .sof固化了直接切 .jic不拔线省事MAX 10 — 内部集成 Flash没有独立 AS 口的引脚概念烧内部 Flash 走 JTAG.pof 可以烧内部 Flash 但也是通过 JTAG 链路走不过常规固化也是 .jic 更常见2.FPGA的启动方式一般我们有三种启动方式JTAGAS PSJTAG调试时下载sof用。ASXINLIN也叫Master SPIFPGA 主动读 Flash。原理如下上电 → FPGA 自己发 DCLK → 从外部 Flash 按 bit 读 → 加载到 SRAM → 运行PSXINLIN也叫Slave Serial 别人(MCU,ARM)喂给 FPGA。原理如下上电 → 外部 MCU/ARM/另一个 FPGA 发时钟和数据 → 串行喂给 FPGA → 运行具体硬件配置需要找对应器件的Configuration Handbook3.RGMIIRGMII Reduced Gigabit Media Independent Interface精简千兆媒体独立接口是以太网 MAC ↔ PHY 之间最常用的千兆接口。3.1标准信号共 12 根分收发两部分发送方向MAC/FPGA → PHYTXC发送时钟千兆固定125 MHzFPGA 输出TXD[3:0]4 位发送数据TX_CTL发送控制TX_EN TX_ER 复用接收方向PHY → MAC/FPGARXC接收时钟125 MHzPHY 输出RXD[3:0]4 位接收数据RX_CTL接收控制RX_DV RX_ER 复用3.2关键工作机制千兆核心100M/10M 降频使用单边沿SDR自动兼容百兆、十兆。3.3主要特点1.引脚少布线简单PCB 设计友好2.速率支持 10/100/1000M 自适应3.时序严格对时钟、数据、控制信号之间的相位偏移skew要求极高FPGA 设计必须做时 序约束、引脚电平匹配4.电平主流 3.3V LVCMOS部分芯片支持 2.5V注意xinlinx官方有Ethernet IP需要收费如果免费需要自己手写。千兆模式必须使用 DDR 技术才能跑满速率。千兆速率下采用 双边沿采样DDRTXC 上升沿传低 4bit 数据TXC 下降沿传高 4bit 数据 4 位数据线 双边沿 等效 8 位带宽实现 1000Mbps 千兆。