inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

해결된 질문

383

ctt9832

작성한 질문수 2

1

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

컴퓨터-구조 verilog-hdl fpga 임베디드 amba

답변 1

1

회로설계 멘토 삼코치

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

말씀하신것도 맞습니다.

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

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

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

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

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

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

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



강의 만료일 연장 신청

0

39

2

강의자료 pdf파일

0

90

2

수강기간변경

0

75

2

프로그램 종류

0

90

1

안녕하세요 강의 도중 궁금한 점 있어서 질문드립니다!

0

87

1

수강기간 변경관련

0

65

2

수강기간 만료

0

72

2

수강 연장 문의

0

72

2

I2C SCL_Synched, SDA_Synched 질문

0

84

1

no data path질문

0

104

3

SRAM 강의 modelsim 시뮬레이션에서 inner 메모리를 Objects 리스트에서 찾으려고 하는데 안보입니다.

0

89

2

DataMem 스펙 질문

0

54

1

Hamming Code 질문

0

67

1

W_CRC 값 질문하기

0

60

1

Precharge에 대한 질문

0

168

1

tpsram spec 질문

0

65

2

학습 관련 질문 있습니다!

0

88

2

[과제7] AXI 통신 프로토콜 설계하기 문의드립니다

0

94

2

SRAM 강의 TB 작성 후 waveform 확인시에 dout이 모두 don't care 처리 관련 질문드립니다.

0

106

5

SRAM Interface Behavior(Diagram) 질문

0

135

3

vivado와 quartus 프로그램의 systhesis 결과 차이에 대해 궁금한 점 있습니다

0

187

2

tool 질문

0

96

2

CDC 메타스태빌리티 질문

0

70

1

SRAM module RTL viewer 이상

0

100

2