msb가 1이면 값의 2의 보수를 수행하는 모듈을 만들려고합니다. 종지에서 작동하지만 합성하려고하면 다음 오류가 발생합니다.Verilog 코드를 합성 할 때 오류가 발생했습니다.
변수 표현식이 아니거나 잘못된 극성이므로 변수 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