[Synth 8-2577] procedural assignment to a non-register is not permitted, left-hand side should be reg integer time genvar

[vivado] [Synth 8-2577] procedural assignment to a non-register is not permitted, left-hand side should be reg integer time genvar

[Synth 8-2577] procedural assignment to a non-register is not permitted, left-hand side should be reg integer time genvar

enter image description here

always 문안의 절차적 할당문에서 reg 선언을 하지 않으면 발생하는 에러

문제 발생하는 코드

module test
(
    input      clk,
    input      resetn,
    output     data
);

always @(posedge clk) begin
    if(!resetn) begin
        data <= 8'h00;
    end 
    else begin
        data <= 8'hFF;
    end
end

endmodule

output reg data 로 선언해야 에러 없어짐

module test
(
    input      clk,
    input      resetn,
    output reg data
);

always @(posedge clk) begin
    if(!resetn) begin
        data <= 8'h00;
    end 
    else begin
        data <= 8'hFF;
    end
end

endmodule

끝.

도움이 되셨다면 더 좋은 정보 공유를 위해 광고 클릭 부탁 드립니다 :)

댓글 쓰기

0 댓글