FPGA培训课件_第1页
FPGA培训课件_第2页
FPGA培训课件_第3页
FPGA培训课件_第4页
FPGA培训课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-2-4FPGA培训1FPGA培训2022-2-4FPGA培训2第一讲内容n 可编程逻辑器件概述n ispXP2芯片介绍n FPGA与CPLD的比较n Vrilog HDL编程语言n 编程实例n ispLEVER7.0开发环境n 作业:数字时钟2022-2-4FPGA培训3可编程逻辑器件概述PLD的发展历程:2022-2-4FPGA培训4PLD的分类按集成度分类:2022-2-4FPGA培训5按结构分类 乘积项结构:大部分简单PLD和CPLD 查找表结构:大多数FPGA按编程工艺分类 熔丝(Fuse)型 反熔丝(Anti-fuse)型 EPROM型,紫外线擦除电可编程逻辑器件 EEPR

2、OM型 SRAM型:大部分FPGA器件采用此种编程工艺 Flash型2022-2-4FPGA培训6简单PLD器件被取代的原因n阵列规模小,资源不够用于设计数字系统n片内寄存器资源不足,难以构成丰富的时序电路nI/O不够灵活n编程不便,需专用的编程工具2022-2-4FPGA培训7FPGA/CPLD被广泛采用的原因n规模越来越大,单片逻辑门数已愈千万。n开发过程投资小。FPGA/CPLD芯片在出厂前都经过了严格的测试,而且设计灵活,发现错误可直接更改设计,减少了投片风险。n用FPGA/CPLD试制功能样机,能以最快速度占领市场。有些领域,标准协议发展太快,设计ASIC根不上技术更新速度,只能依靠

3、FPGA/CPLD完成系统研制与开发。nFPGA/CPLD开发工具智能化,功能强大。n新型FPGA内嵌CPU或DSP内核,支持软硬件协同设计,可作为SOPC硬件平台。2022-2-4FPGA培训82022-2-4FPGA培训9XP2基本结构JTAG & SPI PortssysCLOCK PLLs Frequency Synthesis-Up to 4 per deviceEnhanced Configuration Logicincludes Dual Boot, Decryption & TransFRPre-EngineeredSource SynchronousSupport:DDR2

4、 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 885KbitsProgrammable Function Units (PFUs) Up to 40K LUTsFlexible Routing Optimized for Speed

5、, Cost and Routability2022-2-4FPGA培训10 DeviceXP2-5XP2-8XP2-17XP2-30XP2-40LUTs (K)58172940EBR SRAM Blocks912152148EBR SRAM (Kbits)166221276387885Distributed RAM (Kbits)1018355683# 18x18 Multipliers1216202832PLLs22444Package & IO Combinations132-ball csBGA (8x8mm)8686144-pin TQFP (20 x20mm)100100208-p

6、in PQFP (28x28mm)146146146256-ball ftBGA (17x17mm)172201201201484-ball fpBGA (23x23mm)358363363672-ball fpBGA (27x27mm)472540查找表(Look-Up-Table)简称为LUT,LUT本质上就是是一个RAM。它把数据事先写入RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。 2022-2-4FPGA培训11FPGA/CPLD比较2022-2-4FPGA培训12什么是什么是Verilog HDLVerilog HDL? Verilog HDL

7、 Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。式地进行时序建模。Verilog HDLVerilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设语言提供了编程语言接口,通过该接口可以在模拟、验证期间

8、从设计外部访问设计,包括模拟的具体控制和运行。计外部访问设计,包括模拟的具体控制和运行。Verilog HDLVerilog HDL语言不仅定义了语语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用编写的模型能够使用Ve r i l o gVe r i l o g仿真器进行验证。语言从仿真器进行验证。语言从C C编程语言中继承了编程语言中继承了多种操作符和结构。多种操作符和结构。Verilog HDLVerilog HDL语言的核心子集非常易于学习和使用,完整的语言的核心子集

9、非常易于学习和使用,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。Verilog “Tell me how your circuit should behave and I will give youthe hardware that does the job.”2022-2-4FPGA培训13功能模块:2022-2-4FPGA培训14结构模块:2022-2-4FPGA培训15RTL综合:lRegister Transfer Level (RTL) - A type of behavioral modeling, fo

