PowerPoint 프레젠테이션

Download Report

Transcript PowerPoint 프레젠테이션

1장 서론
1.1 VHDL 및 논리 합성 탄생 배경
1.2 VHDL 과 ASIC 설계 환경과의 관계
1.3 VHDL 모델링, 합성 및 FPGA 구현 예
1.4 VHDL 발전 추세 및 미래 전망
디지털시스템 설계 특론
1
1.1 VHDL 및 논리 합성 탄생 배경
•
ASIC(Application Specific IC)의 등장
– 소량의 특정 목적의 IC
– 고성능 설계 도구의 영향
– 회로 집적도 증가의 결과
•
설계 기법 및 도구의 성능 향상 필요성 대두
– 설계 프로세스의 혁신
1. HDL(Hardware Description Language)
2. Logic Synthesis System
디지털시스템 설계 특론
2
1.1.1 ASIC 기술
• 칩 제작
– 설계 + 제조(Fabrication or Fab.)
• 제조 공정 단축 위해 미리 정해진 Mask Pattern 사용
– 집적도 저하, Mask 수를 줄이고 시간 단축
• Mask Pattern 종류에 따른 구분
– Gate Array: 미리 준비된 트랜지스터를 연결해서 게이트 구성
– Standard Cell: 높이가 같은 셀들 배치 및 정해진 배선 영역
*. Gate density / count: 칩이 집적된 NAND, NOR 게이트의 수
• 80년대 초
– 수천 게이트
• 현재
– 100만 게이트 이상(1000 배 이상 증가)
디지털시스템 설계 특론
3
1.1.1 ASIC 기술
• 집적회로 설계의 변천 과정
디지털시스템 설계 특론
4
1.1.1 ASIC 기술
• 한 칩에 보드 전체, 즉 시스템을 집적 가능
– SoC(System-on-a-Chip)
• 설계 문제 복잡도
– 기하 급수적 증가
→VHDL, 논리 합성의 기여
디지털시스템 설계 특론
5
1.1.2 합성(Synthesis)
• 설계 수준의 향상
– Layout, Gate 수준 → RTL 수준 이상
• RTL 설계의 게이트 수준으로의 변환
– 논리 합성(Logic Synthesis)
• 게이트 수준 → Layout 수준 설계
– Layout Synthesis, placement & routing 도구
디지털시스템 설계 특론
6
1.1.2 합성(Synthesis)
• 설계 수준과 이에 따른 표현 방법의 변천
L e v e l
G ra p h ic a l
P o r t1
S y s te m
P a r t io n in g , P ip e lin in g
P o r t2
P o r t3
+
+
-
+
B e h a v io ra l
R e p r e s e n ta tio n
H D L ,
G r a p h ic a l
s p e c ific a tio n s
<
S c h e d u lin g , A llo c a tio n
O u tp u t
P o r t1
R T L
S ta te
M a c h in e s , L o g ic
a n d R T L
M u x 1
M u x 2
R 1
R 2
A L U
M u lti- le v e l, 2 - le v e l
O p t im iz a tio n
L o g ic
P o r t3
H D L ,
B u b b le
d ia g r a m s
R 3
A D D E R
O u tp u t
a
f
b
T e c h n o lo g y m a p p in g /
t r a n s la tio n
P o r t2
c
L o g ic
e q u a tio n s ,
H D L , G a te s
d
e
Im p le m e n ta tio n
P la c e
a n d
R o u te
디지털시스템 설계 특론
L a y o u t
C IF /G D S II
7
1.1.2 합성(Synthesis)
• 회로도와 HDL을 이용한 설계 방법의 비교
...............
ARCHITECTURE rtl OF counter IS
SIGNAL incount : UNSIGNED(7 DOWNTO 0);
BEGIN
PROCESS(clk,rst)
BEGIN
IF( rst = '1') THEN
incount <= "00000000";
ELSIF (clk'EVENT AND clk='1') THEN
incount <= incount + '1';
................
회로도 입력
1
회로도 입력에 따른 시간이 많이
요구
2
논리식의 조작에 대한 생각 요구
3
회로도 내용의 변경이 어려움
4
5
HDL 설계
장
점
Text 로 입력하고 설계 툴에 의한
회로 생성
설계 시간에 대한
논리식의 조작에 대한 생각이 필요 단축(1/2 ~ 1/3)
없음
회로에 대한 변경이 쉬움
완성도가 향상
설계자 자신만이 회로도의 내용을 설계자 이외도 설계에 대한 이해가
설계 결과물에 대
이해
가능
한 재이용이 가능
공정을 하게 되는 업체에서 제공하 공정을 하게 되는 특정 업체의 설계 함
는 설계 Library 를 이용
Library 와 무관함
디지털시스템 설계 특론
8
1.1.3 VHDL & Verilog
• 표준화를 목표로 하면서 사용되고 있는 HDL 의 비교
– VHDL
• 시스템에 대한 기술의 능력은 매우 높으나, synthesis를 위하여
sub-set VHDL과 modeling에 대한 guide가 요구
– Verilog HDL
• VHDL보다는 기술의 능력이 높지는 않으나 널리 사용되고 있으
며, gate 레벨의 simulation 언어로는 매우 뛰어남
• VHDL의 개발과 변화
– 1980: The USA Department of Defense(DOD) 에서 요구
• Self-document,Top-down Strategy and Reusable with New Technology 필
요성
– 1983: IBM,Texas Instrument와 Intermetrics에서 VHDL 개발 시작
– 1987: IEEE 1076 승인
• VHDL을 처음으로 이용하여 F-22 Aircraft 설계
• EDA(Electronic Design Automation) Vendor에서 개발을 시작하여 상업적
으로 이용.
디지털시스템 설계 특론
9
1.1.3 VHDL & Verilog
• VHDL의 개발과 변화
– 1993: VHDL was revised to IEEE 1076 ’93
– 1996: IEEE 1076.3(a VHDL package for use with synthesis tools :
std_logic_1164) IEEE 1076.4(VITAL)
• Verilog HDL의 개발과 변화
–
–
–
–
1983: Gateway 에서 Verilog HDL 또는 Verilog 개발
1985: Verilog-XL Simulator 개발
1989: Cadence bought Gateway
1995: IEEE 1364 승인
디지털시스템 설계 특론
10
1.1.4 VHDL 합성의 필요성
•
ASIC 설계는 PCB 설계와 다르다.
1.
•
오류 수정이 어렵다.
–
Layout, 제조 공정, 테스트 반복 필요
–
개발 비용, 기간에 직접적인 영향
ASIC 설계 도구(오류 없는 설계, 시장 접근 시간을 맞추기 위한
설계 도구)
1.
2.
3.
검증 도구
–
Simulator(각 수준에서)
–
Function, Gate / Logic, Circuit
합성 도구
–
Abstract → Concrete
–
RTL → Gate → Layout
Extraction 도구
–
4.
Layout → Gate → RTL (설계 정확성 검증 위해)
그외
–
Timing Analyzer, Design Rule Checker, …………
디지털시스템 설계 특론
11
1.1.4 VHDL 합성의 필요성
• VHDL 합성 도구는 gate 수준 netlist 및 회로 도면 생성
을 자동화 시킴
– 설계자가 시스템 기능 정의 와 시뮬레이션에 노력을 집중하게
함
– 25,000 게이트 ASIC
• 250 페이지 도면 필요
디지털시스템 설계 특론
12
1.1.5 VHDL 논리 합성의 장점
1.
설계 사이클 단축
•
2.
설계 변경용이, 설계오류 가능성 저하, 간단한 기술 방식, 빠른 설계,
빠른 변경
설계의 질적 향상
1.
2.
여러 가지 architecture 시도 가능: 최적화
면적 또는 속도 최적화 가능(논리 합성기의 기능)
•
3.
판매자, 기술(technology)에 무관한 설계 가능
•
4.
ASIC or FPGA 로 구현 가능
설계 비용 절감
•
•
•
5.
Timing analyzer 기능 포함(critical path delay, setup, hold time 계산)
설계 기간 단축, 스키메틱 설계 과정 생략, 설계 오류 저하
Design reasability – IP, Library 그대로 또는 수정해서 사용가능
한 engineer가 30 ~ 40 k 게이트의 설계 담당 기능
집적 기술에 따른 성장
•
•
현재 수백만 게이트급 설계(SoC) 가능
고성능 워크스테이션 도움 – 논리 합성, 시뮬레이션 필수
디지털시스템 설계 특론
13
1.1.5 VHDL 논리 합성의 장점
6.
설계 관리 용이
•
VHDL
•
7.
Design, documentation 겸용
표준과의 일치
•
IFIP 172, IEEE 1076.X
디지털시스템 설계 특론
14
1.1.6 VHDL 논리 합성의 단점
1. 설계 문화의 변화
•
회로 도면 설계 시스템
•
합성 시스템 이용한 RTL 수준 설계 시스템으로
2. 설계 오류 발견 및 수정 필요(여전히)
•
생성된 논리 설계에 대해 Delay 고려한 logic
simulation 필요
디지털시스템 설계 특론
15
1.1.7 VHDL 합성의 실체
• “VHDL 로 기술만 하면 합성도구가 완벽한 회로를 만들
어 준다 !”
• “합성 결과는 사람이 설계한 것 보다 나을 수 없다 !”
– VHDL 설계는 논리 설계 경험에 근거해야 함
• 설계 도구는 engineer의 통제 하에 있어야만 한다.
• 부적절한 코드, 모호한 코드는 설계자의 책임임
– 상위 수준 설계에 대한 판단은 역시 설계자가 해야 함
• 예
– 여러 사이클에 걸쳐 연산자 공유 하기
디지털시스템 설계 특론
16
1.2 VHDL 과 ASIC 설계 환경과의 관계
1.2.1 합성 가능한 함수 및 합성 원칙
1.2.1.1 무엇을 합성할 수 있는가?
– ASIC: Random Logic Block, Memory, Mega Function
부분
• Random Logic Block 합성에 가장 효과
• Memory(RAM, ROM), FIFO 등은 전용 컴파일러가 더 효율
적임
디지털시스템 설계 특론
17
1.2.1.1 무엇을 합성할 수 있는가?
•
합성 가능 함수
1. 조합형
– MUX, DEC, ENC, CMP, LUT, ALU, ADDER,
SUBSTRACTOR, PLA, Parity Generator 등
2. 순차 논리 함수
– Counter 및 관련 함수
– Register 와 Latch: Shift, Accumulator
– 제어 논리 회로: Sequencer, FSM, Edge Detector,
Synchronizer 등
•
Timing Critical Design 은 추후에 Layout 등에
대한 수정 필요
디지털시스템 설계 특론
18
1.2.1.2 기본 합성 원칙
• 설계 접근 방법: VHDL 설계 – 시뮬레이션 검증- 합
성
• 모든 VHDL 코드가 합성 가능하지는 않음
• Synthesizable VHDL Code 에 대한 guideline 이
있다.
• 논리 회로 설계 기법에 익숙해야 하고, ASIC 설
계 경험도 많아야 좋은 설계 결과를 얻을 수 있
다.
• 논리 회로의 구조를 생각하며 설계해야 한다.
디지털시스템 설계 특론
19
1.2.2 설계 계층 구조
• ASIC 설계 프로세스는 Top-Down(하향식) 설계 방식에
근거
디지털시스템 설계 특론
20
1.2.3 ASIC 설계 프로세스
•
ASIC design engineer 의 목표
1. 한번의 설계로 정확히 동작하는 회로 설계
2. 물리적 설계까지 끝낸 IC 를 완벽하게 테스트해 제
조 과정에서 어떠한 결함도 없게 하는 것
디지털시스템 설계 특론
21
1.2.3 ASIC 설계 프로세스
• ASIC 개발 과정
디지털시스템 설계 특론
22
1.2.3.1 시스템 개발 계획 및 기능 분할
• 시스템 요건 분석 → 적용 가능한 알고리즘 선정, H/W
와 S/W 간 기능 분할 → 상위 수준 블록 다이어그램, 하
위 모듈에 대한 명세 도출
디지털시스템 설계 특론
23
1.2.3.2 블록 다이어그램 및 개발 명세 결정
• 시스템 분할: 기판, 모듈, ASIC, 그외 IC
• 이 과정에서 크기, 전력소모, 무게, 비용, 성능, 개발기간
등을 고려해야 함
• 출력
– ASIC 들의 역할 및 기능(Spec.) + 블록 다이어그램
– 인터페이스 방식, timing 요건, clock speed 등
• 가능한 계속적으로 분할하여 한 모듈이 적절한 크기의
모듈이 되게 한다.
• 논리 설계를 시작할 수 있을 만큼의 소규모 블록들로 나
눔
• 가능한 상세한 블록 다이어그램 완성 필요
– VHDL 코딩에 도움이 됨
• 함수, 신호 명칭등에 고려
디지털시스템 설계 특론
24
1.2.3.2 블록 다이어그램 및 개발 명세 결정
디지털시스템 설계 특론
25
1.2.3.2 블록 다이어그램 및 개발 명세 결정
디지털시스템 설계 특론
26
1.2.3.3 테스트 및 시뮬레이션 계획
•
•
논리 블록 정의, testable design 에 대한 고려 필요
Test Plan
–
•
•
IC의 controllability(제어 가능성), observability(관찰 가능성)
을 위해 부가 회로 추가 필요 → test pattern의 양에 영향
ASIC의 낮은 수율(yield)와 테스트 안된 설계의 제조
는 엄청난 비용과 시간 손실 가져옴
Simulation Plan
–
각 모듈(ASIC) 및 시스템에 대한 시뮬레이션 통한 검증 계획
1. 입력 신호 발생 방법
2. 시뮬레이션 결과 신뢰도 확인 방법
디지털시스템 설계 특론
27
1.2.3.4 논리 회로 설계
• VHDL 합성 사용에 의해 가장 큰 영향 받는 부분
• 종전 방식과 VHDL 합성 방식 사용 시 설계 흐름도간 비
교
디지털시스템 설계 특론
28
1.2.3.4 논리 회로 설계
• VHDL 합성 방식
– Entity 단위로 설계 상세화
– Entity 내의 MUX, Counter, Register 등은 Process 문으로 표현
– 주석(comment) 이용한 서술적 기술 추가
• VHDL 코드 작성 및 시뮬레이션 테스트 패턴 작성
– Netlist 얻기 전에 시뮬레이션 통한 검증이 되므로, 도면 설계에
비해 검증을 훨씬 빨리 시작함
– 자동 생성된 도면을 자주 관찰하여 자신의 VHDL 설계가 어떻
게 만들어지는지(원하는 대로 만들어 지는지) 검증하는 것이
중요함(특히 초보자들에게는)
디지털시스템 설계 특론
29
1.2.3.5 시뮬레이션
• VHDL 코딩 완료 단계, 시뮬레이션 중에도 합성 가능 여
부를 미리 검사해 보는 것이 필요함
• 테스트 패턴 입력은 ASCII 텍스트 파일
• 출력
– 파형(waveform)
• Breakpoint 설정
– Debug
• 시뮬레이션 결과에 따라 오류 코드, 설계 오류 등 수정
디지털시스템 설계 특론
30
1.2.3.6 논리 합성
•
•
VHDL의 게이트 수준으로의 합성
입력 정보
1.
VHDL 코드 이외에, ASIC 제조 업체, 셀 라이브러리
–
2.
•
셀 라이브러리: 게이트별 지연시간, capacitor 크기, 도선 길이에
따른 loading delay 계산 규칙
클럭 주파수, 펄스 폭, 동작 온도, 동작 전압, 출력 부하(output
load) 등에 대한 가정, critical path 통한 최대 전달 지연 시간
등
논리 합성의 단계
1.
Generic technology gate / function 이용한 합성
–
MUX, DEC, Register, ALU 등 범용 논리 블록으로의 합성
–
2.
논리 블록 공유 최적화
특정 technology(library) 를 고려한 합성
–
–
–
범용 블록을 특정 ASIC 제조 업체의 library cell 들로 대치함
이 과정에서 속도 제약 조건 만족 위해 performance optimization
수행
속도 제약 조건 만족 시 면적 최소화(logic minimization) 수행
디지털시스템 설계 특론
31
1.2.3.6 논리 합성
•
출력 정보
1.
2.
논리 게이트 수준의 netlist, schematic diagram, chip bonding,
layout, gate-level logic simulation, post layout timing simulation
등에 사용
Timing, gate count, critical path delay, 보고서 형태의 출력
–
•
어떤 기억 소자들에 합성 되었나, 속도 제약 조건 만족 여부 등
설계자의 합성 결과에 대한 면밀한 분석 자세 필요
1.
자신의 예상대로 합성 여부(게이트 수, 메모리 소자)
–
2.
3.
도면 관찰 통한 확인 필요
더 나은 결과(성능 또한 면적) 얻기 위해서도, 다양한 기술 방
식의 합성 결과 관찰 필요
게이트 수가 지나치게 많지 않은지 검사도 필수적임
디지털시스템 설계 특론
32
1.2.3.7 ASIC 검증
• Layout(placement) 및 routing 에 앞서 최종적인 gatelevel 회로 검사 수행
– Pre-route signoff 라고도 함
– 목적: layout 직전, 직후에 어떤 설계 오류도 없게 하기 위함
• 입력
– 회로 파일(netlist) 와 시뮬레이션 패턴 파일
• 하는 일
– Gate-level logic/timing simulation, timing analysis, DRC(Design
Rule Checking), ERC(Electrical Rule Checking) 및 I/O 핀 할당
• 특히 속도 제약 조건이 강한 설계의 경우 layout
planning 에도 세심한 고려 필요
– Layout planning(floor planning)의 변화를 배선 전 예측(속도, 면
적에 대한) 값에 많은 영향을 줌
디지털시스템 설계 특론
33
1.2.4 VHDL 합성 방식에서 유의할 사항
•
•
Schematic design 에서 사용되던 원칙이나 방식을
VHDL 이용한 설계 방식에도 적용해야 한다.
유의 사항
1.
VHDL 설계는 프로그래밍이 아니라 논리 설계이다. 따라서
논리 회로 구조를 예상하고 도시한 후에 그에 따라 VHDL 설
계를 해야 한다.(즉, schematic design 에서의 방식을 염두에
두어야만 정확한 설계가 가능하다.)
–
2.
자신이 원하는 것을 합성해 낼 수 있도록 VHDL 코딩을 하는 것
이다.
VHDL 설계 시 사용되는 시뮬레이터와 최종 설계 검증 시, 사
용되는 ASIC 제조 업체 공인 고성능 논리 시뮬레이터를 사용
하는데, 두 시뮬레이터에 같은 테스트 패턴을 입력으로 사용
한다.(게이트 수준 ASIC 설계와 VHDL 설계의 일치 여부 확
인 위해) 공통을 테스트 패턴 사용위해 VHDL test bench 로
부터 양쪽 시뮬레이터에 대한 테스트 패턴 집합을 만들어 내
는 것이 좋다.
디지털시스템 설계 특론
34
1.3 VHDL 모델링, 합성 및 FPGA 구현 예
• VHDL 모델링, 시뮬레이션 통한 검증, FPGA 로의 구현
과정
• FPGA
– 설계의 정확성 검증의 한 방법
• 최종 목적지는 ASIC 으로의 구현
1.3.1 합성을 위한 VHDL 모델링
– VHDL 모델링 수준: 행위 수준(알고리즘) 부터 게이
트 수준까지
– Top-down design 방식 구현 위한 문법적 특징
– 합성가능 표현 구조는 매우 제한적임
– 테스트 벤치 기술 등을 위해서는 그 이외의 것들에
대한 이해 필요
디지털시스템 설계 특론
35
1.3 VHDL 모델링, 합성 및 FPGA 구현 예
1.3.1.1 추상적 행위 수준 모델링
–
–
–
–
하드웨어의 기능과 동작에 대한 기술
clock, word length, bit 할당 등 구체적 정보 배제됨
PASCAL 이나 C 언어 기술과 유사함
특히 test bench 기술 시에 효과적임
1.3.1.2 레지스터 전송 수준 모델링(RTL)
– 논리회로 설계 시 상세한 블록 다이어그램을 그리
는 것에 해당
– Clock, reset 존재
– Data bus, register 등의 너비가 정해짐
– 신호 할당 예: Output <= Input;
– 대개는 ASIC 제조 업체나 technology 에 무관함
– Data flow description 이라고도 함
디지털시스템 설계 특론
36
1.3 VHDL 모델링, 합성 및 FPGA 구현 예
1.3.1.3 구조적 모델링
– Netlist 표현 방식과 유사
– 다양한 component 들이 신호선으로 연결된 회로
– Component는 gate, FF, 다른 RTL 코드 블록
*. 하향식 설계
•
상세화 되면서 낮은 수준의 블록으로 대체됨
디지털시스템 설계 특론
37
1.3.1.4 전 가산기 VHDL 모델링의 예
• 반 가산기 entity 선언부
디지털시스템 설계 특론
38
1.3.1.4 전 가산기 VHDL 모델링의 예
• 반 가산기: RTL 모델링
디지털시스템 설계 특론
39
1.3.1.4 전 가산기 VHDL 모델링의 예
• 반 가산기: 추상적 행위 수준 모델링
디지털시스템 설계 특론
40
1.3.1.4 전 가산기 VHDL 모델링의 예
• 전 가산기: 구조적 모델링
디지털시스템 설계 특론
41
1.3.1.4 전 가산기 VHDL 모델링의 예
• 전 가산기 회로도
디지털시스템 설계 특론
42
1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예
• 전 가산기 회로에 대한 test bench
디지털시스템 설계 특론
43
1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예
• 전 가산기 시뮬레이션 결과
디지털시스템 설계 특론
44
1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예
• 전 가산기 합성 결과(그림 1-7 의 VHDL 코드 사용 시)
디지털시스템 설계 특론
45
1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예
• 전 가산기의 동작적 모델링
디지털시스템 설계 특론
46
1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예
• 전 가산기 합성 결과(그림 1-13의 VHDL 코드 사용)
디지털시스템 설계 특론
47
1.3.3 VHDL 모델링의 FPGA 구현
• ASIC 의 종류
– standard cell, gate array, PLD(Programmable Logic Devices)
1.3.3.1 FPGA(Field Programmable Gate Array)
– PLD의 확장 형태
– 범용 FPGA의 구조(논리 셀과 배선 영역 분리되어 있음)
디지털시스템 설계 특론
48
1.3.3.2 FPGA 구현의 예
• 대표적인 FPGA 설계 흐름도
디지털시스템 설계 특론
49
1.3.3.2 FPGA 구현의 예
• Pre-layout simulation 과 post-layout simulation이 있다.
• Timing analyzer
– Set-up time, hold time, clock trigger 에서 추력까지의 지연 시간,
최대 동작 주파수 예측
• Device programming file
– JEDEC 포맷(Cypress, Warp tool), BIT 파일(XILINX)
• 디바이스 선택 화면
디지털시스템 설계 특론
50
1.3.3.2 FPGA 구현의 예
• 논리 합성 과정
디지털시스템 설계 특론
51
1.3.3.2 FPGA 구현의 예
• 시뮬레이션 결과
디지털시스템 설계 특론
52
1.3.3.2 FPGA 구현의 예
• FPGA 구현 예(일부)
디지털시스템 설계 특론
53
1.3.3.2 FPGA 구현의 예
• FPGA 구현 예(일부)
디지털시스템 설계 특론
54
1.3.3.2 FPGA 구현의 예
• 디바이스 활용률(리포트)
디지털시스템 설계 특론
55
1.3.3.2 FPGA 구현의 예
• 타이밍 분석 결과
디지털시스템 설계 특론
56
1.3.4 성능 최적화 및 면적 최소화의 예
•
•
•
최소 비용으로 최고 성능의 ASIC 개발이 목표
동일 기능이면 게이트 수가 적은(면적이 적은) 회로를
설계해야 함
속도, 성능 최적화
–
•
Critical path delay 를 최소화 해야 함
VHDL 수식 표현과 합성 구조
1.
2.
Sum <= BusA + BusB + BusC + BusD;
Sum <= (BusA + BusB) + (BusC + BusD);
디지털시스템 설계 특론
57
1.3.4 성능 최적화 및 면적 최소화의 예
• 원하는 구조 지정이 분명하지 않은 표현
– Y <= A + B when select = ‘1’ Else C+D;
– 구현 가능한 덧셈기 구조
디지털시스템 설계 특론
58
1.3.4 성능 최적화 및 면적 최소화의 예
• 두 개의 MUX 와 한 개의 덧셈기로 구현하려면
– Mpx1 <= A when select = ‘1’ Else C;
– Mpx2 <= B when select = ‘1’ Else D;
– Y <= Mpx1 + Mpx2;
• 두 개의 덧셈기와 한 개의 MUX
– Sum1 <= A + B;
– Sum2 <= C + D;
– Y <= Sum1 when select = ‘1’ Else Sum2;
*. 자원의 공유와 그에 따른 부대 비용(MUX)을 고려해서,
원하는 구조가 합성되도록 기술하는 것이 현명한 방법
임
디지털시스템 설계 특론
59
1.3.4.1 논리 게이트 최소화
• 간단한 논리 최적화의 예
디지털시스템 설계 특론
60
1.3.4.1 논리 게이트 최소화
• constant reduction, inverter pair removal
• Karnaugh map, Rand-McClusky Method 등
• 논리 합성 도구의 중요 기능 중 하나이며, 도구 선택의
기준이 될 수도 있다.
1.3.4.2 속도 최적화
– 논리 합성 도구의 중요 기능 중 하나(면적 최소화와
함께)
– Critical path delay 고려 하며 속도 제약 조건 만족토
록 등가회로로 변환
• 내부에 timing analyzer 포함
디지털시스템 설계 특론
61
1.3.4.2 속도 최적화
– 아래 회로 같은 긴 입력 신호 디코드 위해 다음 같은
AND-chain 필요
• SigA <= ‘1’ when Count = “1101000011001010” Else ‘0’;
디지털시스템 설계 특론
62
1.3.4.2 속도 최적화
– AND / OR 항으로 분리
디지털시스템 설계 특론
63
1.3.4.2 속도 최적화
– A 에서 Z 까지 지연에 대한 회로 최적화
디지털시스템 설계 특론
64
1.3.4.2 속도 최적화
– 전체적인 AND 단계수 줄이기
*. 괄호를 잘 사용함으로써 게이트의 단계 수 줄일 수 있음
디지털시스템 설계 특론
65
1.4 VHDL 발전 추세 및 미래 전망
•
향후 합성 도구 발전 방향
1.
2.
3.
•
ASIC 설계 작업과 합성 작업 간 보다 긴밀한 통합
합성 도구의 성능 개선
상위 수준 합성 도구 및 설계 도구 개발
통합
–
–
문제점: ASIC 제조업체의 layout 및 검증용 도구와 합성 도구
가 제대로 통합되지 않음
예
1. 합성용 타이밍 데이터의 정확도(게이트 지연시간 데이터,
fanout, 부하 계산, 배선 길이 및 capacitor 효과 계산 규칙 등)
•
ASIC 제조 기술 변경이 자주 일어나지만, 합성용 라이브러리에는
제대로 고려되지 않음
2. Layout 결과를 고려한 합성 도구의 운용(layout 도구와 합성 도
구 통합)
디지털시스템 설계 특론
66
1.4 VHDL 발전 추세 및 미래 전망
• 도구 성능과 정확도
– 갈수록 설계 크기가 커져감(SoC)
– 해결 방법
• 고성능 워크스테이션, 클러스터 사용 작업 분할
– 합성 결과를 항상 신뢰할 수 있을 정도의 정확성 확보 필요
• 최상위 수준 도구들
– Formal verification tool, data path compiler, especial function
generator, high-level synthesis tool
– Formal verification tool
• VHDL 기술과 netlist 를 분석, 두 설계가 완전히 일치함을 확인함,
또한 특정 기능을 정확히 수행함을 증명함, 테스트 패턴을 사용
하지 않음
• 현재 부분적으로 사용되고 있음
– Data path compiler: 특수 목적의 Data Path Unit을 bit 수나 특정
option 에 따라 생성, 매우 빠름, 특화 되어 있어서.
디지털시스템 설계 특론
67