2014-01-09 77 views
0

请谁能帮我写两个条件语句,例如 两者应该给予相同的输出...例如:Verilog的条件表达式

如果我写了下面这是给输出,但 与所提到的方法大量延迟

if(count==3'd2 || i<=16'd8192) begin 
    count = 3'd1; 
    AL1 = x[i]+x[i+1]; 
    DL1 = x[i]-x[i+1]; 
    i  = i+2; 
end 
else begin 
    count = count+1'd1; 
    i  = 16'd0; 
end 

我得到错误,如果这样写代码...

if (i<=16'd8192) begin 
    if (count==3'd2) begin 
    count = 3'd1; 
    AL1 = x[i]+x[i+1]; 
    DL1 = x[i]-x[i+1]; 
    i  = i+2; 
    end 
    else begin 
    count = count+1'd1; 
    end 
else begin 
    i  = 16'd0; 
end 

请帮我这个

回答

1

问题代码在功能上是不一样的还是语法错误?

这两个代码示例都有一个尾随end,我在格式化问题中的代码时已将其删除。

Verilogs开始结束语法的if语句是:

if (condition a) begin 
    // a true 
end 
else begin 
    // a false 
end 

随着次级嵌入式有条件的将是:

if (condition a) begin 
    if (condition b) begin 
    // a & b true 
    end 
    else begin 
    // a true b false 
    end 
end 
else begin 
    // a false 
end 

如果这是采用更严格的缩进风格编码便会在问题有助于发现这些错误。

+0

我试着用第二种方法运行代码......但最初我面临一些错误......现在我得到了输出......谢谢你摩根.. – user3178637

+0

@ user3178637优秀。 – Morgan