분류 전체보기 48

0619 uvm_ram

UVM Phase 순서: phase  구간, 시간 → 각 구간의 타이밍 조절하며 순서를 정한다.각 phase마다 위의 순서대로 실행이 되며, phase이 존재하지 않을 경우 무시하고 다음 phase을 진행한다.task로 구현 : run, reset, configure, main, shutdown - 시뮬레이션 시간동안 실행되는 복잡한 동작을 수행한다. 시간 경과에 영향을 미친다.function으로 구현 : 그 외 - 주로 짧고 빠르게 실행되는 작업을 수행한다. uvm 환경에서 설정, 상태 확인, 간단한 데이터 처리를 한다.AXI_Memory.sv`timescale 1ns / 1psmodule AXI_Slave_Memory ( // Global Signal input logic A..

0618 UVM

UVM (Universal Verification Methodology): 범용 검증 방법, 반도체 산업에서 복잡한 ASIC 및 FPGA 설계 검증에 사용된다.클래스 기반 구조 : 검증 형식을 미리 만들어놓고 그 형식에 맞춰 동작시킨다.테스트벤치 계층화  : 여러 계층으로 구성되어 있으며 특정 작업을 수행한다. agent, driver, sequencer, monitor 등이 있다.디버깅 : 에러를 조기에 발견하고 수정하여 제품의 신회성을 높이며, 시간을 단축시킬 수 있다→ Class 객체지향(OOP) 기능을 사용하여 SystemVerilog를 사용한다.( SystemVerilog는 verlog, c++, Java 언어 영향을 받은 언어이다. ) UVM Interface & classInterface :..

0617 AXI_memory

Overlapping read bursts: 읽기 작업을 동시에 수행하여 데이터 전송 속도 향상시킨다.마스터가 첫 번째 읽기 요청으로 주소 ARADDR를 슬레이브로 전송한다.슬레이브가 RDATA를 마스터에게 보낸다.첫 번째 데이터가 전송되는 동안, 마스터가 두 번째로 읽을 주소 ARDDR을 슬레이브로 전송한다.슬레이브가 첫 번재 데이터 전송이 완료되면 두 번째 데이터를 전송한다.과정이 반복된다. Write Burst: Master가 여러 데이터 단위를 Slave로 연속적으로 전송할 때 사용한다.주소 설정 (Address Phase) : AWADDR, AWVALID / AWREADY데이터 전송 (Data Phase) : WDATA, WVALID / WREADY, WLAST응답 전송 (Response Pha..

0614 AMBA AXI BUS

AMBA BUS AMBA : Advanced Microcontroller Bus ArchitectureDecoder와 Multiplexer를 이용하여 Memory Map 만든다.Master가 1개로, Master과 Slave 1이 통신하면 나머지 Slave가 통신을 못하는 경우가 발생한다.Master가 모든 정보를 Slave들에게 보낸다. ( AXI와 반대되는 부분 )  AMBA InterfaceAHB : Advanced High - performance Bus고성능 : 고속 데이터 전송을 지원하며, 높은 대역폭을 제공한다.멀티마스터 아키텍쳐 : 여러 마스터 장치(CPU, DMA)가 버스를 공유할 수 있다.AHB 구조Master : 버스를 제어하고 데이터를 전송하는 장치 (CPU, DMA)Slave : ..

0604 RISC-v GPO GPI GPIO

Memory MappingCPU가 특정 주소에 접근할 때 Addr Bus를 통해 주소를 전달한다.Decoder는 이 주소를 받아 해당 주소가 어느 장치에 속하는지 판단하여, 그 장치의 cs[chip select]를 활성화 한다.해당 장치는 읽기 or 쓰기 작업을 수행한다. 이 때 wData Bus를 통해 쓸 데이터를 받거나, RDaata Bus를 통해 읽을 데이터를 전달한다.c언어 → Assembly 언어 변환 1 : 하고자 하는 작업을 c언어로 변환한 후 어셈블리 언어로 변환한다. c언어int main() { int a = 0x01; *(int *)(0x00002100) = a; // 메모리 주소 지정 return 0;} → Assembly 언어main: addi sp, sp, -..

0603 RISC-v GPI GPO

AHB-Lite: Advanced High Performance Bus-LiteARM AMBA[Advanced Microcontroller Bus Architecture] 버스 프로토콜의 lite 버전이다.싱글 마스터 : 마스터 1개가 버스를 제어하고, 여러 슬레이브 장치와 통신한다.고성능 : 고속 데이터 전송을 지원하며, 주로 고성능 마이크로컨트롤러와 프로세서에서 사용된다. HWDATA [AHB Write Data] : 쓰기 명령 시, 마스터는 이 신호를 통해 스레이브로 데이터를 전송한다.HADDR [AHB Address] : 읽기/쓰기 작업에서, 마스터는 이 신호를 통해 접근하고자 하는 슬레이브의 주소를 지정한다.HSEL [AHB Select] : 여러 슬레이브 중 어느 하나를 어느 하나를 선택하기 ..

0530~0531 RISCV_Type

RISC-V Register File, InstructionRISC-V CPU 기본 모듈ALU : 연산 기능을 수행한다.Register File : 고속으로 데이터를 임시 저장하고 접근하는 작은 메모리 블록이다.PC Register : Instruction이 실행할 위치를 가지고 있는 Register이다. → Program CounterInstruction Memory : 프로그램 명령어를 저장하고 CPU가 실행할 명령어를 읽어오는 메모리이다.Data Memory : 실행 중인 프로그램이 사용하는 데이터를 저장하고 읽기/쓰기를 수행하는 메모리이다.RISC-V Instruction Type R - typeI-TypeIL - TypeS-TypeB-Type U-Type UA-Type J-Type JA-Type..