저는 초보자로서 자일링스를 통해 Verilog를 작성하고 있습니다. 내가 자일링스를 사용하는 경우 자일링스의 위치 선언 변수의 차이점은 무엇입니까?
module mealy(
nReset,
clk,
in,
out
);
input nReset;
input clk;
input in;
output out;
endmodule
아래,이 변수를 설정하는 기본 옵션이 같은
내가 배운 포트 선언해야한다,이 같이 나타납니다 :
module mealy(
input nReset,
input clk,
input in,
output out
);
endmodule
을 가끔, 내가 사용하는 경우 두 번째 방법은 오류를 생성합니다. 두 가지 스타일의 차이점은 무엇입니까?
보조 문제, reg
의 첫 번째 스타일로 출력을 선언 할 때하는 것은 제대로 작동 두 번째 스타일을 사용하는 경우
module mealy(
in,
out
);
output out;
input in;
reg out;
endmodule
을 즉, 그것은 당신이 두 번 선언 할 수 없다는 오류가 발생합니다.
module mealy(
input in,
output out
);
reg out;
endmodule
무엇이 문제입니까? 나는 단지 초심자인데 왜 내가 'reg'를 선언해야하는지 정확히 알지 못한다.
도움을 주신 Morgan에게 감사드립니다. 또 다른 질문은 같은 방식으로 선언 될 수없는 이유입니다. 다른 질문에 대한 코드를 추가했습니다. 한 가지 더 질문에 도움주세요. – dskim
두 가지 질문을했습니다. 두 가지 모두에 대해 오류 메시지를 제공해야합니다. 두 번째 오류는 쉽습니다. 이전 스타일과 새 스타일 선언을 섞어서 사용할 수 없습니다. 첫 번째 오류는 분명하지 않습니다. '가끔'이라고 말하면 오류가 발생합니다. 언제? 오류가 무엇입니까? '밖으로'철사? 'default_nettype'을 어딘가에 설정 했습니까? – EML
@EML 나는 대답이 아니라 질문에 대해 논평하려고 한 것 같아요. 가장 큰 문제는 '차이점은 무엇입니까'라는 오류가 아니라 오류와 관련하여 정확한 도구 오류가 관련성이 없다는 것입니다. – Morgan