본문 바로가기
반응형

일단 제가 준비한 건,261

논리회로 플립플롭 변환 ( JK F/F을 다른 F/F으로 변환 ) 플립플롭간의 변화가 가능하다. 대표적으로 JK를 이용하여 나머지 F/F의 변환을 보겠다. 아래의 진리표를 보고 진행해보자. JK ------> SR Q는 현재 값을 의미한다. 결과값이 나오는 나머지 F/F의 값을 쭉 적는다. SR값을 보면 진리표와 같다. SR에 대해서 카르노 맵을 이용하여 특성식을 구할 수 있다. JK ------> T 마찬가지로 T의 카르노 맵을 이용하여 특성식을 구하여 회로도를 구현하면 아래와 같다. JK ------> D 위와 동일한 방법을 적용한다. 2022. 1. 11.
논리회로 플립플롭 F/F (D 플립플롭, JK플립플롭, T 플립플롭, SR플립플롭, 플립플롭과 래치의 차이) 유튜브에 정리해 놓은게 있는데 아래 글로 보는 것보다 한 10000배는 더 이해 잘 될 것이다. 글은 그냥 회로만 갖다 놨다. 그러니 유튜브로 보는 걸 추천한다. 제발. https://youtu.be/VsE2_v_UCCc 먼저, 래치와 플립플롭의 가장 큰 차이점은 무엇일까?? 클럭의 유무로 생각할 수 있지만 클럭이 있는 래치도 있기 때문에 정답이라 할 수 없다. 정답은 시점의 차이다. 래치는 레벨 트리거에서 동작하고 플립플롭은 에지 트리거에서 동작한다. 래치는 지난번에 알아봤고 이번에는 플립플롭에 대해 알아볼 것이다. 2022.01.06 - [내가 하는 전자공학/논리회로] - 논리회로 래치 ( 인버터형 래치, NAND형 SR래치, NOR형 SR래치, RS 래치, D래치 ) 논리회로 래치 ( 인버터형 래치.. 2022. 1. 11.
논리회로 마스터-슬레이브 구조 ( D 래치, 타이밍도, 플립플롭, F/F, 에지 트리거 ) 마스터-슬레이브 구조 에지 트리거 기법을 구현할 수 있는 대표적인 방법이다. 설명을 위해 D 플립플롭을 이용할 것이다. 위 그림은 D 플립플롭으로 D 래치 2개를 이어 붙인 것이다. (2개 래치 = 플립플롭) 앞단에 있는 D래치를 마스터, 뒷단에 있는 D래치를 슬레이브라고 한다. 천천히 보자, IN에 1을 입력했다고 해보자 1) CK이 0일 때 - 마스터 부분에서의 출력은 1 그대로 나갈 것이다. - 슬레이브 부분에서는 입력이 들어오나, CK가 0이라 동작하지 않을 것이다. 2) CK가 1로 올라가는 순간 - 마스터 부분에서는 동작하지 않을 것이다 - 슬레이브 부분에서는 들어오고 있던 입력이 출력으로 나갈 것이다 같은 그림이지만 본인이 이해하기 쉽게 다른 그림으로 보자 A는 CK가 상승 에지일 때는 그전.. 2022. 1. 11.
논리회로 트리거링 기법 ( triggering, 타이밍 파라미터, 레벨트리거, 에지트리거, 숏 펄스 트리거, setup time, holdtime ) 트리거링 기법 (triggering) 입력과 출력이 있는데, 언제 입력을 받아들일 것이냐를 관장하는 것이 클럭이다. 이 클럭을 동작하는 곳이 트리거라고 볼 수 있다. 트리거란, 회로의 동작을 촉발하는 기동 신호이며 플립플롭의 상태에 변화를 일으키는 동작이다. 동기식 회로에서는 펄시 또는 클록이 트리거 신호가 된다. 동기식 회로에서 사용되는 트리거링 기법은 3가지 정도로 볼 수 있다. (동기식이란 일정한 시간 간격을 두고 제어하는 걸 의미한다) - 레벨 트리거링 ( Positive 상승, Negative 하강 ) - 에지 트리거링( Positive 상승, Negative 하강 ) - 숏 펄스 트리거링 레벨에서는 "H" 구간의 모든 신호를 입력으로 간주한다. 에지에서는 에지에서의 신호를 입력으로 간주한다 숏.. 2022. 1. 11.
C 자료구조 문자열 ( strcpy, strlen, strcat, strcmp, strdup ) 문자열 c언어에서 문자열은 배열을 만들어서 저장한다. 배열의 칸 하나에 한 글자씩 저장한다. 이때 주의해야 할 점은 만약 내가 'hello'를 저장하고 싶다면 5글자지만 6칸의 배열을 만들어야 한다. 왜냐면 문자열이 끝났다는 NULL(\0) 문자를 넣어줘야 한다. 선언하는 방법은 2가지 정도가 있는데 차이점이 있다. char str[10]; str[0] = 'h'; str[1] = 'e'; str[2] = 'l'; str[3] = 'l'; str[4] = 'o'; str[5] = '\0'; 또는 char str[] = "hello"; 또는 char *str = "hello"; 출력법 printf("%s", str); 중요한 것은 ""이다. 첫 번째 선언 방법에서 \0가 없다면 hello 뒤에 이상한 문자.. 2022. 1. 10.