[과제2] Wrapper 관련 질문입니다.
자료 공유해주신 wrapper verilog 코드와 강의 마지막 RTL 합성 결과에서 din[31:0] 이 din[7:0]으로 instantiation 되어있는데 input 크기가 달라서 문제가 되는 것 아닌지 문의 드립니다.
module 이름의 64x8로 미루어 볼 때, 과제는 WIDTH=64, DEPTH=8을 가지는 SRAM을 구현하는 것으로 보이는데 그렇다면 공유해주신 코드
`ifdef SIM
sram_model #(64, 8) u_sram (clk, cs, we, ad, din, dout);
에서 파라미터를 넘겨주는 값이 (64, 8)이 아니고 (8, 64)가 맞는 것이 아닌지 해서 질문드립니다. 감사합니다.
답변 2
1
안녕하세요, 답변 남겨드립니다.
“합성 결과 din[31:0] → din[7:0]으로 instantiation 된다”라는 것은, 상위 모듈 관점에서 32비트 신호를 넘겼지만 실제 인스턴스 내부는 8비트만 사용하고 있어서, 나머지 24비트(din[31:8])가 무시되었기 때문입니다.
즉,
Wrapper 선언부가
parameter WIDTH=32→ 포트에서din[31:0]내부 인스턴스는
#(64,8)→ 폭이 8비트따라서 내부에서
din[7:0]만 유효합성기 리포트엔 “상위 32비트 중 8비트만 매핑됨”이라고 표시
이렇게 된 것입니다.
의도에 따라 “(Depth=8, Width=64)”를 의도했다면, 즉 “8개의 주소 × 64비트”가 필요하면 sram_model #(8,64)로 사용해야 하고, Wrapper 및 상위 설계도 모두 그에 맞춰 수정해야 합니다. 반대로 “64개의 주소 × 8비트”가 맞다면 sram_model #(64,8)을 사용하면 됩니다.
즉, “64×8”이 ‘64비트 × 8워드’가 아니라, ‘64워드 × 8비트’임에 주의해서 작성하신 코드와 과제 요구사항을 맞추시면 됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. 장재혁님.
질문 주신 내용은 Verilog 코드에서의 파라미터 명칭과 그에 따른 데이터 버스 크기에 관한 것입니다. 일반적으로 SRAM 등의 메모리 모듈을 만들 때, WIDTH와 DEPTH는 메모리 설계 시 중요한 요소입니다. 각각의 값이 잘못되면 올바른 데이터 처리가 이루어지지 않을 수 있습니다.
파라미터의 정의 및 의미:
WIDTH는 메모리 셀 당 데이터 비트 수를 의미합니다. 예를 들어,WIDTH=64는 하나의 메모리 셀이 64비트 데이터를 저장할 수 있음을 나타냅니다.
DEPTH는 메모리 셀의 개수를 나타냅니다.DEPTH=8은 8개의 메모리 셀을 나타내며, 이는 총 저장 가능한 데이터 블록의 수를 의미합니다.
RTL 합성과 코드에서의 파라미터 사용:
- 질문하신 내용에서
sram_model #(64, 8)의 경우, 제대로 정의되었다면WIDTH=64,DEPTH=8이 맞습니다. 만약 의도와 달리 사용하셨다면, 실제sram_model내부 구현에서의 비트 너비와 인덱스가 엇갈릴 수 있습니다.
- Verilog에서는 일반적인 방법으로 모듈을 정의할 때 포트 매칭에 신경을 써야 합니다. 특히
instantiation하는 과정에서 정확한 파라미터와 포트 매칭이 중요합니다.
- 질문하신 내용에서
다음은 유사한 주제를 다룬 게시글이니 참고하시면 도움이 될 것입니다:
- Digital IP 설계과제 관련 정리
질문자님이 지적하신 것처럼 코드 내의 파라미터와 포트 정의가 체계적으로 이루어졌는지 여러 번 교차 확인해 보시는 것이 좋습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
강의 만료일 연장 신청
0
33
2
강의자료 pdf파일
0
89
2
수강기간변경
0
75
2
프로그램 종류
0
90
1
안녕하세요 강의 도중 궁금한 점 있어서 질문드립니다!
0
87
1
수강기간 변경관련
0
65
2
수강기간 만료
0
72
2
수강 연장 문의
0
71
2
I2C SCL_Synched, SDA_Synched 질문
0
84
1
no data path질문
0
102
3
SRAM 강의 modelsim 시뮬레이션에서 inner 메모리를 Objects 리스트에서 찾으려고 하는데 안보입니다.
0
89
2
DataMem 스펙 질문
0
54
1
Hamming Code 질문
0
66
1
W_CRC 값 질문하기
0
60
1
Precharge에 대한 질문
0
167
1
tpsram spec 질문
0
64
2
학습 관련 질문 있습니다!
0
88
2
[과제7] AXI 통신 프로토콜 설계하기 문의드립니다
0
94
2
SRAM 강의 TB 작성 후 waveform 확인시에 dout이 모두 don't care 처리 관련 질문드립니다.
0
105
5
SRAM Interface Behavior(Diagram) 질문
0
133
3
vivado와 quartus 프로그램의 systhesis 결과 차이에 대해 궁금한 점 있습니다
0
185
2
tool 질문
0
92
2
CDC 메타스태빌리티 질문
0
66
1
SRAM module RTL viewer 이상
0
97
2





