feature article
Subscribe Now

Making FPGA SoC Easier

Lattice Propel Lowers the Bar

There are about a zillion SoCs on the market today, perhaps even a zillion and a half, we haven’t counted in awhile. Of course most of them are built on various forms of ARM MCUs or applications processors, and the line card includes a zillion squared permutations with various collections of peripherals and interfaces parked alongside the processor. It can be a dizzying experience to design a system around one, tediously comparing what’s on the chip to what you think you’ll need.

But, if you take the time to look through all those, you’ll generally find one that almost works for your application. It’ll be really nearly just about kinda perfect except for that one missing thing that totally disqualifies it. Then, you’ll look some more and find one that has absolutely everything you want, as well as a ton of extra stuff that costs you money and power and has no purpose in your application. Finally, you’ll pick one and design it in – only to find out your requirements changed mid-project and now you need to add an FPGA to the board to give you that one extra interface, accelerate an algorithm, or connect peg A to slot B.

So, here we go down the FPGA path. 

What if we’d started there in the first place? After all, you can build your own SoC with an FPGA and put exactly the peripherals and interfaces and accelerators you need. Then, in a couple months when your requirements change, you can add/change/modify them without having to re-design your board or your whole system. This is not new advice, of course. FPGAs have been replacing SoCs for awhile now, but most teams are intimidated by the hardware design talent required to get the FPGA-based SoC up and running. The lure of the pre-designed, pre-tested off-the-shelf SoC is intoxicating, and all seems well until that day when you find out you’re going down the FPGA road anyway. 

FPGA companies recognize this, of course, and go to great lengths to lower the barriers to entry in FPGA design. Lattice Semiconductor just released “Propel” – a new suite of tools and IP that makes creating a customized SoC on their FPGAs drag-and-drop simple. With a few clicks-and-drags, just about anybody can design their own custom SoC with a RISC-V processing subsystem – without having to dive into details of RTL design, synthesis, place-and-route, timing closure, and the other real and imagined horrors of FPGA design. 

For a long time, putting processors in small FPGAs was uncommon, and frankly challenging because the processor took such a large percentage of the available FPGA fabric to create what would end up being a pretty expensive, poor-performing processor. Small FPGAs usually just functioned as “glue logic,” bridging standards between various devices, adding IO to designs, even fixing logic bugs. But today’s small FPGAs are close in capability to mid-range and even large FPGAs of a few years ago, and with all the embedded applications that need the flexibility of FPGAs, the drive to add processors has become substantial. 

Propel is positioned nicely for teams that are doing embedded designs, have traditionally used off-the-shelf SoCs, need the flexibility of programmable logic in their system, but don’t have an established team of FPGA experts ready to take on the challenge. Propel has two major components, the Lattice Propel Builder, which is a set of graphical and command line IP integration tools that make configuring your processing subsystem a snap, and Lattice Propel SDK – which (as the name implies) is a software development environment that facilitates building, compiling, analyzing, and debugging software for the Lattice platform. The SDK includes software libraries and board support packages. 

Lattice was very early to the RISC-V party, and that decision seems to be paying off as RISC-V has gained tremendous momentum since Lattice first embraced it. The RISC-V ecosystem has grown exponentially, and having RISC-V at the core of the Propel offering is a solid choice that should do well for customers. RISC-V is actually an open ISA, rather than a specific processor architecture, allowing users to customize their implementation to meet their needs while maintaining software portability via the ISA. That allows it to be a viable and often attractive fee-free alternative to ARM architectures in a variety of application types from low-power to high-performance.

Lattice Propel Builder takes care of the pin-to-pin connections for attaching the processor to busses and peripherals, and yields a “correct by construction” system via wizard-guided configuration and parameterization. The ease of configuration combine with a quick download and install (Lattice’s tool download is considerably smaller than other FPGA vendors’) to get you to “Hello World” on software running on your FPGA-based processor system in minutes. Lattice Propel Builder includes access to a regularly updated IP server. The server currently offers eight processor and peripheral IP cores, including a RISC-V RV32I compliant processor core, and Lattice says all the IP cores available through Lattice Propel Builder are compatible with the AMBA on-chip interconnect specification.

Speaking of downloading software tools, there was a brief bit of controversy when Lattice first launched Propel. Savvy developers in the open source community noticed a new line in the software license limiting reverse-engineering bitstreams. Lattice was quick to respond, and posted the following: 

To the open source community, thank-you for pointing out a new bitstream usage restriction in the Lattice Propel license. We are excited about the community’s engagement with Lattice devices and our intent is to not hinder the creation of innovative open source FPGA tools.

You can log into the Lattice website and check out the updated license text at https://lnkd.in/gUr6NMa. Please note that the license text is also replicated during install, and the new text will be available in tools available for download early next week. Thanks again for the feedback.

Propel is available for download now, and will first support the Lattice MachXO3D FPGA family, with support for other FPGA families expected to follow.

Leave a Reply

featured blogs
May 17, 2022
Explore Arm's SystemReady program, and learn how we're simplifying hardware/software compliance through pre-silicon testing for Base System Architecture (BSA). The post Collaborating to Ensure that Software Just Works Across Arm-Based Hardware appeared first on From Silicon ...
May 17, 2022
Introduction Healing geometry, setting the domain, grid discretization, solution initialization, and result visualization, are steps in a CFD workflow. Preprocessing, if done efficiently, is the... ...
May 12, 2022
By Shelly Stalnaker Every year, the editors of Elektronik in Germany compile a list of the most interesting and innovative… ...
Apr 29, 2022
What do you do if someone starts waving furiously at you, seemingly delighted to see you, but you fear they are being overenthusiastic?...

featured video

Intel® Agilex™ M-Series with HBM2e Technology

Sponsored by Intel

Intel expands the Intel® Agilex™ FPGA product offering with M-Series devices equipped with high fabric densities, in-package HBM2e memory, and DDR5 interfaces for high-memory bandwidth applications.

Learn more about the Intel® Agilex™ M-Series

featured paper

Reduce EV cost and improve drive range by integrating powertrain systems

Sponsored by Texas Instruments

When you can create automotive applications that do more with fewer parts, you’ll reduce both weight and cost and improve reliability. That’s the idea behind integrating electric vehicle (EV) and hybrid electric vehicle (HEV) designs.

Click to read more

featured chalk talk

Traveo II Microcontrollers for Automotive Solutions

Sponsored by Mouser Electronics and Infineon

Today’s automotive designs are more complicated than ever, with a slew of safety requirements, internal memory considerations, and complicated power issues to consider. In this episode of Chalk Talk, Amelia Dalton chats with Marcelo Williams Silva from Infineon about the Traveo™ II Microcontrollers that deal with all of these automotive-related challenges with ease. Amelia and Marcelo take a closer look at how the power efficiency, smart IO signal paths, and over the air firmware updates included with this new MCU family will make all the time-saving difference in your next automotive design.

Click here for more information about Cypress Semiconductor Traveo™ II 32-bit Arm Automotive MCUs