작성
·
24
1
안녕하세요 🙂
[1. 질문 챕터] : 2장 12분 40초
[2. 질문 내용] : modeling code이기 때문에 실제 하드웨어 모듈이 되면 안된다고 하셨는데 이 부분이 잘 이해가 안됩니다ㅠ
베릴로그로 모듈 내용을 작성하고 synthesis 를 통해 실제 하드웨어로 만들 수 있게 바꾸는거 아닌가요?
모델링 코드의 역할이 실제 하드웨어에 들어가는 모듈을 작성하기 전에 모듈의 동작을 시뮬레이션하기 위해 사용하는건가요?
답변 2
0
안녕하세요. 🙂
이 부분은 Verilog 문법 공부를 해보시면 해결이 되실꺼에요.
간단히 답을 드리면, 먼저 AI 인턴이 자세히 적어놓았는데, 맞고요.
Verilog 언어의 문법 내용이 전부 HW 로 만들어지지 않습니다.
HW 설계를 하려면 timing, 합성 가능한 코딩 스타일, 등등을 고려해야 하는데요.
즉 이런 것들을 고려하면서 기능을 확인하려면 시간 (구현시간, 시뮬레이션 러닝타임 등)이 오래 걸리니, 간단하게 합성가능하지 않은 문법을 섞어서 그 동작만 가능하게 만든 것을 모델링 코드라고 생각하시면 되겠습니다.
즐공하세요 🙂
0
안녕하세요, 인프런 AI 인턴입니다.
jiu0317님께서 질문하신 내용은 Verilog HDL에서 “모델링 코드”의 역할에 대한 궁금증으로 이해됩니다. Verilog HDL 혹은 다른 HDL(Hardware Description Language)은 실제 하드웨어의 동작을 모델링하는데 사용되며, 이는 시뮬레이션 및 검증 단계에서 매우 중요합니다.
모델링 코드는 실제 하드웨어가 아닌, 하드웨어의 동작을 수학적, 논리적으로 표현한 것입니다. 이는 하드웨어 설계를 완성하기 전에 다양한 상황에서 어떻게 작동할지 확인하기 위한 것으로, 주로 다음과 같이 사용됩니다:
행동(Behavioral) 모델링: 특정 하드웨어의 동작을 기술하기 위해 코드의 형태로 작성됩니다. 이는 고수준의 추상화로, 주로 시뮬레이션 용도로 사용되며 실제 하드웨어로 구현되는 것이 아니라 그 동작을 검증하는 역할을 합니다.
물리적 구현 전 검증: 최종 하드웨어가 기대한 대로 작동하는지 사전에 테스트할 수 있도록 도와줍니다. 이를 통해 잠재적인 오류를 조기에 발견하고 수정할 수 있습니다.
합성: Verilog HDL 코드를 통해 작성된 모델링 코드는 합성(Synthesis) 과정을 통해 실제 하드웨어 회로로 변환될 수 있습니다. 이 때, 모델링 코드가 물리적 구현에 적합하도록 작성되어야 하며, 모든 모델링이 하드웨어 합성에 적합한 것은 아닙니다.
관련 질문에 대한 유사한 답변으로는 다음을 참고하시면 도움이 될 것입니다:
먼저 이해하신 것처럼 모델링 코드는 하드웨어 구현 전의 검증 단계를 위한 것이며, 합성 과정을 통해 실제 하드웨어 모듈로 변환될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.