How Do I Use the Promira Serial Platform to Simulate an eSPI Master?

Question from the Customer:

Can I use the Promira Serial Platform to act as a master for the eSPI protocol? Would the eSPI Analysis Application work for this?

Response from Technical Support:

Thanks for your question!  The Promira platform can be used to simulate an eSPI master.  However, the Promira eSPI Analysis Application is not capable of simulating an eSPI Master. We’ll give you an overview of what the eSPI Analysis application does support, and then we’ll go into setting up the Promira platform as an eSPI master simulator.

Promira Serial Platform can be used with I2C and SPI devices eSPI Analysis Application that is used with the Promira Serial Platform

What the eSPI Analysis Application Supports

The Total Phase eSPI Analysis Application is the first eSPI bus monitor in the industry. With this application, you can monitor eSPI communication between multiple eSPI devices.

  • Monitor communication between a master and up to 2 slaves
  • Supports single, dual and quad I/O
  • Supports clock speeds up to 66MHz
  • Monitor up to 5 channels (peripheral, virtual wire, OOB, Flash, Independent)
  • Monitor 2 alert lines
  • Monitor 2 reset lines
  • Match triggers, hardware filters, and statistics

As previously mentioned, this application only monitors the eSPI bus.  The next section describes simulating an eSPI master.

Simulating an eSPI Master with the Promira Serial Platform and Software API

For simulating an eSPI master, we provide example software that can be run from a Promira platform that is licensed with SPI Active Application - Level 1, Level 2 or Level 3.  Note - to install and run the Level 2 and 3 applications, the previous level applications must first be installed.  We recommend using SPI Active – Level 3 for full eSPI performance at 66 MHz Quad I/O.

The eSPI Active Example Files package includes two files that can be used with the Promira SPI application.

  • Python 2.x  API is used to simulate eSPI transactions.
  • espi_generator file is a Promira Software API example that generates eSPI traffic and drives the eSPI_simulator.

With these examples, you can simulate an eSPI transaction on one, two, or four I/O lines, depending on which I/O mode is licensed and selected. Both command phase and response phase operations are driven.

Setting Up an eSPI Master Simulator

Our knowledge base article, Monitoring eSPI Messages Using Promira Platform and Data Center, describes how to set up a Promira platform as an eSPI master. In this article, a second Promira platform is running the eSPI Analysis Application. The Data Center Software is used to monitor and analyze the eSPI bus data.

The provided example software that emulates eSPI cycles uses our API interface with the Promira SPI application(s).  As this simulation is driven only by software, limitations to consider :

  • This emulation/simulation of eSPI mastering is only supported with SPI Active Level 1/2/3 applications and the Promira Serial Platform.
  • This simulation is not a complete eSPI master hardware engine.
  • This simulation does not respond to a slave in real time.

Additional resources that you may find helpful include the following:

We hope this answers your question. If you have other questions about our Total Phase products, feel free to email us at sales@totalphase.com. You may also request a demo that is specific for your application.