Thursday, August 17th 2023

OpenHW Group Announces Tape Out of RISC-V-based CORE-V MCU Development Kit

OpenHW Group today announced that the industry's most comprehensive Development Kit for an open-source RISC-V MCU is now available to be ordered. The OpenHW CORE-V MCU DevKit includes an open-source printed circuit board (PCB) which integrates OpenHW's CORE-V MCU and various peripherals, a software development kit (SDK) with a full-featured Eclipse-based integrated development environment (IDE), as well as connectivity to Amazon Web Services (AWS) via AWS IoT ExpressLink for secure and reliable connectivity between IoT devices and AWS cloud services.

The comprehensive open-source CORE-V MCU DevKit enables software development for embedded, internet-of-things (IoT), and artificial intelligence (AI)-driven applications. The CORE-V MCU is based on the open-source CV32E40P embedded-class processor, a small, efficient, 32-bit, in-order open-source RISC-V core with a four-stage pipeline that implements the RV32IM[F]C RISC-V instruction extensions.
"We're thrilled to announce the highly anticipated CORE-V MCU based on the revolutionary RISC-V architecture, has successfully taped-out and the DevKit is now available for ordering," said Rick O'Connor, President and CEO, OpenHW Group. "The collaborative efforts of the open-source community have once again proven their ability to drive innovation and deliver essential building blocks for next-generation MCU designs."

The DevKit's SDK, developed by an OpenHW team led by Ashling, contains an IDE, Debugger, GCC compiler (supplied by Embecosm), FreeRTOS real-time OS, and demo software. This project highlights the open-source collaborative development of industry-grade CORE-V processor IP with supporting hardware and software by a wide spectrum of members within the OpenHW community. Orders for the CORE-V MCU DevKit can be placed here from GroupGets.

The rapidly expanding OpenHW ecosystem rallied together to deliver the innovative CORE-V DevKit for IoT developers:
  • The CORE-V MCU is manufactured by GlobalFoundries' proprietary 22FDX process technology platform that is well-suited for efficient single-chip integration of digital and analog signals, delivering cost-effective performance for connected and low-power embedded applications.
  • Design and verification of the CV32E40P processor, the heart of the CORE-V MCU, involved key contributions from Imperas, Siemens EDA, SiLabs and many others, building on the original design from ETH Zurich. The CV32E40P core is based on the PULP (Parallel Ultra Low Power) Platform RI5CY core, originally developed at ETH Zurich's Integrated Systems Laboratory (IIS) and the Energy-efficient Embedded Systems (EEES) group of the University of Bologna. Digital integration and back-end design of the CORE-V MCU was handled by QuickLogic and CMC Microsystems, respectively.
  • The CORE-V MCU includes QuickLogic's eFPGA, designed to accelerate AI/ machine learning (ML) and other computationally intensive workloads from the CV32E40P processor.
  • Embecosm is leading OpenHW SW Task Group projects including GCC compiler tools for the CORE-V cores and MCU, while Ashling has led the development of the CORE-V SDK based on the Eclipse IDE, OpenOCD for debug and example programs.
  • The CORE-V MCU DevKit PCB board design integrating the CORE-V MCU and expansion board for the demo were handled by AWS, using an AWS IoT ExpressLink powered for secure cloud connectivity.
  • Espressif Systems - a leading IoT connectivity solution provider, supplied AWS IoT ExpressLink modules for the CORE-V DevKit PCB to provide AWS IoT connectivity.
Source: OpenHW Group
Add your own comment

14 Comments on OpenHW Group Announces Tape Out of RISC-V-based CORE-V MCU Development Kit

#1
Evildead666
Ok, colour me stupid, but with nearly all the acronyms explained, what is an MCU ?

I know its not going to be Marvel Cinematic Universe at least, but thats where my mind goes ;)
Cheers.
Posted on Reply
#2
dragontamer5788
Evildead666Ok, colour me stupid, but with nearly all the acronyms explained, what is an MCU ?

