Microchip PIC64GX1000 - A 64bit RISC/V SoC For Linux
Deploying RISC/V-based microcontrollers and MPUs yields a variety of benefits. With the PIC64GX1000, Microchip provides a 64-bit-quad core SoC based on RISC/V technology, which targets the embedded market.
Using classic SoCs for embedded systems is interesting, as adding the various ports and interfaces requires an additional component. In the case of the PIC64GX1000, Microchip boasts of the following wide array of GPIO interfaces integrated in the MPU:
- Two GigE MACs
- A USB 2.0 OTG
- MMC 5.1 SD/SDIO
- Two CAN 2.0 A and B
- Execute in place Quad SPI flash controller
- Five multi-mode UARTs
- Two SPI, two I2C
- HDMI® 1.4
- MIPI® CSI-2
- RTC, GPIO
- Five watchdog timers
- Timers
- Integrated x4 PCIe® Gen 2
Quad-Core 64-Bit SoC
The PIC64GX1000 is not limited to classic control tasks. Its computing power is provided by a complement of four RISC/V application cores, each of which has its dedicated L1 cache and can reach a speed of up to 600 MHz. Finally, a fifth monitor processor core is provided---it, too, can reach up to 600 MHz of speed if compute performance is required. The resulting design of the SOC presents itself, as shown in the figure below.

Division of Responsibilities Across Cores
Microchip suggests that developers divide software tasks across the individual cores. The monitor core is intended to run the bootloader, ensuring that each of the main compute cores has its ideal operating system. The core can furthermore be used to monitor user applications or simple bare-metal programs.
The main cores are based on the RV64IMAC architecture, which means that a wide array of RISC/V assembler instructions are supported. These cores are optimized for running operating systems---if the need arises, they can, however, also be programmed in bare metal. In comparison to that, the monitor core implements RV64GC.
Random access memory is provided via a DDR interface. A wide variety of memory chips by various manufacturers can be connected, which helps keep the obsolescence of memory-chip-related problems at bay.
Furthermore, the package\'s pinout follows a layout similar to the one shown in the figure---this means that the layout of the individual components can be done with minimal effort on the PCB design.

Finally, most SKUs include 128 kB of on-chip flash memory. This memory can store important configuration variables directly on the CPU and can be used for product identification.
Conclusion
If a RISC/V-based Linux system needs to be designed, using the Microchip PIC64GX1000 conveys a wide variety of benefits. Not only are the parts robust and affordable, but they also provide a highly intelligent internal architecture.