ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로

Slides:



Advertisements
Similar presentations

Advertisements

ASIC (Application Specific Integrated Circuit)
1 08 Simple Sequential Logic Design with Finite State Machines & Timing Design.
Introduction 2007년 2학기.
VHDL Package & Subprogram
Copyright SangSangDom, All Rights Reserved.
Project Goal..! Milestone Role Division Achievement Result
VHDL 프로그램은 비동기 Reset을 갖는 D 플립플롭을 구현한 것이다
Dept. of Electronics & Info. Eng. Prof. Jongbok Lee
디지털 시계 설계.
마이크로프로세서 메모리 및 입출력장치 인터페이스
Design of Digital Clock (디지털 시계의 설계)
7 조합논리회로 IT CookBook, 디지털 논리회로.
4 컴퓨터에서 활용되는 디지털 논리회로 IT CookBook, 컴퓨터 구조와 원리 2.0.
VHDL, FPGA를 이용한 소리인식 스위치 (Matched Filter 사용)
순차로직 개요.
FPGA 설계 이 상 훈 경남대학교 전기전자공학부.
PLD와 FPGA의 비교                                                                                                                                                                                                                                                  
디지털 산술과 연산회로.
1. VHDL과 합성 설계 1.1 HDL: Hardware Description Language 집적회로의 설계환경의 변화
가산기 설계.
VHDL과 디지털회로 설계 전남대학교 전자공학과 김 영 철.
Multiplexer 설계.
VHDL의 기본 Lecture #5.
Verilog HDL 이론.
디지털 시스템 설계(3).
(Integrated System Design Lab)
VHDL Description D-latch C=1 일 때 Q 는 D의 입력 값 이 전달된다.
신호등 제어기 차량의 흐름에 따라 신호등의 신호를 제어하는 장치 신호등 제어기의 입출력 신호
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
19장. 원격 조정 로봇 설계 김용애 1조 김정은 이동한 이재흔.
공학실험.
4 기본 논리게이트 IT CookBook, 디지털 논리회로.
COMPUTER ARCHITECTIRE
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
MAX+PLUS II 설치 및 디지털 시스템의 설계 방법
VHDL Package and Sub program
Chap. 18 라인 트레이서의 설계 라인 트레이서 바닥에 그려진 선을 따라가는 로봇을 의미 라인 트레이서 구성도
논리회로 설계 기초 (1) Lecture #1.
II. VHDL 설계부 4장. VHDL 개요 5장. VHDL 설계 구성 6장. VHDL 객체 및 타입 7장. VHDL 모델링
Ch2-2. VHDL Basic VHDL lexical element VHDL description
존슨카운터의 동작을 설명·설계할 수 있다 링카운터의 동작을 설명·설계할 수 있다
논리회로 설계 및 실험 2주차.
1장. 디지털 논리 회로 다루는 내용 논리 게이트 부울 대수 조합 논리회로 순차 논리회로.
VHDL의 기본 Lecture #4.
Data type and Object 자료형 변환 함수들은 std_logic_arith 패키지에 정의되어 있음.
FSM 설계.
Flip-Flop 설계.
Ch2-1. VHDL Introduction VHDL 정의 VHDL의 역사 VHDL의 장점 HDL의 종류 VHDL 모델링
디지털 시스템 설계(3).
오브젝트 하드웨어 기술 언어 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Programmable Logic Device
VHDL Mealy and Moore model
Chapter 01 디지털기초.
과학 탐구 토론 대회 1학년 2반 박승원 1학년 5반 권민성.
논리회로 설계 및 실험 3주차.
VHDL.
VHDL 디지털시계 2.
7주차 FPGA 보드 사용법.
가산기 설계.
논리회로 설계 및 실험 2주차.
디 지 털 공 학 한국폴리텍V대학.
디지털 시계 설계 장성락 전영진 임종엽 전보현 이형준.
LCD.
DEGITAL LOGIC CIRCUIT Term Project – 4 bit ALU.
논리회로 설계실험 ICE ICE 담당교수 : 김 인 수.
시스템 분석 및 설계 2007학년도 2학기 멀티미디어공학과 2학년 대상 담당교수 박태희
7주차 실습 FPGA 보드 사용법.
VHDL 응용 Lecture #10.
Lecture 7 7-Segment LED controller using u-controller
Presentation transcript:

ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로 넓은 의미 : Memory와 일반 표준 논리 IC를 제외한 각 시스템 별 전용 IC 좁은 의미 : Standard Cell, Gate Array, PLD 특징 특정 용도 집적 회로 주문형 시스템

