vivado[Synth 8-448]

我用HLS编写的IP核,导入到vivado后设计完在进行综合的时候就出现了
[Synth 8-448] named port connection 'ce1' does not exist for instance 'OBRAM_0_U' of module 'CONVOLUTION_LAYERibs' ["d:/conv1/conv1.srcs/sources_1/bd/system/ipshared/2ee5/hdl/verilog/CONVOLUTION_LAYER_1.v":1423]这个错误,这是由什么原因导致的呢。这个错误所在的文件就在我用HLS语言编写的设计文件由系统转为RTL文件的文件里

这个错误是说在 Verilog 文件 CONVOLUTION_LAYER_1.v 的第 1423 行,模块 CONVOLUTION_LAYERibs 的实例 OBRAM_0_U 没有名为 ce1 的端口连接。
可能的原因有:

  1. HLS 生成的 RTL 代码中,OBRAM_0_U 实例实际上没有 ce1 这个端口。这可能是 HLS 代码中有 bug,未正确连接 ce1 信号。
  2. Vivado 综合时,ce1 信号的连接丢失或未正确综合。这可能是 Vivado 的 bug,也可能是 constraint 文件中 ce1 信号的约束设置不正确。
  3. CONVOLUTION_LAYER_1.v 文件中手动添加的 ce1 信号连接写错了,应该连接到 OBRAM_0_U 的其他端口,或该信号根本就不应连接到 OBRAM_0_U。
    解决方案:
  4. 检查 HLS 代码,确认 ce1 信号是否正确连接到 OBRAM_0_U。如果没连接,应添加连接。如果连接正确,可能是 HLS 的 bug,可以反馈给 Xilinx。
  5. 检查 constraint 文件和 Vivado 的综合报告,看 ce1 信号的约束和综合情况是否正常。如果不正常,调整约束设置或综合参数。
  6. 检查 CONVOLUTION_LAYER_1.v 文件,确认 ce1 信号是否正确连接到 OBRAM_0_U。如果连接错误,修正连接。
  7. 若上述方法都未解决,可以考虑重新生成 RTL 代码,在 Vivado 中重新构建和综合设计。