Title: Customization Using Variable Instruction Sets
 1Customization Using Variable Instruction Sets 
- Krishna V Palem 
 - CTO 
 - Proceler Inc.
 
  2Designing Instruction Sets
- Choice of instructions is determined by several 
trade-offs  - Implementation in a fixed silicon area 
 - Ability of the compiler to exploit its presence 
 - Trade-off between impact on cycle time vs. 
frequency  - Implementation cost is amortized across many 
applications  - Infeasible to tailor support for a small number 
of low volume applications  - Reconfigurable logic enables a new degree of 
freedom  
  3Dynamically Variable Instruction Set 
Architecture (DVAITA)
-  Software engineer 
 -  C programming 
 -  Algorithm Design
 
Off-line Construction
Fundamentally alters the hardware/software 
interface
 Compiler
Fixed ISA
 DVAITA ISA 
Application specific Soft Processor
 Soft Micro-architecture Components 
Microprocessor core
 Reconfigurable Logic 
 4DVAITA
- DVAITA is a soft ISA 
 - Pre-synthesized, pre-placed instruction 
implementations  - DVAITA compiler 
 - Analysis, program transformation, and scheduling 
algorithms  - Compilation to a domain specific ISA 
 - Create a customized micro-architecture at compile 
time  - DVAITA Hardware Support Package 
 - Analogy with Board Support Packages (BSP) 
 - Run-time for host-FPGA communication 
 - Abstraction for linking the supporting 
hardware/software interfaces 
  5DVAITA Enabled Customization
- Customization at the domain level 
 - Soft ISAs for DSP, Telecommunications, Industrial 
automation and control, etc.  - Customization at the program level 
 - Tailored micro-architecture produced at compile 
time  - Customization at the operation level 
 - Tailored arithmetic and logic operations, for 
example, power vs. speed 
  6Compiling Code Segments to Hardware
L1 for () L2 for ()  ..  
..    L3 for () L4 for ()  
 L5 for ()    ..  
..  
- Datapath 
 - Control 
 - Memory 
 - I/O Interfaces 
 
DVAITA ISA
- Datapath 
 - Control 
 - Memory 
 - I/O Interfaces 
 
DVAITA ISA 
 7Compile-time generation of Application-specific 
soft processors
ISAs can be selected on a domain specific basis 
 8Application-Specific Soft Processors 
 Software Engineer
- C Programming 
 - Algorithm Design
 
Application-specific soft processors
Communication
Reconfigurable Computing System (RCS)
 Compiler
 Soft Micro- architecture Components 
Networking
Microprocessor core
Security
 Reconfigurable Logic 
 9Commercial Hardware Platforms
- High-end System-on-a-Chip solutions 
 - Xilinx Virtex 2 with embedded PPC 405 
 - Altera Excalibur with embedded ARM 
 - Low-end System-on-a-Chip solutions 
 - Triscend Configurable System on a Chip (CSoC) 
with embedded ARM  - Atmel Field Programmable System Level Integrated 
Circuits (FPSLIC) with embedded 8-bit custom RISC 
processor  - Board-level products 
 - Mix embedded processors and commercial FPGA 
solutions  
  10More Generally Architecture Assembly
Applications
- An ISA view 
 - Synthesis and other hardware design off-line 
 - Much closer to compiler optimizations implies 
faster compile time 
Build off-line (synthesis, place and route)
Program
Prebuilt Implementations
Compiler selects assembles and optimizes 
program
Data path
Storage
Interconnect
Dynamically variable ISA Architecture 
implementation
Also applicable to yield fixed implementations in 
silicon 
 11Placing in Perspective 
 12 The Space for these Technologies
ASIC
PICO
CMP
NP
Performance
COTS PROCESSOR
Speed to market