VHDL과 ASIC 설계

Download Report

Transcript VHDL과 ASIC 설계

VHDL과 디지털회로 설계
전남대학교 전자공학과
김영철
1
목차

Agenda

ASIC Design

VHDL 및 논리 합성 탄생 배경

VHDL 과 ASIC 설계 환경과의 관계

VHDL 모델링, 합성 및 FPGA 구현 예

VHDL 발전 추세 및 미래 전망
2
Agenda
I.
Mobile Society Change
1.
2.
II.
PC -> Mobile Communication
Component -> System
Design Methodology
1.
2.
ASIC Design Flow
SoC Design Flow
3
Shift 1: From PC to Communications Centric
Services
Broadband
Network
100Mb/sWLAN
RF
20Gop/s
WWW
Java
Configurable
Multi-Standard
Info Plug...
<1 Watt
LAN
MPEG 4-7
100 Gop/s
??
5 Gtr/s
10 Watt
4
-> Domain Specific Computing
Shift 2: Chip from Component -> System
Services
Network
embedded C
RF
asp
opamp
System on
Filters AD/DA
dspP
IC
ASIP
memory
IP
µP
µC
gate
RT-ops
FSM
ASIC
FPGA
Silicon Board
VHDL
OO
cC++
Softwar
eHardware
1960
Design Software
70
80
90
2000
2010
t
5
Mobile Society의 환경 변화

PC 시대의 시작


Internet 시대의 시작



1995년 전후로 한 Analog Mobile Phone, Digital Phone 시
대의 시작
3세대 IMT-2000 시대의 시작을 앞두고 있음
Post PC 시대의 시작


PC 통신, E-mail (WS, PC), WWW 시대의 시작
Mobile Phone 시대의 시작


1980년을 전후로 하여 8-bit/64K Memory PC 시대의 시작
다양한 형태의 PDA를 중심으로 한 Post PC
Network Information Appliance 시대를 위한 준비
6
Post-PC Silicon System in 2010
40nm , 1G+ Transistors
www
gps
Speech
Pen
Vision
Bio
Motion
Security
Sensors
RF / Analog
100 MByte
32 Bit ASPP’s Distributed
Memory
Embedded
Software
>1GHz
<1 Watt
<1 Volt
Re-configurable Interconnect
10 M gate
10 M Gate
Re-configurable Hardwired
Computing
Logic
Display
Sound
Data
Bio
Actuators
50 GIPS-500GOPS
ENERGY/OP : 100
FLEXIBILITY - REUSE - IP
More than IP assembly!!
7
Key Enabling Technologies
RF-CMOS
BiCMOS
System
partitioning
Keys to 3G
and beyond
Firmware
Memories
processing power
power consumption
Cores
memory capacity
Conversion Technology
PA-Technology
System Architecture
8
Productivity Gap in Hardware Design
Source: sematech97
A growing gap between design complexity and design productivity
9
100,000
Logic transistors per chip ( millions )
10,000
G
F
58% CAGR
E
C, D
21% CAGR
A, B
0.001
1981
1995
Productivity
(thousands of transistors per staff month)
Increasing Designer Productivity
0.01
2009
10
1. ASIC Design –The Silicon Evolution
Log scale
1 G
256 M
64M
16M
100 M
P7
4M
10 M
R0
1M
1 M
100 K
68000
10 K
4K
LSI Logic
gate array
TMS320C40
TMS320C30
Memory(DRAM)
Microprocessor/
Logic
DSP
TMS320C15
8086
1K
80386
80286
16K
Mitsubish
gate array
TMC320C80
256M
64K
IBM gate
array
Pentium
8080
1 K
4044
70
74
78
82
86
90
94
98
10x every 6 years
11
ASIC Design - Technology Diffusion
Technology Diffusion is Accelerating
PCS
PCs
Cellular
VCRs
Color
TV
Cable
TV
Black &
White TV
1 Million
0.5
1
5
10
15
Years to 1 Million Sales
Mobile and Wireless Communications - Richard Siber (617) 982-9500
12
ASIC Design - Profit Loss
40
33
22
30
20
10
4
0
+50% develp. Cost
+9% Product Cost
+6 month develp.Time
Source: McKinsey
13
ASIC Design-VLSI Crisis


