BRAM(Block RAM)
https://goodlman.tistory.com/entry/Block-RAM-in-FPGA
- 기본적으로 FPGA안에 필요한 data를 저장하는 공간으로 볼 수 있다.
- Memory의 용량은 Width와 Depth로 계산하게 되는데 Width는 몇 바이트 크기인지, Depth는 배열 원소의 갯수를
의미한다고 보면 될 것 같다. 즉 Width는 각각의 원소의 크기를 나타내고 Depth는 배열의 크기를 의미하게 된다.
- FPGA안에 램구조를 가진 블럭이라는 의미
- 하나의 블럭램 용량은 18KBits
Single Port BRAM은 하나의 포트만을 사용하는 BRAM이다.
RAM을 설계하는 과정은 아래 링크를 들어가 참고해보자.
아래와 같은 형태로 이루어져 있는데
아래 이미지는 Single Port이므로 포트 A만을 사용한다.
Wr En신호가 들어가게 되면 Write이 가능해지고
읽기모드만을 사용하고자 한다면 off하거나 GND에 위치시키면 된다.
Addr은 읽고 쓸 Data의 위치를 저장하게 되고
Wr/Rd Data는 읽고 쓸 데이터 정보를 나타낸다.
RAM의 Width 와 Depth의 크기에 따라 Address버스와 Data버스의 신호 갯수가 정해지게 된다.
아래는 Dual Port BRAM을 도식화한 것이다.
이 경우 동시에 같은 addr에 write할 수 없다.
FIFO FRAM은 Write/Read side로 나뉘어지고 Full/Empty flag가 있어 memory안의 Data Capacity를 알려준다.
'FPGA > Verilog 공부' 카테고리의 다른 글
VIVADO 사용법(완전 기초) (2) | 2020.12.29 |
---|---|
Verilog를 통한 MUX회로 구현 (0) | 2020.12.29 |
Verilog를 사용하여 Disparity Map 생성_(1) (0) | 2020.08.28 |
OV7670 카메라 영상 출력 (0) | 2020.07.28 |
Verilog를 이용한 Pulse 출력 확인 (0) | 2020.07.19 |