时间:2025-03-26 来源:FPGA_UCY 关于我们 0
《FPGA培训.ppt》由会员分享,可在线阅读,更多相关《FPGA培训.ppt(43页珍藏版)》请在咨信网上搜索。
FPGA培训5/27/20241全国大学生电子设计竞赛-FPGA培训第一讲内容n 可编程逻辑器件概述n 芯片介绍n FPGA与CPLD的比较n HDL编程语言n 编程实例n .0开发环境n 作业:数字时钟5/27/20242全国大学生电子设计竞赛-FPGA培训可编程逻辑器件概述PLD的发展历程:5/27/20243全国大学生电子设计竞赛-FPGA培训PLD的分类按集成度分类:5/27/20244全国大学生电子设计竞赛-FPGA培训按结构分类 乘积项结构:大部分简单PLD和CPLD 查找表结构:大多数FPGA按编程工艺分类 熔丝(Fuse)型 反熔丝(Anti-fuse)型 EPROM型,紫外线擦除电可编程逻辑器件 型 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 PLLs -Up to 4 per Dual Boot,&- :DDR2 -Chip ble sysIO :,HSTL,SSTL,LVDS,+DSP and ForUp to 32 18X18 Block RAM Dual to Units(PFUs)Up to 40K for Speed,Cost and /27/20249全国大学生电子设计竞赛-FPGA培训 -5XP2-8XP2-17XP2-30XP2-(K) SRAM SRAM(Kbits) RAM(Kbits)#18x18 &IO -ball csBGA(8x8mm)-pin TQFP(20 x20mm)-pin PQFP()-ball ftBGA()-ball fpBGA()-ball fpBGA()查找表(Look-Up-Table)简称为LUT,LUT本质上就是是一个RAM。
它把数据事先写入RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。5/27/全国大学生电子设计竞赛-FPGA培训FPGA/CPLD比较5/27/全国大学生电子设计竞赛-FPGA培训什么是什么是 HDL HDL? HDL HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。进行时序建模。 HDL HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。计外部访问设计,包括模拟的具体控制和运行。
HDL HDL语言不仅定义了语语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用写的模型能够使用VeVe r i l o g r i l o g仿真器进行验证。语言从仿真器进行验证。语言从C C编程语言中继承了多编程语言中继承了多种操作符和结构。种操作符和结构。 HDL HDL语言的核心子集非常易于学习和使用,完整的硬语言的核心子集非常易于学习和使用,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。“Tell me how your and I will give that does the job.”5/27/全国大学生电子设计竞赛-FPGA培训功能模块:5/27/全国大学生电子设计竞赛-FPGA培训结构模块:5/27/全国大学生电子设计竞赛-FPGA培训RTL综合: Level(RTL)-A type of ,for the of . is or sis- HDL to a and then the -The of a RTL model of into an gate level /27/全国大学生电子设计竞赛-FPGA培训RTL综合:5/27/全国大学生电子设计竞赛-FPGA培训典型综合流程:5/27/全国大学生电子设计竞赛-FPGA培训典型仿真流程:5/27/全国大学生电子设计竞赛-FPGA培训基本模块结构:5/27/全国大学生电子设计竞赛-FPGA培训PORTS声明:5/27/全国大学生电子设计竞赛-FPGA培训DATA类型声明:5/27/全国大学生电子设计竞赛-FPGA培训语句:5/27/全国大学生电子设计竞赛-FPGA培训语句:5/27/全国大学生电子设计竞赛-FPGA培训 语句:语句:nIf there are more than one an block,the can be using the begin and end.n此语句总是循环执行。
n只有寄存器类型数据能够在这种语句中被赋值。所有的a l w a y s语句在0时刻并发执行。5/27/全国大学生电子设计竞赛-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被赋值;依此类推。被赋值;依此类推。
in the order they are in a /27/全国大学生电子设计竞赛-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 of of the that in a block.n :Use for when code.5/27/全国大学生电子设计竞赛-FPGA培训 语句:语句:5/27/全国大学生电子设计竞赛-FPGA培训 语句:语句:5/27/全国大学生电子设计竞赛-FPGA培训If-Else /27/全国大学生电子设计竞赛-FPGA培训Case /27/全国大学生电子设计竞赛-FPGA培训 (=)are used for /27/全国大学生电子设计竞赛-FPGA培训/27/全国大学生电子设计竞赛-FPGA培训-/27/全国大学生电子设计竞赛-FPGA培训设计流程图 5/27/全国大学生电子设计竞赛-FPGA培训 /27/全国大学生电子设计竞赛-FPGA培训实例:5/27/全国大学生电子设计竞赛-FPGA培训 (clk,clr,f,d,q);input clk;input clr;input 1:0f;input 7:0d; 7:0q;wire clk;wire clr;wire 1:0f;wire 7:0d;reg 7:0q;( clk or clr)begin if(clr)q=8h00;else case(f)2b00:q=d;/loads the 2b01:q=q+1;/ up 2b10:q=q-1;/ down 2b11:q=q;/27/全国大学生电子设计竞赛-FPGA培训 100ps/1ps tb;/ clk;reg clr;reg 1:0f;reg 7:0d;/ 7:0q; tb(.clk(clk),.clr(clr),.f(f),.d(d),.q(q); begin clk=0;#1 clk=clk; 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;/27/全国大学生电子设计竞赛-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/全国大学生电子设计竞赛-FPGA培训Top图:详见参考程序5/27/全国大学生电子设计竞赛-FPGA培训5/27/全国大学生电子设计竞赛-FPGA培训参考资料目录:编程规范编程规范. HDL硬件描述语言硬件描述语言.ER使用指南使用指南(FPGA(FPGA部分部分).)...管脚定义管脚定义.doc. HDL语言编程模板语言编程模板.doc.电路板图电路板图5/27/全国大学生电子设计竞赛-FPGA培训参考资料目录:n时钟程序部分参考. .-5-144-TQFP.pdf5/27/全国大学生电子设计竞赛-FPGA培训