inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

HLS에서 자동생성했던 DPBRAM이라는 게 어떤걸까요?

해결된 질문

527

jlo1998

작성한 질문수 4

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요 맛비님!

20장 강의에서 HLS에서 자동생성했던 synchronized True DPBRAM을 가져왔다고 말하셨습니다. 제 vivado에서는 따로 HLS에서 메모리를 생성했던 적이 없는데 그래도 simulation이 잘 돌아갑니다. HLS에서 메모리를 생성하는 과정이 따로 없어도 상관없나요? 

두번째로는, verilog 코드를 fpga에 올리려고 할때, 

(* ram_style = "block" *)reg [DWIDTH-1:0] ram[0:MEM_SIZE-1];

이 문구가 있으면 자동으로 fpga의 BRAM과 verilog 코드가 연결되어서 BRAM이 사용되는건가요? 아니라면 fpga의 메모리와 연결 가능한 방법은 fpga 강의에 나오나요?(아직 듣지는 않았지만, 구매해놓은 상태라서요..ㅎㅎ) 

두가지가 궁금해서 문의 남깁니다. 

감사합니다 :)

 

임베디드 fpga verilog-hdl

답변 1

1

설계독학맛비

안녕하세요 :)

20장 강의에서 HLS에서 자동생성했던 synchronized True DPBRAM을 가져왔다고 말하셨습니다. 제 vivado에서는 따로 HLS에서 메모리를 생성했던 적이 없는데 그래도 simulation이 잘 돌아갑니다. HLS에서 메모리를 생성하는 과정이 따로 없어도 상관없나요? 

HLS 를 통해서 만든 DPBRAM.v 코드를 드렸습니다. 즉, 질문자님께서는 별도로 메모리를 생성하는 과정이 필요없어요. 드린거를 사용하시면 돼요 :)

Parameter 화를 해놔서, 필요한 Depth , Width, AddrWidth 를 명시해서 자유롭게 사용하시면 됩니다. 

두번째로는, verilog 코드를 fpga에 올리려고 할때, 

(* ram_style = "block" *)reg [DWIDTH-1:0] ram[0:MEM_SIZE-1];

이 문구가 있으면 자동으로 fpga의 BRAM과 verilog 코드가 연결되어서 BRAM이 사용되는건가요? 아니라면 fpga의 메모리와 연결 가능한 방법은 fpga 강의에 나오나요?(아직 듣지는 않았지만, 구매해놓은 상태라서요..ㅎㅎ) 

ram_style = "block" 이라는 attribute 를 Vivado 에서 BRAM 으로 인식합니다. 

제가 제공해드린 bram 코드는 수정 없이 FPGA 에서 적극 사용합니다. (즉, simulation 도 되고, Synthesis 도 가능함)

즐공하세요 :)

latency 개념 구현

1

124

3

비바도 all os버전

1

89

2

초기화를 reset_n 이 '1'일 때가 아닌 '0' 일 때 실행시키는 이유 질문

1

97

2

다운로드용량

1

82

2

비바도리눅스설치

1

95

2

전체path복사넣기

1

71

2

Vivado 2025.2 리눅스 설치 후 실행 에러와 솔루션 (libxv_commontasks.so)

1

171

2

explorer.exe오류

1

119

3

mobaxterm설치오류

1

100

2

./build시, waveform 'divide color' 사용

1

60

2

Latch와 관련하여 (Time borrowing, Latch-based design)

1

143

2

clean 명령어가 안되는데, 따로 저장해줘야 하는지 궁금합니다.

0

71

1

안녕하세요 설치 관련 질문 드립니다.

1

69

3

16장 mealy 설계.

1

78

2

14장 Cycle 관련, Testbench 코드.

1

72

2

21강(16장) 초기값 설정이 적용되는 시점 질문

1

68

1

20강(15장) - 밀리 머신 관련하여 질문 드립니다.

1

76

2

build에러 질문

0

63

2

1장 ./build에서 에러가 나요

1

82

2

FPGA 강의 보드 문의 드립니다.

1

114

2

5장 DFF특성에 대한 질문

1

86

3

vivado linux 사용 이유.

1

148

2

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

1

112

2

디스코드 멤버쉽 등업 관련 문제

1

96

2