feature size - decreases by a factor of 2 in every 4 years.
chip size - increases
–



total transistor count rises by a factor of 2 in every 18
months.
fabrication cost - doubles for each generation
programmer productivity
–

5 mm 1977, 15-20 mm in 2000, 25-30 mm in 2010
30 lines/day ($20/line) ~ 0.5 lines/day
designer productivity
–
–
30 transistors/day
30 HDL lines/day, 300 gates/day, 1200 transistors/day
14
ASIC Design-VLSI Crisis

HDL based design
–
–
–

Formal verification


simulation
logic synthesis
behavioral synthesis
Equivalence verification of HDL based designs of different
abstract levels.
Intellectual Property


vendor library
synthesizable core
15
ASIC Design-Design Reuse

More than 100M gates in 40 nm





10 – 1M gates per synthesis module
20 - 100 synthesis modules per chip
behavioral synthesis
100M gates by the years 2010
Design Reuse



constant project team sizes
shrinking project completion times
Large portions of the chip will result from reusing existing
blocks.
16
ASIC Design-System Design

Building blocks




image/video processing
speech codec
communications
ASIC Design




becomes a system integration
system level analysis of available building blocks
Balancing of available IP building blocks
product differentiation at the system level
17
ASIC Design
-Intellectual Property

IP Development / Integration House



ASIC Design




Diverse market needs
e.g.> graphics chips with digital modem capability
becomes a system integration
performance analysis of availiable building blocks
balancing of available building blocks
Reusing IP Building Blocks


only viable approach to designing over 1M gates reasonable
time.
Reusing IP building blocks developed outside is the way to
merge knowledge from different applications onto a single chip
18
ASIC Design
-Intellectual Property

On Silicon IP(hard IP)




Off Sillicon IP(soft IP)




ASICs
chip sets
programmable DSPs
synthesizable core
a reference implementation in sillicon
adds a credibility
Firm IP(soft IP)

RTL level libraries
19
ASIC Design
-Levels of Abstraction

Architectual /Algorithmic



RTL



flow of data and control signals whthin / between functional
blocks.
schedules assignments at clock edges.
Gate


described in terms of the algorithms the system performs.
High lebel design tradeoffs, e.g. hardware /software codesign.
interconnection of switching elements (gates).
Switch


describes logic behavior of transistor circuits.
Evaluates conflicts caused by signal strengths of multiple nets.
20
Market Pressures

Size of Custommer Telecom Market: < US$ 2T

Products:




Signal-Dominated HW Systems Under SW Control
Protable, Low-Power, Manufacturable, Time to Market
Average Lifetime of a Consumer Product: 6-18
mos.
Success Depends Critically on the Ability to
Design these Systems FAST!
21
When Does One Use Behavioral
Synthesis

Use behavioral synthesis when





Algorithmic descripion exists
Complex data flow and/or memory access
Operations can be moved
Designs specification still changing
Need to explore architecture, pipelining, etc.
22
Behavioral Synthesis
CYC# OP
SCHEDULING
HARDWARE
ALLOCATION
1
2
3
4

Looks at high-level constraints
–

