最近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來查看