반응형

FPGA 7

[ZCU-104] DMA 기본적인 배경

[공부하면서 Notion에 적은 내용 그대로 복붙한 내용이라 미흡할 수 있습니다.] Getting started with ZYNQ Ethernet using the Zybo board - Igor Freire Getting started with ZYNQ Ethernet using the Zybo board - Igor Freire This post shows how to make the ZYNQ Ethernet interface functional using a Zybo board and introduces basic Ethernet concepts that are involved. igorfreire.com.br Understanding the Gigabit Ethernet Controller's D..

[ZCU-104]이미지 파일 전송해서 BRAM에 저장

본 내용은 공부를 하면서 Notion에 작성했던 기록들을 나열한 것 임을 감안하고 봐주면 감사하겠습니다. " 51x51x3 channel 이미지 기준 0.007초 정도 (송신(저장) + 다시 읽기) 소모됨" 현재 대략적으로 구상중인 구조는 이러하다. 이후 Bram에 해당 데이터를 저장 후 PS영역으로 넘겨주어 데이터가 제대로 저장되었는지 확인할 것이다. 입력으로 넣을 이미지이며 size 는 51 x 51이다. (이상하게 BRAM 크기가 부족하다는 오류 발생으로 임의적으로 크기를 줄임) 오류 발생1 모든 indx에 동일한 데이터가 들어가고, BRAM에는 데이터가 저장되지 않고있음. 일단은 index별로 제대로 데이터가 들어가도록 수정이 필요함. https://support.xilinx.com/s/quest..

[ZCU-104] Ethernet Echo 통신을 이용한 원하는 데이터 수신

우선 내가 이번 글에서 사용한 Block diagram이다. 내가 이 동작을 하는데 있어서 모르고 있던 부분은 AXI를 이용하는 방법이었다. 그래서 AXI에 대해서 먼저 알아봐야 했다 AXI란? 두 장치간의 데이터 송수신을 위해서 둘 사이의 handshaking이 필요하다. https://wikidocs.net/135556 02) AXI Architecture [TOC] ## Handshake Process 기본적으로 Source에서 Destination으로 데이터를 잘 전송하려면 둘 간의 핸드쉐이킹이 필요합니다. Destinati… wikidocs.net 다음 사진을 예로 보면, Souce에서 Destination으로 데이터를 보낼때는 VALID & INFORMATION을 주고 반대의 경우 READY ..

[ZCU-104] Ethernet을 연결을 위한 기초적인 세팅

https://digilent.com/reference/programmable-logic/guides/zynq-servers Getting Started with Zynq Servers - Digilent Reference digilent.com 기초적인 Ethernet Block은 이렇게 생겼다. 먼저 여기서 크게 두 블록으로 이루어진 GEM MIO & TI DP8367 IR의 신호를 주고받는 RGMII & MDIO를 살펴보자 - RGMII (Reduced Gigabit Media Independent Interface) https://dokkodai.tistory.com/176 Ethernet PHY(MAC) Interface 종류(MII, RMII, GMII, RGMI) 10/100Mbps 의 이더..

[ZCU 104] 기초적인 연결

정말 간단한 방법인데, 지금껏 zynq7000만 사용하다 zcu104로 넘어와서 기초적인 연결 방법이 달라 docu를 보며 찾은 내용 공유 차 포스팅한다. 먼저 zcu 104 보드는 다음과 같은데, JTAG과 UART를 사용하기 위해서는 저 micro-b cable에 usb를 연결해야 한다. 이건 zynq 7000이랑 다르게 USB 케이블을 통해서 JTAG 연결이 가능하다. 근데, 이때 Switch를 통해서 mode 설정이 가능함 JATG의 경우 모든 switch가 on 상태여야 접근 가능하다. 이렇게 USB 케이블을 연결하면 총 3가지의 port가 나오게 되는데, 아마 UART 0 1 2가 나오는 듯 하다. 최종적으로 연결하는 부분은 동그라미 친 부분 + 이더넷 (9) + 파워 (23) 이렇게 됨 + ..

[그냥 공부]#1 등가 연산자 , 타이밍 제어

등가 연산자 if(a !== b) 다음과 같은 ( !== )연산자를 사용하는 이유는 우리가 if 문을 동작하기 위해 필요한 참 & 거짓 값을 정확하게 얻으려면 논리 결과값이 0 또는 1로 출력되어야 한다. 하지만, if( a != b ) 와 같은 연산자를 이용하면 a 와 b 가 x or z 의 값을 지녔을 시 논리 결과값이 X 로 출력이 되어 버그가 생긴다. 타이밍 제어 always @( posedge clock or posedge reset) 와 같은 코드에서 or 연산자 대신 , (콤마) 도 사용 가능하다. 이는 clock 신호가 상승 클럭이거나 reset 신호가 상승일 때 동작함을 이야기한다. 여기서 @ 는 사건 제어를 지정하는 데 사용된다. @ (clock) q = d; // q=d 는 신호 클럭..

공부/Verilog 2022.03.01
728x90
반응형