no image
[Verilog] 13. AXI(Advanced eXtensible Interface)
AXI (Advanced eXtensible Interface) Master Interface와 Slave Interfacesms R/W 동작으로 연결됩니다. Read Operation 부분은 Write와 다르게 Reponse Channel이 존재하지 않는 모습을 확인 할 수 있습니다. 각각의 Channel은 독립적으로 동작합니다. Master입장에서는 Slave가 값을 정상적으로 전달 받았는지 확인하기가 어렵습니다. 그렇기 때문에 Write Response Channel을 활용하여, Data 잘 전달되었는지 확인하는 동작이 필요합니다. Read 에서는 Write와 다르게 Response Channel이 존재하지 않습니다. 왜 그럴까요? ※ Slave에서 Data를 읽어올 때, 더 이상 읽을 Data가 ..
2024.06.25
no image
[Vitis] 0. Preview(Hello World)
https://github.com/Xilinx/XilinxBoardStore GitHub - Xilinx/XilinxBoardStoreContribute to Xilinx/XilinxBoardStore development by creating an account on GitHub.github.com위 링크를 들어가서 Code > Download Zip으로 파일을 다운로드 받아줍니다. 다운로드 된 파일을 압축 해제 한 후, Board에서 원하는 Device를 선택합니다. 저는 Digilent의 Cora-Z7-07s를 선택했습니다. 해당 폴더를 선택 후C:\Xilinx\Vivado\2023.2\data\xhub\boards\XilinxBoardStore\boards위의 위치에 붙여넣기 해줍니다. Vivad..
2024.06.24
no image
[Virtuoso] Cadence Full Custom IC Design(One Chip Design)
Cadence Full Custom IC Design
2024.06.24
no image
[Virtuoso] One Chip Layout 설계(4)
전 포스팅 [Virtuoso] One Chip Layout 설계(3)전 포스팅 [Virtuoso] One Chip Layout 설계(2)[Virtuoso] One Chip Layout 설계(1)이제 지금까지 만들어둔 MUX들과 Gate를 모두 종합하는 One Chip 설계과정을 담아보려 합니다. One Chip Peripheral Layout PAD Layout은 Metal1chanfifo77.tistory.comDPRAM [Virtuoso] DPRAM(Dual Port SRAM)DPRAM(Dual Port SRAM)  DPRAM이 기존의 RAM과 다른점은 두 가지 분류로 나누어 생각 해 볼수 있습니다. 1. 기능성 1) Simultaneous Access(동시 엑세스) :두 개의 장치 또는 프로세서가 ..
2024.06.17
no image
[Virtuoso] DPRAM(Dual Port SRAM)
DPRAM(Dual Port SRAM)  DPRAM이 기존의 RAM과 다른점은 두 가지 분류로 나누어 생각 해 볼수 있습니다. 1. 기능성 1) Simultaneous Access(동시 엑세스) :두 개의 장치 또는 프로세서가 두 개의 독립적인 포트를 통해 메모리에서 동시에 읽거나 쓸 수 있습니다. 2) Data Buffering(데이터 버퍼링) :시스템 간 원활한 데이터 전송을 위해 데이터를 일시적으로 저장하고 관리합니다. 3) Synchronous / Asynchronous Mode(동기식/비동기식 모드) :동기식(동일한 클럭 신호) 및 비동기식(다른 클럭 신호) 작업을 모두 지원합니다. 4) Automatic Conflict Resolution(자동 충돌 해결) :두 포트가 동시에 동일한 주소에 액..
2024.06.17
no image
[Verilog] Vivado Setting [Dark Theme(Vivado 다크모드)]
Vivado 다크모드 설정 방법은 두 가지가 있습니다.1. 타인이 만든 Theme 사용2. Vivado 내에서 변경하기 타인이 만든 Theme을 사용하는 과정도 복잡하고 잘 적용되지 않아서 까다롭지만 저는 직접 변경하여 사용하고 있습니다. 1.  Dracula Theme https://draculatheme.com/vivado VivadoThe most famous dark theme for Vivado and an ever-growing selection of apps! 🦇draculatheme.com위 링크를 따라가시면 다른 분이 Dracula Theme으로 만들어 둔 File을 배포중입니다.하지만 적용이 잘 안돼서 저는 직접 적용하는 방식을 사용 중입니다.  2. User Setting Text ..
2024.06.10
no image
[Verilog] 12. UART(3) TX
TX TX Block 부분은 Parallel로 받은 Data를 다시 Serial로 변경시켜서 출력하는 Block입니다.저번에 제작한 FIFO Block에서 나온 Output을 받아 TX를 제작하겠습니다.TX에서도 상태 변화를 FSM(Finite State Machine)을 사용하여 구현하겠습니다.uart_tx.v code`timescale 1ns / 1psmodule uart_tx( input [7:0] DATA, // output from the FIFO input START, // ~Empty signal from FIFO input RST, input CLK, output reg TXD ..
2024.06.10
no image
[Verilog] 11. UART(2)
UART (Synthesis the FIFO module) 저번 포스팅에서 작성한 FIFO를 불러와 기존 UART 코드에 합성합니다.uart_top.v`timescale 1ns / 1psmodule uart_top( input RST, input CLK, input RXD, output [6:0] AN, output CA, output PAR_ERR, output FRM_ERR );wire [7:0] rx_data;wire rx_data_rdy, empty;wire [7:0] dout;uart_rx uart_rx_0 ( .RST (RST), .CLK (CLK), .RXD (RXD), .RX..
2024.06.03
no image
[Verilog] 10. FIFO(First In First Out)
FIFO (First In First Out) FIFO(First In First Out)는 먼저 넣은 것부터 먼저 나간다는 말입니다.같은 말은 '선입선출'이 있습니다.보통 회로에서 Buffer의 목적으로 FIFO를 사용합니다. 위에서부터 값을 하나씩 밀어내어 입력하면서 가장 먼저 입력한 값을 가장 먼저 OUT합니다.WR_EN은 쓰기모드RD_EN은 읽기모드로 FIFO를 구성하였습니다.WR_EN에서 쓸 공간이 없다면 FULL을 보내고, RD_EN에서 더 출력할 DATA가 없으면 EMPTY를 보냅니다.fifo verilog code`timescale 1ns / 1psmodule my_fifo( input RST, input CLK, input [7:0] DIN, input WR_EN, ..
2024.06.03