[VerilogHDL] FIFO, UART&FIFO
VerilogHDL/Study2024. 5. 30. 09:11[VerilogHDL] FIFO, UART&FIFO

#1.  FIFO(Fist In First Out)== Circular Queue, 선입선출push & pop할 떄 버퍼의 어디를 가리킬지 포인터가 필요하다.read하는 속도와 write하는 속도가 다를때 FIFO 사용  Push algorithmpush 할 때 memory full이면 안된다.  Pop algorithmpop 할 때 memory empty면 안된다.  FIFO modulepush 할 때 memory full이면 안된다.pop 할 때 memory empty면 안된다.rw_en = 1일때 write 가능  구현[FIFO module]더보기`timescale 1ns / 1psmodule fifo #( parameter ADDR_WIDTH = 3, DATA_WIDTH = 8) ( ..

[VerilogHDL] Verification(32bit register, BRAM)
VerilogHDL/Study2024. 5. 23. 01:53[VerilogHDL] Verification(32bit register, BRAM)

1.  SystemVerilog - 32bit Register  32bit Register 구현더보기`timescale 1ns / 1psmodule register( input clk, input reset, input [31:0] D, output [31:0] Q ); reg [31:0] Q_reg; // reg [31:0] Q_next; assign Q = Q_reg; always @(posedge clk, posedge reset) begin if(reset) begin Q_reg    1-2.  Verification  위와 같이 생성자를 반복문 안에 넣었을 때 문제가 생기지 않을까?trans = new() 할 때마다..

[VerilogHDL] System Verilog 기초
VerilogHDL/Study2024. 5. 22. 01:18[VerilogHDL] System Verilog 기초

1.  System Verilog  1. Transaction : test를 위한 Data 묶음         a. DUT와 테스트벤치 간의 데이터 전송을 추상화한 것 2. Generator : 입력 Data(Transaction) 생성 3. Driver : Data → H/W 신호 변경         a. Generator에서 생성된 Transaction을 실제 신호로 변환하여 DUT에 전달         b. 인터페이스를 통해 DUT와 통신         c. S/W 개념인 Class를 H/W와 통신하게 해주는 역할 4. Monitor : DUT 출력 신호를 Data(Transaction)으로 변경         a. DUT의 출력을 관찰하여 수집하고, 이를 분석하거나 기록 5. Scoreboard ..

[VerilogHDL] UART Rx, Tx 최종(Oversampling)
VerilogHDL/Study2024. 5. 22. 00:26[VerilogHDL] UART Rx, Tx 최종(Oversampling)

1. UART(Universal Asynchrous Receiver/Transmitter) 1:1 통신비동기 신호각 device에서 송수신 data timing을 알아서 맞춘다.클럭을 전송하는 Master device 없다.device 내부에서 동기신호를 생성해야 한다.data를 송수신할 때 Timing을 잘 맞춰야한다.  설계할 때 문제점위 그림과 같이 start trigger의 타이밍에 따라 start signal이 1클럭이 안될 수도 있다….  해결책 : sampling16 oversampling, 8 oversampling  16 oversampling각 데이터 비트를 16번 샘플링16번 클럭이 들어온 후 다음 상태로! → baudrate 16배 증가시켜야함각 비트의 중간지점(7번째 샘플링 클럭)..

[VerilogHDL] UART Tx(2)
VerilogHDL/Study2024. 5. 22. 00:26[VerilogHDL] UART Tx(2)

1.  UART(Tx v.2) 8개 state를 만들지 않고 baudrate tick에 한번씩 data 1bit씩 전송   구현더보기`timescale 1ns / 1psmodule uart ( input clk, input reset, input tx_start, input [7:0] tx_data, output tx, output tx_done); wire w_br_tick; baudrate_generator #( .HERZ(9600) ) U_BR_Gen ( .clk (clk), .reset(reset), .br_tick(w_br_tick) ); transmitter U_TxD ( ..

[VerilogHDL] Verilog 이론 (Ch.5 ~ 11)
VerilogHDL/이론2024. 5. 21. 02:50[VerilogHDL] Verilog 이론 (Ch.5 ~ 11)

Ch.5 행위 수준 모델링 조합회로 모델링 Level Trigger회로의 입력 신호 모두 나열@(*) 함축적 감지 신호 사용 가능 ← 모든 입력 감시module or2 (input a, input b, output out); reg out; always @(a or b) begin // always @(a, b) if (a == l'bl II b == l'bl) out = l'bl; else out = l'b0; endendmodule  순차회로 모델링 Edge Trigger동기식(synchronous) : 클록 신호만 포함비동기식(asynchronous) : 클록 신호, set, reset 신호 포함신호의 안정성 면에서는 동기식이 더 좋다고 할 수 있음(비동기식 : 클럭 신호와 set ..

image