← 블로그로 돌아가기논리 표기법

ANSI와 IEC 논리 기호: 회로도 읽기 안내서

특징적 모양과 IEC 직사각형 논리 기호를 번역하고 버블과 한정자를 해석하며 흔한 XOR 및 극성 오류를 피하는 방법을 배웁니다.

DennyDenny
약 7분 소요
Chalkboard feature illustration for “ANSI와 IEC 논리 기호: 회로도 읽기 안내서”

요약: 흔히 ‘ANSI’라고 부르는 기호는 알아보기 쉬운 게이트 윤곽을 쓰며, IEC 60617은 많은 기능을 &, ≥1 같은 한정자가 있는 직사각형으로 표현합니다. 윤곽만이 아니라 기능을 번역하고 모든 반전 버블, 인에이블, 핀 레이블을 검사하세요. 특히 두 입력을 넘으면 ‘정확히 하나’와 ‘홀수 패리티’는 다른 함수입니다.

입력 쪽에 호가 하나 더 있는 곡선 게이트는 많은 엔지니어에게 XOR로 바로 보입니다. 다른 회로도는 안에 한정자가 든 직사각형을 그릴 수 있습니다. 그래픽은 다르지만 두 다이어그램은 같은 부울 관계를 기술할 수 있습니다.

이 글은 두 표기 계열을 정확히 읽는 법을 설명합니다. 또한 특징적 모양을 ‘ANSI 기호’라고 부르곤 하지만 MIL-STD-806은 현행 표준이 아니다라는 역사적 지름길을 바로잡습니다. 미국 국방물류청은 이를 1962년에 취소된 것으로 표시합니다. IEEE 논리 기호 표준은 특징적·균일형 접근 모두를 문서화했고, IEC는 IEC 60617 데이터베이스에서 현행 그래픽 기호 모음을 유지합니다.

실용적 교훈은 간단합니다. ‘ANSI 스타일’과 ‘IEC 스타일’을 유용한 교실 레이블로 취급하되, 프로젝트 범례, 적용 표준, 구성 요소 문서를 권위로 삼으세요.

부울 논리를 위한 두 시각 언어

익숙한 두 계열은 주로 기능 전달 방식이 다릅니다.

기능부울 형식특징적 모양 표기직사각형 표기
버퍼Y=AY=A삼각형항등 한정자가 있는 직사각형
NOTY=A‾Y=\overline{A}출력 버블이 있는 삼각형출력 부정이 있는 항등 블록
ANDY=A⋅BY=A\cdot B평평한 입력측, 곡선 출력측&가 있는 직사각형
ORY=A+BY=A+B곡선 입력측, 뾰족한 출력측≥1이 있는 직사각형
NANDY=A⋅B‾Y=\overline{A\cdot B}출력 버블이 있는 AND 모양출력 부정이 있는 & 블록
NORY=A+B‾Y=\overline{A+B}출력 버블이 있는 OR 모양출력 부정이 있는 ≥1 블록
2입력 XORY=A⊕BY=A\oplus B입력측 호가 하나 더 있는 OR 모양배타 OR 한정자 또는 문서화된 동등물
2입력 XNORY=A⊕B‾Y=\overline{A\oplus B}출력 버블이 있는 XOR 모양출력 부정이 있는 XOR 기능

정확한 그림은 표준 판, 도구, 라이브러리에 따라 달라질 수 있습니다. 이 표는 번역 보조이지 회로도 범례를 무시하라는 허가가 아닙니다.

AND, OR, NOT

AND

AND 출력은 관련된 모든 입력이 1일 때만 1입니다.

Y=A⋅BY=A\cdot B
ABY
000
010
100
111

특징적 기호는 익숙한 D 같은 윤곽입니다. 직사각형 기호는 흔히 상자 안에 &를 둡니다. 어느 표기든 입력이 늘면 같은 규칙, 즉 모두 인가되어야 출력이 인가된다는 규칙이 확장됩니다.

입력 둘과 출력 하나를 가진 AND 게이트

AND 게이트 실험하기

OR

OR 출력은 입력 하나 이상이 1이면 1입니다.

Y=A+BY=A+B

특징적 기호는 오목한 입력측과 뾰족한 출력측을 가집니다. 직사각형은 흔히 ≥1을 쓰며, 이는 인가된 입력 수가 적어도 하나일 때 출력이 인가된다는 뜻입니다.

입력 둘과 출력 하나를 가진 OR 게이트

NOT와 항등 함수

NOT 게이트는 다음을 구현합니다.

Y=A‾Y=\overline{A}

특징적 모양 표기에서 버블 없는 삼각형은 보통 버퍼이고, 출력에 버블을 더하면 인버터가 됩니다. 직사각형 표기는 상자에 항등 함수를 표현하고 출력에 부정을 적용할 수 있습니다.

이 구분은 중요합니다. 삼각형 자체가 NOT을 뜻하지 않으며 버블이 반전을 제공합니다.

