FPGA基础知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

FPGA基础知识主要内容器件结构FPGA/CPLDASIC/FPGA软核/硬核设计流程器件结构FPGA演变过程E2PROMGALFPGASOPCPROMEPROME2PROMPLDGALCPLDFPGASOPCPROMPROM/EPROM/E2PROMPROM:可编程只读存储器,通过专用的烧录器编程;编程后不可擦除信息;EPROM:紫外线可擦除只读存储器,可通过光擦除编程信息;E2PROM:电可擦除存储器.PLD/GALPLD:可编程逻辑阵列;GAL:通用逻辑阵列;PLD/GAL基于与或结构,采用e2prom工艺,主要用于替代早期的74系列门电路芯片,灵活度相对要大CPLDCPLD/EPLDCPLD:复杂可编程逻辑器件;EPLD:增加型可编程逻辑器件;CPLD基于乘积项结构,采用e2prom或flash工艺,掉电配置信息可保留,主要应用于接口转换,IO扩展,总线控制等;CPLD结构主要由可编程IO单元、基本逻辑单元、布线池/矩阵组成;[可编程IO单元]:可设置集电极开路输出、摆率控制、三态输出等;[基本逻辑单元]:主要指乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。[布线矩阵]:用于输入与输出的互联,因布线长度固定,pintopin的延时也是固定的;CPLD器件结构MAX7000CPLD内部结构宏单元宏单元(乘积项)与阵列乘积项结构或阵列CPLD逻辑实现实现原理组合逻辑的输出(AND3的输出)为F,则F=(A+B)*C*(!D)=A*C*!D+B*C*!D;PLD实现FPGAFPGA(Filedprogrammablegatedevice):现场可编程逻辑器件FPGA基于查找表加触发器的结构,采用SRAM工艺,也有采用flash或者反熔丝工艺;主要应用高速、高密度大的数字电路设计;FPGA由可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源(时钟/长线/短线)、底层嵌入功能单元、内嵌专用的硬核等组成;目前市场上应用比较广泛的FPGA芯片主要来自Altera与Xilinx。另外还有其它厂家的一些低端芯片(Actel、Lattice);FPGA器件结构可编程输入/输出单元可编程逻辑单元嵌入式块RAM布线资源底层嵌入功能单元FPGA器件结构Xilinxspatan-3器件结构AlteracycloneII器件结构LABFPGA器件结构可编程输入/输出单元可编程逻辑单元嵌入式块RAM布线资源底层嵌入功能单元可编程输入/输出单元可编程I/O,可配置成OC门、三态门、双向IO、单端/差分等;支持各种不同的I/O标准:LVTTL、LVCOMS、SSTL、LVDS、HSTL、PCI等;Altera器件IOE结构一般IO结构Xilinx器件IOB结构DDRIO结构FPGA器件结构可编程输入/输出单元可编程逻辑单元嵌入式块RAM布线资源底层嵌入功能单元基本可编程逻辑单元由查找表(Lookuptable)触发器(FF)组成;LUT一般是4输入查找表,高端器件(xilinxv5)采用LUT-6结构;LUT可看成4位地址线的16x1的RAM结构FF是可编程的触发器,可配置成同步/异步复位、同步/异步置位、使能、装载等功能触发器;a,b,c,dout0,0,0,000,0,0,10………….1,1,1,11addressdata0000000010…….…11111LE/SLICE基本逻辑单元LE/SLICEAltera:LEXilinx:SLICELAB/CLB可编程逻辑块Altera:LABXilinx:CLBLEFPGA器件结构可编程输入/输出单元可编程逻辑单元嵌入式块RAM布线资源底层嵌入功能单元BRAM嵌入式块RAM嵌入式块RAM可配置单/双端口RAM、伪双端口RAM、ROM、FIFO、SHIFT、CAM等;不同厂家的块RAM大小不一样:Altera:M512、M4K、M-RAM(512K)Xilinx:18kbitLattic:9kbit完全分开的读写口FPGA器件结构可编程输入/输出单元可编程逻辑单元嵌入式块RAM布线资源底层嵌入功能单元布线资源布线资源全局布线资源:用于全局时钟/全局复位/全局置位布线;长线资源:用于BANK或者嵌入式功能单元的高速信号或者第二全局时钟的布线;短线资源:用于其中逻辑单元间的逻辑互联与布线;FPGA器件结构可编程输入/输出单元可编程逻辑单元嵌入式块RAM布线资源底层嵌入功能单元底层嵌入式功能块主要是指PLL/DPLL、DCM、DSP48、乘法器、嵌入式硬核/软核;Xilinx:DCM、DSP48/48E、DPLL、Multiplier等Altera:PLL/EPLL/FPLL、DSPcore等;Multiplier结构PLL/DCMPLL/DCMAltera:PLLXilinx:DCM内嵌专用硬核指高速串行收发器;GMAC、SERDES、PCIe等;Xilinx:GMAC、SERDES、PCI、GTX、GRXAtera:GMAC、SERDES、PCIe、SPI.4/SFI.5SOPC(Systemonprogrammablechip):片上可编程系统FPGA内嵌入了CPU/DSP,具备实现软硬件协同设计的能力;Xilinx:EDK/systemgenerator/matlab/accelDSP/modelsimAltera:SOPCbuilder/DSPbuilder/matlab/modelsim基于FPGA的DSP设计基于FPGA的DSP设计Matlab*.msystemgeneratorAccelDSP*.vsimulinkmodelsimFPGA与CPLD区别区别[工艺/结构/延时/配置]FPGA基于SRAM工艺,集成度高,以LE(包括LUT、FF及其他)为基本单元,有内嵌BRAM、DSP、Multipler等,支持IO标准丰富(LVCOMS33/SSTL25/LVDS等)。具有易挥发性,需要有上电加载过程。在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域中有广泛应用;CPLD基于E2PROM工艺,集成度低,以MicroCell(包括组合部分与寄存器)为基本单元。具有非挥发特性,可以重复写入。在粘合逻辑、地址译码、简单控制、FPGA加载等设计中有广泛应用FPGA基于丰富的触发器结构,适合于时序逻辑设计;CPLD基于乘积项结构,适合于算法与组合逻辑设计;CPLD的布线结构使得时序延迟是均匀的和可预测的;FPGA可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。FPGA/ASIC[开发周期/风险/人力]ASIC开发周期长,开发难度大,开发风险强,灵活性小,不具备可编程性;FPGA开发周期短,难度相对要小,具备可编程性,灵活度大,可降低开发风险;[开发流程]ASIC开发流程:设计输入/逻辑综合/功能仿真/布图规划/布局布线/参数提取/版图后仿;FPGA开发流程:设计输入/功能仿真/逻辑综合/布局布线/时序仿真/生成下载文件;[代码风格]ASIC:代码最简最省/减少门级数/底层RAM/乘法器/除法器自己设计等;FPGA:RAM/MUL/DPLL等可以直接使用,可大量使用FF等,时钟有专门的时钟BUF来驱动等;设计流程设计输入功能仿真综合优化布局布线时序仿真下载调试设计修改FPGA的设计是一个迭代过程,主要有以上设计过程;设计输入FPGA设计主要有状态机输入、原理图、HDL语言等方式;HDL语言包括verilog、systemvlog、vhdl功能仿真验证设计时序是否符合要求;工具有modelsim、Activehdl、NC-Verilog/Vhdl、各厂家自带工具等调用模块行为仿真模型RTL代码testbench文件测试数据功能仿真综合优化将设计翻译成门电路、FF、RAM、等功能单元连接的网表;综合工具有:synplifyPro、DCcompile、各厂家自带工具等;RTL代码综合优化调用模块黑盒子EDIF网表HDL网表综合约束布局布线把综合得到的网表适配到FPGA器件中,并利用FPGA中布线资源完成各功能单元的连接;时序仿真将延时信息反注到网表中,再进行仿真,此时的仿真已接近电路的实际工作情况;下载调试把生成的配置文件下载到FPGA中,进行实际的调试;后仿真图示FPGA厂家工具时序仿真HDL网表SDF文件标准延时文件FPGA基本单元仿真模型测试程序测试数据基础部分完

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功