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 4829 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
Reply
  • 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
Children
  • 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
  • manihatn
    manihatn over 3 years ago in reply to shabaz

    Hi shabaz  and Jan Cumps,  both of your views strike a chord with me as I have been on both sides of the boat. So I can share some of my experience. 

    In the past, I have worked on on the FPGA design side and I had a specialist software team with specialized knowledge to do the embedded linux. There is huge interest and  support for using opensource toolchain from the embedded software team and they don't like proprietary and closed tool chains as they wanted their build tools to support multiple vendors. So the initial development (for board bring up) turnaround between the firmware and software team was not as fast as I expected. I tinkered with petalinux for fun and provided them with some basefiles that they can build upon. I gradually started to interface with the embedded software team and learned quite a lot. As part of the process (being an FPGA engineer),  the embedded linux learning curve was steep from my end but I enjoyed the process. But certainly believed some structured learning and guidance would have been a lot more productive  beyond the support offered from the forums. 

    In my current role, I do both the FPGA and the embedded Linux. There is a software team but they are not specialists in the embedded domain as shabaz suggested as it is indeed a different skillset. I have gradually gained some useful knowledge on doing embedded linux stuff (but by no means can claim as a specialist). But I have shipped complete products (FPGA + Embedded linux), so it is doable and a lot more faster when you have done it a few times. So, I believe Jan Cumps  views on the Integrator being an FPGA designer might be the way to go. But not sure if fellow FPGA engineers would have the time, interest and roles that are flexible to provide such options. 

    This is a classic discussion about Generalist Vs Specialist. I believe there is pros and cons on both sides. So it is ultimately for the individual to decide.

    Resources from Bootlin and books like embedded Linux primer have been of great help in this journey. My appreciation for embedded Linux has increased many folds after seeing the support and initiatives from the embedded community.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
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