[Synth 8-1085] da_data with mode 'out' cannot be read ["D:/Vivado/shengteng_pro6/pcie_test/pcie_test.srcs/sources_1/new/adda_test.vhd":127] [Synth 8-1085] da_data with mode 'out' cannot be read ["D:/Vivado/shengteng_pro6/pcie_test/pcie_test.srcs/sources_1/new/adda_test.vhd":127] [Synth 8-1779] cannot read from 'out' object da_data ; use 'buffer' or 'inout' ["D:/Vivado/shengteng_pro6/pcie_test/pcie_test.srcs/sources_1/new/adda_test.vhd":127] [Synth 8-1779] cannot read from 'out' object da_data ; use 'buffer' or 'inout' ["D:/Vivado/shengteng_pro6/pcie_test/pcie_test.srcs/sources_1/new/adda_test.vhd":127]
时间: 2024-01-30 20:03:16 浏览: 368
这些错误提示是由于在您的代码中,将一个带有 'out' 模式的信号 da_data 用于读取操作。在 Vivado 中,'out' 模式的信号应该只用于输出操作,而不能用于读取操作。解决这个问题的方法是将 da_data 的模式更改为 'buffer' 或 'inout',以便可以进行读取操作。
您可以在文件 "D:/Vivado/shengteng_pro6/pcie_test/pcie_test.srcs/sources_1/new/adda_test.vhd" 的 127 行查找并更改 da_data 的模式。将其修改为 'buffer' 或 'inout',然后重新进行综合操作。这样应该能够解决这个问题。
相关问题
[Synth 8-2576] procedural assignment to a non-register zynq_out is not permitted ["C:/vivado_project/CH367_PCIE_trans/CH367_PCIE_trans.srcs/sources_1/new/CH367_PCIE_trans.v":81]
这个错误提示是因为你在尝试将一个非寄存器类型的变量 `zynq_out` 进行过程赋值操作,但是这是不被支持的。过程赋值操作只能用于寄存器类型的变量。你需要将 `zynq_out` 定义为寄存器类型,或者使用 assign 语句来对其进行赋值。具体操作方法取决于你的设计需求,你需要检查代码并找出正确的解决方法。如果你还需要进一步帮助,请贴出相关代码片段让我来帮你分析。
[Synth 8-1725] cannot assign to memory ram_data directly ["C:/vivado_project/CH367_PCIE_trans/CH367_PCIE_trans.srcs/sources_1/new/CH367_PCIE_trans.v":62]
这个错误提示是因为你在尝试直接对内存 `ram_data` 进行赋值操作,但是这是不被支持的。你需要使用内存的读写端口来对内存进行读写操作。比如,如果你想要将一个数据写入内存,你应该使用内存的写入端口,而不是直接对内存进行赋值操作。具体操作方法取决于你使用的内存类型,你需要检查内存实例化代码并找出正确的写入和读取端口。如果你还需要进一步帮助,请贴出相关代码片段让我来帮你分析。
阅读全文