模块实例化 verilog 求助

module f(...,S_out);
...
output S_out;
...
reg S_out;

endmodule

module top(...);

reg S_out;//S_out不是输入输出口

f U1(..,.S_out(S_out));

always @()
begin
...
Sout<=1;
...
end

endmodule
编译跳出错误:top模块中的寄存器S_out不能连接到U1的输出端口S_out??
该怎么改?

第1个回答  2012-06-02
是这样的,有几个原因,可能你的借口部分数据类型定义不对,位宽不配。按照目前来看,估计是你的语法错了,sout在不同进程进行了同时赋值,所以发生了错误。建议不要在不同模块对同一个模块进行赋值。有不懂的可以继续追问本回答被提问者采纳
第2个回答  2012-06-01
f U1(..,.S_out(S_out));这句话的意思是module f 中的s_out作为信号输入,将top中的s_out作为输出,正好搞反啦,还有不是你起一个名字就是一根线啦,你想想是不是可以改改,把module top作为实例化对象呢
第3个回答  2012-05-30
顶层文件的“reg S_out;//S_out不是输入输出口”去掉应该就可以了

看一下verilog中 模块实例化问题
encyrpt u1 (.proclaimed_in_writing(temp),.start(start),.clk(clk),.cryptograph(temp1),.reset(reset_n));这个例化调用放在always语句块的外面!不能这样直接调用的!你要有电路的思想,一个例化调用就相当于一个电路,你用if语句,有时候要综合出这个电路有时候又不要综合出这个电路了,这个不...

verilog for循环中模块实例化的问题
你把一个模块同名的例化10遍,不出错才怪 如果你真的是要例化十遍,用generate语句

verilog 中顶层模块实例引用多个模块时端口怎么连接
2、选择User Document创建自定义的文本文件。3、创建好后,在下方切换到Files面板,双击打开该文件。4、数据文件写好后,就要编写Verilog测试模块读取该文件并对模块进行测试了。5、双击打开该文件,我们看到待测试模块输入对应了一些reg寄存器类型,输出部分对应了一些wire类型。6、如图是程序自动生成的实例...

VS Code自动例化Verilog模块
首先,确保您已安装Vs Code,并在其中安装了Verilog_TestBench插件,这是实现自动化实例化功能的关键。接着,打开您想要处理的Verilog文件。通过按 Ctrl+Shift+P 快捷键,调出命令框,输入“instance”,随后回车。Vs Code的智能提示功能将立即响应,提供实例化模板,简化代码输入步骤。在终端中,您会看到...

请Verilog高手帮助!wire赋值问题
在实例化中,所有的端口都要求用wire型,跟module中的定义没关系。比如你这里的test模块,虽然模块中b定义的是reg型,但是实例化的时候,仍然要使用wire型,这是规定,不能改变。其实,一个module,就类似于一个小电路模块,在module中定义的,是内部的电路,你定义成reg或者wire都可以,视情况而定;而...

在verilog中实例化一个模型应注意的问题,是不是对应端口对的数据类型必...
当然可以不一样,顶层文件例化是将两个端口对应连接在一起,若该信号在当前模块中没有用到always语句等必须要reg型的 那是要用wire型的,因为他们是连线(将各个模块端口连接起来),而你说的原型模块那是设计时实现内部功能的,根据需求来定义数据类型。他们两个有对应关系却是不一样的东西。所以LZ多...

【急急急】Verilog的一些基本问题
1,是的,input,output都是默认为wire的。对于output,如果想声明为reg必须单独声明,想用wire的话是可以不声明wire的。2,一个模块使用另一个模块输入或输出信号,可以直接实例化,不用写include。但如果被使用的信号不是输入或输出而是内部信号的话,就要用层次调用 比如你有一个TB模块,下面有A,B两...

在verilog中,模块实例化能用在always吗?
不能的,模块实例化只需要一次(一般来说),always意思是当条件发生总是执行的啊

初学者请教Verilog.不同的module可以放在同一个.V文件里吗
1.分开放,这是verilog coding style的一种良好习惯,每个文件里面只包含一个独立的module 2.把所有这些文件放在同一个目录下,在top文件里实例化这些module就可以调用了 3.top文件和新建一个module一样的,不过模块里主要是定义连线和实例化子模块,你随便找本verilog的教程就有啦:)实例化是这样的,...

Verilog 中的模块实例化问题
always里面好像不能调用模块的,只能调用任务和函数。

相似回答