X-stream Tv Code

0 views
Skip to first unread message

Nichele Seibel

unread,
Aug 5, 2024, 5:29:52 AM8/5/24
to tidecalmors
Ihave created a customized pcell that generates layout blocks and it generates the correct layers and etc in the layout view. Unfortunately, XStream refuses to stream it out and returns error 211. Below is the error message:

ERROR (211): Pcell evaluation has failed. This is because of either a syntax error or the usage of an unsupported XStream function in Pcell SKILL code. For more information refer to the standard output or CDS.log. To continue, either specify the ignorePcellEvalFail option in Stream In/Out options or correct the Pcell SILL code.


The problem appear to be that XStream does not "see" the procedures that are defined in the pcell's SKILL code (see below for the SKILL code). I loaded the SKILL code by typing load("./MySubContact_SKill.il") in the Virtuoso/ICFB window and had the impression that the procedures (MY_ViaRepeat and MYDrawRect) were to be available for every commands thereafter. Any suggestions as to how I can solve this would be greatly appreciated. Thank you!


Create a file called libInit.il in the library where the PCell resides, in this SKILL syntax file, load the SKILL code you noted above, i.e load("./MySubContact_SKill.il") and ensure that the path to the SKILL file is correct (it will be relative to the location of the libInit.il file in the library, so perhaps you could putyour SKILL file in the library too, or perhaps symbolically link it there?


The libInit.il file provides a method to load SKILL code on demand when the library is accessed; thus it is a great way to supply code for PCells that reside in a library. This is how many PDKs load their SKILL code dependencies.


I wouldn't describe it as "simpler" - because then you'd have a problem next time you open Virtuoso and attempt to open your layout - you'll need to manually load the functions required by your SKILL code again. Having a standard loading mechanism which will work in any external program makes sense.


The stream interfaces were traditionally run in the background, and so were a separate process from the main Virtuoso session. However, in IC615 (IC614 as well), you can elect to run the stream out from virtual memory - in which case the functions will be picked up from what is in the memory of the main Virtuoso process, and hence does exactly what you're after.


No, because it will load it into memory if not already in memory. So it will work fine. The idea is that strictly speaking you don't need to have saved the design (some people don't like that though!). If it's already in memory though, it avoids it having to read it into memory again and hence doubling the memory requirements on the machine.


XStream in its default configuration has a built-in mechanism that intends to prevent instantiation of dangerous Java types. Before the vulnerability was patched, we can see that XStream defines three groups of types that should be rejected by the XML parser:


It is worth mentioning that this proof of concept exploit is blocked by tens of other existing Java code injection signatures, like a signature which detects the attempt to create a malicious process.


All versions until and including version 1.4.17 are affected, if using the version out of the box. No user is affected, who followed the recommendation to setup XStream's security framework with a whitelist limited to the minimal required types.


The processed stream at unmarshalling time contains type information to recreate the formerly written objects. XStream creates therefore new instances based on these type information. An attacker can manipulate the processed input stream and replace or inject objects, that result in execution of arbitrary code loaded from a remote server.


Recently, XStream released a security advisory that fixes a remote code execution vulnerability (CVE-2020-26217). The vulnerability may allow a remote attacker to execute arbitrary code by sending crafted requests to the web application that uses XStream and thereby taking control of the target server. XStream is a commonly used tool for converting between Java objects and XML.


This advisory is only used to describe a potential risk. NSFOCUS does not provide any commitment or promise on this advisory. NSFOCUS and the author will not bear any liability for any direct and/or indirect consequences and losses caused by transmitting and/or using this advisory. NSFOCUS reserves all the rights to modify and interpret this advisory. Please include this statement paragraph when reproducing or transferring this advisory. Do not modify this advisory, add/delete any information to/from it, or use this advisory for commercial purposes without permission from NSFOCUS.


This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.


