最近END china上的大神阿昏豆发表了博文 《FPGA研发之道(25)-管脚》,刚好今天拿到了新书《深入理解Altera FPGA应用设计》第一章开篇就讲pin。这里就两者的知识做一个整理。至于cyclone IV器件的I/O特性笔记博文后续会补上。
上一篇Altera FPGA中的pin简介已经对altera FPGA中的pin做了一个简要的全面说明,下面就做一些深入的了解
1,一般来说,DDR的接口信号最好能在一个BANK上约束,如果不能则其控制信号要约束到同一BANK上,否则导致EDA工具布局布线报错。并没有说明如何约束到同一个bank上
2,引用阿昏豆博客上的原话:
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
3,不能通过约束来指定I/O口的电压,例如:
set_instance_assignment -name IO_STANDARD 3.0-V LVCMOS -to pinA
set_instance_assignment -name IO_STANDARD 3.3-V LVCMOS -to pinB
这个约束是没有作用的。I/O的输出电压只和它指定bank的参考电压相关
4,LVDS的差分信号必须要分配到同一个差分对管脚上,同时LVDS附近的pad不能用作单端(single-ended)引脚,至于需要多少个pad才可以分配单端这个要查阅芯片手册,而且还不能够根据Altera FPGA中的pin简介中的图1的物理位置来确定内部die中pad之间的物理位置关系,这个需要用view--> Pad view来查看