본문 바로가기

전체 글

(7)
Low power RTL coding guide 현재 computing system 에서 low power 설계의 중요성은 나날이 높아져 가고 있다. 특히 smartphone 과 같은 mobile 생태계에서 AI acceleration 을 위하여 low power 설계는 특히 중요하다. 반도체 Front-end design 의 시작인 RTL (Register Transfer Level) coding 에서 가장 중요한 점은 'clock gating' 이라고 생각한다.clock 은 주기 (period) 를 가진 사각파로써, 0→1 / 1→0 으로 계속 switching 하기 때문에 chip 동작의 50% 이상의 dynamic power 를 소모한다. 따라서, 필요한 순간에만 clock 을 사용하고, 그 외에는 clock 을 off 하는 clock gati..
Synthesis (합성) 이란 Synthesis (합성) 이란, RTL (Register Transfer Level) language 를 입력 받아서 gate-level netlist 로 변환하는 과정이라고 정의되어 있다. 그렇다면, RTL 은 어떻게 gate-level netlist 가 되는걸까. 아래 예시는 combinational logic 예시이다.입력 sel 신호가 1이면 입력 A 를 출력하고, 0 이면 입력 B 를 출력한다.module selection ( input A, input B, input sel, output reg C); always @(*) begin if (sel == 1'b1) begin C = A; end else ..
which 특정 명령어가 서술된 위치를 알고 싶을 때 사용하면 유용한 명령어.누군가가 전달한 env.csh 를 source 하고 명령어를 사용할 때, 해당 명령어가 어떤 코드로 이루어져 있는지 찾고 싶다면, 아래와 같이 which 명령어로 해당 명령어가 기술된 파일의 위치를 쉽게 찾을 수 있다. # example: find where 'git_custom' is writtenwhich git_custom
[Verilog] test bench 에서 fsdb file 생성 fsdb (fast signals database) file 은 waveform viewer 로 debugging 또는 power analysis tool 에서 estimation 하는데 사용하는 등, VLSI (Very Large Scale Integration) 개발에 많이 사용된다. test_bench.v 에 다음과 같이 $fsdbDumpfile system task 를 호출하고, Synopsys 社 의 VCS (Verilog Compiler Simulator) tool 을 이용하면, fsdb file 을 생성할 수 있다. initial begin // Name of fsdb file is "dump.fsdb" $fsdbDumpfile("dump.fsdb"); // In this case, DUT ..
os.path.exists 활용하기 특정 경로에 파일을 저장하거나, 어떤 파일을 불러오기전에 해당 경로 또는 대상파일이 존재하는지 먼저 확인하는 것이 필요하다. python 의 os module 의 exists 를 이용하면 쉽게 파일의 유무를 확인할 수 있다. 아래 예제는, os.path.exists 를 이용하여 파일의 유무를 확인한 뒤 해당 파일을 open 하는 예제 코드이다. import os if (os.path.exists("./test.txt") == True): fp = open("./test.txt", "r")
mkdir 명령어 directory 를 생성할 때 터미널에 사용하는 명령어이다. mkdir 의 full name 은 make directory 이다. 사용 예제는 다음과 같다. 현재 경로에 dir_1 이라는 directory 를 생성해준다. mkdir ./dir_1 hierarchy 를 포함하여 directory를 생성하고 싶은 경우 아래와 같이 -p option 을 이용하면 된다. 현재 경로에 dir_1 directory를 생성하고, dir_1 안에 my_dir directory 를 생성한다. mkdir -p ./dir_1/my_dir
cd 명령어 다른 directory 위치로 이동하고 싶을 때 사용하는 명령어이다. 현재 경로에 my_dir 이라는 directory 가 있을 경우, 아래와 같은 명령어를 사용하여 이동할 수 있다. cd ./my_dir