Hardware Data Sheet Section III
ET1810 / ET1811 / ET1812
Slave Controller
IP Core for Altera® FPGAs
Release 3.0.10
Section I – Technology
(Online at http://www.beckhoff.com)
Section II – Register Description
(Online at http://www.beckhoff.com)
Section III – Hardware Description
Installation, Configuration, Resource
consumption, Interface specification
Version 1.0
Date: 2015-01-20
DOCUMENT ORGANIZATION
Trademarks
Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE® and XFC® are registered trademarks of and licensed by
Beckhoff Automation GmbH & Co. KG. Other designations used in this publication may be trademarks whose use by third
parties for their own purposes could violate the rights of the owners.
Patent Pending
The EtherCAT Technology is covered, including but not limited to the following German patent applications and patents:
DE10304637, DE102004044764, DE102005009224, DE102007017835 with corresponding applications or registrations in
various other countries.
Disclaimer
The documentation has been prepared with care. The products described are, however, constantly under development. For that
reason the documentation is not in every case checked for consistency with performance data, standards or other
characteristics. In the event that it contains technical or editorial errors, we retain the right to make alterations at any time and
without warning. No claims for the modification of products that have already been supplied may be made on the basis of the
data, diagrams and descriptions in this documentation.
The Beckhoff EtherCAT Slave Controller (ESC) documentation covers the following Beckhoff ESCs:
ET1200
ET1100
EtherCAT IP Core for Altera® FPGAs
EtherCAT IP Core for Xilinx® FPGAs
ESC20
The documentation is organized in three sections. Section I and section II are common for all Beckhoff
ESCs, Section III is specific for each ESC variant.
The latest documentation is available at the Beckhoff homepage (http://www.beckhoff.com).
Section I – Technology (All ESCs)
Section I deals with the basic EtherCAT technology. Starting with the EtherCAT protocol itself, the
frame processing inside EtherCAT slaves is described. The features and interfaces of the physical
layer with its two alternatives Ethernet and EBUS are explained afterwards. Finally, the details of the
functional units of an ESC like FMMU, SyncManager, Distributed Clocks, Slave Information Interface,
Interrupts, Watchdogs, and so on, are described.
Since Section I is common for all Beckhoff ESCs, it might describe features which are not available in
a specific ESC. Refer to the feature details overview in Section III of a specific ESC to find out which
features are available.
Section II – Register Description (All ESCs)
Section II contains detailed information about all ESC registers. This section is also common for all
Beckhoff ESCs, thus registers, register bits, or features are described which might not be available in
a specific ESC. Refer to the register overview and to the feature details overview in Section III of a
specific ESC to find out which registers and features are available.
Section III – Hardware Description (Specific ESC)
Section III is ESC specific and contains detailed information about the ESC features, implemented
registers, configuration, interfaces, pinout, usage, electrical and mechanical specification, and so on.
Especially the Process Data Interfaces (PDI) supported by the ESC are part of this section.
Additional Documentation
Application notes and utilities can also be found at the Beckhoff homepage. Pinout configuration tools
for ET1100/ET1200 are available. Additional information on EtherCAT IP Cores with latest updates
regarding design flow compatibility, FPGA device support and known issues are also available.
III-II Slave Controller – IP Core for Altera FPGAs
DOCUMENT HISTORY
Version
Comment
1.0
Initial release EtherCAT IP Core for Altera FPGAs 3.0.10
DOCUMENT HISTORY
Slave Controller – IP Core for Altera FPGAs III-III
CONTENTS
CONTENTS
1 Overview 1
1.1 Frame processing order 2
1.2 Scope of this document 3
1.3 Scope of Delivery 3
1.4 Target FPGAs 4
1.5 Designflow requirements 4
1.6 Tested FPGA/Designflow combinations 5
1.7 Release Notes 6
1.7.1 Major differences between V2.4.x and V3.0.x 12
1.7.2 Reading IP Core version from device 12
1.8 Design flow 13
1.9 OpenCore Plus Evaluation 14
1.10 Simulation 15
2 Features and Registers 16
2.1 Features 16
2.2 Registers 19
2.3 Extended ESC Features in User RAM 22
3 IP Core Installation 26
3.1 Installation on Windows PCs 26
3.1.1 System Requirements 26
3.1.2 Installation 26
3.2 Installation on Linux PCs 27
3.2.1 System Requirements 27
3.2.2 Installation 27
3.3 Files located in the lib folder 27
3.4 License File 28
3.5 IP Core Vendor ID package 29
3.6 Integrating the EtherCAT IP Core into the Altera Designflow 30
3.6.1 Software Templates for example designs with NIOS processor 30
3.7 EtherCAT Slave Information (ESI) / XML device description for example designs 30
4 IP Core Usage 31
4.1 IP Catalog 31
4.2 Qsys 31
5 IP Core Configuration 32
5.1 Documentation 33
5.2 Parameters 34
5.2.1 Product ID tab 34
5.2.2 Physical Layer tab 35
5.2.3 Internal Functions tab 37
III-IV Slave Controller – IP Core for Altera FPGAs
CONTENTS
5.2.4 Feature Details tab 39
5.2.5 Process Data Interface tab 41
6 Example Designs 49
6.1 EBV Cyclone III DBC3C40 with Digital I/O 50
6.1.1 Configuration and resource consumption 50
6.1.2 Functionality 50
6.1.3 Implementation 50
6.1.4 SII EEPROM 50
6.1.5 Downloadable configuration file 51
6.2 EBV Cyclone IV DBC4CE55 with NIOS 52
6.2.1 Configuration and resource consumption 52
6.2.2 Functionality 52
6.2.3 Implementation 52
6.2.4 SII EEPROM 53
6.2.5 Downloadable configuration file 53
6.3 Altera Cyclone IV DE2-115 with NIOS and MII 54
6.3.1 Configuration and resource consumption 54
6.3.2 Functionality 54
6.3.3 Implementation 55
6.3.4 SII EEPROM 55
6.3.5 Downloadable configuration file 55
6.4 Altera Cyclone IV DE2-115 with NIOS and RGMII 56
Slave Controller – IP Core for Altera FPGAs III-XI
ABBREVIATIONS
µC
Microcontroller
ADR
Address
AL
Application Layer
AMBA®
Advanced Microcontroller Bus Architecture from ARM®
AXITM
Advanced eXtensible Interface Bus, an AMBA interconnect. Used as On-Chip-bus
BHE
Bus High Enable
CMD
Command
CS
Chip Select
DC
Distributed Clock
DL
Data Link Layer
ECAT
EtherCAT
ESI
EtherCAT Slave Information
EOF
End of Frame
ESC
EtherCAT Slave Controller
FMMU
Fieldbus Memory Management Unit
FPGA
Field Programmable Gate Array
GPI
General Purpose Input
GPO
General Purpose Output
HDL
Hardware Description Language
IP
Intellectual Property
IRQ
Interrupt Request
LC
Logic Cell
LE
Logic Element
MAC
Media Access Controller
MDIO
Management Data Input / Output
MI
(PHY) Management Interface
MII
Media Independent Interface
MISO
Master In – Slave Out
MOSI
Master Out – Slave In
PDI
Process Data Interface
PLD
Programmable Logic Device
PLL
Phase Locked Loop
RBF
Raw Binary File
RD
Read
RMII
Reduced Media Independent Interface
SM
SyncManager
SoC
System on a Chip
SOF
Start of Frame
SOPC
System on a programmable Chip
SPI
Serial Peripheral Interface
VHDL
Very High Speed Integrated Circuit Hardware Description Language
WR
Write
ABBREVIATIONS
III-XII Slave Controller – IP Core for Altera FPGAs
Overview
Feature
IP Core configurable features
Ports
1-3 MII ports or 1-3 RGMII ports 1-2 RMII ports
FMMUs
0-8
SyncManagers
0-8
RAM
0-60 KB
Distributed Clocks
Yes, 32 bit or 64 bit
Process Data Interfaces
32 Bit Digital I/O (unidirectional)
SPI Slave
8/16 bit asynchronous µController Interface
Avalon® on-chip bus
AMBA® AXI3TM on-chip bus
Other features
Example designs for easy start up included
Slave applications can run on-chip if the appropriate FPGAs with
sufficient resources are used
ECAT
Processing
Unit
AutoForwarder +
Loopback
SyncManager
FMMU
ESC address space
User RAMRegistersProcess RAM
EEPROM
Distributed
Clocks
MonitoringStatus
PHY
Management
SYNCLEDsI²C EEPROM
PHY MI
SPI / µC / Digital I/O /
Avalon / AXI3
02
MII ports
LATCH
PDI
ECAT InterfacePDI Interface
1
ResetReset
1 Overview
The EtherCAT IP Core is a configurable EtherCAT Slave Controller (ESC). It takes care of the
EtherCAT communication as an interface between the EtherCAT fieldbus and the slave application.
The EtherCAT IP Core is delivered as a configurable system so that the feature set fits the
requirements perfectly and brings costs down to an optimum.
Table 1: IP Core Main Features
The general functionality of the EtherCAT IP Core is shown in Figure 1:
The frame processing order of the EtherCAT IP Core is as follows (logical port numbers are used):
Table 2: Frame Processing Order
Figure 2 shows the frame processing in general:
Figure 2: Frame Processing
Frame Processing Example with Ports 0 and 1
A frame received at port 0 goes via the Auto-Forwarder and the Loopback function to the EtherCAT
Processing Unit which processes it. Then, the frame is sent to port 1. If port 1 is open, the frame is
sent out at port 1. If it is closed, the frame is forwarded by the Loopback function to port 2. Since port 2
is not configured, the Loopback function of port 2 forwards the frame to the Loopback function of port
0, and then it is sent out at port 0 – back to the master.
III-2 Slave Controller – IP Core for Altera FPGAs
Overview
1.2 Scope of this document
Purpose of this document is to describe the installation and configuration of the EtherCAT IP Core for
Altera FPGAs. Furthermore, the signals and registers of the IP Core depending on the chosen
configuration are described.
This documentation was made with the assumption that the user is familiar with the handling of the
Altera Quartus® Development Environment.
1.3 Scope of Delivery
The EtherCAT IP Core installation file includes:
EtherCAT IP Core (encrypted VHDL library)
Example designs
The following files which contain customer specific information are required to synthesize the IP Core.
They are delivered independently of the installation file.
License File to decrypt EtherCAT IP Core: license_<company>_<Dongle/MAC ID>_<date>.dat
Encrypted Vendor ID package: pk_ECAT_VENDORID_<company>_Altera.vhd
Slave Controller – IP Core for Altera FPGAs III-3
Overview
1.4 Target FPGAs
The EtherCAT IP Core for Altera® FPGAs is targeted at these FPGA families:
Altera Cyclone® II, Cyclone III, Cyclone III LS, Cyclone IV E+GX, Cyclone V
Altera Cyclone V SoC
Altera Stratix®, Stratix II, Stratix III, Stratix IV, Stratix V
Altera Arria® GX, Arria II GX, Arria II GZ, Arria V
Altera Stratix® GX, Stratix II GX
Intel® AtomTM Processor E6x5C (formerly Stellarton)
Altera MAX10
The EtherCAT IP Core is designed to support a wide range of FPGAs without modifications, because
it does not instantiate dedicated FPGA resources, or rely on device specific features. Thus, the IP
Core is easily portable to new FPGA families.
The complexity of the IP Core is highly configurable, so its demands for logic resources, memory
blocks, and FPGA speed cover a wide range. Thus, it is not possible to run any IP Core configuration
on any target FPGA with any speed grade. I.e., there are IP Core configurations requiring a faster
speed grade, or a larger FPGA, or even a more powerful FPGA family.
It is necessary to run through the whole synthesis process – including timing checks –, to evaluate if
the selected FPGA is suitable for a certain IP Core configuration before making the decision for the
FPGA. Please consider a security margin for the logic resources to allow for minor enhancements and
bug fixes of the IP Core and the user logic.
1.5 Designflow requirements
For synthesis of the EtherCAT IP Core for Altera FPGAs, at least one of the following Altera Quartus II
versions is needed (with latest service pack):
Altera Quartus II version 13.0
Altera Quartus II version 13.1
Altera Quartus II version 14.0
Altera Quartus II version 14.1
Higher Quartus II versions are probably supported. Installation of the latest service pack is
recommended. A free version (“Web Edition”) is available from Altera (http://www.altera.com).
Optionally for using the EtherCAT IP Core with a NIOS® based Qsys design, you will need
Altera Nios II Embedded Design Suite
III-4 Slave Controller – IP Core for Altera FPGAs
Overview
IP
Core
Family
Device
Designflow
Test
Used Example
Designs
3.0.10
Cyclone III
EP3C40
Quartus II 13.1.4
Hardware
DBC3C40 Digital
I/O
Cyclone III LS
EP3CLS200
Quartus II 13.1.4
Synthesis
Cyclone IV E
EP4CE55
Quartus II 14.1
Hardware
DBC4CE55 Nios
Cyclone IV E
EP4CE115
Quartus II 14.1
Hardware
DE2-115 Nios
Cyclone V
5CEBA2
Quartus II 14.1
Synthesis
Cyclone V SoC
5CSEMA5
Quartus II 14.1
Synthesis
Stratix III
EP3SE50
Quartus II 13.1.4
Synthesis
Stratix IV E
EP4SE230
Quartus II 14.1
Synthesis
Stratix IV GT
EP4S40G
Quartus II 14.1
Synthesis
Stratix IV GX
EP4SGX70
Quartus II 14.1
Synthesis
Stratix V
5SGSMD4
Quartus II 14.1
Synthesis
Arria II GX
EP2AGX45
Quartus II 14.1
Synthesis
Arria V
5AGXMB3
Quartus II 14.1
Synthesis
Arria V GZ
5AGZME5
Quartus II 14.1
Synthesis
Intel Atom
E6x5C
EP2AGXE
6XXFPGA
Quartus II 13.1.4
Synthesis
MAX10
10M40DA
Quartus II 14.1
Synthesis
1.6 Tested FPGA/Designflow combinations
The EtherCAT IP Core has been synthesized successfully with different Quartus II versions and FPGA
families. Table 3 lists combinations of FPGA devices and design tools versions which have been
synthesized or even tested in real hardware. This list does not claim to be complete, it just illustrates
that the EtherCAT IP Core is designed to comply with a broad spectrum of FPGAs.
Table 3: Tested FPGA/Designflow combinations
NOTE: Synthesis test means analysis, synthesis, fitter, and assembler. Hardware test means the design was
operational using real hardware.
NOTE: Turn on Analysis & Synthesis option: Auto RAM Replacement, otherwise the RAM inside the IP Core will
be implemented with individual registers.
Refer to the Hardware Data Sheet Section III Addendum available at the Beckhoff homepage
(http://www.beckhoff.com) for latest updates regarding device support, design flow compatibility, and
known issues.
Slave Controller – IP Core for Altera FPGAs III-5
Overview
Version
Release notes
3.0.0
(3/2013)
Update to Quartus II 11.0 with Qsys support
Removed small/medium/large register sets, added updated preset configurations
Enhancements:
Increased PDI performance
Support for 8/16/32/64 bit Avalon and AXI3TM interface
Support for RGMII ports (added DE2-115 RGMII example design)
Native support for FX PHYs
Support for individual PHY address configuration and reading out this
configuration
Support for static or dynamic PHY address configuration
Support for 0 KB Process RAM, DC Sync/Latch signals individually configurable,
LED test added
Support for PDI SyncManager/IRQ acknowledge by Write command
Device emulation is now configured in the GUI statically.
Restrictions of this version, which are removed in V3.0.1:
Distributed Clocks are not available
AXI PDI is not available
RMII is not available
A time limit of 1 hour for evaluation purposes is enabled even without OpenCore
Plus
The DBC3C40 and DBC4CE55 example designs are occasionally causing the
PHY port 0 to fall into Isolate mode
Restrictions of this version, which are removed in V3.0.2:
EEPROM Emulation is not available
General purpose output byte 7 is not available
Restrictions of this version, which are removed in V3.0.5:
The AXI PDI may occasionally write incorrect data if simultaneous read and write
accesses occur repeatedly.
RX FIFO size is not initialized by SII EEPROM
Restrictions of this version, which are removed in V3.0.6:
The ERR LED does not allow overriding using the ERR LED Override register
0x0139 while AL Status register Error Indication bit 0x0130[4] is set.
Restrictions of this version, which are removed in V3.0.9:
The AXI PDI may not complete an access occasionally if overlapping read and
write accesses occur, causing the processor to wait endlessly.
The AXI PDI does not execute read accesses correctly if ARSIZE is smaller than
the AXI bus width.
Restrictions of this version, which are removed in V3.0.10:
The last 4 Kbyte Process Data RAM (0xF000:0xFFFF) cannot be used in the 60
Kbyte RAM configuration.
The AXI PDI may write to wrong bytes if the write data is valid before the address,
1.7 Release Notes
EtherCAT IP Core updates deliver feature enhancements and removed restrictions. Feature
enhancements are not mandatory regarding conformance to the EtherCAT standard. Restrictions
have to be judged whether they are relevant in the user’s configuration or not, or if workarounds are
possible.
Table 4: Release notes
III-6 Slave Controller – IP Core for Altera FPGAs
Overview
Version
Release notes
which is typically true for AXI4LITE.
The AXI PDI may read additional bytes after the intended bytes.
The AXI PDI may write additional bytes to byte lanes without byte enable, if User
RAM (0x0F80:0x0FFF) or Process Data RAM (0x01000 ff.) is written, if the actual
write address on the bus is 32 bit aligned (AWADDR[1:0]=00), and if one or more
of the lower byte enables/byte strobes (WSTRB) is not set.
3.0.1
(3/2013)
Enhancements:
Integration into Quartus II 13.0 added
Removed PDI_AXI_IRQ_DC_SYNC0/1 signals to support Quartus II 12.1/13.0
(use Qsys IRQ bridge to use DC SyncSignals as interrupts)
Restrictions of previous versions which are removed in this version:
Distributed Clocks are available
AXI PDI is available
RMII is available
A time limit of 1 hour for evaluation purposes is only enabled with OpenCore Plus
The DBC3C40 and DBC4CE55 example designs are preventing the PHY port 0
from falling into Isolate mode
Restrictions of this version, which are removed in V3.0.2:
EEPROM Emulation is not available
General purpose output byte 7 is not available
Restrictions of this version, which are removed in V3.0.5:
The AXI PDI may occasionally write incorrect data if simultaneous read and write
accesses occur repeatedly.
RX FIFO size is not initialized by SII EEPROM
Restrictions of this version, which are removed in V3.0.6:
The ERR LED does not allow overriding using the ERR LED Override register
0x0139 while AL Status register Error Indication bit 0x0130[4] is set.
Restrictions of this version, which are removed in V3.0.9:
The AXI PDI may not complete an access occasionally if overlapping read and
write accesses occur, causing the processor to wait endlessly.
The AXI PDI does not execute read accesses correctly if ARSIZE is smaller than
the AXI bus width.
Restrictions of this version, which are removed in V3.0.10:
The last 4 Kbyte Process Data RAM (0xF000:0xFFFF) cannot be used in the 60
Kbyte RAM configuration.
The AXI PDI may write to wrong bytes if the write data is valid before the address,
which is typically true for AXI4LITE.
The AXI PDI may read additional bytes after the intended bytes.
The AXI PDI may write additional bytes to byte lanes without byte enable, if User
RAM (0x0F80:0x0FFF) or Process Data RAM (0x01000 ff.) is written, if the actual
write address on the bus is 32 bit aligned (AWADDR[1:0]=00), and if one or more
of the lower byte enables/byte strobes (WSTRB) is not set.
Slave Controller – IP Core for Altera FPGAs III-7
Overview
Version
Release notes
3.0.2
(5/2013)
Enhancements:
MI link detection: relaxed checking of PHY register 9 (1000Base-T Master-Slave
Control register)
Restrictions of previous versions which are removed in this version:
EEPROM Emulation is available
General purpose output byte 7 is available
Restrictions of this version, which are removed in V3.0.5:
The AXI PDI may occasionally write incorrect data if simultaneous read and write
accesses occur repeatedly.
RX FIFO size is not initialized by SII EEPROM
Restrictions of this version, which are removed in V3.0.6:
The ERR LED does not allow overriding using the ERR LED Override register
0x0139 while AL Status register Error Indication bit 0x0130[4] is set.
Restrictions of this version, which are removed in V3.0.9:
The AXI PDI may not complete an access occasionally if overlapping read and
write accesses occur, causing the processor to wait endlessly.
The AXI PDI does not execute read accesses correctly if ARSIZE is smaller than
the AXI bus width.
Restrictions of this version, which are removed in V3.0.10:
The last 4 Kbyte Process Data RAM (0xF000:0xFFFF) cannot be used in the 60
Kbyte RAM configuration.
The AXI PDI may write to wrong bytes if the write data is valid before the address,
which is typically true for AXI4LITE.
The AXI PDI may read additional bytes after the intended bytes.
The AXI PDI may write additional bytes to byte lanes without byte enable, if User
RAM (0x0F80:0x0FFF) or Process Data RAM (0x01000 ff.) is written, if the actual
write address on the bus is 32 bit aligned (AWADDR[1:0]=00), and if one or more
of the lower byte enables/byte strobes (WSTRB) is not set.
III-8 Slave Controller – IP Core for Altera FPGAs
Overview
Version
Release notes
3.0.5
(2/2014)
Enhancements:
Improved MegaWizard GUI: shows on-chip bus speed and configuration details
Example designs using Qsys include .qip file instead of .qsys file (Qsys
constraints are used now)
Restrictions of previous versions which are removed in this version:
The AXI PDI writes correct data if simultaneous read and write accesses occur
repeatedly.
RX FIFO size is properly initialized by SII EEPROM
Restrictions of this version, which are removed in V3.0.6:
The ERR LED does not allow overriding using the ERR LED Override register
0x0139 while AL Status register Error Indication bit 0x0130[4] is set.
Restrictions of this version, which are removed in V3.0.9:
The AXI PDI may not complete an access occasionally if overlapping read and
write accesses occur, causing the processor to wait endlessly.
The AXI PDI does not execute read accesses correctly if ARSIZE is smaller than
the AXI bus width.
Restrictions of this version, which are removed in V3.0.10:
The last 4 Kbyte Process Data RAM (0xF000:0xFFFF) cannot be used in the 60
Kbyte RAM configuration.
The AXI PDI may write to wrong bytes if the write data is valid before the address,
which is typically true for AXI4LITE.
The AXI PDI may read additional bytes after the intended bytes.
The AXI PDI may write additional bytes to byte lanes without byte enable, if User
RAM (0x0F80:0x0FFF) or Process Data RAM (0x01000 ff.) is written, if the actual
write address on the bus is 32 bit aligned (AWADDR[1:0]=00), and if one or more
of the lower byte enables/byte strobes (WSTRB) is not set.
Slave Controller – IP Core for Altera FPGAs III-9
Overview
Version
Release notes
3.0.6
(4/2014)
Enhancements:
The Sync/Latch PDI Configuration register 0x0151 shows the same value as
previous IP Core versions. The actual configuration is not affected, since it is fixed
by the IP Core configuration.
Avalon/AXI timing: Quartus might infer an additional clock control buffer into the
on-chip-bus clock signal, causing higher jitter/delay. This clock buffer is now
avoided, leading to better timing results.
Added support for unaligned AXI burst transfers.
Restrictions of previous versions which are removed in this version:
The ERR LED allows overriding using the ERR LED Override register 0x0139
while AL Status register Error Indication bit 0x0130[4] is set. The override flag is
now cleared upon a rising edge of 0x0130[4], and it can be set again afterwards.
Restrictions of this version, which are removed in V3.0.9:
The AXI PDI may not complete an access occasionally if overlapping read and
write accesses occur, causing the processor to wait endlessly.
The AXI PDI does not execute read accesses correctly if ARSIZE is smaller than
the AXI bus width.
Restrictions of this version, which are removed in V3.0.10:
The last 4 Kbyte Process Data RAM (0xF000:0xFFFF) cannot be used in the 60
Kbyte RAM configuration.
The AXI PDI may write to wrong bytes if the write data is valid before the address,
which is typically true for AXI4LITE.
The AXI PDI may read additional bytes after the intended bytes.
The AXI PDI may write additional bytes to byte lanes without byte enable, if User
RAM (0x0F80:0x0FFF) or Process Data RAM (0x01000 ff.) is written, if the actual
write address on the bus is 32 bit aligned (AWADDR[1:0]=00), and if one or more
of the lower byte enables/byte strobes (WSTRB) is not set.
3.0.9
(9/2014)
Enhancements:
The Altera DE2-115 example designs have been updated to support Quartus 14.0
(connected PLL areset signal)
The PDI watchdog status 0x0110[1] now shows value ‘1’ (watchdog reloaded) if
the PDI watchdog is configured to be not available.
The ESI XML device description does not use special data types anymore.
Restrictions of previous versions which are removed in this version:
The AXI PDI completes accesses if overlapping read and write accesses occur.
The AXI PDI executes read accesses correctly if ARSIZE is smaller than the AXI
bus width.
Restrictions of this version, which are removed in V3.0.10:
The last 4 Kbyte Process Data RAM (0xF000:0xFFFF) cannot be used in the 60
Kbyte RAM configuration.
The AXI PDI may write to wrong bytes if the write data is valid before the address,
which is typically true for AXI4LITE.
The AXI PDI may read additional bytes after the intended bytes.
The AXI PDI may write additional bytes to byte lanes without byte enable, if User
RAM (0x0F80:0x0FFF) or Process Data RAM (0x01000 ff.) is written, if the actual
write address on the bus is 32 bit aligned (AWADDR[1:0]=00), and if one or more
of the lower byte enables/byte strobes (WSTRB) is not set.
III-10 Slave Controller – IP Core for Altera FPGAs
Overview
Version
Release notes
3.0.10
(1/2015)
The EL9800/FB1122 example designs have been removed because these evaluation
boards are no longer available.
Enhancements:
For EEPROM Emulation, the CRC error bit 0x0502[11] can be written via PDI to
indicate CRC errors during a reload command.
Restrictions of previous versions which are removed in this version: The last 4 Kbyte Process Data RAM (0xF000:0xFFFF) can be used in the 60
Kbyte RAM configuration.
The AXI PDI does not write to wrong bytes if the write data is valid before the
address.
The AXI PDI does not read additional bytes after the intended bytes.
The AXI PDI does not write to byte lanes without byte enable.
Slave Controller – IP Core for Altera FPGAs III-11
Overview
Bit
Description
ECAT
PDI
Reset Value
7:0
IP Core major version X
r/-
r/-
IP Core dep.
Bit
Description
ECAT
PDI
Reset Value
3:0
IP Core maintenance version Z
r/-
r/-
IP Core dep.
7:4
IP Core minor version Y
r/-
r/-
IP Core dep.
15:8
Patch level:
0x00: original release
0x01-0x0F: patch level of original release
r/-
r/-
IP Core dep.
1.7.1 Major differences between V2.4.x and V3.0.x
The EtherCAT IP Core V3.0.x versions have these advantages compared with the V2.4.x versions:
Increased PDI performance (average latency internally at least by a factor of 2 faster; worst case
latency even better)
Support for 8/16/32/64 bit Avalon and AXI3TM interface
Support for RGMII ports
Native support for FX PHYs
Flexible PHY address configuration
Support for PDI SyncManager/IRQ acknowledge by Write command (required for wide on-chip-
busses)
More detailed configuration
The higher PDI performance increases the resource requirements of the V3.0.x versions compared
with the V2.4.x versions. New development is focused on the V3.0.x versions.
1.7.2 Reading IP Core version from device
The IP Core version, denoted as X.Y.Z (e.g., 2.4.0), consists of three values X, Y, and Z. These
values can be read out in registers 0x0001 and 0x0002.
Table 5: Register Revision (0x0001)
Table 6: Register Build (0x0002:0x0003)
III-12 Slave Controller – IP Core for Altera FPGAs
Overview
Synthesis
User logic
License file (full)
FPGA configuration file
Download
utility
FPGA
Buy-out license /
Quantity-based license
(license agreement)
grants permission
EvaluationDevelopment
Download
utility
MAC ID
Dongle
bit-
stream
Application
specific ESC
sources
VHDL
Verilog
Schematic
Production
FPGA
FPGA
Download
utility
FPGA
FPGA configuration file
bit-
stream
(OpenCore Plus)
FPGA
(OpenCore Plus)
IP Core
installation
encrypted
VHDL
Customer
License file (eval)
MAC ID
Dongle
or
Vendor
ID
JTAG
tethered
(else timebomb)
Vendor ID
package
1.8 Design flow
The design flow for creating an EtherCAT Slave Controller based on the EtherCAT IP Core is shown
in the following picture:
Figure 3: Design flow
Slave Controller – IP Core for Altera FPGAs III-13
Overview
1.9 OpenCore Plus Evaluation
The EtherCAT IP Core for Altera FPGAs supports OpenCore Plus evaluation. A special License File
with OpenCore Plus support is issued for each user, together with the IP Core Vendor ID package. For
further information on OpenCore Plus, refer to the Altera Application Note 320 “OpenCore Plus Evaluation of Megafunctions”, available from Altera (http://www.altera.com).
A design with an OpenCore Plus EtherCAT IP Core is subject to some restrictions:
Only a time limited programming file (<design_name>_time_limited.sof) for the Altera Quartus II
Programmer is generated. Other programming files (e.g., .rbf, .pof) are not generated.
For hardware testing, the ESC design has to be connected to the PC running the Altera Quartus II
Programmer using a programming adapter with a JTAG connection. The EtherCAT IP Core is fully
functional while the adapter is connected.
If the connection is interrupted, the EtherCAT IP Core will discontinue its function after
approximately 1 hour.
The OpenCore Plus version slightly increases the resource consumption of the IP Core.
The OpenCore Plus programming file must not be distributed/sold.
A vendor ID package is required for both evaluation and full license. It is recommended to use an
evaluation vendor ID (package) for evaluation, and the original vendor ID for production. The
evaluation vendor ID is beginning with “0xE.......” and ends with the original vendor ID digits.
Evaluation vendor IDs cannot pass the EtherCAT conformance tests.
OpenCore Plus Issues
Sometimes additional top-level pins appear in the OpenCore Plus design, these signals should be
grounded externally if possible. This is a Quartus OpenCore Plus integration issue, not an EtherCAT
IP Core issue. The signals will not appear if a full license is used. Additionally, do not use incremental
synthesis together with OpenCore Plus, since this was found to produce defective designs similar to
the OpenCore Plus integration issue.
Sometimes timing requirements are not met with OpenCore Plus. Experience shows that timing
violations related to the clock altera_reserved_tck can be ignored.
Upgrading to a Full License
A design using an OpenCore Plus EtherCAT IP Core does not have to be changed when upgrading to
a full license, only the full License File has to be installed instead of the OpenCore Plus License File. A
re-generation of the EtherCAT IP Core (running through the MegaWizard) and a new synthesis run is
necessary to generate the unlimited programming files.
III-14 Slave Controller – IP Core for Altera FPGAs
Overview
1.10 Simulation
A behavioral simulation model of the EtherCAT IP core is not available because of its size and
complexity. Thus, simulation of the entire EtherCAT IP Core is not supported, and the EDA Netlist
Writer cannot be used for designs which contain the EtherCAT IP Core. In most cases, simulation of
the EtherCAT IP Core is not necessary, as the IP Core was thoroughly tested and the interfaces are
standardized (Ethernet, Avalon) or simple and well described. Problems at the interface level can
often be solved with a scope shot of the interface signals.
Nevertheless, customer designs using the Avalon or AXI on-chip bus can easily be simulated using a
Bus Functional Model of the on-chip bus slave interface instead of a simulation model of the entire
EtherCAT IP Core.
From the processor’s view, the EtherCAT IP Core is a memory (or a bunch of registers). For processor
bus verification, the EtherCAT IP Core can be substituted by another IP core with Avalon/AXI slave
interface which behaves like a memory as well. The EtherCAT IP Core can be replaced for simulation
by e.g.:
Altera On-Chip Memory slave
Avalon/AXI slave created with the Qsys
Slave Controller – IP Core for Altera FPGAs III-15
Features and Registers
Feature
IP Core
Altera®
V3.0.10
IP Core
Altera®
V3.0.0-
3.0.9
EtherCAT Ports
1-3
1-3
Permanent ports
1-3
1-3
Optional Bridge port 3 (EBUS or
MII)
-
-
EBUS ports
-
-
MII ports
0-3
0-3
RMII ports
0-2
0-2
RGMII ports
0-3
0-3
Port 0
x
x
Ports 0, 1
x x Ports 0, 1, 2
x
x
Ports 0, 1, 3
-
-
Ports 0, 1, 2, 3
-
-
EtherCAT mode
Direct
Direct
Slave Category
Full Slave
Full Slave
Position addressing
x x Node addressing
x
x
Logical addressing
x
x
Broadcast addressing
x
x
Physical Layer General Features
FIFO Size configurable
(0x0100[18:16])
x
x
FIFO Size default from SII
EEPROM
x
x
Auto-Forwarder checks CRC and
SOF
x
x
Forwarded RX Error indication,
detection and Counter
(0x0308:0x030B)
x
x
Lost Link Counter
(0x0310:0x0313)
c
c
Prevention of circulating frames
x
x
Fallback: Port 0 opens if all ports
are closed
x
x
VLAN Tag and IP/UDP support
x
x
Enhanced Link Detection per port
configurable
x
x
General Ethernet Features
(MII/RMII/RGMII)
MII Management Interface
(0x0510:0x051F)
c
c
Supported PHY Address Offsets
any
any
Individual port PHY addresses
x x Port PHY addresses readable
x x Link Polarity configurable
User logic
User logic
Enhanced Link Detection
supported
x
x
FX PHY support (native)
x
x
PHY reset out signals
x
x
Link detection using PHY signal
(LED)
x
x
MI link status and configuration
c
c
MI controllable by PDI
(0x0516:0x0517)
x
x
MI read error (0x0510.13)
x
x
MI PHY configuration update
status (0x0518.5)
x
x
MI preamble suppression
x x Additional MCLK
x
x
Gigabit PHY configuration
x
x
Gigabit PHY register 9 relaxed
check
x
x
FX PHY configuration
x x Transparent Mode
-
-
Feature
IP Core
Altera®
V3.0.10
IP Core
Altera®
V3.0.0-
3.0.9
MII Features
CLK25OUT as PHY clock source
User logic
User logic
Bootstrap TX Shift settings
c
c
Automatic TX Shift setting (with
TX_CLK)
c
c
TX Shift not necessary (PHY
TX_CLK as clock source)
-
-
FIFO size reduction steps
2
2
PDI General Features
Increased PDI performance
x
x
Extended PDI Configuration
(0x0152:0x0153)
x
x
PDI Error Counter (0x030D)
c
c
PDI Error Code (0x030E)
c
c
CPU_CLK output (10, 20, 25
MHz)
User logic
User logic
SOF, EOF, WD_TRIG and
WD_STATE independent of PDI
x
x
Available PDIs and PDI features
depending on port configuration
-
-
PDI selection at run-time (SII
EEPROM)
-
-
PDI active immediately (SII
EEPROM settings ignored)
x
x
PDI function acknowledge by
write
c
c
PDI Information register
0x014E:0x014F
c
c
Digital I/O PDI
x
x
Digital I/O width [bits]
8/16/24/32
8/16/24/32
PDI Control register value
(0x0140:0x0141)
4
4
Control/Status signals:
7 7 LATCH_IN
x x SOF
x x OUTVALID
x x WD_TRIG
x x OE_CONF
- - OE_EXT
x
x
EEPROM_
Loaded
x
x
WD_STATE
x
x
EOF
x
x
Granularity of direction
configuration [bits]
8 8 Bidirectional mode
- (User
logic)
- (User
logic)
Output high-Z if WD expired
User logic
User logic
Output 0 if WD expired
x
x
Output with EOF
x
x
Output with DC SyncSignals
x
x
Input with SOF
x
x
Input with DC SyncSignals
x x SPI Slave PDI
x
x
Max. SPI clock [MHz]
30
30
SPI modes configurable
(0x0150[1:0])
x
x
SPI_IRQ driver configurable
(0x0150[3:2])
x
x
SPI_SEL polarity configurable
(0x0150.4)
x
x
Data out sample mode
configurable (0x0150.5)
x
x
Busy signaling
-
-
2 Features and Registers
2.1 Features
Table 7: IP Core Feature Details
III-16 Slave Controller – IP Core for Altera FPGAs
Features and Registers
Feature
IP Core
Altera®
V3.0.10
IP Core
Altera®
V3.0.0-
3.0.9
Wait State byte(s)
x
x
Number of address extension
byte(s)
any
any
2/4 Byte SPI master support
x
x
Extended error detection (read
busy violation)
x
x
SPI_IRQ delay
x
x
Status indication
x
x
EEPROM_
Loaded signal
x
x
Asynchronous µController PDI
8/16 bit
8/16 bit
Extended µC configuration bits
0x0150[7:4], 0x0152:0x0153
x
x
ADR[15:13] available (000b if not
available)
x
x
EEPROM_Loaded signal
x
x
RD polarity configurable
(0x0150.7)
-
-
Read BUSY delay (0x0152.0)
x
x
Write after first edge (0x0152.2)
x
x
Synchronous µController PDI
-
-
On-Chip Bus PDI
x
x
Avalon®
x
x
OPB®
- - PLB v4.6®
-
-
AXI3TM
x
x
AXI4TM
- - AXI4 LITETM
-
-
Bus clock [MHz] (N=1,2,3,…)
any
any
Data bus width [bits]
8/16/32/64
8/16/32/64
Prefetch cycles
1
1
DC SyncSignals available directly
and as IRQ
x
x
Bus clock multiplier in register
0x0150[6:0]
x
x
EEPROM_
Loaded signal
x
x
EtherCAT Bridge (port 3, EBUS/MII)
-
-
General Purpose I/O
x
x
GPO bits
0/8/16/
32/64
0/8/16/
32/64
GPI bits
0/8/16/
32/64
0/8/16/
32/64
GPIO available independent of
PDI or port configuration
x
x
GPIO available without PDI
x
x
Concurrent access to GPO by
ECAT and PDI
x
x
ESC Information
Basic Information
(0x0000:0x0006)
x
x
Port Descriptor (0x0007)
x
x
ESC Features supported
(0x0008:0x0009)
x
x
Extended ESC Feature
Availability in User RAM (0x0F80
ff.)
x
x
Write Protection (0x0020:0x0031)
c
c
Data Link Layer Features
ECAT Reset (0x0040)
c c PDI Reset (0x0041)
c
c
ESC DL Control (0x0100:0x0103)
bytes
4
4
EtherCAT only mode (0x0100.0)
x
x
Temporary loop control
(0x0100.1)
x
x
FIFO Size configurable
(0x0100[18:16])
x
x
Configured Station Address
(0x0010:0x0011)
x
x
Configured Station Alias
(0x0100.24, 0x0012:0x0013)
x
x
Feature
IP Core
Altera®
V3.0.10
IP Core
Altera®
V3.0.0-
3.0.9
Physical Read/Write Offset
(0x0108:0x0109)
c
c
Application Layer Features
Extended AL Control/Status bits
(0x0120[15:5], 0x0130[15:5])
x
x
AL Status Emulation (0x0140.8)
x
x
AL Status Code (0x0134:0x0135)
c c Interrupts
ECAT Event Mask
(0x0200:0x0201)
x
x
AL Event Mask (0x0204:0x0207)
c
c
ECAT Event Request
(0x0210:0x0211)
x
x
AL Event Request
(0x0220:0x0223)
x
x
SyncManager activation changed
(0x0220.4)
x
x
SyncManager watchdog
expiration (0x0220.6)
x
x
Error Counters
RX Error Counter
(0x0300:0x0307)
x
x
Forwarded RX Error Counter
(0x0308:0x030B)
x
x
ECAT Processing Unit Error
Counter (0x030C)
c
c
PDI Error Counter (0x030D)
c
c
Lost Link Counter
(0x0310:0x0313)
c
c
Watchdog
Watchdog Divider configurable
(0x0400:0x0401)
c
c
Watchdog Process Data
x x Watchdog PDI
x
x
Watchdog Counter Process Data
(0x0442)
x
x
Watchdog Counter PDI (0x0443)
x x SII EEPROM Interface (0x0500:0x050F)
EEPROM sizes supported
1 Kbyte-
4 Mbyte
1 Kbyte-
4 Mbyte
EEPROM size reflected in
0x0502.7
x
x
EEPROM controllable by PDI
x
x
EEPROM Emulation by PDI
c
c
EEPROM Emulation CRC error
0x0502[11] PDI writable
x
-
Read data bytes (0x0502.6)
4
4
Internal Pull-Ups for
EEPROM_CLK and
EEPROM_DATA
User logic
User logic
FMMUs
0-8
0-8
Bit-oriented operation
x
x
SyncManagers
0-8
0-8
Watchdog trigger generation for 1
Byte Mailbox configuration
independent of reading access
x
x
SyncManager Event Times
(+0x8[7:6])
c
c
Buffer state (+0x5[7:6])
x
x
Distributed Clocks
c
c
Width
32/64
32/64
Sync/Latch signals
4
(0-2 Sync-
Signals,
0- 2
Latch-
Signals)
4
(0-2 Sync-
Signals,
0- 2
Latch-
Signals)
SyncManager Event Times
(0x09F0:0x09FF)
c
c
DC Receive Times
c
c
DC Time Loop Control
controllable by PDI
c
c
DC activation by EEPROM
(0x0140[11:10])
-
-
Slave Controller – IP Core for Altera FPGAs III-17
Features and Registers
Feature
IP Core
Altera®
V3.0.10
IP Core
Altera®
V3.0.0-
3.0.9
Propagation delay measurement
with traffic (BWR/FPWR 0x900
detected at each port)
x
x
LatchSignal state in Latch Status
register (0x09AE:0x09AF)
x
x
SyncSignal Auto-Activation
(0x0981.3)
x
x
SyncSignal 32 or 64 bit Start
Time (0x0981.4)
x
x
SyncSignal Late Activation
(0x0981[6:5])
x
x
SyncSignal debug pulse
(0x0981.7)
x
x
SyncSignal Activation State
0x0984)
x
x
Reset filters after writing filter
depth
x
x
ESC Specific Registers
(0x0E00:0x0EFF)
Product and Vendor ID
x
x
POR Values
-
-
FPGA Update (online)
-
-
Process RAM and User RAM
Process RAM (0x1000 ff.) [Kbyte]
0-60
0-60
User RAM (0x0F80:0x0FFF)
x
x
Extended ESC Feature
Availability in User RAM
x
x
Additional EEPROMs
1-2
1-2
SII EEPROM (I²C)
c
(EEPROM
of µC
used)
c
(EEPROM
of µC
used)
FPGA configuration EEPROM
x
x
LED Signals
RUN LED
c c RUN LED override
c c Link/Activity(x) LED per port
x x PERR(x) LED per port
- - Device ERR LED
c c STATE_RUN LED
c
c
Optional LED states
RUN LED: Bootstrap
x
x
RUN LED: Booting
c
c
RUN LED: Device identification
c
c
RUN LED: loading SII EEPROM
c
c
Error LED: SII EEPROM loading
error
c
c
Error LED: Invalid hardware
configuration
-
-
Error LED: Process data
watchdog timeout
c
c
Error LED: PDI watchdog timeout
c
c
Link/Activity: local auto-
negotiation error
-
-
Feature
IP Core
Altera®
V3.0.10
IP Core
Altera®
V3.0.0-
3.0.9
Link/Activity: remote auto-
negotiation error
-
-
Link/Activity: unknown PHY auto-
negotiation error
-
-
LED test
c cClock supply
Crystal
-
-
Crystal oscillator
x
x
TX_CLK from PHY
x x 25ppm clock source accuracy
x
x
Internal PLL
User logic
User logic
Power Supply Voltages
FPGA
dep.
FPGA
dep.
I/O Voltage
FPGA
dep.
FPGA
dep.
Core Voltage
FPGA
dep.
FPGA
dep.
Internal LDOs
-
-
Package
FPGA
dep.
FPGA
dep.
Original Release date
1/2015
3/2013
Configuration and Pinout calculator
(XLS)
-
-
Register Configuration
individual
individual
Complete IP Core evaluation
x
x
License device required
-
-
Example designs/
pre-synthesized time-limited evaluation
core included
4/4
6/6
FB1120 Digital I/O
- - FB1120 SPI
-
-
FB1122 Digital I/O
-
x/x
FB1122 SPI
-
x/x
DBC2C20 Digital I/O
-
-
DBC2C20 NIOS®
-
-
DBC3C40 Digital I/O
x/x
x/x
DBC3C40 NIOS
-
-
DBC4CE55 NIOS
x/x
x/x
DE2-115 NIOS MII
x/x
x/x
DE2-115 NIOS RGMII
x/x
x/x
Symbol
Description
x
available
-
not available
c
configurable
User logic
Functionality can be added by user logic inside the FPGA
red
Feature changed in this version
Table 8: Legend
III-18 Slave Controller – IP Core for Altera FPGAs
Loading...
+ 111 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.