Latency, Throughput, Clockperiod goals
Extracts control /data flow behavior (Scheduling)
–
–
Assigns operations to resources and states
Assigns variables to storage elements (Allocation)
–
–
–
optimization of storage
decides if temporary storage necessary
FSM generated automatically
–
–
defines state /state transitions
cycle /cycle implementation of behavior
23
Behavioral Synthesis: Definition
input
FOR I in 0 TO 2 LOOP
m
WAIT until clk’event and clk = ‘1’;
o
IF (rgb[i] < 248) THEN
m
p = rgb[i] mod 8;
R
input
q = filter(x,y)*8;
output
END IF;
…...
clk
Enable
Instructions
Scheduling
Functional units
Operations
Allocation
Registers
Variables
Loop pipelining
Memories
Arrays
Chaining
Multiplexers
signals
Multi cycle operations
DW components
constraints
Memory management
Reset style
Clocking sytyle
Collection of techniques for sequential optimization
24
설계 자동화(design automation)
▶ 컴퓨터 기술의 발달
- 처리 속도, 저장 용량, GUI의 성능 향상
▶ 집적회로 설계 기술의 발달
- 설계 기술의 축적, 설계 도구의 발달
▶ 설계자의 작업 및 결정을 대신하고 검증을 도와줌으로서 가능
25
HDL 설계와 컴퓨터 프로그래밍의 비교
비 교
하드웨어설계
단 계
동작적 기술
(HDL 설계)
컴퓨터프로그래밍
고급언어 프로그램
3단계
합성
2단계
구조적 기술
(게이트 레벨 설계)
실리콘 컴파
일러
어셈블리어 프로
그램?
고급언어 컴
파일러
어셈블러
1단계
레이아웃 설계
기계어 프로그램
26
합성(synthesis)이란 ?
▶ 합성은 HDL을 이용한 설계에서 가장 중요한 과정
▶ 합성 =
변환
+
(translation)
▶ 변환 :
최적화
(optimization)
동작적 또는 RTL 기술 (HDL 설계)
구조적 기술 (게이트 레벨 표현)
▶ 최적화 : 면적의 최소화, 동작의 고속화
27
2. VHDL 및 논리 합성 탄생 배경






ASIC 기술
논리 합성(설계 프로세스)
VHDL
왜 VHDL 합성이 필요한가?
VHDL 합성의 장  단점
VHDL 합성의 실체
28
ASIC 기술(1)
IC 제조
기술 발전
설계 도구
성능 향상
ASIC
(Application Specific IC)
등장
-주문형( semi-custom ) 반도체
-소량 ( application specific )
-개발 기간 단축
( shorter design turnaround time (DAT) )
29
ASIC 기술(2)
제조 공정에 필요한
mask pattern 을 줄임
full-custom
IC
- gate density 증가
- 속도(성능) 향상
- 비용 절감
semi-custom
IC
- Gate Array
- Standard Cell
- PLA, PAL
ASIC
ASIP
(co-design)
- FPGA(Field Programmable GA)
- PLD(Programmable Logic Device)
30
논리 합성(logic synthesis)
schematic based
design process
language based
design process
circuit design
with schematic editor
circuit design
with HDL(Hardware
Description Language)
simulation
logic
synthesis
simulation
31
VHDL(Very High Speed IC HDL)
- 1981. HDL workshop
새로운 HDL 개발 필요성 대두
- 미국방성, Department of Defense Requirements
for HDL 문서 발간
- 1984. VHDL version 7.2 탄생(미 국방성 기준)
- 1986. 2차 VHDL 개발 시작( 일반화가 주목적)
-1987. IEEE Standard 1076-1987 VHDL 탄생
-1993. VHDL 1076-1993 VHDL 추가요건 반영
32
왜 VHDL 합성이 필요한가?
circuit design
with HDL
회로가 점차
복잡해짐
성능 평가
언어로 기술할 경우
회로 복잡도에 상관없음.
잦은 설계 변경 용이.
logic
synthesis
초기
설계 단계에서
오류 검출
netlist 자동 추출.
DAT 단축
simulation
33
VHDL합성의 장점
 설계 사이클 단축 - 설계 오류 발생 가능성 감소
 설계의 질(quality) 향상
- 전혀 다른 설계 방식들을 손쉽게 검색
 vendor 및 제조 기술에 무관
 설계 비용 절감 - 설계 재사용 ( design re-usability )
 설계 관리 용이
- 프로그래밍 언어의 structured design 개념 도입
 미연방 표준(IFIP 172) 과 일치
34
VHDL합성의 단점
 문화적 변화
- 언어에 입각한 설계 프로세스
- 디지털 회로 설계가 주 목적
 설계 오류 발견 및 수정
- 논리 합성 결과, 자동 생성된 회로 도면을 이해하기 어렵다.
- 전달 지연 시간 ( propagation delay ) 분석이 어렵다.
35
VHDL합성의 실체
 VHDL 로 기술(記述)만 하면, 합성 도구가 스스로
