일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Design DNN Accelerator
- pyverilog 설치 오류
- pytest-pythonpath 설치 오류
- Pyverilog 튜토리얼
- pygraphviz 설치 오류
- linux makefile 작성
- 데이터 해저드
- 남산업힐
- 딥러닝 가속기
- DNN Accelerator
- 컨벌루션 연산
- linux c++ 컴파일
- DNN 가속기
- CUDA
- 클럭 게이팅
- linux c 컴파일
- 대구 반도체 설계기업 특화
- AMBA
- Pyvrilog tutorial
- Pyverilog 설치
- 이진수 곱셈 알고리즘
- systolic array
- CDC
- CLOCK GATING
- Pyverilog 실행
- Makefile compile
- gcc 컴파일
- makefile
- gpgpu-sim
- Data HAzard
- Today
- Total
목록Language (22)
오늘은 맑음

WRITE 파일을 write하기 위해서 먼저 write권한으로 파일을 열어줍니다. memo.txt라는 이름으로 파일을 열고 권한으로 w를 주었습니다. 그리고 memo라는 변수에 "Hello Python!\nLet's learn Python"라는 문장을 문자열로 넣었습니다. Python에서 파일에 write하는 함수는 아래와 같습니다. 함수명 동작 f.write('string') string을 f에 적는다 f.writelines('list') list에 들어있는 문자열을 f에 적는다 write('string') 먼저 write함수를 사용해서 memo를 memo.txt에 적어보겠습니다. 위와 같이 작성한 스크립트를 실행시키면 아래와 같이 memo.txt가 생성됩니다. 이 memo.txt를 열어보면 위에서 적..
Python에서 파일을 읽고 쓰기 위해서는 먼저 파일을 열어야 합니다. 파일을 여닫는 함수는 아래와 같습니다. 함수명 동작 open('path', 'option') path라는 경로에 있는 파일을 option에 따라 연다 f.close() 파일을 닫는다 파일을 열 때는 open함수를 사용합니다. 첫 번째 인자로는 파일을 열 경로를 넣어주게 되며, 두 번째 인자로는 파일을 열 형식을 넣어줍니다. 옵션 동작 r 파일 읽기 모드, 파일이 없다면 Error 발생 r+ 파일 읽기/쓰기 모드, 파일이 없다면 Error 발생 *파일을 쓰게 되면 위에 overwrite를 수행 w 파일 쓰기 모드, 파일이 없다면 새로 생성 w+ 파일 읽기/쓰기 모드, 파일이 없다면 새로 생성 *파일이 있다면 지우고 새로 생성 a 파일 ..
TOP 하위 module/program/interface를 담고있는 전체 구조를 의미 Program testbench를 구성하는 블럭 testbench가 시작되는 entry point(c언어의 main함수와 동일) 하나의 initial만이 선언된다 module에서는 initial과 always가 선언되지만 program에서는 initlal 하나만이 선언된다. 기존의 verilog hdl로 짜여진 testbench는 여러개의 initial문이 선언될 수 있었다. Program의 하위 block Configure : 초기 Setup하는 블럭 Generator : testbench에서 사용되는 값을 생성하는 블럭 Driver : Generator에서 생성된 값을 DUT로 전달하는 블럭 Self Check : ..
제 경험상 소프트웨어나 하드웨어에서 공통적으로 일을 하는 과정은 크게 아래와 같습니다. 1. Architecturing 코딩을 시작하기 전에 전체적인 구조를 구상합니다. 첫 단추가 잘 끼워져야 다음 단추가 잘 끼워지듯이 전체적인 구조를 구상하는 과정은 매우 중요하고 많은 시간을 투자해야 합니다. 문제가 생길 수 있는 많은 경우의 수를 확인하고 판단해야 합니다. 만약 1번 과정을 대충 하게 된다면 다음 과정을 진행하면서 문제가 발생할 때 마다 대처하게 되며 이 과정에서 많은 부작용이 발생할 수 있습니다.(기존의 동작에 영향을 끼치거나 다음 문제가 발생했을 때 대처하지 못하는 상황이 발생할 수 있습니다) 2. Coding 1번에서 구조를 정하게 되면 이를 실행하는 과정입니다. 3. Verification 2..

c언어에서는 malloc을 이용해서 동적할당을 할 수 있습니다. malloc은 stdlib.h 안에 들어있으므로 사용하려면 stdlib 헤더파일을 include 해주셔야 합니다. malloc함수의 원형은 다음과 같습니다. void *malloc(size_t Size); malloc은 함수의 동작이 성공하면 시작 메모리 주소를 반환하고, 실패하면 NULL을 반환합니다. 그리고 시작 메모리 주소부터 Size만큼을 동적 메모리로 할당합니다. 포인터를 선언하고 malloc을 이용해서 동적할당을 해보겠습니다. int형으로 buffer를 선언하고 malloc을 이용해서 int * 10을 사이즈로 잡아줍니다. 그러면 이제 buffer에는 int 사이즈만큼의 메모리 x 10만큼의 크기가 동적할당됩니다. 이제 buffe..

여러 사람들이 개발을 하다보면 서로 다른 프로젝트에서 여러개의 실행파일이 나올 때가 있습니다. 또는 서로 다른 프로젝트들을 연결해서 사용해야 할 때가 발생합니다. 이럴 때 python을 이용해서 이러한 프로그램들을 수행하는 방법을 알아보겠습니다. python은 ruby와 perl과 마찬가지로 인터프리터식 스크립트 언어입니다. 하지만 다양한 모듈들을 지원하면서 많은 곳에서 배우고 사용하고 있죠. 저도 영상처리(opencv), 딥러닝(tensorflow pytorch, keras), 머신러닝(pandas, scipy)등을 공부할 때 주로 사용했습니다. 이번에는 python을 이용해서 다른 실행파일을 수행해보도록 하겠습니다. 필요한 module은 os, sys, subprocess입니다. 작성된 python ..