Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试合成verilog代码时出错_Verilog_Synthesis - Fatal编程技术网

尝试合成verilog代码时出错

尝试合成verilog代码时出错,verilog,synthesis,Verilog,Synthesis,我试图创建一个模块,该模块在msb为1时执行值的两个补。它在cadence中工作,但是当我尝试合成它时,我得到以下错误: 无法测试变量X_parallel,因为它不在事件表达式中或极性错误 模块的代码如下所示: module xTwosComp (X_parallel, Clk, Reset, X_pos); input [13:0] X_parallel; input Clk, Reset; //wire X_msb; //was an attempt at fixing the proble

我试图创建一个模块,该模块在msb为1时执行值的两个补。它在cadence中工作,但是当我尝试合成它时,我得到以下错误:

无法测试变量
X_parallel
,因为它不在事件表达式中或极性错误

模块的代码如下所示:

module xTwosComp (X_parallel, Clk, Reset, X_pos);
input [13:0] X_parallel;
input Clk, Reset;
//wire X_msb; //was an attempt at fixing the problem
output [13:0] X_pos;
reg [13:0] X_pos;

//assign X_msb=X_parallel[13];//failled attempt at fixing

always @ (posedge Clk or posedge Reset)
begin
        if (X_parallel[13]) begin
             X_pos = ~(X_parallel) +1;
        end else begin
             X_pos = X_parallel;
        end
end

endmodule

您缺少重置语句。不确定这是否修复了确切的错误,但合成器希望代码确定当存在多个边缘事件时哪些事件是异步的


如果(重置)开始X_pos缺少重置语句,则需要
。不确定这是否修复了确切的错误,但合成器希望代码确定当存在多个边缘事件时哪些事件是异步的


如果(重置)开始X_pos缺少重置语句,则需要
。不确定这是否修复了确切的错误,但合成器希望代码确定当存在多个边缘事件时哪些事件是异步的


如果(重置)开始X_pos缺少重置语句,则需要
。不确定这是否修复了确切的错误,但合成器希望代码确定当存在多个边缘事件时哪些事件是异步的


你需要一个
if(Reset)begin X_pos,在我数小时后我才弄明白。这是因为我在always块中没有引用Clk或Reset

感谢所有考虑过这个问题的人


谢谢格雷格的回答,虽然我知道如何使它工作,但我很高兴你的回答,因为它澄清了为什么它现在工作。谢谢

经过无数个小时,我终于明白了。这是因为我在always块中没有引用Clk或Reset

感谢所有考虑过这个问题的人


谢谢格雷格的回答,虽然我知道如何使它工作,但我很高兴你的回答,因为它澄清了为什么它现在工作。谢谢

经过无数个小时,我终于明白了。这是因为我在always块中没有引用Clk或Reset

感谢所有考虑过这个问题的人


谢谢格雷格的回答,虽然我知道如何使它工作,但我很高兴你的回答,因为它澄清了为什么它现在工作。谢谢

经过无数个小时,我终于明白了。这是因为我在always块中没有引用Clk或Reset

感谢所有考虑过这个问题的人

谢谢格雷格的回答,虽然我知道如何使它工作,但我很高兴你的回答,因为它澄清了为什么它现在工作。谢谢