ISE管脚约束设置参数详解5页word文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ISE管脚约束设置参数详解(原创)
ISE管脚约束设置参数详解
在ISE中,打开User Constraints中的Assign Package Pins就可以对设定的管脚进行约束。
打开了Xilinx PACK-[Design Object List-I/O Pin]
其中参数设置如下
I/O Name——IO管脚名称,对应于module里输入输出管脚。
I/O Direction——设定输入(Input)还是输出(Output)管脚。
Loc——位于芯片的位置。
Bank——管脚位于的Bank块,当指定了Loc后,bank也就确定了。
FROM:Spartan-3E FPGA 系列数据手册P19
I/O Std.——I/O管脚的电平标准。
每个bank都可以随意设置为该器件支持的电平标准,不同的电平标准在一个bank中要注意它们的电平要一致,比如都为3.3v,电平可以为LVTTL、LVCO MS33。
From:Spartan-3E FPGA 系列数据手册P16~17
下面介绍一下常见逻辑电平标准
现在常用的电平标准有TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPEC L、RS232、RS485等,还有一些速度比较高的LVDS、GTL、PGTL、CML、HSTL、SSTL等。
下面简单介绍一下各自的供电电源、电平标准以及使用注意事项。
voh(输出电压反转为高电平)VO-H。
TTL:Transistor-Transistor Logic 三极管结构。
Vcc:5V;VOH>=2.4V;VOL<=0.5V;VIH>=2V;VIL<=0.8V。
因为2.4V与5V之间还有很大空闲,对改善噪声容限并没什么好处,又会白白增大系统功耗,还会影响速度。
所以后来就把一部分“砍”掉了。
也就是后面的LVT TL。
LVTTL又分3.3V、2.5V以及更低电压的LVTTL(Low Voltage TTL)。
3.3V LVTTL:
Vcc:3.3V;VOH>=2.4V;VOL<=0.4V;VIH>=2V;VIL<=0.8V。
2.5V LVTTL:
Vcc:2.5V;VOH>=2.0V;VOL<=0.2V;VIH>=1.7V;VIL<=0.7V。
更低的LVTTL不常用就先不讲了。
多用在处理器等高速芯片,使用时查看芯片手册就OK了。
TTL使用注意:
TTL电平一般过冲(过冲就是第一个峰值或谷值超过设定电压——对于上升沿是指最高电压而对于下降沿是指最低电压)都会比较严重,可能在始端串22欧或33欧电阻;TTL电平输入脚悬空时是内部认为是高电平。
要下拉的话应用1 k以下电阻下拉。
TTL输出不能驱动CMOS输入。
CMOS:Complementary Metal Oxide Semiconductor??PMOS+NMOS。
Vcc:5V;VOH>=4.45V;VOL<=0.5V;VIH>=3.5V;VIL<=1.5V。
相对TTL有了更大的噪声容限,输入阻抗远大于TTL输入阻抗。
对应3.3V LVTTL,出现了LVCMOS,可以与3.3V的LVTTL直接相互驱动。
3.3V LVCMOS:
Vcc:3.3V;VOH>=3.2V;VOL<=0.1V;VIH>=2.0V;VIL<=0.7V。
2.5V LVCMOS:
Vcc:2.5V;VOH>=2V;VOL<=0.1V;VIH>=1.7V;VIL<=0.7V。
CMOS使用注意:
CMOS结构内部寄生有可控硅结构,当输入或输入管脚高于VCC一定值(比如一些芯片是0.7V)时,电流足够大的话,可能引起闩锁效应,导致芯片的烧毁。
ECL:Emitter Coupled Logic 发射极耦合逻辑电路(差分结构)
Vcc=0V;Vee:-5.2V;VOH=-0.88V;VOL=-1.72V;VIH=-1.24V;VIL=-1.36V。
速度快,驱动能力强,噪声小,很容易达到几百M的应用。
但是功耗大,需要负电源。
为简化电源,出现了PECL(ECL结构,改用正电压供电)和LVPECL。
PECL:Pseudo/Positive ECL
Vcc=5V;VOH=4.12V;VOL=3.28V;VIH=3.78V;VIL=3.64V
LVPELC:Low Voltage PEC L
Vcc=3.3V;VOH=2.42V;VOL=1.58V;VIH=2.06V;VIL=1.94V
ECL、PECL、LVPECL使用注意:
不同电平不能直接驱动。
中间可用交流耦合、电阻网络或专用芯片进行转换。
以上三种均为射随输出结构,必须有电阻拉到一个直流偏置电压。
(如多用于时钟的LVPECL:直流匹配时用130欧上拉,同时用82欧下拉;交流匹配时用82
欧上拉,同时用130欧下拉。
但两种方式工作后直流电平都在1.95V左右。
)
前面的电平标准摆幅都比较大,为降低电磁辐射,同时提高开关速度又推出LVD S电平标准。
LVDS:Low Voltage Differential Signaling
差分对输入输出,内部有一个恒流源3.5-4mA,在差分线上改变方向来表示0和1。
通过外部的100欧匹配电阻(并在差分线上靠近接收端)转换为±350mV的差分电平。
LVDS使用注意:
可以达到600M以上,PCB要求较高,差分线要求严格等长,差最好不超过10mil(0.25mm)。
100欧电阻离接收端距离不能超过500mil,最好控制在300mil 以内。
下面的电平用的可能不是很多,篇幅关系,只简单做一下介绍。
如果感兴趣的话可以联系我。
CML:是内部做好匹配的一种电路,不需再进行匹配。
三极管结构,也是差分线,速度能达到3G以上。
只能点对点传输。
GTL:类似CMOS的一种结构,输入为比较器结构,比较器一端接参考电平,另一端接输入信号。
1.2V电源供电。
Vcc=1.2V;VOH>=1.1V;VOL<=0.4V;VIH>=0.85V;VIL<=0.75V
PGTL/GTL+:
Vcc=1.5V;VOH>=1.4V;VOL<=0.46V;VIH>=1.2V;VIL<=0.8V
HSTL是主要用于QDR存储器的一种电平标准:一般有V¬CCIO=1.8V和V&no t;¬CCIO= 1.5V。
和上面的GTL相似,输入为输入为比较器结构,比较器一端接参考电平(VCCIO/2),另一端接输入信号。
对参考电平要求比较高(1%精度)。
SSTL主要用于DDR存储器。
和HSTL基本相同。
V¬¬CCIO=2.5V,输入为输入为比较器结构,比较器一端接参考电平1.25V,另一端接输入信号。
对参考电平要求比较高(1%精度)。
HSTL和SSTL大多用在300M以下。
RS232和RS485基本和大家比较熟了,只简单提一下:
RS232采用±12-15V供电,我们电脑后面的串口即为RS232标准。
+12V表示0,-12V表示1。
可以用MAX3232等专用芯片转换,也可以用两个三极管加一些外围电路进行反相和电压匹配。
RS485是一种差分结构,相对RS232有更高的抗干扰能力。
传输距离可以达到上千米
Drive Str.——I/O管脚的驱动电流。
逻辑电平大小与输出电流强度大小的关系:
From:Spartan-3E FPGA 系列数据手册P19 Termination——终端结构(电阻上拉/电阻下拉/悬空)。
PULLDOWN和PULLUP原语
数字电路有三种状态:高电平、低电平、和高阻状态。
有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使其处于稳定状态,如图所示。
FPGA的I/O端口,可以通过外接电阻上下拉,也可以在芯片内部,通过配置完成上下拉。
上拉电阻是用来解决总线驱动能力不足时提供电流的;
而下拉电阻是用来吸收电流;
通过FPGA内部配置完成上下拉,能有效节约电路板面积,是设计的首选方案。
上、下拉电路示意图
上、下拉的原语分别为PULLUP和PULLDOWN。
1)PULLUP原语的例化代码
// PULLUP: 上拉原语(I/O Buffer Weak Pull-up)
// 适用芯片:所有芯片
// Xilinx HDL库向导版本,ISE 9.1
PULLUP PULLUP_inst (
.O(O),
//上拉输出,需要直接连接到设计的顶层模块端口上);
// 结束PULLUP模块的例化过程
2)PULLDOWN原语的例化代码
// PULLDOWN:下拉原语(I/O Buffer Weak Pull-down)
// 适用芯片:所有芯片
// Xilinx HDL库向导版本,ISE 9.1
PULLDOWN PULLDOWN_inst (
.O(O),
// 下拉输出,需要直接连接到设计的顶层模块端口上
// 结束PULLDOWN模块的例化过程
(FROM: FPGA开发实用教程第4节Xilinx公司原语的使用方法
/article/08-03/37457s.html)
From:Spartan-3E FPGA 系列数据手册P18
当选择Keeper(悬空)的选项时,使总线悬浮而没有驱动电流,所有驱动翻转后保持上一个逻辑电平。
Slew——Slew Rate。
信号的转换速率,可以理解为信号在某一点的斜率。
它不是只针对时钟信号说的;诸如放大器的slew rate就是一个很重要的参数;而在数字电路里,它可能更常用于描述芯片输入信号的变化率。
在Xilinx的设计环境中,可以将输出信号的Slew rate设置成FAST或SLOW。
当设置成FAST时,提高了信号变化的斜率,从而提高了信号的转换速率,但同时使脉冲信号的振铃增大。
因此,除非万不得已,不要将输出信号的Slew rate 设成FAST。
skew选fast,IO转化时快,但电流大,功耗大。
skew选slow,IO转化慢,但功耗小。
查看器件的DC AC Switching特性手册有详细说明。
默认设置
IOSTANDARD=LVCMOS25
SLEW=SLOW
DRIVE=12
Delay——输入延时。
加入延时可以减缓上升速度。
BOTH 、IBUF 、IFD 、NO NE这四个备选项
IFD——Registered inputs
可编程的混合输入延迟单元:
From:Spartan-3E FPGA 系列数据手册P12
Diff. Type
参考资料:
1)LVTTL与LVCMOS区别
/blog/static/14303922007324104723589
2)FPGA开发实用教程第4节Xilinx公司原语的使用方法
/article/08-03/37457s.html
3)rip le's Bl o g:St a y h u n gr y. St ay f o o li sh.
FPGA时序问题一例——电磁干扰和引脚驱动电流约束
这篇文章介绍了slew rate的选择与EMI的关系
4)几种接口的标准电平定义
http://bbs.weeqoo/bbsdetail-32425-8.html
5)电子工程专辑网站论坛PCB设计技术问答精粹(2)-EMI/EMC设计
/article/3d/5390$2.html
6)Xilinx FPGA如何使用LVDS
/Services/help/Xilinx/200803/1225.html
无论使用HDL flow还是schematic flow,只需要例化IBUFDS,OBUFDS之类的差分缓冲器,就可以使用LVDS了。
例化之后,要定位Pin位置,使用PACE,在IO Standard中选择LVDS33或者LVDS25,还能选择有DCI的版本。
定端口时,注意看Datasheet中Pin名字分P/N,这P也要对应buffer 中的P,N也要对应N。
而且注意同一个bank只能有一个电压标准。
如果用FPGA Editor观察布局布线后的情况,就会发现,FPGA Editor中没有IBUFDS这个Component,这个Buffer是藏在IOB里的,点击到Pin的图块中,可以看到里面有一个Buffer,就起到了IBUFDS这个作用。