管脚是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

转载于:https://www.cnblogs.com/chengqi521/p/7679808.html

FPGA研发之道(25)-管脚相关推荐

  1. FPGA研发之道(21)-鸡肋?

    通常认为,SOPC是FPGA设计中的鸡肋,"弃之可惜,食之无味".诚然,SOPC一直不是FPGA的主流应用设计,制约主要因素则是性能,因为作为处理器使用时,处理器主频是其应用范围的 ...

  2. 北京熊通科技 招聘FPGA研发工程师

    今天给各位大侠带来优质企业的招聘资源,有需要的可以往下瞧一瞧看一看,感觉符合自己的,可以试一试,自行投递简历. 北京熊通科技 公司简介 北京熊通电子科技有限责任公司(以下简称熊通科技)成立于2006年 ...

  3. [笔记]|[FPGA]|[寄存器]|[模拟信号数字信号]《FPGA学习之道》学习笔记(1)

    [笔记]|[FPGA]|[寄存器]|[模拟信号数字信号]<FPGA学习之道>学习笔记(1) 笔记为笔者学习狄超所著**<FPGA之道>**时所写 –仅作为自己后续查看的笔记 文 ...

  4. FPGA研发心得~~转

    FPGA是个什么玩意? 首先来说: FPGA是一种器件.其英文名 feild programable gate arry .很长,但不通俗.通俗来说,是一种功能强大似乎无所不能的器件.通常用于通信.网 ...

  5. 有道购物助手脚本版,支持chrome,解决bug【Update 0.03】!

    购物比价的扩展和脚本找了很多,要不是对比结果不及时,数据滞后,要不是有后门,后台修改链接,经过推广网站赚钱. 虽然chrome的有道购物助手扩展代码是远程的,存在隐患,但目前试用来说,数据准确性比较高 ...

  6. 新享科技签约京微齐力,UniPro全方位助力国产FPGA研发管理

    近日,新享科技与京微齐力(北京)科技有限公司签约,旗下UniPro产品将用于京微齐力的缺陷管理.敏捷开发.瀑布管理等研发项目管理场景,助力入选"中国IC领域独角兽企业"的京微齐力提 ...

  7. F1工程师研发8年 用脚踩飞上青天

    「飞行」自古以来,就是人类不断挑战的梦想,虽然现代航太科技日新月异,但英国1位F1赛车工程师,认为应该回归原始,,他花了8八年时间,研发出一台人力飞行器,靠双脚不停踩动,居然真的可以飞上青天.像鸟一样 ...

  8. FPGA数字信号处理(25)数字相关器设计(经典结构)

    上一篇介绍了帧同步字检测.数字相关器的一些基本概念,并设计了一种简化模型的数字相关器(异或单元+累加器).本文将完成经典结构(移位寄存器+乘法器+累加器)的数字相关器的设计. MATLAB设计 假设一 ...

  9. 张蕾:北斗链将重新回到技术研发的道路上

    北斗链创始人张蕾近日接受共识传媒首席记者黄昱菲的专访,摘要如下: 黄:北斗链上线两年的时间,算是国内最早一批区块链技术平台,谈一下你的整体看法? 张:北斗链主网上线,已经稳定运行了659天.我印象中, ...

最新文章

  1. c 各种编译器(gcc clang)
  2. [小明学算法]3.启发式搜索算法----A*算法之我见
  3. 开发管理 (2) -规划项目
  4. 了解CUDA计算(一)
  5. 简单生产消费模式的代码流程(Java代码)
  6. 笛卡尔集基本原理,等值连接,不等值连接,外连接,自连接
  7. python 网络爬虫介绍
  8. 华为ipd产品开发流程_IPD(集成产品开发)成败取决于什么?
  9. js 运算符_JS的相等和严格相等运算符(== amp; ===)
  10. 鸟哥学习笔记六(基础篇第十一章)
  11. 【思维导图】新手该怎么学习C#/WPF
  12. 前端学习(2935):v-for案例
  13. oracle之数据处理
  14. (翻译)开始iOS 7中自动布局教程(二)
  15. Windows10下VB6.0开发——ini文件存储参数信息
  16. JDK粗体绘制效果为何如此之差
  17. \r\n的来历与用法
  18. EXCEL工作表保护密码忘记,撤消工作表保护
  19. 我的世界服务器怎么制作头颅,我的世界怎么刷生物头颅 生物头颅制作方法
  20. 烟气脱硫技术及工艺流程超全剖析

热门文章

  1. meetup_如何使用标准库和Node.js构建Meetup Slack机器人
  2. guice google_与Google Guice的动手实践
  3. 涉密计算机用户账号设置审批表,北京邮电大学涉密计算机配置审批表.PDF
  4. 白盒测试的3中主要方法(cont.)
  5. 什么是python第三方库
  6. Linux:检查当前运行级别的五种方法
  7. 大数据处理也要安全--关于MaxCompute的安全科普
  8. Ubuntu的apt-get使用国内的源
  9. OSChina 周一乱弹 ——喝不到放心奶
  10. 费用保险单,如何失焦时自动补零