728x90

2024/08 23

RTL - I2C (Master / Slave - Simulation, Code)

https://insoobaik.tistory.com/672위 I2C 이론을 기반으로 RTL 코드를 설계할 것이다.- Simulation- Master Write / Slave Read 동작(현재 Master와 Slave 신호를 둘 다 보기 때문에 둘 사이에 동일하게 동작하는 신호의 경우 위와 같이 동일한 2개의 신호가 나오는 것 처럼 보일 것이다.)Master에서 Address 포함 Write 동작에 대한 전체 Simulation은 위와 같다. 1. Start ConditionSCL이 1인 상태에서 SDA가 0으로 떨어지는 구간은 Start Condition을 나타내고 I2C 프로토콜이 동작하기 시작하는 구간에 해당한다.bitcount, state, pulse의 값이 동작하기 시작한다. 2. Addre..

CPU 구조 및 동작 원리 (RISC, Pipeline, Hazard) (2)

https://insoobaik.tistory.com/671CPU 구조 및 동작 원리 (1)에 이어 조금 더 자세히 CPU 구조 및 동작 원리에 대해 알아볼 것이다.  16비트의 컴퓨터에서는 명령어가 16비트로 구성된다.Opcode와 Operand 부분으로 나누어진다.- Opcode : CPU가 수행할 특정 작업(연산)을 지정하는 코드다.- Operand : Opcode에 의해 정의된 작업에 사용될 데이터나 주소를 나타낸다.위 그림의 경우 상위 4bit가 Opcode에 해당하여 CPU가 수행할 작업을 지정하고 하위 12bit가 작업에 사용될 데이터나 주소를 담게 된다. 위 표는 Opcode에 대한 정의를 보여주고 있다. 각 Opcode에 대한 Instruction 명령어가 지정되어 있고, 해당 명령어들이..

I2C 구조 및 동작 원리

I2C에 대해 알아보기 전에 Open Drain이란 개념이 등장하기 Open Drain에 대해 간단하게 알아보겠다. - I2C에서 Open Drain을 사용하는 이유I2C는 여러 장치가 동일한 선을 공유하는 방식이다. Open Drain 방식을 사용하면 하나의 선에 여러 장치가 데이터를 공유할 수 있기 때문이다. 또 신호 충돌을 방지할 수 있기 때문이다. 자세한 내용은 아래를 참고하길 바란다. ■ Open Drain Open Drain은 위 그림과 같이 Drain이 Output Pin에 연결된 구조를 의미한다.위와 같이 Pull-Up 저항이 없게 되면 Floating 상태가 되어 신호가 불안정해지고 잡음의 영향을 받을 수 있다.위와 같이 Pull-Up 저항을 사용하게 되면 Data 선에 1의 신호를 지속..

CPU 구조 및 동작 원리 (1)

CPU(Central Processing Unit) 중앙 처리 장치컴퓨터에서 프로그램 명령을 해석하고 실행하는 장치 ■ CPU 동작 원리 - CU (Control Unit) (제어 장치)명령어를 해석하고 실행 순서를 제어한다.ALU와 Register들 간의 데이터 전송을 관리한다.Program Counter와 연동하여 프로그램의 흐름을 관리한다. - Accumulator (누산기)연산 결과를 저장한다.다음 연산의 입력값을 제공한다. - ALU (Arithmetic Logic Unit) (산술 논리 장치)기본 산술 연산을 수행한다.논리 연산을 수행한다.비교 연산을 수행한다. - PC (Program Counter) (프로그램 카운터)현재 실행 중인 명령어의 주소를 저장한다.다음에 실행할 명령어 주소를 자동..

NAND 구조 및 동작 원리

NAND는 Flash Memory와 같은 대용량 저장 장치에서 널리 사용된다.DRAM보다 속도가 10000배정도 느리지만 집적도가 높다는 장점있다.■ NAND Cell 구조NAND Cell은 위 그림처럼 우리가 아는 NMOS 트랜지스터와 Floating Gate를 포함한 구조로 이루어져 있다. Floating Gate : Memory Cell의 저장 공간 역할을 하며, 전하를 저장할 수 있는 공간이다.1. Floating Gate에 전자가 저장되어 있는 상태 (논리 0)Floating Gate에 전자가 저장된 상태를 Programming된 상태라고 한다. Floating Gate에 전자가 저장되어 있을 경우 트랜지스터의 Vth(문턱전압)이 상승하게 된다. Vth가 높다는 의미는 NMOS를 동작시키기 위한..

