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
no image
[Verilog] 9. RAM(Random Access Memory)
ROM(Read Only Memory)RAM(Random Access Memory)FIFO(First In First Out) = 선입 선출my_ram.v`timescale 1ns / 1psmodule my_ram( input RST, input CLK, input [3:0] ADDR, input [7:0] DIN, output reg [7:0] DOUT, input RW ); reg [7:0] mem [0:15];always @ (posedge CLK) begin if (RST) DOUT  my_ram_tb.v`timescale 1ns / 1psmodule my_ram_tb();parameter CLK_PD = 8.0;r..
2024.05.27
no image
[Verilog] 8. 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;uart_rx uart_rx_0 ( .RST (RST), .CLK (CLK), .RXD (RXD), .RX_DATA (rx_data), .RX_DATA_RDY (), .FRM_ERR (FRM_ERR), .PARITY_ERR (PAR_ERR) ); display_inf di..
2024.05.27
no image
[Verilog] 7. 교통신호기 FSM
교통신호기 다시 FSM을 이용하여 RED, GREEN, YELLOW가 있는 신호등을 만들어 볼 것입니다. PED는 보행자가 요청하면 건널 수 있는 스위치를 설치한다는 가정입니다. 각각의 신호의 시간 계산을 따로하지 않고 하나의 함수를 이용하여 계산을 진행할 예정입니다. my_signal`timescale 1ns / 1psmodule my_signal( input RST, input CLK, input [6:0] time_slot, input start, output [6:0] curr_slot, output done ); parameter CLK_FREQ = 125_000_000;wire [29:0] MAX_CNT = time_slot + CLK_F..
2024.04.29
no image
[Verilog] 6.FSM Security
FSM Security저번에 포스팅한 FSM을 이용한 Security를 만드는 Verilog code를 만들어 보겠습니다.2개의 블럭을 만들어 연결하는 방식으로 Hardware를 구성해 보겠습니다.my_fsm_sec`timescale 1ns / 1psmodule my_fsm_sec #(parameter CLK_FREQ = 125_000_000) // parameter로 CLK_FREQ 지정( input RST, input CLK, input [1:0] KEYPAD, input SENSOR, output reg [1:0] FSM_state, output reg Alarm_sys ); localparam [1:0] disarmed = 2'b..
2024.04.29
no image
[Verilog] 5. FSM Demo.
FSM(Finite State Machine)  FSM, 즉 유한상태머신은 지정된 수의 상태 변화에 따라 출력을 조절하는 머신입니다.input과 현재상태에 따라 output을 출력하는 Next state logic, 현재 상태를 저장하는 State Register, 입력과 현재상태에 따라 출력을 선택하는 Output Logic으로 구성됩니다. 저는 Switch와 LED를 통해 입력과 출력의 변화를 확인하도록 코드를 작성할 것입니다.FSM Code`timescale 1ns / 1psmodule my_fsm( input RST, input CLK, input [1:0] SWT, output reg [1:0] LED, output VCC //output GND ); ..
2024.04.26