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

포도시럽님의 프로필 이미지
포도시럽

작성한 질문수

Verilog FPGA Program 3 (DDR Controller, Arty A7-35T)

User Interface Logic 구현 - 25

Memory Address 구현 질문

작성

·

194

0

안녕하세요. 강의 잘 보고 있습니다.

궁금한 점이 생겨서 질문 드립니다.

 

저는 ALINX사에서 만든 보드를 사용하고 있습니다. FPGA는 xc7a35t이고, ddr은 MT41K256M16HA-125입니다. 4Gb짜리 ddr3가 2개 달려있어서 총 8Gb의 메모리를 가지고 있습니다.

 

강의 내용을 토대로 제가 사용하는 보드의 ddr address를 분석해보았을 때 이렇게 계산 하는게 맞는지 궁금합니다.

 

  • 보드에 장착된 메모리의 총량 은 8Gb. 메모리의 데이터 버스는 16 x 2 = 32 bits

따라서 Address 당 data width는 32bits. 계산 상으로 Address는 28bits면 된다(2^28 x 32 = 8Gb)

Address영역은 0x0000_0000부터 0xffff_ffff( x 32bits) 이다.

 

라고 계산했는데 이렇게 계산하는게 맞는지 궁금합니다!

답변 1

0

alex님의 프로필 이미지
alex
지식공유자

계산하신 수식이 맞는 것 같습니다.


강의에서 설명된 것은 16 bits 기준으로 아래와 같습니다.
각 address당 16 bits 씩 access를 합니다.
4장 simulation을 보면 (43 page),
0xa00 -> 128 bits access, 8 address x 16 bits
0xa08 -> 128 bits access, 8 address x 16 bits
입니다.

따라서 data width를 32로 설정하면 각 address당 32 bits씩 access 하게 됩니다.
강의 43 page 내용에 적용해 보면,
0xa00 -> 128 bits access, 4 address x 32 bits
0xa04 -> 128 bits access, 4 address x 32 bits
이렇게 될 것 같습니다.

Memory IP를 32btis로 생성하고 simulation으로 결과를 확인해 보시길 바랍니다.
감사합니다 ~!!

 

포도시럽님의 프로필 이미지
포도시럽

작성한 질문수

질문하기