警告记录 - [Synth 8-3331] design has unconnected port

代码连接了端口但依然提示 design has unconnected port

一个奇怪的警告,字面意思很清晰,有个端口未连接。

顶层

module Top
(
  input  wire  wSysClk50M  , 
  input  wire  wRstKey_n  ,
  ...
  input  wire  wSDO    //出问题 wire
  );

  ...

  Ctrl Ctrl_inst
  (
    .wSysClk50M (wSysClk50M ),
    .wRstKey_n  (wRstKey_n  ),
    ...
    .wSDO       (wSDO       ) //这里 端口 wSDO 连接到顶层模块的 wSDO 
    )
endmodule

Ctrl模块

module Ctrl
(
  input  wire  wSysClk50M  , 
  input  wire  wRstKey_n   ,
  ...
  input  wire  wSDO        
  );

  ...

endmodule

根据代码,wSDO是连接到模块Ctrl的wSDO端口上的。但综合警告Ctrl_inst 的端口wSDO未连接。

发现是Vivado把Ctrl模块的 wire wSDO 优化掉了,但是端口依然存在。

解决办法 在Ctrl模块定义 wSDO语句前加(* DONT_TOUCH = "1" *) ,防止其被优化。

关于防止综合优化参考 Vivado防止信号被综合掉的三种方法。

 

你可能感兴趣的:(FPGA)