-
반응형
팩토리 프로그래머블 디바이스도 있다. 이러한 디바이스는 소비자의 요구를 충족시키기 위해 제조공정에서 프로그램되는 디바이스를 포괄적으로 나타낸다. 이 프로그래밍 기술은 변경이 불가능한 공정을 사용한다. 따라서 프로그래밍은 오직 한 번만 할 수 있다. 팩토리 프로그래머블 논리의 예로서 마스크 프로그래머블 게이트 어레이(MPGA)와 읽기 전용 메모리(ROM)가 있다. 읽기 전용 메모리는 프로그래머블 논리의 초기 형태라고 생각할 수 있다. ROM은 주로 메모리 소자로서 사용되지만, ROM을 이용하면 어떤 조합회로라도 구현할 수 있다. MPGA는 마스크를 설계해야 하는 전통적인 게이트 어레이이다. MPGA는 흔ㅍ히 게이트 어레이(Gate Array)라고 간단히 부르며, 주문형 집적회로(ASIC)를 만들기 위한 일반적인 기술이 되어 왔다. AND-OR 회로의 형태를 갖는 사용자 프로그래머블 논리는 1970년대 초에 개발되었다. 1972~1973년경에는 필드에서 1회만 프로그램 할 수 있는 로직 어레이를 사용할 수 있게 되어, 설계자가 즉시 맞춤형 설계를 할 수 있도록 하였다. 이러한 디바이스를 필드 프로그래머블 로직 어레이 또는 FPLA라고 한다. Monolithic Memories Inc.(MMI) 사는 5~20개의 규격화된 칩들과 동일한 기능을 수행할 수 있는 프로그래머블 로직 어레이(PLA)라고 하는 20-핀과 24-핀 패키지의 집적회로를 만들었다. 이와 유사한 디바이스는 프로그래머블 어레이 로직 또는 PAL이다. PAL과 PLA는 게이트의 어레이로 이루어진다. PLA에는 프로그래머블 AND 어레이와 프로그래머블 OR 어레이가 있어서, 사용자가 이 두레벨의 게이트를 이용하여 조합함수를 구현할 수 있게 한다. PAL은 PLA의 특별한 경우로, OR 어레이는 고정되어 있고 AND 어레이에 대해서만 프로그램할 수 있다. 플립플롭을 포함하는 PAL도 많다.
1970년대와 1980년대에는 PAL과 PLA가 많이 사용되었다. 이것들이 인기를 얻었던 이유 중 하나는 설계를 쉽게 할 수 있기 때문이었다. MMI 사와 Advanced Micro Devices(AMD) 사는 부울식을 변환하여 PLA를 쉽게 설정할 수 있도록 PALASM이라는 간단한 프로그래밍 언어를 개발하였다. PALASM은 PAL과 PLA의 프로그래밍을 비교적 간단하게 만들었다. 초기 프로그래머블 디바이스에서는 오직 한 번만 프로그래밍이 가능하였다. 프로그래머블 논리에서의 그다음 기술 혁신은 프로그래머블 다바이스를 회로로부터 제거하여 자외선 환경에 일정 시간 이상 두어야 한다. 따라서 회로 내에서 삭제하는 것은 불가능하다. 자외선 삭제기는 속도가 느려서 보통 삭제하는데 10~15분 정도 소요되었다. 그 다음에 전기적으로 지우는 기술이 개발되었다.. 이 기술은 보드에서 칩을 제거하지 않고 쉽고 빠르게 지우고 프로그램 할 수 있는 필드 프로그래머블로직 어레이의 개발을 가능하게 하였다. 초기 PAL과 PLA 다음으로, 전기적으로 지울 수 있는 CMOS 프로그래머블 논리소자(PLD)가 나왔다. PLD라는 용어는 어떤 프로그래머블 논리 소자에 대해서도 사용할 수 있지만, 많이 사용되는 PALCE22V10과 같이 PLD라고 부르는 디바이스의 집합이 따로 있다. PLD는 게이트의 어레이, 멀티플렉서, 플립플롭 또는 다른 표준 빌딩 블록들을 가지고 있는 매크로 블록을 포함하고 있다. PLD에는 이러한 매크로 블록이 여러 개 있다. Lattice Semiconductor 사는 쉽게 재프로그램할 수 있는 기능을 갖춘 비슷한 종류의 디바이스를 개발하였으며, 이러한 디바이스 계열을 GAL(Generic Array Logic)이라고 불렀다. 시장에 나와 있는 또 다른 타입의 제품인 복잡한 PLD(CPLD)와 구별하기 위해, 지금은 PLA, PAL, GAL, PLD, PROM을 간단한 PLD(SPLD)라고 한다. 이름에서 암시하듯이, CPLD는 SPLD에 비해 집적 능력이 크다. 그 집적도는 500~16000 게이트 범위를 갖는다. CPLD는 본질적으로 여러 개의 PLD를 단일 칩에 넣은 것으로, 크로스바 스위치를 일반적으로 사용하는 일종의 상호연결 회로를 가지고 있다.
1980년대 말에 Xilinx 사는 프로그래머블 디바이스에 대한 설정 정보를 저장하기 위해 정적 랜덤 액세스 메모리(SRAM)를 사용하였고, 상당히 많은 양의 논리를 집적할 수 있는 FPGA라고 하는 디바이스를 만들었다. 그 이름이 의미하는 것과는 달리, 이 디바이스의 기본적인 빌딩 블록은 게이트의 어레이가 아닌 정적 RAM과 멀티플렉서를 포함하는 더 크고 복잡한 블록이다. 곧바로 여러 PLD 벤더와 게이트 어레이 회사들이 시장에 뛰어들어 다양한 FPGA 구조를 생산하기 시작하였다. 일부 구조들은 리프로그래머블(Reprogrammable) 기술을 사용하였고, 다른 구조들은 프로그래머블 퓨즈 기술을 사용하였다. FPGA 기술은 꾸준히 발달하여 왔으며, 오늘날에는 5백만 게이트 이상을 갖고 있는 FPGA도 있다.
근본적으로 프로그래머블 논리소자는 사용자가 요구하는 어떤 기능이라도 구현하기 위해 사용될 수 있는 기본적인 빌딩 블록의 어레이로 이루어져 있다, 프로그래머블 디바이스들은 빌딩 블록의 종류나 프로그램 할 수 있는 정도가 서로 다르다. FPGA는 CPLD보다 더 크로 복잡하다. 다양한 우회 경로는 신호가 사용하는 경로를 예측할 수 없게 만든다. FPGA는 CPLD와 SPLD보다 가격이 비싸고, 프로그래밍에 대한 오버헤드가 크다. 이 장에서는 SPLD, CPLD, 그리고 FPGA를 포함하여 다양한 프로그래머블 디바이스를 설명한다.반응형