vivado 配置I/O端口

news2024/11/17 9:27:29

配置I/O端口

AMD设备支持可配置的SelectIO™ 接口驱动程序和接收器,支持各种标准接口。这些标准接口包括输出的可编程控制强度和转换速率,使用DCI的片上终端,以及内部VREF的生成。你可以配置一个或多个I/O端口以定义I/O标准、驱动器强度、转换类型、拉动类型,以及在任期内。这对于配置从CSV或XDC文件导入的端口非常有用适当的特性。配置这些端口以支持所需的标准系统级设计。例如,您可以在一个I/O组中组合一些I/O标准但其他人不行。有关I/O组的标准和要求的信息,请参阅以下内容,具体取决于您的设备:

•7系列FPGA SelectIO资源用户指南(UG471)

•UltraScale体系结构SelectIO资源用户指南(UG571)

有关包装和引脚规格的信息,请参阅以下内容,具体取决于您的装置

•7系列FPGA封装和引脚输出产品规范(UG475)

•UltraScale和UltraScale+FPGA封装和引脚产品规范(UG575)

•Zynq-7000 SoC封装和引脚输出产品规范(UG865)有关AMD Zynq的详细信息™ 7000引脚,包括MIO引脚,参见Zynq-7000 SoC技术参考手册(UG585)。有关Zynq UltraScale+MPSoC引脚(包括MIO引脚)的详细信息,请参阅ZynqUltraScale+设备技术参考手册(UG1085)。要配置一个端口或一组端口,请执行以下操作:

1.在I/O端口窗口中,选择端口。

2.右键单击,然后选择“配置I/O端口”。

3.在“配置端口”对话框(请参阅下图)中,编辑以下选项,然后单击“确定”。

注意:配置端口对话框选项因目标设备而异。

•I/O标准:选择I/O标准约束。该工具不检查I/O标准当它被分配时。您可以将任何I/O标准分配给任何端口,但这可能会导致运行DRC时出错。

•驱动强度:选择驱动强度值。

•回转类型:选择回转类型值。

•拉动类型:选择拉动类型值。

•PULLUP:在3态输出或双向端口上应用弱逻辑高电平以防止其在未被驱动时浮动。

•下拉:在3态输出或双向输出上应用弱逻辑低电平端口,以防止其在未被驱动时浮动。

•KEEPER:在3态输出或双向端口上应用弱驱动程序在不被驱动的情况下保持其价值。

•无:不应用驱动程序。

注意:或者,可以通过单击的“拉动类型”列来设置拉动类型约束I/O端口窗口。

•术语内类型:(仅限7个串联设备)定义输入的并联端接特性信号有关更多信息,请参阅《7系列FPGA SelectIO资源用户指南》(UG471)。

•ODT:(仅限于基于UltraScale体系结构的设备)定义片上的价值标准的DCI和非DCI版本的输入端终止(ODT)支持。有关更多信息,请参阅UltraScale体系结构SelectIO资源用户指南(UG571)。

•已修复:表示逻辑端口由用户分配。端口必须固定,以确保比特流在没有错误的情况下生成。在“配置端口”对话框中,“固定”选项为只读。要修复端口,请选择端口在“I/O端口”窗口中,右键单击,然后选择“修复端口”,或者输入以下Tcl命令在Tcl控制台中:

set_property IS_LOC_FIXED true [get_selected_objects]
或者,您可以输入以下Tcl命令来修复端口:
set_property IS_LOC_FIXED true [get_ports <list_of_ports>]

设置I/O端口方向

要设置I/O端口方向,请使用以下任意方法:

•仅适用于I/O规划项目:

○ 在“I/O端口”窗口的“方向”列中,单击端口并更改方向使用下拉菜单。

○ 单击I/O端口窗口中的端口,然后在I/O端口属性中更改方向窗

○ 在I/O端口窗口中选择要配置的I/O端口、总线或接口,右键单击,然后选择Set Direction。

•仅针对RTL项目,定义RTL源中的端口方向。

重要!只能在I/O规划项目中设置端口方向特性。如果您尝试在I/O规划项目之外修改此属性,则会发出严重警告。

创建I/O端口接口

要将多个端口或总线分组在一起,可以创建一个接口。这有助于固定通过将所有接口端口视为一组来进行分配。指定所有接点同时有助于压缩和隔离用于时钟区域或PCB布线的接口。这也是使得更容易可视化和管理与特定逻辑接口相关联的信号。要创建接口,请执行以下操作:

1.在I/O端口窗口中,选择要组合在一起的信号。

2.右键单击,然后选择“创建I/O端口接口”。

3.在“创建I/O端口接口”对话框(请参见下图)中,输入界面,调整分配选择,然后单击“确定”。

接口在I/O端口窗口中显示为可扩展文件夹,如中所示如下图所示。

向接口添加I/O端口

要将I/O端口添加到接口,请在I/O端口窗口中执行以下任一操作:

