时间:2026-09-29 来源:FPGA_UCY 关于我们 0
FPGA基础知识基础知识 1参考幻灯主要内容主要内容n器件结构nFPGA/CPLDnASIC/FPGAn软核/硬核n设计流程2参考幻灯器件结构器件结构nFPGA演变过程E2PROMGALFPGASOPCPROMEPROME2PROMPLDGALCPLDFPGASOPC3参考幻灯PROMnPROM/EPROM/E2PROMPROM:可编程只读存储器,通过专用的烧录器编程;编程后不可擦除信息;EPROM:紫外线可擦除只读存储器,可通过光擦除编程信息;E2PROM:电可擦除存储器.nPLD/GALPLD:可编程逻辑阵列;GAL:通用逻辑阵列;PLD/GAL基于与或结构,采用e2prom工艺,主要用于替代早期的74系列门电路芯片,灵活度相对要大4参考幻灯CPLDnCPLD/EPLDCPLD:复杂可编程逻辑器件;EPLD:增加型可编程逻辑器件; CPLD基于乘积项结构,采用e2prom或flash工艺,掉电配置信息可保留,主要应用于接口转换,IO扩展,总线控制等;CPLD结构主要由可编程IO单元、基本逻辑单元、布线池/矩阵组成;
可编程IO单元
:可设置集电极开路输出、摆率控制、三态输出等;
基本逻辑单元
:主要指乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。
后面的乘积项选择矩阵是一个“或”阵列两者一起完成组合逻辑
布线矩阵
:用于输入与输出的互联,因布线长度固定,pin to pin的延时也是固定的; 5参考幻灯CPLD器件结构器件结构nMAX7000 CPLD内部结构宏单元6参考幻灯n宏单元(乘积项)与阵列7参考幻灯n乘积项结构或阵列8参考幻灯CPLD逻辑实现逻辑实现n实现原理组合逻辑的输出(AND3的输出)为F,则F=(A+B)*C*(!D)=A*C*!D + B*C*!D ;PLD实现9参考幻灯FPGAnFPGA(Filed programmable gate device):现场可编程逻辑器件 FPGA基于查找表加触发器的结构,采用SRAM工艺,也有采用flash或者反熔丝工艺;主要应用高速、高密度大的数字电路设计;FPGA由可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源(时钟/长线/短线)、底层嵌入功能单元、内嵌专用的硬核等组成;目前市场上应用比较广泛的FPGA芯片主要来自Altera与Xilinx另外还有其它厂家的一些低端芯片(Actel、Lattice);10参考幻灯nFPGA器件结构n可编程输入/输出单元n可编程逻辑单元n嵌入式块RAMn布线资源n底层嵌入功能单元11参考幻灯FPGA器件结构器件结构nXilinx spatan-3器件结构12参考幻灯nAltera cyclone II器件结构LAB13参考幻灯nFPGA器件结构n可编程输入/输出单元n可编程逻辑单元n嵌入式块RAMn布线资源n底层嵌入功能单元14参考幻灯n可编程输入/输出单元 可编程I/O,可配置成OC门、三态门、双向IO、单端/差分等;支持各种不同的I/O标准:LVTTL、LVCOMS、SSTL、LVDS、HSTL、PCI等;15参考幻灯Altera 器件器件IOE结构结构 一般IO结构16参考幻灯Xilinx器件器件IOB结构结构 DDRIO结构17参考幻灯nFPGA器件结构n可编程输入/输出单元n可编程逻辑单元n嵌入式块RAMn布线资源n底层嵌入功能单元18参考幻灯n基本可编程逻辑单元由查找表(Look up table)触发器(FF)组成;LUT一般是4输入查找表,高端器件(xilinx v5)采用LUT-6结构;LUT可看成4位地址线的16x1的RAM 结构FF是可编程的触发器,可配置成同步/异步复位、同步/异步置位、使能、装载等功能触发器; a,b,c,dout0,0,0,000,0,0,10………….1,1,1,11addressdata 00000 00010 …….… 1111119参考幻灯LE/SLICEn基本逻辑单元LE/SLICEAltera:LEXilinx:SLICE20参考幻灯LAB/CLBn可编程逻辑块Altera:LABXilinx:CLBLE21参考幻灯nFPGA器件结构n可编程输入/输出单元n可编程逻辑单元n嵌入式块RAMn布线资源n底层嵌入功能单元22参考幻灯BRAMn嵌入式块RAM 嵌入式块RAM可配置单/双端口RAM、伪双端口RAM、ROM、FIFO、SHIFT、CAM等;不同厂家的块RAM大小不一样:Altera:M512、M4K、M-RAM(512K)Xilinx:18kbitLattic:9kbit完全分开的读写口23参考幻灯nFPGA器件结构n可编程输入/输出单元n可编程逻辑单元n嵌入式块RAMn布线资源n底层嵌入功能单元24参考幻灯布线资源布线资源n布线资源 全局布线资源:用于全局时钟/全局复位/全局置位布线;长线资源:用于BANK或者嵌入式功能单元的高速信号或者第二全局时钟的布线;短线资源:用于其中逻辑单元间的逻辑互联与布线;25参考幻灯nFPGA器件结构n可编程输入/输出单元n可编程逻辑单元n嵌入式块RAMn布线资源n底层嵌入功能单元26参考幻灯n底层嵌入式功能块 主要是指PLL/DPLL、DCM、DSP48、乘法器、嵌入式硬核/软核;Xilinx:DCM、DSP48/48E、DPLL、Multiplier等Altera:PLL/EPLL/FPLL、DSPcore等;Multiplier结构27参考幻灯PLL/DCMnPLL/DCMAltera:PLLXilinx:DCM28参考幻灯n内嵌专用硬核 指高速串行收发器;GMAC、SERDES、PCIe等;Xilinx:GMAC、SERDES、PCI、GTX、GRXAtera:GMAC、SERDES、PCIe、SPI.4/SFI.529参考幻灯nSOPC(System on programmable chip):片上可编程系统FPGA内嵌入了CPU/DSP,具备实现软硬件协同设计的能力; Xilinx:EDK/system generator/matlab/accel DSP/modelsimAltera: SOPC builder/DSPbuilder/matlab/modelsim30参考幻灯基于基于FPGA的的DSP设计设计n基于FPGA的DSP设计Matlab*.msystem generatorAccel DSP*.vsimulinkmodelsim31参考幻灯FPGA与与CPLD区别区别n区别
工艺/结构/延时/配置
uFPGA基于SRAM工艺,集成度高,以LE(包括LUT、FF及其他)为基本单元,有内嵌BRAM、DSP、Multipler等,支持IO标准丰富(LVCOMS33/SSTL25/LVDS等)。
具有易挥发性,需要有上电加载过程在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域中有广泛应用 ;uCPLD基于E2PROM工艺,集成度低,以MicroCell(包括组合部分与寄存器)为基本单元具有非挥发特性,可以重复写入在粘合逻辑、地址译码、简单控制、FPGA加载等设计中有广泛应用 uFPGA基于丰富的触发器结构,适合于时序逻辑设计;uCPLD基于乘积项结构,适合于算法与组合逻辑设计;uCPLD的布线结构使得时序延迟是均匀的和可预测的;uFPGA可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置32参考幻灯FPGA/ASICn
开发周期/风险/人力
ASIC开发周期长,开发难度大,开发风险强,灵活性小,不具备可编程性;FPGA开发周期短,难度相对要小,具备可编程性,灵活度大,可降低开发风险;n
开发流程
ASIC开发流程:设计输入/逻辑综合/功能仿真/布图规划/布局布线/参数提取/版图后仿;FPGA开发流程:设计输入/功能仿真/逻辑综合/布局布线/时序仿真/生成下载文件;n
代码风格
ASIC:代码最简最省/减少门级数/底层RAM/乘法器/除法器自己设计等;FPGA:RAM/MUL/DPLL等可以直接使用,可大量使用FF等,时钟有专门的时钟BUF来驱动等;33参考幻灯设计流程设计流程 FPGA 的设计是一个迭代过程,主要有以上设计过程;34参考幻灯n设计输入 FPGA设计主要有状态机输入、原理图、HDL语言等方式;HDL语言包括verilog、systemvlog、vhdln功能仿真 验证设计时序是否符合要求;工具有modelsim、Activehdl、NC-Verilog/Vhdl、各厂家自带工具等 调用模块行为仿真模型RTL代码testbench文件测试数据35参考幻灯n综合优化将设计翻译成门电路、FF、RAM、等功能单元连接的网表;综合工具有:synplify Pro、DC compile、各厂家自带工具等; RTL代码调用模块黑盒子EDIF网表HDL网表综合约束36参考幻灯n布局布线 把综合得到的网表适配到FPGA器件中,并利用FPGA中布线资源完成各功能单元的连接; n时序仿真 将延时信息反注到网表中,再进行仿真,此时的仿真已接近电路的实际工作情况; n下载调试把生成的配置文件下载到FPGA中,进行实际的调试;37参考幻灯n后仿真图示HDL网表SDF文件标准延时文件FPGA基本单元仿真模型测试程序测试数据38参考幻灯基础部分完基础部分完39参考幻灯。
下一篇:SOC培训