10、r the purpose of synthesis. Hardware is implied or inferred SynthesizablelSynthesis - Translating HDL to 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 implementation2022-2-4FPG

11、A培训16RTL综合:2022-2-4FPGA培训17典型综合流程:2022-2-4FPGA培训18典型仿真流程:2022-2-4FPGA培训19基本模块结构:2022-2-4FPGA培训20PORTS声明:2022-2-4FPGA培训21DATA类型声明:2022-2-4FPGA培训22assign语句:2022-2-4FPGA培训23assign语句:2022-2-4FPGA培训24Always 语句:语句:nIf there are more than one behavioral statement inside an always block, the statements can

12、be grouped using the keywords begin and end.n此语句总是循环执行。n只有寄存器类型数据能够在这种语句中被赋值。所有的a l w a y s语句在0时刻并发执行。2022-2-4FPGA培训25阻塞性过程赋值:n赋值操作符是赋值操作符是“=” =” 。阻塞性过程赋值在其后所有语句执行前执。阻塞性过程赋值在其后所有语句执行前执行,即在下一语句执行前该赋值语句完成执行。如下所示:行,即在下一语句执行前该赋值语句完成执行。如下所示: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) )

13、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;接着执行第二条语句,;接着执行第二条语句,T 2T 2被赋值;被赋值;然后执行第三条语句,然后执行第三条语句,T 3T 3被赋值;依此类推。被赋值;依此类推。nexecu

14、ted in the order they are specified in a sequential block2022-2-4FPGA培训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 blocking execution of the statements that follow in a sequential block .n Recommende

15、d: Use Nonblocking assignments for clocked processes when writing synthesizable code.2022-2-4FPGA培训27Always 语句:语句:2022-2-4FPGA培训28Always 语句:语句:2022-2-4FPGA培训29If-Else Statements2022-2-4FPGA培训30Case Statement2022-2-4FPGA培训31Clocked ProcessnNonblocking assignments (=) are used for clockedprocesses2022

16、-2-4FPGA培训32Function2022-2-4FPGA培训33Function- Multiplier2022-2-4FPGA培训34ispLEVER设计流程图 2022-2-4FPGA培训35System Stimulation2022-2-4FPGA培训36实例:2022-2-4FPGA培训37Design Blockmodule counter( clk,clr,f,d,q );input clk;input clr;input 1:0f;input 7:0d;output 7:0q;wire clk;wire clr;wire 1:0f;wire 7:0d;reg 7:0q;

17、always(posedge clk or posedge clr)begin if(clr) q=8h00; else case(f) 2b00: q=d; /loads the counter 2b01: q=q+1; /counts up 2b10: q=q-1; /counts down 2b11: q=q; endcaseendendmodule2022-2-4FPGA培训38Stimulus Blocktimescale 100ps/1ps module tb;/inputreg clk;reg clr;reg 1:0f;reg 7:0d;/outputwire 7:0q;coun

18、ter tb ( .clk(clk), .clr(clr), .f(f), .d(d), .q(q);initial begin clk = 0; forever #1 clk = clk;endinitial begin clr = 1; d = 8h00; f = 2b00; #10 f = 2b10; #10 f = 2b01; #10 clr = 0; #512 f = 2b11; #10 f = 2b10; #512 f = 2b11;endendmodule2022-2-4FPGA培训39数字时钟n自制版上按钮按下、蜂鸣器鸣叫。n四个数码管初始数值显示“0、0、0、0”。n设定自制版从左至右,数码管名称4、3、2、1。n数码管1、2显示分钟,数值显示“0”“60”;n数码管3、4显示小时,数值显示“0”“24”;n数码管3上的点表示秒闪;n设定其中一个按钮为k1,按下分钟当前显示值加一。n设定另外一个按钮为k2,按下小时当前显示值加一。2022-2-4FPGA培训40Top图:详见参考程序2022-2-4FPGA培训412022-2-4FPGA培训42参考资料目录:VerilogVerilog编程规

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论