일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- linux c 컴파일
- 데이터 해저드
- Pyverilog 실행
- Pyvrilog tutorial
- 남산업힐
- linux c++ 컴파일
- Design DNN Accelerator
- AMBA
- gcc 컴파일
- 컨벌루션 연산
- Makefile compile
- 이진수 곱셈 알고리즘
- Pyverilog 튜토리얼
- 딥러닝 가속기
- pygraphviz 설치 오류
- 클럭 게이팅
- DNN Accelerator
- CDC
- gpgpu-sim
- Pyverilog 설치
- 대구 반도체 설계기업 특화
- CUDA
- DNN 가속기
- pytest-pythonpath 설치 오류
- CLOCK GATING
- pyverilog 설치 오류
- Data HAzard
- makefile
- systolic array
- linux makefile 작성
- Today
- Total
목록분류 전체보기 (227)
오늘은 맑음
D 플립플롭 D 플립플롭은 클록의 상승 에지에서 D를 Q로 복사하고 상태를 기억하는 것을 의미한다. CLK이 0일 때 master는 투명하고 slave는 불투명하게 된다. 따라서 D에 있던 값이 N1으로 전달된다. CLK이 1일 때 master는 불투명하고 slave는 투명하게 된다. 따라서 N1에 있던 값이 Q로 전달된다. 그러나 N1은 D로부터 차단된다. 따라서 클록이 0에서 1로 변하기 직전에 D에 있던 어떤 값들은 클록이 1로 된 후에는 Q로 전달된다. 항상 D와 Q사이의 경로를 막고 있는 불투명한 래치가 있기 때문에, Q는 이전 값을 유지할 수 있다.->D 플립플롭은 클록의 상승 에지에서 D를 Q로 복사하고, 언제든 늘 그것의 상태를 기억한다. 플립플롭은 CLK이 0에서 1로 변할때, 또는 1에..
D래치 SR래치의 경우 S와 R의 입력값이 모두 1이 되게 되면 이상하게 작동한다. 이 현상은 SR래치의 뒤에 D래치를 연결해 줌으로 써 해결 할 수 있게 해준다. D래치의 진리표(Truth table)CLK D D' S R Q Q' 0 X X' 0 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 D래치를 이용하면 S와 R이 동시에 set되는 상황을 막아줄 수 있다. CLK이 1일 때에는 D의 데이터를 버퍼인 것 처럼 흘려주어 Q에 전달하기 때문에 투명한 상태라고 한다. 하지만 CLK이 0일 때에는 예전의 값을 유지하기 때문에 불투명한 상태라고 한다. 따라서 D래치는 CLK이 1일 때에 상태를 경신하기 때문에 레벨 반응형 래치라고 한다.
SR래치 SR래치는 위와 같이 입력이 2개이고 출력이 2개인, 2개의 NOR게이트로 이루어진 래치이다. (NOR게이트는 모두 거짓이면 참이고 아닌 나머지 경우는 거짓으로 출력한다.) SR래치의 진리표 R S Q Q' 1 0 0 1 0 1 1 0 1 1 0 0 0 0 1) R이 1인 경우에는 N1은 0이 출력된다(NOR게이트이기 때문). 따라서 Q'의 출력은 1이 되고 N1의 출력값은 N2로 입력이 된다. N2의 입력값 S는 0이고 N1의 출력값 역시 0이였기 때문에 N2의 출력값은 1이 된다. 따라서 Q'의 결과는 1이다.2) S가 1인 경우에는 N2의 출력이 0가 된다. 따라서 Q의 값은 1이 되고 N1의 입력으로 1이 들어가게 된다. N1의 입력값은 N2의 1, R의 0 두개의 값이 들어가기 때문에 ..
swig를 이용하여 python에서 c모듈 호출하기프로그램 구조func.c : 함수들을 모아놓은 c 소스파일func.i : 이 파일을 이용하여 swig로 wrap파일을 생성해준다.main.py : 파이썬 프로그램이며 func.c에 있는 함수들을 호출한다. makefile _func.so : func.c func_wrap.c func.o func_wrap.o func.ild -shared func.o func_wrap.o -o _func.so func_wrap.c : func.i swig -python func.i func.o func_wrap.o : func.c func_wrap.o gcc -fPIC -c func.c func_wrap.c -I/usr/include/python2.7 clean :@rm ..
공유 라이브러리 : 프로그램이 시작할때 적재되는 라이브러리이다. 확장자는 .so이며 빌드시 실행파일에 포함시키지 않는다. 공유라이브러리들은 이름이 'lib'로 시작되고 '.so' 확장자를 갖는다. 또한 인터페이스가 바뀜에 따라 증가되는 기간과 버전넘버로 이루어진다. 모든 공유 라이브러리들은 'real name'이라고 불리는 실제 라이브러리 코드를 포함하는 파일을 가지고 있다. 'real name'은 불리는 이름에 기간, 공유 라이브러리를 이용하여 exe파일 만들기func1.c : int형 a, b를 받아 a + b를 반환하는 함수func2.c : char형을 포인터로 받아 출력하는 함수func.h : func1.c와 func2.c 함수를 정의해준 헤더tmain.c : func1.c와 func2.c를 호출..
정적 라이브러리란?프로그램 작성시 수행파일 안으로 들어가는 오브젝트 모듈들의 모음이라고 할 수 있다. 소스를 공개하지 않고 함수를 지원할 수 있다.프로그램의 이름은 lib로 시작되야 하며 확장자는 .a이다.정적라이브러리 생성 hello.c : hello world를 출력하는 함수를 갖고있는 파일bye.c : goodbye world를 출력하는 함수를 갖고있는 파일greeting.h : hello.c와 bye.c에 들어있는 함수를 갖고있는 헤더main.c : hello.c와 bye.c를 호출하는 함수 makefile을 사용하지 않은 라이브러리 생성gcc -c hello.c (결과물로 hello.o 오브젝트 파일이 생성된다.)gcc -c bye.c (결과물로 bye.o 오브젝트 파일이 생성된다.)ar rcv..