element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Forum The future of "FPGA only" chips compared to SoC and its impact on FPGA engineers
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 13 replies
  • Subscribers 558 subscribers
  • Views 4822 views
  • Users 0 members are here
  • skills
  • 7 Ways to Leave Your Spartan-6
  • xilinx
  • fpga
Related

The future of "FPGA only" chips compared to SoC and its impact on FPGA engineers

manihatn
manihatn over 3 years ago

Hi All,

We all have noticed the evolution of FPGA from "FPGA-only" chips (from Spartan) to the current generation of Zynq based SoC's and MPSoC's.

The premise for the "7 ways to to Leave your Spartan-6" prompting designs to be migrated from Spartan-6 to Spartan-7 from my understanding was the chip shortage due to pandemic. 

As part of future-proofing product lines to handle feature creeps and having supply-chain reliability, I have always tempted to migrate designs from Spartan to Zynq's.  

I have always wondered, besides the Power consumption (and to certain extent price point) argument, what are people's reason to stick with FPGA-only chips instead of SoC's.

Are there inherent advantages of using FPGA-Only chips instead of SoC's

As  FPGA engineers, there is a growing need to understand the basics of embedded Linux (and some low level software) as the field is gradually moving towards more software defined workfiows targeting  embedded SoCs.

Will be great to hear your thoughts, opinions and personal journey on how you have evolved your skills over the past few years

  • Sign in to reply
  • Cancel

Top Replies

  • michaelkellett
    michaelkellett over 3 years ago +6
    Where to start ? A small (by volume) sector of the FPGA market may well move to using Zynq like FPGAs. But never all of it. Most applications don't need or want Linux or any other big operating system…
  • shabaz
    shabaz over 3 years ago +3
    Hi, Regarding " growing need to understand the basics of embedded Linux (and some low level software) " this is a completely different skill-set to FPGA development, and in fact a completely different…
  • Metaforest
    Metaforest over 3 years ago in reply to shabaz +3
    FPGA designers can choose to ignore the software/firmware side of the project for the most part. The only point of coordination is the specification of the hardware register addresses that the CPU(s) will…
Parents
  • shabaz
    shabaz over 3 years ago

    Hi,

    Regarding "growing need to understand the basics of embedded Linux (and some low level software) "

    this is a completely different skill-set to FPGA development, and in fact a completely different skill-set for most software developers too. Take a look at what resources there are for Linux driver development for instance, which is more likely to be required than not, for working with SoCs that integrate an applications processor, compared to designs with a separate processor using standards-based interfaces such as Ethernet or SPI. You'll find that it's a specialist thing - not all software developers have worked on Linux drivers, and you can probably count on one hand the number of textbooks on the subject.

    As a result, I can only conclude that Zync development really needs teams with enough employees for those separate skills, unless the design uses standard interfaces in which case it may as well be a separate applications processor. It feels unreasonable to expect an FPGA engineer to start Linux driver development, unless Xilinx and other manufacturers lend a hand and provide that training.

    Maybe I'm wrong - would love to hear from others.

     

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • Jan Cumps
    Jan Cumps over 3 years ago in reply to shabaz

    I think that the toolset and the way the boundaries between the fpga fabric and processors are set up in Zynq (the only one I have experience with), allow for separate Software and FPGA IP development teams. 

    Both sides need to know the interface mechanisms and -designs. And the fabric-with-processor integrator will have to understand the mechanisms very well.
    Given the nature of the interfaces, and the fact that for Xilinx this is done in Vivado, I see this integrator as an FPGA designer role. Not an IT role.

    In the end, for the software and IP designers, it doesn't make too much difference if the processor(s) sit on the silicon or housed in another chip.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 3 years ago in reply to Jan Cumps

    Hi Jan,

    I mean it's not a situation where the FPGA developer can be expected to pick this up, i.e. regarding the comment

    "As  FPGA engineers, there is a growing need to understand the basics of embedded Linux (and some low level software)" - it would require a team effort, more than one person, not the same FPGA engineer. As you say, the tools allow for the separation of roles.

    I think it only doesn't make a difference if the processor is separate or on-chip, if standard interfaces are used, in which case I cannot see much benefit of the on-chip integration, because I thought the point of having the integrated processor was that you could get great performance gains through tight integration, i.e. effectively making your own integrated peripherals in VHDL, with perhaps multi-Gigabit levels of throughput since you can parallel things. If the interface is (say) SPI or Ethernet, then it may as well be on a separated FPGA and processor.

    Otherwise, driver development is needed, which would require a type of software developer who has experience with that, which is quite a niche skill, and the typical FPGA developer most certainly won't have experience with that.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Jan Cumps
    Jan Cumps over 3 years ago in reply to shabaz
    shabaz said:
    I thought the point of having the integrated processor was that you could get great performance gains through tight integration, i.e. effectively making your own integrated peripherals in VHDL, with perhaps multi-Gigabit levels of throughput since you can parallel things

    there are definitely advantages. In case of the Zynq:

    - 64 direct on-silicon data signals between fabric and ARM

    - memory mapped access to fabric, with DMA support (double DMA: you can stream from ARM to a fabric DSP design and stream back relying on the DMA engine both ways)

    - synced clocks

    - more!

    I've used some of those when working with michaelkellett's memory block. What I was trying to say is that you still write traditional RTL on the fabric. And traditional Linux interface constructs like writing to a memory register, a memory range, or a single gio pin ...

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • Metaforest
    Metaforest over 3 years ago in reply to shabaz

    FPGA designers can choose to ignore the software/firmware side of the project for the most part.  The only point of coordination is the specification of the hardware register addresses that the CPU(s) will interface to the Fabric. And what those registers do.  

    I think the software developer is going to have the larger burden of understanding the hardware layer well enough to write drivers for the chosen OS environment whether it be bare metal, linux, Python, Arduino, or even Lua.  At least for SoC+FPGA work, software engineers are going to have an easier time adapting than pure EE designers developing good product solutions. 

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • Metaforest
    Metaforest over 3 years ago in reply to shabaz

    It is not just custom interfaces to external hardware.  The tools were designed to allow critical paths in software systems to be accelerated in the fabric. The whole point of the C-HDL is to make it easier for a software engineer to convert a proven software function into HDL where it will execute much faster. 

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Metaforest
    Metaforest over 3 years ago in reply to shabaz

    It is not just custom interfaces to external hardware.  The tools were designed to allow critical paths in software systems to be accelerated in the fabric. The whole point of the C-HDL is to make it easier for a software engineer to convert a proven software function into HDL where it will execute much faster. 

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube