Cloud SoC Prototyping: FPGA Prototyping Tools as a Service 

Achim Nohl

Nov 10, 2021 / 6 min read

FPGA-based prototyping is an important step in the pre-silicon validation and software development of next-generation SoCs. But managing hardware prototyping systems is not for everyone. That’s partly because of the different needs of the people involved using the systems, plus the wide variety of chip designs being prototyped. There is a lot to orchestrate. And, from management to end users, there’s significant opportunity to optimize the process and maximize the value from prototyping. Using prototype-as-a-service, a web stack-based resource management API gateway, can help you reduce the total cost of ownership in your prototyping investment—scaling the systems you already have and increasing your productivity with higher levels of efficiency and utilization.

 Servers Connected with LAN Connection Visualisation Lines

A Diversity of Needs in the Prototyping Process

Imagine you’re attempting to access one prototyping system after another only to find they’re already in use. There is no indication as to how long each system will be tied up. No batch queuing or scheduling available out of the box. No way to centrally manage hardware installations or automate prototype system inventory management either. These are just a few of the headaches you might encounter in the FPGA prototyping process, depending on your role. And no matter your role, it can be tedious to manage these systems. Prototyping is typically done in the final critical stages of SoC verification before tape-out. Everything must work like clockwork to sign-off the design. But, the reality of prototyping systems is that they are often not well managed.  

If you are overseeing prototyping systems in your organization, you need to be aware of the unique needs of the people who access those systems. For example:

  • Lab engineer: They do the heavy lifting to get prototyping systems up and running smoothly and have them stay up continually across time zones. This involves a lot of cabling and configuring prototyping systems for many applications.
  • Prototyping engineer: They are worried about mapping designs to the systems and compiling, packaging, and deployment to end users in software development or dev ops.
  • Software development and dev ops engineer: They don’t care about any of the prototyping system details. As the end users, they simply want to find right target device, run their software, and verify it so they can bring their next-gen system to market.
  • Prototyping manager: They need to plan their resources to ensure prototype system availability so there are no delays.

If you are responsible for end-to-end orchestration of prototyping systems, optimizing on a role-based level can improve workflows and leverage the systems you have to their full capacities. Using a cloud-native, web-architected gateway, or prototype-as-a service, is an easy way to make that happen.

Prototype-as-a-Service—Doing It the Cloud Way

A prototyping system management layer with a central gateway and typical cloud-native web application architecture can provide secure APIs with role-based access control and metering, along with a modern responsive web-based user-interface (UI) to access deployments (Figure 1). An ideal architecture separates the client development environment from the prototype hosting environment through network transport-based APIs such as RESTful or message queues. This architecture means that servers, connected to the prototyping systems and running EDA tools, don’t impose hardware requirements on the end-user, who, for instance, could be an Android developer with a very different platform setup than for EDA tools. The user interface of the prototype systems can be accessed using a browser from a laptop, tablet, or smartphone. The business logic for controlling the prototype resides on the remote server system. The application gateway orchestrates and manages the access and allocation of systems for the different users and prevents interference.

Via the API gateway, you can control everything in non-interactive batch mode and run scripts, such as Python, on your client PC, programming and interacting remotely with the prototyping systems through an API. No remote login is needed, making it easier to integrate into continuous integration/continuous deployment (CI/ CD) pipelines like GitLab or GitHub via simple RESTful API calls.

HAPS Gateway Setup | Synopsys

Figure 1. A prototyping system management layer with a central gateway and typical cloud-native web application architecture can provide secure APIs with role-based access control.

Prototyping Resource Management with Custom Views

A web application can provide job function-specific user-interface views to increase efficiency. Here are just some of the possible benefits of differentiated role-based views:

  • Lab engineer: Using an interactive cabling assistant, a lab engineer can cable up the systems physically and check the cables against the specification coming from the software flow.
  • Prototyping engineer: A prototyping engineer can have detailed visibility into the setup to inspect and control the details, including FPGA configurations, clock and voltage configuration of the system, and more. The prototype engineer can then set up the abstracted project-level views and tailor user interfaces for end-users, for example a 5G firmware developer. Using an application plug-in mechanism, custom vertical market-specific applications could be deployed to end-users. No web programming skills would be needed if the user interface is configured using a JSON file and Python-based scripts are triggered remotely on the server.
  • Software development and dev ops engineer: Software engineers can check a reservation calendar to see system availability. A project-level calendar view can take into account systems shared between projects in order to maximize sharing and reduce the total cost of ownership for prototyping systems. The calendar reservation system can be provisioned with project-specific views. Also, selected applications can be made available to end-users for debugging on the prototype systems.
  • Management: Detailed utilization reports can enable management to make informed decisions about their prototyping investment. Users can subscribe to events using a built-in notification and monitoring capability. This way, users can get alerted immediately about hardware changes, unavailable hardware, or offline servers. This means maximum up-time for prototype farms.

Having a view that gives you just the information you need no matter your role makes the entire end-to-end prototyping process dramatically easier.

The Benefits of Prototype-as-a-Service

The benefits of using a gateway web application to manage your organization’s prototyping ecosystem are many. Scaling up your systems for more users. Out-of-the-box usability. Round-the-clock access. These productivity boosts are all possible with prototype-as-service. Here are just a few more: 

 

Farm-level Benefits

The named system setup, reservations, privileges, usage tracing, and analytics and health status and analysis make implementing and managing the system much easier.

 

Usability-level Benefits

The flexibility of mobile access, customizable UI, easy deployment, and an interactive set up and cabling flow takes out the tedium for system users. For end users only, you don’t have to be an FPGA expert to use the prototyping tools.

 

Access-level Benefits

There’s no longer any need to ship physical systems. The job queuing and scripting drives more software regressions, and the APIs enable web ops integrations. The fact that there’s no software installation—access is through a web browser—means that you are enabling more users on your prototyping systems.

Prototype-as-a-Service Is the Prototyping Management Technology of the Future

As the impact of Moore’s law diminishes, the elastic compute power of the cloud is becoming ever more important in a world of smart everything. When it comes to chip design, the adoption of the cloud has been sluggish, but cloud innovations will be essential in overcoming the bottleneck of traditional design methods as time to market pressure will only increase. In fact, Accenture notes cloud innovation in semiconductor design is critical to meet today’s accelerated pace of innovation.

At Synopsys, we work together with cloud security vendors to help ensure security along with strong identity, access management, and uptime safeguards to smooth this transition. A type of tool that can help bridge to the future, easing workflows and shortening time to market in semiconductor design, is a gateway-enabled API platform for modern access and management of your on-premises prototyping systems.

Prototype-as-a-service resource management API gateways can orchestrate your entire prototyping infrastructure, save time for everyone involved, and make the most out of your prototyping system investment. Technologies such as this will help ease the path to the continued innovation that will also facilitate silicon realization on the cloud.

Continue Reading