ASIC의 분류

완전 주문형(Full Custom) IC 완전 주문형 IC 특정 고객의 명세나 규격에 맞추어 제조되는 특별 주문의 IC 개발 기간이 길고 개발 비용도 많이 소요됨 다량 생산의 경우라야 하며, 수십만개 이상의 주문 생산에 적합

반 주문형(Semi Custom) IC 반주문형 IC 표준화된 설계를 일부에 사용하는 주문형 IC Gate Array / Standard Cell Gate Array : TR이 공통으로 배열되어 있어 고객이 원하 는 사양에 따라 배선만을 주문 설계 Standard Cell : 사전에 설계되어 있는 기능 블록 등을 조합하여 주문형 IC를 제조 <Standard Cell>

PLD PLD(Programmable Logic Device) 장점/단점 칩으로 설계되어 판매되는 프로그램 가능한 소자 개발 기간의 개념이 없음 -> 빠르게 회로 구현 가능 적은 비용과 최단기간 프로토타입 제작 / 기능 검증 가능 장점/단점 장점 즉시 프로그램하여 사용 가능 적은 비용으로 소량의 ASIC 제작 가능 오류 발생시 재프로그램 가능 단점 개별 단가가 큼 한정된 gate 수

SPLD SPLD(Simple PLD) F 모든 논리 함수는 곱항(AND)의 합(OR)으로 표현될 수 있음을 기본 개념으로 하는 소자 예: F = AB + AB PLA(Programmable Logic Array) Programmable AND/OR PAL(Programmable Array Logic) Programmable AND A B F

CPLD CPLD(Complex PLD) 입력 수가 커짐에 따라 프로그래밍되는 평면 증가로 개발 단일 칩에 여러 개의 SPLD 블록을 포함 SPLD 내부 및 블록 간의 연결을 프로그래밍하여 실현 다수의 입력으로 복잡한 형태의 조합 논리 회로 구현시 적합

FPGA FPGA(Field Programmable Gate Array) FF이 많은 순차 회로 구현에 적합 다수의 논리 블록(LC)을 가지고 연결됨 LC 연결을 프로그래밍하는 방법 안티퓨즈 방식 고전압을 사용하여 필요한 곳을 연결시킴 한번만 사용 가능 SRAM 방식 프로그램 정보를 SRAM에 저장해 두는 방석 여러 번 사용 가능

ASIC 설계 방식의 비교

ASIC 설계 흐름도

VHDL VHDL(Very High Speed Integrated Circuit Hardware Description Language) 등장배경 이전의 하드웨어 설계에서는 주로 레이아웃 편집기 (layout editor)나 스키메틱 편집기(schematic editor)를 이용해 작은 블록을 설계하고 이것을 이용해 큰 블록을 설계하는 상향식 설계(bottom-up) 설계해야 할 회로의 규모가 커지고 복잡도가 증가함에 따라 이러한 방법은 한계에 도달 알고리즘이나 기능 레벨에서 설계가 가능하도록 하는 HDL이 출현, 하향식(top-down)설계 방식

VHDL의 기본 설계 Entity와 Architecture Body로 구성 기본설계 2단계 1단계 : entity 선언 하드웨어 외부 입출력 Interface를 정의 하드웨어 블록의 이름과 입출력 Port를 선언 2단계 : architecture body 표현 하드웨어 내부를 표현 내부회로의 연결, 동작 또는 구조 등을 표현

VHDL의 기본 설계 Entity 선언 하드웨어 블록 정의 : entity 이름 선언 외부와의 인터페이스 규정 : 외부와 연결되는 입출력 정의 외부 입출력 신호원인 signal 선언 입출력 방향(mode) 지정 자료형(data type) 지정 Ex) 2 input AND Gate의 entity 선언 entity and2 is port(a, b : in bit ; y : out bit ); end and2; signal mode data type

VHDL의 기본 설계 Ex) 2 input 2 output의 entity 선언 entity sample is port ( a : in bit ; b : inout bit ; c : out bit ; d : buffer bit); end sample; mode type

VHDL의 기본 설계 Data types 8개의 signal b(0), b(1),…..,b(7) 정의 bit - signal의 개수가 1개 bit_vector - signal의 개수가 여러 개 byte ex) b : in bit_vector(0 to 7) 8개의 signal b(0), b(1),…..,b(7) 정의 ex) b : in bit_vector(7 downto 0) b(7), b(6), ….., b(0) 정의 IEEE 1164 표준 bit -> std_logic bit_vector -> std_logic_vector Ex) std_logic, std_logic_vector 사용시 library ieee; use ieee.std_logic_1164.all; 을 사용

