VHDL설계와 FPGA구현pds4.egloos.com/pds/200704/11/49/ch1and2.pdf · ·...
Transcript of VHDL설계와 FPGA구현pds4.egloos.com/pds/200704/11/49/ch1and2.pdf · ·...
디지털 논리회로 및 시스템에 대한VHDL설계와 FPGA구현
– 이론편 –이론편
2007년 1학기
광운대학교 전자정보대학광운대학교 전자정보대학
I. ASIC 및 FPGA부
1장. 집적회로 개요
2장 VLSI 설계방법2장. VLSI 설계방법
3장. 프로그래머블 논리소자
- 2 -광 운 대 학 교전자정보대학
VLSI 설계
집적회로 종류
대표적 집적회로 집적회로의 주요특성 응용 시스템 설계 방법특성
TTL(SSI/MSI)표준 논리회로범용 집적회로 고정 배선(hard-wired)
대표적 집적회로 집적회로의 주요특성 응용 시스템 설계 방법
표준
제품종류
TTL(SSI/MSI)메모리(ROM, RAM)
범용 집적회로생산자 명세
소품종 대량 생산
고정 배선(hard wired)설계
표준 시스템
표준집적회로
-processor
표준 시스템범용 집적회로생산자 명세
소품종 대량 생산
펌웨어/프로그래밍(firmware/programming)
소프트웨어 설계μ
마이크로집적회로
ASIC(Application Specific
Integrated Circuit)
주문형 시스템특정 용도 집적회로
사용자 명세하드웨어 합성 및프로그래밍 설계
주문형집적회로 Integrated Circuit)
다품종 소량 생산
- 3 -광 운 대 학 교전자정보대학
1장. 집적회로 개요
VLSI 설계
집적회로의 발전
범용 구조
표준표준 집적회로집적회로
범용 구조
마스터 및 라이브러리 전용구조
마이크로마이크로 집적회로집적회로
WS, CAD(마스터 및 라이브러리), 전용구조
주문형주문형 집적회로집적회로
- 4 -광 운 대 학 교전자정보대학
1장. 집적회로 개요
VLSI 설계
주문형 집적회로(ASIC)전체 분류
ASIC (Application Specific Integrated Circuit)ASIC (Application Specific Integrated Circuit)ASIC (Application Specific Integrated Circuit)ASIC (Application Specific Integrated Circuit)
ASSP(Application Specific St d d P d t)
ASCP(Application Specific Standard Product) Custom Product)
Full Custom ICFull Custom IC Semi Custom ICSemi Custom IC Field Programmable Logic ICField Programmable Logic IC
<<후반부 설계 방법의 차이>>
- 5 -광 운 대 학 교전자정보대학
1장. 집적회로 개요
VLSI 설계
주문형 집적회로(ASIC)게이트 수준의 설계 데이터 레이아웃 데이터
ASIC
완전 주문형 IC 사용자 프로그램 IC반주문형 IC
혼합배열게이트 어레이
(MPGA) FPGA표준 셀 PLD
- Channeled- Channeless
- 빌딩 블럭 형- 엠베디드 셀 형 - PALsChanneless- 폴리 셀 형
- 6 -광 운 대 학 교전자정보대학
1장. 집적회로 개요
VLSI 설계
집적회로 설계 비용Fixed ; NRE(Non Recurring Engineering) 비용
• CAD charges• Mask generation• Fab. cost• Engineering cost
Incremental ; Unit 생산비용Incremental ; Unit 생산비용• Volume level• Market pressure와 Manufacturing cost
ASIC 설계 방식 비교ASIC 설계 방식 비교
FPLD 게이트 어레이 표준 셀 완전 주문형
집적도(gate) < 103 K 104 K ≤ ≤ 104 K ≅ 104 K
설계 이전의설계 이전의제작 공정 진도(%)
100% 70 ~ 90% 0% 0%
설계 기간 매우 짧다 짧다 중간 길다
프로토타입 개발 기간 없다 짧다 중간 길다프로토타입 개발 기간 없다 짧다 중간 길다
개발 비용 없다 작다 중간 크다
칩 단가 가장 높다 높다 중간 낮다
- 7 -광 운 대 학 교전자정보대학
1장. 집적회로 개요
I. ASIC 및 FPGA부
1장. 집적회로 개요
2장 VLSI 설계방법2장. VLSI 설계방법
3장. 프로그래머블 논리소자
- 8 -광 운 대 학 교전자정보대학
Structured DesignUse Hierarchy
Divide and ConquerTwo MethodsTwo Methods
Top-Down DesignBottom-Up Design: MemoryFor Good Design, Both Techniques must be used wisely
PrinciplesRegularity : Use simple regular block repeatedlyRegularity : Use simple, regular block repeatedlyModularity: Well Defined BlocksLocality: Less Interaction between blocks
- 9 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
AbstractionSystem LevelAlgorithm LevelF ti l Bl k L lFunctional Block LevelLogic LevelCircuit LevelCircuit Level
계층성
i ( )
기능 블럭
집적 회로 시스템main( )
{...
c=a+b;...
}+
논리 게이트
기능 블럭
구조적레지스터
행위적C
프로그램
구조적논리 회로도
레지스터전송(RT)
다이어그램
프로그램
집적회로셀
구조적레이아웃
- 10 -광 운 대 학 교전자정보대학
추상화
2장. VLSI 설계방법
Y Chart
구조영역 행동 영역
ALU 레지스터
프로세서, RAM
알고리듬
설계규격컴퓨터
BooleanEquation
트랜지스터
미분방정식
게이트
ALU, 레지스터
부울대수식
레지스터 전송
미분방정식
다각형
셀
모듈
칩
보오드
기하영역
- 11 -광 운 대 학 교전자정보대학
기하영역
2장. VLSI 설계방법
Design Hierarchy
CPU
Datapath 제어회로 Cache Memory
…
Datapath 제어회로 Cache Memory
Adder Shifter
…1bit ALU 1bit ALU 1bit ALU
CARRY SUM
- 12 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
VLSI 설계과정
설 계 사 양
행위 수준 설계1)
2)
행위 수준 검증
RTL 기능 수준 설계
RTL 수준 HDL 설계데이터
GATE 수준 설계
)3)
행위 수준 HDL 설계데이터
행위 수준 검증시뮬레이션
상위 수준 합성
기능 수준 HDL 검증시뮬레이션
논리 합성 논리 검증시뮬레이션
GATE 수준설계 데이타
집적회로 기술 독립적
타이밍 분석/검증
4)
집적회로 기술 종속적
집적회로 기술 독립적
후반부(Back end) 설계
전반부(Front end)설계
반 형 반주문형
Backannotation 수작업 레이아웃레이아웃 합성
(P&R) 테크놀로지 사상
완전 주문형 반주문형
표준 셀
반주문형
게이트 어레이FPLD
마스크 제작 하드웨어 프로그래밍
- 13 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
알고리즘 수준 설계 및 검증
상위 수준 합성 및 검증스케쥴링 및 할당 (기능 vs. 블록)
입력 : 행위 설계 데이터
출력 : RT 수준 구조 설계 데이터
Use C or HDL
- 14 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
C or HDLC Language
Small & Fast CodeNo Concept for Underlying HardwareNo Concept for Underlying Hardware
VHDLFrom US DOD’s VHSIC ProjectBorrowed from AdaGood SpecificationWeak Simulation & SynthesisWeak Simulation & Synthesis
HDLs
SOC 언어 Vendor 채택 경향SOC 언어 Vendor 채택 경향
System C Synopsys +
Verilog Intrinsix +++g
C/C++ CynApps +
Superlog Co-design Automation +++
- 15 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
기능 수준 설계 및 검증
논리 수준 합성 및 검증블록 구조 설계
입력 : RT 수준 구조 설계 데이터
출력 : 논리 수준 설계 데이터
RTL(Register Transfer Level) Designh i ( i h l) h iBehavior(High-Level) Synthesis
Manual Conversion
Datapath-Controller Paradigm
- 16 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
RTL DesignRegister-Transfer System
출력조 합논 리회 로
조 합논 리회 로 회 로
ClockClock
회 로
ClockClock
조 합논 리
입력
논 리회 로
Clock
- 17 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Representing RTLBlock Diagram
IntuitiveHard to represent exactlyHard to represent exactlyCouldn’t be verified
ASM ChartExact representationCan be converted to HDLCan be converted to HDL
HDL(Hardware Description Language)( p g g )Not IntuitiveCan be simulated accurately
- 18 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
ASM ChartASM Chart Build Blocks
x = a + bq=1
S0 x > 0 x
TF
0 21
State Two-way branch Multi-way branch
For More Info, ReferF P Prosser and D E Winkel Th A t f Di it l D i 2ed Prentice Hall 1987F.P. Prosser and D.E. Winkel, The Art of Digital Design, 2ed, Prentice-Hall, 1987
- 19 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Example : MACMultiply-Accumulator: x=a+b∗c
b c
b c
a
b ca
a a
- 20 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
RTL Design of MAC
x=0count=LENs0
case state iswhen 0 =>
x <= ? 00000000?;
b0=1 F
T
x <= ? 00000000?;count <= 8;state := 1;
when 1 =>if (b(0) = 1) then
< +
x=x+c
h b
s1
x <= x + c;end if;state :=2;
when 2 =>b <= b(1 to 7) & ?0?;
shr bshl c
count=count-1s2
F
c <= ?0? & c(0 to 6);count <= count -1;if (count = 0) then
state := 3;else
s3 x=x+a
count=0F
T
elsestate := 2;
end if;when 3 =>
x <= x + a;state := 0;state := 0;
end case;
ASM VHDL
- 21 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Datapath-ControllerDatapath : Arithmetic and Logic Function, RegistersController : FSM
입력 set
Register제어신호
ALU
제어기(Controller)
연산정보
상태출력 상태
- 22 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Example: Datapath-Controller
레지스터b
레지스터count
Downx,a,b,c,count
controlAdder/Subtracter
x,c,b
bAdder
counter
shifter
Shifter Shift left
- 23 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
게이트 수준 설계 및 검증
Conversion from RTL to Logic Design
Logic SynthesisLogic Synthesis• Timing Verification by Static Timing Analyzer
Schematic Editor• Verification by Logic Simulator
Logic VerificationDesign Verification
셀 라이브러리 결합
타이밍 시뮬레이션
• 셀 고유의 지연 및 가상배선셀 고유의 지연 및 가상배선
테스트 패턴 자동 생성(ATPG) 및 고장(fault) 검출율 (coverage) 시뮬레이션
- 24 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Schematic Capture and Simulator
- 25 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
레이아웃 수준 설계 및 검증
배치 및 배선 (Placement and Routing ; P&R)수작업, 자동합성
Backannotation 및 타이밍 시뮬레이션
출력 : 집적회로(구현) 설계 데이터
- 26 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Layout DesignFull Custom
S i C tSemi CustomGate ArrayStandard Cell
FPLDPLDPLDFPGA
- 27 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Full CustomDesign Each Transistor and Connection using Layout Editor
Cell Library: Some Cells are pre-designed and characterized
Courtesy: Mentor Graphics
- 28 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Full Custom Layout Flow
평면 계획평면 계획floor planning
셀 라이브러리
블럭 레이아웃
블럭 배치블럭 배치
Block Placement
중요 신호 배선중요 신호 배선Critical Signal Routing
배선
블럭 배치 및 배선
배선Routing
- 29 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
FloorplanningManual FloorplanningLayout Editor
initial improved
(courtesy CADENCE Design Systems)
- 30 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Block Layout StylesSingle Row Layout
For Random Logic such as ControllerAbut Cells: Cell Height VDD VSS must matchAbut Cells: Cell Height, VDD, VSS must matchConnect CellsIf Automated: Standard Cell Method
V
feed through
VDD
VSS
p channeln channel
Ch l
VDD p channeln channel
Channel
VSSn channel
- 31 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Block Layout StylesMultiple Row Layout
Datapath type Layoutp n n pp-n-n-p Vertical DATA signalHorizontal CONTROL signalCan be automated by Datapath Synthesizer
VDD p channel
n channel
Data Input
Control
GNDn channel
Vp channeln channel
DataVDD
Data Output
- 32 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Block Layout StylesArray Layout
Regular Structure such as Memory and PLACan be automated by Memory or PLA synthesizerCan be automated by Memory or PLA synthesizer
InputInput Lines
Sums
Output
Memory PLAMemory
- 33 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Block Placement and RoutingBlock PlacementCritical Signal RoutingR tiRoutingLayout Debugging
DRC: Design Rule CheckgERC: Electrical Rule CheckLVS: Layout Versus Schematic
B k A iBack AnnotationLogic Simulation after Layout DesignUse Most Reliable Simulator
- 34 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Power RoutingShared by All Blocks: Maintain Low Resistance
No Via, use Metal1As many CONTACTs as possibleAs many CONTACTs as possible
Electromigration Problem Enough Width Required
VDD
VSS
Interdigital PatternInterdigital Pattern
- 35 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
ClockSkew: Limit Operation SpeedMatch Delay
Clock Input
H-TreeClock Distribution
- 36 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Summary:Full CustomSummary : Full Custom
Small & Fast ChipBut Takes Time and MoneyBut Takes Time and MoneyStandard Cell method can be used in partFor Mass Production Products, e,g, memory, microprocessor
- 37 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Standard Cells
VDDVDDVDD
POLY
P DIFF
N DIFF
CONTACT
METAL1
CONTACT
VIA
METAL2
VSSVSSVSS
- 38 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Cell-Based IC(CBIC) Chip
Vertical Tracks Feedthrough
I/O cellChannel Horizontal Tracks
채널
- 39 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Example : Design with Standard CellsA Full Adder
U1 U3 U4 U7 U5 U11
sco
Metal2
U2 U8 U9 U10U6
a b ci
Metal1
- 40 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Gate Array Design
(d) 기본 셀 내의 소자 배치
(a) 기본 셀 구조 (b) Metal 마스크 패턴 (c) 완성된 NAND 게이트 (e) NAND 연결 모양(a) 기본 셀 구조 (b) Metal 마스크 패턴 (c) 완성된 NAND 게이트 (e) NAND 연결 모양
- 41 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Gate Array Chip
IO Cell
Basic Cell
ChannelChannel
Channeled ChannelessChanneled Channeless(Sea of Gates, SOG)
- 42 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Channeled vs Channelless(SOG)
Channelless(SOG)Channeled
Flexible Channel DefinitionO th C ll R ti
Simpler Routing Problem1 M t l R ti ibl
Channelless(SOG)Channeled
Over-the-Cell RoutingHigher Packing Density & UtilizationSmaller Basic Cell TransistorsS ll M (SRAM & ROM)
1 Metal Routing possiblePCB Router Can be usedLow Cell Utilization
Small Memory(SRAM & ROM)can be designed with BC
Need CAD support
- 43 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Embedded ArrayDedicated Functional Block
RAM. ROM, Microprocessor, etc.
O i i d F i l Bl kOptimized Functional BlockBut, Less VersatileMust maintain large family of Master SlicesMust maintain large family of Master Slices
내장 기능 블럭내장기능블럭
- 44 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Example : Design with SOGA Full Adder
U1 U3 U7 U5 U10 U11
sco
U2U4 U8 U9U6
a b ci
- 45 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Summary : SemicustomAutomatic Layout (P & R)Use pre-developed cells (well designed and characterized)
Gate ArrayGate Array Standard CellStandard Cell
Metal Layers OnlyLogic Gates
All LayersFlexible
Gate ArrayGate Array Standard CellStandard Cell
Logic GatesCheap to DevelopSmall Quantity
FlexibleExpensiveMass Production
- 46 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
PLD Example: PAL 22V10
Vertical wires
IO Cell
Inputs
productterms
Programmed connection
out0
IO Cellproductterms
in0
out1
Input/Outputs
terms
in1Input Buffer Feedback Buffer Output Buffer
REG1-bit
SETCLEAR
CLKSET
CLEAR
0
123
S
S
0
1
- 47 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
FPGA: Xilinx XC3000
CLBI/O 블럭 DATA IN di
프로그램가능한연결선 MUX
0
1
D Q
RD
F
GDIN수평
배선채널
조합논리
기능블럭
QXF
RD
QXF
x
출력
abcd
논리
입력
채널
수직배선채널
기능 럭
QYG
0
F
GDIN
QXF
ye
MUX0
1
D Q
RDENABLE CLOCK“1”ENABLE
ec
1 ENABLECLOCKCHECK“0”INHIBIT
k
rd
- 48 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
GLOBAL RESET
Summary : FPLDPre-fabricated ChipNo Mask DesignN NRE(N R i E i i ) ChNo NRE(Non-Recurring Engineering) ChargeConnections programmed by user-->Immediate ResultAutomatic Partition, P & R toolsAutomatic Partition, P & R tools
- 49 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법
Comparison
완전반주문형 사용자 프로그램 소자
게이트주문형 표준 셀
게이트어레이 FPGA PLD
레이아웃
설계기간매우 길다 길다 짧다 짧다 짧다
설계기간
제작기간 길다 길다 짧다 거의 없다 거의 없다
개발비용매우 비싸다 비싸다 싸다 없다 없다
(NRE)매우 비싸다 비싸다 싸다 없다 없다
집적가능
게이트수매우 많다 많다 중간 정도 적다 매우 적다
설계유연성
(Flexibility)매우 유연 유연 중간 정도 제약 심함 제약 심함
중간정도동작속도 매우 빠르다 빠르다 중간 정도 늦다
중간정도
(균일하다)
생산단가 매우 싸다 싸다 중간 정도 비싸다 비싸다
- 50 -광 운 대 학 교전자정보대학
생산규모 대량 생산 대량 생산 중간 정도 소량 생산 소량 생산
2장. VLSI 설계방법
Economics
단가
가격
생산량
시간
프로그램 가능 소자
게이트 어레이
표준 셀
AB
C
생산량
완전 주문형
CD
- 51 -광 운 대 학 교전자정보대학
2장. VLSI 설계방법