수체계 변환에 의한 저전력 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 A0 if A0 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