加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1.1 定义兼容性器件
    • 1.2 设置器件配置模式
    • 1.3 设置器件约束
    • 1.4 设置配置Bank管脚电压选择管脚
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

Xilinx FPGA时钟及I/O接口规划(二)

2023/02/20
4381
阅读需 13 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

引言:Vivado®Design Suite提供了几种可能影响I/O和时钟规划的器件规划功能。例如,FPGA配置方案、约束、配置电压方式都会影响I/O和时钟规划。或者,定义与封装兼容的其他器件,以便在最终设计需要时更改FPGA器件时,可以实现无缝衔接。建议在时钟和I/O规划前定义这些特殊的属性。

1.1 定义兼容性器件

您可以为设计选择兼容的FPGA,以便在必要时将设计重新定位到其他Xilinx®器件。Vivado工具在与当前目标部件相同的封装中选择兼容的Xilinx设备,以尽可能多地保留I/O分配。这可确保I/O引脚分配在选定的备用器件中可用。定义替代兼容零件,请执行以下操作:

1)建立工程,执行RTL分析或者综合或者实现步骤;

2)上述步骤执行完后,点击任意下图1中任意一个流程;

图1

3)选择Tools > I/O Planning > Set Part Compatibility。

图2、选择兼容性器件

在“设置器件兼容性”对话框中,选择备用器件,然后单击“确定”。

Vivado IDE识别所有选定备用器件共用的管脚,并为并非所有设备共用的管脚指定禁止约束。选择其他替代器件时,可用于放置的管脚数量可能会减少。此外,Vivado IDE自动禁止将信号分配给所选备用设备中的任何未绑定管脚。此时会出现一个对话框,显示禁止的封装PIN数。您可以在封装、封装Pin、和器件窗口中查看。禁止使用的管脚由斜线圆圈图标表示。

另外,在器件选型手册中也会给出器件封装兼容器件选型,只进行器件封装兼容性选型。

图3、器件选型兼容性描述

1.2 设置器件配置模式

由于Xilinx器件配置数据存储CMOS锁存器中,因此器件每次通电时都必须重新配置。比特流通过特殊模式配置管脚加载到器件中,这些管脚用作多种不同配置模式的接口。通过在专用输入引脚上设置适当的电压水平来选择特定的配置模式。

每个配置模式都有一组相应的接口引脚,这些引脚跨越器件上的一个或多个I/O Bank。Bank0包含专用配置引脚,并且始终是每个配置接口的一部分。UltraScale™和UltraScale+™中的Bank65和7系列器件中的Bank14和15包含用于各种配置模式的多功能管脚。

设置配置模式和查看配置信息可以执行以下操作步骤:1)建立工程,执行RTL分析或者综合或者实现步骤。

图4、配置选择

2)选择对应的配置模式。

启用配置模式复选框以设置该配置模式。设置配置模式时:
-相关的I/O引脚显示在Package pins窗口的Config列中。
-保存设计时将创建以下约束:

set_property BITSTREAM.CONFIG.PERSIST NO [current_design]
set_property CONFIG_MODE <configuration_mode> [current_design]

    单击配置模式打开一个对话框,您可以在其中查看信息,包括描述、配置图和指向更多信息的链接。单击“打印”以打印配置图。

图5、Master SPI×4配置模式

启用禁止将配置管脚用作用户I/O,并在配置后保持,以确保管脚在配置后用作配置管脚,而不是用作通用I/O。选择此选项时,保存设计时将创建以下约束:

set_property BITSTREAM.CONFIG.PERSIST YES [current_design]

图6、禁止将配置管脚用作用户I/O

注意:JTAG配置模式为始终选择配置模式。除JTAG配置模式外,您还可以选择一种配置模式。

3)配置模式选择完成后,执行File > Save Constraints,将当前配置保存到.xdc约束文件中。

1.3 设置器件约束

在器件约束窗口(图2-3)中,您可以设置约束,包括DCI_CASCADE和INTERNAL_VREF。Xilinx器件具有可配置的SelectIO™接口,支持许多标准接口的接口驱动程序接收器。具有包括驱动强度和转换率的可编程控制、使能数字控制阻抗(DCI)的片上终端,以及内部生成参考电压(INTERNAL_VREF)的能力。

图7、器件约束窗口

根据I/O标准,Xilinx DCI可以控制驱动器输出阻抗,也可以为驱动器、接收器或两者添加并行终端,目的是精确匹配传输线的特性阻抗。DCI主动调整I/O Bank内的阻抗,以校准VRN和VRP引脚上的外部精密参考电阻器。这可以补偿由于工艺变化、温度或电源电压变化引起的I/O阻抗变化。DCI在每个I/O Bank中使用两个多用途参考引脚来控制驱动器的阻抗或组中所有I/O的并行端接值。

带有差分输入缓冲的单端I/O标准需要参考电压VREF。当I/O Bank内需要VREF时(例如DDR3 I/O接口),请使用该Bank的以下引脚作为VREF电源输入:

对于基于UltraScale体系结构的器件,请使用专用的VREF引脚;

对于7系列器件,使用两个多功能VREF引脚。

