meLR 2024. 1. 15. 20:07

 

모든 디지털 기기는 모두 2진 정보를 저장하고 처리하도록 설계된 칩들을 탑재한다.

=> 표준 게이트칩들은 계산처리 및 메모리 칩을 구성하는데 사용된다.

불 대수

 

참거짓과 같은 불 2진 값을 다루는 대수

 

불 연산자 : Or And Not 가장 기본 불함수

불 함수 : 2진수를 받아 2진수를 출력하는 함수를 말하며 불연산자를 통해 만들 수있다.

 

컴퓨터는 2진수를 처리하는 하드웨어이므로 불 함수는 컴퓨터에서 중심 역할을 한다.

Nand ⇒ Or, And, Not ⇒ 모든 불함수 (이때 변수는 2개)

 

진리표와 불표현식

불 함수는 진리 표와 불 표현식을 통해 표현가능하다

 

진리표 : 어떤 세상의 상태를 기술하는데 편리한 형식이다.

진리표

불표현식 : 실리콘에 구현하는데 편리한 형식이다.

불표현식

진리표에서 불표현식으로 불표현식에서 진리표로 옮겨 다니는 것은 하드웨어 설계에서 중요하다.

불함수의 진리표 표현은 유일하지만 불함수의 불표현식은 뜻은 같지만 표현이 달라질수있기 때문에 단순한 불표현식을 찾는 것도 중요하다.

 

논리게이트

게이트는 간단한 불 함수를 구현한 물리적 장치이다.

 

일반적으로 게이트는 실리콘에 식각된 트랜지스터들이 칩에 패키징 된 형태로 구현된다.

기본 논리 게이트가 있으며 이를 조합하여 새로운 게이트를 만든다.

게이트 인터페이스는 유일하고 이러한 인터페이스를 구현하기 위해 구현은 수만가지 방법이 있지만 가장 효율적이고 단순하게 기능을 구현하는 것이 중요하다.

HDL

디지털 회로 및 혼합 신호를 표현하는 하드웨어 기술언어이며 칩 설계 디버깅 최적화를 도와준다.

xor 게이트 다이어그램 및 HDL 구현 예시


 

7가지 논리 게이트

Nand

입력 : a, b

출력 : out

기능 : If a=b=1 then out=0 else out=1

 

Not

입력 : in

출력 : out

기능 : If in=0 then out=1 else out=0.

 

And

입력 : a, b

출력 : out

기능 :If a=b=1 then out=1 else out=0.

 

Or

입력 : a, b

출력 : out

기능 :If a=b=0 then out=0 else out=1.

 

Xor

입력 : a, b

출력 : out

기능 :If a≠b then out=1 else out=0.

 

Mux

입력 : a, b, sel

출력 : out

기능 :: If sel=0 then out=a else out=b.

DMux

입력 : a, b, sel

출력 : out

기능 :: If sel=0 then {a=in, b=0} else {a=0, b=in}.

기본게이트의 멀티비트 버전

컴퓨터 하드웨어는 보통 멀티 비트 값들을 처리하도록 설계된다.

 

HDL은 개별 비트에 접근하기 위해 인덱스를 사용한다. 또한 비트에서 인덱스는 오른쪽에서 왼쪽으로 부여된다.

→ 우리가 아는 리스트와 인덱스가 반대로 부여된다.

 

멀티비트 Not

→ 각 비트마다 기본게이트를 써서 내보내준다

 

멀티비트 And, Or, 멀티플렉서

→ 각 비트 쌍마다 기본게이트로 연산을 사용하여 출력해준다.

기본게이트의 다입력 버전

다입력 Or

m개의 입력비트 중 적어도 하나가 1이면 1을 출력 그외에는 0을 출력

 

다입력/멀티비트 멀티플렉서

m입력 n비트 멀티 플렉서는 m개의 n비트입력중 하나를 선택해서 n비트의 출력으로 내보낸다.

선택입력은 k개의 제어 비트로 구성되고 k=log_2n 이다.

 

다입력/멀티비트 디멀티플렉서

m입력 n비트 디멀티 플렉서는 n비트 입력을 하나 받아 m개의 n비트 출력중 하나로 내보낸다. 다른 출력은 0으로 설정된다. 선택입력은 k개의 제어 비트로 구성되고 k=log_2n이다.

 


구현

1. 행동 시뮬레이션

    고수준의 언어로 칩인터페이스를 실험할수있는 소프트웨어 기반 기법

 

2. 하드웨어 구현

    실리콘에 올릴수있도록 HDL을 가지고 칩으로 구현하는 방법

 

내장형 칩

소프트웨어 기반 내장형 구현을 한 칩