Documentation

Difference between revisions of "Reverse Engineering"

(How to proceed)
 
(108 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[image:reverseengineering.png|alt="Reverse Engineering"]]
+
<br>[[Image:reverseengineering_n.png|left|Old defective PCB without any documentation]] '''The problem:''' You have an old, defective circuit board without any documentation. Also CAD data are not available. Unfortunately this circuit board controls a bucket wheel excavator, a rail bus, a ferry, an airplane, a locomotive, a rack railway or other large equipment, which is unproductive because of that electronic damage. The manufacturer himself hasn't existed for years, and service companies are not on the spot. If you don't want to scrap the whole system sooner or later, the only option is to rebuild the circuit board. Even for an experienced layouter this process is a real challenge.<br>'''The solution:''' Redraw the layout in TARGET 3001! and use it as a "logic primitive" for a schematic to create. Let TARGET help you generate a schematic from it including the respective part names and signal names. Now a new PCB layout can be derived like a "clone" from the old one. This feature was developed in conjunction with [https://www.ipk.fraunhofer.de/en/homepage/ Fraunhofer IPK] and [https://www.enaelectronics.ca ENA Electronics]. ENA are also a service partner for customers.<br><br>
  
== New in edition "design station" from V15 ==
+
{|
 +
|
 +
|[[Image:PCB_REsleeve.jpg|Click to find it at Amazon|link=https://www.amazon.com/PCB-RE-Real-World-Examples-Keng-Tiong/dp/1797999958]]||We recommend this book on Reverse Engineering. Various steps had been made using TARGET 3001!<br>Find it at [https://www.amazon.com/PCB-RE-Real-World-Examples-Keng-Tiong/dp/1797999958 Amazon].
 +
|-
 +
|}
  
[[file:Reverse.jpg|left]] From version V15 the TARGET 3001! flagship, the '''design station''', offers a new professional "Reverse Engineering" solution.<br><br>
 
'''The problem:''' A customer has an old, defective PCB bare of any documentation or CAD data. Unfortunately this circuit controls his Bucket Wheel Excavator, Rail Car, Ferry Boat, Aeroplane, Locomotive, Rack Railway or whatever industrial equipment standing non-productively idle because of electronic damage. The manufacturer is no longer on the market, service companies are not to be found. So if you don't want to scrap your machinery the only way is rebuilding the defective PCB. But even for experienced developers this method is combined with '''enormous difficulties''' though there might be only few parts in the game.<br><br>
 
  
'''The solution:''' By the help of a netlist TARGET 3001! creates '''a schematic including the part namings as well as the signal names.''' A new PCB layout now can be "cloned" from the old.
 
  
The company Diagnosys offers the PCB diagnosis system "Pin Point", which creates the netlist needed by an electronic sampling process. Using a special heuristic method in TARGET 3001! the complexity of this ratsnest is reduced to a minimum. Components and signals get spread over different schematic pages by a '''Simulated Annealing''' algorithm. From there a new PCB layout can be created using all tools of TARGET's PCB creation. This feature only is available in edition '''"design station"'''.
+
= Reverse bound constructing =
  
== Reverse engineering in any other edition (V15 too) ==
+
The idea is to shoot an image of your existing board and import it into TARGET. A picture is just a painting and its parts have nothing to do with conductive tracks, solder pads or ground planes. These elements have a multitude of circuit-related properties. But an image of the circuit board as a template is a great help. You simply place the image "underneath" your layout and place the elements exactly on top of this projection. You can insertt images from top and bottom side into your layout with semi-transparent congruence. Then you lay the tracks. Later you can derive a schematic from it, if needed with several schematic pages. At the beginning, always select the project type "without schematic". A schematic is derived later from the finished routed replica.
 +
<br><br><br>
  
 +
[[Image:layout00_.jpg|none]]Image: A hardware circuit board, without any documentation, or even CAD data.<br><br>
 +
Load the normal view of your bitmap (image format *.bmp) on layer "14, area top" and place the component packages (solder pads), traces and other layout elements on layer "16, copper top". In addition, you can insert an image of the  bottom side of your layout mirrored on the horizontal axis into TARGET on layer "0, area bottom". With the slider "transparent...opaque" in the dialog "Load image into rectangle" you determine the opacity of an imported image. For example, you can look through your "Copper top" photo to see what is going on in your "Copper bottom" photo. This makes it easier to place packages and tracks exactly on both sides.<br><br>First, make sure that the dimensions of your screen display (in mm) are correctly set in the Settings/Options menu. Otherwise unwanted distortion of the bitmap may occur.<br><br><br>
  
Now if you want to re-edit or modify the layout your job is to redraw the complete layout (Reverse Engineering). In this respect it is fine to use an image of the layout as a default in TARGET 3001!. "But an image of the layout is only a kind of painting which will not provide any pad and track or groundplane information" you might argue. You are right. But nevertheless an image as a default is a great help for locating packages and redrawing the connections. Place the image beneath your layout in TARGET 3001! (upon layer 0=area bottom) and place all elements upon it. Later when your layout is finished, you can delete the image.<br><br>
+
= Build up the layout =
  
[[Image:layout0.jpg|none]]<br><br>
+
== Prepare an image of the existing board ==
Take a '''bitmap''' (= an image having the file extension *.bmp) to your clipboard and insert it into a color filled rectangle which you had placed upon layer 0 . Now place all landmarks (pads), tracks and all other elements upon higher layers. First make sure that your visible screen is set to real size in mm or inch. See menu "Settings/[[Settings / Options]]". In this dialog look for "Usable monitor size" and enter the measurements of your screen (take a fold-rule and hold it on screen to figure it out). Otherwise you might suffer deformation. Now act as follows:<br>
+
'''1. step:''' Create a bitmap of the board you want to trace in TARGET 3001!, scan or photo. Measure the side lengths of your real board. This sample board has a height of 43.00 mm and a width of 90.00 mm. We ignore the cut corners for the moment:<br><br><br>
  
== How to proceed ==
+
[[Image:FrontSide_pcb.jpg|none|900px]]Image: Scan of the board in format Bitmap *.bmp<br><br>
  
'''1. Step:'''<br>Measure the dimensions of the default as it shall come out in reality. Create a bitmap of the layout you have. A scan of a board might have advantages against a handmade photography because of not showing distortions which (slightly) might appear when taking a photograph. Sure you also might use a plot of the layout. Our example board below has a real height of 43,00 mm and a width of 90,00 mm. The cut tips we ignore at first:<br>
+
== Select project concept ==
 +
'''2. step:'''Open TARGET 3001! and select the project type "Double-sided PCB '''without''' schematic", no matter if you want to derive a schematic later or not. If you intend to only have a single-sided board, please select "Single-sided PCB without schematic". In the layout view now draw a board outline upon layer 23, Outline, with exactly these dimensions. Let the PCB Outline Wizard assist you (see Layout menu [[Outline|Actions/Automatisms and assistants/PCB Outline Wizard]]).
 +
<br><br><br>  
  
[[Image:layout1.jpg|none]]<br><br>
+
[[Image:Layout1a_e.jpg|none]]Image: Board outline in TARGET showing identical measurements of hight and width<br><br>
  
'''2. Step:'''<br>Open  TARGET 3001! and select "Create a new PCB without schematic". Now draw a PCB outline on layer 23=Outline using the above measurements. If you want you can use the "outline assistant" in [[Menu Actions]] / "PCB Outline Wizard".<br> You can toggle from imperial scale to metric and back by the use of the functional key '''[F4]'''.
+
== Insert image ==
  
[[Image:Layout1a.jpg|none]]<br><br>
+
'''3. step'''  Open layout menu "Actions/Reverse Engineering/Insert image behind board"<br><br>  
  
'''3. Step'''<br>Now draw a filled [[rectangle]]...<br>
+
[[Image:Layout5_e.jpg|none]]Image: Start Reverse Engineering<br><br>
  
[[Image:layout2.jpg|none]]<br><br>
+
The image can automatically be fit into the board outline:<br><br>  
  
...upon layer 0=Area bottom having identical measurements. Don't use "open rectangle" because later the import of your bitmap from the clipboard does not work:<br>
+
[[Image:layout6_ee.jpg|none]]Image: Fit image into board outline (from V19)<br><br>
  
[[Image:Layout1b.jpg|none]]<br><br>
+
A larger image is "reduced" to the dimensions of the board outline. A smaller image is enlarged accordingly, but can then might become pixelated. In our example we see the component side (upper side) of the board. We can import the image as a template on layer 14, Area top. In the image import dialog we determine the layer for this image. Nevertheless, the image can be moved to any layer later by double-clicking on it. You now can miter the corners of the outline (light red, layer ''23, PCB outline''), but you can also do this at a later time <small>(highlight the outline and click [[M2]] on a black little touchpad of a corner. Now see the context menu for mitering)</small>.<br><br>
  
[[Image:Layout1c.jpg|none]]<br><br>
+
[[Image:layout6_a.jpg|none]]Image: The component side of the PCB fit into the outline.<br><br>
  
[[Image:Layout1d.jpg|none]]<br><br>
+
Repeat the process to additionally display an image of the  bottom side of your board on layer 0, Area bottom. If you reduce the opacity of the image of the top side (see dialog, which you open by double clicking on the image), the image of the bottom side can shine through. When redesigning, i.e. "redrawing", the top and bottom sides can be viewed simultaneously.<br><br>
  
You might adjust the measurements of the filled rectangle by doubleclick on it and entering to the dialog:<br>
+
The bottom side of your board looks that way:<br><br>
  
[[Image:e_layer3.jpg|none]]<br><br>
+
[[Image:BackSide_pcb.jpg|none|947px]]Image: A photo/scan of the bottom side of the board, mirrored on the vertical axis.<br><br>
  
After you have made your entries (you also might have dragged your rectangle to fitting size) you'll see the filled rectangle coloured red. Now please highlight it (mark it) and see it in light red.<br>
+
We now put this image on layer 0, Area bottom. Again see Layout menu Actions/Reverse Engineering/Insert image behind board. In the opening dialog we select layer 0 with full opacity. If we only fade in layer ''0, Area bottom'' and layer ''23, PCB Outline'', the following image will appear:
  
'''4. Step:'''<br>Take the bitmap of your aimed layout to your clipboard like you always do in Windows and open the TARGET 3001! [[Menu Actions]] / "Load bitmap into rectangle".<br>
 
  
[[Image:e_layer4.jpg|none]]<br><br>
+
[[Image:BackSide_import.jpg|none]]Image: In TARGET: Image imported to layer ''0, Area bottom''. Layer ''23, PCB Outline'', is faded in as well (light red line surrounding the board).<br><br>
  
As a result your PCB photograph is projected onto the highlighted rectangle. You will figure out that the bitmap only needs to have the same height/width relation. the overall size does not really matter. The bigger the bitmap is, the higher the resolution will be. Our example shows the positioning (populating) side of the board. In this respect the image needs to be shifted to layer "14, Area top" (double click on the image and entering "Layer 14" to the opening "Change rectangles" Dialog).<br>
+
If you set the opacity of the board top image on layer 14 to about half using the slider, you can add layer 0 and get the following image:
  
'''5. Step:'''<br>Now you immediately can start importing components from the database and to place them on the layout at correct position. On the right side you see there had been used a TQFP44 device - get one from there...<br>
+
[[Image:BothSides_import.jpg|none]]Image: Both images superposed to each other <br><br>
  
[[Image:e_layer6.jpg|none]]<br><br>
+
Double-clicking on an image opens the dialog for image import or image manipulation, see above. Here you can also set the opacity. To grab a certain image, simply move the other image aside. After the changes are made, move it back again. Both images now can be seen. The image of the bottom side needs to be mirrored on its vertical axis. The upper image must have a certain opacity so that the lower image can shine through.<br><br>
  
...and place it. Zoom in deeply and place the package exactly. Be supported by the x-ray function. Toggle the hash-key [#] on the keyboard.<br>
+
== Import packages ==
  
[[Image:layout7.jpg|none]]<br><br>
+
'''4. step:''' Start importing the packages that were used on the layout from the database. On the left side of the photo we can see that a TQFP44 package was used. Get one from the TARGET parts database.<br>
  
'''6. Step:'''<br>Place a smd resistor with a package 0805 and rout the tracks between the pads.<br><br>
+
'''Important note:''' Don't get just any, bare standard package in to your layout. It lacks the schematic symbol. Get in a '''Component'''package. Only a comonent package carries the '''significant''' symbol along which is necessary for the later import to the schematic.<br><br>
  
[[Image:layout9.jpg|none]]<br><br>
 
  
'''Further steps:'''<br>Get in each component package bit by bit and connect them. In our example you see the results in blue, because  it's the standard color of layer 16=copper top. If you want to use the bottom side of the layout, you must get in the bitmap already in mirrored shape. The effect is, like usually in TARGET 3001! that you see from top through all layers to the bottom of the board. At the end cut the tips of the outline on layer 23 by using the drawing tool to get the same outline like the default PCB.<br><br>
+
[[Image:Gehaeuse_Bautei_el.jpg|Use TAB "Components"|none]]Image: Use TAB "Components" when importing a package. Don't use the "Package" TAB because a bare package does not bring a symbol along.<br><br>
  
Now the rest is your job...<br><br>
+
<br><br>
  
 +
[[Image:layout_tqfp44_e.jpg|none]]Image: In TARGET: A TQFP44 package taken from the component library by the package browser. <br><br>
 +
Place it to the layout. Zoom in as far as possible and place the package as precise as possible. Use the x-ray function (key '''[#]''' on your keyboard). Eventually set the [[grid]] smaller. All layout drawing functions can be used.<br><br><br>
  
You can use this function in the schematic also. It is located in the same menu and works the same. It is meant for inserting logos etc. to the schematic. For the fact that the schematic view does not offer drawing on different layers there is unfortunately no chance to overlap signals to the image.<br><br>
+
[[Image:Layout7_e.jpg|none]]Image: First package exactly placed.<br><br>
  
[[category:Actions]]
+
== Placement of packages and signal tracks ==
 +
 
 +
'''5. step:''' Place e.g. an SMD capacitor 0805 and draw the tracks between the footprints in question simply by redrawing the structures.<br><br><br>
 +
 
 +
[[Image:layout9_e.jpg|none]]Image: Two packages placed and two tracks drawn<br><br>
 +
 
 +
Now get each part piece by piece into your layout, place it and connect the contacts as shown. In our example you will see the results in blue as this is the default color for layer "16, copper top". If you want to edit the solder side (bottom) of the board, you have to load the '''mirrored''' bitmap of the bottom already on layer 0, see above. You look through the board from above to the bottom, as usual in TARGET.<br><br>
 +
 
 +
= Derive a schematic =
 +
 
 +
 
 +
== Limitation in deriving a schematic from the layout ==
 +
 
 +
Important note: The following partly automated steps for creating a schematic from the layout are limited. Principle: Half the number of pins of the respective TARGET-edition. More detailed information can be found in the [http://ibfriedrich.com/landingpage/editions/en/index.html Product overview]. Have a look in section "Reverse Engineering".<br><br>
 +
 
 +
== Are all component packages placed in the layout and are all traces routed? ==
 +
 
 +
'''6. step:''' If yes, the creation of a schematic from the layout structures, can take place. Once a schematic has been generated, all further development work for this project starts from the schematic. Reverse engineering is then no longer possible. The photos of your board have done their job and are no longer needed. They can be deleted. But you can do this later as well.<br><br>
 +
 
 +
== Distribute components on schematic pages ==
 +
 
 +
Please see menu: '''Actions/Reverse Engineering/Distribute components on schematic pages'''<br><br>
 +
 
 +
[[Image:BtlAufSchltplVrteilen_e.jpg|none]]Image: Menu Actions...<br><br>
 +
 
 +
In the dialog that opens, you see the list of component packages as they were used in the layout. At the same time you are prompted to click [[M2]] on a component which you want to assign to a specific schematic page. A name must first be assigned to this schematic page. The schematic symbol will then appear on this page. In our case we call it "Processor", any name is possible. In the following intermediate dialog you confirm the schematic page for the highlighted component. With the second component, the same principle: Right click on it and select schematic page or determine new schematic page name.<br><br>
 +
 
 +
 
 +
[[Image:BtlAufSchltplVrteilen_2_e.jpg|none]]Image: Establish schematic pages by naming<br><br>
 +
 
 +
== Placement automatism in the schematic ==
 +
 
 +
If the project consists of a lot of components, the selection process described above can be tedious. The button [Automatic] helps here and assigns components that tend to belong together to the same schematic page. For the use of the automatism it is helpful to manually assign the "meaningful" components to certain schematic pages at the beginning. Usually those with many leads or with a key function within the circuit. The automatism then assigns the closely associated symbols to this schematic page as well. "The child wants to be close to it's mother" is how the principle could be described. A heuristic algorithm is used to distribute the components. Global signals, e.g. GND, are not as weighty in this respect as significant one-to-one connections.<br><br>
 +
 
 +
 
 +
[[Image:BtlAufSchltplVrteilen_3_e.jpg|none]]Image: Component distribution to schematic pages<br><br>
 +
 
 +
A diagram shows the distribution on schematic pages by: "Components per page" or "Connections per page". Press OK to generate a raw schematic diagram.
 +
 
 +
== Generate raw circuit diagram ==
 +
 
 +
Press the button in the dialog box (hidden in the image above) or select the menu item:
 +
 
 +
 
 +
[[Image:BtlAufSchltplVrteilen_4_e.jpg|none]]Image: "raw" means: There is something left to do...<br><br>
 +
 
 +
 
 +
The result shows the first schematic page with the part symbols and the signal connections as purple air wires.
 +
 +
 
 +
[[Image:BtlAufSchltplVrteilen_5_e.jpg|none]]Image: A purple air wire has its origin in the PCB track<br><br>
 +
 
 +
Touch the capacitor at the handle cross with the key held [[M1H]] and pull it closer. While pulling, click the right mouse button ([[M2]]) at the same time to rotate it. The purple lines are air wires. Signal wires must actively be established. Either by double-clicking on it to use the schematic router or by the tool: "Place wire [2]".<br><br>
 +
 
 +
[[Image:ReverseSchaltplan1.jpg|none]]Image: Component brought closer and rotated<br><br>
 +
Signal placed: Once with the tool (above) once by double-clicking on the violet line or by selecting and pressing key [+] (schematic router):
 +
<br><br>
 +
 
 +
 
 +
[[Image:ReverseSchaltplan2.jpg|none]] Image: Signals established and signal wires laid<br><br>
 +
 
 +
Now you can handle each signal individually, edit it, redraw it... If you want to convert a signal back into a purple air wire, select it and type key [-].
 +
<br><br>
 +
 
 +
[[Image:ReverseSchaltplan3_e.jpg|none]]Image: Double click [[M11]] upon a signal <br><br>
 +
<br><br>
 +
 
 +
== More than one schematic page ==
 +
 
 +
If a signal appears on several schematic pages, a reference symbol is placed at the edge of the schematic page. This reference symbol indicates that the signal is continued on another schematic page. The corresponding schematic page shows an equivalent reference symbol which introduces the signal there. The following example shows this:
 +
<br><br>
 +
 
 +
[[Image:ReverseSchaltplan4_e.jpg|none]]Image: The symbols of components can be predefined to appear on various schematic pages <br><br>
 +
 
 +
In the "Assign schematic pages" process, IC1 was assigned to the "Processor" schematic page, while capacitor C1 was assigned to the "Power" schematic page. After "Generate raw circuit diagram" the IC on the schematic page "Processor" shows two purple air wires which lead to two reference symbols. At the same time the second schematic page "Power" is visible.<br><br>
 +
 
 +
<br><br>[[Image:ReverseSchaltplan5_e.jpg|none]]Image: The air wires in the schematic point to the reference symbols at the edge of the schematic page.<br><br>
 +
 
 +
If you click on the second schematic page in the bar on the right in order to show it up, the following image appears:<br><br>
 +
 
 +
<br><br>[[Image:ReverseSchaltplan6_e.jpg|none]]Image: Next schematic page: Reference symbols lead the two signals to the component.<br><br>
 +
 
 +
Here again the signals need to be connected according to the purple air wires. The same procedure as shown above.<br><br><br><br>
 +
 
 +
= Finish =
 +
 
 +
Finally, when all the layout work is done, cut off the corners of the board outline (layer 23) according to the template, if you have not already done so. To do this, simply highlight a vertical edge line of the board outline. Click a black touchpad at the tip of a line by [M2]. A context menu opens. It gives option to "Miter the corner". Just entering the measurements of the cut will do it. Then delete the original image from layers zero or layer 14. Decide if you want to create a ground plane now (maybe independently from the image).<br><br>
 +
 
 +
By the way: You can also underlay images of inner layers. To do this, you would have to have X-ray the original board to create images representing the conditions on inner layers. This might sound unusual, but it's simple to do.<br><br>
 +
<br><br>
 +
 
 +
= In edition "design station"... =
 +
 
 +
The edition '''design station''', offers a further, different solution focusing on "Reverse Engineering". It works since version 15 and still does beside the above mentioned:<br>
 +
The company [https://www.diagnosys.com/en/products/pinpoint-range2/pinpoint-alpha2 Diagnosys] offers a printed circuit board diagnostic system called "Pin Point", which generates the corresponding net list by pin point scanning. TARGET 3001! reduces the complexity of the netlist by a heuristic approach. Components and signals are clearly allocated to several schematic pages using a ''Simulated Annealing'' algorithm. This makes it very easy to create a new board layout from the old one. This feature is only available in edition "design station".<br><br>
 +
 
 +
= Delayering a six-fold multilayer board =
 +
 
 +
The following images show the individual layers of a 6-fold multilayer, ready for reverse engineering.
 +
 
 +
<table widht="80%" border="1" cellpadding="20">
 +
  <tr>
 +
    <td>[[image:coppertop.jpg|CopperTop|thumb|500px|Copper top|none]]
 +
    </td>
 +
    <td>The copper top side of the board
 +
    </td>
 +
  </tr>
 +
  <tr>
 +
    <td>[[image:copperinside1.jpg|Copper inside_1|thumb|500px|Copper inside_1|none]]
 +
    </td>
 +
    <td>Inner layer #1
 +
    </td>
 +
  </tr>
 +
  <tr>
 +
    <td>[[image:copperinside2.jpg|Copper inside_2|thumb|500px|Copper inside_2|none]]
 +
    </td>
 +
    <td>Inner layer #2
 +
    </td>
 +
  </tr>
 +
  <tr>
 +
    <td>[[image:copperinside3.jpg|Copper inside_3|thumb|500px|Copper inside_3|none]]
 +
    </td>
 +
    <td>Inner layer #3
 +
    </td>
 +
  </tr>
 +
  <tr>
 +
    <td>[[image:copperinside4.jpg|Copper inside_4|thumb|500px|Copper inside_4|none]]
 +
    </td>
 +
    <td>Inner layer #4
 +
    </td>
 +
  </tr>
 +
  <tr>
 +
    <td>[[image:copperbottom.jpg|Soldering side|thumb|500px|Soldering side|none]]
 +
    </td>
 +
    <td>The soldering side, copper bottom
 +
    </td>
 +
  </tr>
 +
</table>
 +
 
 +
 
 +
[[Category:Actions]]
 
[[de:Reverse Engineering]]
 
[[de:Reverse Engineering]]
[[fr:"Reverse Engineering"]]
+
[[fr:Reverse Engineering]]

Latest revision as of 10:59, 20 March 2019


Old defective PCB without any documentation
The problem: You have an old, defective circuit board without any documentation. Also CAD data are not available. Unfortunately this circuit board controls a bucket wheel excavator, a rail bus, a ferry, an airplane, a locomotive, a rack railway or other large equipment, which is unproductive because of that electronic damage. The manufacturer himself hasn't existed for years, and service companies are not on the spot. If you don't want to scrap the whole system sooner or later, the only option is to rebuild the circuit board. Even for an experienced layouter this process is a real challenge.
The solution: Redraw the layout in TARGET 3001! and use it as a "logic primitive" for a schematic to create. Let TARGET help you generate a schematic from it including the respective part names and signal names. Now a new PCB layout can be derived like a "clone" from the old one. This feature was developed in conjunction with Fraunhofer IPK and ENA Electronics. ENA are also a service partner for customers.

Click to find it at Amazon We recommend this book on Reverse Engineering. Various steps had been made using TARGET 3001!
Find it at Amazon.


Reverse bound constructing

The idea is to shoot an image of your existing board and import it into TARGET. A picture is just a painting and its parts have nothing to do with conductive tracks, solder pads or ground planes. These elements have a multitude of circuit-related properties. But an image of the circuit board as a template is a great help. You simply place the image "underneath" your layout and place the elements exactly on top of this projection. You can insertt images from top and bottom side into your layout with semi-transparent congruence. Then you lay the tracks. Later you can derive a schematic from it, if needed with several schematic pages. At the beginning, always select the project type "without schematic". A schematic is derived later from the finished routed replica.


Layout00 .jpg
Image: A hardware circuit board, without any documentation, or even CAD data.

Load the normal view of your bitmap (image format *.bmp) on layer "14, area top" and place the component packages (solder pads), traces and other layout elements on layer "16, copper top". In addition, you can insert an image of the bottom side of your layout mirrored on the horizontal axis into TARGET on layer "0, area bottom". With the slider "transparent...opaque" in the dialog "Load image into rectangle" you determine the opacity of an imported image. For example, you can look through your "Copper top" photo to see what is going on in your "Copper bottom" photo. This makes it easier to place packages and tracks exactly on both sides.

First, make sure that the dimensions of your screen display (in mm) are correctly set in the Settings/Options menu. Otherwise unwanted distortion of the bitmap may occur.


Build up the layout

Prepare an image of the existing board

1. step: Create a bitmap of the board you want to trace in TARGET 3001!, scan or photo. Measure the side lengths of your real board. This sample board has a height of 43.00 mm and a width of 90.00 mm. We ignore the cut corners for the moment:


FrontSide pcb.jpg
Image: Scan of the board in format Bitmap *.bmp

Select project concept

2. step:Open TARGET 3001! and select the project type "Double-sided PCB without schematic", no matter if you want to derive a schematic later or not. If you intend to only have a single-sided board, please select "Single-sided PCB without schematic". In the layout view now draw a board outline upon layer 23, Outline, with exactly these dimensions. Let the PCB Outline Wizard assist you (see Layout menu Actions/Automatisms and assistants/PCB Outline Wizard).


Layout1a e.jpg
Image: Board outline in TARGET showing identical measurements of hight and width

Insert image

3. step Open layout menu "Actions/Reverse Engineering/Insert image behind board"

Layout5 e.jpg
Image: Start Reverse Engineering

The image can automatically be fit into the board outline:

Layout6 ee.jpg
Image: Fit image into board outline (from V19)

A larger image is "reduced" to the dimensions of the board outline. A smaller image is enlarged accordingly, but can then might become pixelated. In our example we see the component side (upper side) of the board. We can import the image as a template on layer 14, Area top. In the image import dialog we determine the layer for this image. Nevertheless, the image can be moved to any layer later by double-clicking on it. You now can miter the corners of the outline (light red, layer 23, PCB outline), but you can also do this at a later time (highlight the outline and click M2 on a black little touchpad of a corner. Now see the context menu for mitering).

Layout6 a.jpg
Image: The component side of the PCB fit into the outline.

Repeat the process to additionally display an image of the bottom side of your board on layer 0, Area bottom. If you reduce the opacity of the image of the top side (see dialog, which you open by double clicking on the image), the image of the bottom side can shine through. When redesigning, i.e. "redrawing", the top and bottom sides can be viewed simultaneously.

The bottom side of your board looks that way:

BackSide pcb.jpg
Image: A photo/scan of the bottom side of the board, mirrored on the vertical axis.

We now put this image on layer 0, Area bottom. Again see Layout menu Actions/Reverse Engineering/Insert image behind board. In the opening dialog we select layer 0 with full opacity. If we only fade in layer 0, Area bottom and layer 23, PCB Outline, the following image will appear:


BackSide import.jpg
Image: In TARGET: Image imported to layer 0, Area bottom. Layer 23, PCB Outline, is faded in as well (light red line surrounding the board).

If you set the opacity of the board top image on layer 14 to about half using the slider, you can add layer 0 and get the following image:

BothSides import.jpg
Image: Both images superposed to each other

Double-clicking on an image opens the dialog for image import or image manipulation, see above. Here you can also set the opacity. To grab a certain image, simply move the other image aside. After the changes are made, move it back again. Both images now can be seen. The image of the bottom side needs to be mirrored on its vertical axis. The upper image must have a certain opacity so that the lower image can shine through.

Import packages

4. step: Start importing the packages that were used on the layout from the database. On the left side of the photo we can see that a TQFP44 package was used. Get one from the TARGET parts database.

Important note: Don't get just any, bare standard package in to your layout. It lacks the schematic symbol. Get in a Componentpackage. Only a comonent package carries the significant symbol along which is necessary for the later import to the schematic.


Use TAB "Components"
Image: Use TAB "Components" when importing a package. Don't use the "Package" TAB because a bare package does not bring a symbol along.



Layout tqfp44 e.jpg
Image: In TARGET: A TQFP44 package taken from the component library by the package browser.

Place it to the layout. Zoom in as far as possible and place the package as precise as possible. Use the x-ray function (key [#] on your keyboard). Eventually set the grid smaller. All layout drawing functions can be used.


Layout7 e.jpg
Image: First package exactly placed.

Placement of packages and signal tracks

5. step: Place e.g. an SMD capacitor 0805 and draw the tracks between the footprints in question simply by redrawing the structures.


Layout9 e.jpg
Image: Two packages placed and two tracks drawn

Now get each part piece by piece into your layout, place it and connect the contacts as shown. In our example you will see the results in blue as this is the default color for layer "16, copper top". If you want to edit the solder side (bottom) of the board, you have to load the mirrored bitmap of the bottom already on layer 0, see above. You look through the board from above to the bottom, as usual in TARGET.

Derive a schematic

Limitation in deriving a schematic from the layout

Important note: The following partly automated steps for creating a schematic from the layout are limited. Principle: Half the number of pins of the respective TARGET-edition. More detailed information can be found in the Product overview. Have a look in section "Reverse Engineering".

Are all component packages placed in the layout and are all traces routed?

6. step: If yes, the creation of a schematic from the layout structures, can take place. Once a schematic has been generated, all further development work for this project starts from the schematic. Reverse engineering is then no longer possible. The photos of your board have done their job and are no longer needed. They can be deleted. But you can do this later as well.

Distribute components on schematic pages

Please see menu: Actions/Reverse Engineering/Distribute components on schematic pages

BtlAufSchltplVrteilen e.jpg
Image: Menu Actions...

In the dialog that opens, you see the list of component packages as they were used in the layout. At the same time you are prompted to click M2 on a component which you want to assign to a specific schematic page. A name must first be assigned to this schematic page. The schematic symbol will then appear on this page. In our case we call it "Processor", any name is possible. In the following intermediate dialog you confirm the schematic page for the highlighted component. With the second component, the same principle: Right click on it and select schematic page or determine new schematic page name.


BtlAufSchltplVrteilen 2 e.jpg
Image: Establish schematic pages by naming

Placement automatism in the schematic

If the project consists of a lot of components, the selection process described above can be tedious. The button [Automatic] helps here and assigns components that tend to belong together to the same schematic page. For the use of the automatism it is helpful to manually assign the "meaningful" components to certain schematic pages at the beginning. Usually those with many leads or with a key function within the circuit. The automatism then assigns the closely associated symbols to this schematic page as well. "The child wants to be close to it's mother" is how the principle could be described. A heuristic algorithm is used to distribute the components. Global signals, e.g. GND, are not as weighty in this respect as significant one-to-one connections.


BtlAufSchltplVrteilen 3 e.jpg
Image: Component distribution to schematic pages

A diagram shows the distribution on schematic pages by: "Components per page" or "Connections per page". Press OK to generate a raw schematic diagram.

Generate raw circuit diagram

Press the button in the dialog box (hidden in the image above) or select the menu item:


BtlAufSchltplVrteilen 4 e.jpg
Image: "raw" means: There is something left to do...


The result shows the first schematic page with the part symbols and the signal connections as purple air wires.


BtlAufSchltplVrteilen 5 e.jpg
Image: A purple air wire has its origin in the PCB track

Touch the capacitor at the handle cross with the key held M1H and pull it closer. While pulling, click the right mouse button (M2) at the same time to rotate it. The purple lines are air wires. Signal wires must actively be established. Either by double-clicking on it to use the schematic router or by the tool: "Place wire [2]".

ReverseSchaltplan1.jpg
Image: Component brought closer and rotated

Signal placed: Once with the tool (above) once by double-clicking on the violet line or by selecting and pressing key [+] (schematic router):


ReverseSchaltplan2.jpg
Image: Signals established and signal wires laid

Now you can handle each signal individually, edit it, redraw it... If you want to convert a signal back into a purple air wire, select it and type key [-].

ReverseSchaltplan3 e.jpg
Image: Double click M11 upon a signal



More than one schematic page

If a signal appears on several schematic pages, a reference symbol is placed at the edge of the schematic page. This reference symbol indicates that the signal is continued on another schematic page. The corresponding schematic page shows an equivalent reference symbol which introduces the signal there. The following example shows this:

ReverseSchaltplan4 e.jpg
Image: The symbols of components can be predefined to appear on various schematic pages

In the "Assign schematic pages" process, IC1 was assigned to the "Processor" schematic page, while capacitor C1 was assigned to the "Power" schematic page. After "Generate raw circuit diagram" the IC on the schematic page "Processor" shows two purple air wires which lead to two reference symbols. At the same time the second schematic page "Power" is visible.



ReverseSchaltplan5 e.jpg
Image: The air wires in the schematic point to the reference symbols at the edge of the schematic page.

If you click on the second schematic page in the bar on the right in order to show it up, the following image appears:



ReverseSchaltplan6 e.jpg
Image: Next schematic page: Reference symbols lead the two signals to the component.

Here again the signals need to be connected according to the purple air wires. The same procedure as shown above.



Finish

Finally, when all the layout work is done, cut off the corners of the board outline (layer 23) according to the template, if you have not already done so. To do this, simply highlight a vertical edge line of the board outline. Click a black touchpad at the tip of a line by [M2]. A context menu opens. It gives option to "Miter the corner". Just entering the measurements of the cut will do it. Then delete the original image from layers zero or layer 14. Decide if you want to create a ground plane now (maybe independently from the image).

By the way: You can also underlay images of inner layers. To do this, you would have to have X-ray the original board to create images representing the conditions on inner layers. This might sound unusual, but it's simple to do.



In edition "design station"...

The edition design station, offers a further, different solution focusing on "Reverse Engineering". It works since version 15 and still does beside the above mentioned:
The company Diagnosys offers a printed circuit board diagnostic system called "Pin Point", which generates the corresponding net list by pin point scanning. TARGET 3001! reduces the complexity of the netlist by a heuristic approach. Components and signals are clearly allocated to several schematic pages using a Simulated Annealing algorithm. This makes it very easy to create a new board layout from the old one. This feature is only available in edition "design station".

Delayering a six-fold multilayer board

The following images show the individual layers of a 6-fold multilayer, ready for reverse engineering.

Copper top
The copper top side of the board
Copper inside_1
Inner layer #1
Copper inside_2
Inner layer #2
Copper inside_3
Inner layer #3
Copper inside_4
Inner layer #4
Soldering side
The soldering side, copper bottom