I have some function that might be returning null, and I'm applying it to an element of the stream. I then want to make sure that any null results get changed to some default value instead. Is there any significant difference between using two maps as in the following example, as compared to using the previous example that defines a helper variable a and uses a code block in the lambda expression?


Either is fine. Pick the one that seems more readable to you. If the calculation naturally decomposes, as this one does, then the multiple maps is probably more readable. Some calculations won't naturally decompose, in which case you're stuck at the former. In neither case should you be worrying that one is significantly more performant than the other; that's largely a non-consideration.


MATLAB is an interactive software environment and programming language from The MathWorks used to control instruments, make measurements, analyze data, create GUI-based applications, and build test systems. MATLAB provides interactive graphical tools and command-line functions for data analysis tasks such as digital filtering, signal processing, signal modulation, curve fitting, and statistical analysis.


LeCroy provides an object browser called XStream Browser that is pre-installed on all its Windowsbased oscilloscopes. You can find a link to it on the desktop of your LeCroy scope. Use this application to determine where to find the objects, properties, actions and methods required by your application. It can also be used indirectly to determine the syntax for your MATLAB code.


Most items in the right-hand frame (except within Result folders) are control variables, or CVARs for short. CVARs provide an interface for accessing scope configurations and for executing methods and actions. When viewed from XStream Browser, many CVARs appear to be properties, but are actually objects with properties such as Value, Name, Type and Range, to name a few. The right-hand frame includes columns for several of the more useful properties of each CVAR.


Find the control variable in XStream Browser. For example, the VerScale CVAR is used to program the volts per division for the input channels. The path to this is app.Acquisition.C1.VerScale


Note that lines 2 and 3 use the object variable created in the line before it. The result is that you have a set of object variables to use rather than the long and clumsy line of code such as the one at the beginning of the document.


For control variables with values that you can read or write, use the get and set functions to access properties of the control variable. The Value property is most frequently used, but others are available, including Range.


Find the control variable in XStream Browser. For example, the Value property for P1 is available when a measurement parameter P1 is configured and turned on. The path to this is app.Measure.P1.Out.Result.Value. Note that Value is a property rather than a CVAR; this is the biggest difference between items under a Results folder rather than a yellow folder like the Acquisition object, which has CVARs listed in the right-hand pane when selected.


Every programming language has syntax requirements, and learning the correct syntax can often be challenging and time consuming. The time required to learn LeCroy X-Stream COM object programming with MATLAB can be reduced by taking time to understand the underlying methodology of both the LeCroy X-Stream object hierarchy and MATLAB software environment. For more information, see both MATLAB and X-Stream documentation.


Devices with proper permissions can access the live feed from anywhere using the ZED SDK on the receiving end. When taking a stream as input, the ZED API will behave as if a camera is directly connected to the PC. Every module of the ZED API will be available: depth, tracking, spatial mapping and more.


When streaming live video, hardware acceleration is used to perform real-time encoding and decoding with minimal overhead. It is available on NVIDIA GeForce, Quadro, Tesla and embedded NVIDIA Jetson boards (Nano, TX2, Xavier). There are some limitations regarding the number of concurrent encoding sessions, so make sure to check the Desktop GPU Support Matrix or NVIDIA Jetson Support Matrix to determine the appropriate hardware for your use case.


When streaming video content over the network, the user can define a specific bitrate. A low bitrate will degrade the quality of the images but requires less bandwidth to transmit over the network. On the other hand, a high bitrate will provide high-quality images with low compression artifacts but the required bandwidth will go up and might create freeze or drop frames.


Both H264 and H265 encoding modes have been designed to use the hardware encoder built into NVIDIA GPUs (known as NVENC). With encoding offloaded to NVENC, the GPU and CPU are free for other operations. For example, in a compute-heavy scenario, it is possible to stream a video at a full frame rate with minimal impact on the main application.

3a8082e126
Reply all
Reply to author
Forward
0 new messages