答案没有我发现关于多个驱动器质疑似乎适用于我的情况,所以我会问。
我有相同频率的多个时钟,但在时间上错开彼此。
我想基于在该期间内的不同位置改变其级别创建一个信号。
简单的例子:
时钟和时钟 - 相同的频率,但B由相对于A.度X移位数
wire Signal_On_Wire;
reg SigValue;
always @ (posedge Clock_A)
SigValue<= 1'd0;
always @ (posedge Clock_B)
SigValue<= 1'd1;
Assign Signal_On_Wire = SigValue;
在这个例子 - 值并不重要 - 它只是我想从多个时钟驱动SigValue的事实。
Verilog的给了我一个多驱动程序错误。
是否有任何变通,让我完成我想做什么?
谢谢
这一次应该工作。
总是@(posedge时钟B)如果(〜SIG值)翻转<=〜触发器;
总是@(posedge时钟A)如果(sigValue)翻转<=〜翻转;
分配sigValue =跳高^翻转;
记得加复位初始化翻转和失败。