Vivado生成Bitstream失败的解决方法

跟着实验指导书,难得的又遇到问题了,在最后生成Bitstream的时候出错了,无法生成Bitstream。

报错信息如下

[DRC NSTD-1] Unspecified I/O Standard: 4 out of 134 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value. This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all I/O standards. This design will fail to generate a bitstream unless all logical ports have a user specified I/O standard value defined. To allow bitstream creation with unspecified I/O standard values (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks NSTD-1].  NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: LEDs_out_0[3:0].

[DRC UCIO-1] Unconstrained Logical Port: 4 out of 134 logical ports have no user assigned specific location constraint (LOC). ... Problem ports: LEDs_out_0[3:0].

在我绝望的时候在网上搜到了解决方法,问题还是出在了XDC文件上

我是直接复制的实验指导书中的XDC文件中的内容,但是在生成ked_controller这个ip核的port的时候,生成的port的名字和实验中的并不一样。

xdc文件内容如下:

set_property PACKAGE_PIN M14            [get_ports {LEDs_out[0]}]

set_property IOSTANDARD LVCMOS33         [get_ports {LEDs_out[0]}]

set_property PACKAGE_PIN M15             [get_ports {LEDs_out[1]}]

set_property IOSTANDARD LVCMOS33         [get_ports {LEDs_out[1]}]

set_property PACKAGE_PIN G14             [get_ports {LEDs_out[2]}]

set_property IOSTANDARD LVCMOS33         [get_ports {LEDs_out[2]}]

set_property PACKAGE_PIN D18             [get_ports {LEDs_out[3]}]

set_property IOSTANDARD LVCMOS33         [get_ports {LEDs_out[3]}]

注意下我的DRC报错信息就会发现一个重要的信息

Problem ports: LEDs_out_0[3:0]

这报错的port似乎有点不对劲,和约束文件中声明的port不一样,这也是为什么报错说LEDsout0这个port unspecified的原因,因为你XDC中声明的是LEDs_out啊。

解决方法很简单,把这个port的名字改了就好,更改方法如图。

 

 

END -

 

 

 

### Vivado 2022.2 和 Vitis 的集成与使用 #### 集成环境设置 为了使 Vivado 2022.2 和 Vitis 工具能够协同工作,在启动任何工具之前,需确保设置了正确的环境变量。这可以通过执行特定于版本的脚本来完成: ```bash source /opt/Xilinx/Vivado/2022.2/settings64.sh source /opt/Xilinx/Vitis/2022.2/settings64.sh ``` 上述命令会初始化必要的路径和其他配置项,使得两个工具可以在同一环境中运行[^1]。 #### 创建项目并启用Vitis支持 当创建一个新的 FPGA 设计工程时,可以选择在 Vivado 中开启高层次综合 (HLS) 支持以及平台导出功能,从而允许后续利用 Vitis 开发应用。具体操作如下: - 打开 New Project Wizard 并按照提示建立目标板级或自定义 IP 的设计; - 在 Block Design 视图下添加 Processing System 或其他处理器模块作为主机接口; - 使用 Export Hardware with BD 功能保存当前硬件描述到指定位置供 Vitis 加载; - 勾选 "Include bitstream" 复选框以确保生成比特流文件用于编程器件[^2]。 #### 利用Vitis开发应用程序 一旦完成了硬件部分的设计并将之导出了给定格式的数据包之后,就可以切换至 Vitis IDE 来编写针对该平台的应用程序代码了。主要流程包括但不限于以下几个方面: - 启动 Vitis 应用程序工程向导,导入先前由 Vivado 提供的硬件平台信息; - 添加新的源文件夹来放置 C/C++ 源码,并根据需求引入外部库依赖关系; - 编译链接整个工程项目得到可执行映像文件(.elf),并通过 JTAG 接口将其烧录入目标设备中测试验证其功能性[^3]。 ```cpp // 示例C++代码片段展示如何调用预编译好的硬件加速函数 #include <adf.h> using namespace adf; class my_accelerator : public kernel { public: void run(input_window<float>& in, output_window<float>& out); }; void my_accelerator::run(input_window<float>& in, output_window<float>& out){ while (!window_empty(in)) { float val = window_readincr(in); // Perform some computation here... window_writeincr(out,val * 2); } } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值