728x90

Semiconductor 75

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

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

FPGA - IP 생성 및 Vitis를 이용한 Switch, LED 제어

목차IP 생성Block Design 생성 및 xsa 파일 생성 및 내보내기Vitis를 통한 하드웨어 실행- Switch 동작에 따라 점멸 속도가 각기 다른 LED를 조절하는 IP를 생성할 것이다.  IP란?Intellectual Property는 특정한 기능을 수행하는 사전 설계된 모듈이나 블록을 의미한다. IP는 재사용 가능한 설계 요소로, 설계자가 FPGA, ASIC, 또는 SoC와 같은 하드웨어 시스템을 설계할 때, 기존에 블록을 사용하여 설계 시간을 줄이고 개발의 효율성을 높일 수 있다.- Module, XDC file 생성 4개의 Switch와 LED의 FPGA Board의 Pin 번호에 맞게 설정한 xdc File과 Counter를 이용하여 출력 값을 지정한 Clock 속도에 맞게 Toggle..

Semiconductor/FPGA 2024.09.19

AI에 관한 기본적인 지식

AI에 관한 기본적인 지식 약인공지능 : 특정분야에서 인간 수준의 판단을 할 수 있는 것 - ANI강인공지능 : 범용적인 분야 모두에 대해 지능적 판단을 내릴 수 있는 것 - AGI초인공지능 : 주관적인 판단이나 자의식을 가질 수 있는 것 - ASI머신러닝 : 데이터와 정답을 입력하면 스스로 그 안의 규칙을 찾아내어 정답을 도출 - 머신러닝이라는 학문은 기계가 명시적으로 코딩되지 않은 동작을 스스로 학습해 수행하는 것 / 수없이 다양한 강아지 사진을 학습하며 그 속에서 스스로 패턴을 찾아내어 나중에는 강아지 사진을 입력하면 고양이와 다른 점을 구분하여 고양이가 아닌 '강아지'라는 정답을 도출해 내는 것 머신러닝의 3가지 유형1. 지도 학습2. 비지도 학습3. 강화 학습 1. 지도 학습1.1. 회귀어떤 입..

Semiconductor/AI 2024.09.19

WaveDrom (Timing Diagram) 사용 법

https://wavedrom.com/ WaveDrom - Digital timing diagram everywhereWaveDrom Digital Timing Diagram everywhere WaveDrom draws your Timing Diagram or Waveform from simple textual description. It comes with description language, rendering engine and the editor. WaveDrom editor works in the browser or can be installed on yourwavedrom.com위 사이트에서 Timing Diagram을 편리하게 생성할 수 있다.처음 접속하여 Editor에 들어가면 아래와 같..

AMBA - AXI 이론편

AXIAXI(Advanced eXtensible Interface) ARM에서 개발한 AMBA(Advanced Microcontroller Bus Architecture) Bus Protocol의 일부로 High Performance 및 High Band Width 시스템에서 사용되는 Interface다  AXI Bus는 Write Address / Data, Read Address / Data, Response 총 5개의 Channel로 분리가 되어 있어서 Read와 Write가 동시에 가능하다.AXI ArchitectureChannel Channel은 총 5개의 Channel이 있다. 1. Write Address Channel2. Write Data Channel3. Write Response Ch..

AMBA - AHB, APB, AXI (2) APB에 대하여 ~ING

APBAPB(Advanced Peripheral Bus)는 주로 저속 주변 장치와의 통신을 처리하기 위해 설계된 간단하고 효율적인 버스다.전력 소비를 최소화하고 인터페이스 복잡성을 줄이기 위한 인터페이스다. APB Signal ARM사의 공식 문서를 보게 되면 위와 같이 상당히 많은 Signal들이 있는 것을 볼 수 있다.  기본적으로 Bus는 IP Block들이 Master / Slave로 역할을 구분하게 된다.(예를들어 CPU가 Master, DRAM이 Slave가 될 수 있다.)Write, Read 동작에 대해 자세하게 알아보기 알아두면 좋은 내용* Write1. Master가 Slave에게 보내기 위한 신호- PSEL : Master가 접근하고 싶은 Slave를 고르는 신호- PWRITE : Ma..

AMBA - AMBA 이론편

AMBAAMBA (Advanced Microcontroller Bus Architecture) ARM에서 개발한 오픈 표준 InterconnectSoC 설계에서 프로세서, 메모리, 주변 장치 간의 통신을 효율적으로 관리하기 위해 사용된다.AMBA는 SoC 설계에서 다양한 IP Core를 연결하는 데 널리 사용된다.  BusBus는 여러 Block들이 Data를 서로 주고 받기 위해 전기적으로 연결한 공유 신호선이다.Bus는 각 IP들을 이어주는 역할을 한다.1. Interface의 간소화Data를 주고 받는 여러개의 IP Block들을 서로 Point to Point로 연결하게 되면 선이 무수히 많아지며, Bus를 사용하면 이를 해결할 수 있다. 2. 확장성IP Block을 추가해도 Bus에만 선을 연결..

Virtuoso - Half Adder / Full Adder

Half AdderABSUMCARRY0000011010101101 Half Adder의 진리표를 보게되면 SUM의 경우 XOR, Carry의 경우 AND Gate와 동일한 것을 볼 수 있다.기존에 생성한 Symbol을 이용하여 Half Adder를 생성할 수 있다.SchematicSimulation Simulation을 보게되면 진리표와 같이 SUM과 CARRY의 신호가 정상적으로 나오는 것을 확인할 수 있다.Layout 기존의 XOR, NAND, NOT Layout을 이용하여 Half Adder Layout을 쉽게 설계할 수 있다.Full Adder VINAVINBCINSUMCARRY0000000110010100110110010101011100111111 Schematic Simulation Layout

728x90