I know its not going to be Marvel Cinematic Universe at least, but thats where my mind goes ;)
Cheers.
MCU is microcontroller, usually the processors designed for low-power, real-time, simplicity and/or low-cost. Think 1MHz to 300MHz at the most. In fact, many MCUs still support 32kHz (lower clocks means less power usage, and many real-world tasks can be accomplished on just kHz of clock).

MCUs are used for thermostats, microwaves, anti-lock brakes, tire-pressure monitors, etc. etc. All the stuff that is a computer today that you don't think about. But computers that only cost as low as 5-cents to $15 or so.

MPUs, microprocessors, are the CPUs, GPUs and other systems you're probably more familiar with. But consider a tire-pressure monitor: computers today are so cheap you might as well use a computer. But lets say it takes 1000-instructions to check the tire pressure and send it out over some information bus (EX: the CAN-bus of a car). That means you can still check the tire-pressure 32-times per second even on a 32kHz clock.

You don't really need much speed, so you can instead focus on low power and low costs. Therefore: MCU, a "cheap and simple" computer, rather than a "proper" desktop or phone.
Posted on Reply
#3
TheLostSwede
News Editor
dragontamer5788MCU is microcontroller, usually the processors designed for low-power, real-time, simplicity and/or low-cost. Think 1MHz to 300MHz at the most. In fact, many MCUs still support 32kHz (lower clocks means less power usage, and many real-world tasks can be accomplished on just kHz of clock).

MCUs are used for thermostats, microwaves, anti-lock brakes, tire-pressure monitors, etc. etc. All the stuff that is a computer today that you don't think about. But computers that only cost as low as 5-cents to $15 or so.

MPUs, microprocessors, are the CPUs, GPUs and other systems you're probably more familiar with. But consider a tire-pressure monitor: computers today are so cheap you might as well use a computer. But lets say it takes 1000-instructions to check the tire pressure and send it out over some information bus (EX: the CAN-bus of a car). That means you can still check the tire-pressure 32-times per second even on a 32kHz clock.

You don't really need much speed, so you can instead focus on low power and low costs. Therefore: MCU, a "cheap and simple" computer, rather than a "proper" desktop or phone.
You're a little bit off when it comes to MCUs, as although those were the historical things they were and are used for, we now have MCUs with video outputs, built in WiFi and they're powerful enough to run an OS, even though it would be a lot more paired back than say an Arm based SoC. Also, some MCUs are quite expensive now, as they pack so many features.
In all fairness, this doesn't appear to be quite that advanced, but still more advanced than the MCUs of yesterday.
Posted on Reply
#4
Geofrancis
TheLostSwedeYou're a little bit off when it comes to MCUs, as although those were the historical things they were and are used for, we now have MCUs with video outputs, built in WiFi and they're powerful enough to run an OS, even though it would be a lot more paired back than say an Arm based SoC. Also, some MCUs are quite expensive now, as they pack so many features.
In all fairness, this doesn't appear to be quite that advanced, but still more advanced than the MCUs of yesterday.
that would be a SOC (system on chip) not a MCU (microcontroller unit)
Posted on Reply
#5
TheLostSwede
News Editor
Geofrancisthat would be a SOC (system on chip) not a MCU (microcontroller unit)
Yeah, no, not any more, that was my point, which you clearly didn't get.
The STM32H7 series for example are all Cortex-M7 MCUs, but they could easily replace an aging ARM11 chip.
www.st.com/en/microcontrollers-microprocessors/stm32h7-series.html
They also have more powerful Cortex-M33 solutions if you need more processing power, but so far they don't have as advanced I/O.
Arm also has a Cortex-M55, which is even more powerful.
developer.arm.com/processors/cortex-m55
Posted on Reply
#6
dragontamer5788
TheLostSwedeThey also have more powerful Cortex-M33 solutions if you need more processing power, but so far they don't have as advanced I/O.
M33 is weaker than M7, despite M33 being newer.

M33 is power-optimized with many designs (such as STM32U5) only taking 2 or 3 mA worth of power. Or the Nordic Semi's nRF5340 which has like 15mA **bluetooth transmit power**, which is absurdly low power for a radio.

