Skip to content

Changes and Fixed Issues in VisualApplets 3.3.0#

Discontinuation of Windows 7 and 32-bit Windows#

  • Windows 7 and 32-bit Windows systems are no longer supported. Use previous versions of VisualApplets, if Windows 7 support or support for 32-bit Windows versions is required.

Design Rules Check#

  • A check is now available that detects when operators might cause deadlock because asynchronous inputs are connected to the same O-type network. This affects the operators FrameBufferRandomRead, LineMemoryRandomRd, InsertImage, and InsertLine. Now, a warning is issued when a possible deadlock might occur. (Ticket ID: 7735)

Simulation#

  • The handling of images in simulation probes concerning color images which exceed 48 bit has been fixed. Before, crashes of VisualApplets or invalid display content could occur. (Ticket ID: 9826)
  • The display of pixel values has been fixed in the Simulation Probe Viewer so the brightest color is close to white. Prior to fixing this issue, the bit width did not use the whole range of available gray scales for pixel component bit width of 2, 3, or 4. This has been fixed. (Ticket ID: 7371)
  • A warning is now issued when images used in a simulation have been deleted from the hard disk, are invalid or cannot be read. (Ticket ID: 7921)
  • The File View mode of simulation probes has been fixed. Prior to fixing this issue, in the Simulation Probe Viewer pane Display Alignment, the entries Display and Shown Values were not displayed correctly, when the File View option was selected. In this case, Display and Shown Values in pixel grid and properties window did not match the destination file format properties as defined in the Save Options panel. This has been fixed. Now, the pixel grid and properties window match the data for saving to file according to the file format properties as defined in the Save Options panel. (Ticket ID: 7738)
  • Pixel value interpretation in the Simulation Probe Viewer has been extended. Now, values may be shown as fixed-point numbers with a given number of fractional bits. Additionally, values may be scaled by an arbitrary number. (Ticket ID: 9811)
  • A possible crash of VisualApplets when simulating custom operators has been fixed. Prior to fixing this issue, simulating a design that contains custom operators worked fine the first time, but opening the simulation dialog a second time resulted in a crash. This has been fixed. (Ticket ID: 9883)
  • The check box Signed in the Simulation Probe Viewer is now set automatically when attaching a simulation probe to a link or changing the format of a link with a connected simulation probe. Whether the check box Signed is checked or cleared, depends on the link data. Before, this check box had to be set manually. However, you can still check or clear the check box manually. (Ticket ID: 9273)

Operators#

Across Libraries#

  • The operators CONST, ClipHigh, ClipLow, GetStatus and FIRkernelNxM have been extended so that they now support 64-bit signed/unsigned. (Ticket ID: Ticket ID: 9858)

Library Accumulator#

Operator ModuloCount#

  • The operator ModuloCount has been extended. It now supports variable line length and simulations for values larger than 32 Bit. (Ticket ID: 2695)

Library Arithmetics#

Operator ADD#

  • The operator ADD has been optimized to use less resources in certain corner cases, e.g. 3x1 Bit or 5x2 Bit. (Ticket ID: 7455)

Library Base#

Operator CONST#

  • The operator CONST has been changed so the type of the parameter Value matches the arithmetic type of the output link (signed or unsigned). CONST can now be used for setting output values for links with 64 bit unsigned pixels.(Ticket ID: 8474)

Operator SelectROI#

  • The operator SelectROI has been changed. Prior to fixing this issue, the operator SelectROI appended an empty line to the ROI image when the height of the ingoing frame was less than the appointed ROI height. This has been fixed. (Ticket ID: 8805)

Operator SplitParallel#

  • The operator SplitParallel had been restricted to rectangular images during simulation. This limitation was removed from simulation as it does not exist in hardware. Now, the operator can be used for images with varying line lengths. (Ticket ID: 7373)

Library Blob#

Operator Blob_Analysis_1D#

  • The operator Blob_Abalysis_1D has been changed. Prior to fixing this problem, the operator Blob_Analysis_1D did not calculate the correct values for the output bit width of the ports CenterXO and CenterYO in mode use_cX_with_maximum_required_bits and use_cY_with_maximum_required_bits. This has been fixed. (Ticket ID: 9699)
  • Calculation of the required bit width for outputs CoG_x and CoG_y is corrected. Before that, the resulting range was too low.
  • The parameter range for label bits is now limited to 31 bit. Before, that it was limited to 32 bit. (Ticket ID: 9677)
  • The parameter range for max_object_height_bits is limited to 31 bit. Before, it was limited to 64 bit. (Ticket ID: 9676)
  • The simulation has been improved to reflect the known issues documented for the operator Blob_Analysis_1D and now corresponds with the hardware behavior. (Ticket ID: 9664)
  • During simulation, objects are now flushed based on Y1, as it is done also in the hardware. Before, Y0 was considered for flush condition. (Ticket ID: 9663)

Operator Blob_Analysis_2D#

  • The parameter range for label bits is now limited to 31. Before, that it was limited to 32. (Ticket ID: 9678)

Library Color#

Operator ColorTransform#

  • Prior to fixing this issue, netlist generation failed for certain cases when the operator ColorTansform was used with static coefficients. This has been fixed. (Ticket ID: 9085)

