首页 > 其他分享 >更改ip核里面的xdc约束

更改ip核里面的xdc约束

时间:2023-02-19 23:14:03浏览次数:39  
标签:PACKAGE set xdc PIN get ip 更改 property ports

使用PCIE等IP时,IP核例化生成的文件中包含了xdc以固定引脚分配,该xdc是read only的,但还是有办法修改,麻烦一些而已。Vivado默认使用此xdc文件,因此用户在综合后重新设定引脚绑定后,生成的用户xdc与ip xdc冲突,用户的约束不管用。解决此问题的方法是,在xdc下面的用户位置约束之前设置一个空位置。

如下面所示,用{} 设置引脚约束为空。后面的引脚约束就是自定义后的。
set_property PACKAGE_PIN {} [get_ports RX0_P]
set_property PACKAGE_PIN {} [get_ports RX1_P]
set_property PACKAGE_PIN {} [get_ports RX2_P]
set_property PACKAGE_PIN {} [get_ports RX3_P]


set_property PACKAGE_PIN Y2 [get_ports RX0_P]
set_property PACKAGE_PIN W4 [get_ports RX1_P]
set_property PACKAGE_PIN V2 [get_ports RX2_P]
set_property PACKAGE_PIN U4 [get_ports RX3_P]

这个问题出现在黑金的AX7103开发板上,当我用vivado 2018.2生成XDMA后,无论怎么调试电脑都识别不了PCIE。老版本的教程中并没有指出引脚绑定有什么不同,直到我查看了kc705板子的pcie引脚后,发现PCIE的0-3通道对应GTP的3-0通道,这也是生成XMDA IP后,自带XDC约束的引脚顺序,而黑金在设计时,PCIE的0 1 2 3 通道分别对应GTP的1 0 2 3通道。该工程综合后,打开综合,IO约束,绑定好正确的引脚后,在xdc文件中加入以下几句话就可以了。

set_property PACKAGE_PIN {} [get_ports {pci_exp_rxn[3]}]
set_property PACKAGE_PIN {} [get_ports {pci_exp_rxn[2]}]
set_property PACKAGE_PIN {} [get_ports {pci_exp_rxn[1]}]
set_property PACKAGE_PIN {} [get_ports {pci_exp_rxn[0]}]

set_property PACKAGE_PIN C9 [get_ports {pci_exp_rxn[3]}]
set_property PACKAGE_PIN A10 [get_ports {pci_exp_rxn[2]}]
set_property PACKAGE_PIN A8 [get_ports {pci_exp_rxn[1]}]
set_property PACKAGE_PIN C11 [get_ports {pci_exp_rxn[0]}]
————————————————
版权声明:本文为CSDN博主「同年纪_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/q774318039a/article/details/88996517

标签:PACKAGE,set,xdc,PIN,get,ip,更改,property,ports
From: https://www.cnblogs.com/fpga/p/17135886.html

相关文章

  • Set Next-Hop IP Address
    TheinfrastructureprovidedbyCEForprocessswitchingperformstherecursiontothenext-hopIPaddress.Theconfigurationsequence,whichaffectsrouting,i......
  • DVWA靶场实战(十四)——JavaScript
    DVWA靶场实战(十四)五、JavaScript:1.漏洞原理:这里的JavaScript其实是JavaScriptAttack也就是JS攻击。JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本......
  • JavaScript知识汇总
    1JavaScript功能直接写入HTML输出流(在HTML输出中使用document.write,如在文档加载后使用该方法会覆盖整个文档)对事件进行响应(如鼠标事件、键盘事件等)改变HTML内......
  • 设置用户第一次登录强制更改密码
    #新建用户:useraddtest#设置初始密码:echo“123456”|passwd--stdintest#设置用户下次登录需要更改密码chage-d0test关于chagechage--help用法:chage[选项]......
  • 【JavaScript】17_debug,立即执行函数 与 严格模式
    14、debug<script>//debugger//在代码中打了一个断点console.log(a)//2vara=1console.log(a)//1fu......
  • 【JavaScript】18_面向对象,类与属性
    1、面向对象面向对象编程(OOP)程序是干嘛的?程序就是对现实世界的抽象(照片就是对人的抽象)对象是干嘛的?一个事物抽象到程序中后就变成了对象在程序的世界中,一切皆对象面向对象......
  • Leetcode题1两数之和 JavaScript语言
    1.两数之和方案一,暴力双循环读完题目,马上能想到的方案就是双循环,挨个排查,写出来也很快:vartwoSum=function(nums,target){constlen=nums.length;for......
  • JavaScript中深拷贝和浅拷贝有什么区别?如何实现深拷贝?
    前言大家好,我是CoderBin,本次讲讲深拷贝和浅拷贝有什么区别?以及如何实现深拷贝?。希望对大家有所帮助,谢谢!如果文中有不对、疑惑的地方,欢迎在评论区留言指正......
  • Android Studio进行APP图标更改
    方法:将准备好的图标放入res目录下的drawable,在androidmanifest.xml文件中,找到android:icon以及android:roundicon这两个属性,设置为你放入的图标文件即可......
  • 苹果手机怎么备份到电脑上 苹果iPhone手机备份的数据怎么恢复
    随着苹果秋季发布会的召开,新的苹果手机和iOS16系统也一同问世。很多小伙伴已经迫不及待的想要升级iOS16系统来尝尝鲜,但是新的系统还是有着许多不稳定因素。因此在升级iOS......