Communication Controllers (Ethernet, PCIe, USB)
Communication Controller Verification Challenges
Communication protocols are continuously evolving to meet the demands of our connected world and the advent of Big Data. The Internet-of-Things (IoT), autonomous vehicles, Artificial Intelligence (AI), social data and smart cities are just a few examples of the sources of this data that are becoming more prevalent in our world. Big Data needs big communication pipes to very quickly move this massive amount of data through networks and data centre servers.
The Ethernet protocol is most commonly used to move data between systems in a network, PCIe is the protocol of choice for communication between components within a system, and USB is most commonly used to connect systems to external peripherals. These communications protocols are partitioned into abstraction layers (Fig. 1), which generally follow the concepts characterized by the Open Systems Interconnection Model (OSI). As communications protocols evolve to have higher speeds (Table 1), the function of each of these layers becomes more complex and circuit implementations become more simulation-resistant.
Figure 1: Layered communication protocol
Table 1: Evolution of communications protocols
Communication Controller Blocks with Simulation-Resistant Superbugs
Many functional units in communication controller design are commonly found to contain simulation-resistant superbugs.
Lane-to-Lane de-skew buffer
Link Training and Status State Machine (LTSSM)
Data Link Layer
Flow control credit counters
These types of blocks have too many combinations to test in simulation and to completely cover all temporal relations between events.
Oski Formal for Communication Controllers
Oski’s Formal Sign-Off Methodology enables exhaustive analysis of all possible design states. Oski has developed the expertise required to anticipate where communication controller superbugs are most likely to occur and to know how to flush them out. Contact Oski to learn more.