cancel
Showing results for 
Search instead for 
Did you mean: 

Feature request: Programmable logic

LVan .31
Associate III

I am a fan of STM32, especially the peripheral sets offered are great. Over the years however, one type of peripheral is missing which would be a great help for many projects, this is a programmable logic cell.

Such a cell would contain elements like Flip-Flops, Look Up Tables and such that can be configured for specific functions. For instance using the LUT's, it would be possible to create all kinds of logic operations like AND, OR, XOR gates.

Using the Flip-Flops, I would be able for instance to create a clock gate, which I needed in my last project. There I needed an external clock signal to propagate to other peripherals and be able to enable/disable this. In the end I manage to create this function with a timer but this unfortunately generates something like 9 clock cycles of latency limiting the maximum frequency of the external clock signal. A basic Flip-Flop solution would probably introduce a much smaller latency.

Competing products offer this kind of functionality more and more, for instance the Microchip SAMD51 offers a Custom Logic cell which is highly programmable.

Such a peripheral would offer inputs and outputs that can be connected to other peripherals (GPIO, Timers and so on). Here I do see an issue since the Peripheral Interconnect of STM32 is not quite generic but very specific for the different types of peripheral. Another consideration would be to add so called hardware event channels to the STM32 which allow connecting almost any peripheral event output to another peripheral event input.

Well forgive me for starting to design, just adding the programmable logic would be really great for many control oriented applications.

32 REPLIES 32
Sarra.S
ST Employee

Hello @LVan .31,

We appreciate the time you took to share your ideas, your request has been communicated to the dedicated team! 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

BarryWhit
Senior III

There I needed an external clock signal to propagate to other peripherals and be able to enable/disable this.

Your chip's RCC peripheral may have a "Master Clock Out" option with a configurable clock divider, which you can use to send a clock from the STM32 to other devices.

 

I also think even a handful of simple logic cells could reduce the BOM and board space in some cases. It's a common enough use-case to be worth considering by ST. Sometimes a CPLD is overkill, and discrete gates feel too much like the 1980s. 

- If a post has answered your question, please acknowledge the help you received by clicking "Accept as Solution".
- Once you've solved your issue, please consider posting a summary of any additional details you've learned. Your new knowledge may help others in the future.

Honestly this sounds like it would be a support and tool nightmare.. notwithstanding the usefulness of the out come.

The RISC-V approach is to have the entire thing build into an FPGA, and then you just glue the IP you want/need together.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
BarryWhit
Senior III

The RISC-V approach is to have the entire thing build into an FPGA, and then you just glue the IP you want/need together.

 

I don't follow. Is the 10-cent CH32V003 RISC-V MCU actually a 1000$ FPGA in disguise? FWIW, as the OP stated, microchip has had this in their product lines for a long time (they call it "CLC"). Also, we're talking very simple logic here, not an embedded FPGA. Just a handful of gates and no HDL whatsoever. If they added an LPBPAM scenario editor to CubeMX, this is feasible as well. It's also, arguably, a natural progression for ST. They've already added op-amps and comparators to their chips, like microchip did. Certainly you'd agree those are very useful?

- If a post has answered your question, please acknowledge the help you received by clicking "Accept as Solution".
- Once you've solved your issue, please consider posting a summary of any additional details you've learned. Your new knowledge may help others in the future.

No, more like the GoWin FPGA's and Tang Nano 9K / 20K / 25K, w some soft-cell RISC-V, might be some fixed/hard-cell variants too.

 

https://wiki.sipeed.com/hardware/en/tang/tang-primer-25k/primer-25k.html

https://www.sparkfun.com/products/24511

And there are Lattice ICE40K designs (iCESugar-nano), NEORV32, etc

 

ST had some PLA type stuff in the parts sold to their "White-Goods" customers

 

I'm not saying having some means to add glue-logic is a bad idea, per se, it's just not a winning idea for the large mass-market the STM32 MCU's have done so well with.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

@Tesla DeLorean wrote:

Honestly this sounds like it would be a support and tool nightmare..


I remember the Triscend devices:

 

AndrewNeil_3-1719520612629.png

 https://antronics.co.uk/portfolio/csoc/

The tooling was, indeed, key.

And it did take a lot of support - someone had to help them: https://developer.arm.com/documentation/kan159/latest/

 


@Tesla DeLorean wrote:

notwithstanding the usefulness of the out come.


I found it really useful - being able to customise the peripheral set exactly to the application requirements.

 

ST used to have the Waferscale products PSD products:

AndrewNeil_0-1719520333542.jpeg

https://en.wikipedia.org/wiki/STMicroelectronics#WaferScale_Integration_Inc.:~:text=In%202000%2C%20WaferScale%20Integration%20Inc.%20(WSI%2C%20Fremont%2C%20California)%2C%20a%20vendor%20of%20EPROM%20and%20flash%20memory%2Dbased%20programmable%20system%2Dchips

https://www.eetimes.com/stmicroelectronics-buys-waferscale-integration/

 

Microchip have their CCL (Configurable Custom Logic) peripheral in some AVRs:

AndrewNeil_1-1719520469841.png

https://onlinedocs.microchip.com/pr/GUID-C866D457-41E2-43C7-8442-2F1193FAAD9F-en-US-4/index.html?GUID-BCB62DAC-D256-4F52-854F-36AFF54FDB3C

 

nowadays there are FPGAs available with Cortex-M (and other) cores built in - sometimes the core is "hard"; sometimes "soft" ...

 


@BarryWhit wrote:

microchip has had this in their product lines for a long time (they call it "CLC"). 


CCL (Configurable Custom Logic)


@Tesla DeLorean wrote:

ST had some PLA type stuff in the parts sold to their "White-Goods" customers


Are you thinking of the ex-Waferscale PSDs?

Apparently that didn't work out for ST - as they canned the product line

There was Actel SmartFusion too, and that got swallowed up by Microchip..

I'm not denying it could be very useful, but the problem is finding the ideal fit, nobody is going to be satisfied, either it's too limited or too complicated. It will be an end-less source of complaining. And likely a patent minefield too.

And I say this as an early adopter of PAL,GAL,PLD,GATE ARRAYS (NEC & TOSHIBA), FPGA, and being familiar with IC DESIGN, VALIDATION and TEST (PHILIPS)

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..