Verilog里面同一个复位信号能否用于两个触发器的异步复位?

if(posedge clk1 or negedge INIT)begin
if(!INIT)
//此处复位相关寄存器
.....
begin
end

if(posedge clk2 or negedge INIT)begin
if(!INIT)
//此处复位相关寄存器
.....
begin
end

就像这里,INIT是一个输入信号,clk1和clk2是两个时钟信号!
另外还有就是 assign A =(!B)?C:D;
这里的连续赋值语句里面B可不可以是reg类型,我知道A必须是wire, C、D可以是reg!!
哎呦,begin的地方打错了!请不要再说这个问题!假设begin在一开始的正确位置!纯粹是打错了!这个语法我是知道的!

1、可以共用复位信号的。
2、assign A =(!B)?C:D; 除了A用wire型,其他的reg、wire都行。如果B用reg型,B<=X,这样A的值会延迟一个时钟。如果用B=X,A的值会没有延迟~切记
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-06
1、可以共用复位信号的。
always @ (posedge clk1 or negedge INIT)
if(!INIT)
begin
//此处复位相关寄存器
end

always @ (posedge clk2 or negedge INIT)
if(!INIT)
begin
//此处复位相关寄存器
end

2、assign A =(!B)?C:D; 除了A用wire型,其他的reg、wire都行本回答被提问者采纳
相似回答