Moving forward: I assume M33 is the "new M0+" with regards to the lowest-power ARM available. I mean, the M23 also exists and I think it uses a slightly less power, but it seems like most manufacturers are selecting M33 as their lowest-end chip. Cortex M0+ still remains the cheapest, lowest-spec processor however. (IE: a 50-cent or cheaper uC is going to be an M0+. No spec is good, but that's not the point... the point is just to get the cheapest bit of silicon working in some design)

Taking the STM32U5 in particular, it remains specified on the datasheet for 0.1 MHz operation (aka: 100kHz) for its lowest power consumption of 0.15mA (or 150uA) if you need to save on power and are willing to underclock as slowly as possible to save as much electricity as possible. This is because chips like STM32U5 are designed to run off 2032 watch batteries or AAAA (yes, 4x A) cells for the absolute smallest designs possible.




----------------------

And there are WiFi MCUs that are similarly designed for low-power usage (although WiFi is very high power (100mA to 200mA to talk over WiFi), you can regulate power by only turning the WiFi radio on when you need it). That's how "IoT" works in practice, they turn off the radio extremely aggressively to keep the power consumption as low as possible, because the MCU itself only uses like 5mA or less.

I've seen designs with WiFi chips like ESP32 using 2032 watch-batteries. Its difficult to do because you need lots of capacitance to "charge up" enough energy to transmit the radio, but the power-savings are obvious for such a design.
TheLostSwedeThe STM32H7 series for example are all Cortex-M7 MCUs, but they could easily replace an aging ARM11 chip.
Not really. STM32H7 doesn't have expandable memory and lacks an MMU. So porting Linux to the STM32H7 is very unlikely (though small OSes like RTOS can be ported easily).

ARM11 vs STM32H7 is a really good comparison between MPU vs MCU. STM32H7 has 480MHz specs and is likely the more "powerful" core (despite using less watts). But when it comes to multi-user multithreaded envrionments, Older ARM11 have those important MPU-ish features like expandable RAM (ie: you can likely shove DDR2 or whatever was 2002-era for ARM11 stuff). While STM32H7 is basically trapped with what its got on board.

With the Harvard Architecture, I'm pretty sure STM32H7 cannot execute out of RAM either, so no new programs (everything has to be in the Flash segment).

---------

The 20MHz Z80 is an MPU, "Microprocessor", because it **can** expand its RAM and run a proper full sized OS. However, this grossly adds to complexity and cost. MCUs cut out on these important features.

MPUs traditionally needed a "Northbridge" (aka: the standardized connection from MPU to RAM), and the Northbridge needed a Southbridge (aka: the standardized connection from Northbridge to I/O, like Hard Drives or Ethernet). An "SOC" is a chip that includes MPU + Northbridge + Southbridge all together. Historically, these jobs were so different that we used different chips to handle each job. Today, the Northbridge is integrated into MPUs in practice, and only the Southbridge remains separated.

MCUs don't even have a northbridge or southbridge. They're designed to be so simple that they don't need one.
Posted on Reply
#7
1_rick
dragontamer5788Moving forward: I assume M33 is the "new M0+" with regards to the lowest-power ARM available. I mean, the M23 also exists and I think it uses a slightly less power, but it seems like most manufacturers are selecting M33 as their lowest-end chip. Cortex M0+ still remains the cheapest, lowest-spec processor however. (IE: a 50-cent or cheaper uC is going to be an M0+. No spec is good, but that's not the point... the point is just to get the cheapest bit of silicon working in some design)
The M33 is the new M4; the M23 is the new M0. Both have security features that aren't in the M0/M4 line. Wikipedia's "arm cortex-m" page has more info, but "Conceptually the Cortex-M23 is similar to a Cortex-M0+ plus integer divide instructions and TrustZone security features, and also has a 2-stage instruction pipeline" and "Conceptually the Cortex-M33 is similar to a cross of Cortex-M4 and Cortex-M23, and also has a 3-stage instruction pipeline." They're both also basedon ARMv8, not v7 or v6 like the m4 and M0

"ith the Harvard Architecture, I'm pretty sure STM32H7 cannot execute out of RAM either, so no new programs (everything has to be in the Flash segment)."

Trimmed this by mistake. All the Cortex M series, even the M0, can execute code from RAM. The M4 and up can also execute code from external QSPI flash (the feature is called XIP, eXecute In Place, meaning it doesn't have to be copied to RAM or local flash before running). Adafruit CircuitPython makes extensive use of this.

"The 20MHz Z80 is an MPU, "Microprocessor", because it **can** expand its RAM and run a proper full sized OS."

Most 32-bit MCUs can address external RAM the same way they access external flash, via QSPI or octal SPI. I'm pretty sure the ones that can do that can run programs out of the RAM, too. ESP32s commonly come with external PSRAM these days, but it's probably most commonly used for things like frame buffers to drive external displays.
Posted on Reply
#8
dragontamer5788
So I'll have to admit upfront that I don't use STM32 myself, though its a series I've always wanted to play with more.
All the Cortex M series, even the M0, can execute code from RAM.
Still, just because Cortex M0+ or M33 can be Von Neuman (and it looks like STM32H7 can also access data-as-code), its not a particularly common feature in the low-cost side. I know that RP2040 (Cortex-M0+) can load code from SPI and execute it, but I'm pretty sure MSPM0+ from Ti (also a Cortex-M0+) cannot.

MSPM0+, RP2040, STM32C0, and others are all Cortex M0+, but their implementation details differ. They're really different chips despite sharing the same core. And from that perspective, the "core" could support a feature but the specific chips (like MSPM0+) may not.

In any case, I stand corrected on STM32H7. But I'm sure there's a Cortex-M(blah) chip out there that cannot execute from SRAM (and my next guess is MSPM0L).
Posted on Reply
#9
trsttte
dragontamer5788MCU is microcontroller, usually the processors designed for low-power, real-time, simplicity and/or low-cost. Think 1MHz to 300MHz at the most. In fact, many MCUs still support 32kHz (lower clocks means less power usage, and many real-world tasks can be accomplished on just kHz of clock).

MCUs are used for thermostats, microwaves, anti-lock brakes, tire-pressure monitors, etc. etc. All the stuff that is a computer today that you don't think about. But computers that only cost as low as 5-cents to $15 or so.

MPUs, microprocessors, are the CPUs, GPUs and other systems you're probably more familiar with. But consider a tire-pressure monitor: computers today are so cheap you might as well use a computer. But lets say it takes 1000-instructions to check the tire pressure and send it out over some information bus (EX: the CAN-bus of a car). That means you can still check the tire-pressure 32-times per second even on a 32kHz clock.

You don't really need much speed, so you can instead focus on low power and low costs. Therefore: MCU, a "cheap and simple" computer, rather than a "proper" desktop or phone.
TheLostSwedeYou're a little bit off when it comes to MCUs, as although those were the historical things they were and are used for, we now have MCUs with video outputs, built in WiFi and they're powerful enough to run an OS, even though it would be a lot more paired back than say an Arm based SoC. Also, some MCUs are quite expensive now, as they pack so many features.
In all fairness, this doesn't appear to be quite that advanced, but still more advanced than the MCUs of yesterday.
It's not like there's a very defined barrier where a piece of silicon jumps from a category to the other ;)

An MPU - micro processor unit - can be anything, it's generic, it can be a microcontroller, a cpu, a gpu whatever. it's a smart piece of sand per say.

A microcontroller is a specific type of microprocessor that includes a cpu, memory, registers, etc. and is generally designed for low power and small specific task like embedded systems. It can also be called a SoC as usually it includes all the necessary things to work in the same chip but the term is usually only used for more powerfull devices - with or without wireless communication and/or video - that run more demanding and/or generic applications (like a desktop OS for example)
Posted on Reply
#10
TheLostSwede
News Editor
dragontamer5788So I'll have to admit upfront that I don't use STM32 myself, though its a series I've always wanted to play with more.
Funny then that you say that there's no memmory expansion when several STM32H7 chips supports external DRAM among other features you pointed out aren't there. Maybe read up on their various chips before making unsubstantiated claims?
It's also possible to run stripped down versions of Linux on some of those chips. elinux.org/STM32
Posted on Reply
#11
dragontamer5788
TheLostSwedeFunny then that you say that there's no memmory expansion when several STM32H7 chips supports external DRAM among other features you pointed out aren't there. Maybe read up on their various chips before making unsubstantiated claims?
It's also possible to run stripped down versions of Linux on some of those chips. elinux.org/STM32
Psssshhhhh. No one's going go fault me for making a mistake when skimming through a 3000 page processor manual and making an off-hand comment in a casual forum / discussion environment.

In any case, I stand by my overall point. MPUs are larger, more complex, with more "computer features" that MCUs do not have. Yes, the largest MCUs and smallest MPUs can arguably have some degree of overlap.

But we all know the difference between a "proper" MPU (AM335x, used in Beaglebones) running a "proper" ARM "A" core, vs a MCU-style Cortex M7 or M33.

The difference from Cortex-M7 to A53 cores is unfathomably wide. Everyone knows that STM32H7 is solidly within the MCU camp and I don't think anyone would ever call it an MPU under any circumstance.

--------------

If I were to pick a "confusing chip" somewhere between MCU and MPU, maybe the i.MX line from NXP. 900 MHz and "ARM Cortex A7" and proper DRAM (and I mean the big boy real DRAM: like DDR3 or LPDDR) means its probably an MPU though. Its just that i.MX also supports "MCU-RAM" like Quad-SPI or SPI RAM, so there's a bit of hybrid tech going on here.

I think that's the thing: ARM Cortex-M(blah) cores are pretty much all considered microcontrollers. ARM Cortex-A(blah) are basically all considered MPUs.
Posted on Reply
#12
trsttte
dragontamer5788MPUs are larger, more complex, with more "computer features" that MCUs do not have
MCUs, at any size, are also MPUs, microprocessor unit is a generic term, it can mean anything as long as it is small and processes things.

You're also trying to define a hard barrier that doesn't really exist, much less so today where any regular CPU from intel/amd also includes a couple microcontrollers for things like powermanagement or in the case of AMD and entire seperate extra CPU coprocessor for security (AMD PSP).

In my opinion best way is to keep it simple, low power single-ish function it's a microcontroller, anything else is an SoC.
Posted on Reply
#13
dragontamer5788
trsttteMCUs, at any size, are also MPUs, microprocessor unit is a generic term, it can mean anything as long as it is small and processes things.
However, there is no confusion. When you click on "microcontroller" on Microchip.com's website or ST Micro's website, you're given a list of ARM Cortex-M cores.

When you click on "microprocessor" on those same webpages, you'll be given a list of ARM Cortex-A cores (and maybe some of those chips contain a Cortex-M for power-management purposes).

MPU is always "bigger" than an MCU at an equivalent technology level. Things get weird because today's MCUs are bigger than yesterday's MPUs, but that's just like how "cellphone" today has more compute-power than yesterday's supercomputers. Intent matters: MCUs are designed for simplicity of electrical functions and electrical design. MPUs are designed as proper compute devices with easy to expand I/O (or RAM) and far higher levels of computational power.

-----------

Ultimately, when a company (any company) calls a device a "MCU", they're saying: "Yo, electrical-engineers: you won't spend very long designing a circuit or board for this kind of chip". This is a "simple" chip to work with. MCUs regularly work on cheap, unsophisticated 2-layer boards. MPUs often are assumed to need 6-layer or 8-layer PCBs and an EE who understands transmission line theory and impedance-matched traces.
Posted on Reply
Add your own comment
May 21st, 2024 13:12 EDT change timezone

New Forum Posts

Popular Reviews

Controversial News Posts