EE 20

[AI Silicon System] Project 1: Systolic array

[AI Silicon System] 게시물은 KAIST 김주영 교수님의 강의자료와 Project document를 참고하여 작성하였습니다. 첫 번째 Project입니다. 16 X 16 MAC array를 설계하면 됩니다. 이 단계에서는 Memory control은 고려하지 않아도 되고, tb에서 MAC array에 맞게 data를 feeding 해줍니다. ​ 1. Objective Implement a systolic MAC array datapath Compute matrix multiplication using MAC arry ​ 2. Specification Input feature map bit-width: 16 bit Weight bit-width: 8 bit Output feature map ..

[AI Silicon System] Project 0: Overview

[AI Silicon System] 게시물은 KAIST 김주영 교수님의 강의자료와 Project document를 참고하여 작성하였습니다. 인공지능 반도체 시스템(이하 ASS)는 AI task(DNN, CNN, etc.)를 HW level에서 효율적으로 연산하고, 그 효율적인 연산을 위한 architecture design을 학습하는 과목입니다. 작년에는 "딥러닝을 위한 하드웨어 가속"(Deep learning accelerator)라는 과목명으로 개설됐었는데, 개인적으로 이 이름이 좀 더 적합한 것 같습니다. ​ 어쨌든, 전체 성적의 40%나 차지하는 Project에 대해 4개의 게시글에 나눠서 작성할 예정입니다. 이 글을 작성하는 이유는 크게 세 가지입니다. ​ 1. system verilog(.sv..

[Synopsys EDA] Post-Synthesis simulation

본 게시글은 Chip 설계 프로젝트 중 EDA tool 사용법에 대해 기록한 글입니다. 틀린 내용이나 정석에서 벗어난 내용이 있을 수 있습니다. Post-Synthesis simulation은 DTA(Dynamic Timing Analysis)와 Logic Synthesis를 마친 후에, RTL로 작성한 module과 합성 후 생성된 _syn.v module이 같은 동작을 확인하는 과정입니다. Synopsys VCS를 사용한 verilog simulation은 stage 사이의 delay를 고려하지 않기 때문에 다음 사진과 같이 propagation delay가 전혀 없는 파형을 보여줍니다. 값은 보실 필요 없고, CLK의 positive edge에서 delay 없이 값이 바뀌는 것을 보시면 됩니다. 그..

EE/Digital Design 2022.11.02

[Degital Design] 2D Systolic Array for matrix multiplication

Matrix Multiplication(이하 MM)을 가속하기 위한 Systolic array architecture에 대해서 알아보겠습니다. http://ashanpeiris.blogspot.com/2015/08/digital-design-of-systolic-array.html Digital design of systolic array architecture for matrix multiplication Systolic architecture consists of an array of processing elements, where data flows between neighboring elements, synchronously , from di... ashanpeiris.blogspot.com 위 ..

EE/Digital Design 2022.09.30

[Computer Architecture] Math-Bound VS Memory-Bound Operations

https://leimao.github.io/blog/Math-Bound-VS-Memory-Bound-Operations/ Math-Bound VS Memory-Bound Operations Computation Bandwidth, Memory Bandwidth, and Data Reuse leimao.github.io 논문읽다가 Memory-bound operation이라는 단어에서 막혀서 찾아본 글입니다. operation이 memory-bound 되어있다는 것은 그 operation이 under-optimaized 되어 있고 computer system이 under-utilized 된다는 것을 의미한다고 합니다. memory access operation은 cost가 매우 큰데 그 operation..

[Parallel Computer Architecture] Fine-Grained Multithreading

본 게시글은 Onur Mutlu 교수의 유튜브 채널에 게시된 강의를 토대로 작성되었습니다. https://www.youtube.com/c/OnurMutluLectures Onur Mutlu Lectures This channel contains videos and slides from courses taught and lectures delivered by Professor Onur Mutlu (https://people.inf.ethz.ch/omutlu/). Onur Mutlu is a Professor of Computer Science at ETH Zurich. He is also a faculty member at Carnegie Mellon Uni www.youtube.com 1. Fine-Gr..

[Parallel Computer Architecture] Combination of Vector & Array processor

본 게시글은 Onur Mutlu 교수의 유튜브 채널에 게시된 강의를 토대로 작성되었습니다. https://www.youtube.com/c/OnurMutluLectures Onur Mutlu Lectures This channel contains videos and slides from courses taught and lectures delivered by Professor Onur Mutlu (https://people.inf.ethz.ch/omutlu/). Onur Mutlu is a Professor of Computer Science at ETH Zurich. He is also a faculty member at Carnegie Mellon Uni www.youtube.com 1. Is ther..

[Parallel Computer Architecture] Memory access of vector processor

본 게시글은 Onur Mutlu 교수의 유튜브 채널에 게시된 강의를 토대로 작성되었습니다. https://www.youtube.com/c/OnurMutluLectures Onur Mutlu Lectures This channel contains videos and slides from courses taught and lectures delivered by Professor Onur Mutlu (https://people.inf.ethz.ch/omutlu/). Onur Mutlu is a Professor of Computer Science at ETH Zurich. He is also a faculty member at Carnegie Mellon Uni www.youtube.com 1. Load/St..