저전력 MP-SoC-2 - VADA

advertisement
수체계 변환에 의한 저전력 FFT
• Logarithmic Number System의 사용
• Log 수 체계
– look-up table
– 크기 영역에 대해서 2의 log를 취한 값을
산출한다.
– 변환된 log 값을 어떤 n 비트로 제한된
표현 범위의 값을 갖는 2진수로 표현.
• LNS 연산
– 곱셈 : 가산
– 가감산 : look-up table
• 연산의 정확도
– 소수부가 2비트 이상의 경우 BER 성능
감소 없음
• 전력 소모
– 실험 결과 일반 butterfly FFT에 비하
여 약 60% 정도 까지 전력 소모가 감소
함
– 7.8mW -> 3.1mW
A  S A LA
0,
SA  
1,
if
A0
if
A0
log 2  A ,
LA  
log 2  ,
A  1  2  S A 2 LA
© 조준동, 2006년 가을
if
A 
if
A 
1
연산 순차 변환에 의한 저전력 기법 –
I.1
• coefficient ordering
– radix-4 pipeline 저전력 FFT 프로세서의 전력 소모를
줄이기 위해 연산 순서를 변형
• Coefficient ordering
– 복소 곱셈기의 고정된 계수 입력에 대한 스위칭 동작 감축
• 새로운 commutator 구조
– 추가적인 dual-port RAM 사용
– 16과 64 포인트 FFT에 대하여 각각 23% 및 9%의 전
력 감소 효과.
• 보다 큰 FFT에서 효과가 감소
© 조준동, 2006년 가을
2
DIGLOG 곱셈기
1st Iter 2nd Iter 3rd Iter
Worst-case error
-25%
-6%
-1.6%
Prob. of Error<1% 10%
70%
99.8%
With an 8 by 8 multiplier, the exact result can be obtained at a maximum of
seven iteration steps (worst case)
© 조준동, 2006년 가을
3
Clock Network Power Managements
• 50% of the total power
• FIR (massively pipelined circuit):
video processing: edge detection
voice-processing (data transmission like xDSL)
Telephony: 50% (70%/30%) idle,
동시에 이야기하지 않음.
with every clock cycle, data are loaded into the
working register banks, even if there are no data
changes.
© 조준동, 2006년 가을
4
Wireless Interface Power-Saving
Ronny Krashinsky and Hari Balakrishnan
MIT Laboratory for Computer Science
• Sleep to save energy, periodically wake to check for pending data
– PSM protocol: when to sleep and when to wake?
• A PSM-static protocol has a regular sleep/wake cycle
PSM off
750mW
time
power
power
Measurements of Enterasys Networks RoamAbout 802.11 NIC
PSM on
50mW
time
100ms
© 조준동, 2006년 가을
5
Ronny Krashinsky and
Hari Balakrishnan, MIT
Mobile
Device
tim
e
SYN
ACK
DATA
PSM off
Serve
Access
r
Point
Mobile
Device
PSM on
Serve
Access
r
Point
0ms
AWAKE
SLEEP
100ms
200ms
© 조준동, 2006년 가을
6
The PSM-static Dilemma
Compromise between performance and energy
If PSM-static is too coarse-grained, it harms
performance by delaying network data
If PSM-static is too fine-grained, it wastes
energy by waking unnecessarily
Solution: dynamically adapt to network activity to
maintain performance while minimizing energy
– Stay awake to avoid delaying very fast RTTs
– Back off (listen to fewer beacons) while idle
© 조준동, 2006년 가을
7
Why Hardware for Motion Estimation?
• Most Computationally demanding part of
Video Encoding
• Example: CCIR 601 format
• 720 by 576 pixel
• 16 by 16 macro block (n = 16)
• 32 by 32 search area (p = 8)
• 25 Hz Frame rate (f frame = 25)
• 9 Giga Operations/Sec is needed for Full
Search Block Matching Algorithm.
© 조준동, 2006년 가을
8
Why Reconguration in Motion Estimation?
• Adjusting the search
area at frame-rate
according to the
changing characteristics
of video sequences
• Reducing Power
Consumption by avoiding
unnecessary
computation
Motion Vector Distributions
© 조준동, 2006년 가을
9
Architecture for Motion Estimation
From P. Pirsch et al, VLSI Architectures for Video
Compression, Proc. Of IEEE, 1995
© 조준동, 2006년 가을
10
Low Power CDMA Searcher
CDMA 단말기에 사용하기위한 MSM
(Mobile Station Modem) 칩의 Searcher Engine에 대한 RTL수준
저전력 설계 구현. 동작 주파수 : 12.5MHz
Data flow graph를 사용하여 rescheduling, pre-computation 및
strength reduction, Synchronous Accumulator를 이용한 저전
력 설, area와 power를 각각 최대 67.68%, 41.35% 감소 시킴.
San Kim and Jun-Dong Cho, “Low Power CDMA Searcher”,
CAD and VLSI Workshop, May. 1999.
•
Inki Hwang, San Kim and Jun-Dong Cho, “CDMA Searcher Co-Design”,
•
ASIC Workshop, Sep. 1999
.
© 조준동, 2006년 가을
11
CDMA Searcher
그림 1). 상세 블록도
© 조준동, 2006년 가을
12
탐색자 (Searcher)
• IS-95 기반의 DS/CDMA 시스템에서 기지국에서 전송하는 파일롯
채널을 입력으로 하여, 초기 동기를 획득하는 장치
• 탐색자 (Searcher)의 종류
– 상관기를 사용하는 방식, 정합필터를 응용한 방식
– 상관기를 사용한 직렬 탐색 및 Double Dwell 방식을 사용함.
• 국부 (단말기) PN 코드 발생기
– 15개의 register를 사용하여 생성.
– 생성 다항식
© 조준동, 2006년 가을
13
Operation Flow
1
기지국에서 전송하는 파일럿 채널을 단말기에서 발생된
PN부호열과 역확산 과정 수행.
2
역확산된 결과를 동기 누적 횟수 Nc 만큼 누적한 후 에너
지 계산 과정을 거침 (제곱 연산).
3
에너지 계산 결과값들은 첫번째 임계치와 비교하여 초과
할 경우 뒷 단에서 비동기 누적(Nn) 수행.
4
그렇지 못할 경우 PN부호열을 한 칩 빨리 발생시키고 입
력되는 신호에 대하여 앞의 과정을 반복.
5
비동기 누적을 거친 결과값을 두번째 임계치와 비교.
6
초과하면 탐색 과정을 종료하고, 그렇지 않을 경우 PN부
호열을 한 칩 빨리 발생시키고 앞의 과정을 반복.
© 조준동, 2006년 가을
14
Pre-computation
◈ A comparator example :
Shrinivas Devadas, 1994
◈ Precomputation for
external idleness : M. Alidina,
1994
© 조준동, 2006년 가을
15
Low Power Comparator
© 조준동, 2006년 가을
16
Three Input ALU
( Ovadia Bat-Sheva, 1998 )
MUL0
MUL1
MUL0
MUL1
P0
P1
P0
P1
ALU
ALU/ASU
3IALU
acc0
acc1
acc1
Two ALUs Structure
Three Input ALU Structure
The three input ALU consumes much less power than an ALU and
an ASU
A drawback of using a 3I-ALU is the added complexity in
calculating the carry and overflow.
© 조준동, 2006년 가을
17
Carry Save Adder 및 Pre-computation 적용
RX
TX I
I
RX
XOR
TX Q
Q
RX
XOR
TX Q
I
RX
XOR
-TX
Q
I
XOR
RX
TX I
I
RX
RX
TX Q
I
-TX
Q
I
XOR
XOR
XOR
XOR
동기 누적단
동기 누적단
+
RX
TX Q
Q
+
+
+
()2
()2
에너지 계산단
CSA
CSA
()2
()2
에너지 계산단
>
max 값
선택
>
max 값
선택
>
θ1 와
비교
>
θ1 와
비교
비동기 누적단
비동기 누적단
+
+
>
θ2 와
비교
>
θ2 와
비교
© 조준동, 2006년 가을
18
Rescheduled Data Flow Graph
RXI
TXI RXQ
XOR
TXQ RXI
XOR
TXQ RXQ
XOR
-TX I
XOR
CSA
동기 누적단
CSA
| |
| |
> max 값 선택
>
– Carry Save Adder
(or 3 Iinput ALU)
사용
임계치 비교
– Pre-computation 적
용
θ1와 비교
()2
에너지 계산단
+
비동기 누적단
>
동기 누적단
에너지 계산단
– Data Flow 순서를 변
화하여 곱셈 과정을 줄
임
θ2와 비교
© 조준동, 2006년 가을
19
Image 압축
© 조준동, 2006년 가을
20
Dual Mode IS95 Mobile Terminal
• Quality of service vs. system capacity -> variable rate
speech coder:
– High capacity, Low QoS -> Set 1: 1.2288 Mhz / 9.6
kHz = 128 (8 kbps CELP),
– Low capacity, High QoS -> Set 2: 1.2288 Mhz /
14.4 kHz = 85(13 kbps CELP),
S. Bisada et. Al, Lucent Tech., Cairo
© 조준동, 2006년 가을
21
Dual Mode IS95 Mobile Terminal
• Initially, operate at Rate Set 1. If the QoS falls below a
threshold for a period of time, the user terminal
switches to Rate Set 2.
• Base station hosts a set of speech coder banks. If Set 1
user requiring a shift to Set 2 may not find a free Set 2
coder, and continue to receive poor service. If both
algorithms are busy, service provide can choose to
redirect to analog service.
© 조준동, 2006년 가을
22
Rate Set (1) Characteristics
Access Method :
CDMA
Modulation Method :
QPSK
Nominal RF Ch. BW
1.23 MHz
Voice Circuits per Carrier < 55 Traffic Channels
Gross Bit Rate
1.2288 Mbps
Spectral Efficiency
0.999 bps/Hz
Speech Coder Rates
8.0 kbps - Rate 1
(full rate)
Convolutional coder
Rate ½ , Constraint length 9 – downlink
Rate 1/3 ,Constraint length 9 – uplink
© 조준동, 2006년 가을
23
Rate Set (2) Characteristics
Access Method :
CDMA
Modulation Method :
QPSK
Nominal RF Ch. BW
1.23 MHz
Voice Circuits per Carrier < 55 Traffic Channels
Gross Bit Rate
1.2288 Mbps
Spectral Efficiency
0.999 bps/Hz
Speech Coder Rates
13.35 kbps - Rate 1 (full rate)
Convolutional coder
Rate 3/4 , Constraint length 9 – downlink
Rate 1/3 ,Constraint length 9 – uplink
© 조준동, 2006년 가을
24
Link Adaptation Technique
Adaptive Modulation and Coding
Throughput
16QAM, R=1/2
Modulation/Coding
transition, 8PSK->16QAM
16QAM, R=1/4
8PSK, R=1/4
Hull of AMC
QPSK, R=1/4
C/I
© 조준동, 2006년 가을
25
CDMA Baseband SDR
Signal
From
Rake
Channel Receiver
Soft
bits
Turbo
Decoder
Rake
Parameter
QoS Manager
Hard
bits
Turbo Decoder
Parameter
Requested
Quality
© 조준동, 2006년 가을
26
Rake Receiver in CDMA
Correlator
Baseband
CDMA
r(t)
Signal with
multipath
components
Correlator
Correlator
Z1
Z2
Zk
© 조준동, 2006년 가을
27
Space-Time Code
c1(t) r1(t)
s(t)
cN(t)
c(1) c(2)
c(L) c(1) c(2)
rM(t)
c(L)
Frame
N 전송 안테나, M 수신 안테나
– 시간 t에서 각 심볼 s(t) 는 ST부호기에 의하여 N 코드 심볼 c(t)={c1(t), c2(t),
… , cN(t)}로 부호화되어 N 전송 안테나를 통해 동시에 전송
• 코딩 이득과 다이버시티 이득 최대화
• Code Construction: 4-PSK Example
2-space-time code, 4-PSK,
4-states, 2 TX antennas
© 조준동, 2006년 가을
28
재구성구조를 이용한 저전력 설계
성균관대학교 정보통신공학부
© 조준동
2006년 여름
29
재구성을 이용한 에너지 효율증대
Doing More by Doing Less
1. 알고리즘 진화에 따른 유연
성
– 다양한 표준 수용
– Dynamic QoS 제공
2. 전력 감축
3. 설계 비용 감축:
– 개발 및 유지 보수해야 하
는 플랫폼 감소
– 임베디드 프로세스 사용
Task 1
A B
C
D E
Task N
W
X Y
Z
W
Y
A
B
I
J
D
C ZE
X
Reconfigurable Hardware
H
© 조준동, 2006년 가을
30
Energy-Flexibility Gap
FPFA(Field Programmable Function Array)
Sensor network design space
에너지 효율
(MOPS/mW)
1000
100
신호처리
ASIC
200 MOPS/mW
FPFA
10
1
신호처리 프로세서
ASIPs, DSPs
Wireless embedded systems
10-80 MOPS/mW
3 MOPS/mW
임베디드 프로세서(ARM)
0.5 MOPS/mW
0.1
가용성
© 조준동, 2006년 가을
316
Energy Efficiency of Reconfigurability
–
–
–
–
system architecture
communication protocol
O/S and applications
Partitioning of functions between wireless device
and services on the network
– The mobiles must be flexible enough to
accommodate a variety of multimedia services
and communication capabilities and adapt to
various operating conditions in an (energy)
efficient way
© 조준동, 2006년 가을
32
S/W configurable platform의 필요성
–
–
Doing More by Doing Less :다양한 표준을 다
룰 수 있는 능력이 필요 (AM, FM, GSM, UMTS,
digital broadcasting standards, analog and
digital television and other data links.
A fully software reconfigurable multichannel broadband sampling receiver for
standards in the 100 MHz band
© 조준동, 2006년 가을
33
SoC Design Process:
Combined & Incremental synthesis
© 조준동, 2006년 가을
34
Radio systems
• WiFi – 10-100Mbits/sec unlicensed band
– OFDM, M-ary coding
• 3G – .1-2 Mbits/sec wide area cellular
– CDMA, GMSK
• Bluetooth – .8 Mbit/sec cable replacement
– Frequency hop
• ZigBee – .02-.2 Kbits/sec low power, low cost
– QPSK
• UWB – Recently allowed by FCC
– Short pulses (no carrier), bi-phase or PPM
© 조준동, 2006년 가을
35
Cost (projections)
$1000
$100
3G
802.11a
802.11b,g
UWB
$10
$1
ZigBee
UWB
Bluetooth
ZigBee
$ .10
0 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz
© 조준동, 2006년 가을
36
Data rate
UWB
100 Mbit/sec
10 Mbit/sec
1 Mbit/sec
802.11g
802.11b
3G
802.11a
Bluetooth
ZigBee
100 kbits/sec
ZigBee
10 kbits/sec UWB
0 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz
© 조준동, 2006년 가을
37
Radio systems:
different power
Constraints
10 W
3G
1W
100 mW
802.11bg
802.11a
Bluetooth
UWB
ZigBee
10 mW
ZigBee
UWB
1 mW
0 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz
© 조준동, 2006년 가을
38
재구성 DSP를 이용한 사례: DMB 변복조부
업체명
생산품목과 주요 특징
TI
(미국)
DRE200 : 범용DSP사용하여 COFDM/Audio
FEC/Decoder수행, 160mW
ATMEL
(독일)
U2739M : Oak DSP 사 용 하 여 COFDM 복 조 ,
HW Audio / FEC Decoding, 860mW
Panasonic
(일본)
MN66720UC : SDSP for COFDM, MDSP for
Audio,
Frontier
Silicon(영국)
Chorus FS1010 : Special
COFDM/Audio, 100mW
DSP
© 조준동, 2006년 가을
for
39
Anatomy of a Cellular Phone
© 조준동, 2006년 가을
40
SDR
• 제어(Control), 구성(configuration), 재구성
(reconfiguration) 그리고 재프
로그래밍 능력(Reprogrammability)
• 다중 채널에서 공동으로 이용할 수 있도록 제공하기 위한
유동성
• 비례축소가 가능(Scalability), 확장성(extendibility)그리
고 modular 설계
• 하드웨어 업그레이드 없이 새로운 서비스를 제공하기 위한
부분 어플리케
션/웨이브폼(application/waveform)을 발전 시킬 수 있는
능력
• 상업적 이용이 가능한 가격의 적당함(Affordability)
© 조준동, 2006년 가을
41
Why is SDR Challenging?
Scott Mahlke
© 조준동, 2006년 가을
42
재구성 가능한 하드웨어 플랫폼
© 조준동, 2006년 가을
43
SDR = Reconfigurable Radios
© 조준동, 2006년 가을
44
SDR Configuration
• Digital Down/Up Conversion (DDC)
– Channel Center
– Decimation/Interpolation rates
– Compensation Filters
– Matched Filter a = {0.25,0.35,...}
• FEC
– Convolutional
– Reed-Solomon
– Concatenated Coding
– Turbo CC/PC
– (De-)Interleave
• Beam Forming
Soft Radio
Digital
Signal
Processing
Engine
• Security
• Modulation Format
– QPSK
– DQPSK
– p/4 DQPSK
– {16,64,256,1024} QAM
– OFDM
– OFDM CDMA
• Channel Access
– CDMA
– TDMA
• DSSS
– Rake, track, acquire
– Multi User Detect. (MUD)
– ICU
• Network Interface Definition
© 조준동, 2006년 가을
45
Technology Evolution
© 조준동, 2006년 가을
46
재구성 HW/SW 구조
© 조준동, 2006년 가을
47
Granularité de la reconfiguration
Sébastien PILLEMENT - ENSSAT/LASTI
• Reconfiguration au niveau système
–
–
Lx, C62 (décomposition en cluster)
Course gained operations : CPU, host
• Reconfiguration au niveau fonctionnel
–
–
Pleiades, RaPiD, DART(2001)
Medium gained operations : reconfigurable modules (e.g.
display, audio, network interface, security, etc.)
• Reconfiguration au niveau opérateur
–
–
Chameleon, Piperench, Morphosys(2000)
Fine gained operations : Multiply and addition
• Reconfiguration au niveau porte
–
Napa, GARP, FPGA
© 조준동, 2006년 가을
48
The gain size of operations
in Reconfigurable System Architectures
– Fine gained operations : Multiply and addition
– Medium gained operations : reconfigurable
modules
– Course gained operations : CPU, host
© 조준동, 2006년 가을
49
Design Space of Reconfigurable
Architectures
RECONFIGURABLE ARCHITECTURES
(R-SOC)
Lilian Bossuet
LESTER Lab
Université de Bretagne Sud
Lorient, France
MULTI GRANULARITY
(Heterogeneous)
FINE GRAIN
(FPGA)
Processor +
Coprocessor
Island
Topology
Hierarchical
Topology
Coarse Grain
Coprocessor
Fine Grain
Coprocessor
• Xilinx Virtex
• Xilinx Spartran
• Atmel AT40K
• Lattice ispXPGA
• Altera Stratix
• Altera Apex
• Altera Cyclone
• Chameleon
• REMARC
• Morphosys
• Pleiades
• Garp
• FIPSOC
• Triscend E5
• Triscend A7
• Xilinx Virtex-II Pro
• Altera Excalibur
• Atmel FPSIC
COARSE GRAIN
(Systolic)
Tile-Based
Architecture
Mesh
Topology
• aSoC
• E-FPFA
Linear
Topology
• RAW
• Systolic Ring
• CHESS
• RaPiD
• MATRIX
• PipeRench
• KressArray
• Systolix Pulsedsp
© 조준동, 2006년 가을
Hierarchical
Topology
• DART
• FPFA
50
Fine Grain Processing With FPGAs
성균관대학교 정보통신공학부
© 조준동
2006년 여름
51
Multiplier Options In FPGAs for
DSP Processing
Option
Resource
Area Usage
1
Logic Multipliers
Logic Elements
(Traditional)
500 LEs per
18x18 Multiplier
2
Hard Multipliers
DSP Blocks
4 18x18
Multipliers per
DSP Block
3
Soft Multipliers
RAM
1 to 2 Embedded
Memory Blocks
Paul Ekas and Jean-Charles Bouzigues
© 조준동, 2006년 가을
52
Logic Elements
• Smallest Unit of Logic
• Grouped into Logic Array
Blocks (LABs) of Ten LEs
• Features
– Four-Input Look-Up Table
(LUT)
– Configurable Register
– Dynamic Add/Subtract Control
– Carry-Select Chain Logic
Control
Signals
4
LE1
4
4
4
4
4
4
4
4
Logic
Element
LE2
LE3
LE4
LE5
Logic Array
Block
LE6
LE7
LE8
LE9
4
LE10
Local
Interconnect
© 조준동, 2006년 가을
53
DSP Block: Optimized Hard MAC
36
38
+
36
+-S
37
Output Register Unit
+-S
37
Output MUX
Optional Pipelining
144
Input Register Unit
36
144
36
9 Bit x 9 Bit
18 Bit x 18 Bit
36 Bit x 36 Bit
8 Multiplies
4 Multiplies
1 Multiply
2 Multiplies with Accumulate
2 Multiplies with Accumulate
2 Sum of 2 Multipliers
(Complex Multipliers)
1 Sum of 2 Multipliers
(Complex Multiply)
2 Sum of 4 Multiplies
1 Sum of 4 Multiplies
© 조준동, 2006년 가을
54
DSSS Modulator
DCH0
Cch,16,0
DCH1
S
FIR3 RRC
25-Tap FIR
Filter
Interpolation x4
Ex BW:22%
Re[]
Cch,16,1
gi
DCH2
K
Cch,16,2
SCH
Length 256
Gold Code
Spreader
K
DCH3
Cch,16,8
DCH4
Cch,16,9
PCH
Im[]
S
gq
FIR1
LPF
2-Channel
87-Tap
FIR Filter
Interpolation
x2
FIR2
LPF
2-Channel
47-Tap
FIR Filter
Interpolation
x4
Sin(wn)
NCO Frequency
Resolution:
0.03Hz
SFDR: 112dB Cos(wn)
Carrier Phase
Increment
FIR3 RRC
25-Tap FIR
Filter
Interpolation x4
Ex BW:22%
Cch,16,10
© 조준동, 2006년 가을
55
Soft Multipliers: Lookup Based
Multiplication
• Use Embedded RAM Blocks as Look-Up Tables (LUTs)
for Generating Partial Products
• Coefficient or Sum of Coefficients Values Stored in
RAM Blocks
• MSB Partial Product Shifted & Added to LSB Partial
Address
Product
Multiplier Table
5
• Example
– Multiplication of 5-Bit
Input with 13-Bit
Coefficient
•
ADDRESS
32*18
M512
All 18 Bit Possible
Results Stored at
32*18 Look Up Table
18
MULT_RESULT
00000
0
00001
C
00010
2*C
00011
3*C
…
….
11111
31*C
Data Output
C = Coefficient[12:0]
© 조준동, 2006년 가을
56
Altera FPGA Memory Architectures
•
•
•
Today’s applications need more high performance memory
One size does not fit all
Wide choice of modes and widths
M512 Blocks




Rate Changing
Embedded Shift
Register Mode
Operates Up to
312Mhz
Mixed Clock Mode
M4K Blocks




True Dual Port RAM
Embedded Shift
Register Mode
Operates Up to
312Mhz
Mixed Clock Mode
M-RAM





External Memory Devices
True Dual Port RAM
Embedded Shift Register
Mode
512K bits 300 Mhz
Operates Up to 300Mhz
Mixed Clock Mode

DDR SDRAM & SRAM

SDR SDRAM

QDR & QDRII SRAM

ZBT SRAM

DDR FCRAM
More Bits For Larger Memory Buffering
More Data Ports for Greater Memory Bandwidth
© 조준동, 2006년 가을
57
Soft Multiplier: Sum of Multiplications
16-Bit Serial Shift Registers
16-Bit Serial Shift Registers
Input
1
1
(Sample 16-Bit, Coefficient 16 Bit)
1
Sum of Multiplications Table
4
4
M512
32*18
18
M512
32*18
18
+
ADDRESS
MULT_RESULT
0000
0
0001
C0
0010
C1
0011
C0+C1
…
….
1111
C0+C1+C2+C3
19
35
+
Example: FIR Filter
Output
Memory: 2 M512
© 조준동, 2006년 가을
58
Example Direct Sequence
Spread Spectrum (DSSS)
Modem
성균관대학교 정보통신공학부
© 조준동
2006년 여름
59
DSSS Modem
•
•
•
•
•
•
•
•
Five Independent Data Channels Spread to 3.84 Mcps
Three-Stage FIR Interpolation-by-32
Root-Raise Cosine Pulse Shaping with 22% Excess Bandwidth
112 dB SFDR 15.36 MHz Quadrature Carriers
122.88 MSPS Transmitter Output with 5 MHz Bandwidth & Over 78-dB Out–ofBand Rejection
Automatic Gain Control (AGC) Compensating for Channel Attenuation of up to
30 dB
Costas Loop Carrier Recovery
4x Oversampling Code Synchronization
DCH0
DCH1
DCH2
DCH3
DCH4
DSSS
Modulator
Channel
Model
DSSS
Demodulator
DCH0
DCH1
DCH2
DCH3
DCH4
© 조준동, 2006년 가을
60
DSSS Modulator
DCH0
Cch,16,0
DCH1
S
FIR3 RRC
25-Tap FIR
Filter
Interpolation x4
Ex BW:22%
Re[]
Cch,16,1
gi
DCH2
K
Cch,16,2
SCH
Length 256
Gold Code
Spreader
K
DCH3
Cch,16,8
DCH4
Cch,16,9
PCH
Im[]
S
gq
FIR1
LPF
2-Channel
87-Tap
FIR Filter
Interpolation
x2
FIR2
LPF
2-Channel
47-Tap
FIR Filter
Interpolation
x4
Sin(wn)
NCO Frequency
Resolution:
0.03Hz
SFDR: 112dB Cos(wn)
Carrier Phase
Increment
FIR3 RRC
25-Tap FIR
Filter
Interpolation x4
Ex BW:22%
Cch,16,10
© 조준동, 2006년 가을
61
DSSS Demodulator
FIR
Altera RRC
31-Tap FIR Filter
Excess BW: 22%
Fixed Rate
AGC
NCO
Frequency
Resolution:
0.03Hz
SFDR: 112dB
pn_lock
8
Gold Code
Correlator
4x
Oversampling
Peak
Detector max_index
Data
Channels
Output
1…5
Carrier
Recovery
Loop
Free-Running
Phase Increment
Buffer
FIR
Altera RRC
31-Tap FIR Filter
Excess BW: 22%
Fixed Rate
I-Q
Derotate
Hadamard
Despreader
8
Pilot
Output
Pilot Monitor
© 조준동, 2006년 가을
62
DSSS Modem Resources
Resource Usage Summary
Design
Entity
Modulator
Demodulator
Logic
Elements
M512
RAM
M4K
RAM
Mega
RAM
DSP Block
Elements
9943
1
8
0
12
12196
60
8
1
60
Power Usage Estimates
Power
Total Standby Internal Power
mW
75
Total Logic Element Internal Power
283
Total Clocktree Internal Power
175
Total DSP Internal Power
23
Other Internal Power
92
Total Power
505
© 조준동, 2006년 가을
63
FIR Filter Example* – 16X
Cost/Performance Improvement
Device
Solution
FIR
Performance
(MHz)
Device
Cost****
Cost per
FIR MHz
TI C6713-200
64 cycles** @
200MHz
3.125
$24.59
$7.87
TI C6416-600
32 cycles** @
600MHz
18.75
$160
$8.53
Altera 1C3-8
8 cycles*** @
230MHz
28.75
$14
$0.49
Altera 1C12-8
1 Cycles*** @
170MHz
170
$84
$0.49
* FIR 128 Tap, 16 bit data, 14 bit coefficients
** DSPLib Optimized Assembly Libraries from Texas Instruments
*** MegaCore Optimized FIR Compiler from Altera
**** Pricing in quantity of 100 at Arrow 6/25/03
© 조준동, 2006년 가을
64
Reconfigurable video processor for
SDRAM access optimization
(Henriss, Ernst et al.)
© 조준동, 2006년 가을
65
Medium Grain Processing With FPFA
성균관대학교 정보통신공학부
© 조준동
2006년 여름
66
Performance (MMACs/sec)
DSP System Architecture Options
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
DSP
Stand-Alone
Processor
Processor Array
Processor +
Co-Processor
Dedicated Hardware
Architecture
© 조준동, 2006년 가을
67
Optional Coprocessor Mappings
Processor On FPGA
Processor External to FPGA
FPGA
FPGA
Processor
Processor
•Nios
•ARM (AHB)
Memory
•TI c6x (EMIF)
•Mot PPC (MPX)
•Mot Starcore (MPX, AHB)
•Intel 2850 (PCI Express)
•ARM (AHB)
•…..
© 조준동, 2006년 가을
68
Field Programmable Function
Array
• The FPFA concept has a number of
advantage
– The FPFA has a highly regular organisation
– We use general purpose process core
– Its scalability stands in contrast to the dedicated
chips designed nowadays
– The FPFA can do media processing tasks such as
compression/decompression efficiently
© 조준동, 2006년 가을
69
Field Programmable Function Array
• Processor tiles
– Consists of five identical blocks, which share a control unit and a
communication unit
– An individual block contains an ALU, two memories and four
register banks of four 20-bit wide register
– A crossbar-switch makes flexible routing between the ALUs,
registers and memories
– This structure is convenient for the Fast Fourier Transform(6input,4-output) and the Finite impulse response
M
M
M
M
M
M
M
M
M
M
Memory
CrossBar
Registers
ALU
ALU
ALU
ALU
ALU
ALUs
© 조준동, 2006년 가을
70
Mapping of DSP Algorithms on
the FPFA
• Fast Fourier Transform
– FFT recursively divides a DFT into smaller DFTs
DFT
FFT
DFT
N=2
DFT
FFT
N=8
FFT
N=8
DFT
N=2
N=8
N=8
DFT
N=8
FFT
DFT
N=2
N=8
N=8
DFT
N=2
a
b
+
-
-
W
Recursion of a radix 2 FFT with 8
inputs
The radix 2 FFT butterfly
© 조준동, 2006년 가을
71
Mapping of DSP Alg.’s on FPFA
• Five-tap finite-impulse response filter
Cross Bar
h4
h3
h2
h1
h0
Level 2
1
2
3
4
5
O
© 조준동, 2006년 가을
72
MorphoSys (1999)
© 조준동, 2006년 가을
73
Reconfigurable cell
© 조준동, 2006년 가을
74
RC Array
•Array of reconfigurable
cells
•64 cells in a 2-D matrix
•SIMD model
•Same row(column)
share configuration
• Each RC operates on
different data
© 조준동, 2006년 가을
75
TinyRISC (Cont’d)
© 조준동, 2006년 가을
76
Implementation & Performance
•0.35 micron technology
•4 metal layers
•Operation at 100MHz
•170 mm2
Motion Estimation
Block size : 16x16 pixel,
Image size : 352x288 pixel
© 조준동, 2006년 가을
77
Key Software Radio Components
Multibeam Antenna Array
Multiband RF Conversion
Spectral
Purity
Wideband A/D & D/A Conversion
IF Processing
Environment
Characterization
IF Processing
WB Digital
DSP &
Software
Design
Modulator
Demodulator
Advanced
Control
Bitstream
Bitstream Processing
Bitstream Processing
Service
Quality
Time to Market
Transmit
Isochronism
Throughput
Response Time
Receive
Larger Network
On Line Adaptation
Off Line Support
SNR/BER optimization
Data rate adaptation
interference suppression
Band/Mode selection
Development
Optimization
Over the air
Delivery
© 조준동, 2006년 가을
78
SDR Architecture
RF unit
Signal processing/control unit
Input/
Output
Rx SYN
LNA
RX
Tx SYN
LNA
TX
C
o
n
tr
o
l
EX.
In
te
fra
c
e
PA
B
a
s
e
b
a
n
d
M
O
D
Q
E
uM
a
d
ra
tu
re
M
O
D D
E a
M ta
c
o
n
v
e
rt
e
r
Receive/
Transmit
HMI
Terminal
RX
Receive/
Transmit
Rx SYN
PA
EX.
TX
Tx SYN
C-PCI bus
Isao TESHIMA, Hitachi Kokusai Electric Inc., teshima.isao@h-kokusai.com
© 조준동, 2006년 가을
79
Specification of Prototype
Signal processing
FPGA : Quadrature MODEM
DSP : Baseband MODEM
FPGA
XCV2000E x 3
DSP
TMS320C6701 x 4
CPU
Control module : Celeron Peripheral module
System bus
cPCI
Operating system
Linux
HMI
Operates from web browser
Interface
Audio I/O
Serial I/O
Ethernet(100BASE-TX)
© 조준동, 2006년 가을
80
Specification of Prototype
RF range
2~500MHz
Waveform
SSB, AM, FM, BPSK, QPSK, 8PSK, 16QAM
Number of channel
Four full-duplex
Radio relay
Repeat/Bridge
Frequency accuracy
<0.1ppm
Rx IF frequency
70MHz
Tx IF frequency
25MHz
Dynamic range
14bits
Rx IF sampling frequency
40MHz
Tx IF sampling frequency
100MHz
© 조준동, 2006년 가을
81
PACT’s SDR XPP
Martin Vorbach
PACT XPP Technologies, Germany
© 조준동, 2006년 가을
82
Micro-P vs XPP
© 조준동, 2006년 가을
83
A SDR/Multimedia Solution
© 조준동, 2006년 가을
84
PACT’s SDR XPP
© 조준동, 2006년 가을
85
Reconfigurable video processor for
SDRAM access optimization
(Henriss, Ernst et al.)
© 조준동, 2006년 가을
86
Reconfigurable video
platform
· SDRAM memory centered design
· FPGA based scheduler merges different
streams and random accesses
exploitation of SDRAM bank structure
· supports 2 HDTV streams at 1.48 Gbit/s
each plus DSP and filter unit access
· reaches 700MByte/s in practical
application for 4 Byte SDRAM memory
word
· extremly cost efficient design
· used in professional video product line
© 조준동, 2006년 가을
87
NexperiaTM DVP Hardware
architecture (source: Th. Claasen, Philips, DAC 2000)
© 조준동, 2006년 가을
88
© 조준동, 2006년 가을
89
© 조준동, 2006년 가을
90
Course Grain Processing
HiBRID-SoC
성균관대학교 정보통신공학부
© 조준동
2006년 여름
91
HiBRID-SoC Architecture
 Integrate a powerful on-chip communication structure
 A well-balanced memory system to account for the growing
amount of data memory system (e.g., in the area of video,
Mpeg-4 part 10 or Advanced Video Coding (AVC))
 Dedicated chips for the Mpeg-4 Simple Profile, consists of a
very general processing deme
© 조준동, 2006년 가을
92
Multi-Core SoC Architecture

Hi-par DSP : Instruction Level VLIW (Very long instruction word)

16-datatath SIMD processor core controlled by VLIW,
Particularly optimized towards high-throughput two dimensional
DSP-style processing (FFT-intensive applications or filtering)

Stream Processor (SP) : Data Level SIMD (Single instruction multiple
data)

32-Bit RISC architecture w/ bitstream processing or global system
control

Macroblock processor(MP): Task Level (Simultaneous multithreading)

Efficient processing of data blocks (Heterogeneous data path structure
consisting of scalar and a vector unit)

Controlled by dual-issue VLIW, offers flexible subword parallelism
© 조준동, 2006년 가을
93
HiBRID-SoC multi-core architecture
© 조준동, 2006년 가을
94
Macroblock processor DP’s

The scalar DP provides control
instructions (jump,branch, and loop)

The vector data path is equipped with a
64 entry register file of 64 bit width

Special fuction unit(SFU) provide
instruction set extensions for common
video and multimedia core algorithms.

MUL/MAC or ALU, incorporate
SIMD-style parallelism by processing
either two 32-Bit, four 16-Bit, or eight
8-Bit data entities in parallel within a
64-bit register operand
© 조준동, 2006년 가을
95
HiBRID-SoC Implementations
 HiBRID-SoC is fabricated in a 0.18 um,
6LM standard-cell technology,
14 million tr’s 3.5W
82 mm2, and operates at 145 MHz
Table 1. MPEG-4 ASP decoder (full TV
resolution) performance on MP and SP,
720*576@25Hz,1.5-3 Mbits:
© 조준동, 2006년 가을
96
HDTV Decoder Soc
• 컨트롤 레지스터 : communication module의 제어와 관련된 레지스터로서 이
모듈의 활성 비활성을 결정하는 Module enable bit가 있고, 인터럽트의 활성
비활성을 결정하는 Interrupt enable bit 가 있으며 Control parameter
register와 status register가 비었는지 어떤 메시지가 들어있는지에 대한 상태
를 나타내는 valid, empty 레지스터가 있다.
• Control parameter register : 이 레지스터는 마스터 프로세서의 송신 버퍼이
자 슬레이브 프로세서의 수신 버퍼이다. 마스터 프로세서가 슬레이브 프로세서
에게 어떤 메시지를 전달하고자 할때 이 버퍼에 메시지를 써 넣게 된다. 마스터
프로세서가 슬레이브 프로세서에게 주는 메시지는 주로 제어 메시지이므로 이
버퍼의 이름을 Control parameter register라고 명명 되었다.
• Status register : 이 레지스터는 슬레이브 프로세서의 송신 버퍼이자 마스터
프로세서의 수신 버퍼이다. 슬레이브 프로세서가 마스터 프로세서에게 어떤 메
시지를 전달하고자 할때 이 버퍼에 메시지를 써 넣게 된다. 슬레이브 프로세서
가 마스터 프로세서에게 주는 메시지는 주로 슬레이브 프로세서의 상태를 나타
내는 것이므로 Status register이다. 본 구조에서 두 프로세서의 통신은 인터럽
트 방식으로 구현된다. 마스터 프로세서가 Control parameter register에 메
시지를 써넣으면 컨트롤 레지스터의 valid flag가 세팅되고 이에 의해 인터럽트
요청 신호가 발생해 슬레이브 프로세서에게 데이터가 전달된다.
© 조준동, 2006년 가을
97
Inter-Processor Communication
Module
© 조준동, 2006년 가을
98
수행 프로세스
• Step 1 : 마스터가 메시지를 control parameter register에 써넣는다.
Communication module에 의해 컨트롤 레지스터의 C1_valid레지스터가 세
팅된다. C1_valid 레지스터가 세팅되면 communication module은 슬레이브
의 인터럽트 컨트롤러에 인터럽트 요청신호를 보낸다.
• Step 2 : 인터럽트 컨트롤러에 전해진 인터럽트 요청신호는 인터럽트 컨트롤러
에 의해 슬레이브 프로세서에 전달된다.
• Step 3 : 슬레이브 프로세서의 인터럽트 처리 루틴이 실행된다. 이 처리 루틴에
서 슬레이브 프로세서는 control parameter register의 메시지를 읽어간다. 그
리고 communication module은 C1_valid 레지스터를 클리어 시키고,
C1_empty 레지스터를 세팅시킨다. C1_empty 레지스터가 세팅되면 마스터
프로세서는 슬레이브 프로세서가 메시지를 읽었다는 것을 인터럽트를 통해 알
게 된다.
• Step 4~Step 6 : 슬레이브 프로세서가 어떤 작업을 수행하고 메시지를 마스
터 슬레이브에 전달하는 과정이다.
– Step 4 : 슬레이브 프로세서는 status register에 메시지를 써 넣는다.
Communication module 은 컨트롤 레지스터의 C2_valid 레지스터를 세팅시키고
마스터 프로세서의 인터럽트 컨트롤러에 인터럽트 요청 신호를 보낸다.
– Step 5 : 인터럽트 컨트롤러는 인터럽트 요청 신호를 마스터 프로세서에게 전달한다.
– Step 6 : 인터럽트를 받은 마스터 프로세서는 Status register에 있는 메시지를 읽
어가고, C2_empty 레지스터를 세팅하고, C2_valid 레지스터를 클리어시킨다.
© 조준동, 2006년 가을
99
Flow of a communication progress
© 조준동, 2006년 가을
100
Download