FPGA笔试知识点汇总

发布时间:2026/6/30 1:08:56

FPGA笔试知识点汇总 一、FPGA各领域优势1. AI领域高度并行计算能力可同时处理大规模数据、执行复杂算法低延迟、高性能响应速度快、能效比高可编程性灵活可按需定制设计、实现计算加速2. 通信领域擅长通信协议实现与转换用于协议转化、协议处理、数据包分发3. 航天领域用于航天器姿态控制、通信系统、数据处理、设备控制4. 自动驾驶领域高度并行计算实时处理复杂数据图像处理、传感器融合、路径规划、安全控制低延迟高性能支撑车车通信、车路互联可编程定制适配各类加速计算需求5. 医学领域超声成像、心脏起搏器、磁共振设备信号/图像处理医疗设备快速响应算法高度定制加速提升诊断精度与效率二、FPGA内部组成可编程IO单元芯片与外部电路接口适配多种电气标准、IO物理特性可调匹配阻抗、上下拉电阻、输出驱动电流支持LVDS、DDR等多种电平标准基本可编程逻辑单元由LUT寄存器构成实现组合逻辑、时序逻辑可配置为分布式RAM、分布式ROM嵌入式RAM资源Block RAM可配置单/双口RAM、FIFO布线资源连通片内所有资源连线长度决定传输速度与驱动能力全局布线全局时钟、全局复位布线长线Bank间高速信号、第二全局时钟短线基础逻辑单元互连分布式布线专属时钟、复位控制线内嵌功能单元DLL、PLL等时钟管理模块内嵌专用硬核SERDES串并收发器三、FPGA功耗构成与降功耗方案1. 功耗组成总功耗 静态功耗 动态功耗 IO功耗静态功耗待机功耗上电但电路无翻转时的功耗动态功耗内部逻辑信号翻转产生的功耗IO功耗IO引脚翻转外部负载电容充放电功耗2. 降低功耗方法IO层面选用低电压IO标准、降低输出驱动强度减少外部电容充放电损耗时钟优化功耗主要来源闲置模块直接关闭时钟树优于单纯时钟使能时钟使能时钟树仍翻转耗电时钟分区隔离最小化时钟覆盖区域状态机优化规划状态编码减少状态跳转时翻转比特数量核心方案选用低功耗器件降功耗效果最显著、成本最低四、FPGA分层架构逻辑层控制逻辑、数据流控制存储层临时数据、中间结果缓存计算单元层执行运算操作五、FPGA开发处理流程综合RTL代码经综合工具转为门级网表基于目标FPGA架构逻辑优化实现网表布局布线生成对应芯片物理设计生成比特流bitstream将物理设计转为配置文件存储FPGA逻辑连接配置信息六、时序违例解决方法外部输入时钟接入PLL消除时钟劣化时序逻辑优化时序校正、时钟分频、相位调节组合逻辑插入寄存器缩短单级逻辑延时流水线重构代码拆分长路径使用工具内置时序分析工具Timing Analyzer自动优化七、FPGA三要素可编程逻辑功能块片内互联布线资源IO输入输出块八、FPGA并行加速设计技巧浮点定点化硬件乘法移位运算替代浮点计算全流水线架构最大化吞吐乒乓操作提升数据并行处理能力面积换速度多通路并行计算优先片内缓存BRAM/分布式RAM减少外部存储访问九、FPGA上电启动流程上电初始化复位寄存器、加载默认配置参数配置模式选择主串、从串、并行、JTAG调试模式配置数据加载主模式FPGA主动读取外部FLASHEPCS配置数据从模式CPU/MCU/DSP下发比特流至FPGAJTAG模式PC在线下载断电配置丢失系统运行配置完成后FPGA加载逻辑与外设协同工作十、ZYNQ启动流程Zynq依靠PS端ARM核完成芯片配置无法从PL直接启动流程BootROM初始化 → 读取外设启动镜像到OCM → 加载FSBL → PS初始化 → 加载PL比特流(.bit) → 跳转运行裸机/应用程序十一、FPGA程序固化原理FPGA基于SRAM架构配置数据断电丢失需将bit文件存储片外SPI FLASHN25Q128128Mbit/16MB上电自动加载配置实现掉电保存功能。十二、主流7系列FPGA硬件资源表FPGA芯片XC7A35T-FGG484XC7A100T-FGG484XC7A200T-FBG484逻辑单元Logic cells33280101440215360Slices40011882888Block RAM1800Kb4860Kb13140Kb时钟单元CMTs5610速度等级-2-2-2芯片等级工业级工业级工业级工作温度-40°C~100°C-40°C~100°C-40°C~100°CPCIe111高速收发器444最大用户IO口250285285开发板外设接口拓展EEPROM拓展、40Pin屏幕、LCD、摄像头电源电源开关、电源输入输出HDMI、串口、TYPE-C、千兆以太网输入140Pin TF卡座十三、Verilog基础语法1. 阻塞赋值 vs 非阻塞赋值阻塞赋值同步顺序执行同一时钟内语句按代码顺序依次赋值组合逻辑专用非阻塞赋值并行赋值同一时钟沿所有信号同时更新时序逻辑alwaysclk专用2. 同步逻辑 vs 异步逻辑同步逻辑所有电路共用统一时钟仅时钟沿触发状态变化时钟间时序固定异步逻辑无统一全局时钟输入电平直接改变电路状态各时钟无固定相位关系3. 建立时间 保持时间建立时间Tsu时钟沿到来前输入数据必须稳定的最小时间保持时间Thd时钟沿到来后输入数据必须稳定的最小时间必要性触发器内部锁存数据需要延时不满足则产生亚稳态采样数据错误4. 同步复位 / 异步复位同步复位仅时钟沿采样复位信号时序稳定、无毛刺风险缺点复位响应慢异步复位不受时钟控制复位信号有效立即复位缺点复位毛刺易引发亚稳态异步复位同步释放两级寄存器打拍同步异步复位信号消除亚稳态reg rst_0,rst_1; always(posedge clk or negedge rst_n)begin if(!rst_n)begin rst_00; rst_10; end else begin rst_0rst_n; rst_1rst_0; end end always(posedge clk or negedge rst_1)begin if(!rst_1) dout0; else doutd; end5. 亚稳态定义触发器无法在规定时间稳定到确定高低电平消除方案同源时钟PLL统一生成时钟跨时钟域使用异步FIFO缓存多bit数据单bit跨时钟域两级寄存器打两拍降低系统时钟频率6. 最小时钟周期与最大频率[ T_{min}T_{co}T_{data}T_{su}-T_{skew} ][ F_{max}1/T_{min} ]建立时间是限制系统最高工作频率的核心因素。7. 时序分析四种时序路径片内寄存器 → 寄存器外部输入端口 → 内部寄存器内部寄存器 → 外部输出端口输入端口直接到输出端口纯组合逻辑时序约束策略先全局约束定义所有时钟周期、IO输入输出偏移、纯组合路径约束后特殊约束多时钟域、多周期路径、快慢异常路径单独约束约束作用指导工具优化提升电路最高工作频率静态时序分析判断时序是否达标定义IO电平标准、引脚分配8. 跨时钟域数据同步单bit信号快→慢时钟域信号拉高时长≥1.5倍慢时钟周期或握手交互慢→快时钟域两级寄存器打两拍同步多bit信号异步FIFO、双口RAM、握手协议9. 片内存储资源Block RAMBRAM专用硬件存储块不占用LUT/FF逻辑资源、读写速度快使用粒度为整块大小整数倍优先选用分布式RAMLUT配置而成占用逻辑资源适合小容量缓存10. 存储器件对比器件特性用途SRAM速度快、掉电丢失、无刷新、成本高FPGA内部配置、高速缓存FLASH容量大、掉电保存、按扇区擦写FPGA配置芯片、程序存储DRAM成本低、需定期刷新、速度慢电脑内存SDRAM同步动态DRAMDDR系列基础高速大容量数据缓存11. 竞争与冒险竞争同一信号经不同延时路径到达同一逻辑门到达时间不一致冒险竞争产生毛刺脉冲布尔式同时包含同一信号正反相时易出现解决办法增加冗余逻辑项消除逻辑冒险输出端并联滤波电容滤除毛刺增加选通时钟避开毛刺窗口12. Latch锁存器 vs Register触发器Latch电平敏感异步电路易造成时序分析困难、浪费资源Register边沿触发两级latch级联构成同步电路标准器件时序可控13. TTL与CMOS电平兼容CMOS可直接驱动TTL5V供电下TTL驱动CMOS需要输出上拉电阻至电源电压14. LUT与FFLUT本质小型RAM存储逻辑真值表实现组合逻辑运算FF触发器时钟边沿存储数据实现时序逻辑、状态机配合关系LUT计算逻辑结果FF寄存输出15. task 任务 vs function 函数共同点模块内定义仅本模块调用可定义局部变量不能定义wire线网内部仅行为语句不可包含always/initial块区别特性function函数task任务调用关系仅调用函数不可调用task可调用task、function时序延迟无延迟、无时序控制支持#延迟、事件返回值仅1个返回值无输出端口无返回值支持多输出/双向端口输入至少1个输入可无输入综合可综合描述组合逻辑不可综合仅仿真使用automatic关键字函数/任务可重入局部变量动态分配地址避免冲突16. Moore Mealy状态机Moore摩尔机输出仅由当前状态决定时钟沿更新输出延时更大Mealy米勒机输出由当前状态输入共同决定无需等待时钟即可变化局限性部分时序电路仅能使用Moore机实现17. D触发器上升沿锁存D输入值边沿之间D变化不影响输出必须满足建立/保持时间否则亚稳态。十四、FIFO相关知识点1. 异步FIFO最小深度适用于读写不同频不同源场景防止数据溢出丢失[ FIFO最小深度 突发总数据量 - 突发总量 × \frac{读时钟频率}{写时钟频率} ]背靠背连续传输时读写速率比值不为1。2. SDRAM配套FIFO深度设为单次操作数据位宽2倍即可SDRAM物理读写速度高于用户接口。十五、时钟分频1. 偶分频D触发器级联实现N个触发器实现2^N分频输出占空比50%同步时钟。module clk_divider #(parameter dividor4) input clk_in, input rst_n, output clk_out ); reg [10:0]r_cnt; reg flag1; always(posedge clk_in, negedge rst_n)begin if(!rst_n) r_cntd0; else if(r_cntdividor-d1) r_cntd0; else r_cntr_cntb1; end endmodule2. 奇分频分别用上升沿、下降沿生成两路分频时钟逻辑或/与运算得到50%占空比奇数分频。十六、时钟偏移 时钟抖动1. 时钟偏移skew现象同一时钟到达不同触发器延时不一致危害时序违例、数据采样不稳定解决全局时钟缓冲器、优化时钟树、时序约束、缩短时钟布线2. 时钟抖动jitter现象时钟周期随机微小波动危害时序裕量降低、系统不稳定、EMI干扰解决低抖动晶振、PLL滤波、时序分析预留抖动裕量十七、高速接口LVDS低压差分信号抗干扰强、长距离传输引脚多、功耗偏高SERDES并串转换高速、布线简单占用专用硬核、时序复杂PCIe超高带宽、可扩展协议复杂、消耗专用IP资源DDR双边沿采样、高带宽低成本时序严苛、信号完整性要求高十八、DDR3设计要点时钟比例推荐用户时钟:DDR系统时钟1:4带宽匹配2:1带宽减半带宽计算示例DDR时钟320MHz位宽32bit双边沿[ 320M × 32 × 2 ÷ 8 2.56GB/s ]用户时钟160MHzAXI64bit[ 160M × 64 ÷ 8 1.28GB/s ]读写各占用一半物理带宽避免溢出错误MIG IP存在读延迟发读命令后多周期才输出有效读数据read_valid时钟分类参考时钟(PLL输入)、系统时钟(DDR工作时钟)、用户时钟(系统时钟1/2或1/4)十九、AXI4总线规范1. 基础时序规则读数据握手必须在读地址握手完成后写地址、写数据无先后顺序写响应通道在写传输完成后返回VALID信号必须等待READY拉高后才可撤销2. 地址与突发规则AWADDR/ARADDR仅传输突发首地址从机自增地址突发禁止跨4KB地址边界防止跨从设备访问突发长度范围0~256最大突发长度4096/(数据位宽/8)二十、RGMII以太网延时模式FPGA收发均配置延时模式发送端数据与时钟同相位PHY内部延时2ns接收端数据提前2ns到达时钟上下沿采样数据中间位置采样稳定二十一、加法器1. 半加器仅两个输入位相加无进位输入输出sum本位、cout进位module half_adder01 ( input wire in1, input wire in2, output reg sum, output reg cout ); assign {cout,sum}in1 in2; endmodule2. 全加器输入加数、被加数、低位进位cin输出本位sum、进位cout由两个半加器组合实现。二十二、数据位宽转换整数倍转换仅区分高低位排序计数缓存多拍数据后拼接输出非整数倍转换取输入输出位宽最小公倍数为完整传输周期分段缓存、拆分拼接输出二十三、串行通信总线1. SPI特性同步全双工、高速、主从架构高位先行四种模式由CPOL(空闲电平)、CPHA(采样沿)区分CPOL0空闲SCLK低CPOL1空闲SCLK高CPHA0第一个时钟沿采样CPHA1第二个时钟沿采样优缺点速率高、全双工无应答校验、片选线占用IO多应用FLASH、EEPROM、AD/DA芯片2. IIC(I2C)特性同步半双工、低速设备唯一7/10bit地址速率标准100kb/s、快速400kb/s、高速3.4Mbps时序SCL高电平SDA拉低起始SCL高电平SDA拉高停止低电平改变数据、高电平采样对比SPI半双工、带应答、单总线多设备速率更低二十四、图像处理算法1. 腐蚀 膨胀膨胀扩大高亮区域填充小孔、连接断裂边缘腐蚀缩小高亮区域去除细小噪点、分离粘连目标2. 开运算 / 闭运算开运算先腐蚀后膨胀消除微小噪点保留物体整体尺寸闭运算先膨胀后腐蚀填补物体内部小空洞、平滑边缘3. 图像锐化增强图像边缘提升清晰度便于人眼观测凸显物体轮廓方便FPGA图像分割、目标识别算法处理关注私信即可下载完整可打印 PDF 版本。

相关新闻