Library Debugging#

Operator ImageInjector#

  • Using an ImageInjector with an empty ImageFile parameter resulted in a crash during loading the resulting hardware applet. This has been fixed. (Ticket ID: 9781)
  • The handling of 16-bit TIFF files in the operator ImageInjector has been fixed. Prior to fixing this issue, when the operator ImageInjector was used during runtime for an 8-bit link and 16-bit data was found in the TIFF, the injection did not use the 8 MSBits. Instead, a 16-bit pixel from TIFF was converted into 2x8 bit pixels in runtime. This has been fixed. (Ticket ID: 8904)
  • The operator ImageInjector has been extended: It now has a new parameter EnableInsertModes to enable insert modes INSERT_AFTER_EOF and INSERT_AFTER_EOL. If the parameter is enabled, the operator behaves as M-type, else it is of type P. (Ticket ID: 9804)

Operator ImageMonitor#

  • The operator ImageMonitor has been fixed. Prior to fixing this issue, the operator sometimes did not capture the first data word of an incoming data stream. This resulted in missing leading pixels (equal to the parallelism) when reading out the monitoring data. This has been fixed. (Ticket ID: 9852)
  • The operator ImageMonitor has been fixed. Prior to fixing this issue, the operator did not take the parallelism into account so the x position was reported in the wrong way for parallelism > 1. This has been fixed. (Ticket ID: 9854)

Operators ImageInjector and ImageMonitor#

  • Prior to fixing this issue, an error occurred during netlist generation when using the operators ImageInjector and ImageMonitor in 1D mode. This has been fixed. (Ticket ID: 7728)

Operator ImageStatistics#

  • The operator ImageStatistics has been changed. Prior to fixing this issue, the operator ImageStatistics caused a DRC2 error for certain numbers of FrameCountWidth. This has been fixed. (Ticket ID: 9721, 9853)
  • Added support for kernels for the operator ImageStatistics. (Ticket ID: 7715)
  • The operator ImageStatistics has been extended. It now contains an additional parameter LineCountWidth for adjusting the resolution for measuring statistics information. Additionally, a new bit in the parameter OverflowMask has been added for indicating an overflow of this measurement. (Ticket ID: 9723)

Operator ImageTimingGenerator#

  • The operator ImageTimingGenerator has been improved for simulation. Now, the operator takes the parameters for generating image sequences into account. (Ticket ID: 9634)

Operator StreamAnalyzer#

  • The operator StreamAnalyzer has been extended: It now contains an additional parameter OverflowMask, which indicates whether a counter ran into overflow during analysis. (Ticket ID: 9464)

Library Filter#

Operator FIRkernelNxM#

  • The operator FIRkernelNxM has been modified for handling signed pixel formats. Now, if the pixel arithmetic type is signed and the color format is VAF_GRAY, the module parameter Constant is a signed integer. Note that converting designs from previous versions of VisualApplets may require changing the parameter value of Constant. The previous method of providing two's complement numbers of negative values now shows up as an error. (Ticket ID: 9857)

Operator PixelNeighbours1xM#

  • The operator PixelNeighbours1xM has been changed. Prior to fixing this issue, when you set the kernel size of the operator PixelNeighbours1xM higher than 30, an error message "Internal error" occurred in Design Rules Check (DRC) level 2. This has been fixed. (Ticket ID: 9649)

Library Logic#

Operator CASE#

  • In certain situations no FPGA resources were estimated for the operator CASE. This has been fixed. (Ticket ID: 9902)

Library Memory#

Operator RamLUT#

  • Prior to fixing this issue, VisualApplets might have crashed during simulation when changing the input bit width of the operator RamLUT between subsequent simulation runs. This happened, because of a memory leak. This has been fixed. Now, a clean-up function cleans the memory content. (Ticket ID: 9917)

Operator ImageBuffer#

  • The operator ImageBuffer has been extended. It now supports variable line lengths. (Ticket ID: 8770)

Library Parameters#

  • Operators of the library Parameters now take into account if target parameters may not be altered during acquisition. Prior to fixing this issue, it was not possible, to change the parameters themselves during acquisition, however a parameter reference could still cause a value change, although the change was then not handed over to the hardware. This has been fixed. Now, during acquisition phase, parameters cannot be altered anymore by reference parameters for the blocked modules. (Ticket ID: 9496)
  • You can now change the order of parameters in hierarchical boxes. Such parameters are either created by adding metadata or using operators of the library Parameters where the fields DisplayName and DisplayHierarchy are set. For hierarchical boxes which contain reference parameters, the Module Properties dialog now shows arrow up and arrow down buttons which may be used to rearrange the parameter order. (Ticket ID: 8408)

Library Synchronization#

Operator CreateBlankImage#

  • The operator CreateBlankImage has been extended with an option for simulating several frames in one simulation step. You can now adjust the number of frames to simulate in 2D-mode via the operator parameter FramesToSimulate. (Ticket ID: 4519)

