This page lists all the changes and enhancements, fixed bugs and known issues in the various releases of Spectra IP Core ORB.
Known Issues in ICO 2.3.2
- System exceptions cannot be generated by servants or received by clients.
- Standard operations support is not incorporated into the loopback mechanism. This means that an ICO client cannot call
non_existent on an ICO server.
- A server must implement at least one method, either in one of the interfaces specified or in an inherited interface. A specification for a server that consists only of interfaces with attributes will be ignored.
- Enums, array definitions (in fact, aliases in general), constants and user-exceptions defined at the root level of a repository are ignored. Enums, arrays, constants and user-exceptions that are required for the compilation must be within modules / interfaces.
Changes and Enhancements in ICO
- Spectrum Signal quicComm Transport Endpoint Manager support added.
- Optimised marshalling support for sequences of struct containing two short values. This processes both short values in the same clock cycle.
- Support for array parameters added.
- User code moved to a new generated package containing procedures for each parameter. GPIO terminology replaced by User I/O.
- Xilinx support added. Simulation examples now support ISim.
- New AM, audio capture and bitmap LCD synthesis examples added.
- Ethernet based synthesis examples now have ARP support.
- New “net” package introduced to simply ethernet transport deployment.
- Generated sequence handling code now uses a simplified, stack based, mechanism. This has removed the use of length registers per sequence. As a consequence the compiler option “-reusecounters” is redundant and has been removed.
- The compiler now generates packages for the root-level of each IDL file specified, not just for each module and interface within the IDL. In addition, empty packages are not generated.
- The new compiler options now allows the user to specify the endian for the receive and transmit bridges.
- A “-sysexc” option has been added, allowing servers to raise and clients to receive system exceptions.
- The compiler will now only report as errors unimplemented aspects of IDL (such as arrays and unions) when these aspects are used in operations implemented by the clients and/or servers.
- CORBA Naming Service client example added.
- Enhanced SCA example.
- Perfect hash generator utility has been added.
- Support for outgoing CORBA requests from ICO clients.
- Support for the CORBA Any type has been added. The Any may contain primitive values or strings.
- New client and SCA Resource examples have been added to the examples/simulation directory.
- Support for Altera Arria II FPGA added.
- Added configurable endian for output bridge.
- Changed output bridge object key data timing so that object key data can be provided by a separate component.
- Added support for identical operation names on different interfaces.
- User Guide revisions.
- Description of generated entity signals added to User Guide.
- One way outgoing client side support has been added. This enables a client on the FPGA to make a GIOP request to external CORBA server.
- Two new simualation examples have been added. The “back_to_back” example demonstrates a one way GIOP request between a client in one TLE and a server in another TLE. The “oneway_client” example demonstrates how to select endpoints for outgoing requests.
- Additional timing information added to user guide.
- The ICO core files are now in an ico_lib library instead of the default work library.
- The input and output metadata index widths have been increased to 12 bits, allowing for more complex IDL files to be compiled.
- The standardops.vhd file is now part of the ICO core and is found in the src/core directory. It is no longer generated by the compiler.
- Entites, types and signals have been renamed to follow a consistent pattern. The general format is an initial type indicator, followed by a specific name (if appropriate) and a numeric index (if required). Types have a “type” suffix.
- The compiler no longer generates a metadata_constants_pkg.vhd file. The metadata parameters are now fixed in size.
- The compiler no longer generates a default client. If no client/server specifications are given, a default server is still generated that implements all operations in the IDL, but no default client is generated.
- The names of the default objects generated by the compiler have changed. The default server (for when no client/server specifications are given) is now called “server” rather than “default_server”; the default input and output bridges (for when no bridge specifications are given) are now called “ipb” and “opb” instead of “default_ipb” and “default_opb”.
- The compiler no longer allocates object keys for input bridges. Only clients, servers and output bridges require object keys.
- The compiler now sends its output to a file idlv.log, created in the current working directory. Only errors are displayed in the console.
- The library for the compiler output can be specified via the -library option; if not given, the default is work.
- Client/server entities no longer have a default value for the THIS generic. The top level entity will pass in the appropriate value when the client/server is instantiated.
- Client/server entities now have a GPIO output record member, continually assigned to the gpio_o port.
- Client/server entities now have the gpio_i port in their sensitivity lists.
- The generics for the output bridge have changed. The old generics lower_addr and upper_addr have been removed and have been replaced with addr and buffer_size. The addr generic is the object key for the output bridge; the buffer_size generic is set through the corresponding generic at the TLE level.
- The compiler now has an enable_objectkey switch, which (when specified) will provide object key information to the output bridges for outgoing CORBA requests.
- Added flow control mechanism to provide feedback when FIFO is nearly full.
- Added LongLong support.
- Completed connection id support.
- Added licensing.
- Test generator runs automated tests from software ORB client to ICO server.
- Added basic connection id support.
- Added an example illustrating connection id support.
- Performance benchmarks available.