•选择I/O端口,并将它们拖到接口文件夹中。

•右键单击端口或总线,然后选择“分配给接口”。在“选择I/O端口接口”对话框中框中,选择目标界面。

从接口中删除I/O端口

要删除I/O端口,请在I/O端口窗口中右键单击端口,然后选择取消分配界面使用I/O端口接口的Tcl命令示例

•创建I/O端口接口:

create_interface interface_1
set_property INTERFACE interface_1 [get_ports [list {test_1[3]}
{test_1[2]} \
{test_1[1]} {test_1[0]} {test_1_n[3]} {test_1_n[2]} {test_1_n[1]} \
{test_1_n[0]}]]
set_property INTERFACE interface_1 [get_ports [list port_2 port_2_N
port_1 \ port_4]]
Removing I/O ports from an interface:
set_property INTERFACE "" [get_ports [list port_2 port_2_N]]

自动推断I/O端口接口

建议:如果您的项目针对的是平台板而不是零件,AMD建议使用Vivado Design Suite平台板流来配置和应用板引出线约束,使用“自定义IP”对话框中的“板”选项卡,或Vivado IP集成程序中的板窗口。了解更多有关平台板流程的信息,请参阅《Vivado Design Suite用户指南:系统级》中的此链接设计条目(UG895)。您可以查看从IP连接到设计的顶级端口的接口。对于这些IP接口,Vivado工具会自动推断出分组的引脚规划接口相关的顶级I/O端口。这提供了一种符号化的方式来引用中的接口顶层设计的背景。例如,在下图中,led_8bits_tri_o总线是根据GPIO_9847引脚规划分组的通用I/O(GPIO)接口界面

您可以从中的“板部件引脚”列查看与I/O端口关联的板部件引脚I/O端口窗口。在下图中,与引脚规划接口关联的端口GPIO_9847被限制到板部件引脚led_8bits_tri_o[7:0]。

注:GPIO_9847中的数字9847用于GPIO接口的唯一标识在设计中有多个GPIO接口。这个数字没有具体的含义。

使用平台板流的Tcl命令示例

•获取板部件接口:

get_board_part_interfaces
• Getting ports associated with the board interface:
get_board_interface_ports -of [get_board_part_interfaces]
• Getting properties of the port:
get_property NAME [lindex [get_board_interface_ports] 5]
get_property DIRECTION [lindex [get_board_interface_ports] 5]
• Getting properties from the board part pin:
get_property IOSTANDARD [get_board_part_pins]
get_property LOC [get_board_part_pins]
Note : For information on the
get_board_part_interfaces

禁止I/O引脚和I/O组

I/O规划视图布局提供了一个接口,可以选择性地禁止端口放置到单个I/O引脚、I/O引脚组或I/O组。可以在中选择和禁止接点设备、封装和封装引脚窗口。要禁止I/O引脚或I/O组:

1.在设备、封装或封装引脚窗口中选择I/O引脚或I/O组。

2.右键单击,然后选择“设置禁止”。

禁止使用的引脚表示为:

•设备窗口和包装窗口中的斜线圆圈(见下图)

•检查Package Pins窗口的Prohibit列中的标记

Tcl Command Example for Prohibiting I/O Pins
set_property PROHIBIT 1 [get_sites U17]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1414914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java与网络2】:HTTP核心知识与Curl工具

HTTP是当前应用最为广泛的通信协议&#xff0c;我们上网、玩游戏、刷视频、查美食都离不开HTTP协议。当我们做开发的时候&#xff0c; 需要经常和H5、Android、IOS、PC前端等不同团队的同学打交道&#xff0c;大家讨论的核心问题之一就是交互的时候协议怎么定&#xff0c;而这个…

Dijkstra算法-lanqiao1122

#include <bits/stdc.h> using namespace std; const long long INF 0x3f3f3f3f3f3f3f3fLL; const int N 3e5 5; struct edge{int from, to;//边&#xff1a;起点&#xff0c;终点&#xff0c;权值&#xff1b;起点from没有用到&#xff0c;e[i]的i就是fromlong long …

【C++干货铺】C++中的IO流和文件操作

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 C语言的输入输出 流是什么&#xff1f; C的IO流 C标准IO流 C文件IO流 文本文件读写 二进制文件的读写 stringstream的简单介绍 将数值类型数据格式化为字…

Spring Security 存储密码之 JDBC

Spring Security的JdbcDaoImpl实现了UserDetailsService接口,通过使用JDBC提供支持基于用户名和密码的身份验证。 JdbcUserDetailsManager扩展了JdbcDaoImpl,通过UserDetailsManager接口提供UserDetails的管理功能。 当Spring Security配置为接受用户名/密码进行身份验证时,…

研发日记,Matlab/Simulink避坑指南(六)——字节分割Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结归纳 前言 见《研发日记&#xff0c;Matlab/Simulink避坑指南&#xff08;一&#xff09;——Data Store Memory模块执行时序Bug》 见《研发日记&#xff0c;Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》…