或者,可以使用INTERNAL_VREF约束生成内部VREF。使用内部参考电压可以消除在PCB上提供特定VREF供电轨的需要,并且可以在给定I/O组中释放多用途VREF引脚,用于其他I/O端口分配。每个I/O Bank都有一个VREF平面,每个Bank都可以将可选的INTERNAL_VREF设置为整个Bank电压标准。注意 :当是使用INTERNAL_VREF内部参考电压时,与外部参考VREF相比,器件的性能可能会有所不同,例如DDR内存接口。

1)产生DCI_CASCADE约束

选中需要设置DCI_CASCADE约束的Bank,右键选择Add DCI_CASCADE,弹出对话框中选择主Bank。

                                    图8、设置DCI_CASCADE约束

.xdc约束文件设置DCI_CASCADE约束:

set_property DCI_CASCADE {34 35} [get_iobanks 33]

注意:当使用这个Tcl命令时,get_iobanks指定主Bank。在本例中,34和35是从Bank,33是主Bank。2)修改或移除DCI_CASCADE约束

要修改DCI级联,在设备约束窗口中执行以下任一操作。

图9、移除DCI_CASCADE约束

3)产生INTERNAL_VREF约束

Xilinx器件可以通过启用INTERNAL_VREF约束,选择性地使用内部生成的参考电压。内部生成消除了在PCB上提供特定VREF供电导轨的需要,并将给定I/O Bank中的多用途VREF引脚释放出来,用作普通I/O引脚。

图10、产生INTERNAL_VREF约束

要创建INTERNAL_VREF约束,请将I/O Bank拖放到设备约束窗口中所需的电压文件夹(例如,0.75V或0.9V)。.xdc约束文件设置INTERNAL_VREF约束:

set_property INTERNAL_VREF 0.7 [get_iobanks 65]

set_property INTERNAL_VREF 0.84 [get_iobanks 69]

延伸阅读:Xilinx 7系列SelectIO结构之DCI(动态可控阻抗)技术(一)

1.4 设置配置Bank管脚电压选择管脚

配置Bank电压选择管脚(CFGBVS)在VCCO_0和GND之间参考。CFGBVS引脚必须设置为高或低,以确定Bank0中引脚的I/O电压支持。在Vivado工具中,可以使用Tcl命令将CFGBVS连接信息设置为VCCO或GND。您可以将配置电压或VCCO_0电压设置为1.5、1.8、2.5或3.3。基于这些设置,7系列设备的DRC在Bank0、14和15上运行。对于UltraScale设备,DRC在Bank0和65上运行。

set_property CFGBVS VCCO [current_design]

set_property CONFIG_VOLTAGE 3.3 [current_design]默认情况下,CFGBVS属性为空。Vivado工具检查CFGBVS属性是否设置为VCCO或GND。如果CFGBVS属性有值,Vivado工具会检查CONFIG_MODE属性。DRC是根据Bank IO标准和CFGBVS配置电压设置发布的。

当您导出到CSV文件时,Vivado工具会根据CONFIG_MODE属性的设置为相关Bank(7系列器件:Bank0、14和15;基于UltraScale体系结构的器件:存Bank0和65)提供VCCO绑定信息。例如,如果使用JTAG/Boundary Scan,CFGBVS为GND,配置_电压为3.3,则工具会发出严重警告:DRC CFGBVS-4。这表明CONFIG_VOLTAGE设置为3.3,必须改为设置为VCCO,其值为1.8。对于UltraScale+器件,无法手动设置CFGBVS或CONFIG_VOLTAGE。默认情况下,CFGBVS设置为GND,CONFIG_VOLTAGE设置为1.8V。

赛灵思

赛灵思

赛灵思(英语:Xilinx)是一家位于美国的可编程逻辑器件的生产商。该公司发明了现场可编程逻辑门阵列,并由此成名。赛灵思还是第一个无厂半导体公司(Fabless)。28nm时代,赛灵思提出All Programmable 的概念,从单一的FPGA企业战略转型为All Programmable FPGA、 SoC 和 3D IC 的全球领先提供商。且行业领先的器件与新一代设计环境以及 IP 完美地整合在一起,可满足客户对可编程逻辑乃至可编程系统集成的广泛需求赛灵思于1984年创建于美国加利福尼亚州的硅谷,总部位于硅谷核心的圣何塞,并在科罗拉多州、爱尔兰、新加坡 印度、中国、日本拥有分支机构

赛灵思(英语:Xilinx)是一家位于美国的可编程逻辑器件的生产商。该公司发明了现场可编程逻辑门阵列,并由此成名。赛灵思还是第一个无厂半导体公司(Fabless)。28nm时代,赛灵思提出All Programmable 的概念,从单一的FPGA企业战略转型为All Programmable FPGA、 SoC 和 3D IC 的全球领先提供商。且行业领先的器件与新一代设计环境以及 IP 完美地整合在一起,可满足客户对可编程逻辑乃至可编程系统集成的广泛需求赛灵思于1984年创建于美国加利福尼亚州的硅谷,总部位于硅谷核心的圣何塞,并在科罗拉多州、爱尔兰、新加坡 印度、中国、日本拥有分支机构收起

查看更多

相关推荐

电子产业图谱

专注FPGA技术开发,涉及Intel FPGA、Xilinx FPGA技术开发,开发环境使用,代码风格、时序收敛、器件架构以及软硬件项目实战开发,个人公众号:FPGA技术实战。