This discussion clarifies the technical and branding distinctions between "Programmable SoC" and "SoC FPGA." While the terms are often used interchangeably in general conversation, the participants explain that they refer to specific architectural differences and vendor-specific product lines.
The consensus is that SoC FPGA generally refers to a processor integrated with an FPGA fabric (like Xilinx Zynq or Intel SoC FPGA), whereas Programmable SoC (PSoC) specifically refers to Cypress products featuring configurable analog and digital blocks without a full FPGA fabric.
- Xilinx uses the term All Programmable SoC (APSoC) for its Zynq line, while Intel/Altera uses the term SoC FPGA.
- Programmable SoC (PSoC) is a specific trademark of Cypress referring to processors with configurable analog and digital blocks but no FPGA fabric.
- SoC FPGAs allow users to define custom hardware accelerators and IOs within a programmable logic area tightly coupled to the processor.
- Modern MPSoCs like the Zynq UltraScale+ include both fixed hardware accelerators (GPU, VPU) and programmable logic.
Hello,
What's the difference between Programmable SoC and SoC FPGA ?
Thank you

Hi,
I may be mistaken, but I would say the main difference to me is the name you use. A programmable SoC is effectively a uProcessor with an integrated FPGA (or the other way around...) and a SoC FPGA would follow the same definition (Zync would be an example). I think Xilinx uses the first name and Altera the second. But please wait for further answers just in case some people have more to comment...
In standard SoC (or programmable SoC) you have fixed IOs, fixed hardware accelerators that you can access from within a processor.
Xilinx and Intel PSG (formerly Altera) offer SoC with an FPGA side.
Xilinx call it "Zynq All Programmable SoC" (APSoC) created 5-6 years ago (28nm technology), and the new one "Zynq Ultrascale+ MultiProcessing SoC" (MPSoC) (16nm technology).
Intel PSG call it SoC FPGA (28nm, 20nm and 14nm)
On the FPGA based SoC you can define yourself the hardware accelerators and the type of IOs you want to implement. It can be image processing algorithms, PWM, motor control, mathematical function, ... really whatever you want. The same device can be used in many different applications.
That's why within Xilinx we call it APSoC: you program the hardware, the IOs and the Software. The next generation (Zynq U+ MPSoC) is even more programmable as there exists some fixed hardware accelerators like a GPU, HEVC/H.264 codec, as well as a quad core A53 combined with a dual core R5 for the software part.
If you want to try this have a look to Digilent boards (Arty Z7, Pynq) or the fantastic (I hope, I did not get it yet!) Snickerdoodle from krktl (http://krtkl.com/).
Hi ,
Perhaps for the benefit of , can you then confirm that both terms are the same from your understanding? Programmable SoC and SoC FPGA?
Hi all,
I had a look to Internet:
https://en.wikipedia.org/wiki/PSoC
http://www.cypress.com/products/32-bit-arm-cortex-...
PSoC or Programmable SoC is the term used by Cypress for their processor on which they appended configurable analog and digital blocks, and programmable routing and interconnect.
There is no FPGA part here, just some analog and digital hardware block that can be used and configured from within the processor.
So as a summary:
Programmable SoC is a processor with some analog and hardware blocks (OpAmp, DAC/ADC, Gain, ...) and programmable routing in between thes blocks.
SoC FPGA (Altera/Intel PSG) and All Programmable SoC (Xilinx) are similar technologies where you have a processor with a programmable logic area which is tightly connected to it.
Hello,
Thanks a lot oliviert :)






