적극적 생각/FPGA 104

구매할 것

(학교에서 굴러다니는거 주워오기) (집에 전선박스도 한번 살펴보기. 다 있을수도?) 브레드보드 (조금 더 큰거 사야할수도?) https://www.eleparts.co.kr/goods/view?no=103067 투명 브레드보드 [ELB-320T] 160T*2ea 165x109x9.5mm의 투명 브레드보드 WISH의 WBU-204와 동일 규격의 뛰어난 품질 www.eleparts.co.kr 점퍼선 https://www.eleparts.co.kr/goods/view?no=2730111 BBJ-65 점퍼 와이어(핀 타입)세트 브레드보드 및 핀헤더에 사용 할 수 있는 고급 점퍼 와이어(수량 65개) www.eleparts.co.kr 유에스비(AM-AM, 2.0 and 3.0) https://www.elepart..

0724 - 섹션5 - Data Mover by BRAM (2)

tb의 위치에 대한 참고. 2^12 = 4096 4개의 인터페이스 네이밍 addrX_bX 초기화를 시키는 두가지 방법 (단, 이것은 테스트 벤치이기 때문에 dump 시키는거지 RTL에서는 불가) generate 구문에 대한 확인은 필요 첨부한 두 사진은 같은 HW를 만듬. 단 본 구문에서, 첫번째 데이터는 별도처리 앞부분은 타입, 벡터, 뒷부분은 배열 이 빌드 파일을 통해서 터미널에서 빌드하는 방법 3840 까지 값을 넣어둠 이 부분을 주석처리 했을때와 하지 않았을 때를 두가지 모두 시뮬레이션 해보고 비교 이해 두번째 DIRECT ACCESS 켜면, Dump 시킨다.

FPGA BRAM에 데이터 저장 (2) 주소문제 해결하기 (3)

지난 시간까지를 통해 RAM과 관련된 (1)물리적구조 (2)논리적구조에 대해 어느정도 파악을 했다. 이제부터는 다시 원 궤도로 돌아와서 문제를 해결할 시간이다.(파악이 필요한 개념이 너무 많다.) --- 최소 데이터 단위를 첫주소인 BASE_ADDR에 저장하자. 그리고 그때 그 데이터의 값과 주소를 확인할 수 있는 로깅을 하자. 그리고 최소 데이터 한개부터 최대 데이터까지 확장해보자. --- 16개 write Handshake 발생시점 기준으로 주소정보는 다음과 같음. 0c, 10, 0c, 10, 0c, ... 주소를 이렇게 제어하는것은 어디에서 일어나는 동작인가? 0c(16) = 1100(2) = 12(10) 10(16) = 00010000(2) = 16(10) vivado 말고 vitis에서 비교관찰..

FPGA BRAM에 데이터 저장 (2) 주소문제 해결하기 (2)

Schematic을 통해 Register에 대해 관찰하는 작업은 수행했으니 / C 코드 상에서 과거 버전 이슈 해결에 이용했던 CMake 라던가, BASE_ADDR 포인터라던가 이 부분을 조금 더 자세히 파보도록 하자. 내가 지금 궁금한것은 그래서 내가 사용하는 BRAM의 첫번지와 마지막번지가 어딘가? 라는 점은 잊지 말자. (사실 첫번지 = BASE_ADDR 일 것 같고, BASE_ADDR + 36K 처럼 하면 마지막번지일 것 같기는 하다. 다만, 디테일의 영역일듯) ===== 지금 이 코드에서 이 변수가 어디서 온 얘인지를 판다. XPAR_LAB01_0_BASEADDR //////////////////////////////////////////////////////////////////////////..