October 15, 2004
Overview
The following changes are introduced in this release:
Items Specific to LightParser:
Items Specific to DPL3:
General Items:
Notes:
Version 0.6.1 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: Modified Arguments for Parser Configuration and Stream ID Functions
The arguments to cac_parse_rcv_path_config are re-arranged so that they are in a more hierarchical order. The new function prototype is:
int
cac_parse_rcv_path_config(
CAC_HANDLE *dev, /* open board resource handle */
int port, /* input port */
int path, /* SDH/PDH demux path */
int bank, /* Stream bank */
int indices[4]) /* Tributary branch and source indices */
The macros for the port argument have been changed as follows:
| Old Name | New Name |
| PORT_OPT | PARSE_PORT_OPT |
| PORT_CMI | PARSE_PORT_CMI |
| PORT_VRDI | PARSE_PORT_VRDI |
| PORT_QUADE3 | PARSE_PORT_QUADE3 |
| PORT_F2F | PARSE_PORT_F2F |
A new port macro, PARSE_PORT_AS_SET, when used as a modifier (e.g. PARSE_PORT_OPT | PARSE_PORT_AS_SET) suppresses setting the parser source. This may be used when the parser configuration requires multiple calls to cac_parse_rcv_path_config for the same port - the parser source only needs to be set by one of the calls.
In addition, the use of the indices argument is modified such that the first index value specifies the source number. In the case of STM1 or E4 input signals, it should be 0 (future products supported by the API will provide more than one STM1 source per port). In the case of the Quad-E3 port the first index specifies one of the four channels with values from 0 though 3.
The cac_parse_path_to_streamid and cac_parse_payload_to_streamid are modified to remove the src argument. For cac_parse_path_to_streamid the source is now specified in the value of the first index, as for cac_parse_rcv_path_config.
For the cac_parse_payload_to_streamid function the source value was only used for payloads from the Quad port. For these payloads the range of the stream number, num argument, now spans all four channels of the port. For example the E1 stream numbers for the four channels are:
| Quad Port Channel   | Stream IDs |
| 0 | 0 through 15 |
| 1 | 16 through 31 |
| 2 | 32 through 47 |
| 3 | 48 through 63 |
The macros for the Quad-E3 payload types have been renamed to convey this expanded stream numbering as follows:
| Old Name | New Name |
| PAYLOAD_QUAD_1_E3 | PAYLOAD_QUAD_4_E3 |
| PAYLOAD_QUAD_4_E2 | PAYLOAD_QUAD_16_E2 |
| PAYLOAD_QUAD_16_E1 | PAYLOAD_QUAD_64_E1 |
| PAYLOAD_QUAD_1_DS3 | PAYLOAD_QUAD_4_DS3 |
| PAYLOAD_QUAD_3_DS2 | PAYLOAD_QUAD_21_DS2 |
| PAYLOAD_QUAD_28_DS1 | PAYLOAD_QUAD_84_DS1 |
New Function for Selecting Parser Source
The new function includes an argument to specify the stream ID offset for bank 1 streams. The value of the offset depends on the incoming stream level. Values for both the offset and source arguments can be determined using the cac_get_parser_source function.
New Functions for Controlling E3 and E4 Merge
| cac_parse_reset_mrg | cac_parse_set_mrg_bank |
| cac_parse_clear_mrg | cac_parse_print_mrg_setting |
| cac_parse_set_mrg_src | cac_parse_disable_mrg_src |
LightParser: Bug Fixes and Changes in Parser Configuration Functions
LightParser: Fixed Stream ID Gapping for Some Stream Types
The streams type affected are DS1, DS2 and DS3 streams from the Quad port, all level 2 and 3 streams (DS2, DS3, E2, E3, C2 and C3) that are tributaries or extracted from VC3 and TUG3 containers.
LightParser: Additional Level 3 Stream IDs Implemented
LightParser: Modifications for Clock Selection
Specifically, cac_if_set_refclk no longer resets the 39 MHz clock DCM in the Virtex FPGA and dplp_init no longer resets the 77 MHz clock DLL in the Spartan FPGA.
Both of these changes have either reduced or eliminated problems that can lead to system failure. Further testing and investigation is being done to determine that the problems are completely eliminated and that there are no side effects caused by these changes.
LightParser: Modifications for Hardware Buffer Synchronization
LightParser: Development of DS1 and DS3 Support
The cac_parse_rcv_path_config function supports the following SDH parser paths:
| PATH_STM1_TUG3_DS3 | Parse STM-1 to VC-4 to 3 TUG-3s to 3 raw DS3s |
| PATH_STM1_TUG3_TUG2_DS1 | Parse STM-1 to VC-4 to 3 TUG-3s to 7 TUG-2s to 84 raw DS1s |
| PATH_STM1_VC3_DS3 | Parse STM-1 to 3 VC-3s to 3 raw DS3s |
The cac_parse_rcv_stream_status function includes support for the related stream types (using the STREAM_STAT_DS3, STREAM_STAT_DS2, STREAM_STAT_DS1 and STREAM_STAT_VC2 macros). However, not all the actual status indicators are implemented in the hardware.
New functions for low-level parser configuration include:
| cac_parse_tug3_one_tug2_vc11 |
| cac_parse_tug3_all_vc11 |
| cac_parse_lovc_one_ds1 |
| cac_parse_lovc_all_ds1 |
Fixed Timeout Computation in Device Driver
The problem used to cause the timeout to be too short for channels with a latency larger than approximately 4290000 bytes.
The dplp_init program is modified as described in "clock selection".
Modified Demonstration Programs
The dplp_streamstat program includes support for all of the planned DS1 parse paths, although not all are supported or working in the API and hardware. The program is also modified to use the new cac_parse_rcv_path_config function instead of the old parser configuration functions.
The dplp_cfg_interactive program has new and modified commands to support partial configuration for mixed payloads.
Some other LightParser demonstration programs are modified as necessary for changes in API functions but are not functionally different.
Changes to FPGA Configurations
The logic for the Virtex buffer interface is modified to clear the transaction queue when the interface is disabled.
The LightParser Virtex FPGA includes the following changes:
Logic is fixed and added for proper generation of E3 stream IDs in bank 1.
Component Versions for This Release
The component versions for DPL3 and LightParser Software Release 0.6.1 are:
| Component: | Version: |
| API Library and Programs | 0.6.1 |
| Solaris Device Driver | 0.6.1 |
| Linux Device Driver | 0.6.1 |
| LightParser Spartan FPGA Configuration | 0.6.3 |
| LightParser Virtex FPGA Configuration | 0.6.2 |
| DPL3 Main FPGA Configuration | 0.6.0 |
| DPL3 Expansion FPGA Configurations | |
| E3 G751 E1 variation | 0.6.0 |
| E3 G832 Bulk variation | 0.6.0 |
| DS3 T1 variation | 0.6.0 |
| Generic variation | 0.6.0 |
The software changes for clock reference selection appear to resolve recently identified problems that can cause system failure. It has not yet been determined if the problems are completely eliminated. See "clock selection" for more information.Raw DS1 extraction from TUG2 containers is not yet working properly.
A problem in the Main FPGA configuration occasionally leaves the board in state which causes transmit channels to timeout on one or or more framers. This situation occurs primarily when the board is initialized and primarily affects the virtual L1 transmit streams. The only work-around is to reinitialize the board using the dpl_init program with its -M option.ESF framing is not yet supported for DS1 extraction from DS3 input.