인프런 커뮤니티 질문&답변

ctt9832님의 프로필 이미지
ctt9832

작성한 질문수

디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기

[과제1] Wrapper를 활용하여 Simulation vs. FPGA vs. ASIC 각각의 모델 설계하기

Wrapper 사용하는 이유에 대해 궁금합니다.

해결된 질문

작성

·

116

1

모듈을 따로 작성하고 따로 인스턴스화 하는 대신 Wrapper을 사용하는 이유는 합성/검증 과정에서 중간에 있는 인스턴스화 코드 부분을 수정하기보다는 맨 윗줄을 `define 부분만 수정하는 것(parameter와 유사한 이유)이 편리해서인가요?

답변 1

1

네 안녕하세요, 답변 남겨드립니다.

말씀하신것도 맞습니다.

Wrapper를 사용하는 이유는 여러 가지가 있지만, 주로 다음과 같은 이유들 때문입니다:

1. 코드의 간결성: Wrapper를 사용하면 인스턴스화 코드가 분리되어 있어, 코드의 가독성이 높아집니다. 이를 통해 복잡한 객체 생성 과정을 간단하게 관리할 수 있습니다.

2. 유지보수 용이성: Wrapper를 통해 인스턴스화 관련 코드를 한 곳에서 관리할 수 있으므로, 나중에 수정이 필요할 때 해당 Wrapper의 정의 부분만 수정하면 됩니다. 이는 코드의 다른 부분에 영향을 주지 않고도 변경할 수 있게 해줍니다.

3. 재사용성: Wrapper를 사용하면 동일한 인스턴스를 여러 곳에서 재사용할 수 있습니다. 이를 통해 코드 중복을 줄이고, 일관성을 유지할 수 있습니다.

4. 의존성 관리: Wrapper를 통해 의존성을 명확하게 관리할 수 있습니다. 필요한 의존성을 Wrapper에서 정의하고, 이를 통해 인스턴스를 생성하면, 의존성 변경 시 Wrapper만 수정하면 되므로 관리가 용이합니다.

5. 테스트 용이성: Wrapper를 사용하면 테스트할 때 Mock 객체를 쉽게 주입할 수 있어, 단위 테스트를 수행하기가 더 수월해집니다.

결론적으로, Wrapper를 사용하면 코드의 유지보수성과 가독성을 높이고, 의존성 관리와 테스트를 용이하게 할 수 있습니다.



ctt9832님의 프로필 이미지
ctt9832

작성한 질문수

질문하기