January 20, 2005
Overview
The following changes are introduced in this release:
Items Specific to LightParser:
Items Specific to DPL3:
General Items:
Notes:
Version 0.7.0 is a beta release of the Channelization API for DPL3 and LightParser Boards. This release does not represent the intended final production release. Some aspects of the application program interface (API) are subject to change as the software development continues to meet design requirements and usability issues.
LightParser: Initial Implementation of ATM Support
The ATM cells received by host applications are blocks of 64 bytes containing:
SDH signal parsing and ATM cell extraction and filtration are done in the Virtex FPGA using a configuration that is separate and distinct from the standard SDH / PDH parsing configuration. Enhancements to the dplp_flashup program provide the means of controlling which Virtex configuration is loaded into each particular board. Support for customer designed ATM filter mezzanine logic is underway and will be included in a future release.
Software changes provide support for bulk ATM channels and an ATM service thread in the device driver which separates ATM cells based on the source and filter ID tags and makes the individually filtered cell streams available to ATM client channels opened by user applications.
New API functions provide the means of configuring the ATM cell filter, controlling the ATM service and opening ATM client channels. Modifications to existing API functions extend their functionality for supporting the ATM parser configuration and channel IO operations.
Some of the library functions for configuring the ATM filter are not yet included in the API. Example code for these operations and sample programs are found in a directory named ATM_info, which is temporarily included in the software distribution archive.
Support for the ATM service device driver thread is currently not available for Solaris.
LightParser: Added Missing SDH Parse Path to the API
LightParser: Added Local Loopback Control for the Quad E3/T3 Port
DPL3: Implemented ESF Multi-Frame Mode for Embedded, Receive DS1 Streams
The dpl_init and dpl_framercfg programs configure the virtual DS1 framing logic for D4 multi-frame by default (for DS3 payload configurations). The dpl_framercfg program can be told to configure the DS1 extraction to use ESF multi-frame.
The DS1 multi-frame mode (either D4 or ESF) is controlled via API functions cac_l3_set_mode and cac_l3_init. When the mode or l3_opts argument to these functions include the bit defined as L3_DS1_ESF the DS1 framing logic in the FPGA is set to use ESF mode. Otherwise it is set for D4 multi-frame mode. This controls the multi-frame mode used when searching for synchronization in the DS1 streams embedded in a DS3 and when generating the multi-frame for outgoing DS1 streams multiplexed up to DS3.
Note that ESF multi-frame does not yet work properly for transmitted DS1 streams that are multiplexed up to DS3. ESF does work for both receive and transmit DS1 streams using the Comet framers.
DPL3: Added Bulk DS1 Channel Mode
Future enhancements may include multi-frame and non-aligned frame markers making it easier for host applications to extract signaling data from DS1 streams.
This mode is only available with the cac_chanopen_stream function by specifying the modes argument as CAC_CHAN_MODE_DS1_BULK | CAC_CHAN_MODE_DS1_RCV.
DPL3: Resolved Initialization Problems
Most of these problems have been resolved through a combination of modifications to FPGA logic and changes in software that initializes or configures the board.
One problem that remains appears on rare occurrences after the Expansion FPGA is configured. The problem is failure of the framing logic for the E1 or DS1 streams de-multiplexed from E3 or DS3. The failure is eliminated by reconfiguring the Expansion FPGA using the dpl_init program with the -E@ or -R option.
Important: Update for Programming Xilinx Proms
The new Xilinx Proms have different timing requirements for programming which require new configuration files and software. They cannot be safely programmed using the software and configuration files distributed with previous DPL3 and LightParser software releases. The new versions of the software (dplp_flashup and dpl_flashup programs) include a compatibility check of the board's Xilinx Prom type and the configuration data file. But previous software versions do not have this check. The older boards are compatible with both the old and new software and configuration files.
Attempting to load XSVF configuration files on the newer DPL3 or LightParser boards with configuration file versions below 0.7.1 or using software prior to release 0.7.0 could result in the configuration information being lost and the board will no longer function. If this occurs, it will be necessary to use the Xilinx iMPACT software to restore the FPGA configuration data through a JTAG programming pod.
The affected boards (with the newer Xilinx prom) are DPL3 boards with serial numbers greater than 50100028 and LightParser boards with serial numbers greater than 14700027.
The dpl_init program includes additional changes for DPL3 boards:
The dplp_flashup, dplp_jtag, dpl_flashup and dpl_jtag programs have added checking compatibility between XSVF configuration data file and the version of the Xilinx Prom on DPL3 or LightParser boards.
The dpl_serial and dplp_serial programs are modified to include settings for the Xilinx Prom type in a new EEROM word used for storing hardware Assembly Options.
The dpl_info and dplp_info programs are modified to display the new Assembly Options.
The dplp_info program for LightParser is modified to include the Virtex FPGA configuration type for the board. Currently this will be either standard or atm.
The dplp_streams program for LightParser now includes support for configuring C-3 and C-4 transmit and ATM (bulk) receive streams. It can also display status of ATM streams and options.
The dplp_portstat program for LightParser now includes status of the Quad-E3/T3 port and is fixed to poroperly report when the CMI electrical port is the selected reference clock.
The dplp_virtexcfg program for LightParser is deprecated. The dplp_flashup and dplp_init programs are the preferred methods for loading the Virtex FPGA. It is still included in the distribution and built, for now, but its functionality is somewhat reduced. It can only be used to load a specified Virtex configuration file or reconfigure the Virtex FPGA from flash (on boards equipped with the Flash memory). It no longer searches for newer Virtex configuration file versions.
The dpl_framercfg program for DPL3 includes the following changes and additions:
The dplp_recv program is modified to support ATM bulk and client channel types. Both the dpl_recv and dplp_recv programs are modified to use the -T option to set a permanent timeout value and to add a new -Z option to specify an initial timeout value.
The dpl_chantest and dplp_chantest programs include the following changes:
The dpl_memtest and dplp_memtest programs are modified to set the exit value to 1 if any number of errors occur.
New or Modified Demonstration Programs
Example programs for configuring the SDH parser and ATM filter with the ATM version of the LightParser Virtex have not yet been integrated into the regular software distribution. They are found in a directory named ATM_info, which is temporarily included in the software distribution archive.
The
dplp_streamstat program has a new -L option which forces the reference clock to be the local clock when the parser is configured.
Changes to FPGA Configurations
The LightParser Virtex FPGA for standard SDH / PDH processing includes the following changes:
The LightParser Virtex FPGA for ATM processing includes the following changes:
The DPL3 Main FPGA includes the following changes:
The DPL3 Expansion FPGAs include the following changes:
Component Versions for This Release
The component versions for DPL3 and LightParser Software Release 0.7.0 are:
| Component: | Version: |
| API Library and Programs | 0.7.0 |
| Solaris Device Driver | 0.7.0 |
| Linux Device Driver | 0.7.0 |
| LightParser Spartan FPGA Configuration | 0.7.1 |
| LightParser Virtex FPGA Configurations | |
| Standard SDH/PDH variation | 0.7.0 |
| ATM variation | 0.7.3 |
| DPL3 Main FPGA Configuration | 0.7.2 |
| DPL3 Expansion FPGA Configurations | |
| E3 G751 E1 variation | 0.7.2 |
| DS3 T1 variation | 0.7.2 |
| E3 G832 Bulk variation | 0.7.0 |
| Generic variation | 0.7.0 |
Data corruption has been reported when recording raw, descrambled STM-1 signals that include AU3s.Using the clock extracted from the electrical (CMI) port causes some data corruption. Work-around is to use the local clock reference when receiving electrical STM-1.
The ATM version of the Virtex is not able to frame DS3 streams from SDH streams. A work-around is to route the raw DS3 streams from SDH input through the Quad-T3 port, loop the signal back in and frame the DS3s from the Quad-T3 input.
Detection of ATM client channel overflow (pointers to the bulk ATM buffer that are no longer valid) is not yet implemented in the ATM service.
ESF framing is not yet supported for transmitting DS1 streams multiplexed to the output DS3 signal.Possible failure of framing logic for embedded E1 or DS1 streams after configuration of Expansion FPGA. See the discussion of this topic in previous notes for details.