23.12.01 15:09 작성
·
186
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
2023. 12. 01. 17:06
계산하신 수식이 맞는 것 같습니다.
강의에서 설명된 것은 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으로 결과를 확인해 보시길 바랍니다.
감사합니다 ~!!