View the site in Français View the site in English (USA) Site displayed in English (GB)
You are here: ac6 > ac6-formation > FPGAs & ASICs > Lattice - PCIe 1.1 x1, x4 IP core

H6 Lattice - PCIe 1.1 x1, x4 IP core

This course describes the implementation of the Lattice PCIe core present in ECP2M, ECP3 and SCM FPGA families

Objectives
bullet_jaune_1 Clarifying the architecture of the PCIe core, distinguishing soft IPs from hard IPs (e.g. the Serdes) .
bullet_jaune_1 Developing software to drive the core and achieve desired functionality.
bullet_jaune_1 Highlighting the management of transmit credits through examples.
bullet_jaune_1 Understanding the various parameters that have to be defined in IPexpress GUI.

bullet_jaune_1 This course is delivered by Mr Guillaume Péron, a worldwide expert of PCIe, who has also developed trainings on PCIe core for Xilinx.
Lattice software (ispLEVER) is used to synthesize and implement practical examples, Mentor Graphics ModelSim is used for simulation.
A more detailed course description is available on request at info@ac6-training.com
Prerequisites
bullet_jaune_2 Knowledge of PCI Express 1.1 is recommended, see our course reference I3.
bullet_jaune_2 Experience with Lattice ispLEVER IDE is recommended, see our course reference H2.

Outline
DAY 1
INTRODUCTION TO LATTICE PCIe CORE
bullet_jaune_2 Core versions.
bullet_jaune_2 Core requirements, data bus width, performance, resource utilization.
bullet_jaune_2 Indicating how each PCIe protocol layer is implemented and what has to be done in the user logic.
bullet_jaune_2 Interfaces.
CLOCK AND RESET INTERFACE
bullet_jaune_2 125-MHz and 250-MHz clock domains.
bullet_jaune_2 LatticeECP3 and LatticeECP2M PCIe clocking scheme.
bullet_jaune_2 LatticeSCM PCIe clocking scheme.
bullet_jaune_2 PCIe power-up.
TRANSMIT AND RECEIVE TLP INTERFACE
bullet_jaune_2 Understanding the ports of the transmit interface.
bullet_jaune_2 Nullifying a TLP being transmitted.
bullet_jaune_2 Checking transmit credits prior to send Non-Posted, Posted or Completion packets.
bullet_jaune_2 Completion read boundary definition.
bullet_jaune_2 Understanding the ports of the receive interface.
bullet_jaune_2 Transaction layer error detection and management, generating error messages.
bullet_jaune_2 Updating transmit credits for the peer device.
bullet_jaune_2 Address decode logic in the receiver, BAR registers.
bullet_jaune_2 Completion time-out detection.
bullet_jaune_2 ECRC checking and generation.
bullet_jaune_2 Providing the header of a mal-formed packet detected by the user logic.
PHYSICAL LAYER INTERFACE
bullet_jaune_2 Describing all states and transitions of the PCIe LTSSM.
bullet_jaune_2 Signal description.
bullet_jaune_2 Tracking the state of the LTSSM.
bullet_jaune_2 Forcing the transition to specified states, in order to accelerate simulations.
bullet_jaune_2 Multi-lane operation.
bullet_jaune_2 Adapter card concerns.
bullet_jaune_2 MultiChannel Adapter (MCA), LatticeSCM reference design.
DAY2
LINK LAYER INTERFACE
bullet_jaune_2 Describing the APSSM state machine used to control the power states of the link and of the function.
bullet_jaune_2 Getting the state of the link layer.
bullet_jaune_2 Transmitting power messages.
bullet_jaune_2 Receiving power messages.
CONFIGURATION REGISTERS
bullet_jaune_2 Ports used to export the configuration value set by the host firmware.
bullet_jaune_2 Ports used to force the contents of some registers.
bullet_jaune_2 Detailing all registers, type 0 header, PCIe-related registers, power-management related registers, MSI relared registers, advanced error reporting related registers, and serial number register.
bullet_jaune_2 Getting the device ID, necessary to respond to configuration requests.
INTERRUPT AND MSI
bullet_jaune_2 Explaining the disadvantages of legacy interrupts.
bullet_jaune_2 Generating an interrupt assert / deassert message.
bullet_jaune_2 Determining whether the host software supports MSIs.
bullet_jaune_2 Selecting an MSI number and generating the MSI.
bullet_jaune_2 Behavior of the back end logic when the host software allocates less MSIs than requested.
WISHBONE INTERFACE
bullet_jaune_2 Transfer protocol basics.
bullet_jaune_2 Accessing the registers of the configuration space.
bullet_jaune_2 Wishbone interface memory map.
bullet_jaune_2 Description of IP control and status registers.
IP CORE IMPLEMENTATION
bullet_jaune_2 Lattice SCM MACO blocks.
bullet_jaune_2 Creating the IP through IPexpress GUI, explaining each parameter that has to be defined by the user.
bullet_jaune_2 Implementing loopback.
bullet_jaune_2 Total EBR count based on Max TLP size.
bullet_jaune_2 Created files and directories.
bullet_jaune_2 Simulation strategies.
bullet_jaune_2 LatticeECP3 and LatticeECP2M PIPE Simulation.
bullet_jaune_2 Locating the IP.
bullet_jaune_2 Setting Design Constraints.
SCATTER-GATHER DMA CONTROLLER IP CORE
bullet_jaune_2 Device support for SGDMAC core v2.1.
bullet_jaune_2 Scatter-gather DMA principle.
bullet_jaune_2 Arbitration between channels.
bullet_jaune_2 DMA engine.
bullet_jaune_2 System configurations, utilization in a PCIe design to fill / empty transmit / receive FIFOs.