最近这几天都在为DCL而打拼
但是有一个问题我一直无法解决掉它
所以想请教 了解verilog语法的高手们
要怎么样把一个module的output的结果存下来呢?
假设我module长这样:
module A ( a,b,c);
input a,b;
output c;
assign c = a & b;
endmodule
/*方法一*/
module B (b,c,clk);
input b;
output c;
wire w;
reg tmp = 1'b1;
A a1(tmp,b,w);
assign c = tmp;
always @ (posedge clk)
begin
tmp = w;
end
endmodule
/*方法二*/
module B (b,c,clk);
input b;
input clk;
output c;
wire w;
reg tmp = 1'b1;
A a1(tmp,b,w);
assign w = tmp;
assign c = tmp;
endmodule
module A纯粹只是做and运算然后输出
然后这边我的module B 想要重复的使用module A (姑且不论module B本身有没有意义)
下一个回合 我想要把A的结果 当成A的input 然后再做运算
但是在verilog里面,要接module的output必须是net (wire ...那些)
所以我不知道该如何把module 的 output的值存下来
存到register里面 下一回合再拿来用
如果有人愿意指点迷津 愿奉上一杯 50 元的饮料答谢=)