논리 회로를 완벽하게 설계해 준다(?)
예. A = B x C
 VHDL 은 프로그래밍 언어가 아니다.
 H/W 설계 경험이 결정적 영향을 미친다.
 합성 도구 성능에 크게 좌우된다.
36
2. VHDL 과 ASIC 설계환경과의 관계

합성 가능한 함수 및 기본 합성 원칙

설계 계층 구조(design hierarchy)

ASIC 설계 프로세스

VHDL 합성 방식에서 유의할 점
37
합성 가능한 함수
 조합형 논리 함수
- primitive logic gates, decoder, multiplexer
- adder, subtractor , comparator, multiplier 등
 순차 논리 함수
 카운터 및 카운터를 사용한 함수
- up/down counter, timing generator, event counter 등
 레지스터와 래치 함수
- register, latch, shift register, accumulator 등
 제어 논리 회로
- sequencer, controller, finite state machine 등
38
기본 합성 원칙
 VHDL 로 기술하였다고 해서 무조건 합성되지는
않는다.
 자신이 원하는 바를 직접 VHDL 로 coding 한다.
 합성 프로세스는 시간 지연(timing delay) 요건을
무조건 만족시키지는 못한다.
39
±¸Ã¼Àû ¼³°è
구
조
·¹Á ¦½ º Å Í ·¹º §
(·¹Á ö½ º Å Í, A LU, Ä «¿îÅ Í,
MUX µî)
detailed design
설
계
계
층
abstract design
Ä ¨ ·¹º §
(¸¶À ÌÅ ©·ÎÇÁ ·Î¼¼¼-, RA M,
ROM, UA RT µî)
Ãß»óÀû ¼³°è
½ à ½ º Å Û ·¹º §
(Ä Ä Ç»Å Í, µð½ º Å © À åÄ ¡,
¹ö½ º À ÎÅ ÍÆäÀ ̽ º µî)
°ÔÀ ÌÆ® ·¹º §
(NA ND, NOR, Flip-f lop µî)
Circuit ·¹º §
(Transistor, Register,
Capacity , Inductor µî)
Layout ·¹º §
(Poly, Dif f usion, Metal,
Contact Layer µî)
40
½ ý º ÅÛ °³¹ß °èȹ ¹×
±â´É º ÐÇÒ
ASIC 설계 프로세스
º í·Ï ´ÙÀ̾ î±×·¥ Á¤ ÀÇ ¹×
¼³°è »ç¾ ç °áÁ¤
³í¸® ȸ·Î ¼³°è
³í¸® ½ ùķ¹À̼Ç
Å×½ º Æ®°¡ ¿ëÀÌÇÑ
¼³°è °³³ä µµÀÔ
½ ùķ¹À̼Ç
ÆÐÅÏ
°áÁ¤
layout Á÷Àü ¹× Á÷ÈÄ
¼³°è °ËÁõ
prototype ASIC Á¦Á¶ ¹× Å×½ º Æ®
41
ASIC 설계 프로세스(1)
 시스템 개발 계획 및 기능 분할
- 알고리즘 장  단점 분석
- 전체 설계를 H/W 및 S/W 부분 설계로 나눔
- 하위 레벨 module 의 기능 정의
 블록 다이어그램 및 개발 specification 결정
- 구체적인 H/W 함수로 분할
- VHDL 코드 기술 ( 記述 ) 을 위한 기반 ( 基盤 )
- gate count 추정 등 시스템 평가 항목 고려
42
예: 상위 레벨 block diagram
½ ÅÈ£ ¹ß»ý±â
ä ³Î A
½ ÅÈ£ ¹ß»ý±â
ä ³Î B
ÀÔ·Â
½ ÅÈ£º Î
Ãâ·Â ½ ÅÈ£º Î
¸Þ¸ð¸®
Á¦¾ î±â
Àú´ë¿ª
µðÁöÅ» ÇÊÅÍ
RAM ¸Þ¸ð¸®
43
예: 신호 발생기 “A”의 block diagram
LoadPW
½ ÅÈ£
µ¥ÀÌŸ ¹ö½ º
µ¥ÀÌŸ ¹ö½ º
ÆÞ½ º Æø (Pulse Width)
·¹Áö½ º ÅÍ
Gate Spacing
·¹Áö½ º ÅÍ
6 º ñÆ®
16 MHz Ŭ·Ï
¸®¼¼Æ®
8 º ñÆ®
¸ÖƼÇ÷º ¼-
Enable ½ ÅÈ£
Æ®¸®°Å
½ ÅÈ£
LoadGS
½ ÅÈ£
Ä«¿îÅÍ
(8 º ñÆ®)
¸ðµÎ '1'ÀÎ ½ ÅÈ£
°ÔÀÌÆ® Ãâ·Â
44
ASIC 설계 프로세스(2)
 테스트 및 시뮬레이션 계획
