41
Software Defined Software Defined Silicon Silicon 晶晶晶晶晶晶

Software Defined Silicon

Embed Size (px)

DESCRIPTION

Software Defined Silicon. 晶片功能的軟體化. Presented By. 謝啟東五子五 (1979) MSCS , Vanderbilt (1985) 副總,銳力科技 黃模淼五子五 (1979) MSEE ,交大光電 副總,銳力科技. Agenda. Overview30 min Software Defined Silicon50 min Break 5 min Demo20 min Q & A10 min. Overview. - PowerPoint PPT Presentation

Citation preview

Page 1: Software Defined Silicon

Software Defined SiliconSoftware Defined Silicon

晶片功能的軟體化

Page 2: Software Defined Silicon

Presented ByPresented By

謝啟東謝啟東 五子五 五子五 (1979)(1979)MSCSMSCS ,, Vanderbilt (1985)Vanderbilt (1985)副總,銳力科技副總,銳力科技

黃模淼黃模淼 五子五 五子五 (1979)(1979)MSEEMSEE ,交大光電,交大光電副總,銳力科技副總,銳力科技

Page 3: Software Defined Silicon

OverviewOverview 30 min30 min Software Defined SiliconSoftware Defined Silicon 50 min50 min BreakBreak 5 min 5 min DemoDemo 20 min20 min Q & AQ & A 10 min10 min

Page 4: Software Defined Silicon

OverviewOverview

Page 5: Software Defined Silicon

Buy a ProductBuy a Product

CheaperCheaper

Easy to Use (User-Friendly)Easy to Use (User-Friendly)

BestBest

Page 6: Software Defined Silicon

Product Development Steps

Product Spec / Features

System Spec

Hardware Spec Mechanical Spec Software Spec

Development DevelopmentDevelopment

System Integration

Page 7: Software Defined Silicon

Product Product Spec / FunctionsSpec / Functions

Time Time CostCostPricePrice

Time to the MarketTime to the Market BOM CostBOM Cost

Page 8: Software Defined Silicon

積體電路的變革Tube

Transistor

SSI

MSI

LSI

VLSI ASIC

Programmable IC ASSP

Shorter Development Time & Cheaper BOM Shorter Development Time & Cheaper BOM

Page 9: Software Defined Silicon

Volume MarketVolume Market Niche MarketNiche Market

Product MarketProduct Market

Big VolumeCompetitive & Bloody

Small VolumeLess Competitive

ASICASSP

Standard Solution

Glue LogicProgrammable DevicesNon-Standard Solutions

Page 10: Software Defined Silicon

To Design a Product ?To Design a Product ?

Glue LogicGlue LogicASIC / ASSPASIC / ASSPProgrammable ICsProgrammable ICsModules Modules Solution Boards…Solution Boards…

By HardwareBy HardwareBy SoftwareBy Software

Time to the Market BOM Cost

Page 11: Software Defined Silicon

ASIC / ASSPASIC / ASSP FPGA / CPLDFPGA / CPLD

CheaperEasier

Specific

ExpensiveComplicate

Flexible

By HardwareBy Hardware By Software By Software

ExpensiveBetter Performance

CheaperPerformance?

Page 12: Software Defined Silicon

ASIC / ASSP

Application Specific IC

Designed to Perform the Specific Function Designed to Perform the Specific Function

VGA ChipsVGA Chips Keyboard ControllerKeyboard Controller Mouse ICMouse IC

Wi-Fi ChipsWi-Fi ChipsDVD ChipsDVD Chips 3G Chips3G Chips

Its Specific Function Its Specific Function cannot cannot be Changed or Programmedbe Changed or Programmed

Page 13: Software Defined Silicon

Programmable ICsProgrammable ICs

PAL / GALPAL / GAL Programmable Array LogicProgrammable Array LogicGate-BasedGate-Based

xROMxROM x Read-Only Memoryx Read-Only MemoryHard-WiredHard-Wired

CPLD CPLD Complex Programmable Logic DeviceComplex Programmable Logic Device

FPGA FPGA Field-Programmable Gate ArrayField-Programmable Gate ArrayFunctional BlockFunctional Block

uCuC Micro-ControllerMicro-ControllerCPU-BasedCPU-Based

Programmed for Functions : FlexibleProgrammed for Functions : Flexible

Page 14: Software Defined Silicon

Programming a DeviceProgramming a Devicefor a Functionfor a Function

PAL / GALPAL / GAL Boolean Equation by PAL Programmer

ROMROM Programmer

CPLDCPLD JTAG Port (Joint Test Action Group)Proprietary In-Circuit Programmer

FPGA FPGA JTAG Port by Proprietary In-CircuitProgrammer + Proprietary Languages

uCuC Programmer + Languages

Page 15: Software Defined Silicon

Example : KeyboardExample : Keyboard

What Kind of Keyboard?

Notebook PCKeyboard

Key Pad Few Keys Only

