프로그래머블 어레이 논리

20핀 딥타입 MMI 16R6 24핀 딥타입 AMD 22V10 **프로그래머블 어레이 논리**(Programmable Array Logic, PAL)란 용어는 1978년에 모놀리식 메모리 (주)가 소개한 디지털 회로 반도체의 논리 기능을 실행하는 데 사용된 프로그래머블 논리 소자 반도체의 종류를 기술하는 데 사용된다. 프로그래머블 어레이 논리 소자는 작은 PROM(프로그램 가능 판독 전용 메모리) 코어와 특별한 기능이 바라던 약간의 구성요소를 갖는 논리 기능을 사용하는 추가적인 출력 논리로 구성된다. 특별한 장비에서 사용되는 프로그래머블 어레이 논리 소자는 "현장 프로그래머블" (반대 "제조 프로그래머블" 하드 어레이 논리(hard array logic))이다. 각 프로그래머블 어레이 논리 소자는 "한번만 프로그램되며" (OTP), 이것은 초기에 프로그래밍한 후에 갱신하거나 재사용할 수 없다는 것을 뜻한다. (MMI는 하드 어레이 논리(HAL)라고 불리는 비슷한 소자를 제공하고 있으며, 제조할 때 프로그램되어 나오는 것을 제외하면 프로그래머블 게이트 논리 소자처럼 생겼다.)
# 이전의 역사
프로그래머블 어레이 논리가 소개되기 이전에 디지털 논리 회로 설계자는 7400 시리즈 트랜지스터-트랜지스터 논리 (TTL) 계열같은 소규모 집적회로 (SSI) 소자를 사용했었다; 7400 계열은 게이트 (NOT, NAND, NOR, AND, OR), 멀티플렉서 (먹스), 디멀티플렉서 (디먹스), 플립플롭 (D, JK, 기타) 등과갈은 다양한 논리 블록을 포함한다. 하나의 프로그래머블 어레이 논리 소자는 일반적으로 이렇게 "분리된" 논리 패키지의 12개를 대체할 수 있어서 SSI 사업은 PAL 산업이 차지하면서 쇠퇴하기 시작했다. 프로그래머블 게이트 논리는 트레이시 키더(Tracy Kidder)의 베스트셀러인 "새로운 기계의 영혼" (The Soul of a New Machine)의 문서처럼 소형컴퓨터같은 많은 제품에 유리하게 사용되었다. 프로그래머블 어레이 논리는 첫 번째 상업용 프로그래머블 논리 소자가 아니다; 시그네틱스는 1975년부터 현장 프로그래머블 논리 어레이 (FPLA)를 판매하였다. 이 소자들은 대부분의 회로 설계자에게 완전히 익숙하지 않았고 사용법을 이해하는게 너무 어려웠다. 현장 프로그래머블 논리 어레이는 (프로그램되는 AND와 프로그램되는 OR 어레이 양쪽다 존재해서) 상대적으로 최대 동작 속도가 느렸고, 비쌌으며, 시험성에 형편없는 명성을 가졌다. 현장 프로그래머블 논리 어레이의 수용에 다른 제한점은 600 mil (15.24 mm, 0.6 inch)의 넓은 28 핀 이중 직렬 패키지 (DIP)로 큰 패키지이다. 프로그래머블 어레이 논리로 생성된 설계사업은 존 버크너(John Birkner)가 관리하였고 실제 PAL 회로는 H. T. Chua가 설계하였다. 버크너 씨의 이전 직업은 80 표준 논리 소자를 사용한 16 비트 프로세서 개발자였다. 그의 표준 논리를 사용한 경험은 사용자 프로그래머블 소자가 표준 논리를 대체하는 설계하면 설계자에게 더 매력적일거라고 믿게되었다. 이것은 패키지 크기가 좀 더 일반적으로 존재하는 소자이고 속도가 향상되었음을 의미한다. 이런 요구가 맞는 프로그래머블 어레이 논리는 크게 성공했고 내셔널 세미컨덕터, 텍사스 인스트루먼트, AMD가 2차 공급하게 되었다.
# 제조 기술
초기의 PAL은 실리콘을 사용하여 한번만 프로그램되는 (OTP) 니크롬 프로그램 퓨즈를 갖는 접합형 트랜지스터 기술로 제조된 20 핀 딥 소자였다. 이후의 소자는 NMOS 기술을 사용하여 래티스 세미컨덕터와 내셔널 세미컨덕터에서 제조하였다. 1980년대 초에는 지택스(Zitex)는 저온공정 시모스 기술을 사용하여 만들어진 프로그래머블 어레이 논리는 초기 애플 매킨토시에 사용되었고 대류 냉각에 의지하여 조용히 동작하였다. 프로그래머블 어레이 논리는 MMI에서 소규모 집적회로 (SSI)나 중규모 집적회로 (MSI) 소자처럼 기술되었다.
# PAL 구조
(퓨즈처럼 보이는) 프로그래머블 요소는 그대로의 입력과 반전된 입력이 논리곱 소자에 연결되어 있다. 이런 논리곱 소자가 논리합으로 모인 형태를 알려진 "제조 용어"로 "논리곱의 합" 논리 배열이라고 한다. PAL 구조는 2개의 요소로 구성된다: 논리 평판과 출력 논리 매크로셀.
## 프로그래머블 논리 평판
PAL 평판은 소자핀 (혹은 이런 신호의 논리소자)에 존재하는 신호를 출력 논리 매크로셀에 배선하는게 가능하게 하는 피롬 (PROM) 배열이다. PAL 소자는 입력 항과 출력으로부터 동기되거나 동기되지 않은 피드백에서 출력 각각에게 효과적인 논리곱의 합 이진 논리식을 사용한 "고정된 논리합 소자와 프로그램되는 논리곱 소자" 평판에 트랜지스터 셀의 배열이 있다.
## 출력 논리
초기의 20 핀 PAL은 10 개의 입력과 8 개의 출력을 가졌다. 출력은 액티브 로우이고 레지스터나 조합이 가능하다. PAL 계열의 소자들은 "출력 논리 매크로셀" (OLMC)이라고 불리는 다양한 출력 구조가 가능하다. "V" (다양한) 시리즈의 소개에 이전에, 제조할 때 고정된 각 PAL에서 가능한 OLMC의 형태이다. (PAL16L8은 8개의 조합 출력을 가지고 PAL16R8은 8개의 레지스터 출력을 갖는다. PAL16R4가 4개씩의 레지스터와 조합출력을 지니는 동안 PAL16R6은 6개의 레지스터와 2개의 조합출력을 갖는다.) 각 출력은 (효과적인 논리곱 소자) 8개의 논리곱 조건을 가질 수 있지만 조합출력은 양방향성 출력 버퍼를 제어하는 조건의 하나만 사용된다. 출력당 더 많은 논리곱 조건이 되고 액티브 하이출력이 가능한 몇 개의 출력을 가지는 다른 조합이 있다. 16X8 계열이나 레지스터 소자는 레지스터 앞에 배타적 논리합 소자가 있다. 비슷하게 이런 PAL의 24 핀 버전도 있다. AMD 22V10 출력 매크로셀 고정된 출력 구조는 다른 종류의 출력 구조가 응용제품에서 필요하기 때문에 PAL 소자의 도구를 최적화하는 것을 시도하는 설계자를 좌절시키곤 한다. (예로 하나는 3개의 액티브 하이 조합 출력을 가지는 5개의 레지스터 출력을 얻을 수 없다.) 그래서 1983년에 AMD날짜=2020-1-24는 10개의 출력 논리 매크로셀이 있는 24핀 소자 22V10을 소개하였다. 각 매크로셀은 사용자가 조합이나 레지스터, 액티브 하이나 액티브 로우로 설정할 수 있다. 논리곱 조건수는 8 ~ 16으로 다양하게 출력을 할당된다. 이 하나의 소자는 24핀 고정된 기능 PAL 소자의 전부를 대제할 수 있다. PAL "V" (다양한) 시리즈의 계열은 PAL16V8, PAL20V8, PAL22V10이 포함된다. 파일:PAL Block 16R4 블록 다이어그램 파일:22V10 Block 22V10 블록 다이어그램
# 프로그래밍 PAL
프로그래머블 어레이 논리는 (JEDEC ASCII/십육진법 파일같은) 이진 패턴을 사용하여 전기적으로 프로그램되고 특별한 전자 프로그래밍 시스템은 제조사나 데이터 I/O같은 제3의 공급사가 공급한다. 단일칩 소자 프로그래머가 추가된 소자 피더와 갱 프로그래머는 소량의 PAL보다 더 많은 PAL이 프로그램될 필요가 있을 때 자주 사용된다. (큰 비중을 차지하는 전기적 프로그래밍 비용은 제조사가 제조할 때 고객의 패턴을 프로그램하는 데 사용할 특정 금속 마스크를 만들어서 제거할 수 있다; MMI는 소자를 이 방식으로 프로그램하도록 하는 "하드 어레이 논리" (HAL)라는 용어를 사용한다.)
## 프로그래밍 언어
4비트 카운터의 PALASM 설계 어떤 공학자는 이진 퓨즈 패턴 데이터를 포함하는 수동으로 수정한 파일로 PAL 소자를 프로그램하였으며, 대부분 그들의 논리를 설계하는 데 데이터 입출력의 ABEL, 로지컬 디바이스의 CUPL, MMI의 PALASM 같은 하드웨어 기술 언어(HDL)를 선택하였다. 이것은 컴퓨터 이용 설계 (캐드) (지금은 “설계 자동화”로 귀속됨) 프로그램이며 설계자의 논리식을 각 소자를 프로그램(혹은 검증)하는 데 사용되는 이진 퓨즈 맵 파일로 번역(“컴파일”)한다.
### PALASM
(“PAL 어셈블러”로부터) PALASM 언어는 텍스트 파일에서 출력핀에 불식을 표현하여 사용되었으며 프로그래밍 시스템이 제조사가 공급한 프로그램에 사용하기위한 퓨즈 맵 파일로 변환하였다; 이후에 도면으로부터 번역 (컴파일) 조건이 공통으로 되었고, 결국 퓨즈 맵은 베릴로그같은 하드웨어 기술 언어로부터 합성될 수 있다. PALASM 컴파일러는 MMI가 IBM 370/168에 포트란4로 기록하였다. MMI는 비용없이 소스 코드를 사용하게 만들었다. 1983년에 MMI 고객은 DEC PDP/11, 데이터 제너널 노바, 휴렛 팩커드 HP2100, MDS800 등에서 버전을 운영했다.
### ABEL
데이터 I/O가 발표한 ABEL이다.
### CUPL
로지컬 디바이스가 프로그래머블 논리의 범용 컴파일러 (CUPL)를 발표하였고 IBM 개인용 컴퓨터의 MS-DOS에서 실행되었다.
## 소자 프로그래머
소자 프로그래머 유명한 소자 프로그래머는 데이터 I/O사의 모델 60A와 모델 2900 논리 프로그래머가 있다.
# 성공 회사
MMI의 20핀 PAL 소자 성공 이후에는 추가적 기능이 있는 24핀 22V10 PAL을 발표하였다. AMD로부터 분리된 MMI(약 1987년)가 매각된 후 밴티스처럼 병합되었고 사업은 1999년에 래티스 세미컨덕터에게 인수되었다. 래티스 세미컨덕터는 이이피롬 (EEPROM) 기술 기반에 재프로그램되는 논리 평판을 사용한 "V" 시리즈 PAL과 동등한 기능을 갖는 "일반 어레이 논리" (GAL) 계열을 발표하였다. 내셔널 반도체는 GAL 소자의 제 2의 공급사였다. AMD는 PALCE라고 불리는 비슷한 계열을 발표하였다. 큰 규모 프로그래머블 논리 소자는 아트멜, 래티스 세미컨덕터 등에 의해서 발표되었다. 이런 소자들은 논리 평판내부에 논리 매크로셀을 내장한 다중의 논리 평판 논리곱/논리합 소자를 포함하여 PAL 구조를 확장되었다. "복합 프로그래머블 논리 소자" (CPLD)라는 용어는 구식의 PAL과 GAL로부터 분화되어 발표되었으며, 어떤 경우에는 "단순 프로그래머블 논리 소자" (SPLD)로 통하였다. 큰 CPLD의 종류는 종종 "현장 프로그래머블 게이트 어레이" (FPGA)를 뜻하였다. 이 용어는 알테라와 자이링스가 현재 제조되는 소자를 기술하는 데 자주 사용하였다.