no image
[Verilog] 22. UART 제작기 (1)
오늘은 UART를 제작하는 전반적인 과정을 담아보겠습니다.전체적인 Block입니다. DATA가 버스를 통해 병렬로 UART TX로 전달되면 TX에서는 FIFO를 통해서 RX로 전달하고 RX에서는 다시 병렬로 DATA 버스로 저장하는 과정을 담아보겠습니다. input_data_bus더보기`timescale 1ns / 1psmodule data_bus( input CLK, input RST, input [7:0] DIN, output reg DOUT0, output reg DOUT1, output reg DOUT2, output reg DOUT3, output reg DOUT4, output reg DOUT5, output reg DOUT6, out..
2024.07.23
no image
[Verilog] 21. SPI Debugging (2)
https://chanfifo77.tistory.com/86 [Verilog] 20. SPI Debugging(1)발견된 문제점1. 전제 모듈 연결 후, Read 할 때, MISO 값이 간헐적으로 이상하게 나오는 것을 확인.2. Master에서 RX FIFO로 가는 DOUT의 출력 값 이상 확인.3. Master DIN이 값을 가져오는 주기의 이상 확인.chanfifo77.tistory.com저번 포스팅에 이어 작성하겠습니다. 먼저 추가적인 문제점 발견하여 부분 수정 후 다시 Synthesis 진행 예정.1) FIFO RX에서 DOUT이 간헐적으로 출력되는 것을 확인. 발견한 원인WR, RD 신호가 정상적으로 인식되지 않음.1. 읽으려는 신호가 없는데 읽음2. spi.test의 cnt에 따라서 fifo의..
2024.07.22
no image
[Verilog] 20. SPI Debugging(1)
발견된 문제점1. 전제 모듈 연결 후, Read 할 때, MISO 값이 간헐적으로 이상하게 나오는 것을 확인.2. Master에서 RX FIFO로 가는 DOUT의 출력 값 이상 확인.3. Master DIN이 값을 가져오는 주기의 이상 확인.  해결과정 단계적 문제확인1) TX FIFO로부터 가져온 DATA가 MASTER에서 나눈 Phase와 일치하지 않아서 생긴 문제.2) 전체 16-bit 저장용 레지스터 tot_data가 phase 마다 변하면서 정확하지 않은 MOSI값을 출력하고 있었다. spi_master에서 아래코드 추가 및 수정always @ (posedge phase) begin addr  data_reg를 추가해서 들어오는 address와 data를 분리해서 인식하고 8비트마다 최신화..
2024.07.18
no image
[Verilog] 19. AXI Lite(AXI - Light weight)
https://chanfifo77.tistory.com/63 [Verilog] 13. AXI(Advanced eXtensible Interface)AXI (Advanced eXtensible Interface) Master Interface와 Slave Interfacesms R/W 동작으로 연결됩니다. Read Operation 부분은 Write와 다르게 Reponse Channel이 존재하지 않는 모습을 확인 할 수 있습니다. 각각의 Channel은chanfifo77.tistory.com위 AXI 동작을 보고 오셔도 좋습니다.  https://chanfifo77.tistory.com/64 [Verilog] 14. AXI Read / Handshake오늘은 AXI Read 동작과 Handshake 동작..
2024.07.14
no image
[Verilog] 18. SPI Slave + RAM 설계
https://chanfifo77.tistory.com/71 [Verilog] 17. SPI Master 설계SPI 정리 [Verilog] 16. SPI(Serial Peripheral Interface)SPI(Serial Peripheral Interface)는 Controller(Master)와 Peripheral(Slave) 간의 동기식 직렬 데이터 링크를 제공하는 통신버스입니다.Controller(Master) 장치가 CLK 신호를chanfifo77.tistory.com  오늘은 저번 포스팅에 이어 SPI Slave와 RAM 까지 작성해보도록 하겠습니다. SPI Slave module Master→                                                        ..
2024.07.09
no image
[Verilog] 17. SPI Master 설계
SPI 정리 [Verilog] 16. SPI(Serial Peripheral Interface)SPI(Serial Peripheral Interface)는 Controller(Master)와 Peripheral(Slave) 간의 동기식 직렬 데이터 링크를 제공하는 통신버스입니다.Controller(Master) 장치가 CLK 신호를 제공하고 Peripheral(Slave)와 Data를 주고 받습니chanfifo77.tistory.com SPI Diagram 앞단입니다. FSM을 통해 구성할 생각이고, 뒷단은 SPI slave와 RAM으로 구성하겠습니다.먼저 FIFO module 입니다. FIFOFIFO는 하나의 Module로 만들어 놓고 Top Module에서 TX, RX로 나누어 사용할 것입니다.  F..
2024.07.02
no image
[Verilog] 16. SPI(Serial Peripheral Interface)
SPI(Serial Peripheral Interface)는 Controller(Master)와 Peripheral(Slave) 간의 동기식 직렬 데이터 링크를 제공하는 통신버스입니다.Controller(Master) 장치가 CLK 신호를 제공하고 Peripheral(Slave)와 Data를 주고 받습니다. SCLK : CLK를 맞추기 위한 신호선, Controller(Master)에서만 생성.PICO(MOSI): Peripheral In Contoller Out이란 뜻으로, 컨트롤러에서 데이터를 출력하기 위한 신호선. POCI(MISO): Peripheral Out Contoller In이란 뜻으로, 페리페럴에서 데이터를 출력하기 위한 신호선.CS(SS) : Chip Select란 뜻으로, 데이터를 송..
2024.06.27
no image
[Vitis] 1. AXI
https://chanfifo77.tistory.com/63 [Verilog] 13. AXI(Advanced eXtensible Interface)AXI (Advanced eXtensible Interface) Master Interface와 Slave Interfacesms R/W 동작으로 연결됩니다. Read Operation 부분은 Write와 다르게 Reponse Channel이 존재하지 않는 모습을 확인 할 수 있습니다. 각각의 Channel은chanfifo77.tistory.comhttps://chanfifo77.tistory.com/64 [Verilog] 14. AXI Read / Handshake오늘은 AXI Read 동작과 Handshake 동작에 대한 부분을 알아보겠습니다. 먼저 Sim..
2024.06.27
no image
[Verilog] 15. AXI Write
AXI Write Operation Write Operation은 3개의 Channel로 이루어집니다. Handshake의 Source와 Destination이 Read동작과는 반대로 진행됩니다.Write Operation에 대한 순서를 잡아보겠습니다. 1) WADDR을 보내서 DATA 전송을 알립니다.2) WADDR에 대한 Handshake 동작.(AWValid-AWRead)3) WDATA를 보냅니다. 마지막 DATA에는 WLAST신호를 같이 보내 DATA Write가 끝났음을 알립니다.4) WDATA에 대한 Handshake동작.(WValid-WRead)5) BRESP를 보내 DATA 수신에 대해 응답합니다.6) BRESP에 대한 Handshake동작.(BValid-BRead) AXI Write Ma..
2024.06.27