ASIC Keyboard IC

uC + GPIO Glue Logic

Page 16: Software Defined Silicon

Medical Lab

Auto Feeding System&

Monitoring System

Non-Standard Product

Special Design

uC + Glue Logic

Manufacture

Product’s Testing Tool

Non-Standard Tool

Special design

PC + Glue Logic +IO Controller Cards

Page 17: Software Defined Silicon

Any SiliconAny Silicon

Which Its Function Can BeWhich Its Function Can Be

Easily and Flexibly Easily and Flexibly

Defined byDefined by

CPU-Based CPU-Based

High-Level Languages High-Level Languages

Page 18: Software Defined Silicon

Software Defined SiliconSoftware Defined Silicon

Programmed by High-Level LanguageProgrammed by High-Level Language

Flexibly Define a SiliconFlexibly Define a Silicon’’s Functions Function

Page 19: Software Defined Silicon

SSoftware oftware

DDefined efined

SSiliconilicon

Page 20: Software Defined Silicon

What’s SDS?What’s SDS?

Processor

Processor

Processor

Program Code

Page 21: Software Defined Silicon

Why SDS?Why SDS?

Fast tune-cycles and market change“Scale” grows up exponentially

“Loading” & “risk” rises up

The Fact…

Processor…

Powerful

ReliableEconomic

How do you differentiate ?

Page 22: Software Defined Silicon

What SDS should be?What SDS should be?

Direct & programmable I/O access

Programmable timing control

Independent & wide processing path

Inter-connection channel

Highly responsive processing

Reliable & convenient development tool

Is It Possible ??Is It Possible ??

Page 23: Software Defined Silicon

Yes, Here is an example…Yes, Here is an example…

400MHz RISC Processor

8 threads per core

64K SRAM8K OTP

Up to 64 I/O pins

Page 24: Software Defined Silicon

The advanced I/OThe advanced I/OTimed Output

Time-Stamped Input

PredicatedInput

Clocked Port with Data ready

Dedicated serialisationhardware

I/O Ports are tightly coupled to the core

Dedicated instructions for I/O port assignment

Has the concept of timing and may be synchronized to an internal reference clock or an external input clock

Page 25: Software Defined Silicon

For “Timing”For “Timing”

In each core, Ten 100MHz timer public resource are available for any thread. (10 ns resolution)

“Timer” may link up with any event on I/O port and inter-communication channel.

Page 26: Software Defined Silicon

Flexible “Processing Path”“Processing Path”

Eight independent threads in one core

Dedicated instruction for thread job assignment

Proprietary compiler to ensure 50 ~ 100 MIPS on each thread

Xlink switch are available for each thread to enable threads be parallel and/or serial chained processing

Page 27: Software Defined Silicon

Highly Responsive

Page 28: Software Defined Silicon

Xlink Switch for inter-connectionXlink Switch for inter-connection

Use “chan” to connect two “chanend”

“chanend” threads may be on same core, different core or different chip.

Page 29: Software Defined Silicon

Accessible both online or on your desktopmachine using downloadable tools

Software design and debug flow is similar to other embedded tool chains – Focus on C/C++

Adds language support to simplify tasksrelating to concurrency and real-time control – XC

Complete set of tools from design capture toadvanced debugging

A lot of design template are available for reference

Design FlowDesign Flow

Page 30: Software Defined Silicon

Communication

XC looks and feels like C

Support for :

I/O with timing

Event

What’s XCWhat’s XC

Multiple threads and cores

Page 31: Software Defined Silicon

System job partition

Using threads as building blocks

The new concept for engineersThe new concept for engineers

Thread may be “Software task”, “Timing I/O”, “Data processing”, “State machine”

Page 32: Software Defined Silicon

Example: Partitioning a UART

Page 33: Software Defined Silicon

SDS usage Scenarios

Intelligent Bridge

I/O expansion or companion chip

SDS based ASSP

Page 34: Software Defined Silicon

A workable example -- Real-time Audio Filter with Ethernet AV input

Page 35: Software Defined Silicon

DemoDemo

Page 36: Software Defined Silicon

Designing with SDS - 1

Toggle an LED and write a UART transmit function in XC:

Focus on:• ports

• timers

Page 37: Software Defined Silicon

Designing with SDS – 1 (Cont.)

Step1 : Define BAUD_RATE & BIT_TIME

Step2 : Declare output ports for LED & TxD

Step3 : Use one Timer in main() routine to flash LED& send message to UART Txd port periodically

Step4 : Use another Timer resource on transmit() routine to control bit timing on UART port

Page 38: Software Defined Silicon

Demo System

Page 39: Software Defined Silicon

Summary :

SDS is possible indeed.

Using threads as building blocks of system

Pending issue

Is it possible to achieve Gbit/sec?How compiler work ?

Other ?

Competitive ?

Page 40: Software Defined Silicon

Q & AQ & A

Page 41: Software Defined Silicon

Thanks YouThanks You