- controllability 및 observability 개선  수율(yield) 향상
- 테스트 입력 생성 방법 (예: 24-bit counter,
2 24 )
 논리 회로 설계
- 공용 (共用) 함수 확인  매크로 ( macro ) 로 설계
- 각 함수 및 블록 별로 VHDL 코드 및
시뮬레이션 테스트 패턴 생성
45
논리 회로 설계 흐름 비교
ȸ·Î µµ¸é
ÀÔ·Â
VHDL
ÄÚµåÈ- ÀÛ¾ ÷
Netlist »ý¼º
RT ·¹º §
VHDL ½ ùķ¹À̼Ç
°ÔÀÌÆ® ·¹º §
³í¸® ½ ùķ¹À̼Ç
³í¸®
ÇÕ¼º
46
ASIC 설계 프로세스(3)
 시뮬레이션 ( simulation )
- 원시 VHDL 코드 compile 및 link  debugging
- 부분/전체 시뮬레이션 여부 결정
( 예 : half-adder 와 AND gate )
 논리 합성
- ASIC 제조 업체 결정( 해당 component 라이브러리 사용 )
- 성능 최적화 및 논리 최적화
 ASIC 검증(檢證, verification)
- physical layout 결과 gate 전달 지연 시간 영향 분석
- I/O pin assignment, ERC ( Electrical Rule Checking )
47
VHDL 합성에서 유의할 점
 VHDL 로 coding 하기 전에 해당 블록 다이어그램의
logical structure 가 어떤 모양인지 알고 있어야만 한다.
 VHDL 설계와 최종 gate-level ASIC 설계가 일치함을
확인하기 위해 동일한 테스트 패턴(test pattern)을
입력으로 사용한다.
48
3. VHDL 모델링, 합성 및 FPGA 구현 예

합성을 위한 VHDL 모델링

VHDL 모델링의 시뮬레이션 및 논리
합성 예

VHDL 모델링의 FPGA 구현

성능 최적화 및 면적 최소화 사례
49
합성을 위한 VHDL 모델링
 추상적 동작 레벨 모델링
(Behavioral Descriptions)
 레지스터 전송(Register Transfer) 레벨 모델링
(데이터 흐름 (Dataflow Descriptions) 모델링)
 구조적 레벨 모델링
(Structural Descriptions)
50
추상적 동작 레벨 모델링
(Behavioral Descriptions)
architecture behavioral of eqcomp4 is
begin
comp : process (a, b )
begin
if a = b then
equals <= ‘1’ ;
else
equals <= ‘0’ ;
end if ;
end process comp;
end behavioral ;
51
레지스터 전송(RT) 레벨 모델링
(Data-flow Descriptions)
architecture dataflow of eqcomp4 is
begin
equals <= ‘1’ when (a = b) else ‘0’;
-- equals is active high
end dataflow ;
52
구조적 레벨 모델링
(Structural Descriptions)
architecture structural of eqcomp4 is
signal x : std_logic_vector (0 to 3);
begin
u0 : xnor2 port map (a(0), b(0), x(0));
u1 : xnor2 port map (a(1), b(1), x(1));
u2 : xnor2 port map (a(2), b(2), x(2));
u3 : xnor2 port map (a(3), b(3), x(3));
u4 : and4 port map (x(0), x(1), x(2), x(3), equals);
end structural ;
53
전가산기 VHDL 모델링 예
 1-bit half-adder(HA) VHDL 모델링