VHDL의 기본 설계 Architecture Body entity의 하드웨어 내부회로 연결 동작 표현 하나의 entity에 하나 이상의 architecture body 존재 가능 Ex) 2 input AND gate의 architecture body architecture behavioral of and2 is begin y <= a and b; end behavioral ;

VHDL의 기본 설계 동작적 표현 방식 데이터 흐름 모델링(data flow modeling) 회로의 여러 신호들의 논리적 연산을 기술하는 방식 회로도를 그리는 것과 유사 회로의 전체 연결 상태를 알아야 표현할 수 있는 방식 병행 처리문에서 주로 사용, 즉, 문장의 순서와 무관하게 동시에 수행 Ex) 논리곱 연산기 architecture brhavioral of and2 is begin result <= a and b ; end behavioral ;

VHDL의 기본 설계 동작적 모델링(behavioral modeling) 회로가 어떻게 동작하는지를 기술해 주는 방식 데이터 흐름 모델링보다 효율적임 VHDL로 설계시 주로 이용되는 방식 형태적으로는 process 명령어가 사용됨 Ex) 논리곱 연산기 architecture brhavioral of and2 is begin process(a, b) if a = ‘0’ and b=‘0’ then result <= ‘0’ ; elsif a = ‘0’ and b=‘1’ then result <= ‘0’ ; elsif a = ‘1’ and b=‘0’ then result <= ‘0’ ; else result <= ‘1’ ; end process ; end behavioral ;

반가산기 반가산기(Half Adder) 2개의 input(A, B), 2개의 output(S, C) 진리표 및 논리 회로도

반가산기 반가산기의 VHDL 모델링 library IEEE ; use IEEE.STD_LOGIC_1164.ALL ; use IEEE.STD_LOGIC_ARITH.ALL ; use IEEE.STD_LOGIC_UNSIGNED.ALL ; entity ha is Port ( a : in std_logic ; b : in std_logic ; s : out std_logic ; c : out std_logic ) ; end ha architecture brhavioral of ha is begin s <= a xor b ; c <= a and b ; 1’ ; end behavioral ;

반가산기 반가산기 Simulation 파형 반가산기 Pin 번호 반가산기 동작 입    력 출    력 신호 이름 키트 이름 핀 번호 a MTP_SW1 p102 c LED0 p2 b MTP_SW2 p101 s LED1 p3 반가산기 동작 - 스위치는 눌렀을 경우 ‘0’이 되고 누르지 않았을 경우 ‘1’이 된다. - 출력 LED는 그 값이 ‘1’이 되었을 때 불이 켜진다.

전가산기 전가산기(Full Adder) 3개의 input(A, B, Cin), 2개의 output(S, Cout) 진리표 및 논리 회로도

전가산기 전가산기의 VHDL 모델링 library IEEE ; use IEEE.STD_LOGIC_1164.ALL ; use IEEE.STD_LOGIC_ARITH.ALL ; use IEEE.STD_LOGIC_UNSIGNED.ALL ; entity full_adder is Port ( a : in std_logic ; b : in std_logic ; cin : in std_logic ; s : out std_logic ; cout : out std_logic ) ; end full_adder

전가산기 전가산기 Pin 번호 전가산기 - simulation 파형 입 력 출 력 신호 이름 키트 이름 핀 번호 a 입    력 출    력 신호 이름 키트 이름 핀 번호 a MTP_SW1 p102 cout LED0 p2 b MTP_SW2 p101 s LED1 p3 cin MTP_SW3 p100  

architecture brhavioral of full_adder is Begin process(a, b, cin) begin if a=‘0’ and b=‘0’ and cin=‘0’ then s <= ‘0’; cout <=‘0’; elsif a=‘0’ and b=‘0’ and cin=‘1’ then s <= ‘1’; cout <=‘0’; elsif a=‘0’ and b=‘1’ and cin=‘0’ then s <= ‘1’; cout <=‘0’; elsif a=‘0’ and b=‘1’ and cin=‘1’ then s <= ‘0’; cout <=‘1’; elsif a=‘1’ and b=‘0’ and cin=‘0’ then s <= ‘1’; cout <=‘0’; elsif a=‘1’ and b=‘0’ and cin=‘1’ then s <= ‘0’; cout <=‘1’; elsif a=‘1’ and b=‘1’ and cin=‘0’ then s <= ‘0’; cout <=‘1’; else s <= ‘1’; cout <=‘1’; end process ; end behavioral ;