728x90

전체 글 618

컴퓨터 구조 및 CPU 동작 원리 (3) - 32 Bit RISC CPU(Pipeline) RTL 설계 ~ING

https://insoobaik.tistory.com/717 컴퓨터 구조 및 CPU 동작 원리 (1) - 기본 개념목차컴퓨터의 구성요소 5가지Absractions and ISADefining PerformanceInstruction SetMIPS Arithmetic OperationRegister OperandsMemory OperandsImmediate Operands컴퓨터의 구성요소 5가지1. Datapath : 데이터에 대한 연산 수행2. Contrinsoobaik.tistory.com https://insoobaik.tistory.com/718 컴퓨터 구조 및 CPU 동작 원리 (2) - CPU 동작 구조 (Pipelining)9개의 Instruction을 통해 CPU 동작 원리를 설명할 것이다...

컴퓨터 구조 및 CPU 동작 원리 (2) - CPU 동작 구조 (Pipelining)

https://insoobaik.tistory.com/717 컴퓨터 구조 및 CPU 동작 원리 (1) - 기본 개념목차컴퓨터의 구성요소 5가지Absractions and ISADefining PerformanceInstruction SetMIPS Arithmetic OperationRegister OperandsMemory OperandsImmediate Operands컴퓨터의 구성요소 5가지1. Datapath : 데이터에 대한 연산 수행2. Contrinsoobaik.tistory.com기본 개념에 이어 9개의 Instruction을 통해 CPU 동작 원리를 설명할 것이다.- Insturction Memory Reference : lw, swArithmetic / Logical : add, sub, ..

컴퓨터 구조 및 CPU 동작 원리 (1) - 기본 개념

목차컴퓨터의 구성요소 5가지Absractions and ISADefining PerformanceInstruction SetMIPS Arithmetic OperationRegister OperandsMemory OperandsImmediate Operands컴퓨터의 구성요소 5가지1. Datapath : 데이터에 대한 연산 수행2. Control : Datapath, Memory, I/O Device 등의 동작을 제어3. Memory : 데이터 저장4. 5. Input & Output : 주변 기기들과 컴퓨터 사이에 발생하는 입출력Absractions and ISA1. Abstraction : 추상화복잡한 시스템이나 문제를 간단한 모델이나 개념으로 표현하는 과정(1) 데이터 추상화 (2) 절차적 추상화 ..

Vitis Error - can't read "map": no such variable

FPGA : ZYNQ7000Version : 2022.2 Vitis Run As -> Launch Hardware 실행 시 아래와 같이 에러가 지속적으로 발생하게 된다.can't read "map": no such variable 에러는 Xilinx 측에서도 인지하고 있는 에러에 해당한다. https://support.xilinx.com/s/article/000034848?language=en_US 000034848 - 2022.2 Vitis: ERROR : Can't read "map": no such variable when trying to launch application on my targetWhen trying to debug or run my user application in Vitis, ..

FPGA를 이용한 시계 만들기 (AXI4-Lite를 이용한 입력에 따른 Freq 조절)

https://insoobaik.tistory.com/711 이전 글을 통해 Vivado에서 제공하는 AXI4-Lite Interface를 알아보았다. 이번 시간에는 AXI4-Lite를 이용하여 PS(Vitis)에서 값을 입력하면 해당 Freq가 PL(FPGA)의 Clock 모듈의 Clock으로 동작하여 시계가 동작하도록 구현할 것이다.* Clock의 경우 100MHz를 사용한다. Block Diagram Watch_Top.v먼저 시계를 담당하는 Module의 경우 Input- clk- rst- run_en : HIGH일 때 시계 동작- freq : 현재 Clock이 100MHz이고, 입력 freq를 설정하여 시계의 속도를 조절한다. (freq = 100000000일 경우 1초에 해당한다.) Output..

Cadence Genus Synthesis ~ING

기본적으로 Chip이 설계되는 과정은 대략 1. 스펙 분석 및 구조 설계2. RTL 설계3. Function Simultaion4. Synthesis5. Pre_Layout Simulation6. PnR7. Post_Layout Simulation 위 과정을 거치게 된다. 그 중 Synthesis는 RTL로 설계한 내용을 Gate Level로 변환시켜주는 작업이다. 결론부터 말하자면 Synthesis 이후 PnR을 하기 위한 여러가지 파일을 생성된다.위와 같이 Gate Level로 표현된 Netlist 파일을 확인할 수 있다. DFF(D Flip Flop), MX(Multiplexer)와 같이 RTL로 설계한 코드들이 동작하기 위한 Gate, 입/출력 정보를 구성하게 된다.(* Gate Level로 변환..

ROS2 (6) - Class, 상속을 이용한 그래프 그리기 (pyplot, numpy)

Jupyter Notebook을 이용한 ROS2 1. 기본적인 pyplot, numpy를 사용하여 그래프 그리기pip3 install matplotlib데이터 시각화를 위한 라이브러리인 matplotlib을 사용하기 위해 설치해준다. 데이터 시각화를 위한 pyplot과, 수학적 수치 계산을 위한 numpy를 사용하기 위해 import 해준다. arange 함수를 사용하여 0~6까지 0.01 단위로 숫자의 배열을 생성한다. 위에서 생성한 배열을 pi와 sin 함수를 이용하여 계산한다.y.shape의 결과로 600개의 요소를 가진 1차원 배열을 나타낸다. plt에 있는 figure, plot, grid, show 함수를 이용하여 위와 같이 sin 함수를 시각적 그래프로 그려낸다. figure() : 그림의 ..

AXI4-Lite Interface에 대하여 (+ Template Code)

Vivado를 이용하여 AXI4-Lite Interface를 사용할 수 있다. https://insoobaik.tistory.com/689기본적은 AXI Interface에 대해서는 이전 글에서 다루어 보았다. 간단하게 요약하자면1. AXI Interface는 5개의 채널이 존재한다. (Write Address, Write Data, Response, Read Address, Read)2. 각 채널은 전부 Valid, Ready Signal에 의해 동작하게 된다. (Valid와 Ready가 전부 1이여야 동작하게 된다.) AXI4-Lite 생성위와 같이 Vivado에서 AXI4 Interface를 사용하는 IP를 생성할 수 있다. 위와 같이 AXI Interface IP에 대한 Data Width, Re..

Synthesis - Clock Gating (이론 및 Syn 후 Simulation 확인)

* 기본적인 Synthesis 과정을 알고 있다는 가정하에 글을 작성하였습니다.Clock Gating이란?Synthesis 과정에서 매우 중요한 최적화 작업 중 하나다. 특히 저전력 설계(Low Power Design)에서 필수적인 기법이다.특정 조건이 충족될 때만 클럭 신호가 해당 FF으로 전달되도록 하는 것을 의미한다.(* Enable 신호에 따라 Clock이 동작한다고 간단하게 생각하면 된다.)Clock Gating은 모바일 기기나 저전력 디자인에서 전력 관리와 배터리 수명을 개선하는 데 중요한 역할을 한다.위 그림의 (1) 첫번째와 같이 일반적으로 Clock이 계속해서 FF에 전달될 경우 0->1->0과 같이 상태 전환이 계속해서 일어나기 때문에 전력이 계속해서 소모되게 된다.(2) 두번째를 보게..

728x90