modelsim仿真报错:vlog-2388 ‘scl‘ already declared in this scope

问题背景:
1、使用vivado直接仿真的时候没有报错。
2、在vivado中调用modelsim的时候报错。

报错的代码:

module iic_write(
   input clk,
   input rst,
   output  scl,
   input en,
   inout sda
    );
    reg scl;
    ……

报错的意思是scl已经声明过了,modelsim认为端口声明“ output scl,”和变量类型声明“reg scl”重复了。

修改成这样,就不会报错了。

module iic_write(
input clk,
input rst,
output reg scl,
input en,
inout sda
);
// reg scl;

在声明端口的时候,把变量类型一起声明了。

你可能感兴趣的:(Verilog代码报错,fpga开发)