DRAM 구조 및 동작 원리 (2)

https://insoobaik.tistory.com/662(1)에 이어 DRAM 구조 및 동작 원리에 대해 자세히 알아볼 것이다.■ DRAM Structure 컴퓨터 내부를 보게 되면 램 슬롯에 위와 같은 DRAM 모듈을 본적이 있을 것이다.DRAM은 앞 뒤로 Chip이 붙어있고, 각 면을 Rank라고 부른다. (ex 한쪽 면이 Rank 0면 다른 한쪽은 Rank 1)Rank에 붙어 있는 Chip은 우측에 그림과 같이 여러개의 Bank로 구성되어 있다.하나의 Bank는 여러개의 MAT(Memory Array Tile)으로 구성되어 있다. Rank는 주소를 가지며 Chip 자체에는 주소를 가지지 않는다. Rank 동시에 모든 Chip에 신호를 보낸다.각 Chip은 Data Bus를 통해 전달되는 비트 중..

RTL - Two Port SRAM / Dual Port SRAM 구조 및 설계

https://insoobaik.tistory.com/666 이전 tpsram을 사용한 Cache 동작과정에 대해 알아보았다. 이번 포스팅에서는 Cache 사용되는 SRAM의 두 종류 tpsram, dpsram에 대해 알아볼 것이다.■ Two Port SRAM  Two Port SRAM의 경우 2개의 Port를 통해 Read, Write를 할 수 있다. 각 Port는 Read, Write만 할 수 있다. Port에 대한 주소만 같지 않다면 A포트에서 값을 쓰고 B포트에서 같은 클럭에 값을 읽어갈 수 있다.■ Dual Port SRAM Dual Port SRAM은 마찬가지로 Read, Write 포트가 구분되어 있으며, 추가로 입출력 Port 쌍이 두개가 존재한다. Two Port의 경우 주소가 다르다 하..

RTL - CACHE(Two Port SRAM) 동작 과정 및 설명

■ CACHE 구조 https://insoobaik.tistory.com/661 Cache 구조 및 동작 원리보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comCACHE에 대한 내용은 위 글을 참조하길 바랍니다.■ Block Diagram■ 설계 조건  및 입/출력 Port - 설계 조건 Block size = 4BMemory size = 256B (64 Blocks)Cache size = 16B (4 Sets)Write-backreq & ack handshakingOne req at a time - 입/출력 Port - clk : 동기화를 위한 Clock 신호를 전달하기 위한 Port- rstn : 비동기 reset을 위한 Port - i_cpu_req..

RTL - SRAM (`ifdef를 이용한 FPGA, ASIC 코드 분리)

https://insoobaik.tistory.com/660 SRAM 구조 및 동작 원리보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comSRAM에 대한 내용은 위 글을 참고한다.■ SRAM SRAM은 기본적으로 clock, cs, we, ad, din, dout Pin을 가지게 된다. - clock : 동기화를 위해 사용된다.- cs : Chip Select로 해당 칩을 동작 시킬것인지 정하게 된다. High 신호에 동작하는 경우, cs가 1(High)일 때 만 Read, Write 행위가 가능하다.- we : Write Enable로 해당 메모리에 Read할 것인지 Write할 것인지 정하게 된다 (ex we 신호가 0일 경우 Read, we 신호가 ..

CNN(Convolution Neural Network)에 대하여

■ CNN(Convolution Neural Network) 이미지와 같은 이차원 데이터에서 패턴을 학습하는 데 특화된 딥러닝 모델이다.이미지 처리, 영상 인식, 객체 탐지 등의 다양한 컴퓨터 비전 작업에 사용된다.■ CNN 구조 위 사진은 실제 CNN을 통해 학습하는 과정을 시뮬레이션으로 만들어 놓은 것이다.  우측의 Fully-connected layer의 입력 데이터는 1차원(배열) 형태로 입력되어야 한다.컬러 Image의 경우 3차원 흑백의 경우 2차원 데이터를 가지게 되며, 각 Image들을 좌측 그림의 마지막 Pooling layer와 같이 1차원 배열 형태로 만들어야 한다.1, 3차원 Image의 공간 정보를 유지한 상태로 학습이 가능한 모델이 CNN이다. CNN은 (FEATURE LEARN..

Semiconductor/AI 2024.08.05
728x90