请教大家LATTICE ICE系列FPGA的ICE40HX1K(CB132) 的LVDS差分对怎么使用?ii13977年前发布2691大家好,我们现在使用ICE40HX1K(CB132) 的LVDS功能,是否有相关例程? FPGAlattice
ICE的LVDS差分对使用可以参考文档《UsingDifferentialIOLVDSSubLVDSiniCE40Devices.pdf》,文档中有verilog代码片段,可能由于这个比较简单,我没有在官网找到工程可以参考。
VHDL的代码示例没有提供,我写了一下(本人不懂VHDL,以下内容仅供参考):
1.首先你要搞清楚你要用哪种类型的LVDS差分对,有三种,如下表(文档第8页),分别是LVDS差分输入原语SB_IO、LVDS差分输出原语SB_IO、LVDS差分时钟SB_GB_IO,其中输入输出的原语都是SB_IO,只是要注意如果是LVDS差分输出,在锁定管脚时IO属性要设为SB_LVCMOS。
2.假定你用的是LVDS输入,那么按上表,原语是SB_IO,按照SB_IO这个表(文档第8页)的端口定义,先按VHDL的格式声明这个SB_IO元件。
SB_IO元件声明大概如下(本人不懂VHDL,以下内容为检索网络所得,仅供参考), 每个端口的定义及位宽详见文档。
3.然后在你需要使用地方按VHDL的格式例化一个SB_IO。
另外两种原语类似。
还是贴一段我的代码吧: