【发布时间】:2017-02-21 14:27:02
【问题描述】:
我正在尝试制作可合成的 Verilog 代码,它可以检测“x”或无效输入。基本上,x 不能合成,所以我避免使用x。我试图在每个时钟周期读取输入,如果它是0 或1,那么我正在加载到一个新寄存器中。这是代码;
always@(posedge clk)
begin
if(in & gate_check == 0 | in & gate_check == 1)
begin
load_input_8 <= {in,load_input_8[8:1]};
end
end
所以,在检查输入数据的有效性之后,我将新输入加载到load_input_8 寄存器中。顺便说一句,gate_check 的值为 1,即 `gate_check = 1。
但这只是将1 的值存储到load_input_8 中。没有0 存储在load_input_8 中。并且电路在加载输入时也有奇怪的行为。这是模拟的图片;
谢谢。
【问题讨论】:
-
只有
in = 1可以满足你的if条件。 -
@Laleh,谢谢。问题解决了。