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

b0i4s님의 프로필 이미지
b0i4s

작성한 질문수

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

컴퓨터 구조의 메모리 계층 구조와 Verilog로 SRAM 모델링하기

SRAM 코드 Delay 관련

해결된 질문

작성

·

130

1

SRAM 코드의 경우 posedge에서 memory에 값을 넣는 동시에 ad, din 값을 하나씩 커지게 동작 시키면 기능 합성에는 문제가 되지 않지만, Delay가 적용되면 값이 흐트러 질 수 있는거 아닌가요?
(예를 들면 negedge에 값을 넣어준다던가 해야하는게 아닌가요?)

답변 1

0

네 안녕하세요, 답변 남겨드립니다.
일단 podedge에 동기화시켜 설계가 되었기 때문에 functional 시뮬레이션 관점에서는 말씀대로 문제될 것이 없습니다.
실제로 합성 및 Auto P&R 까지 넘어가게 되면 gate에 대한 propagation delay와 Layout에 의한 RC 기생성분의 delay가 추가될 것입니다. 이에 대해서 클럭의 주기가 예를들어 10ns 즉 100MHz라고 가정해봅시다. 이 때, data path delay가 총 11ns 라면 다음 rising edge에서 잘못된 값을 챌것입니다.
또한 10ns가 넘지 않더라고 setup time 확보가 되어있어야 하므로 9ns에서도 오동작이 일어나서 말씀하신대로 값이 흐트러질 수 있습니다.

말씀하신 관점은 그래서 clk 주기가 data path 딜레이보다 짧지 않다면 일어나지 않을 것입니다. 또한 negedge를 both로 활용하는 것이 DDR에 대한 개념인데, 이것은 DRAM쪽 파트를 들어보시면 이해될것입니다.

또 다른 질문 있으시면 질문 남겨주세요!

b0i4s님의 프로필 이미지
b0i4s
질문자

자세한 설명 감사드립니다. 아직 제가 뒷부분 내용을 보지 못해서 그런 것 같습니다. DRAM 부분까지 학습해서 이해해보록 하겠습니다 감사합니다!

b0i4s님의 프로필 이미지
b0i4s

작성한 질문수

질문하기