时间:2025-04-11 来源:FPGA_UCY 关于我们 0
1、2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,1,FPGA培训,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,2,第一讲内容, 可编程逻辑器件概述 芯片介绍 FPGA与CPLD的比较 HDL编程语言 编程实例 .0开发环境 作业:数字时钟,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,3,可编程逻辑器件概述,PLD的发展历程:,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,4,PLD的分类,按集成度分类:,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,
2、5,按结构分类 乘积项结构:大部分简单PLD和CPLD 查找表结构:大多数FPGA 按编程工艺分类 熔丝(Fuse)型 反熔丝(Anti-fuse)型 EPROM型,紫外线擦除电可编程逻辑器件 型 SRAM型:大部分FPGA器件采用此种编程工艺 Flash型 ,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,6,简单PLD器件被取代的原因,阵列规模小,资源不够用于设计数字系统 片内寄存器资源不足,难以构成丰富的时序电路 I/O不够灵活 编程不便,需专用的编程工具,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,7,FPGA/CPLD被广泛采用的原
3、因,规模越来越大,单片逻辑门数已愈千万。 开发过程投资小。FPGA/CPLD芯片在出厂前都经过了严格的测试,而且设计灵活,发现错误可直接更改设计,减少了投片风险。 用FPGA/CPLD试制功能样机,能以最快速度占领市场。有些领域,标准协议发展太快,设计ASIC根不上技术更新速度,只能依靠FPGA/CPLD完成系统研制与开发。 FPGA/CPLD开发工具智能化,功能强大。 新型FPGA内嵌CPU或DSP内核,支持软硬件协同设计,可作为SOPC硬件平台。,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,8,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,9,XP
4、2基本结构,JTAG R e g A = L o a d; R e g B = S t o r e; e n d allow of of the that in a block . : Use for when code.,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,2
5、7, 语句:,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,28, 语句:,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,29,If-Else ,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,30,Case ,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,31, , (=) are used for ,2020年9月14日星期一,全国大学生电子设计
6、竞赛-FPGA培训,32,,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,33,- ,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,34,设计流程图,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,35, ,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,36,实例:,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,37, Block, ( clk,clr,f,d
7、,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; end ,
8、2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,38, Block, 100ps/1ps tb; /input reg clk; reg clr; reg 1:0f; reg 7:0d; / wire 7:0q; tb ( .clk(clk), .clr(clr), .f(f), .d(d), .q(q) );, begin clk = 0; #1 clk = clk; end begin clr = 1; d = 8h00; f = 2b00; #10
9、f = 2b10; #10 f = 2b01; #10 clr = 0; #512 f = 2b11; #10 f = 2b10; #512 f = 2b11; end ,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,39,数字时钟,自制版上按钮按下、蜂鸣器鸣叫。 四个数码管初始数值显示“0、0、0、0”。 设定自制版从左至右,数码管名称4、3、2、1。 数码管1、2显示分钟,数值显示“0”“60”; 数码管3、4显示小时,数值显示“0”“24”; 数码管3上的点表示秒闪; 设定其中一个按钮为k1,按下分钟当前显示值加一。 设定另外一个按钮为k2,按下小时
10、当前显示值加一。,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,40,Top图:,详见参考程序,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,41,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,42,参考资料目录:,编程规范.pdf HDL硬件描述语言.pdf 使用指南(FPGA部分).pdf .PDF XP2管脚定义.doc HDL语言编程模板.doc FPGA电路板图,2020年9月14日星期一,全国大学生电子设计竞赛-FPGA培训,43,参考资料目录:,时钟程序部分参考.doc .pdf XP2-5 - 144-TQFP.pdf,