inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)

BRAM은 어떻게 합성되나요?

해결된 질문

578

Kmmmdq

작성한 질문수 6

1

module true_sync_dpbram (

clk,

addr0,

ce0,

we0,

q0,

d0,

addr1,

ce1,

we1,

q1,

d1

);

parameter DWIDTH = 16;

parameter AWIDTH = 12;

parameter MEM_SIZE = 3840;

input clk;

input[AWIDTH-1:0] addr0;

input ce0;

input we0;

output reg[DWIDTH-1:0] q0;

input[DWIDTH-1:0] d0;

input[AWIDTH-1:0] addr1;

input ce1;

input we1;

output reg[DWIDTH-1:0] q1;

input[DWIDTH-1:0] d1;

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

always @(posedge clk)

begin

if (ce0) begin

if (we0)

ram[addr0] <= d0;

else

q0 <= ram[addr0];

end

end

always @(posedge clk)

begin

if (ce1) begin

if (we1)

ram[addr1] <= d1;

else

q1 <= ram[addr1];

end

end

endmodule

 

저기서 시스템이 BRAM을 사용한다는 걸 어떻게 인식할 수 있나요?

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

이 한문장이 없으면 BRAM을 사용하지 않게 되나요?

아니면 단순히 코드 구성을 보고 자동으로 BRAM이 있다고 판단하여 합성해주나요?

fpga 임베디드

답변 1

0

설계독학맛비

안녕하세요 :)

저 코드는 Xilinx tool 에서 만들어준 코드입니다.

tool 의 정확한 동작원리는 저도 잘 모르겠어요.

예상해본다면, (정확하지 않습니다.)

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

위 라인이 없으면 BRAM 으로 사용하지 못할 것 같습니다.

해봐야 알 것 같은데, 그 부분은 질문자님께서 하실 수 있는 내용이라 판단이 되네요.

직접 해보시면 답이 되실 것 같아요.

즐공하세요 :)

UART0, 1 중 선택

1

58

2

datamoverbram모듈질문

1

66

2

vitis 설치엣 alveo kria versal 등 옵션을 끄고 설치를 했습니다.

1

101

2

vitis 설치 관련 질문 있습니다!

1

87

2

FPGA 공식문서 읽는법

1

99

2

보드 추가의 클릭창이 없습니다.

1

72

2

Edit in IP Packager에서 코드 수정 후 IP 수정하면 simulation에서 수정된 코드로 작동이 안됩니다

1

83

2

BRAM의 Read / Write를 다 수행했는지 확인할 때 사용되는 num_cnt / i_num_cnt 관련 질문

1

108

1

Vitis 코드 작성

1

130

2

vivado 및 vitis 리눅스 환경 설치 관련 질문드립니다.

1

295

3

[9장 led 점등 시간 제어 불가]

1

83

2

Platform Invalid 오류

1

153

3

WSL 설치 관련 문의드립니다!!

1

98

2

Vivado 툴, 파일 질문드립니다!

1

157

2

9장 LED 점등 안됨

1

113

3

Edit in IP Packager 이후에

1

88

1

Fpga 로직

1

92

2

pmu-fw is not running

1

128

2

Create Project에 대해서 궁금해요

1

91

2

장치관리자 USB 포트

1

102

2

FPGA 7장 AXI_LITE I/F질문

1

91

1

bram mover에서 합성할때

1

80

2

타이밍 위반 질문

1

81

2

rvalid 초기화

1

68

2