The best solution to automatize this long process for Reverse Engineering is the Pilot V8 Next Series tester by Seica. The PCB accessibility on both sides is a preliminary and mandatory condition to fully rebuild the netlist because this is the only way to learn connections between SMD components on opposite sides. The vertical architecture is the best mechanical damping because board vibrations are not increased by the force of gravity. Sophisticated but easy-to-use algorithms drastically decrease the total amount of tests, reducing the total reverse time and costs. The rebuilt data are ready to use to generate a test program by automatic procedures.
1. BOARD ANALYSIS
Thanks to multiple inspection and analysis techniques, the VIVA software may operate both on mounted and bare boards.
The reverse engineering can have a destructive or a non-destructive approach. The first method will destroy the device during the test procedure, while the non-destructive process retains full functionality of the device under test after the analysis. The Pilot V8 Next Series> tester by Seica features a non-destructive method, although the following exceptions must be taken into account and solved:
1) Microchips with BGA packages with the pins below the component, because it is necessary to expose the pads.
2) Components with no accessibility.
3) Protective coating that is a thin polymeric film applied to a printed circuit board (PCB).
The result of the netlist autolearning procedure depends on the real accessibility of the probes on the test points. It is possible to analyze the following types of electronic boards:
– Bare board: this condition provides a complete and reliable learning of all the netlists on the PCB. Moreover, the check of the data learned is relatively easy and fast.
– Partially mounted board: to enhance the accessibility and minimize the subsequent manual operations, it is recommended to remove those components which prevent the access to some pads.
– Fully assembled board: in this case, the limited accessibility to the pads may require the execution of manual netlist learning using the dedicated tools available in the VIVA software.
2. AUTOLEARNING: DUAL SIDE BOARD DIGITALIZING
The CCD color cameras, available on each side of a Pilot V8 Flying Prober, digitalize two detailed images of the top and bottom sides of the board. Seica has developed several manual and automatic routines that identify the XY location coordinates using the built-in AOI system. There are four modes for auto-learning all the points and components of a board: Manual, Automatic, Connector and Component. This technique reproduces the full layout and it is useful for data processing and analysis, either online (auto-learn) in the system or offline (digitizer) on a remote PC.
3. NETLIST LEARNING
The first step is to manually identify at least one GND point. Similarly, the user can determine the VCC point if it is useful for the netlist analysis. Once the user has classified the GND signal, the “netlist learning” process on the Flying Prober can start with the FNODE macro.
Seica employs a proprietary dynamic impedance measurement method designated as FNODE, which acquires the net signature of an analog dipole. This powerful test method is used to measure the dynamic impedance of an unknown dipole to recognize and separate all the nets of a mounted board. From that, it creates a suitable number of continuity tests.
Since each dipole of the UUT is unknown, an “auto-learn” of the golden board is used to acquire the behavior of the dipole over a broad frequency range. A signal generator applies a frequency sweep to pin1 while pin2 is connected to GND. In green, the voltage applied between the net under test and ground, in magenta the current signature of the net. The typical input signal amplitude is 0.2 V to be below the P-N transition threshold and to avoid nonlinear distortions as well as to avoid guarding (electrically isolating the net environment to perform an individual measurement on a single component). The FNODE measures the current which flows into the dipole and, in each case, the amplitude and the phase for each net is stored by the test program. The FNODE is a purely passive measurement procedure, with no power on the UUT.
The advantages of FNODE are easily summarized:
– It does not need any CAD data and no manual debug is necessary
– The auto-learn process is fully automatic and creates a full shorts test higher fault coverage than the traditional adjacency test. Moreover, many in-circuit measurements can be avoided without decreasing test coverage.This procedure utilizes a DSP-based (Digital Signal Processor) multi-function instrument, which digitizes the generated and measured signals. The acquired data enable the almost simultaneous execution of multiple, high-speed tests, because all of the test models are “hardware-emulated”, substantially increasing the test throughput.
If two or more nets have the same current signature, the next step is to execute the continuity test. The main goal of the CONTINUITY macro, optimized to work in sets of 1000 tests each, is to group the test pads belonging to the same net. This procedure is also capable of detecting as separate nets the signals connected to low impedance (e.g. inductors, resistances at 0 Ohm …) when belonging to two-pin components regularly declared in the graphic environment Edit Board of the VIVA software.
At this point, it is necessary to acquire the signatures/functions of the digital components. Once the GND and VCC inputs have been identified, the UUT is powered on to execute the Power Monitor (PWMON). It is possible to measure the current needed to produce logic 0 or logic 1 on each node (input pin of a digital component). This way, the threshold is learned and the system can recognize a possible error on a net. Using this method, a “golden board” is not necessary but strongly recommended.
The advantages of PWMON are summarized as follows:
– It is a vectorless method to test ICs in a powered up condition.
– It can be generated without CAD data.
– It does not require manual operations, since it is a fully automatic procedure and it is independent of the UUT initialization conditions (when the UUT is powered on).
4. TEST PROGRAM CREATION
Once the netlist learning procedure has been completed, along with the possible manual connection of some nets, the tast carried out may be employed to create a test program for repair activity purposes, and/or create the data to be employed to rebuild the board schematics.
|_GRECAPTCHA||5 months 27 days||This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.|
|ctp||4 years||This cookie is provided by Antenna.ayads.This cookie is used for double checking the unique user ID on the same device. It is also known as Anti fraud cookie.|
|gdpr[allowed_cookies]||1 year||This cookie is set by the GDPR WordPress plugin. It is used to store the cookies allowed by the logged-in users and the visitors of the website.|
|JSESSIONID||session||The JSESSIONID cookie is used by New Relic to store a session identifier so that New Relic can monitor session counts for an application.|
|PHPSESSID||session||This cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user session on the website. The cookie is a session cookies and is deleted when all the browser windows are closed.|
|ctc||4 years||No description|
|DEVICE_INFO||5 months 27 days||No description|
|SM||session||No description available.|
|weather_location||1 month||No description available.|
|ANONCHK||10 minutes||The ANONCHK cookie, set by Bing, is used to store a user's session ID and also verify the clicks from ads on the Bing search engine. The cookie helps in reporting and personalization as well.|
|MUID||1 year 24 days||Bing sets this cookie to recognize unique web browsers visiting Microsoft sites. This cookie is used for advertising, site analytics, and other operations.|
|test_cookie||15 minutes||The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies.|
|VISITOR_INFO1_LIVE||5 months 27 days||A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.|
|YSC||session||YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.|
|yt-remote-connected-devices||never||YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.|
|yt-remote-device-id||never||YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.|
|yt.innertube::nextId||never||This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.|
|yt.innertube::requests||never||This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.|
|CLID||1 year||Microsoft Clarity set this cookie to store information about how visitors interact with the website. The cookie helps to provide an analysis report. The data collection includes the number of visitors, where they visit the website, and the pages visited.|
|CONSENT||2 years||YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.|
|vuid||2 years||Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos to the website.|
|__cf_bm||30 minutes||This cookie, set by Cloudflare, is used to support Cloudflare Bot Management.|
|pll_language||1 year||The pll _language cookie is used by Polylang to remember the language selected by the user when returning to the website, and also to get the language information when not available in another way.|
|SRM_B||1 year 24 days||Used by Microsoft Advertising as a unique ID for visitors.|