버블은 기능의 일부다

논리 핀의 작은 원은 부정 또는 로우 상태 극성을 뜻합니다. 이를 없애면 기능이 바뀝니다.

  • AND의 출력 버블은 NAND를 만듭니다.
  • OR의 출력 버블은 NOR를 만듭니다.
  • 입력 버블은 해당 입력을 반대 극성으로 해석한다는 뜻입니다.
  • 제어 핀의 버블은 흔히 액티브 로우 인에이블, 리셋, 세트, 칩 선택 입력을 나타냅니다.

신호 이름도 오버바, 앞의 슬래시, _n, _b, # 접미사로 같은 정보를 보강할 수 있습니다. 명명 규약은 다르므로 선 이름을 핀 기호와 비교하세요. 이름이 RESET_n인데 핀에 극성 표시가 없으면 추측하지 말고 조사하세요.

버블 이동은 드 모르간 법칙으로 동등 형식을 드러낼 수 있습니다.

A⋅B‾=A‾+B‾\overline{A\cdot B}=\overline{A}+\overline{B}

그래서 버블이 있는 OR 표현은 NAND 표현과 기능적으로 동등할 수 있습니다. 그렇다고 버블을 함부로 옮길 수 있는 것은 아니며, 이동한 각 버블에는 대응 게이트 변환이 필요합니다.

다중 입력 XOR 함정

두 입력에서는 다음 설명이 우연히 같습니다.

  • 정확히 하나의 입력이 1
  • 입력들이 서로 다름
  • 1인 입력 수가 홀수

세 입력 이상에서는 같지 않습니다.

입력 세 개가 인가된 경우를 보겠습니다.

입력1의 수정확히 하나?홀수 패리티?
001111
011200
111301

넓은 XOR 축소는 홀수 패리티를 구현합니다.

Y=A⊕B⊕CY=A\oplus B\oplus C

‘정확히 하나’ 검출기는 대신 다음을 구현합니다.

Y=AB‾ C‾+A‾BC‾+A‾ B‾CY=A\overline{B}\,\overline{C} +\overline{A}B\overline{C} +\overline{A}\,\overline{B}C

IEC 60617 카탈로그는 m-and-only-m 요소, ODD 요소, 배타 OR 요소를 구별합니다. 따라서 2입력 =1 도면의 의미를 임의 입력 수로 외삽하지 마세요. 해당 기호 규칙 아래 한정자를 읽고, 넓은 구성 요소는 진리표나 기능표로 확인하세요.

2입력 XOR 게이트

직사각형은 게이트 이름보다 많은 것을 인코딩한다

직사각형 표기는 제어, 다중 출력, 단일 윤곽으로 표현할 수 없는 내부 관계가 있는 소자에서 특히 유용합니다. 기호에는 다음이 포함될 수 있습니다.

  • 기능 한정자
  • 클록 또는 에지 표시기
  • 인에이블, 세트, 리셋, 로드 입력
  • 핀 그룹화 또는 의존성 표시
  • 액티브 로우 표시기
  • 비트 폭과 버스 레이블
  • 기능표 참조

이 표시는 작은 시각 언어를 이룹니다. 그 의미는 즉석 문자 목록이 아니라 관련 표준 또는 소자 문서에서 와야 합니다. 같은 문자도 핀 이름, 의존성 주석, 도구별 구성 요소 라이브러리에서 역할이 다를 수 있습니다.

플립플롭, 카운터, 레지스터, 메모리의 안전한 읽기 순서는 다음과 같습니다.

  1. 구성 요소와 명시된 기능을 식별합니다.
  2. 클록, 인에이블, 비동기 제어, 데이터 핀을 찾습니다.
  3. 모든 극성과 에지 표시기를 기록합니다.
  4. 기능표에서 우선순위 규칙을 확인합니다.
  5. 출력이 정상, 보수, 트라이스테이트, 오픈드레인/오픈컬렉터인지 확인합니다.

직사각형은 구조를 주고 주석과 기능표는 계약을 제공합니다.

신뢰할 수 있는 회로도 읽기 절차

기호 계열이 낯설 때는 반복 가능한 절차를 쓰세요.

1. 연결성부터 시작

소스에서 목적지까지 신호를 추적합니다. 블록을 해석하기 전에 버스 폭, 접점 점, 넷 레이블, 전원 도메인을 기록합니다.

2. 부울 또는 순차 기능 식별

윤곽 또는 내부 한정자를 씁니다. 어느 쪽이 낯설면 도면 범례나 구성 요소 참조를 봅니다.

3. 모든 반전 표시

작업 사본에서 모든 입력 및 출력 버블에 원을 칩니다. 액티브 로우 이름은 ‘0일 때 인에이블’ 같은 명시 조건으로 번역합니다.

4. 데이터와 제어 분리

