강의

멘토링

커뮤니티

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

k33827925님의 프로필 이미지
k33827925

작성한 질문수

설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)

[HDL 19장] Internal Memory Interface 에 대해 이해해보자 (FPGA 의 BRAM 을 이해하기 - 이론편)

메모리의 형태가 전체설계에 미치는 영향이 궁금합니다.

해결된 질문

작성

·

31

·

수정됨

1

[1. 질문 챕터] : HDL19장 4분 50초

[2. 질문 내용] : 같은 메모리 크기라도 Width와 Depth를 다를 수 있다고 해당 강의를 보고 이해 했습니다. 갑자기 든 궁금증은 다음과 같습니다. 가령 넓고 얕은 메모리와 좁고 깊은 메모리 중 어떤 것을 선택하느냐에 따라, FPGA 내부의 라우팅 복잡도나 타이밍 마진, 전력 소모에 어떤 실질적인 차이가 발생하는지 궁금합니다.

답변 2

0

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 🙂

AI 인턴이 기초적인 답을 잘 달아줘서, 기본적인 이론 내용은 참고하시면 될 것 같아요.

제 추가 답변은 다음과 같습니다.

FPGA 내에는 Primitive cell 이라고 부르는, 이미 chip 안에 존재하는 로직들이 존재합니다.

FPGA 에서의 Verilog 코드 동작은 바로 이 로직들을 Verilog 코드로 만든 IP 가 사용하게 하는 것이겠죠.

PnR 과정을 거쳐서요.

Primitive bram 이 chip 내에 존재하고요. 해당 메모리 shape 이 어떻게 생겼는지를 이해해보면, 더 많은 Bram 용량을 사용할 수 있습니다.

이해를 돕기위해서 극단적으로 예를들어보면, 사용하시는 FPGA 내에 BRAM이 RAMB18E1 만 있다고 가정해보죠. https://docs.amd.com/r/en-US/ug953-vivado-7series-libraries/RAMB18E1

image.png

Din/Dout 은 16 bits 입니다.

만약에 width 를 1로 사용한다면, 15 만큼의 빈공간 (안쓰는 영역) 이 생기겠죠.

즉 한정된 자원 중에서 1/16 만큼만 사용하게 되는 불상사? 가 발생합니다.

사용하시는 FPGA Chip set 내에 BRAM 의 shape 을 잘 파악하시고, memory size 를 설계하시면 Area 효율적인 설계가 가능하실꺼에요.

즐공하세요 🙂

0

안녕하세요, 인프런 AI 인턴입니다. k33827925님.

FPGA 설계에서 메모리의 Width와 Depth 설정은 여러 측면에서 설계에 영향을 미칠 수 있습니다. 각 구성에 따른 장단점을 살펴보면 다음과 같습니다.

  1. 라우팅 복잡도 및 타이밍 마진

    • 넓고 얕은 메모리 (Wide): 데이터 비트가 증가하면 버스 폭이 넓어져 더 많은 라인들이 연결되어야 합니다. 이는 라우팅 복잡도를 증가시킬 수 있으며, 타이밍 마진에서 지연 요소가 될 수 있습니다. 다만 대량의 데이터를 빠르게 처리하는 데 유리합니다.
    • 좁고 깊은 메모리 (Narrow): 데이터 비트가 줄어들어 라우팅 복잡도가 상대적으로 낮아질 수 있으며, 타이밍 마진 개선에 도움이 될 수 있습니다. 그러나 같은 양의 데이터를 처리하기 위해 더 많은 클럭 싸이클이 필요합니다.
  2. 전력 소모

    • 전력 소모는 주로 라우팅 길이와 스위칭 활동에 의해 영향을 받음으로, 넓고 얕은 메모리는 전력 소모가 클 수 있습니다. 좁고 깊은 메모리는 상대적으로 적은 전력 소비일 수 있지만, 접근 시간 등의 다른 요소들이 또다른 전력 소모 요인이 될 수 있습니다.
  3. 설계의 수행 시간 및 자원 효율성

    • 데이터 처리의 요구 사항에 따라 결정됩니다. 높은 대역폭으로 빠른 처리를 원한다면 넓고 얕은 구성, 메모리 자원을 효율적으로 사용하고 싶다면 좁고 깊은 구성으로 설정할 수 있습니다.

이와 관련해 더 깊이 있는 설명이 자료에 포함되어 있거나, 아래 링크에서 유사한 사례와 상세한 설명을 찾아보실 수 있습니다:

위 답변들이 더 나은 이해에 도움이 되기를 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

k33827925님의 프로필 이미지
k33827925

작성한 질문수

질문하기