HPE ProLiant MicroServer Gen8更新固件

前几天因为没有shutdown OMV NAS便关了电源&#xff0c;导致其中一个硬盘损坏&#xff08;用DG检查有9个坏区&#xff09;&#xff0c;从而整个硬盘数据都没法读取&#xff0c;于是想着装个windows server会不会更好点&#xff0c;至少对windows熟悉点&#xff0c;硬盘扫描恢复…

数据结构-顺序表详解专题

目录 顺序表 1.简单了解顺序表 2.顺序表的分类 2.1静态顺序表 2.2动态顺序表 2.3typedef命名作用 3.动态顺序表的实现 SeqList.h SeqList.c test.c 顺序表 1.简单了解顺序表 顺序表是线性表的一种&#xff0c;线性表是在逻辑上是线性结构&#xff0c;在物理逻辑上并…

基于springboot+vue的校园资料分享平台(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

Nginx与keepalived实现集群

提醒一下&#xff1a;下面实例讲解是在mac虚拟机里的Ubuntu系统演示的&#xff1b; Nginx与keepalived实现集群实现的效果 两台服务器都安装Nginx与keepalived&#xff1a; master服务器的ip(192.168.200.2) backup服务器的ip(192.168.200.4) 将 master服务器Nginx与keepalive…

JavaEE-自定义SSM-编写核心-解析yml文件

3.3.1 加载yml文件 编写yaml工厂&#xff0c;用于加载yml文件 package com.czxy.yaml;import java.io.InputStream;/*** 用于处理 application.yml文件* 1. 加载application.yml文件* 2. yaml工具类进行解析* Map<String, Map<String, Map<....>> >* …

线性代数----------学习记录

线性代数发展历程 &#xff08;1&#xff09;线性方程组&#xff1a;例如二元一次方程组&#xff1b; &#xff08;2&#xff09;行列式&#xff1a;determinant,克莱默&#xff0c;莱布尼兹&#xff1b; &#xff08;3&#xff09;矩阵&#xff1a;方程个数与未知数的个数可…

webug存在的越权漏洞-水平越权以及垂直越权的漏洞复现(超详解)

越权漏洞-webug、 1.登录 账号&#xff1a;admin 密码&#xff1a;admin 2.进入逻辑漏洞 3.进入越权修改密码靶场 &#xff08;1&#xff09;输入账号密码 进入进去会发现没有权限进入 方法一&#xff1a; 这里我们只需要将 127.0.0.1:8080/control/a/auth_cross/cross_a…

编程那么难,为什么不弄一个大众一学就会的计算机语言呢?

大家好&#xff01;今天要和大家聊聊一个有趣的想法&#xff1a; 想象一下&#xff0c;如果编程变得像拼乐高积木一样简单&#xff0c;那将是多么美妙的事情啊&#xff01;不需要费尽心思去学习繁杂的语法规则和复杂的逻辑&#xff0c;只需要将代码块像积木一样拼接起来&#x…

小土堆pytorch学习笔记003 | 下载数据集dataset 及报错处理

目录 1、下载数据集 2、展示数据集里面的内容 3、DataLoader 的使用 例子&#xff1a; 结果展示&#xff1a; 1、下载数据集 # 数据集import torchvisiontrain_set torchvision.datasets.CIFAR10(root"./test10_dataset", trainTrue, downloadTrue) test_set …

Java后端开发:学籍系统核心逻辑

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

Apache Doris (六十九):JDBC Catalog

🏡 个人主页:IT贫道-CSDN博客 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~ 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 1. 创建Catalog

第六课:Prompt

文章目录 第六课&#xff1a;Prompt1、学习总结&#xff1a;Prompt介绍预训练和微调模型回顾挑战 Pre-train, Prompt, PredictPrompting是什么?prompting流程prompt设计 课程ppt及代码地址 2、学习心得&#xff1a;3、经验分享&#xff1a;4、课程反馈&#xff1a;5、使用Mind…

【电子通识】学习网上《初学者学习电子的常见误区文章》有感

学习硬件电子电路过程中&#xff0c;特别是初级阶段&#xff0c;可能会走进一些误区&#xff0c;会比较迷茫和困惑。如果这时不能正确对待好这些困惑&#xff0c;就会影响正常的学习&#xff0c;干扰学习的进程&#xff0c;严重时可能会半途而废。今天我从网络上看到为初学者写…

什么是单元测试?谁来做?怎么写?

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 一、什么是单元测试&#xff1f; 单元测试&#xff08;unit testing&#xff09;&#xff0c…

pytorch-metric-learning度量学习工具官方文档翻译

基于Pytorch实现的度量学习方法 开源代码&#xff1a;pytorch-metric-learning官网文档&#xff1a;PyTorch Metric Learning官方文档 度量学习相关的损失函数介绍&#xff1a; 度量学习DML之Contrastive Loss及其变种度量学习DML之Triplet Loss度量学习DML之Lifted Structu…