《FPGA培训课件.ppt》由会员分享,可在线阅读,更多相关《FPGA培训课件.ppt(43页珍藏版)》请在第壹文秘上搜索。
1、1FPGA培训课件2第一讲内容n 可编程逻辑器件概述n ispXP2芯片介绍n FPGA与CPLD的比较n Vrilog HDL编程语言n 编程实例n ispLEVER7.0开发环境n 作业:数字时钟2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训3可编程逻辑器件概述PLD的发展历程:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训4PLD的分类按集成度分类:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训5按结构分类 乘积项结构:大部分简单PLD和CPLD 查找表结构:大多数FPGA按编程工艺分类 熔丝(Fuse)型 反熔丝(Anti-fuse)型
2、EPROM型,紫外线擦除电可编程逻辑器件 EEPROM型 SRAM型:大部分FPGA器件采用此种编程工艺 Flash型2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训6简单PLD器件被取代的原因n阵列规模小,资源不够用于设计数字系统n片内寄存器资源不足,难以构成丰富的时序电路nI/O不够灵活n编程不便,需专用的编程工具2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训7FPGA/CPLD被广泛采用的原因n规模越来越大,单片逻辑门数已愈千万。n开发过程投资小。FPGA/CPLD芯片在出厂前都经过了严格的测试,而且设计灵活,发现错误可直接更改设计,减少了投片风险。n用FP
3、GA/CPLD试制功能样机,能以最快速度占领市场。有些领域,标准协议发展太快,设计ASIC根不上技术更新速度,只能依靠FPGA/CPLD完成系统研制与开发。nFPGA/CPLD开发工具智能化,功能强大。n新型FPGA内嵌CPU或DSP内核,支持软硬件协同设计,可作为SOPC硬件平台。2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训82023年2月27日星期一全国大学生电子设计竞赛-FPGA培训9XP2基本结构JTAG & SPI PortssysCLOCK PLLs Frequency Synthesis-Up to 4 per deviceEnhanced Configurat
4、ion Logicincludes Dual Boot, Decryption & TransFRPre-EngineeredSource SynchronousSupport:DDR2 400MbpsGeneric 750MbpsOn-Chip OscillatorFlashFlexible sysIO Buffers: LVCMOS, HSTL,SSTL, LVDS, + DSP BlocksMultiply and Accumulate Support ForUp to 32 18X18 MultiplierssysMEM Block RAM 18Kbit Dual PortUp to
5、885KbitsProgrammable Function Units (PFUs) Up to 40K LUTsFlexible Routing Optimized for Speed, Cost and Routability2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训10 DeviceXP2-5XP2-8XP2-17XP2-30XP2-40LUTs (K)58172940EBR SRAM Blocks912152148EBR SRAM (Kbits)166221276387885Distributed RAM (Kbits)1018355683# 18x18 Multi
6、pliers1216202832PLLs22444Package & IO Combinations132-ball csBGA (8x8mm)8686144-pin TQFP (20 x20mm)100100208-pin PQFP (28x28mm)146146146256-ball ftBGA (17x17mm)172201201201484-ball fpBGA (23x23mm)358363363672-ball fpBGA (27x27mm)472540查找表(Look-Up-Table)简称为LUT,LUT本质上就是是一个RAM。它把数据事先写入RAM后,每当输入一个信号就等于输
7、入一个地址进行查表,找出地址对应的内容,然后输出。 2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训11FPGA/CPLD比较2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训12什么是什么是Verilog HDLVerilog HDL? Verilog HDL Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按
8、层次描述,并可在相同描述中显和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。式地进行时序建模。Verilog HDLVerilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。计外部访问设计,包括模拟的具体控制和运行。Verilog HDLVerilog HDL语言不仅定义了语语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能
9、够使用编写的模型能够使用Ve r i l o gVe r i l o g仿真器进行验证。语言从仿真器进行验证。语言从C C编程语言中继承了编程语言中继承了多种操作符和结构。多种操作符和结构。Verilog HDLVerilog HDL语言的核心子集非常易于学习和使用,完整的语言的核心子集非常易于学习和使用,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。Verilog “Tell me how your circuit should behave and I will give youthe hardware that
10、does the job.”2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训13功能模块:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训14结构模块:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训15RTL综合:lRegister Transfer Level (RTL) - A type of behavioral modeling, for the purpose of synthesis. Hardware is implied or inferred SynthesizablelSynthesis - Translating HDL to
11、a circuit and then optimizing the represented circuitlRTL Synthesis - The process of translating a RTL model of hardware into an optimized technology specific gate level implementation2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训16RTL综合:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训17典型综合流程:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训18典型仿真
12、流程:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训19基本模块结构:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训20PORTS声明:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训21DATA类型声明:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训22assign语句:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训23assign语句:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训24Always 语句:语句:nIf there are more than one behavioral state
13、ment inside an always block, the statements can be grouped using the keywords begin and end.n此语句总是循环执行。n只有寄存器类型数据能够在这种语句中被赋值。所有的a l w a y s语句在0时刻并发执行。2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训25阻塞性过程赋值:n赋值操作符是赋值操作符是“=” =” 。阻塞性过程赋值在其后所有语句执行前执。阻塞性过程赋值在其后所有语句执行前执行,即在下一语句执行前该赋值语句完成执行。如下所示:行,即在下一语句执行前该赋值语句完成执行。如下所示
14、:na l w a y s (a l w a y s (A A o r o r B B o r o r C i nC i n) )nb e g i nb e g i nn T 1 T 1 = = A A & & B B; ;n T 2 T 2 = = B B & & C i nC i n; ;n T 3 T 3 = = A A & & C i nC i n; ;n C o u t C o u t = = T 1 T 1 | | T 2 T 2 | | T 3T 3; ;ne n de n dnT 1T 1赋值首先发生,计算赋值首先发生,计算T 1T 1;接着执行第二条语句,;接着执行第二条语句
15、,T 2T 2被赋值;被赋值;然后执行第三条语句,然后执行第三条语句,T 3T 3被赋值;依此类推。被赋值;依此类推。nexecuted in the order they are specified in a sequential block2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训26非阻塞性过程赋值:n非阻塞性过程赋值使用赋值符号“ =”。例如:nb e g i nnL o a d = 32;nR e g A = L o a d;nR e g B = S t o r e;ne n dnallow scheduling of assignments without bl
16、ocking execution of the statements that follow in a sequential block .n Recommended: Use Nonblocking assignments for clocked processes when writing synthesizable code.2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训27Always 语句:语句:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训28Always 语句:语句:2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训29If-Else Statements2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训30Case Statement2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训31Clocked ProcessnNonblocking assignments (=) are used for clockedprocesses2023年2月27日星期一全国大学生电子设计竞赛-FPGA培训32Func