时间:2025-10-07 来源:FPGA_UCY 关于我们 0
FPGA培训5/27/20241全国大学生电子设计竞赛-FPGA培训第一讲内容n 可编程逻辑器件概述n ispXP2芯片介绍n FPGA与CPLD的比较n Vrilog HDL编程语言n 编程实例n ispLEVER7.0开发环境n 作业:数字时钟5/27/20242全国大学生电子设计竞赛-FPGA培训可编程逻辑器件概述PLD的发展历程:5/27/20243全国大学生电子设计竞赛-FPGA培训PLD的分类按集成度分类:5/27/20244全国大学生电子设计竞赛-FPGA培训按结构分类 乘积项结构:大部分简单PLD和CPLD 查找表结构:大多数FPGA按编程工艺分类 熔丝(Fuse)型 反熔丝(Anti-fuse)型 EPROM型,紫外线擦除电可编程逻辑器件 EEPROM型 SRAM型:大部分FPGA器件采用此种编程工艺 Flash型5/27/20245全国大学生电子设计竞赛-FPGA培训简单PLD器件被取代的原因n阵列规模小,资源不够用于设计数字系统n片内寄存器资源不足,难以构成丰富的时序电路nI/O不够灵活n编程不便,需专用的编程工具5/27/20246全国大学生电子设计竞赛-FPGA培训FPGA/CPLD被广泛采用的原因n规模越来越大,单片逻辑门数已愈千万。n开发过程投资小。FPGA/CPLD芯片在出厂前都经过了严格的测试,而且设计灵活,发现错误可直接更改设计,减少了投片风险。n用FPGA/CPLD试制功能样机,能以最快速度占领市场。有些领域,标准协议发展太快,设计ASIC根不上技术更新速度,只能依靠FPGA/CPLD完成系统研制与开发。nFPGA/CPLD开发工具智能化,功能强大。n新型FPGA内嵌CPU或DSP内核,支持软硬件协同设计,可作为SOPC硬件平台。5/27/20247全国大学生电子设计竞赛-FPGA培训5/27/20248全国大学生电子设计竞赛-FPGA培训XP2基本结构JTAG&SPI PortssysCLOCK PLLs Frequency Synthesis-Up to 4 per deviceEnhanced Configuration 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 885KbitsProgrammable Function Units(PFUs)Up to 40K LUTsFlexible Routing Optimized for Speed,Cost and Routability5/27/20249全国大学生电子设计竞赛-FPGA培训 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-pin PQFP(28x28mm)146146146256-ball ftBGA(17x17mm)172201201201484-ball fpBGA(23x23mm)358363363672-ball fpBGA(27x27mm)472540查找表(Look-Up-Table)简称为LUT,LUT本质上就是是一个RAM。它把数据事先写入RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。5/27/202410全国大学生电子设计竞赛-FPGA培训FPGA/CPLD比较5/27/202411全国大学生电子设计竞赛-FPGA培训什么是什么是VerilogVerilog HDL HDL?VerilogVerilog HDL HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。进行时序建模。VerilogVerilog HDL HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。计外部访问设计,包括模拟的具体控制和运行。VerilogVerilog HDL HDL语言不仅定义了语语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用写的模型能够使用VeVe r i l o g r i l o g仿真器进行验证。语言从仿真器进行验证。语言从C C编程语言中继承了多编程语言中继承了多种操作符和结构。种操作符和结构。VerilogVerilog HDL HDL语言的核心子集非常易于学习和使用,完整的硬语言的核心子集非常易于学习和使用,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。Verilog“Tell me how your circuit should behave and I will give youthe hardware that does the job.”5/27/202412全国大学生电子设计竞赛-FPGA培训功能模块:5/27/202413全国大学生电子设计竞赛-FPGA培训结构模块:5/27/202414全国大学生电子设计竞赛-FPGA培训RTL综合:lRegister Transfer Level(RTL)-A type of behavioral modeling,for 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 implementation5/27/202415全国大学生电子设计竞赛-FPGA培训RTL综合:5/27/202416全国大学生电子设计竞赛-FPGA培训典型综合流程:5/27/202417全国大学生电子设计竞赛-FPGA培训典型仿真流程:5/27/202418全国大学生电子设计竞赛-FPGA培训基本模块结构:5/27/202419全国大学生电子设计竞赛-FPGA培训PORTS声明:5/27/202420全国大学生电子设计竞赛-FPGA培训DATA类型声明:5/27/202421全国大学生电子设计竞赛-FPGA培训assign语句:5/27/202422全国大学生电子设计竞赛-FPGA培训assign语句:5/27/202423全国大学生电子设计竞赛-FPGA培训Always 语句:语句:nIf there are more than one behavioral statement inside an always block,the statements can be grouped using the keywords begin and end.n此语句总是循环执行。n只有寄存器类型数据能够在这种语句中被赋值。所有的a l w a y s语句在0时刻并发执行。5/27/202424全国大学生电子设计竞赛-FPGA培训阻塞性过程赋值: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)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被赋值;依此类推。被赋值;依此类推。nexecuted in the order they are specified in a sequential block5/27/202425全国大学生电子设计竞赛-FPGA培训非阻塞性过程赋值: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 Recommended:Use Nonblocking assignments for clocked processes when writing synthesizable code.5/27/202426全国大学生电子设计竞赛-FPGA培训Always 语句:语句:5/27/202427全国大学生电子设计竞赛-FPGA培训Always 语句:语句:5/27/202428全国大学生电子设计竞赛-FPGA培训If-Else Statements5/27/202429全国大学生电子设计竞赛-FPGA培训Case Statement5/27/202430全国大学生电子设计竞赛-FPGA培训Clocked ProcessnNonblocking assignments(=)are used for clockedprocesses5/27/202431全国大学生电子设计竞赛-FPGA培训Function5/27/202432全国大学生电子设计竞赛-FPGA培训Function-Multiplier5/27/202433全国大学生电子设计竞赛-FPGA培训ispLEVER设计流程图 5/27/202434全国大学生电子设计竞赛-FPGA培训System Stimulation5/27/202435全国大学生电子设计竞赛-FPGA培训实例:5/27/202436全国大学生电子设计竞赛-FPGA培训Design 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;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;endcaseendendmodule5/27/202437全国大学生电子设计竞赛-FPGA培训Stimulus Blocktimescale 100ps/1ps module tb;/inputreg clk;reg clr;reg 1:0f;reg 7:0d;/outputwire 7:0q;counter 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;endendmodule5/27/202438全国大学生电子设计竞赛-FPGA培训数字时钟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,按下小时当前显示值加一。5/27/202439全国大学生电子设计竞赛-FPGA培训Top图:详见参考程序5/27/202440全国大学生电子设计竞赛-FPGA培训5/27/202441全国大学生电子设计竞赛-FPGA培训参考资料目录:VerilogVerilog编程规范编程规范.pdfpdfVerilog HDLVerilog HDL硬件描述语言硬件描述语言.pdfpdfispLEVERispLEVER使用指南使用指南(FPGA(FPGA部分部分).).pdfpdfISPMACRO.PDFISPMACRO.PDFXP2XP2管脚定义管脚定义.doc.docVerilog HDLVerilog HDL语言编程模板语言编程模板.doc.docFPGAFPGA电路板图电路板图5/27/202442全国大学生电子设计竞赛-FPGA培训参考资料目录:n时钟程序部分参考.docnLatticeXP2 Family Handbook.pdfnXP2-5-144-TQFP.pdf5/27/202443全国大学生电子设计竞赛-FPGA培训
上一篇:FPGA基础知识及其工作原理