목차
●베릴로그(Verilog)
- HDL 정의
- HDL을 이용한 설계
- HDL 시뮬레이션
- HDL과 프로그래밍 언어의 비교
CPLD
- CPLD의 정의
- CPLD CPU 종류
FPGA
- FPGA의 정의
- FPGA의 특징
- FPGA 구조
FPGA와CPLD의 차이
1. 프로그램의 차이
2. 구조의 차이
3. 성능 척도
4. 반도체 프로세스의 차이
PLD
- PLD의 정의
- PLD의 쓰임
ASIC
- ASIC의 정의
- ASIC의 설계 방법
- HDL 정의
- HDL을 이용한 설계
- HDL 시뮬레이션
- HDL과 프로그래밍 언어의 비교
CPLD
- CPLD의 정의
- CPLD CPU 종류
FPGA
- FPGA의 정의
- FPGA의 특징
- FPGA 구조
FPGA와CPLD의 차이
1. 프로그램의 차이
2. 구조의 차이
3. 성능 척도
4. 반도체 프로세스의 차이
PLD
- PLD의 정의
- PLD의 쓰임
ASIC
- ASIC의 정의
- ASIC의 설계 방법
본문내용
정의
FPGA(field programmable gate array, 현장 프로그래머블 게이트 어레이)은 프로그래머블 논리 요소와 프로그래밍가능 내부선이 포함된 반도체 소자이다. 프로그래머블 논리 요소는 AND, OR, XOR, NOT, 더 복잡한 디코더나 계산기능의 조합 기능같은 기본적인 논리 게이트의 기능을 복제하여 프로그래밍할 수 있다. 대부분의 FPGA는 프로그래밍가능 논리 요소 (FPGA 식으로는 논리 블록이라고도 함)에 간단한 플립플롭이나 더 완벽한 메모리 블록으로 된 메모리 요소를 포함하고 있다.
프로그램이 가능한 내부선 계층구조는 FPGA의 논리블록을 시스템 설계자가 요구하는 대로 단일칩 프로그래밍가능 빵판처럼 내부연결을 할 수 있다. 이 논리블록과 내부선은 제조공정 이후에 소비자/설계자가 프로그램할 수 있으므로 요구되는 어떠한 논리기능도 수행할 수 있다.(그러한 이유로 \"현장 프로그래머블\")
FPGA는 일반적으로 주문형 반도체(ASIC) 대용품보다 느리고, 복잡한 설계에 적용할 수 없으며, 소비전력이 크다. 그러나 개발시간이 짧고, 오류를 현장에서 재수정할 수 있고, 초기 개발비가 저렴하다는 장점이 있다. 제조사는 설계 이후에 수정할 수 없도록 할당된 덜 유연한 FPGA 버전으로 싸게 팔 수 있다. 이런 설계개발은 일반적인 FPGA에서 만들었고 좀 더 ASIC와 비슷한 고정된 버전으로 변경되었다. 복합 프로그래머블 논리 소자 (CPLD)는 비슷한 역할을 할 수 있는 소자이다.
각각의 SPLD 블록 간에는 나뉘어진 segmented Interconnect를 쓰기 때문에 연결 상태에 따라 내부의 연결 길이가 변경될 수가 있다. 그러므로 연결 상태에 따라 라우팅 딜레이가 다르게 되어 타이밍의 예측이 어렵고 논리 소자의 성능 또한 CPLD의 구조에 비해 어진다. 그러나 사용자가 사용할 수 있는 게이트의 용량은 CPLD보다는 많다는 장점을 가지고 있는데, 이것은 각각의 구조가 나쁘다는 것보다는 사용자의 응용 부분에 따라서 특성화할 수 있다는 방향으로 보는 것이 정확할 것이다.
ASIC화할 때는 공장에서 칩 제조 단계에서 배선을 하지만 FPGA에서는 사용자 자신이 직접 배선을 하여야 한다. 작은 모듕들을 조합시키므로 설계가 자유롭지만 모듈의 배선에 따라서 지연 시간이 변할 수 있으므로 배선 완료 후에 반드시 타이밍 시뮬레이션을 할 필요가 있다. 연산 회로 등과 같이 복잡한 처리를 하는 회로에는 FPGA에 유리한 특성을 갖는다.
FPGA의 특징
A. 설계 환경이 간편하다.
B. 개발 기간이 다른 ASIC보다 매우 짧다.
C. ASCI(게이트 어레이, 표준 셀)으로 변환이 용이하다.
D. 설계 및 제작의 융통성이 높다.
E. 개발 비용이 매우 저렴하다.
F. 개당 가격이 비싸다.
FPGA 구조
일반적인 기본 구조는 컨피규러블 논리 블록 (configurable logic blocks) 어레이와 라우팅 채널로 구성된다. 다중 I/O 패드는 한행의 높이나 한열의 너비에 적합할지도 모른다. 일반적으로 모든 라우팅 채널은 동일한 (전선수) 폭을 가지고 있다.
응용회로는 적합한 자원을 가지는 FPGA를 반드시 매핑해야한다.
일반적인 FPGA의 논리 블록은 아래에 보이는 것처럼 4개의 입력 룩업 테이블 (lookup table)과 플립플롭으로 구성된다.
논리 블록
레지스터나 언레지스터 룩업 테이블이 가능한 하나의 출력만 있다. 논리 블록에는 룩업 테이블를 위한 4개의 입력과 클럭 입력이 있다. 클럭 신호 (와 높은 팬 아웃 신호)는 일반적으로 특별용도 전용 라우팅망을 통하여 연결되고 다른 신호는 분리하여 관리하기 때문이다.
이 예시구조로 FPGA의 논리 블록 핀 위치는 아래와 같이 보인다.
논리 블록 핀위치
각 입력은 출력핀이 바로 연결된 채널과 논리 블록을 통한 채널으로된 라우팅 전선을 연결할 수 있는 동안에 논리 블록의 한면으로 접근할 수 있다.
각 논리 블록 출력핀은 이렇게 이웃한 채널에서 분할된 전선 중 하나를 연결할 수 있다.
비슷하게 I/O 패드도 이렇게 이웃한 채널에서 분할된 전선중 하나를 연결할 수 있다. 예시로 칩의 맨위에 있는 I/O 패드는 바로 밑의 수평 채널에 있는 W 전선 (W는 채널 폭임)의 어떤것과 연결할 수 있다.
일반적으로 FPGA의 라우팅은 분할되지 않는다. 각 전선의 분할은 스위치 상자로 차단되기 이전에 하나의 논리 블록과 연결되어 있다. 스위치 상자 내부의 프로그래머블 스위치를 켜서 긴 라인을 구성할 수 있다. 고속의 내부선을 위해서 FPGA의 구조는 다중의 논리 블록과 연결된 긴 라우팅 라인을 사용한다.
어떤 수평 채널이나 수직 채널도 스위치 상자를 교차한다. 이 구조에서 전선이 스위치 상자로 들어갈 때 인접한 채널 분할에서 3개의 다른 전선을 연결할 수 있는 3개의 프로그래머블 스위치가 있다. 이 구조에서 사용되는 스위치의 패턴이나 위상은 평면이나 도메이기반의 스위치 상자 위상이다. 스위치 상자 위상에서 트랙 숫자 1의 전선은 인접한 채널 분할에 있는 트랙 숫자 1의 전선에만 연결되고, 트랙 숫자 2의 전선은 트랙 숫자 2의 다른전선에만 연결되며 이렇게 반복 연결된다. 아래의 그림은 스위치 상자에 있는 연결을 설명한다.
스위치 상자 위상
현대의 FPGA 계열은 반도체 공정 기술의 발전에 의해 높은 수준의 기능들을 가지게 되었으며, 초기 버전보다 속도와 기능이 향상되었다. 이런 기능들로는 곱셈기, 일반적인 DSP 블록, 임베디드 프로세서, 고속 IO 논리, 임베디드 메모리 등을 들 수 있다.
FPGA는 이전 실리콘의 유효성, 이후 실리콘의 유효성, 펌웨어 개발을 포함하여 시스템 유효성 검사에 널리 사용되고 있다. 칩이 공장에서 생산되기 이전에 설계를 검증하는 칩 회사가 생겨서 개발시간이 짧아졌다.
FPGA와CPLD의 차이
1. 프로그램의 차이
A. CPLD
데이터의 저장을 EEPROM에 하기 때문에 비휘발성이라 전원을 꺼도 다운로드한 파일이 그대로 유지되므로 추가되는 프로그램용 메모리가 필요없다.
B. FPGA
데이터 저장을 SRAM에 하기 때문에 휘발성이라 전원을 끄면 다 지워진다. 그래서 추가 로 프로그램을 저장하고 전원이 인가되었을
FPGA(field programmable gate array, 현장 프로그래머블 게이트 어레이)은 프로그래머블 논리 요소와 프로그래밍가능 내부선이 포함된 반도체 소자이다. 프로그래머블 논리 요소는 AND, OR, XOR, NOT, 더 복잡한 디코더나 계산기능의 조합 기능같은 기본적인 논리 게이트의 기능을 복제하여 프로그래밍할 수 있다. 대부분의 FPGA는 프로그래밍가능 논리 요소 (FPGA 식으로는 논리 블록이라고도 함)에 간단한 플립플롭이나 더 완벽한 메모리 블록으로 된 메모리 요소를 포함하고 있다.
프로그램이 가능한 내부선 계층구조는 FPGA의 논리블록을 시스템 설계자가 요구하는 대로 단일칩 프로그래밍가능 빵판처럼 내부연결을 할 수 있다. 이 논리블록과 내부선은 제조공정 이후에 소비자/설계자가 프로그램할 수 있으므로 요구되는 어떠한 논리기능도 수행할 수 있다.(그러한 이유로 \"현장 프로그래머블\")
FPGA는 일반적으로 주문형 반도체(ASIC) 대용품보다 느리고, 복잡한 설계에 적용할 수 없으며, 소비전력이 크다. 그러나 개발시간이 짧고, 오류를 현장에서 재수정할 수 있고, 초기 개발비가 저렴하다는 장점이 있다. 제조사는 설계 이후에 수정할 수 없도록 할당된 덜 유연한 FPGA 버전으로 싸게 팔 수 있다. 이런 설계개발은 일반적인 FPGA에서 만들었고 좀 더 ASIC와 비슷한 고정된 버전으로 변경되었다. 복합 프로그래머블 논리 소자 (CPLD)는 비슷한 역할을 할 수 있는 소자이다.
각각의 SPLD 블록 간에는 나뉘어진 segmented Interconnect를 쓰기 때문에 연결 상태에 따라 내부의 연결 길이가 변경될 수가 있다. 그러므로 연결 상태에 따라 라우팅 딜레이가 다르게 되어 타이밍의 예측이 어렵고 논리 소자의 성능 또한 CPLD의 구조에 비해 어진다. 그러나 사용자가 사용할 수 있는 게이트의 용량은 CPLD보다는 많다는 장점을 가지고 있는데, 이것은 각각의 구조가 나쁘다는 것보다는 사용자의 응용 부분에 따라서 특성화할 수 있다는 방향으로 보는 것이 정확할 것이다.
ASIC화할 때는 공장에서 칩 제조 단계에서 배선을 하지만 FPGA에서는 사용자 자신이 직접 배선을 하여야 한다. 작은 모듕들을 조합시키므로 설계가 자유롭지만 모듈의 배선에 따라서 지연 시간이 변할 수 있으므로 배선 완료 후에 반드시 타이밍 시뮬레이션을 할 필요가 있다. 연산 회로 등과 같이 복잡한 처리를 하는 회로에는 FPGA에 유리한 특성을 갖는다.
FPGA의 특징
A. 설계 환경이 간편하다.
B. 개발 기간이 다른 ASIC보다 매우 짧다.
C. ASCI(게이트 어레이, 표준 셀)으로 변환이 용이하다.
D. 설계 및 제작의 융통성이 높다.
E. 개발 비용이 매우 저렴하다.
F. 개당 가격이 비싸다.
FPGA 구조
일반적인 기본 구조는 컨피규러블 논리 블록 (configurable logic blocks) 어레이와 라우팅 채널로 구성된다. 다중 I/O 패드는 한행의 높이나 한열의 너비에 적합할지도 모른다. 일반적으로 모든 라우팅 채널은 동일한 (전선수) 폭을 가지고 있다.
응용회로는 적합한 자원을 가지는 FPGA를 반드시 매핑해야한다.
일반적인 FPGA의 논리 블록은 아래에 보이는 것처럼 4개의 입력 룩업 테이블 (lookup table)과 플립플롭으로 구성된다.
논리 블록
레지스터나 언레지스터 룩업 테이블이 가능한 하나의 출력만 있다. 논리 블록에는 룩업 테이블를 위한 4개의 입력과 클럭 입력이 있다. 클럭 신호 (와 높은 팬 아웃 신호)는 일반적으로 특별용도 전용 라우팅망을 통하여 연결되고 다른 신호는 분리하여 관리하기 때문이다.
이 예시구조로 FPGA의 논리 블록 핀 위치는 아래와 같이 보인다.
논리 블록 핀위치
각 입력은 출력핀이 바로 연결된 채널과 논리 블록을 통한 채널으로된 라우팅 전선을 연결할 수 있는 동안에 논리 블록의 한면으로 접근할 수 있다.
각 논리 블록 출력핀은 이렇게 이웃한 채널에서 분할된 전선 중 하나를 연결할 수 있다.
비슷하게 I/O 패드도 이렇게 이웃한 채널에서 분할된 전선중 하나를 연결할 수 있다. 예시로 칩의 맨위에 있는 I/O 패드는 바로 밑의 수평 채널에 있는 W 전선 (W는 채널 폭임)의 어떤것과 연결할 수 있다.
일반적으로 FPGA의 라우팅은 분할되지 않는다. 각 전선의 분할은 스위치 상자로 차단되기 이전에 하나의 논리 블록과 연결되어 있다. 스위치 상자 내부의 프로그래머블 스위치를 켜서 긴 라인을 구성할 수 있다. 고속의 내부선을 위해서 FPGA의 구조는 다중의 논리 블록과 연결된 긴 라우팅 라인을 사용한다.
어떤 수평 채널이나 수직 채널도 스위치 상자를 교차한다. 이 구조에서 전선이 스위치 상자로 들어갈 때 인접한 채널 분할에서 3개의 다른 전선을 연결할 수 있는 3개의 프로그래머블 스위치가 있다. 이 구조에서 사용되는 스위치의 패턴이나 위상은 평면이나 도메이기반의 스위치 상자 위상이다. 스위치 상자 위상에서 트랙 숫자 1의 전선은 인접한 채널 분할에 있는 트랙 숫자 1의 전선에만 연결되고, 트랙 숫자 2의 전선은 트랙 숫자 2의 다른전선에만 연결되며 이렇게 반복 연결된다. 아래의 그림은 스위치 상자에 있는 연결을 설명한다.
스위치 상자 위상
현대의 FPGA 계열은 반도체 공정 기술의 발전에 의해 높은 수준의 기능들을 가지게 되었으며, 초기 버전보다 속도와 기능이 향상되었다. 이런 기능들로는 곱셈기, 일반적인 DSP 블록, 임베디드 프로세서, 고속 IO 논리, 임베디드 메모리 등을 들 수 있다.
FPGA는 이전 실리콘의 유효성, 이후 실리콘의 유효성, 펌웨어 개발을 포함하여 시스템 유효성 검사에 널리 사용되고 있다. 칩이 공장에서 생산되기 이전에 설계를 검증하는 칩 회사가 생겨서 개발시간이 짧아졌다.
FPGA와CPLD의 차이
1. 프로그램의 차이
A. CPLD
데이터의 저장을 EEPROM에 하기 때문에 비휘발성이라 전원을 꺼도 다운로드한 파일이 그대로 유지되므로 추가되는 프로그램용 메모리가 필요없다.
B. FPGA
데이터 저장을 SRAM에 하기 때문에 휘발성이라 전원을 끄면 다 지워진다. 그래서 추가 로 프로그램을 저장하고 전원이 인가되었을
추천자료
성매매 실태조사
교육공학의 개념과 발달사
[법인세법][법인세][세무조사][법인세효과][법인세법 정책적 시사점]법인세의 의의, 법인세법...
[통계][통계와 통계학자][통계와 연구조사][통계와 지역통계][통계와 통계품질평가시스템][통...
근골격계질환(직업병)의 재해조사, 근골격계질환(직업병)의 유해요인조사, 근골격계질환(직업...
[GMO] GMO(유전자조작식품)의 장단점 - GMO 식품의 안전성, GMO 표시제, 기술의 적용범위, GM...
SNS의 개념, 용어, 조사방향, 국내, 해외에서 나타나는 시민사회 운동, 온라인 정치참여 SNS ...
[사회과학] SNS 정의, 배경, 용어, 조사방향, 해외, 국내, 온라인에서 나타나는 SNS의 역할, ...
SNS 정의, 배경, 용어, 조사방향, 해외, 국내, 온라인에서 나타나는 SNS의 역할, 사례 분석, ...
교수설계의 용어사용 분석과 개선방안
[지질]지질과 지질학자, 교수학습방안, 지질조사, 지질과 전남지질조사(전라남도지질조사), ...
[레포트]진동공학 Term project 지진계의 원리 및 설계
사회복지조사론이 사회복지사에 왜 필요할까요?
내적타당도와 외적타당도의 관계와 저해요소에 관한 사례 제시
소개글