Prototype design of Soc based on FPGA

The biggest advantage may be that the embedded software runs immediately when the first SoC chip enters the lab.

As a proponent of FPGA-based prototyping methods, one might think that we only saw the advantages of this approach unilaterally and turned a blind eye to its flaws. But that is not our intention. Our "FPGA-based Prototype Method Manual" is designed to fully reveal the pros and cons of FPGA-based prototyping, because ultimately we don't want to see someone else using other methods to better achieve their goals (for example, using a System C-based virtual prototype) ), but on the long journey of this method.

Let's take a closer look at the purpose and limitations of the FPGA-based prototyping approach and its applicability to system-level verification and other purposes. Keeping the focus on the purpose of the prototype project makes it easier to make decisions on the platform, IP usage, design export, debugging, and other design. In this way, we can learn from their projects by analyzing the cases of other prototyping teams in the world.

FPGA-based prototypes can meet different needs

Prototyping is not a process that can be done with a few buttons, and requires careful attention and reflection at different stages. In addition to explaining the work to be done and the expertise involved in this process, we should also explain why it should be (or should not be) prototyped in the SoC project. One of the most frequently asked questions in conversations with prototype designers is "Why are you doing this?". There are many different answers, and we summarize them into several common reasons in Table 1. For example, “data effects in a real environment” may mean that a team's job is to prototype a system to run at full speed and connect it to other systems or peripherals. It is to test compliance with a new interface standard. The general reason for their prototyping is "interfacing with the real environment", and the prototype design does provide the fastest and most accurate way to achieve this before the real chip device is available.

Common purposes and reasons for using FPGA-based prototypes

Table 1 Common purposes and reasons for using FPGA-based prototypes

The system understands the purpose of these projects and the reasons for our prototyping, which will help us determine whether FPGA-based prototyping can help our next project.

So let's explore the purpose of Table 1 and how FPGA-based prototyping can help achieve these goals. In many cases, we will also give some examples in the real environment, and I would like to thank those who have dedicated their experience and guided others to success.

High performance and accuracy

Only FPGA-based prototypes provide the speed and accuracy needed to properly test all aspects of the design. The reason we put this reason first is that although the project has many of the given goals that need to be achieved, this may be the most fundamental reason for all the reasons for a team that needs to be prototyped. For example, the purpose of this team might be to validate embedded software for some SoCs and watch them run at full speed on real hardware, but the root cause of using prototypes is to ensure high performance and accuracy. We can verify the software at a higher performance level in a virtual system, but we can't achieve the accuracy that can be achieved with real RTL.

Real-time data stream

One of the reasons why it is difficult to verify an SoC is because its state depends on many variables, including its previous state, the order of inputs, and the broader SoC output system effects (and possible feedback). Connecting the SoC design to the rest of the system and running at real-time speed allows us to immediately observe the effects of changes in real-time conditions, inputs, and system feedback.

A good example is the real-time data stream in the HDMI prototype developed by the IP team of Synopsys in Porto, Portugal. In this example, high-definition (HD) media data is streamed through the prototype of the processing core to a high-definition display, as shown in the block diagram of Figure 1. Note that the bottom of the block diagram shows the real-time audio and HD video data streams, received from the receiver (from an external source), passed through the prototype, and output to the entire flow of the real-time HDMI PHY connected to the external monitor.
By using the prototype before the filming, we can immediately see and hear the effects of different HD data on our design, and vice versa. This real-time data flow is only supported by FPGA-based prototyping methods, which not only brings great benefits to such multimedia applications, but also benefits many other applications that require real-time response to input data streams.

HDMI prototype block diagram

Figure 1 HDMI prototype block diagram

Software and hardware integration

In the above example, the reader may have noticed that the prototype uses a small MicroBlazeTM CPU with peripherals and memory to represent all the common modules of an SoC. In this design, the software running on the CPU is mainly used to load and control A/V processing. However, in many SoC designs, software is the most energy intensive.

Gas Generator Set

Gas Generator Set,Coal Gas Power Generator Set,Oil Field Gas Generator,Methane Gas Generator

Jiangsu Vantek Power Machinery Co., Ltd , https://www.vantekpower.com