The RP2040 — designed in-house by engineers at Raspberry Pi — features a dual-core Arm Cortex-M0+ running at 133MHz, 264 kilobytes of on-chip RAM, and support for up to 16MB of off-chip Flash memory via dedicated QSPI bus. It handles analogue input, and low-latency input and output.
Detailing the design journey of the RP2040 on the Raspberry Pi blog, engineer Liam Fraser revealed that the chip was fabricated by TSMC using its 40nm process. This is somewhat larger than the 5nm process Apple has tapped TSMC for to build the core of the latest iPhones.
"RP2040 has been in development since summer 2017. Chips are extremely complicated to design. In particular, the first chip you design requires you to design several fundamental components, which you can then reuse on future chips," he said, before running through some of the stages the chips had to go through.
Once the chip architecture is specified, the next stage of the project is the design and implementation, where hardware is described using a hardware description language such as Verilog, and then the next step is testing, done with simulators and FPGAs, followed by more testing of the hardware during manufacture.
"Chips that fail this production test are thrown away (this is a tiny percentage – the yield for RP2040 is particularly high due to the small die size)," Fraser said.
Once the chips are tested again and signed off it's time for mass production, ready for them to be put onto Pico boards. But even then the project isn't over. "A chip is useless without detailed documentation. While RP2040 was making its way to mass production, we spent several months writing the SDK and excellent documentation you have available to you today," said Fraser.