re-configurable soc design platformtwins.ee.nctu.edu.tw/courses/soc_sys_overview_04fall... ·...
TRANSCRIPT
2003/12/12 Platform-based SoC Design 1
Re-configurable SoC Design Platform
ChihChih--Wei LiuWei Liu
VLSI Signal Processing GroupDepartment of Electronics Engineering
National Chiao Tung University, Taiwan, R.O.C.E-mail: [email protected]
2003/12/12 Platform-based SoC Design 2
e
Outline• Introduction• Configurable Platform• Example• Conclusion
2003/12/12 Platform-based SoC Design 3
e
Silicon Pendulum• standardization
flexibilitytime to marketcost effectiveness
• customizationperformancedifferentiationvalue addition
ASIC
ProgrammableProcessors
ConfigurableHardware
Flexibility
Per
form
ance
(spe
ed, p
ower
& a
rea,
etc
)
2003/12/12 Platform-based SoC Design 4
e
SoC: System on Chip• System
– A collection of all kinds of components and/or subsystems that are appropriately interconnected to perform the specified functions for end users.
• SoC– Hardware:
• Analog: ADC/DAC, RF, …• Digital: Processor, Interface, Accelerator, …• Storage: SRAM, DRAM, Flash, ROM, …
– Software:• RTOS, Driver, Application, …
2003/12/12 Platform-based SoC Design 5
e
Example: Mobile PhoneSource: EI-SONICS
• Voice only; 2 processors• 4 year product life cycle• Short talk time
Yesterday
DSP
Radio
FlashMemory
Processor
• Voice, data, video, SMS• <12 month product life cycle• Lower power; longer talk
time
Today
• 5 Processors• Memory• Graphics• Bluetooth• GPS• Radio
Single Chip
2003/12/12 Platform-based SoC Design 6
e
SOC Complexity / AbstractionYesterday Today
•Processor-centric (1 or 2)•Simple I/O•Manageable Complexity
•Many processing units•Large amount of I/O•Overwhelming Complexity!
Source: EI-SONICS
2003/12/12 Platform-based SoC Design 7
e
Conquer the SoC Complexity• Use a known real entity
– A pre-designed component (IP, VC reuse)– A platform (architecture reuse)
• Partition– Based on functionality– Hardware and software
• Modeling– At different level– Consistent and accurate
2003/12/12 Platform-based SoC Design 8
e
IP, VC, PE,…,• Memory controller• Interrupt controller• Power management controller• Internal memories• Bridges• Caches• Other functions
2003/12/12 Platform-based SoC Design 9
e
Why Platform-based Design?• Market needs
– Diverse products in various application domains
– Short development cycle– Producing a feasible design– Cost down– Reusing architecture and components of
hardware and software designs
2003/12/12 Platform-based SoC Design 10
e
Platform• A platform is a suite of reusable parts (IP)
of many system designs in a limited spectrum of applications
Memory(shared data)
Peripheral IP
Peripheral Bus
Peripheral IP
Peripheral IPPeripheral IP
System IP
System IP
ProcessorMemory(OS/drivers/program)
Co-Processor
Bridge
Bridge Peripheral Bus
I/O I/O
I/O I/O
Source: SOC Design Overview /MOE, R.O.C.
2003/12/12 Platform-based SoC Design 11
e
Platform-based Methodology• Significant element of Plug-and-Play• VCs with Standard interface• Well-defined backbone, interconnection
network• Configurable VCs, or IPs• High-level system verification• Hardware/software codesign• System-level Virtual prototyping for
performance evaluation
2003/12/12 Platform-based SoC Design 12
e
Outline• Introduction• Configurable Platform• Example• Conclusion
2003/12/12 Platform-based SoC Design 13
e
(Re-)Configurable Hardware• Configurable hardware
some functions can adapt to precisely fit a problem, either– statically (off-line or just at the design time with the
support of a compiler a/o a hardware generator)– dynamically (at run-time involving a local controller or a
host processor with a memory subsystem, even with the OS support)
• Reconfigurable hardwarethe functions can be changed after fabrication or shipment (i.e. field configurable)
2003/12/12 Platform-based SoC Design 14
e
Configurability Metrics• Structural
– PE only– interconnection only– both
• Temporal – once (design time)– statically scheduled (run time)– dynamically scheduled (run time)– evolutionary (run time)
• Spatial (minimum addressable configuration point)
– full– partial
2003/12/12 Platform-based SoC Design 15
e
Why Configurable?• All IPs are typically customized to meet
specific SoC specification• Software upgradability• Short product cycles• E.g. External memory controller supports
– memory types (sync. Or async.)– Sizes,– Widths,– Banks,– Etc.
2003/12/12 Platform-based SoC Design 16
e
Benefit of configurable platform
Source: K. Sekar, et al., “Dynamic Platform Management for configurable Platform-Based system-on-chips, ICCAD’03
2003/12/12 Platform-based SoC Design 17
e
General-Purpose Configurable Platform
• Design-time configurable– Xtensa, Tensilica– PICO, HP LAB– Excalibur, Altera
• Run-time Configurable– SA-1110, Intel– M-Core
2003/12/12 Platform-based SoC Design 18
e
Domain-Specific Platform• Radio Processor, outer receiver for
radio access• Channel Processor, for radio channel-
related signal processing• Intel IXA, network Processor• Trimedia for multimedia processor• …• Cost to develop new platform from one
domain to another is substantial.
2003/12/12 Platform-based SoC Design 19
e
Dynamic Platform Management (DPM)• Components:
– Configurable processors,– Parameterized caches,– Configurable memory hierarchies,– Configurable bus architecture,– Programmable logic,– Parameterized co-processors,– …
• DPM: – a customized software to characterize each component
within the platform in order to optimally manage and configure platform resources
2003/12/12 Platform-based SoC Design 21
e
General-Purpose Metamer• PE granularity
(usually imply # of functionalities)
• Interconnection routability– neighbor (1-D) / mesh (2-D)– crossbar– bus
• Initialization mechanism• …
I/O
global interconnection
interconnect interconnect
interconnect interconnectinterconnect
interconnect
Registers Registers Registers
PE PE PE PE
PE PE PE PE
PE PE PE PE
I/O I/O
I/O
2003/12/12 Platform-based SoC Design 22
e
PE Granularity• Smallest unit of the reconfigurable fabric that can be
reprogrammed• tradeoffs between flexibility and reconfiguration
overhead
AG
MEMc(n)
AG
MEMy(n)
MAC
x(n)
CLBCLB
CLB CLB
MUX
reg0
reg1
Adder
Buffer
Reconfigurable Dataflow Reconfigurable Datapath Reconfigurable Logic
2003/12/12 Platform-based SoC Design 23
e
Outline• Introduction• Configurable Platform• Example• Conclusion
2003/12/12 Platform-based SoC Design 24
SystemC-Based Computing Platform for Configurable Baseband SoC
Radio Processor
Advanced Signal Processing Dept.Advanced Signal Processing Dept.SoCSoC Technology CenterTechnology Center
Industrial Technology Research InstituteIndustrial Technology Research Institute
2003/12/12 Platform-based SoC Design 25
e
Outline• Introduction• A Configurable Architecture• A Configurable Coprocessing Datapath• Virtual Prototyping• Summary
2003/12/12 Platform-based SoC Design 26
e
Technology and System Outlook
Wireless Information
SocietyS-UMTS
Satellite Broadband
DAB
4G and BeyondSatelliteDAB-T
DAB-S
Broadcasting
GSM
GPRS/EDGE
UMTS
UMTS++
Cellular
xMDS
MWS
Broadband WFA
Wireless Local Loop
Personal Area Networks
Baby LANs
Wireless Area Networks
Broadband W-LAN
Bluetooth
IR
Indoor
OFDM+WCDMA2007
2007
20072000
2000
Re-configurable Radio
2000
2003/12/12 Platform-based SoC Design 27
e
Trend• Platform-based Configurable Computing Platform
for Multi-Standards Baseband SoC– IP reuse– Hardware/Software Co-design– A Quantitative approach
2003/12/12 Platform-based SoC Design 28
e
Alternative Computing Platform
Source: 交大任建葳教授
MCU-relatedCoprocesors
foreground memory(Cache)
65028051
MIPSARM
Microcontroller Subsystem
communication &background memory
MotorolaOak
ADITI
programmemory
datamemory
DSP Processors
foregroundmemory
(SIU)
ParallelFunctional
Units
Configurable DSP Datapath
ASIC 4ASIC 3
ASIC 2ASIC 1
interfaceunit
Dedicated Hardware
Control-orientedComputation-intensive
function computation, signal processing
MMX-likeDatapath
• Control-dominated subsystem– controls & coordinates
system tasks– performs reactive tasks
(e.g. user interface)• Data-dominated subsystem
– regular & predictable transformational tasks
– well-defined DSP kernels with high parallelism
Source: 交大任建葳教授
2003/12/12 Platform-based SoC Design 29
e
Radio Processor-A Re-Configurable OFDM-Based PHY Processor
XD
SL
Cab
le M
odem
DAB,DVB
WLAN,BWAW
WR
FRe-configurableOFDM PHY
Convolutional CodeRaw Data
Data Scramble
(Bit - Stream)
Outer Codin
g
Reed-Solomon
Code
Outer Data Interleaving
Inner Codin
g
Data mappingInner Data Interleaving x-PSK, m-
QAM
IFFT Cyclic extension
RF
FFT/IFFT is shared for TX/RX
• A re-configurable OFDM-based PHY processor suitable for several systems is proposed:– DAB/DVB– XDSL– WLAN–
……
2003/12/12 Platform-based SoC Design 30
e
Proposed Configurable ArchitectureM
ain
Pro
cess
or
Radio Processor Subsystem
Kernel
Global ControlUnit
Test Register
Operation Bus
Data Interconnection Network Controller
Switch Box
AH
B B
us In
terf
ace
Task
Task Command (# of functions, data grain, time limit.....)
CommandInterpreter
Addressable
test register
Operation
Buffer
Data
Buffer
IRQ
Controller
Function unit kernel# 1
I/F Control Unit
Local Control Unit
Function unit kernel# n
I/F Control Unit
Local Control Unit
Function unit kernel# 2
I/F Control Unit
Local Control Unit
I/F Control Unit
Local Control Unit
2003/12/12 Platform-based SoC Design 31
e
Different Types of FUs• Configurable data processing FU
– The flexibility is limited, so is the configuration overhead.– The performance is closed to ASIC– Configurable outer receiver
• Programmable data processing FU– Bit/Stream-based DSP-lite co-processor– Programmable inner receiver
• Configurable data routing FU– Interconnection data network
• Programmable control FU– Used to control the simple procedure between FUs
2003/12/12 Platform-based SoC Design 32
e
Length-Scalable,Latency-Specified 64 ~ 2n Point FFT/IFFT Function Unit
Radix-2butterfly
PE
Mux
Radix-2butterfly
Mux
Mux
Mux
Reg
Reg
Reg
Reg
De-Mux
De-Mux
De-Mux
De-Mux
DataLeft
Rotator
DataRight
Rotator
RAM-A
Mux
Addressgenerator
Address rotatorRAM-B
Mux
RAM-C
Mux
RAM-D
Mux
De-Mux
input data frominput FIFO
output data tooutput FIFO
twiddlefactorROM
2003/12/12 Platform-based SoC Design 33
e
Constraint Length-Scalable Soft Input Soft Output Viterbi Decoder Function Unit
Radix-2butterfly
PE
Mux
Radix-2butterfly
Mux
Mux
Mux
Reg
Reg
Reg
Reg
De-Mux
De-Mux
De-Mux
De-Mux
DataLeft
Rotator
DataRight
Rotator
RAM-A
Addressgenerator
Addressrotator
RAM-B RAM-C RAM-D
Reg
Reg
Reg
Reg
HybridTrace-Back
Unit
decodeddata
BranchMetric
Calculation
2003/12/12 Platform-based SoC Design 34
e
Scalable M-Input / N-Output Data Interface
NA
NA
NA
NA
NA
NA
NA
V V V V V VNA
NA
NA
V V V V
BIT COUNTER
OUT POINTER
IN POINTER
DATA OUT
DATA IN
Bit Counter:Indicate How Many Valid bits Within the InterfaceData In:Data Input of InterfaceData Out:Data Output of InterfaceOut Pointer:Indicate Where to Start to Transfer the Output DataIn Pointer:Indicate Where to Start to Store the Input Data
2003/12/12 Platform-based SoC Design 35
e
Features of Radio Processor
Radio Processor
Dedicated H/W Accelerators
•Spreading•Scrambling•Interleaving•Channel Codec•Radio MoDem•FFT•….
Task Header
CMD(Time, function sequence, configuration parameters, ...)
Command Queue
command
CMD #1
CMD #2
CMD Interpreter
Control Unit
Bit-Level Processing Unit
IFFT/FFT Channel Codec
Control Signal
Memory/Storage
Data Queue
Memory/Storage
Data Queue
Memory/Storage
Data Queue
To AFE
Reuse Data
DataSequenceing
Scalar Function Unit
Memory/Storage
Data Queue
Configurable Block Programmable Block
Reuse Data
Reuse Data
Reuse Data
DataSequenceing
DataSequenceing
DataSequenceing
Radio Processor
Data
I C U
L C UDN e t w o r k
Command
Data Flow
• Heterogeneous Configurable Architecture
• Scalable Infrastructure with Unified Design Environment
• Customizable Design• Flexible Instruction Set• Limited Main-Processor
Resource Requirement
FY91
2003/12/12 Platform-based SoC Design 36
e
Proposed Channel Processor
Controller
Configurable InterconnectionNetwork
Configurable InterconnectionNetwork
Storage BlockStorage Block
Task Interpreter
Functional Units
Task
Channel ProcessorConfigurable DSP
Datapaths
•Clock recovery•Diversity Selection•Timing Sync.•Initial cell search•Channel estimation•Multi-user interfacecanceller
•Rake receiver•….
FY92
2003/12/12 Platform-based SoC Design 37
e
Channel Processor
Configurable Stream Interface Unit (CSIU)
Scalable Function Units (data-driven datapaths)
Task Interpreter (controller)
•The controller coordinates the system tasks and all interfaces.•Data-driven datapaths (Adders, MACs, Complex multipliers….)as slave accelerators attached to the controller.•Task Interpreter translates the original control-originate task into dataflow and drives the scalable function units.•The configurable stream interface unit is an embedded memory together with configurable interconnection routing that interacts with the task interpreter. •The computation time of the undertaken task is predictable such that it is easy scheduling for the subsystem.
2003/12/12 Platform-based SoC Design 38
e
Scalable Performance• The number of configurable
coprocessing datapaths are scalablein order to meet the performance requirement.
• Each configurable coprocessingdatapath can be reconfigured for different DSP application.
• The performance boost is achieved by parallel processing via SIMD-likefunction units.
Controller
Controller
CSIU FunctionUnits
CSIU FunctionUnits
Configurable Coprocessing Datapath
CSIU FunctionUnits
2003/12/12 Platform-based SoC Design 39
e
The Design Flow• The data-driven
acceleration is well synchronized with the micro-controller.
• The task ideally suited for coprocessing share the following characteristics:
– Computationally intensive
– Very little use of input, output, or internal registers
• The HW/SW interfacing could be automatic generated.
• Data movement is completely controlled by MCU (i.e. no explicit data coherence mechanism is required)
C/C++ Code(Application-specific)
C/C++ Code(Application-specific)
Pre-processing(Compilation/Profiling)
Pre-processing(Compilation/Profiling)
Kernel Loop Extraction(Task Dispatch)
Kernel Loop Extraction(Task Dispatch)
Source Code Replacement(HW/SW Interfacing)
Source Code Replacement(HW/SW Interfacing)
Post-processing(machine code on CPU)
Post-processing(machine code on CPU)
Task Pre-Analysis/Pre-Transformation(Control/Data Dependent Graph)
Task Pre-Analysis/Pre-Transformation(Control/Data Dependent Graph)
Primitive Function Unit DeterminationPrimitive Function Unit Determination
Data Scheduling/Datapath Partitioning(Load Balancing)
Data Scheduling/Datapath Partitioning(Load Balancing)
Dataflow Control OptimizationDataflow Control Optimization
Optimal Task Datapath MappingOptimal Task Datapath Mapping
Coprocessing Datapath GenerationCoprocessing Datapath Generation
Micro-Controller
Data-Driven Acceleration
HW/SW Co-Simulation/Co-VerificationHW/SW Co-Simulation/Co-Verification
Task
Channel ProcessorConfigurable DSP
Datapaths
•Clock recovery•Diversity Selection•Timing Sync.•Initial cell search•Channel estimation•Multi-user interfacecanceller
•Rake receiver•….
2003/12/12 Platform-based SoC Design 40
e
A Unified Wireless Open Platform
Analog RF Circuits Communication Algorithms Protocols
phonebookRTOS
SIG
Keypad,Display
API,Control
analog digital
DSP cores
µP core (ARM)
FSM
ALU
Coders
AD
Reconfigurable Transceiver - RF Front-end + Programmable ADC/DAC
NetworkProcessor
Framing
Radio Processor
Channel ProcessorConfigurable DSP
DatapathsDedicated H/W
Accelerators
•Spreading•Scrambling•Interleaving•Channel CODEC•Radio MoDem•FFT•…
•Clock recovery•Diversity Selection•Timing Sync.•Initial cell search•Channel estimation•Multi-user interfacecanceller
•Rake receiver•…
2003/12/12 Platform-based SoC Design 41
e
Proposed Architecture
AHB
ARM
TIC
LCU
ICU
vectorprocessing unit
Inter-connection
scalar and logic processing unit
vectorprocessing unit
vectorprocessing unit
storage unit
DSP controller
......
AHB Slave
RegistersCommand Interpreter
(GCU)commandqueue
DSP-Lite PE
LCU
ICU
I/OInter-facePE
LCU
ICU
ReconfigurableN*64FFTPE
LCU
ICU
Inter-leaverPE
LCU
ICU
ViterbiPE
2003/12/12 Platform-based SoC Design 42
e
Proposed Design Flow (draft)
SystemArchitecture
Bus Platform
System Spec
IC-Spec
RTL Coding
SynthesisLayout
Specific System
TIC Pattern
Tube PatternSystemC Pattern
Function Pattern
HW/SW-CoSim
Verilog Pattern
Demo Program
FPGA Verification
Custom Tool transfer
Custom tool
transfer or
CAD tool
Must be verilog pattern
Verilog Pattern
C/Matlab Code
SystemC(Behavior)
SystemC(Cycle Accurate)
RTL Code
Synthesized Code
SystemC(Functional)
Design Flow Tools Test Bench
2003/12/12 Platform-based SoC Design 43
e
HW & SW Co-Verification
ARMulator AMBA
(systemC)
DSM AMBA
(Verilog)
ARM core AMBA
(FPGA)Debugger
JTAG
DebuggerRDI
Test Bench
Performance observer
Virtual PrototypingFast Rapid Prototyping
2003/12/12 Platform-based SoC Design 44
e
Virtual Prototyping
• A software platform to support HW/SW co-verification environment.– Synthesizable AMBA SystemC model
• Bus function model• Generic AMBA platform• Instruction Set Simulator
– Performance Observer
2003/12/12 Platform-based SoC Design 45
e
The Platform
AMBA Model (in systemC)
MemoryController
TIC MemoryModule
Performance Observer
ARMulator RDI Debugger(AXD)
Test BenchTransfer Tool
C Codeor TIC talk
command language
TIC box
Tube
Automated Response Checking Model
Bus Function Model:
Create sequence of transactions on the bus.
2003/12/12 Platform-based SoC Design 46
e
Overview of Virtual Prototyping• Components
– AHB components– APB Bridge– APB components– EMC– TIC– Performance
Observer– Behavioral Modules
• Memory Modules• TUBE• Tic box• Test bench transfer
tools
Flash Memory
A
HB
Timers
Remap/Pause
AHB Bus Controller
Bus Arbiter
Decoder
M2S/S2M Multiplexer
APB
AHB2APB Bridge
InterruptController
SRAM
TestInterface
Controller
ISS
AM
BA
Wrapper
ExternalMemory
Controller
DefaultSlave
TUBE
TIC Box
Interface between ISS
and systemC
Test Bench Transfer Tool
C Code or Tic Talk Command Language
Performance Observer
Our Design
2003/12/12 Platform-based SoC Design 47
e
Features• Bus/Processor independent
– Low requirement on processor computation power. (move data only)– Bus substitution can be achieved by modifying the AHB slave interface only.
• Flexible architecture– Expandable architecture simplify the mounting of new function units.– Distributed command decoding scheme.– Numerous well built configurable function units are provided.– A highly flexible function unit dedicated for inner transceiver algorithm will be
available this year.
• Complete simulation and verification environment– SystemC environment is well built except the ISS.– Verilog environment is complete including ARM.– Bus function model (TIC box) is available in both SystemC and Verilog version.
• Silicon proofed– Test chip @ TSMC 0.18 CMOS technology, with 750k gate count (not including
SRAM module)
2003/12/12 Platform-based SoC Design 48
e
Features (Cont.)• A transceiver PHY platform:
– Available function units currently:• 1. Scrambler/De-scrambler.• 2. FEC / Viterbi decoder: 1/2, 2/3, 9/16, 3/4 coding rates with 64
states Viterbi decoder.• 3. Interleaver: 48/96/192/288/384/576/768/1152 points.• 4. Modulator: BPSK/QPSK/16QAM/64QAM.• 5. FFT: 64/256/2048/4096 points FFT.• 6. I/O Interface.
– An array based processing unit targeted on inner transceiver of communication system will be built this year.
• An easy algorithm to hardware design platform:– A design and verification methodology from algorithm to RTL via
SystemC is provided.– Co-simulation can be performed in SystemC and Verilog using
ARM ISS or bus function model (Test-Interface-Controller).
2003/12/12 Platform-based SoC Design 49
e
Benefits• Simplify backbone design:
– A platform provides an architecture reference which is proved to be a applicable architecture.
– Simple modification is enough to be suitable to similar systems.
• Save repetitive design time:– Existing IPs for the platform can be adopted to accelerate the build up
time.– Based on existing platform ease the replace of custom design.
• Ease the verification:– The environment provided by a platform helps to verify the custom
modification in each step.
• Early evaluation:– A virtual prototyping provides early system performance data and H/S
partitioning information.
2003/12/12 Platform-based SoC Design 50
e
Conclusion
• Platform-based design facilitates complex system designs in SOC– Reuse a platform architecture, hardware IPs,
interconnection, and software IPs– Simplify design method and techniques– Focus on system design, analysis,
optimization, and verification– Reduce design time, cost, and risks