第5章 可编程逻辑器件系统设计制作训练
内容提要
在电子竞赛设计中,可编程逻辑器件作为系统的控制核心已广泛应用.本章介绍了FPGA最小系统,FPGA最小系统配置电路等设计制作,Modelsim仿真工具使用,FPGA的最小系统板的下载,常见错误及其原因分析及编程技巧.
知识要点: FPGA最小系统,配置,仿真工具,FPGA的下载,编程错误,编程技巧.
教学建议: 本章的重点是掌握FPGA最小系统的设计与制作,仿真与程序设计技巧中.建议学时数为8学时.FPGA最小系统在竞赛中可以选用成品.但FPGA作为竞赛作品中的核心部件,软件编程训练可以利用FPGA开发系统进行培训,通过对FPGA最小系统硬件的设计制作,可以使学生加深对FPGA系统的了解.仿真工具,编程技巧是训练的重点.设计制作的产品可以作为子系统或者模块保留备用.训练中要求学生完成电原理图,印制板图,装配图,实际制作,电路调试,设计总结报告.
5.1 FPGA最小系统的设计制作
5.1.1 Xilinx公司的FPGA器件
Xilinx在1985年首次推出了FPGA期器件,随后以XC4000,Spartan,Virtex系列为代表的FPGA器件从XC2000,XC3000,XC4000,XC5000发展到Spartan和Viaex,Virtex-Ⅱpro等系列,其集成度更高,速度更快,价格更低,性能在不断提高.Xilinx FPGA系列产品性能比照表如表5.1.1所示.
表5.1.1 Xilinx FPGA系列产品性能比照表
器件类型
Spartan-Ⅱ
Spartan-ⅡE
Virtex-Ⅱ
Virtex-ⅡPro
LC数*
5292
15552
104832
125136
时钟管理
DLL**
DLL
DCM***
DCM
BlockRAM
容量* (Kit)
56
288
3024
10008
硬件乘法器
没有
没有
有
有
I/0接口速度*
200MHz
400MHz
840MHz
3.125GHz
速度等级
-5,-6
-6,-7
-4,-5,-6
-5,-6,-7
*表中所列LC数量,BlockRAM容量,I/0接口速度均为最大值.
**DLL表示数字延迟锁相环(Delay-Locked Loop).
***DCM表示数字时钟管理器(Digital Clock Manager).
1. Virtex器件系列FPGA
(1)Virtex和Virtex-E系列FPGA
Xilinx推出的Virtex系列FPGA产品是Xilinx 现场可编程平台门阵列(Platform FPGA)的第一套产品.该系列器件是高速,高密度的FPGA.系统门数从5万到100万,最高时钟频率可以达到200MHz,工作电压为2.5V,采用5层金属,0.22Fm的CMOS工艺制造.主要特点是灵活的内部结构,可以兼顾速度和集成度.作为Virtex的改进型,Virtex-E采用了0.18gm,6层金属布线工艺,系统门数从5.8万门到400万门工作电压为1.8V,集成度更高,功耗更低;Virtex-E拥有先进的SelectRAM存储体系,有IMbit的片内分成式RAM和最高可达832Kbk的片内块状RAM,可真正实现双口块RAM.存储器带宽可以达到1.66TBps. Xilinx于2001年1月正式发布了最新的Virtex-Ⅱ器件,其集成度更高,能够达到近千万系统门,在时钟管理上也采用了一些新的挂术,封装采用了BGA封装.
(2) Virtex-Ⅱ系列FPGA
Virtex-Ⅱ系列产品是Xinlinx公司在Virtex-E系列产品后推出的新型高端FPGA,该系列元件采用业界第一套数位控制阻抗技术(DCI)解决关键性的设计问题,例如高复杂度电路板布局,讯号扭曲等.Virtex-Ⅱ系列产品采用0.15μm和0.12μm混合工艺设计,内核电压为1.5V,支持多种接口标准,内部时钟频率可达420MHz.
Virtex-Ⅱ系列产品主要由CLB,IOB,BlockRAM,DCM和乘法器等组成.其中,CLB模块用于实现FPGA的大部分逻辑功能,IOB模块用于提供封装管脚与内部逻辑之间的接口,BlockRAM用于实现FPGA内部的随机存取,DCM用于提供灵活的时钟管理,乘法器用于提高FPGA的数字运算速度.
Virtex-Ⅱ系列元件具备位元流加密功能,全面保障设计的安全性.此功能应用安全的三重数据加密标准(DES)演算法将位元流编码加密,加密演算所使用的密钥是透过IEEE 1149.1(JTAG)介面来提供,使用电池或其他恒定电源供应器将密钥储存于晶片中.加密之后的位元流可使用解密专用的密钥库(key bank)载入FPGA元件中.这项功能全面提升设计的安全性,避免设计遭人窃用,为IP供应商提供全新的商务模式.
Virtex-Ⅱ系列产品与Xilinx公司以前推出的FPGA产品相比较,其内部结构有了较大的改进,这主要包括:
①Virtex-Ⅱ内部的CLB模块含有4个Slice,从而提高了Virtex-Ⅱ系列产品的逻辑容量和资源利用率.
②Virtex-Ⅱ内嵌专用乘法器电路,从而提高了Virtex-Ⅱ系列产品进行数字信号处理的速度.
③Virtex-Ⅱ内嵌更大容量的BlockRAM,用于适应当前设计对大容量片内存储的要求.
④Virtex-Ⅱ将DLL改为数字时钟管理器(DCM,Digitsl Clock Manager),从而提供更灵活的时钟解决方案.
⑤Virtex-Ⅱ支持更多的I/O接口标准,主要包括LVTTL,LVCMOS(3.3V,2.5V,1.8V,1.5V),PCI(3V,33MHz/66MHz),PCI-X,GTL,GTLP,AGP,AGP-2X,HSTL(Ⅰ,Ⅱ,Ⅲ,Ⅳ),SSTL3,SSTL2,LVDS(3.3V,2.5V),LVPEFCL,LVDSEXT(3.3V,2.5V),BLVDS,ULVDS和LDT.
⑥Virtex-Ⅱ采用数控阻抗匹配(DCI,Digitally Controlled Impedance)技术,从而减小因阻抗匹配问题而造成的系统不稳定性.
⑦Virtex-Ⅱ内部含有更加丰富的布线资源,从而保证FPGA逻辑资源的最大利用率.
⑧Virtex-Ⅱ支持配置数据的三重加密,从而最大限度保护设计者的知识产权.
(3)Virtex-ⅡPro系列FPGA
Virtex-ⅡPro系列产品采用Xilinx公司成熟的Virtex-Ⅱ架构,主要由PowerPC405处理器模块,RocketIOTM多吉比特收发器,CLB,IOB,BlockRAM,DCM和乘法器组成,其中,CLB,IOB,BlockRAM,DCM和乘法器的内部结构和使用方法与Virtex-Ⅱ系列产品完全一致.
2. Spartan器件系列FPGA
(1)SpartanⅡ器件系列
SpartanⅡ器件是以Virtex器件的结构为基础发展起来的第二代高容量的FPGA,集成度可以达到15万门,系统速度可达200MHz,能达到ASIC的性价比.SpartanⅡ器件的工作电压为2.5V,采用0.22μm/18μm CMOS工艺,6层金属连线制造.
(2)Spartan-XL器件
Spartan和Spartan-XL器件的性能指标如表5.1.2所示.
表5.1.2 Spartan和Spartan-XL器件的性能指标
器 件
逻辑单元
典型系统范 围
CLB阵列
CLB总数
块(RAM/bit)
最大可用I/O数
XCS05&XCS05XL
238
2K-5K
10×10
100
360
77
XCS10&XCS10XL
466
3K-10K
14×14
196
616
112
XCS20&XCS20XL
950
7K-20K
20×20
400
1120
160
XCS30&XCS30XL
1368
10K-30K
24×24
576
1536
192
XCS40&XCS40XL
1862
13K-40K
28×28
784
2016
224
(3) Spartan-ⅡE系列产品
Spartan-ⅡE系列产品主要技术参数如表5.1.3所示.
表5.1.3 Spartan-ⅡE系列产品主要技术参数
器件型号
系统门数量
CLB数量
LC数量
BlockRAM
容量(Kbit)
DLL
数量
最大用户
I/O数量
XC2S50E
50000
16×24
1728
32
4
182
XC2S100E
100000
20×30
2700
40
4
202
XC2S150E
150000
24×36
3888
48
4
263
XC2S200E
200000
28×42
5292
56
4
289
XC2S300E
300000
32×48
6912
64
4
329
XC2S400E
400000
40×60
10800
160
4
410
XC2S600E
600000
48×72
15552
288
4
514
Spartan-ⅡE系列产品采用成熟的Virtex-E架构,主要由可配置逻辑模块(CLB,Configurable Logic Block),输入输出接口模块(IOB,Input/Output Block),BlockRAM和数字延迟锁相环(DLL,Delay-Locked Loop)组成,如图5.1.1所示.用户可编程门阵列由五个主要的可编程部分组成.
①输入输出模块(IOB)提供封装引脚和内部逻辑之间的接口;
②可配置逻辑模块(CLB)提供构造主要逻辑所需的功能(函数)部件;
③专用的每个有4096个位的块RAM存储器;
④用来补偿时钟发送延时的数字延迟锁相环(Clock DLL)和区域时钟控制;
⑤通用多级互连结构.
图5.1.1 Spartan-IIE系列FPGA功能块图表
如图5.1.1所示,其中,BlockRAM用于实现FPGA内部数据的随机存取,DLL用于FPGA内部的时钟控制和管理.CLB用简单的路径连到所有支持和路由选择结构来形成主要的逻辑结构,用于实现FPGA的大部分逻辑功能.IOB用于提供封装管脚与内部逻辑之间的接口,位于所有逻辑单元和存储元件的周围,以便简单快速地选择信号路径来打开和关闭芯片.编程数据存放在静态存储单元中,来控制所有可编程逻辑元件和互连资源.当电源打开(POWER-UP)时数据被装载到存储单元中,如果有必要改变硬件的功能可以重新装载.下面将具体介绍每一个元件.
Spartan-ⅡE的输入输出模块如图5.1.2所示,Spartan-IIE的IOB特性化输入输出支持I/O信号标准的多样化.这些高速输入输出能支持动态存储器和总线接口的多种状态.三个IOB寄存器可做边沿触发的D触发器或是电平触发的锁存器.每一个IOB有一个被三个寄存器所共用的时钟信号(CLK)和一个每一个寄存器所独立拥有的使能时钟信号(CE).
除了CLK和CE控制信号以外,三个寄存器共用一个置位/复位(SR)信号.对于每一个寄存器,这一信号可独立地设置成同步置位,同步复位,异步Preset或异步清零.每一个用户I/O底座都连接有可选择的上拉和下拉电阻和一个可选择的弱保持电路.在编程(设置)以前,所有的没有被编程的输出将强行进入高阻状态.下拉电阻和弱保持电路不动作,但是输入将可能选择性的被上拉.上拉电阻的这种先于编程的动作被编程模式引脚所控制.如果上拉电阻没有动作,所有的引脚将悬空.因此,外部的上拉电阻或下拉电阻必须连在在编程以前要求处于定义好的逻辑层的引脚上.所有的底座都将不会遭到电子激发脱附(ESD)和短暂过压的危害.编程后,为了满足LVTTL, PCI, HSTL, SSTL, CTT和AGP的标准,钳位二极管被连到VCCO.
在模块图中有一个特性没有画出,但是被软件所控制,它就是极性控制.输入输出缓冲器和所有的IOB控制信号都有一个独立的极性控制.
图5.1.2 Spartan-IIE 输入/输出块 (IOB)
IOB输入路径中的缓冲器通过一个可选择的输入触发器将输入信号直接送到内部的逻辑单元.在这个触发器的D输入端有一个可选择的延时元件,用来消除pad-to-pad的保持时间.这个延时与FPGA内部的时钟发送延时相匹配,在使用时,要确保pad-to-pad的保持时间为0.
每一个输入缓冲器都能通过编程使它符合任一所支持的低电压信号标准.在一些标准中,输入缓冲器使用一个用户提供的基准电压VREF.这种强加的基准电压可用于十分相近的标准中.
Spartan-II E FPGA合并了几个块RAM存储器.这样补充了分散RAM的查询表(LUT),使得浅存储器结构能在CLB中执行.存储块按列排列,XC2S400E有4个块RAM列,XC2S600E有6个块RAM列.这些列加大了整个芯片的高度.每个存储块4个CLB,因此,一个Spartan-IIE器件16个CLB,每个列将包含4个存储块,总共8个块.Spartan-IIE系列芯片块RAM数量如表5.1.4所示.
表5.1.4 Spartan-IIE系列芯片块RAM数量
芯片类型
块RAM数量
块RAM总字节数
XC2S50E
8
32
XC2S100E
10
40
XC2S150E
12
48
XC2S200E
14
56
XC2S300E
16
64
XC2S400E
40
160
XC2S600E
72
288
Spartan-II E FPGA 在没有输出电流和没有有效的上拉电阻时,所有的I/O引脚是3态和悬空的.只有当VCCINT 和VCCO的供电电压已达到它们在推荐工作条件下的期望的最小值时,I/O漏电流才会起作用.内部的上拉和下拉电阻保证没有连接的输入引脚有一个有效的逻辑电平.当输入引脚接到其它电路中时这些上拉和下拉电阻不能提供有效的逻辑电平.
Spartan-II E FPGA为了成功的通电,Spartan-IIE FPGA 要求向VCCINT线提供一个最小的供电电流ICCPO.需注意的问题:当VCCINT从0上升到1.8V时,ICCPO要求应用时间极短(通常只有几个毫秒).
5.1.2 FPGA最小系统电路设计
FPGA最小系统板电路原理图如图5.1.3~5.1.6所示,最小系统板由XC2S100E ,50MHz晶振,电源部分,插针,指示部分,PROM和开关组成.电源部分将5V直流经过TPS70451转换得到+3.3V和+1.8V的直流电.PROM(XC18V02)是一个掉电存储器,在掉电时可自动保存数据.四个40脚双列插针用于和其它外部设备连接.
图5.1.3 FPGA部分原理图
图5.1.4 电源部分原理图
图5.1.5 PROM配置部分原理图
图5.1.6 接口部分电路图
5.1.3 FPGA最小系统印制板设计
所设计的FPGA最小系统印制板图如图5.1.7~5.1.10所示.
图5..1.7 FPGA最小系统印制板TOP图
图5.1.8 FPGA最小系统印制板BOTTOM图
图5.1.9 FPGA最小系统印制板SILK_TOP图
图5.1. 10 FPGA最小系统印制板SILK_BOTTOM图
5.1.4 FPGA最小系统电源电路的设计
电源电路的原理图如图5.1.11所示.TPS70451将输入的5V直流电压转换为+3.3V和+1.8V直流电压输出,作为FPGA的工作电压.
图5.1.11 电源电路原理图
其他外部VREF输入
内部基准
可编程偏置和ESD网络
可编程延时
可编程输出缓冲器
可编程输入缓冲器
- fpga编程软件 > 可编程逻辑器件系统设计制作训练
-
可编程逻辑器件系统设计制作训练
下载该文档 文档格式:DOC 更新时间:2010-02-01 下载次数:0 点击次数:1文档基本属性 文档语言: Simplified Chinese 文档格式: doc 文档作者: ddt 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: automation 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- DOC格式下载
- 更多文档...
-
上一篇:2012年环境与能源工程学院(所)各学科(小组)复试方案
下一篇:2009-2012年新经济形势下风险投资行业发展趋势及产业投...
点击查看更多关于fpga编程软件的相关文档
- 您可能感兴趣的
- fpga编程实例 fpga编程 fpga编程原理 fpga的编程原理是什么 fpga编程语言 基于fpga的编程原理 实用c语言fpga编程 tlc5510的fpga编程 为什么对fpga进行编程
- 大家在找
-
- · xy轴运动控制板卡
- · s770联想手机导航软件
- · 过期专利网
- · 新编应用文写作教程新华出版社
- · 会计学习题
- · 三星手机i9000报价
- · 0.48a版本的电驴
- · 章晃闭风器
- · 服装导购员一般底薪是
- · 不堪入目的扫黄现场
- · 200a交流接触器
- · 沁园春雪唐国强朗诵
- · 龙游天下第二部02
- · 永乐町69
- · 驾驶理论题库下载
- · 哲学考试题
- · 新视野大学英语第三册教案
- · 沁园春长沙理解
- · 历年成考政治试题
- · 高频内孔淬火视频
- · 化工词典下载
- · 模拟电路下载
- · 电子修理工试题技师
- · 革兰氏阴性菌感染体温
- · photoshopcs下载安装
- · 电流负反馈放大电路
- · 日本三菱印刷机资料
- · 网络管理之ip地址篇
- · 幼儿冷冻粥
- · 案例教学法课件
- · 十堰市市委书记儿子
- · 北京铸造厂
- · 侠盗飞车4车辆mod
- · 中国目前的国际形势
- · 物流园区建设发展
- · 师傅电视剧全集快播
- · 炫舞抽奖挂2.0.9
- · 劳动安全专项整治总结
- · origin8.0下载
- · 南华大学药理学试卷
- 赞助商链接