Project : FPGA Multi Function Clock ⦁ 개요 : Digilent Basys3를 이용한 FPGA Multi Function Clock 설계 및 검증 ⦁ 기능 1. Clock ↔ Stopwatch 모드 변경 1) 스위치 조작 2) UART 조작 : "Clock" 혹은 "Stopwatch" 입력 2. Clock 모드 : FND 시간 표시 1) 스위치 & 버튼 조작 a) 스위치 : [시 : 분] 혹은 [초 : 밀리초] FND 출력 모드 선택 b) 버튼 : 시간을 설정 & 0으로 설정 2) UART 조작 a) "..
#1. CPUCPU 아키텍처에는 크게 CISC와 RISC가 있다. #1-1. CISC(Complex Instruction Set Computer)복잡한 명령어CISC 프로세서에는 매우 복잡하고 단일 명령어로 여러 개의 Low-Level 작업(예: 산술과 결합된 메모리 액세스)을 수행할 수 있는 대규모 명령어 세트가 있다.가변 명령어 길이CISC 아키텍처의 명령어는 길이가 다양할 수 있으므로 더 복잡한 작업이 더 적은 명령어로 인코딩되므로 프로그램 크기가 더 작아질 수 있다.레지스터 적음각 명령어의 복잡성과 기능으로 인해 CISC는 더 적은 수의 레지스터를 가지며 메모리 작업에 더 많이 의존한다.Microcode복잡한 명령어를 프로세서에서 내부적으로 처리하는 간단한 단계로 분해한다.[장점]High-Le..
#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) ( ..
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() 할 때마다..
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 ..