- Data-flow Descriptions
- Behavioral Descriptions
 1-bit full-adder(FA) VHDL 모델링
- Structural Descriptions(2 HA + OR gate)
- Behavioral Descriptions
54
half adder (1): entity 선언부
entity half_adder is port (
a, b :
in bit ;
sum, carry : out bit );
end half_adder ;
a
b
half adder
sum
carry
55
예제 1 : half adder(2)(architecture body)
(Register Transfer Level Modeling)
architecture RTL_description of half_adder is
begin
process begin
sum <= a xor b ;
carry <= a and b ;
wait on a, b ;
end process ;
end RTL_description ;
56
예제 2 : half adder(3) (architecture body)
(Behavioral Modeling)
architecture behav_description of half_adder is
begin
process begin
if (a = b) then sum <= '0' ;
else sum <= '1' ;
end if ;
if (a = '0') or (b = '0') then carry <= '0' ;
else carry <= '1' ;
end if ;
wait on a, b ;
end process ;
end behav_description ;
57
예제 1 및 예제 2의 VHDL 합성 결과
(논리식, 최장 전달 지연 경로, 디바이스 활용률)
Design Equations
carry = a * b
sum = a * /b + /a * b
Worst Case Path
tPD = 8.5 ns for the path (a  sum, a  carry )
Utilization (using Package CY7C371-143JC)
Total PIN signals
4/38
Macro-cells Used
2/32
Unique Product Terms 3/160
58
시뮬레이션 결과(half adder)
전달지연시간
(propagation delay)
59
full adder(1) : entity 선언부
entity full_adder is port (
x, y, c_in : in bit ;
s_out, c_out : out bit ) ;
end full_adder ;
x
y
c_in
full adder
s_out
c_out
60
full adder(2): architecture body
architecture structure of full_adder is
signal temp_sum, temp_carry_1, temp_carry_2 : bit ;
component half_adder port (
a, b
: in bit ;
sum, carry : out bit ) ;
end component ;
component or2 port (
i1, i2 : in bit ;
o
: out bit ) ;
end component ;
begin
port map ( … ); ...
end structure ;
61
full adder(3): block diagram
x
s_out
y
Full_adder
c_out
c_in
x
y
c_in
U0:
half_adder
temp_sum
U1 :
half_adder
s_out
c_out
temp_carry_2
U2
temp_carry_1
62
full adder(4): structural descriptions
u0 : half_adder
port map ( a => x, b => y,
sum => temp_sum, carry => temp_carry_1);
u1 : half_adder
port map ( a => temp_sum, b => c_in,
sum => s_out, carry => temp_carry_2 );
u2 : or2
port map ( i1 => temp_carry_1, i2 => temp_carry_2, o => c_out );
x
y
a
b
U0
sum
carry
temp_sum
Temp_carry_1
63
full adder(5): 논리 합성 결과
64
full adder(6) : Behavioral Modeling
architecture behav_description of full_adder is
begin
process
variable I : integer ;
if (x = ‘1’) then I <= I + 1 ; end if;
if (y = ‘1’) then I <= I + 1 ; end if;
if (c_in = ‘1’) then I <= I + 1 ; end if;
if (I = ‘1’) or (I = ‘3’) then s_out <= ‘1’ ;
else s_out <= ‘0’; end if;
if (I > ‘1’) then c_out <= ‘1’ ;
else c_out <= ‘0’; end if;
wait on x, y, c_in ;
end process ;
end behav_description ;
65
full adder(7): 논리 합성 결과
66
VHDL 모델링의 FPGA 구현
 Standard Cell
- 창고형 할인 매장과 같은 구조
 Gate Arrays
- metal layer 를 제외한 다른 제조 공정은 완료
 PLD(Programmable Logic Devices)
- 2-stage arrays : AND plane + OR plane
- PROM(Programmable ROM), PLA, PAL
 FPGA(Field Programmable Gate Arrays)
