editor's blog
Subscribe Now

Validating Serial Protocols

When I was approached to talk about a new product from Arasan, I ran afoul of my favorite source of confusion from the Bureau of Arbitrary Definitions: I thought it was a verification story, when in fact it’s a validation story.

In case you think those two sound like pretty much the same thing, I always like to reinforce the confusion by defining verification as the act of proving that your design is a valid implementation of the design spec, while validation is the act of verifying that your design works properly in its desired setting. (Confused more? You’re welcome.)

Most of what we discuss in these pages is verification – making sure that there are no implementation deviations from the design spec. We spend much less time on validation, where the design is put into its native operating environment to see if it works as intended. This is often the domain of emulators, where you can connect in real system components or drive in real data traffic at speed to see how things work.

Arasan notes that this is becoming a problem with protocol stacks that communicate across gigabit (and higher) serial links – the emulators can’t keep up. They might be able to handle the physical layer (for instance, if there are FPGAs in the emulator, it’s likely they can handle serial data), but even so, the higher level portions of the protocol stack will be emulated, meaning they can’t run at speed.

They say that the standard solution for this is to place a rate-matching unit between the emulator and whatever is being used to validate the design. But because the emulator is slow, you end up waiting a lot – it certainly doesn’t reflect what a real traffic pattern would look like. In addition, apparently not all protocols have a rate-matching solution: MIPI, for example, can’t be handled that way.

So Arasan has released what is essentially a small tester that can be connected to a high-speed prototype board to test the design without an intervening rate matcher. It has a processor that handles the top levels of the protocol stack; that’s then shipped over to an FPGA that handles the bottom 4 levels of the stack and drives out directly to the design you’re testing.

They have different connectivity boards that can be swapped out for different protocols. Yes, in theory you could combine them, but they say that it’s rare that a design team needs to validate more than one protocol: a specific connection will operate on only one.

You can find more information in their press release

Leave a Reply

featured blogs
Oct 14, 2019
Simon Segars opened Arm TechCon with a new look, having discovered that real men have beards. This is the 15th Arm TechCon. In this post I'm going to focus on the new things that Arm announced... [[ Click on the title to access the full blog on the Cadence Community sit...
Oct 13, 2019
In part 3 of this blog series we looked at what typically is the longest stage in designing a PCB Routing and net tuning.  In part 4 we will finish the design process by looking at planes, and some miscellaneous items that may be required in some designs. Planes Figure 8...
Oct 11, 2019
The FPGA (or ACAP) universe gathered at the San Jose Fairmount last week during the Xilinx Developer Forum. Engineers, data scientists, analysts, distributors, alliance partners and more came to learn about the latest hardware, software and system level solutions from Xilinx....
Oct 11, 2019
Have you ever stayed awake at night pondering palindromic digital clock posers?...
Oct 11, 2019
[From the last episode: We looked at subroutines in computer programs.] We saw a couple weeks ago that some memories are big, but slow (flash memory). Others are fast, but not so big '€“ and they'€™re power-hungry to boot (SRAM). This sets up an interesting problem. When ...