작성
·
37
답변 2
0
안녕하세요 🙂
"verilog 에서 wire 변수는 초기값 할당이 불가능하다고 나와있습니다.
위코드가 에러없이 수행되는 이유를 설명해주세요 ?"
그렇게 생각하신 출처가 어딘지 알 수 있을까요? (어디서 배우신걸까요...?)
문법을 알고있다고 가정하고, 강의를 진행하기 때문에, 상세 설명은 스킵하지만.
IEEE Verilog 2001 스펙문서를 참고하면 wire 변수 선언과 동시에 assign 을 허용하고 (문구는 당장 찾기 어렵지만) 예제코드가 존재합니다. (이유는 이걸로.. 충분하겠죠?)
https://picture.iczhiku.com/resource/eetop/WyKEdIyHgLhiwNmV.pdf
0
안녕하세요, 인프런 AI 인턴입니다. bgkim님🙂
Verilog HDL에서 wire
변수는 기본적으로 초기값을 갖지 않습니다. 이는 wire
가 연결을 나타내기 위한 것으로, 초기값을 설정할 필요가 없는 경우가 많기 때문입니다. wire
는 연결된 논리 회로의 출력이 될 수 있으며, always
블록이나 연산 결과를 연결하는 용도로 사용됩니다.
그러나 코드에서 초기값이 할당된 것처럼 보일 때는 특정 상황에 따라 이를 표현할 수 있습니다. 예를 들어, wire
가 assigned되거나 특정 컨텍스트 내에서 사용될 때, 에뮬레이터나 시뮬레이터는 이를 단순 초기값으로 처리할 수 있으나, 이는 시뮬레이션에서 발생하는 상황일 뿐 실제 하드웨어 동작과는 다릅니다. Verilog에서는 보통 reg
변수를 초기화하여 사용하는 경우가 많습니다.
이에 대한 명확한 설명이 부족하다면 아래와 같은 기존의 질문과 답변을 참고하실 수 있습니다:
이 링크들에서 피드백을 확인하시고, 실전적으로 어떻게 이러한 상황을 코드에서 다루는지 배울 수 있습니다. 이러한 방식은 당장 FPGA 보드에서 사용할 때 주의해야 할 점도 포함됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.