데이터 입력은 선택된 연산에 참여합니다. 인에이블, 클록, 리셋, 선택은 언제 또는 어느 연산이 일어나는지 정합니다. 이를 혼동하면 논리적으로 그럴듯하지만 잘못된 해석이 됩니다.

5. 상태와 타이밍 확인

조합 게이트는 진리표만으로 충분할 수 있습니다. 순차 요소는 활성 클록 에지, 셋업·홀드 요구, 비동기 제어, 리셋 복구/제거 제약도 확인합니다.

6. 권위 있는 소스로 검증

실제 IC는 제조사의 현행 데이터시트가 핀 동작을 지배합니다. 관리되는 엔지니어링 도면은 프로젝트가 지정한 표준과 판을 사용합니다. 시뮬레이터는 그 구성 요소 문서를 사용합니다.

기호가 시뮬레이션 동작을 바꾸는가?

그 자체로는 아닙니다. 두 도면이 같은 입력, 출력 극성, 전원 가정, 타이밍 매개변수로 같은 기반 모델을 인스턴스화한다면 그래픽만 바꾸어 결과가 달라져서는 안 됩니다.

이 단서는 중요합니다. 동등해 보이는 두 기호가 다른 모델을 가리킬 수 있습니다.

  • 하나에는 인에이블 입력이 있을 수 있습니다.
  • 하나는 전파 지연을 모델링하고 다른 하나는 이상적일 수 있습니다.
  • 하나는 액티브 로우 논리를 쓸 수 있습니다.
  • 하나는 트라이스테이트 또는 오픈컬렉터 동작을 드러낼 수 있습니다.
  • 하나는 미지 및 하이임피던스 상태를 다르게 정의할 수 있습니다.

정상 상태는 진리표로, 전이는 타이밍 추적으로 검증하세요. 논리 분석기나 오실로스코프 보기는 정적 기호가 보여 주지 못하는 지연, 글리치, 상태 변화를 드러낼 수 있습니다.

흔한 실수

‘ANSI’와 ‘IEC’를 지역 보장으로 취급하기

국가 원산지가 데이터시트의 표기를 정하지는 않습니다. 공급업체, 제품군, CAD 라이브러리는 규약을 섞습니다. 앞의 문서를 읽으세요.

제어 핀 버블 무시하기

0으로 유지한 액티브 로우 리셋은 다른 모든 입력을 지배할 수 있습니다. 데이터 흐름을 분석하기 전에 극성을 번역하세요.

=1이 항상 넓은 XOR이라고 가정하기

정확히 하나와 홀수 패리티는 세 입력에서 갈라집니다. 정의와 입력 수를 확인하세요.

부동 입력에 유효한 기본값이 있다고 가정하기

연결되지 않은 CMOS 입력은 예측 불가능하게 안정화하거나 결합 노이즈에 반응하고, 스위칭 임계값 근처에 머물면 전원 전류를 늘릴 수 있습니다. 소자 문서가 권하는 풀업, 풀다운, 직접 연결을 사용하세요. 시뮬레이터의 부동 상태 정책은 하드웨어와 다를 수 있습니다.

기능표 없이 블록 읽기

복잡한 기호는 압축적으로 설계됩니다. 우선순위, 인에이블 동작, 비동기 제어, 무효 조합은 흔히 동반 표에 있습니다.

프로젝트는 어느 표기를 써야 하나?

조직, 고객, 적용 도면 표준이 요구하는 표기를 쓰세요. 새 프로젝트에서는 다음을 수행합니다.

  • 일관된 라이브러리 선택
  • 회로도 범례에 규약 명시
  • 액티브 로우 명명을 체계화
  • 구분이 의도적이지 않다면 기호 계열 혼용 회피
  • 자명하지 않은 블록에 기능표 첨부
  • 원본 라이브러리뿐 아니라 렌더링 회로도 검토

특징적 모양은 기본 게이트에서 빠르게 인식됩니다. 직사각형 표기는 복잡한 기능을 위한 체계적 어휘를 제공합니다. 어느 장점도 명확한 레이블과 문서를 대체하지 않습니다.

표준 메모와 1차 자료

요약

전문적인 회로도 읽기는 모양 암기가 아니라 절제된 번역입니다.

  1. 기능을 식별합니다.
  2. 모든 극성 표시를 보존합니다.
  3. 데이터와 제어를 분리합니다.
  4. 정확히 하나와 홀수 패리티 논리를 구분합니다.
  5. 범례, 표준, 소자 기능표를 참조합니다.
  6. 정상 상태뿐 아니라 타이밍도 검증합니다.

이 절차를 쓰면 D 모양 AND 게이트와 직사각형 & 블록은 늘 그랬듯 같은 부울 연산의 두 그래픽 표현이 됩니다.

디지털 논리 101을 계속 읽고, 드 모르간 법칙을 복습하거나, AND 게이트 구성 요소 참조를 열어 회로에서 이 번역을 적용하세요.

아이디어를 실제로 작동하는 회로로 만들어 보세요.