- PLD 를 확장 시킨 형태
67
FPGA
¼öÁ÷ ¹è¼±
ä³Î
¼öÆò ¹è¼±
ä³Î
logic cell
³í¸® ¼¿
68
디바이스
선택
VHDL
모델링
합성
요건
합성 프로그램
netlist
또는 부울 방정식
배치 및 배선 프로그램
결과 파일
(타이밍
분석 내용 등)
레이아웃 직후
시뮬레이션 모델
(VHDL 또는 다른 포맷)
테스트
벤치
디바이스
프로그래밍 파일
(JEDEC 포맷)
시뮬레이션 프로그램 ( VHDL 시뮬레이터 )
그래픽 파형
데이터 파일
69
Device 선택
70
VHDL 합성 과정(compilation)
71
CPLD 구현 예(1)
72
CPLD 구현 예(2) - 앞 그림을 축소
73
경로별 timing 분석 결과
74
자원 활용 분석 결과
75
성능 최적화 및 면적 최소화
비용 = 면적
gate density 
성능 = 속도
임계 경로(critical path)지연 시간 
area minimization
performance
optimization
최소 개발 비용으로 최고 성능의 ASIC 칩 구현
76
예: 속도 개선
Sum <= BusA+BusB+BusC+BusD
A
B
C
D
+
Sum <= (BusA+BusB)+(BusC+BusD)
A
B
C
+
+
D
+
+
+
SUM
SUM
77
예: 자원 공유(resource sharing)(1)
Y <= A + B When Sel = ‘1’ Else Y <= C + D
Which one to choose?
A
C
B
MPX
D
Sel
A
MPX
ADD
Y
B
C
ADD
Sel
D
ADD
MPX
Y
78
예: 자원 공유(resource sharing)(2)
Y <= A + B When Sel = ‘1’ Else Y <= C + D
가. 두 개의 멀티플렉서와 한 개의 덧셈기
MPX1 <= A When Sel = ‘1’ Else C;
MPX2 <= B When Sel = ‘1’ Else D;
Y <= MPX1 + MPX2;
나. 두 개의 덧셈기와 한 개의 멀티플렉서
Sum1 <= A + B;
Sum2 <= C + D;
Y <= Sum1 When Sel = ‘1’ Else Sum2;
79
예: 논리 게이트 최소화(1)
Z<= (A nand B) or (not(C))
Z<= (A and B) nand C
A
A
B
B
Z
C
Z
C
Z<= (A nor B) and (not(C))
Z<= (A or B) nor C
A
A
B
B
Z
C
Z
C
80
예: 논리 게이트 최소화(2)
C <= A or (B and not (Select));

Z <= A when Select = ‘0’ else C;
Z <= A;
81
예: 속도 최적화(1)
임계 속도 (critical speed) 경로 최소화
SigA <= ‘1’ When Count = ‘1101000011001010’ Else ‘0’;
Z<=(((((A and B) and C) and D) and E) and F) or G
A
B
C
D
E
F
G
Z
82
예: 속도 최적화(2)
And/Or 항으로 분리
Y<=(((((A and B) and C) and D) and E) and F)
Z<=Y or G
A
B
C
D
E
F
G
Y
Z
83
예: 속도 최적화(3)
A 에서 Z 까지의 전달 지연 최소화
Z<=(((((F and B) and C) and D) and E) and A) or G
A
B
C
D
E
F
G
Y
Z
84
속도 최적화 및 면적 최소화 시 유의할 점
RESULT <= A + B ;
 다양한 설계 방식 시도
- design requirement에 따라 적절히 tradeoff
 component library에서 미리 설계된 덧셈기를 선택
- 내부 구조 변경 불가
- technology dependent
 carry lookahead 회로 첨가 (혹은 VHDL로 coding)
- 면적은 최소 2.5  50% 증대
85
VHDL 발전 추세(1)


통합(integration)

보다 정확한 물리적 설계 정보가 필요.

예: gate delay

ASIC 제조 기술 변경 결과의 신속한 반영.
도구 성능과 정확도

합성 가능한 entity 수 제한 철폐.

VHDL 원시 코드의 보다 정확한 합성 기술.
86
VHDL 발전 추세(2)

최상위 레벨 도구들

형식 검증( formal verification )

데이터 경로 합성

DSP( Digital Signal Processing ) Application

bus-style/pipelined processor

register/register file synthesis
87