Personal tools

Difference between revisions of "PULP"

From iis-projects

Jump to: navigation, search
(Links)
(22nm)
(69 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 +
[[File:pulp_v3_sml.jpg | thumb | 400px | Layout of [http://asic.ethz.ch/2015/Pulpv3.html Pulp v3].]]
 +
  
 
[[File:pulp_logo_inline2.png| 400px | PULP logo (for different variants and file formats see below)]]
 
[[File:pulp_logo_inline2.png| 400px | PULP logo (for different variants and file formats see below)]]
  
==PULP - an Open Parallel Ultra-Low-Power Processing-Platform==
+
 
[[File:pulp_block_diag.png|thumb|400px|Basic block diagram of a PULP system]]
+
 
This is a joint project between the [http://www.iis.ee.ethz.ch Integrated Systems laboratory (IIS)] of ETH Zurich (IIS) and the [http://www.dei.unibo.it/en/research/research-facilities/Labs/eess-energy-efficient-embedded-systems Energy-efficient Embedded Systems] (EEES) group of UNIBO to develop an open, scalable Hardware and Software research platform with the goal to break the pJ/op barrier within a power envelope of a few mW.
+
===PULP - An Open Parallel Ultra-Low-Power Processing-Platform===
 +
[[File:pulp_block_diag.png|thumb|400px|Basic block diagram of a PULP system.]]
 +
This is a joint project between the [http://www.iis.ee.ethz.ch Integrated Systems Laboratory (IIS)] of ETH Zurich and the [http://www.dei.unibo.it/en/research/research-facilities/Labs/eess-energy-efficient-embedded-systems Energy-efficient Embedded Systems] (EEES) group of UNIBO to develop an open, scalable Hardware and Software research platform with the goal to break the pJ/op barrier within a power envelope of a few mW.
  
 
The PULP platform is a multi-core platform achieving leading-edge energy-efficiency and featuring widely-tunable performance. The aim of PULP is to satisfy the computational demands of IoT applications requiring flexible processing of data streams generated by multiple sensors, such as accelerometers, low-resolution cameras, microphone arrays, vital signs monitors. As opposed to single-core MCUs, a parallel ultra-low-power programmable architecture allows to meet  the computational requirements of these applications, without exceeding the power envelope of a few mW typical of miniaturized, battery-powered systems. Moreover, OpenMP, OpenCL and OpenVX are supported on PULP, enabling agile application porting, development, performance tuning and debugging.
 
The PULP platform is a multi-core platform achieving leading-edge energy-efficiency and featuring widely-tunable performance. The aim of PULP is to satisfy the computational demands of IoT applications requiring flexible processing of data streams generated by multiple sensors, such as accelerometers, low-resolution cameras, microphone arrays, vital signs monitors. As opposed to single-core MCUs, a parallel ultra-low-power programmable architecture allows to meet  the computational requirements of these applications, without exceeding the power envelope of a few mW typical of miniaturized, battery-powered systems. Moreover, OpenMP, OpenCL and OpenVX are supported on PULP, enabling agile application porting, development, performance tuning and debugging.
  
[mailto:lbenini@iis.ee.ethz.ch Inquiries] from interested partners are welcome.
+
See our '''[http://pulp-platform.org Main Project webpage]''', our [https://github.com/pulp-platform GitHub project page] or follow us on [https://twitter.com/pulp_platform Twitter] for up to date information.  
  
''....more to follow.... stay tuned!''
+
===Related Available Student Projects===
 
 
===Related Available Projects===
 
 
<DynamicPageList>
 
<DynamicPageList>
 
category = PULP
 
category = PULP
 
category = Available
 
category = Available
 
</DynamicPageList>
 
</DynamicPageList>
 +
 +
 
=== [http://asic.ethz.ch/cg/applications/Pulp.html Related Chips] ===
 
=== [http://asic.ethz.ch/cg/applications/Pulp.html Related Chips] ===
 +
====22nm====
 +
* [http://asic.ethz.ch/2018/Poseidon.html Poseidon] A chip containing both PULPissimo (updated single core microcontroller with 32-bit core) and Ariane (64 bit RISC-V core)
 +
* [http://asic.ethz.ch/2018/Kosmodrom.html Kosmodrom] The chip contains two instances of an improved Ariane cores (with FPUs) optimized for different operation corners
 +
* [http://asic.ethz.ch/2018/Arnold.html Arnold] Combines an eFPGA from [http://www.quicklogic.com Quicklogic] and a 32bit PULPissimo system with a RI5CY with FPU support
 +
* [http://asic.ethz.ch/2019/Baikonur.html Baikonur] Two Ariane cores (similar to Kosmodrom) and introducing Bowtruckle a many core system around the Snitch core.
 +
* [http://asic.ethz.ch/2020/Thestral.html Thestral] Snitch based system with 1x cluster (8x compute + 1x DMA core) and 1x governor core. Designed to test fine grained power gating solutions.
 +
 
====28nm====
 
====28nm====
 
* [http://asic.ethz.ch/2013/Pulp.html Pulp v1] The first version of the PULP platform realized in 28nm FDSOI (RVT) technology with 4 parallel cores.  
 
* [http://asic.ethz.ch/2013/Pulp.html Pulp v1] The first version of the PULP platform realized in 28nm FDSOI (RVT) technology with 4 parallel cores.  
Line 24: Line 35:
 
* [http://asic.ethz.ch/2015/Pulpv3.html Pulp v3] The third version of the PULP platform realized in 28nm FDSOI (RVT) technology with 4 parallel cores and a hardware accelerator.
 
* [http://asic.ethz.ch/2015/Pulpv3.html Pulp v3] The third version of the PULP platform realized in 28nm FDSOI (RVT) technology with 4 parallel cores and a hardware accelerator.
 
* [http://asic.ethz.ch/2015/Honey_Bunny.html Honey Bunny] PULp platform using RISC-V compliant RI5CY cores and Globalfoundries 28nm SLP technology. Four cores, 68 kBytes of TCDM and 256 kBytes of L2.
 
* [http://asic.ethz.ch/2015/Honey_Bunny.html Honey Bunny] PULp platform using RISC-V compliant RI5CY cores and Globalfoundries 28nm SLP technology. Four cores, 68 kBytes of TCDM and 256 kBytes of L2.
 +
 +
====40nm====
 +
* [http://asic.ethz.ch/2017/Mr.Wolf.html Mr. Wolf] new generation PULP system with 1 fabric controller (micro-riscy) and a cluster with eight RI5CY (RISC-V cores optimized for DSP operations) and two shared IEEE-754 FPUs.
  
 
====65nm====
 
====65nm====
* [http://asic.ethz.ch/2015/Mia_Wallace.html Mia Wallace] Third generation of PULP platform, HW accelerators, body biasing FLLs, 256 Kbyte memory (65nm)
+
* [http://asic.ethz.ch/2015/Mia_Wallace.html Mia Wallace] Third generation of PULP platform, HW accelerators, body biasing FLLs, 256 kByte memory
* [http://asic.ethz.ch/2014/Artemis.html Artemis] 4 core PULP system including FPU (65nm).
+
* [http://asic.ethz.ch/2015/Fulmine.html Fulmine] Third generation of PULP platform, Convolutional accelerator, crypto accelerator, body biasing FLLs, 256 kByte memory  
* [http://asic.ethz.ch/2014/Hecate.html Hecate] 4 core PULP system with 2 shared FPUs (65nm).
+
* [http://asic.ethz.ch/2014/Artemis.html Artemis] 4 core PULP system including FPU.
* [http://asic.ethz.ch/2014/Selene.html Selene] 4 core PULP system with 1 shared FPU using a logarithmic number system (65nm).
+
* [http://asic.ethz.ch/2014/Hecate.html Hecate] 4 core PULP system with 2 shared FPUs.
* [http://asic.ethz.ch/2014/Diana.html Diana] 4 core PULP system with FPUs designed using approximate computing techniques (65nm).
+
* [http://asic.ethz.ch/2014/Selene.html Selene] 4 core PULP system with 1 shared FPU using a logarithmic number system.
 +
* [http://asic.ethz.ch/2014/Diana.html Diana] 4 core PULP system with FPUs designed using approximate computing techniques.
 +
* [http://asic.ethz.ch/2015/Phoebe.html Phoebe] an improved version of [http://asic.ethz.ch/2014/Selene.html Selene], 4 cores and 1 shared vectorial FPU using logarithmic number system
 +
* [http://asic.ethz.ch/2015/Imperio.html Imperio] single core RISC-V based PULPino system. Has the PULP DNA, but is a single core microprocessor complete with peripherals from the PULP project.
 +
* [http://asic.ethz.ch/2016/Patronus.html Patronus] chip with three separate single RISC-V cores. It is technically a newer PULPino (single core system)
 +
* [http://asic.ethz.ch/2018/Scarabaeus.html Scarabaeus] a 64-bit system with one Ariane core, peripherals, and a new interrupt controller.
 +
* [http://asic.ethz.ch/2018/Atomario.html Atomario] multi-cluster system with two four-core RI5CY clusters.
 +
* [http://asic.ethz.ch/2019/Billywig.html Billywig] multi-core system with a new Snitch core (RV32IMAFD) with extensions to improve stream processing
 +
* [http://asic.ethz.ch/2019/PLINK.html Plink] Serial I/O interface for PULP
 +
* [http://asic.ethz.ch/2019/Urania.html Urania] BigPULP implementation with one Ariane core and two clusters each with 4x RI5CY cores and a DDR interface
 +
* [http://asic.ethz.ch/2019/Xavier.html Xavier] PULPissimo system with multiple SPI ports, a uDMA with pre-processing capability and a QNE accelerator
 +
* [http://asic.ethz.ch/2019/Rosetta.html Rosetta] PULPissimo system with multiple in-memory computing accelerators.
 +
* [http://asic.ethz.ch/2020/Dustin.html Dustin] PULP cluster with new SIMD extensions.
 +
 
 
====130nm====
 
====130nm====
* [http://asic.ethz.ch/2015/Vivosoc.html Vivosoc] 2 core mixed-signal PULP system with a low-power A/D converter (130nm)
+
* [http://asic.ethz.ch/2015/Vivosoc.html Vivosoc] 2 core mixed-signal PULP system with a low-power A/D converter
 +
* [http://asic.ethz.ch/2016/Vivosoc2.html Vivosoc2] 4 core mixed-signal PULP system with a low-power A/D converter, 128 kB L2,
 +
* [http://asic.ethz.ch/2016/Vivosoc2.001.html Vivosoc2.001] updated version of 4 core mixed-signal PULP system with a low-power A/D converter
 +
* [http://asic.ethz.ch/2018/Vivosoc3.html Vivosoc3] An even more updated version of 4 core mixed-signal PULP system with a low-power A/D converter
 +
* [http://asic.ethz.ch/2019/Vivosoc3.142.html Vivosoc3.142] Continued updates on the 4 core mixed-signal PULP system with a low-power A/D converter
 +
* [http://asic.ethz.ch/2016/Triphos.html Triphos] Power management IC for VivoSoC
 +
 
 
====180nm====
 
====180nm====
 
* [http://asic.ethz.ch/2013/Or10n.html Or10n] An optimized implementation of the OpenRISC processor developed to be used within PULP.
 
* [http://asic.ethz.ch/2013/Or10n.html Or10n] An optimized implementation of the OpenRISC processor developed to be used within PULP.
Line 40: Line 73:
 
* [http://asic.ethz.ch/2015/Manny.html Manny] Large PULP chip with in-exact accelerators, sub-threshold version
 
* [http://asic.ethz.ch/2015/Manny.html Manny] Large PULP chip with in-exact accelerators, sub-threshold version
  
===Links===
+
===Templates and Logos===
* [http://iis.ee.ethz.ch/~haugoug/pulp PULP SDK] (Software Development Kit)
+
[[Media:pulp_logos.tar|This archive]] contains all PULP logos below as well as inverted versions thereof for dark backgrounds (in PDF and PNG formats). Also, it includes the "Orbitron" font which has been used here.
* [http://www-micrel.deis.unibo.it/pulp-project PULP page in University of Bologna]
 
* [http://compilergroup.elet.polimi.it/doku.php?id=research:pulp LLVM compiler for PULP developed by Politecnico di Milano]
 
** [http://compilergroup-srv.elet.polimi.it/toolchains/or1k-toolchain-linux-amd64-latest.tar.gz Latest compiled toolchain for Linux EL6]
 
  
===[http://www-micrel.deis.unibo.it/pulp-project/literature Publications]===
+
For documentation, please use the following [[Media:Pulp_ug_template_v1.0.tar.gz|Word template (v1.0)]]. And here is a PULP [[Media:Pulp_slide_template_v1.1.pptx|slide template for Powerpoint (v1.1)]].
For an up to date list of papers please see the [http://www-micrel.deis.unibo.it/pulp-project/literature Literature] link of the [http://www-micrel.deis.unibo.it/pulp-project PULP page in University of Bologna].
 
 
 
===Logos===
 
[[Media:pulp_logos.tar|This archive]] contains all PULP logos below as well as inverted versions thereof for dark backgrounds (in PDF and PNG formats). Also, it includes the "Orbitron" font which has been used here.
 
  
 
====Inline====
 
====Inline====
 
[[File:pulp_logo_inline2.png|250px|Inline PULP logo, variant 2 ([[Media:pulp_logo_inline2.png|PNG]] [[Media:pulp_logo_inline2.pdf|PDF]]).]]
 
[[File:pulp_logo_inline2.png|250px|Inline PULP logo, variant 2 ([[Media:pulp_logo_inline2.png|PNG]] [[Media:pulp_logo_inline2.pdf|PDF]]).]]
 
[[File:pulp_logo_inline1.png|250px|Inline PULP logo, variant 1 ([[Media:pulp_logo_inline1.png|PNG]] [[Media:pulp_logo_inline1.pdf|PDF]]).]]
 
[[File:pulp_logo_inline1.png|250px|Inline PULP logo, variant 1 ([[Media:pulp_logo_inline1.png|PNG]] [[Media:pulp_logo_inline1.pdf|PDF]]).]]
====Small====
+
====Big====
 
[[File:pulp_logo_big2.png|140px|Big PULP logo, variant 2 ([[Media:pulp_logo_big2.png|PNG]] [[Media:pulp_logo_big2.pdf|PDF]]).]]
 
[[File:pulp_logo_big2.png|140px|Big PULP logo, variant 2 ([[Media:pulp_logo_big2.png|PNG]] [[Media:pulp_logo_big2.pdf|PDF]]).]]
 
[[File:pulp_logo_big1.png|140px|Big PULP logo, variant 1 ([[Media:pulp_logo_big1.png|PNG]] [[Media:pulp_logo_big1.pdf|PDF]]).]]
 
[[File:pulp_logo_big1.png|140px|Big PULP logo, variant 1 ([[Media:pulp_logo_big1.png|PNG]] [[Media:pulp_logo_big1.pdf|PDF]]).]]

Revision as of 09:38, 11 September 2020

Layout of Pulp v3.


PULP logo (for different variants and file formats see below)


PULP - An Open Parallel Ultra-Low-Power Processing-Platform

Basic block diagram of a PULP system.

This is a joint project between the Integrated Systems Laboratory (IIS) of ETH Zurich and the Energy-efficient Embedded Systems (EEES) group of UNIBO to develop an open, scalable Hardware and Software research platform with the goal to break the pJ/op barrier within a power envelope of a few mW.

The PULP platform is a multi-core platform achieving leading-edge energy-efficiency and featuring widely-tunable performance. The aim of PULP is to satisfy the computational demands of IoT applications requiring flexible processing of data streams generated by multiple sensors, such as accelerometers, low-resolution cameras, microphone arrays, vital signs monitors. As opposed to single-core MCUs, a parallel ultra-low-power programmable architecture allows to meet the computational requirements of these applications, without exceeding the power envelope of a few mW typical of miniaturized, battery-powered systems. Moreover, OpenMP, OpenCL and OpenVX are supported on PULP, enabling agile application porting, development, performance tuning and debugging.

See our Main Project webpage, our GitHub project page or follow us on Twitter for up to date information.

Related Available Student Projects


Related Chips

22nm

  • Poseidon A chip containing both PULPissimo (updated single core microcontroller with 32-bit core) and Ariane (64 bit RISC-V core)
  • Kosmodrom The chip contains two instances of an improved Ariane cores (with FPUs) optimized for different operation corners
  • Arnold Combines an eFPGA from Quicklogic and a 32bit PULPissimo system with a RI5CY with FPU support
  • Baikonur Two Ariane cores (similar to Kosmodrom) and introducing Bowtruckle a many core system around the Snitch core.
  • Thestral Snitch based system with 1x cluster (8x compute + 1x DMA core) and 1x governor core. Designed to test fine grained power gating solutions.

28nm

  • Pulp v1 The first version of the PULP platform realized in 28nm FDSOI (RVT) technology with 4 parallel cores.
  • Pulp v2 The second version of the PULP platform realized in 28nm FDSOI (LVT) technology with 4 parallel cores.
  • Pulp v3 The third version of the PULP platform realized in 28nm FDSOI (RVT) technology with 4 parallel cores and a hardware accelerator.
  • Honey Bunny PULp platform using RISC-V compliant RI5CY cores and Globalfoundries 28nm SLP technology. Four cores, 68 kBytes of TCDM and 256 kBytes of L2.

40nm

  • Mr. Wolf new generation PULP system with 1 fabric controller (micro-riscy) and a cluster with eight RI5CY (RISC-V cores optimized for DSP operations) and two shared IEEE-754 FPUs.

65nm

  • Mia Wallace Third generation of PULP platform, HW accelerators, body biasing FLLs, 256 kByte memory
  • Fulmine Third generation of PULP platform, Convolutional accelerator, crypto accelerator, body biasing FLLs, 256 kByte memory
  • Artemis 4 core PULP system including FPU.
  • Hecate 4 core PULP system with 2 shared FPUs.
  • Selene 4 core PULP system with 1 shared FPU using a logarithmic number system.
  • Diana 4 core PULP system with FPUs designed using approximate computing techniques.
  • Phoebe an improved version of Selene, 4 cores and 1 shared vectorial FPU using logarithmic number system
  • Imperio single core RISC-V based PULPino system. Has the PULP DNA, but is a single core microprocessor complete with peripherals from the PULP project.
  • Patronus chip with three separate single RISC-V cores. It is technically a newer PULPino (single core system)
  • Scarabaeus a 64-bit system with one Ariane core, peripherals, and a new interrupt controller.
  • Atomario multi-cluster system with two four-core RI5CY clusters.
  • Billywig multi-core system with a new Snitch core (RV32IMAFD) with extensions to improve stream processing
  • Plink Serial I/O interface for PULP
  • Urania BigPULP implementation with one Ariane core and two clusters each with 4x RI5CY cores and a DDR interface
  • Xavier PULPissimo system with multiple SPI ports, a uDMA with pre-processing capability and a QNE accelerator
  • Rosetta PULPissimo system with multiple in-memory computing accelerators.
  • Dustin PULP cluster with new SIMD extensions.

130nm

  • Vivosoc 2 core mixed-signal PULP system with a low-power A/D converter
  • Vivosoc2 4 core mixed-signal PULP system with a low-power A/D converter, 128 kB L2,
  • Vivosoc2.001 updated version of 4 core mixed-signal PULP system with a low-power A/D converter
  • Vivosoc3 An even more updated version of 4 core mixed-signal PULP system with a low-power A/D converter
  • Vivosoc3.142 Continued updates on the 4 core mixed-signal PULP system with a low-power A/D converter
  • Triphos Power management IC for VivoSoC

180nm

  • Or10n An optimized implementation of the OpenRISC processor developed to be used within PULP.
  • Sir10us A cryptographic application that uses the Or10n processor developed for PULP.
  • Sid Large PULP chip with in-exact accelerators, LL version
  • Diego Large PULP chip with in-exact accelerators, LVT version
  • Manny Large PULP chip with in-exact accelerators, sub-threshold version

Templates and Logos

This archive contains all PULP logos below as well as inverted versions thereof for dark backgrounds (in PDF and PNG formats). Also, it includes the "Orbitron" font which has been used here.

For documentation, please use the following Word template (v1.0). And here is a PULP slide template for Powerpoint (v1.1).

Inline

Inline PULP logo, variant 2 (PNG PDF). Inline PULP logo, variant 1 (PNG PDF).

Big

Big PULP logo, variant 2 (PNG PDF). Big PULP logo, variant 1 (PNG PDF). Main PULP logo icon (PNG PDF).