在verilog中,模块实例化能用在always吗?

如题,望高手赐教呀!!!!!!!!
如果我要多次实例化,怎么办呢?比如,做一个加法器时,我可能要多次实例化一个半加器。

不能的,模块实例化只需要一次(一般来说),always意思是当条件发生总是执行的啊
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-24
在不同的地方使用同一个基本模块是很常见的事,
这样可以避免重复的代码,以加法器为例,
比如你的加法器是adder,你需要在不同的地方使用它,
那么可以这样实例化
adder adder_1(.clk(clk),.rst(rst),.in_a(a1),.in_b(b1),.sum_out(s1));
adder adder_2(.clk(clk),.rst(rst),.in_a(a2),.in_b(b2),.sum_out(s2));
adder adder_3(.clk(clk),.rst(rst),.in_a(a3),.in_b(b3),.sum_out(s3));
这样就得到了实例名为adder_1,adder_2,adder_3的3个加法器。本回答被提问者和网友采纳
第2个回答  2009-11-23
不能,模块的实例化和其他语句是并行的,不能嵌套,只能并行存在
要几个实例化就并行写几次,起不同的名称

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

quartus Error (10170): Verilog HDL syntax error at test.v(34...
实例化的语句是不能放在always的模块里的。always用来描述行为,实例化的语句用来描述结构,你必须把always去掉,然后把这6个端口的实例化的语句都写一遍。

看一下verilog中 模块实例化问题
这个例化调用放在always语句块的外面!不能这样直接调用的!你要有电路的思想,一个例化调用就相当于一个电路,你用if语句,有时候要综合出这个电路有时候又不要综合出这个电路了,这个不是让人家软件为难吗!你要这样,综合出来时必须的,至于用不用,要看你有没有信号给它,它的输出有没有引回来!

verilog for循环中模块实例化的问题
如果你真的是要例化十遍,用generate语句

verilog for中function定义是里面能用always吗
不能,原因如下:函数的定义不能包含有任何的时间控制语句,即任何用#、@、或wait来标识的语句。祝你学习verilog开心!

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

Verilog中的assign以及always
1、reg是always块里用的,要用在时序逻辑里,不能用组合逻辑assign定义。2、always@(posedge clk&a)一般没有这么写的。always@(这里要写条件,循环执行语句的条件),比如说你要在clk上升沿时执行赋值语句,那么就在里面填写posedge clk,如果你要在a变化一次时在always块里的语句执行一次可以在括号...

Verilog语法之十:过程块(initial和always)
在过程块中,我们可以看到以下组成部分:initial语句和always语句,以及begin_end与fork_join的搭配,是Verilog中的高频用法。1.initial语句 initial语句的格式如下:举例来说明:[例1]:在这个例子中,initial语句用于在仿真开始时对变量进行初始化。[例2]:从这个例子中,我们可以看到initial语句的另一用途...

Verilog:Error (10170)
实例化不能在always的block里,必须在外边。

关于verilog中initial和always的使用问题
verilog描述的是硬件电路,所以initial语句只能用在仿真时测试平台testbench中,可以使用状态机来描述你说的功能。Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最...

相似回答