HW/SW Co-design Toolset for Customization of Exposed Datapath Processors

Customized processors are an interesting option for implementing software defined radios; they bring benefits of tailored fixed function hardware while adding new advantages such as reduced implementation verification effort and increased post-fabrication flexibility. To reduce the engineering costs and the time-to-market of platforms with new computing devices, the processor customization process should be supported with automated design flows that include tools like retargeting compilers, instruction-set simulators, and RTL generators. This chapter presents an open source processor co-design toolset that is based on a computation resource oriented design methodology where the primary design choices are the set of resources to include in the processor at hand, instead of focusing on instruction encoding details. The toolset is based on a retargetable high-level language compiler and a scalable exposed datapath template which support different styles of parallelism available in applications. In addition to various published academic processor design examples for SDR algorithms, the tools have been used to design and program processors that have been implemented down to silicon layout level and integrated in commercial grade chips.

[1]  Magnus Själander,et al.  FlexCore: Utilizing Exposed Datapath Control for Efficient Computing , 2007, 2007 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[2]  Pekka Jääskeläinen,et al.  Code Density and Energy Efficiency of Exposed Datapath Architectures , 2014, Journal of Signal Processing Systems.

[3]  Jarmo Takala,et al.  Heuristics for greedy transport triggered architecture interconnect exploration , 2014, 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES).

[4]  Henk Corporaal Transport Triggered Architectures : Design and Evaluation , 1995 .

[5]  Henk Corporaal Microprocessor architectures - from VLIW to TTA , 1997 .

[6]  Jarmo Takala,et al.  OpenCL-based design methodology for application-specific processors , 2010, 2010 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[7]  Jarmo Takala,et al.  pocl: A Performance-Portable OpenCL Implementation , 2014, International Journal of Parallel Programming.

[8]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[9]  Henk Corporaal,et al.  MOVE: a framework for high-performance processor design , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[10]  Henk Corporaal,et al.  MOVE-Pro: A low power and high code density TTA architecture , 2011, 2011 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[11]  David Black-Schaffer,et al.  Efficient Embedded Computing , 2008, Computer.