AI System Semiconductor 38

15.1 시스템 버스

AMBA(Advanced Microcontroller BUS Architecture) busAPB, ASB, AHB, AXI, AXI-Stread 등 목적에 따라 구분된 버스들이 있음 AMBA AXI4 bus5개의 독립적인 채널로 구성되며 각 채널은 AW, W, B, AR R로 시작하는 신호 이름으로 구분AW 채널 : 쓰기 주소 전송W 채널 : 쓰기 데이터 전송B 채널 : 쓰기 결과 전송AR 채널 : 읽기 주소 전송R채널 : 읽기 데이터 전송공용 신호로 클럭(ACLK)와 초기화(ARESETn)ARESETn: 신호가 낮은 전압으로 구동할 때(통상 로직 0) 초기화ACLK: 버스 동작 기준 클럭이며 모든 버스 동작은 Rising edge에 동기  AMBA AXI4 bus채널 프로토콜vaild와 ready신호..

13.2 디지털 회로 가속 설계(파이프라이닝, FIR(Finite impulse resonse))

F,G,H 각 조합 회로의 전파 지연은 15ns, 20ns, 25ns라 하자. 위는 파이프라이닝을 사용하지 않은 회로F와 G가 모두 안정된 출력을 내게되는 20ns이후 H는 유효한 연산을 할 수 있으므로 이 회로의 Latency는 20ns+25ns= 45ns임.H의연산이 종료된 후에 새로운 X를 인가할 수 있으므로 처리량(Throughput)은 초당 1/45ns 위는 2-stage 파이프라이닝을 활용한 회로임레지스터의 셋업타임과 지연시간은 0ns이고 클럭 신호의 불확실성이 없다 해보자.셋업타임 조건식에서 t(pcq), t(setup), t(skew)는 모두 0이므로 클럭의 최소 주기는 t(pd)로 설정할 수 있다F,G,H 중 최장 경로를 결정하는 조합회로는 H이므로 클럭의 주기는 25ns임.이러면 주기는..

13.1 정적 타이밍 분석(STA), 동적 규율(Dynamic Discipline)

타이밍 조건회로가 올바르게 동작하기 위해 신호가 레지스터와 조합회로 사이에서 지켜야하는 최소 및 최대 시간 제약디지털 회로에는 레지스터와 레지스터 간의 경로뿐 아니라, 다양한 타이밍 경로 존재path1: 입력 포트로 들어온 신호가 조합 회로를 거쳐 레지스터의 입력단에 도달하는 경로path2: 레지스터의 클럭 입력단->조합회로->레지스터 입력단paht3: 레지스터의 클럭 입력단->조합회로->출력포트path4: 레지스터 통과 X, 입력포트->조합회로->출력포트 정적 타이밍 분석(Static Timing Analysis)디지털 회로 내에 모든 가능한 경로에서 타이밍 위반이 있는지 확인하여 성능 검증회로의 모든 경로에 대해 입력 신호와는 무관하게 지연시간을 계산시뮬레이션 없이 수학적 분석을 통해 이루어짐동적 타..

12.4. AES암호 하드웨어 설계

Verilog를 통한 AES 암호 설계AES 암호 알고리즘은 암호화, 복호화 절차로 나뉨전체 모듈의 입력 및 출력 정보 정의 필요입력: 평문(plain text) 128 비트 및 키 128 비트출력 : AES-128암호화 연산 후 128비트 암호문(cipher text)HDL 설계 : Top module에서 평문 128비트, 키 128비트, 암호문 128비트 입출력 정의 키 확장 함수 설계 AES 암호 알고리즘 암호화 전체 모듈 중에 부분 모듈 설계 필요전체 모듈과 같이 부분 모듈과 입력과 출력을 정의키 확장 회로는 입출력 관점에서만 보면 128비트 정보를 입력받아 128X10비트를 출력하는 함수명세서에 정의한 수학적 표현을 해석한 후 소프트웨어 코드로 개발하고 HDL 코드로 개발위의 수도코드를 보고 수..

11.1 Hardware Security IP

IoT와 Hardware SecurityIoT 기기들은 AI와 결합하여 사용자의 개인적인 정보들을 취득하고 이를 스스로 학습하여 편리하느 기능을 제공Federated Learning과 같은 구조에서는 사용자의 개인적인 정보로 학습된 데이ㅌ가 제삼자에게 무분별하게 넘질 수 있음데이터를 안전하게 보호하기 위해 데이터의 암호화 및 복호화 필수표준 암호화 알고리즘인 AES(Advanced Encryption Standard)를 활용하여 데이터를 안전하게 보호데이터를 암호화하기 위해서는 Key가 필요한데 난수성을 지닌 참 난수 발생기(TRNG, True Random Number Generator) 나 PUF(Physically Unclonable Function) 등을 활용 양자 컴퓨팅 시대에서의 데이터 보호비대..

10.1. AI 가속기 설계 기술

AI 연산의 가속 방법곱셈-누적(Multiply and Accumulate, MAC)연산MAC 연산은 뉴런의 가중치와 입력값을 곱하고 그 결과를 누적하는 과적을 반복함(이는 신경망의 모든 계층에서 반복)MAC 연산이 걸리는 시간이 추론 속도를 크게 좌우함. MAC연산의 가속1) 전용 벡터 유닝 프로세싱 유닛이나 텐서 가속 유닛과 같은 하드웨어 모듈을 칩 상에 대량 집적하는 방식연산유닛의 대량 집적은 MAC 연산을 병렬로 수행할 수 있게하여 연산 속도를 극대화함.밑의 NVIDIA의 GPU 아키텍처는 매트릭스 연산에 특화된 구조로, 대규모 MAC 연산을 빠르게 수행할 수 있도록 설계 2) 데이터 재사용과 메모리 접근 효율을 극대화하는 방식MAC연산의 성능은 데이터 이동속도에도 크게 영향입력 데이터 가중치를 ..

9.3. Deep Learning Optimization 실습

데이터 전 처리머신러닝을 통해 최적화하고자하는 Input Parameter를 변수로 하여 split하여 엑셀 파일에 저장Ex) PMOS Width = 1E-6 ~ 1E-5Input data와 종속변수 Output Data를 각각 datas.xlsx파일과 target.xlsx파일을 만들어 저장(좌측이 datas, 우측이 target)  Colab에서 files.upload()함수를 사용하여 두 파일을 업로드X에 입력 데이터, Y에 출력 데이터를 넣고 0과 1사이로 정규화 함.훈련 데이터는 80퍼, 테스트 데이터는 20퍼로 놓고 테스트 데이터를 검증 데이터와 테스트 데이터로 분할  첫 번째 은닉층은 100개의 뉴런과 ReLU 활성화 함수, 입력 크기는 1.이후 추가 레이어는 각각 150개, 100개의 뉴런을..

9.2. DRAM Sense amplifier

DRAM cellAccess transitor 1개와 Capacitor 1개로 이루어진 메모리Capacitor는 데이터를 저장하는 역할Access transistor capacitor에 저장되는 데이터를 단속하는 역할Sense amplifierSense amplifier는 두개의 CMOS inverter로 구성Positive feedback를 통해 bitline의 변화량을 감지하여 증폭DRAM operationPrecharge를 통해 bit-line pair의 전위를 0.5VDD로 만들어줌Word-line enable를 통해 capacitor과 bit-line를 연결시킴Charge sharing을 통해 capacitor과 bit-line가 연결되어 둘의 전위가 동일하게 맞춰짐Sense amplifier를..