분류 전체보기

7-8 카운터의 부호화 - 디지털 카운터는 숫자가 표시되어야 하는 곳에 주로 쓰인다. 1. 카운터 출력에 decoder를 부착해 한 개의 신호만 active(HIGH or LOW)가 되도록 만든다. 2. BCD 카운터의 디코딩- 7-segment display (led 표시)를 부착할 수도 있다. 7-9 동기식 카운터의 분석 - 위 그림과 같은 동기식 카운터는 보통의 2진 업타운터와른 다른 J, K입력을 갖는다. 이처럼 제어회로를 약간 변경하면 카운터가 다른 계수 순차를 발생하게 할 수 있다. A Present state/next state table 만들기 7-10J/K FF를 사용한 커스텀 카운터 설계하기 ex) MOD5 counter1. 비트 수와 카운팅 순서를 정한다 2. 모든 가능한..
7.1 Asynchronous (=ripple) counters clock와 동기화되어 변경되지 않아 구현이 간단하다. Mod 2^N Counter : n개의 FF 를 이용하면 mod counter를 만들 수 있다. - 비동기적 카운터이기 때문에  Clock과 동기화되어 변경되지 않음   7.2 ripple counter각 비트가 앞 비트의 출력에 의존하는 방식으로 작동한다. 즉, 한 비트의 상태 변화가 다음 비트로 전파되는 방식이다. 각각의 플립플롭은 고유의 전파지연시간 (tpd) 가 있어서 출력 펄스가 인가되더라도 출력이 바로 나오지 않고 tpd만큼의 시간이 경과된 이후에 나오게 된다. Q. ripple counter 가 제대로 작동하지 않는 경우는 ?전파지연시간이 클럭주기에 비해 매우 작으면 2진카..
Creating Static Libraries in Linux 1. 오브젝트 파일 컴파일 2. 아카이브 파일 생성 3. $gcc -Og -c foo.c bar.c //1단계$-r[cs] libmy.a foo.o bar.o // 2단계 cs생략가능. 아카이브 파일 생성 명령어. 아카이브 이름 충돌 생기지 않도록!!//-r, -rc, -rs$ar -t libmy.a //아카이브에 해당하는 오브젝트 파일 보기 $nm -s libmy.a //아카이브의 심볼테이블 보기$ar -x libmy.a//반대로 ar -x 옵션 설정 시 아카이브가 오브젝트 파일들로 풀리게 된다. 더보기더보기리눅스에서 ar 명령어는 아카이브 파일(보통 .a 파일)을 생성하거나 수정하는 데 사용된다. ar 명령어의 옵션들인 -r, -rc, -..
본격적으로 링킹과정에 대해 깊이 있게 다뤄보는 시간이다!  링커는 입력 재배치 가능 목적파일들의 심볼 테이블로부터 정확히 한 개의 심볼 정의에 각 참조를 연결시켜서 심볼 참조를 해석한다. 심볼의 해석은 동일한 모듈 내에 정의된 지역 심볼들로 참조를 한 경우에 대해서는 간단하다. 하지만, 컴파일러는 모듈 당 하나의 지역 심볼 정의만을 허용하기에 전역심볼은 심볼 해석이 까다로울 수 있다.  STEP 1. Symbol Resolution 심볼 해석: 심볼 참조를 정확하게 하나의 심볼 정의에 연결되어 있는지 확인한다.   one symbol definition  링커는 입력 재배치 가능 목적파일들의 심볼 테이블로부터 정확히 한 개의 심볼 정의에 각 참조를 연결시켜서 심볼 참조를 해석한다. 심볼의 해석은 동일한 ..
Linkinglinking : 수많은 코드/데이터를 ( 메모리로 로드되고 ,실행될 수 있는 ) 단일의 파일로 결합하는 것 linking time  = compile time(static) + load time/run time(dynamic) Static Linking (런타임 이전)- 컴파일 시간에 수행된다. - 재배치 가능한(컴파일된) object files을 수집하고, 하나의 연결된 실행가능 object 파일을 만든다.  정적링커들은 재배치 가능한 목적파일들과 인스트럭션들을 입력으로 받아들여 로드될 수 있고, 실행될 수 있는 완전히 링크된 실행 가능 목적파일을 출력으로 생성한다.  - 재배치 가능 목적파일 = 다양한 코드/데이터 섹션들 (각 섹션은 연속적인 바이트들이다)- 인스트럭션들은 한 개의 섹션..
Seperate Compile  분할 컴파일이란?: 하나의 큰 프로젝트를 여러 multiple files로 나누는 것을 의미한다. ( 더 다루기 쉬운 모듈로 쪼갬) 모듈 : 관련된 일들을 수행하는 함수와 데이터의 집합 (리눅스에서는 file 단위_각각의 object 파일을 모듈이라고 보자) 더보기컴파일러 드라이버 동작과정 요약  본격적으로 링커에 대해 알아보기 전, 컴파일러 드라이브의 컴파일 과정을 복기시켜보자 ! //정적 연결 예제 gcc -Og -o prog main.c sum.c 링커는 재배치 가능 목적파일들을(.o) 연결해 실행가능 목적파일 prog를 형성한다. 드라이버는 먼저 C 전처리기를 돌리고, 이것은 C 소스파일 main.c 를 ASCII 중간 파일인 main.i로 번역한다. 다음으로 C ..
5.8 Clocked D Flip-Flop: 제어입력이 한 개 존재(D) 하고 출력 Q가 clock transition 에 맞추어 입력 D의 값으로 변함- JK FF의 K입력(RESET/CLEAR)에 inverter를 설치해서 구현한다. (SR을 이용해도 동일한 방식으로 만들 수 있다 R)  5.9 Clocked T Flip-Flop : 입력 T=1일 때 출력 Q를 toggle 시킴 . T=0 일 때 출력은 변화 없다. (출력의 초기값이 필요할듯?)- JK FF 에서 J와 K 모두 11인 경우 와 같음 - 제어입력 2개에 T를 인가해서 구현한다.   5.10 Asynchronous inputs 몇몇 FF는 clock에 비동기화된 제어입력을 갖고 있다.  power on/off 시 초기화값 정해주는 기능 ..
5.5 Clock signals and clocked Flip-Flops디지털 시스템은 동기적 or 비동기적으로 동작 가능  동기적 - 출력을 특정 시간에만 ! clock과 동기화되어 바뀔 수 있음 비동기적 - 출력은 입력이 바뀌면 언제든지 상태가 변할 수 있음 ( set, reset 이 입→출력에 영향을 줌)  Clock 신호 - 직사각형 pulse train PGT :  clock pulse 가  0 → 1 positive edge/transitionNGT : clock pulse 가  1 → 0 negative edge/transtition Clock flip-flop (ff) 메모리 소자이며," clock 입력에 transition 이 일어났을 때" 제어입력 control inputs 에 따라 상..
5. 1 NAND Gate Lanch lanch : 메모리 소자 (이기 때문에 SET OR RESET이 0이 아닌 한 출려긍ㄹ 변경하지 않고 마지막상태를 기억한다)- 2개의 NAND or  2개의 NOR로 구성 가능!  입력 : active low set & resetset  : Q의 이전값이 0이었으면 1로 변경 reset : Q의 이전값이 1이었으면 1로 유지.. HOLD!!!  출력 : Q 와 Q'  Setting the Latch (FF) 입력 SET에 0의 펄스 인가 시 Q가 0이었으면 ? 1로 Q가 1이었으면? 1로 → Q는 모두 HIGH 가 됨  입력 RESET에  0의 펄스 인가 시 Q가 0이었으면? 0으로Q가 1이었으면? 0으로 →  Q는 모두 LOW가 됨 Set과 Reset이 0으로 펄..
If-else 및 case 사용법  // 2to1 mux if 문 구현방법 //always@(*) 문에 포함한다module mux2to1 (s, d0, d1, z); input s, d0, d1; output z; reg z; //always 문에서 배정되는 값은 wire가 아니라 reg type을 사용할 것 ! always @(*) begin // sensitivity list @(s,d0,d1) 과 동일하지만 @(*)를 쓰자 if( s==0) begin // begin-end는 c의 중괄호와 비슷하며, c와 마찬가리고 한 개 명령이면 생략가능 z=d0; end else begin z=d1; ..
rlo-lo
'분류 전체보기' 카테고리의 글 목록 (4 Page)