출처: https://3months.tistory.com/307 [Deep Play]

3-2/디지털회로개론

9-1주차(ROM,PLA,PAL)

코딩하는 랄뚜기 2021. 11. 2. 16:35

Read-Only Memory(ROM)

ROM은 Read-Only-Memory로 Input Line이 주어지면 정해진 Function에 맞게 값을 도출한다.

일반화 하자면 n개의 input이 주어졌을 때, 2^n개의 word와 2^n*m개의 bit들이 있고 m개의 ouput line이 생긴다.


An 8-Word x 4-Bit ROM

F 값들이 위와 같이 주어졌을 때, ROM은 위와 같이 나온다. Switch와 와이어의 조합으로 OR연산이 된다는 것을 기억하자!


ROM

ROM에서는 왼쪽과 같은 표현을 오른쪽과 같이 간략하게 표현한다.\

16 x 4 ROM
Designing with Read-Only Memories

W(A,B,C,D) = ∑m(3,7,8,9,11,15), X(A,B,C,D) = ∑m(3,4,5,7,10,14,15), Y(A,B,C,D) = ∑m(1,5,7,11,15)을 ROM으로 표현한 것이다.

 

Hexadecimal to ASCII Code Converter

ASCII Code for Hex Digit을 보고 알 수 있는 점은 A5=A4이고 A6가 이들의 inverter라는 것이다. A6,A5,A4를 제외하고 보면 숫자일 경우 그냥 binary코드와 같다는 것을 알 수 있다. 

 

A6,A5,A4는 숫자 or 문자인지를 판단

A3,A2,A1,A0는 어떤 숫자 or 문자인지를 알려줌

ROM realization of code converter


PLA

ROM은 1은 적지만 0은 많다. PLA(Programmable Logic Array)는 이런 낭비를 최소화 해줄 수 있다.

PLA는 full decoder를 사용하는 것이 아니라 programmable decoder(AND array)를 사용한다.

programmable output array는 ouput value를 complement하기 위해서 사용된다.

 

PLA는 ROM보다 flexible하고 더 efficient하다.

Programmable Logic Array Structure

 

왼쪽을 진리표를 가지고 중앙의 Knaugh Map을 만들어 SOP를 만들고 SOP로 제일 오른쪽에 있는 PLA를 만든다.

 


Example

W(A,B,C,D) = ∑m(3,7,8,9,11,15), X(A,B,C,D) = ∑m(3,4,5,7,10,14,15), Y(A,B,C,D) = ∑m(1,5,7,11,15)

왼쪽 보다는 오른쪽처럼 식을 이용하여 Knaugh Map을 만들때 겹치는게 최대한 많게 만들어 줘야 한다.
왼쪽의 경우 term이 두개나 더 필요하기 때문에 오른쪽보다 inefficient하다
Adder를 Programming하면 오른쪽 처럼 나온다.


Example

위의 식을 PAL로 표현한 것

 

여기서 t는 f,g,h가 서로 겹치는 a'b'c'+a'c'd+b'c'd 이고 이를 한번 계산해서 겹치지 않는 부분들과 OR연산을 해주어 f,g,h를 구한다.

'3-2 > 디지털회로개론' 카테고리의 다른 글

10-2주차(Chapter 5)  (0) 2021.11.14
10-1주차 (Chapter 5)  (0) 2021.11.08
8주차(Adder/Subtractor/decoder/Multiplexer/Bus)  (0) 2021.11.02
7주차(Chapter 4)  (0) 2021.10.14
6-2주차(chapter3)  (0) 2021.10.06