Operator AppendLine#

  • The operator AppendLine has been changed regarding the value range of the parameter AppendNumber. For 2D images the range is now limited to the max. image height at input I. For 1D images the range is now limited to the max. image width at output O divided by the parallelism. This limitation is so, because this limit is the max. number of minimal length lines which may be appended and still fits into an output line with max. length. (Ticket ID: 8005)

Operator PixelToImage#

  • Prior to fixing this issue, during simulation the operator PixelToImage discarded all data from input "I" and input "Sample" and produced no data. This has been fixed. Now, the operator PixelToImage discards "I" and produces output data according to the dimension of "Sample" with values defined by parameter SimulationPixelValue. (Ticket ID: 7708)

Library Transformation#

Operator FFT#

  • Prior to fixing this issue, in the operator FFT it was possible to set the parameter LineLength to Static although this mode is not supported and would result in a possible malfunction at runtime. This has been fixed. Now, the parameter LineLength is Dynamic-only. (Ticket ID: 9891)

SDK#

  • There is a new, additional check box in the build settings dialog with which you can switch on and off automatic generation of SDK example after build flow. (Ticket ID: 8366)

Tcl (Expert Feature)#

  • The behavior of the Tcl commands DisconnectModules, CreateModule, Rename, and DeleteModule has been changed. Prior to fixing this issue, the behavior of the commands differed from the equivalent actions triggered by user input in the GUI concerning update of the design status. This has been fixed. Now, the Tcl commands and the GUI actions behave consistently. (Ticket ID: 8231)
  • The Tcl command GetModuleProperty has been extended so that a module name can be queried via the keyword name. (Ticket ID: 9729)
  • Added new Tcl scripting command SetModuleParamProperty. This command may be used for setting parameter properties like access mode. This command may substitute the previous command SetModuleParamType and offers access to further properties like the position of a reference parameter of a hierarchical box. (Ticket ID: 9702)
  • You can compare simulation results of the simulation probes via the Tcl command GetSimImageData. Prior to fixing this issue, GetSimImageData returned random results for images with differing line lengths. This meant that you could not compare different probes with the same content. This has been fixed. Now, GetSimImageData returns 0 as value when data from undefined regions of a simulation result are queried. (Ticket ID: 9640)
  • Extended the Tcl command ChangePlatform so that a list of available hardware platforms may be queried. (Ticket ID: 9548)

Embedded VisualApplets#

  • In eVA Designer, an option was added to use Vivado design checkpoint files for the top-level netlist. (Ticket ID: 9802)

Miscellaneous#

  • The third-party libraries for accessing the Wibu CodeMeter license dongle have been updated to version 7.20. This improves the compatibility with other programs which also use CodeMeter for licensing. (Ticket ID: 5718)
  • Handling of configuration files has been improved when installing VisualApplets with Current User. Prior to fixing this issue, VisualApplets did not work properly when starting it with a different user account than the one used during installation of VisualApplets. This has been fixed. (Ticket ID: 7353)
  • Improved handling of changing link properties in a chain across hierarchies. Prior to fixing this issue, VisualApplets might have crashed when changing link properties in a chain across hierarchies while a Link Properties dialog for one link of this chain was open. This has been fixed. (Ticket ID: 9259)
  • Calling microDisplay has been changed. You can now open new versions of microDisplay via the menu Tools -> microDisplay (F5). The microDisplayX.exe of the runtime version, which is shown in the Project Info window, is then started when available. For older runtime versions which do not contain microDisplayX.exe, the legacy program microDisplay.exe is started. If several runtime versions are installed, the used version is determined by the environment variable RUNTIME5. Prior to fixing this issue, if several runtime versions were installed, the legacy program microDisplay.exe of the last installed runtime software was called. This has been fixed. (Ticket ID: 9850)
  • Exporting some designs from marathon or ironman platform resulted in a Tcl script which caused errors during importing, in particular at the step setting the parameters of the output link after a camera operator. The reason was that the code for setting the link and the module parameters was created in wrong order, i.e. it was required to set camera module parameters first, then link parameters. This has been fixed. (Ticket ID: 7773)
  • Applets for the platforms mE5-MA-VCL and mE5-MA-VCLx can now be built with Vivado 2020.2. Prior to fixing this issue, building applets for the platforms mE5-MA-VCL and mE5-MA-VCLx with Vivado 2020.2 led to an error message and the build was aborted. This has been fixed. (Ticket ID: 9848)
  • Prior to fixing this issue, when converting designs from an Ironman to a Marathon platform, links to CameraControl modules were disconnected. This has been fixed. (Ticket ID: 6636)
  • Fixed the command line parameter interpretation when calling VisualApplets with parameter -compile. Before, the provided .hap file path was ignored and the default path was used for output. (Ticket ID: 9916)
  • Prior to fixing this issue, VisualApplets might have crashed when removing a hierarchical box that contained reference parameters from modules which were not located inside this hierarchical box. This has been fixed. (Ticket ID: 9454)
  • Prior to fixing this issue, netlist generation during DRC2 sometimes led to a crash of Windows. This happened, when a large design was consuming the complete memory. This has been fixed. Now, DRC2 provides a Cancel button. Cancelling may prevent a crash of Windows when all available memory is consumed. (Ticket ID: 9736)