FPGA研发之道(25)-管脚
管脚是FPGA重要的资源之一,FPGA的管脚分别包括,电源管脚,普通I/O,配置管脚,时钟专用输入管脚GCLK等。
本文引用地址:http://www.eepw.com.cn/article/266429.htm
(1)电源管脚:
通常来说: FPGA内部的电压包括内核电压和I/O电压。
1.内核电压:即FPGA内部逻辑的供电。通常会较I/O电压较低,随着FPGA的工艺的进度,FPGA的内核电压逐渐下降,这也是降低功耗的大势所趋。
2.I/O电压 (Bank的参考电压)。每个BANK都会有独立的I/O电压输入。也就是每个BANK的参考电压设定后,本BANK上所有I/O的电平都与参考电平等同。
是否可以通过约束来设定IO管脚的输出电平那,答案是否定的,如下例所示
set_instance_assignment -name IO_STANDARD 3.0-V LVCMOS -to pinA
set_instance_assignment -name IO_STANDARD 3.3-V LVCMOS -to pinB
不论设定为多大的电平,IO的输出与BANK的参考电压保持一致,也就是说,PINA和PINB的电平与其BANK的电平保持一致,而不是所约束的那样一定会是3V或3.3V的电平。那是否意味着这种约束没有作用?
如果约束同一BANK上的管脚为不同电平,如PINA和PINB在同一BANK,但是电平不同,则EDA工具会报错。可以起到错误检查的作用。(同一bank上电平要一致,但是类型可以是多种,例如CMOS,TTL等)。
对于复杂的FPGA内部,一般来说PLL也会都单独的供电,并且其内部包括数字电源和模拟电源。
SERDES一般也需要独立供电。一般支持高速SERDES的FPGA器件都都有独立的供电管脚,一般也都有独立的时钟管脚(一般为差分时钟)。
(2) 配置管脚:
FPGA的配置管脚每个FPGA都需要,为了支持多种配置方式,例如JTAG,从串、从并、主串、主并等。值得注意的是,对于其配置管脚的控制信号来说,是专用管脚,不能用做普通I/O,而其数据信号,可以用作普通I/O。在管脚资源较为紧张时,可以复用配置信号的数据信号作为普通I/O来用。
(3) 普通I/O:
FPGA的I/O是FPGA管脚上较为丰富的资源。也是做管脚约束时最常用的资源。对于例化IP来说(例如serdes和DDR2/3等),需要使用EDA工具给出了I/O约束。如果修改则需要预先编译进行评估。一般来说,DDR的接口信号最好能在一个BANK上约束,如果不能则其控制信号要约束到同一BANK上,否则导致EDA工具布局布线报错。
对于FPGA的普通I/O,可以设定包括管脚电平类型(LVTTL,LVCOMS,SSTL,HSTL等等),还包括端接大小,驱动电流,摆率等参数。
对于FPGA引脚来说,通过阻抗匹配的设置(altera的OCT,xilinx的DCI的设置)。可以有效的减少板上电阻的数目,降低BOM成本。端接的设置可以阻止阻抗不连续导致信号反射,保证信号完整性。
对于普通信号来说,一般不需要每个都设置阻抗匹配,,只有板级布线长度的电信号传输时间超过高速信号的时钟周期的0.1倍时,才需要设置端接。简单来说也就是只有高速信号,且信号输出和输入距离较远时,才需要使用端接,一般是FPGA连接外部DDR等高速器件时。对于使用外部校准的RUP和RDN电阻来说,其RUP和RDN电阻是整个电路可靠性的关键点。例如:在以一批FPGA板卡中,测试发现只有某一块接口不通,FPGA工程师调试时发现,只要把接口I/O设定为CMOS电平,而不使用DCI的端接,则所有板卡全部能够通信正常,后来发现该板卡RUP上拉电阻失效,从而导致接口电路没有上拉而接口出错。也就是说,I/O的电平设置,以满足设计需要为主,而不用锦上添花。增加的额外电路就会导致额外的失效点。
(4)时钟管脚
FPGA内部的时钟,都需要通过专用时钟管脚连接内部PLL或者DCM等专用时钟处理单元,从而接入内部高速时钟网络。在早期的FPGA中内部时钟资源有限,专用处理单元也有限,需要严格的规划PLL等时钟处理单元和全局时钟资源,随着FPGA技术的发展,这个功能逐渐弱化,但是早期规划也是必须的。
值得注意的是,对于一些外部同步信号的输入,其时钟没有连接到专用时钟管脚上,只用于采样当前的同步信号,因此不用接入全局时钟网络,设计上也是允许的,需要约束其管脚不使用全局时钟资源。否者,EDA工具会报错,提示其作为时钟输入,而没有接在专用时钟管脚上。
正如本文开始所说,管脚是FPGA的重要资源,FPGA工程师熟悉管脚特性和电路设计的基础知识,对于FPGA系统设计和板级电路的调试都是有益的。
PS:问题回复
QUARTUS能否设定I/O信号的上拉和下拉电阻的大小?
1)对于设定的输出信号来说,其是有电平格式的如 set_instance_assignment -name IO_STANDARD LVCOMS -to pin 这种情况下,其电平格式就是LVCOMS。没有上拉或者下拉的设置(也就是说coms电平不包括上下拉电阻的设置)。但是可以设置其输出电流,如 set_instance_assignment -name CURRENT_STRENGTH_NEW 12MA -to pin 板级电路上信号不到位,很多情况下,是驱动能力的问题。 也可以设置其输出端接电阻的大小(不是上下拉)。 set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to pin 以及其他属性等等 (2)对于未约束的信号时可以设定其上下拉状态的。 如: set_global_assignment -name RESERVE_ALL_UNUSED_PINS "As input tri-stated with weak pull-up" 其他几种状态分别是 as inputs that are tristated, as outputs that drive ground, as outputs that drive an unspecified signal, asinput tri-stated with bus-hold
转载自:http://www.eepw.com.cn/article/266429.htm
FPGA研发之道(25)-管脚的更多相关文章
- Altera FPGA中的pin进一步说明
最近END china上的大神阿昏豆发表了博文 <FPGA研发之道(25)-管脚>,刚好今天拿到了新书<深入理解Altera FPGA应用设计>第一章开篇就讲pin.这里就两者 ...
- FPGA的嵌入式RAM
FPGA中的嵌入式RAM分为两种:专用的BRAM和分布是RAM(用LUT实现的).这两种RAM又可以配置成单端口和双端口的RAM和ROM.双端口RAM又可以根据读写地址是否在同一块分为Double P ...
- 了解FPGA市场现状和未来趋势
转, 来源: http://www.sohu.com/a/204640373_740053 可编程的“万能芯片” FPGA——现场可编程门阵列,是指一切通过软件手段更改.配置器件内部连接结构和逻辑单元 ...
- (转)小心FPGA的JTAG口(上电和下电顺序)
同志们,根据ALTERA官方FAE(现场应用工程师)的强烈建议,请注意不要随意带电插拔你的JTAG下载接口,否则会损坏FPGA芯片的JTAG口信号管脚.现象:在排除了下载线的问题后,还是不能访问FPG ...
- 第一个FPGA工程----点亮开发板上的3个LED灯
第一个FPGA工程----点亮开发板上的3个LED灯 1.新建FPGA工程 开启Quartus2的画面 File--New Project Wizard..指定工程的路径与工程名 指定所使用的FPGA ...
- 树莓派wiringPi,BCM,BOARD编码对应管脚
wiringPi,BCM,BOARD编码 由于上课需要, 嵌入式学习从树莓派开始 树莓派中执行: $> gpio readall 即可得到关于树莓派管脚的各种信息 上面的图可能不是特别清楚, 可 ...
- Lattice并购案和我国FPGA发展道路
引用 http://www.cnblogs.com/alifpga/p/9292588.html FPGA作为通信.航天.军工等领域的关键核心器件,是保障国家战略安全的重要支撑基础.近年来,随着数字化 ...
- Lattice并购案&我国FPGA发展路径
FPGA作为通信.航天.军工等领域的关键核心器件,是保障国家战略安全的重要支撑基础.近年来,随着数字化.网络化和智能化的发展,FPGA的应用领域得到快速扩张.美国在FPGA领域拥有绝对的垄断优势,已成 ...
- 如何理解IPD+CMMI+Scrum一体化研发管理解决方案之CMMI篇
如何快速响应市场的变化,如何推出更有竞争力的产品,如何在竞争中脱颖而出,是国内研发企业普遍面临的核心问题,为了解决这些问题,越来越多的企业开始重视创新与研发管理,加强研发过程的规范化,集成产品开发(I ...
随机推荐
- 【最小割】【Dinic】bzoj3275 Number
每个点拆点,分别向源/汇连a[i]的边,满足条件的相互连INF的边,答案为sum-maxflow*2. 因为若有几个点不能同时被选,我们要贪心地选择其中和尽量大的部分,这可以由最小割来保证. #inc ...
- Problem S: 零起点学算法14——三位数反转
#include<stdio.h> #include<stdlib.h> int main() { int a,b,c,s; scanf("%d",& ...
- 【MySQL笔记】Excel数据导入Mysql数据库的实现方法——Navicat
很多公司尤其有点年头的公司,财务业务部门的各种表单都是excel来做的表格,随着互联网的发展各种业务流程都电子化流程化了,再在茫茫多的文档中去查找某一个年份月份的报告是件相当枯燥的事,所以都在想办法将 ...
- xib中Autolayout的使用
压缩包下载链接:http://share.weiyun.com/ceb6107857789ae3ec08d4a83269713d (密码:Kd33)
- Android证书验证存漏洞 开发者身份信息可被篡改(转)
原帖地址:http://bbs.pediy.com/showthread.php?p=1335278#post1335278 近期在国内网易,雷锋网等网站爆出谷歌市场上的索尼官方的备份与恢复应用&qu ...
- 连接sqlexpress
sqlexpress在visualstudio安装时可选择安装. 数据源添加 localhost\sqlexpress window身份认证即可.
- oracle 11g 大量废连接占满数据库连接问题处理
问题描述: 数据库不断出现大量无用连接,超过数据库最大连接数,导致新的连接无法建立,访问不通数据库 问题分析: 服务器netstat连接数,大量连接来自办公网连接,不断在增加,通过服务器spid查看数 ...
- IIS 7 网站权限问题
IIS7 应用程序池[标识]为[ApplicationPoolIdentity] 给程序目录赋权限: IUSER IIS AppPool\[应用程序池名]
- JVM监测分析JConsole
一.基本操作 启动界面 1.JConsole是什么 从Java 5开始引入了JConsole.JConsole是一个内置Java性能分析器,可以从命令行或在GUI shell中运行.您可以轻松地使 ...
- jenkins报错 not a queue url
使用Python的jenkinsapi执行job时报错:not a queue url 虽然任务还是构建了,但是错误还是处理的. 原因是:Jenkins的配置,和jenkinsapi里的配置的URL内 ...