时间:2025-09-29 来源:FPGA_UCY 关于我们 0
《《FPGA简介》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《FPGA简介》PPT课件.ppt(27页珍藏版)》请在知学网上搜索。
1、FPGA简介简介2.CPLD/FPGA2.CPLD/FPGA概述概述概述概述1.1.可编程逻辑器件发展历程可编程逻辑器件发展历程可编程逻辑器件发展历程可编程逻辑器件发展历程3.CPLD/FPGA3.CPLD/FPGA基本原理基本原理基本原理基本原理4.FPGA4.FPGA设计方法设计方法设计方法设计方法5.FPGA5.FPGA设计流程设计流程设计流程设计流程7.PLD/FPGA7.PLD/FPGA发展趋势发展趋势发展趋势发展趋势6.Verilog HDL6.Verilog HDL语言简介语言简介语言简介语言简介1.1.可可可可编编编编程程程程逻辑逻辑逻辑逻辑器件器件器件器件的发展历程的发展历程
2、的发展历程的发展历程 可编程逻辑器件可编程逻辑器件可编程逻辑器件可编程逻辑器件(PLD)(PLD)(PLD)(PLD)可可可可编编编编程程程程阵阵阵阵列列列列逻辑逻辑逻辑逻辑(PAL(PAL(PAL(PAL)可可可可编编编编程程程程逻辑阵逻辑阵逻辑阵逻辑阵列列列列(PLA)(PLA)(PLA)(PLA)Xilinx Xilinx Xilinx Xilinx的的的的FPGAFPGAFPGAFPGAAlteraAlteraAlteraAltera的的的的CPLDCPLDCPLDCPLD早期FPGAFPGA技术技术现在XilinxXilinx:基于查找表技术,基于查找表技术,基于查找表技术,基于查找
3、表技术,SRAMSRAM工艺,要外挂配置用的工艺,要外挂配置用的工艺,要外挂配置用的工艺,要外挂配置用的EEPROMEEPROM的的的的PLDPLD叫叫叫叫FPGA(FPGA(Field Programable Gate Array)基于乘积项技术,基于乘积项技术,基于乘积项技术,基于乘积项技术,FlashFlash(类似(类似(类似(类似EEPROMEEPROM工艺)工艺的工艺)工艺的工艺)工艺的工艺)工艺的PLDPLD叫叫叫叫CPLDCPLDAlteraAltera:MAXMAX系列(乘积项技术,系列(乘积项技术,系列(乘积项技术,系列(乘积项技术,EEPROMEEPROM工艺),工艺),
4、工艺),工艺),FLEXFLEX系列(查找系列(查找系列(查找系列(查找表技术,表技术,表技术,表技术,SRAMSRAM工艺)都叫作工艺)都叫作工艺)都叫作工艺)都叫作CPLD(CPLD(Complex Programable Logic Device),即复杂,即复杂,即复杂,即复杂PLD(Complex PLD)PLD(Complex PLD)。FPGA技术技术 规模大,能够完成任何数字逻辑的功能,实现系统集成规模大,能够完成任何数字逻辑的功能,实现系统集成规模大,能够完成任何数字逻辑的功能,实现系统集成规模大,能够完成任何数字逻辑的功能,实现系统集成 在投片前验证设计的正确性,开发成本低
5、在投片前验证设计的正确性,开发成本低在投片前验证设计的正确性,开发成本低在投片前验证设计的正确性,开发成本低 修改设计而不用改动硬件电路,开发周期短修改设计而不用改动硬件电路,开发周期短修改设计而不用改动硬件电路,开发周期短修改设计而不用改动硬件电路,开发周期短 减少减少减少减少PCBPCB面积,提高系统可靠性面积,提高系统可靠性面积,提高系统可靠性面积,提高系统可靠性FPGA技术技术PLD(CPLD/FPGA)PLD(CPLD/FPGA)的优点:的优点:的优点:的优点:FPGA技术技术CPLDCPLD和和和和FPGAFPGA的区别的区别的区别的区别 制造工艺不同制造工艺不同制造工艺不同制造工
6、艺不同 实现功能不同实现功能不同实现功能不同实现功能不同FPGA:FPGA:查找表技术,查找表技术,查找表技术,查找表技术,SRAMSRAM工艺工艺工艺工艺CPLDCPLD:乘积项技术,:乘积项技术,:乘积项技术,:乘积项技术,Flash/EEPROMFlash/EEPROM工艺工艺工艺工艺FPGA:FPGA:时序逻辑电路时序逻辑电路时序逻辑电路时序逻辑电路CPLD:CPLD:组合逻辑电路组合逻辑电路组合逻辑电路组合逻辑电路3.CPLD/FPGA3.CPLD/FPGA基本原理基本原理基本原理基本原理FPGA技术技术基于查找表的基于查找表的PLD的基本结构及逻辑实现原理的基本结构及逻辑实现原理
7、基于乘积项的基于乘积项的PLD的基本结构及逻辑实现原理的基本结构及逻辑实现原理 查找表(查找表(查找表(查找表(Look-Up-TableLook-Up-Table)的原理和结构)的原理和结构)的原理和结构)的原理和结构查找表查找表查找表查找表LUTLUT实质上是一个实质上是一个实质上是一个实质上是一个RAMRAM,n n位地址线可以配置为位地址线可以配置为位地址线可以配置为位地址线可以配置为n1n1的的的的RAMRAM。当用户描述。当用户描述。当用户描述。当用户描述了一个逻辑电路后,软件会计算所有可能的结果,并写入了一个逻辑电路后,软件会计算所有可能的结果,并写入了一个逻辑电路后,软件会计算
8、所有可能的结果,并写入了一个逻辑电路后,软件会计算所有可能的结果,并写入RAMRAM。每一个信号进行。每一个信号进行。每一个信号进行。每一个信号进行逻辑运算,就等于输入一个地址进行查表,找出地址对应的内容,输出结果逻辑运算,就等于输入一个地址进行查表,找出地址对应的内容,输出结果逻辑运算,就等于输入一个地址进行查表,找出地址对应的内容,输出结果逻辑运算,就等于输入一个地址进行查表,找出地址对应的内容,输出结果FPGA技术技术Xilinx Spartan-IIXilinx Spartan-II内部结构内部结构内部结构内部结构FPGA技术技术AlteraAltera的的的的FLEX/ACEXFLE
9、X/ACEX等芯片的内部结构等芯片的内部结构等芯片的内部结构等芯片的内部结构FPGA技术技术选择选择选择选择FPGAFPGA还是还是还是还是CPLDCPLDCPLD组合逻辑的功能很强,一个宏单元就可以分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至十几个甚至2030多个组合逻辑输入。多个组合逻辑输入。FPGA的一个的一个LUT只能处理只能处理4输入的组合逻辑,因此,输入的组合逻辑,因此,CPLD适合用于设计译码等复杂组合逻辑。适合用于设计译码等复杂组合逻辑。但但FPGA的制造工艺确定了的制造工艺确定了FPGA芯片中包含的芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,和触发器的
10、数量非常多,往往都是几千上万,CPLD一般只能做到一般只能做到512个逻辑单元,而且如果用芯片价格个逻辑单元,而且如果用芯片价格除以逻辑单元数量,除以逻辑单元数量,FPGA的平均逻辑单元成本大大的平均逻辑单元成本大大低于低于CPLD。FPGA技术技术4.FPGA4.FPGA的设计方法的设计方法的设计方法的设计方法FPGA的常用设计方法包括的常用设计方法包括“自顶向下自顶向下”和和“自下而上自下而上”,目前大规模目前大规模FPGA设设计一般选择计一般选择“自顶向下自顶向下”的设计方法。的设计方法。所谓所谓“自顶向下自顶向下”设计方法设计方法,简单地说简单地说,就是采用可完全独立于芯片厂商及其产就
11、是采用可完全独立于芯片厂商及其产品结构的描述语言品结构的描述语言,在功能级对设计产品进行定义在功能级对设计产品进行定义,并结合功能仿真技术并结合功能仿真技术,以确保以确保设计的正确性设计的正确性,在功能定义完成后在功能定义完成后,利用逻辑综合技术利用逻辑综合技术,把功能描述转换成某一具把功能描述转换成某一具体结构芯片的网表文件体结构芯片的网表文件,输出给厂商的布局布线器进行布局布线。布局布线结输出给厂商的布局布线器进行布局布线。布局布线结果还可反标回同一仿真器果还可反标回同一仿真器,进行包括功能和时序的后验证进行包括功能和时序的后验证,以保证布局布线所带以保证布局布线所带来的门延时和线延时不会
12、影响设计的性能。来的门延时和线延时不会影响设计的性能。FPGA技术技术自顶向下设计方法学自顶向下设计方法学自顶向下设计方法学自顶向下设计方法学顶层模块顶层模块顶层模块顶层模块子模块子模块1 1子模块子模块2 2子模块子模块3 3叶单元叶单元叶单元叶单元叶单元叶单元叶单元叶单元叶单元叶单元叶单元叶单元FPGA技术技术FPGA技术技术5.FPGA5.FPGA设计流程设计流程设计流程设计流程6.Verilog HDL6.Verilog HDL语言简介语言简介语言简介语言简介uu能力能力能力能力 设计的行为特性、设计的数据流特性、设计的结构组成以及 包含响应 监控和设计验证方面的时延和波形产生机制。提
13、供 了编程语言接口,通过该接口可以在模拟、验证期间从设计 外部访问设计,包括模拟的具体控制和运行。u主要功能主要功能 基本逻辑门,例如and、or 和nand 等都内置在语言中 开关级基本结构模型,例如pmos 和nmos 等也被内置在语言中 可采用三种不同方式或混合方式对设计建模 两类数据类型 能够描述层次设计,可使用模块实例结构描述任何层次 能够使用门和模块实例化语句在结构级进行结构描述FPGA技术技术Verilog HDLVerilog HDL建模概述建模概述建模概述建模概述1.1.模块模块模块模块 Verilog 的基本描述单位,用于描述某个设计的功能或结构及与其他的基本描述单位,用于
14、描述某个设计的功能或结构及与其他 模块通信的外部端口模块通信的外部端口加法器实例加法器实例加法器实例加法器实例module addr(a,b,cin,count,sum);input 2:0 a;input 2:0 b;input cin;output count;output 2:0 sum;assign count,sum=a+b+cin;endmoduleFPGA技术技术模块的结构模块的结构模块的结构模块的结构module module_name(port1,port2,.);/D e c l a r a t i o n s:input,output,inout,reg,wire,par
15、ameter,function,task,./S t a t e m e n t s:Initial statement Always statement Module instantiation Gate instantiation Continuous assignmentendmoduleFPGA技术技术模块的端口模块的端口模块的端口模块的端口inputinputreg or netreg or netoutputoutputnetnetnetnetreg or netreg or netinoutinoutnetnetnetnetFPGA技术技术2.2.时延时延时延时延信号在电路中传输
16、会有传播延时等,如线延时、器件延时。时延就是信号在电路中传输会有传播延时等,如线延时、器件延时。时延就是对延时特性的对延时特性的HDL描述。描述。assign#2 B=Atimescale 1ns/100psFPGA技术技术建模方式建模方式建模方式建模方式 结构化描述方式结构化描述方式结构化描述方式结构化描述方式 数据流描述方式数据流描述方式数据流描述方式数据流描述方式 行为描述方式行为描述方式行为描述方式行为描述方式FPGA技术技术结构化描述方式结构化描述方式结构化描述方式结构化描述方式结构化的建模方式就是通过对电路结构的描述来建模,即通过对器件的调用,并使用线网来连接各器件。module FA_struct(A,B,Cin,Sum,Count);input A;input B;input Cin;output Sum;output Count;wire S1,T1,T2,T3;xor x1(S1,A,B);xor x2(Sum,S1,Cin);and A1(T3,A,B);and A2(T2,B,Cin);and A3(T1,A,Cin);or O1(Cout,T1,T2,T3);
下一篇:fpga与ic培训靠谱吗