# Neurocam 1.0 USER MANUAL

## Contents

Chapter 1 Problem and solution with Neurocam
Chapter 2 The visual data input environment
Chapter 3 The automatic pattern processing environment
Chapter 4 The micromorphing technology
Chapter 5 Customer defaults and formats
Chapter 6 Neural network parameters setting
Chapter 7 The files transfer environment
Chapter 8 Statistical data generation
Chapter 9 Installation guide

Chapter 1 Problem and solution with Neurocam
1.1 Drilling misregistration in multilayer pcb
1.2 How to apply Neurocam for low cost problem solving
1.3 System requirements
1.4 Neurocam hardware

Chapter 2 The visual data input environment
2.1 Insertion of data in offset format
2.2 Insertion of visual data with Virtual Reality Measure System
2.3 Putting only the corners data
2.4 How to map the board on the menu panel
2.5 The RUN and RUNVR commands
2.6 Showing old files and new files
2.7 Special commands and settings

Chapter 3 The automatic pattern processing environment
3.1 The basic theory
3.2 The test coupon shape and behavior
3.3 The two edges monitoring system
3.4 Insert test coupons in your panels
3.5 Lay-up informations setting
3.6 Automatic detection of data from ml-pcb
3.7 Running the micromorphing algorithm

Chapter 4 The micromorphing technology
4.1 Vantages of micromorphing algorithm
4.2 The steps after drilling
4.3 The future

Chapter 5 Customer defaults and formats
5.1 Drilling and Gerber format
5.2 Mirroring
5.3 Set test coupon alarm edges
5.4 Names of layers
5.5 Test coupons drill and Gerber files generation

Chapter 6 Neural network parameters setting
6.1 Parameters setting

Chapter 7 The files transfer environment
7.1 Network connection
7.2 Parameter setting
7.3 Files transfer

Chapter 8 Statistical data generation
8.1 Numerical data on laminates distortion
8.2 Numerical data on drill coordinates corrections
8.3 Graphical data on laminates distortion
8.4 Graphical data on drill coordinates corrections
8.5 Graphical spread on laminates distortion
8.6 Graphical spread on drill coordinates corrections
8.7 Test coupon tuning
8.8 Project Process Fitness test(PPF)
8.9 Multilayers test

Chapter 9 Installation guide
9.1 Software installation
9.2 Hardware installation

# Chapter 1: Problem and solution with Neurocam

## 1.1 Drilling misregistration in multilayer pcb

It' is a very hard problem caused by the shrinkage/expansion of FR4 laminates during the entire process of ml-pcbs manufactoring. While the coordinates of drilling are nominal, the coordinates of the related pads contain a position error and the result is a mismatch hole/pad or hole/flash that can be critical for behavior and affidability of pcb.
Actual solutions are the Multiline registration system that can distribute the error in X and Y (with the resut of divide it x2) and the X-Ray machines that looking some patterns inside the board can give an offset/rotation of registering holes in order to optimize the position of drilling image.
In any case the X-Ray machine can obtain a result similar to Multiline registration system if the board has shrinkage/expansion: if you apply an offset/rotation to drill image, you do not effectively put any hole centered in the related pad but only you optimize the global error.
Neurocam is a new solution to the problem, and is born by the study of statistical data generated in actual manufactoring environment. It can apply a "micromorphing" action, modifing any coordinate of the drilling image indipendently, in order to center perfecly the pad. It can compensate any shrinkage/expansion/distortion of the laminates, appling the same to drilling images.
Someone can think that outer layers, solder-masks or electrical-test-jig and automatic SMT mounting machines will have mismatch on the board: follow we will analize the problem with "real numbers" and real process factors, in order to discard this thesys in five points.

    1) The neuro-based micromorphing algorithm can skip any particular
       tool selected by user leaving unvaried the coordinates related
       to this tool. This fature enables the user to mantain the correct
       coordinates of registration/mechanical holes or simply holes
       that are not critical, being related with large pads.

    2) The topic correction to apply on a multilayer is normally inside
       the limit of 5 mils, specially while the manufaturer is using a
       Multiline registration system(a global shrinkage or expansion
       of 10 mils). This is true in the case of any layer has the same
       behavior and thus very improbable. Considering the different
       behavior of the layers the optimal topic correction can be
       normally  more little. While the number of layers grows, this is
       more and more true. Also in the limit case of 5 mils, the problem
       of coupling the outer-layers is not so critical like the problem
       of annular-ring loss or short with gnd in the uninspctionable
       and uncorrectable innerlayers.

    3) Also if the correction of outer-layers and solder-masks can be
       needed in limit cases, it is possible with the Neurocam algorithm,
       to make it directly on Gerber files obtaining the pefect match
       with drilling(if removed film distortion in photoplotting).
       The Jig drilling files can be modified correctly if them are
       generated by a BareBoard file. If the signals database is generated
       by a Gerber processor, it is possible also use the modified Gerber
       files of the outer layers like input for it, in order to create a
       signals-file with matching coordinates.

    4) The problem of mismatch related with automatic mounting machines
       does'nt exist in the considered range of error. Effectively the
       error of 5 mils in positioning a component does'nt create a
       problem because of the solder-past while refuses pulls the
       component in the correct position. Really this is normal because
       outer layers of many pcb are not nominal.

    5) While a superficial evaluation of this system can make doubts,
       a serious analisis of statistical data of the real problem
       can demonstrate that Neurocam has centered the problem with
       his variables in an actual manufactoring environments.

## 1.2 How to apply Neurocam for low cost problem solving

Neurocam can be used in two environments that differ in the mode how the data about misregistration are created.
In the visual environment, the user can apply the program to a simple low-cost X-Ray camera and put the misregistration data for any desired zone on the surface of pcb. It can be made selecting an offset or simply recreating the image of the camera in the "Virtual Reality" environment.
In the automatic pattern processing environment, the program is able to detect the innerlayers misregistration while the CNC machine is drilling particular very small test coupons. The program can make it, sampling an electric signal from pcb through a special probe.
This is an instrument that has high speed and accuracy in discovering innerlayers misregistration and creating data for any use. With both the solution, after the misregistration data are created, the "RUN" command make a new file for any file present in the list of input(drill or Gerber file).
The results of automatic pattern processing are immediately available in fashion graphical format like planar sections and hole-crossing sections. The result of "micromorphing" algorithm on files can be seen after the "RUN" execution in a graphical double plane composed of input and output files.
Before the use of the "RUN" command that implements the neural-based micromorphing algorithm, the user must be sure that the customer default parameters are correctly setted(see the chapter 5).

## 1.3 System requirements

    Neurocam 1.0 can run on a PC with:
    486 DX2 66 Mhz Processor
    DOS 6.2 Operative system
    VGA Color Monitor in mode 640x400(driver setted as standard VGA)
    16 Mb Extended Memory

## 1.4 Neurocam hardware

The only hardware provided with Neurocam, is the probe that must be connected to the parallel port(LPT1) of the PC. This is used in the automatic pattern processing environment to detect the signal from pcb when the drill is drilling the test coupons.
The probe is shown in fig 1.1. The terminals of the probe(that must be connected to the ml-pcb) are three special screws named "Taptite" having the property of self-fillet with high adherence without material removing.
Two of the three screws must be insulated from the external copper surface.
It is possible to change them, chosing longher or shorter ones.
The probe is provided of three leds that rispectively show the sampling activity of the algorithm, the master signal presence and the fault signal presence from the ml-pcb.
NOTE: it is recommended the use of Taptite screws with diameter of 3 mm.
fig1.1

# Chapter 2 The visual data input environment

## 2.1 Insertion of data in offset format

Choose the "Visual input processing" environment.The menu shows some options and commands. Select the command "PANEL" and you will see the mapping of a board in 200 zones(20x10). Select the zone where you want to put the offset-data, clicking left on the position, and choose the "OFFSET" command. Now you can select in the same mode the offset that you want to apply to coordinates in the previously selected zone.
The MUL factor is the multiplication factor normally setted MUL x 1. Choose the "SET" command to apply or the "EXIT" command to discard. At this step you have inserted the first offset. You can insert any new data in the same mode and you can see the positions previously inserted choosing the "DATMAP" command.
If you want discard all the inserted data, choose the "DELETE" command and after the "DELETE ALL" command.

## 2.2 Insertion of visual data with Virtual Reality Measure System

Choose the "Visual input processing" environment. The menu shows some options and commands. Select the "VRD" command and set the measure of holes and pads that you are looking with your X-Ray camera.
Select the command "PANEL" and you will see the mapping of a board in 200 zones(20x10). Select the zone where you want to put the offset-data, clicking left on the position, and choose the "VR" command. Now move with arrows the position of the hole related to the pad, in order to reproduce the image that you see on the camera. Press "=" to set the datum and quit or "x" to discard datum and quit. Repeat the process from the selection of the zone, for any zone where you want put the datum.
This system has terrific precision and speed while is very easy to use by any person. It is based on the fact that for human mind is very hard the evaluation of a distance between two objects while it is very easy to reproduce an image with the correct proportions moving the object in a "virtual space" (fig2.2).

## 2.3 Putting only the corners data

The data must be sufficiently distributed on the global board surface and the corners must be covered. If you want you can put only the data related to the four corners and choose the "INTERPOL" command to make a primary rough interpolation:this is the fastest process to insert data and is more sure because of it reduces the probability of wrong data insertion.

## 2.4 How to map the board on the menu panel

If you don't use the "INTERPOL" command due to insert particular distortions informations in the center of the board(this is a particular limit case), you must map your board surface on the menu panel. This is not difficult with a little experience in using this tool, but in any case you can divide with a pencil, the surface of your board in 20 zones in X and 10 zones in Y. Don't worry if your board has different proportion(x>y):this is not a problem. Remember in any case that the origin of the board(the smallest x/y in the drill file) is in the left-down corner of the menu-panel and that the orizontal axis is the X-axis while the vertical axis is the Y-axis.

## 2.5 The RUN and RUNVR commands

Before any other operation you must specify the names of the files that you want to correct. You have 7 positions:
1)Drill
2)Gerber (outer layer 1)
3)Gerber (outer layer 2)
4)Gerber (solder-mask 1)
5)Gerber (solder-mask 2)
6)Jig-Up
7)Jig-Mid (guide plane)
Normally you will use only the Drill file:put the name of the drill file in the first text field and cancel any name on the other fields.
These commands implement the "micromorphing" on the files that are specified in the menu text fields. The input files must be previously copied on the "\neurocam\input" directory and the output files(with the corrected coordinates) will be created by the program to the "\neurocam\output" directory. You must use the "RUN" command if you have inserted data in offset format, while you must use the "RUNVR" command if you have inserted data with the Virtual Reality Measure System. For this motive you can't insert data mixed with both systems.
The difference between the two algorithms is only based on the fact that the database of the offsets is witten in a neutral format (compatible with a neural network algorithm) and the conversion of output data are based on different values.
The basic algorithm is based on a Back-Propagation neural Network with two hidden neurons-layers and is able to learn any complex interpolation law that links the position(x,y) to the offset(x,y). After the running one of the above mentioned algorithms you can see the result of the micromorphing like explained follow.
fig2.2

## 2.6 Showing old files and new files

After the runnung of the "RUN" or "RUNVR" program you can see the result on the coordinates files with the following superposition combinations:
1) Drilling new on drilling old
2) Gerber 1 new on Gerber 1 old
3) Jig-up new on Jig-up old
4) Drilling new on Gerber 1 new
5) Jig-up new on Gerber 1 new
Normally you will look only the first option where you can see the coordinates of the modified file on the coordinates of the original one. You are enabled to make zoom on any zone and make measure of the offset(mils). The origin of the file is mapped on the low-left corner of the video. You must click left on the mouse due to have the zoom and click left again to return to complete image.
If you have modified some other type of files you can see the matching of the output with the 4) and 5) options. When you use these options you must sometime manually to registrate one file on the other beacuse of the Gerber image can have a not prfectly distributed dimension on the drilling file. To register the files you must before make a zoom and after click left on the circle at the up-left corner of the video. The cursor will look like an aircraft. Click left again in the position of a drill pattern and click again in the position of the related Gerber pattern. Sometime you need to repeat this process two or three times, but after you are enabled to see the correct matching between the files.
If the files don't match means that a wrong parameter setting exists in the customer defaults:check it and re-run when correct. The zoom can be setted off-line at the desired value of amplification using the command "ZOOM-SET".

## 2.7 Special commands and settings

The "RUN_S" command saves the brain file(the file that contains the sinaptic values of the neural network) after the neural network training. It is the same command of "RUN" plus this particular feature that enables you to process an other file in a second time with the command "L_RUN", loading the previously saved sinaptic file and skippig the learning process. The means of "RUN_S" and "L_RUN" are rispectively "run and store" and "load and run". These commands are correctly usable only for the offset-data input with the MUL factor setted equal to 1(not for the vr-data input).
The "DELETE" command enables you to delete all the data in the input data file(the offset to apply), and is correct to use it before any new job. You can cotrol the positions of the previously inserted data with the "DATMAP" command.
The "VRD" command enables you to change the dimension of the hole and the related pad that you want to use with Virtual Reality Measure System.
The "MIRROR" command enables the mirroring of the data that you insert: you need to be sure that it is correcly setted(normally not mirrored). It is used for vision systems that mirror the image.
The "SIDE" command similarly enables the mirroring only on the X axis, and is used for data input looking the board from the two opposit faces. Normally with a little X-Ray camera you see the board on the component side, so you must set "not mirror x".

# Chapter 3 The automatic pattern processing environment

## 3.1 The basic theory

This system is based on the fact that the drill while is speedly rotating iside the FR-4 and removing material, behaves like a "dynamic metallization" of the hole. This means that with a particular test coupon we can detect some electrical links between layers.
The test coupon is composed of 20 zones, one for any testable layer, and any zone has 6 holes. We can detect, for any layer, six signals associated with different meanings.
The electrical signal derived by the short circuit created by the drill between layers is sampled through the parallel port of the PC using a special probe.
The coupon must be inserted at the four corners of the pcb without mirroring or rotating.

## 3.2 The test coupon shape and behavior

The basic shape is equal for any layer but is placed in different positions(the basic shapes are not superimposed). A basic shape is shown in fig 3.1 where you can see the six holes and the related six flashes without copper.
The first position is monitoring the left(x-) movement of material with the alpha size.
The second position is monitoring the right(x+) movement of material with the alpha size.
The third position is monitoring the up(y+) movement of material with alpha size.
The fouth position is monitoring the down(y-) movement of material with the alpha size.
The fifth position is monitoring the y+/- movement of material with the beta size.
The sixth position is monitoring the x+/- movement of material with the beta size.
When the material has moved of a alpha size in some direction, one or two(x/y) of the first four holes contacts the copper, and it means that the drill contacts the copper. In the same position on other layers there is a copper line that behaves like a return line for the signal. In this mode the the connection between the points A and B of the fig 3.2 is completed using drill like a "wire".
The input of signal and the return of signal are made through three holes where special screws are inserted. Two signals are involved in the process: the master-signal coming by external copper that is present for any hole, and the layer-signal that is present only on fault. The three wires of the probe are related to these signal and a common return line(fig 3.8).
fig3.1

## 3.3 The two edges monitoring system

The Neurocam test-coupon is based on the monitoring of two alarm edges. It can be demonstated that monitoring two edges, actual process environments misregistration can be corrected sufficiently to reach quality goals in actual project constraints. This rule can be applied also to future, considering that an enhancement of project constraints will be possible only after an enhancement of materials characteristics.
Tab3.1 is a self-expaining table of the above discussion: this table must be view also in the negative direction, demonstrating how a +/-12 error can be transformed in a +/-4 error using two edges alarms. Customer must choose the correct values for the two edges, tuning them on his statistical data of misregistration and on his project and quality constraints.

    Example:
              Hipothesys:
                statistical data:    max misregistration  = 12 mils
                project constraints: pad = 25 mils  hole(diam) = 0.4 mm(~15 mils)
                quality constraints: minimum annular ring = 1 mils
              Thesys:
                max misregistartion(drill to layer) admitted:
                (pad - hole(diam))/2 - minimum annular ring = (25-15)/2-1=4 mils

              In this case we choose low alarm edge = 4 mils and a high alarm
              edge as
              high_alarm_edge = (max_misreg + low_alarm_edge)/2=(12+4)/2 = 8 mils

STARTING ERROR | LOW ALARM | HIGH ALARM | CORRECTION | RESULTING ERROR
+1 | - | - | 0 | +1
+2 | - | - | 0 | +2
+3 | - | - | 0 | +3
+4 | FIRING | - | -4 | 0
+5 | FIRING | - | -4 | +1
+6 | FIRING | - | -4 | +2
+7 | FIRING | - | -4 | +3
+8 | FIRING | FIRING | -8 | 0
+9 | FIRING | FIRING | -8 | +1
+10 | FIRING | FIRING | -8 | +2
+11 | FIRING | FIRING | -8 | +3
+12 | FIRING | FIRING | -8 | +4

Tab3.1
Neurocam can help you to find the correct choice with some tools provided in statistical data environment. With these tools you can see how two edges cover the range of possible misregistrations, and you have some statistical data, that helps you to refine your edges values in order to optimize the information content.
For more information about the above, look at the chapter 8 (statistical data generation).
The test coupon edges must be setted in the customer default environment and the test-coupon's Gerber files related can be generated fastly, to insert in your panels(see chapter 5).
fig3.2

## 3.4 Insert test coupons in your panels

You must, before, generate the test coupons drill-file(Excellon format) and the Gerber files. You 'll find in the directory "\neurocam\output", accessible by the ftp-environment-menu, the 20 Gerber files related to the monitorable 20 layers. Choose a match between the 20 more used layer types of your layers-table and the 20 positions of Neurocam.
Place, for any layer, on your recallable panels(related to the single layer type)the test coupon in the four corner.

    Example 1:

            You choose match layer_A(signal) to layer 1 of Neurocam.
            You must place on your layer_A panels the "sig_1.ger" file
            at the four corners(without mirroring or rotate it!).

    Example 2:

            You choose match layer_B(ground) to layer 2 of Neurocam.
            You must place on your layer_B panels the "sig_2.ger" file
            at the four corners(without mirroring or rotate it!) creating.
            before a rectangular flash(without copper) full-containing
            the test coupon.

The same must be made for any of the 20 layers. Layers table, normally, contains more than 20 layers, but some of them are most frequently used and some of them are less interesting for monitoring being full-ground layers(restricted material movements).
The choice must be made on the most frequently used layers giving preference to the signal layers(less copper=more material movement).
After this step you must create the drill file of test-coupon, for any panel size you are using, in order to have a CNC program ready for any panel. This CNC program is that you must use when you connect the probe to the pcb and run the sampling program.
You must use the single coupon drill file(Excellon format) "necam.dnc", that contains a pause command, needed for the change of the probe position on current corner by the operator. This file must be replicated in the 4 corners of the panel.
The drill file has the same origin of the gerber file and the correct position between them is that one you can see showing both the files (see fig 3.3 where RED=holes YELLOW=copper).
When you have built the test-drill file and the panel with the test coupons, you can overlap them verifing if the distances between the circumference of the holes and the edges of the copper are equal to the monitoring vaules that you set when you created gerber files of coupons(fig 3.4).
An important work must be made on copperfoil preparation, because of two of the three screws of the probe must not be in electrical contact with external copper surfaces of the pcb. In order to obtain this result it is needed to punch copperfoils in the positions shown in fig 3.5 with punch diameter = 5 mm.
The diameters of the drills used in the drilling test-coupon program are:
probe insertion holes(2)=> diam=2.5mm
detection holes(121)=> diam=0.5mm
fig3.3

## 3.5 Lay-up informations setting

Any time you are starting to detect misregistration data on a panel, you must set the number of present layers. For do it, you must select the "LAY_UP" command and click on the switches to have the "green +" (active switch) on the layers that are present on the board with coupon. If you desire that sampling data go on the statistical database, correctly, choose the "STATISTICAL" command and fill the fields related to the present layers. In any field you can put the information about the thikness(2 digits), the layer type(gnd/signal/mixed), the panel size and the supplier of the laminate. The first information can be expressed as 01, 02, 03 ...etc(where 01=0.1 mm), but you can choose any other interpretation of two digits. The second information is made by only one digit, and you must decide one time forever, the letter associated to a type. You must make the same thing with the panel format and the suppling firm.
You must choose the mixed type when the layer is on a laminate that support both signal and ground layers. NOTE: while data in the statistical menu are needed only in order to have correct statistical informations, the switches setting present layers are necessar to have the correct input to the micromorphing algorithm that optimize the drilling coordinates.

    NOTE: if you have a layer without test-coupon but really present
          in the board you must set it like present. This is necessar
          to calculate correctly the average error, considering that the
          the layer wich you decided do not monitoring must be a layer
          with overlookable shrinkage(example: full GND).

fig3.4

## 3.6 Automatic detection of data from ml-pcb

    a) Put your panel on the CNC machine.
    b) Load the drilling program of the four test coupons for
       the panel format, on the CNC machine.
    c) Load the two tools(the first is for probe holes).
    d) Start the drilling program and complete the drilling
       of the probe-holes with the first tool.
    e) Connect the three screws to the first coupon.
    d) Choose the "PROBE" command on menu.
    e) Choose the "TEST" command on menu.
    f) Press the SHIFT-S key to start sampling.
    g) Start the drilling of the first coupon with the second tool
       (NOTE: 1000 msec pause between holes)
       and wait the led on the probe is off or the menu display
       the SHIFT-S wait for the next coupon sampling
    h) Move the probe to the next corner.
    i) Repeat steps from the "f" for all the 4 coupons
       (moving any time the probe in the coorrect position before).
    l) Press any key to continue.(*)
    m) Look at the result of sampling chosing the "DISPLAY" command;
       you can see the rectangles tuning the amplification of the
       misregistration error(fig3.7),
       or the planar section showing the two edges fault
       (green=low edge alarm / yellow blinking=high edge alarm).
       You can see the hole-crossing-sections remembering that the
       dimensions of pad and hole shown are tuned by the "VRD" command
       in the Visual Input Environment(fig3.6).

NOTE: This time can be optimized relately to pcb thikness: lower thikness requires lower pause time.
The total duration of a sampling is controlled by the number of samplings written in the "scanner.cfg" ascii file that has the following format "1600000x10": the number after "x" is not actually used but the number before "x" is the number of samplings. You must write a number correct for the speed of the computer you are using, in order to have a duration covering all the drilling time of one test-coupon(the default is setted for a 486DX266 CPU x 130 secs).
The sampling time can easly measured during a simulation of sampling: it is the time interval between you make a contact on the probe(blue wire to green wire) and the led turn off.
fig3.5

## 3.7 Running the micromorphing algorithm

This operation is the same of that one in the Visual Input Environment and makes the generation of new files with optimized coordinates.
In this case, the misregistration information, is token from the sampling result instead of the manual input of the operator.
fig3.6
fig3.7
fig3.8

# Chapter 4 The micromorphing technology

## 4.1 Vantages of micromorphing algorithm

This algorithm enables you to correct any type of deformation, while an offset can only optimize the position of the global image of drilling. The X-ray machines can optimize the offset/rotation of the registration holes for any panel but cannot correct better than a Multiline registartion system when a shrinkage is present.
Statistical data confirm that the most uncontrollable(or most difficult to control)problem is dimensional stability, because of dynamical change of materials suppliers, artwork conservation management and new pcb lay-ups with no statistical data.
The dimensional variation inside a lot of pcb with the same lay-up has, normally, a very restricted spread. Someone can think it is not true in his process: the cause is that these data have often noise of mechanical registration problems that have a random nature.
Mechanical problems are, however, more easy to control providing the process of good registration mechanical components and avoiding wrong procedures. This is an aspect that is often not considered sufficiently. If mechanical registration systems work correctly, the dimensional stability is the biggest problem and can be measured on some champions inside a lot of pcbs having the same lay-up.
Note that the correction made by a micromorphing algorithm is the best possible and, also in presence of random errors added, the result can be very good, considering that expansion/shrinkage makes the bigger error.
Actually some testing systems can test electrically special coupons in order to have statistical data. These systems are very intelligent but don't consider the following problems:

      - new lay-ups have no statistical data and require a correction
        in real time of drilling

      - the correction of artwork is sometime hard to manage

      - the suppling firms of materials can be changed because of
        cost and the old statistical data are no more attendible

In any case Neurocam is capable of enfold statistical data that can be used to correct the artwork when the above problems are not present.

## 4.2 The steps after drilling

The outer layers can be modified like the drilling file, but it is really needed only in same cases. The drilling file of the jigs are modifiable(if the outer layer is modified and smd exists), but it can be necessar only in limit cases, when fine pitch smd components are present and critical conditions exist.
The global micromorphing process can be applied on particular pcb, but normally a topic correction of 4 mils in drilling position can save an annular ring or prevent a gnd short, while doesn't create a problem in outer layer matching.

## 4.3 The future

The perfect distance between two far patterns in a layer of a ml-pcb, is relly not needed for the correct behavior of the same one. Why must we look for realize the perfect CAM distance when the material cannot be perfect like the software? Why cannot we make that material commands the CAM if it is not a problem? Effectively, the only measures that can be important are those ones determining impedence values, but these are related to very near patterns(line to parallel line, line dimension etc): it is not the difference of 5 mils between two lines at the extremes of the board that makes problem about it.
It is possible to think a future where any CAM system of a process chain adapts the outputs to process realty.

# Chapter 5 Customer defaults and formats

## 5.1 Drilling and Gerber format

    Drilling input file can be any format with the following constraints:

    - absolute coordinates (no incremental coordinates)

    - no rotating/mirroring/step&repat commands inside the code

    - a carrige-return divides the coordinates

    - the tools change must be made by a "Txx" string followed
      by a carrige-return.

    - the "T01" or "T1" string followed by a carrige-return cannot
      exist in the heading.

    End of file command is not required and coordinates with only
    X or Y are accepted and associated with the last memorized.

    EXAMPLE:
                COMMENTS
                COMMENTS
                T01
                X23456Y34567
                X2345
                Y3000
                T2
                X2000Y2000
                Y100

    is a correct input file with absolute values of coordinates.

    The Gerber format must have the following constraints:

    - absolute coordinates(no incremental coordinates)

    - no rotating/mirroring commands inside the code

    - "*" is the separator of coordinates

    For both drilling and Gerber files it is possible to set the
    U.M in inch or mm. In the first case the precision can be setted
    at 2.3 or 2.4 and in the second case is fixed at 3.2.

## 5.2 Mirroring

All the files can be mirrored in X and/or Y. This feature is provided considering the possible mirroring of the components side artworks in order to have emulsion in contact to pcb.
The four twins_switches related to Gerber are intended from left to right associated rispectively to Gerber1, Gerber2, Gerber3, Gerber4.

## 5.3 Set test coupon alarm edges

Choose "TEST_COUPON" command and write the desired values on the related fields. Normally X and Y have the same values and it is strongly recommended in order to avoid confusion.
If you want to generate on the output directory, the gerber files with these edge values and the drill file(it never changes), you must select the "GERBER-GENERATION" command. When you exit from menu the new values are automatically setted.

## 5.4 Names of layers

This setting enable you to see your own layers names in the lay-up mask when you are going to make a sampling of data.
It is very important that you can recognize fastly the present layers, looking an internal lay-up document, when you are selecting them.

## 5.5 Test coupons drill and Gerber files generation

You can generate the drill file of the test coupon that is fixed in any case of edges-values, and the Gerber files that change about them.
The files are created under the output directory, and are named as follow:

    necam.dnc = drill file
    sig_1.ger ...->...sig_20.ger = Gerber for signal layers from 1 to 20

You can use the "sig_n.ger" files also in the ground layes, putting them on a copper-uncovered area.
Before to create the new files you must set the D-code matching your own aperture table chosing the "CUSTOMER-DEFINITION" command under the "TEST-COUPON" menu. It is possible that you must add some D-CODE to your own table.
In order to regenerate the new files with the new edges you must choose the command "TEST-COUPON" in the "CUSTOMER-DEFAULTS" menu and after the "GERBER-GENERATION" command. After this step, the new files are in the output directory and you can transfer them to an host computer through the files transfer capability offered by Neurocam(see chapter 7).

# Chapter 6 Neural network parameters setting

## 6.1 Parameters setting

The settable parameters of the neural-network that makes the micromorphing of the drill and image files are following explaned:

    - EPSILON = learning rate
      It is the factor that tunes the speed of learning but the optimal
      values is inside the range 0.4 -> 0.7 as shown in the menu.
    - TARGET ERROR
      It is the target that the network must reach. A value of 0.4
      means that the maximum error that the network has when it
      implement the micromorphing is 4%. It is like to say that if the
      topic correction must be 5 mils it'll can be 4.8 up to 5.2 mils.
    - EPOCHS NUMBER
      It is the number of epochs of the neural network training.
      If the target error is reached before, then the training is, in any
      case stopped, but this number is a limit like a "timeout".
      These parameters are default setted and it is strongly recommended
      don't change them if not sure.

    NOTE: The only case that can need a change of max number of epochs
          can be that of a Visual Input Data Processing with a lot of
          data inserted in the global surface of the board. It can mean
          a very complex morphing relationship that need more epochs due
          to be learned by the network.

# Chapter 7 The files transfer environment

## 7.1 Network connection

The PC must be connected to an Ethernet network due to have the capability of files transfer to and from hosts. This is the most fast mode for do it, also if you can copy the files from and to the floppy drive.
Due to use the network transfer, your PC must be provided of a Ethernet card correctly configured and related driver installed.
The pc must be provided of network software that has the "FTP" command, and a "host-table" file containig the names and the related address of the hosts that you want reach.

## 7.2 Parameters setting

Choose the "FILES-TRANSFER" command and select the "LINK" comand. You'll see the table of the hosts. Insert in the apposite fields the names of the hosts and the login/passwords. The passwords will be visible only before the first transfer test, because while running the program will encrypt the password strings.
Select the "PATH" command and write the complete path of the gateway or source/destination area related to any host.
Because of the mask provides the setting of 6 hosts, normally, it is never required the writing of these data by operator that must only select the switches of the desired hosts link as explaned follow.

## 7.3 Files transfer

Select the host or the hosts enabled to the transfer, clicking on the swithces related, due to have the switch=(+) only for it or them. You can reach the hosts mask selecting the "LINK" command.
Write the local names and the remote names of the files that you want to transfer. Naturally the name of the source must be an existing file, while the target will be created, in both the cases of an input or an output operation.
Select the "IN" command or the "OUT" command depending of the operation that you want make. The number of the host actually connected is displayed and at the end of the global transfer, an errors table is shown.
In the case of multiple hosts selected, the behavior of the transfer is different in the IN and OUT operations. In the case of input, the files will be searched in any host and in case them exist in two or more hosts, the resulting files will be the same of the last host contacted.
In the case of output, the specified files contained in the output directory will be copied to any specified host.
If you want use the floppy drive as input/output gateway, you can simply select the commands "FLOPPY-IN" and "FLOPPY-OUT" chosing DOS valid names for both the source and the target.

# Chapter 8 Statistical data generation

## 8.1 Numerical data on laminates distortion

In this environment you can see the average of distortion in any single corner of laminate in X and Y. You can select all type of laminates or discriminate using the characteristics that you have previously loaded in the lay-up configuration statistical data before any automated detection.

    These characteristics are(see also chapter 3.5):
    -2 digits = laminate thikness
    -1 digit  = type (ground/signal/mixed)
    -1 digit  = format
    -1 digit  = suppling firm

(the character '*' can be used as wildcard in some or all fields). You are enabled to see the total period from start using Neurocam up to actual period, a limited period from start, or a limited period back from today. This means that you can calculate the average of material movement data removing possible noise from them.
The period must be selected with the "thermometer-bar" resources and the result can be seen on the left of the menu, after the completion of the "START" command execution.

## 8.2 Numerical data on drill coordinates corrections

This environment can display average of data like the previous, selecting periods and format. In this case the data are related to the global correction of drill coordinates on any board, instead of the single laminates. Because of it, the only selective charcteristic is the dimension of the panel that can be selected with a precision of +/-10%.

## 8.3 Graphical data on laminates distortion

This graphical environment shows the misregistration error with the number of laminates in the X axis and the error in Y axis.
The error is shown in red = X-error and in yellow = Y-error in four windows. Any windows shows the error in the related corner of laminate, in a range of 275 boards.
Like the numerical environment this program enable you to select the characteristics of the laminates that you want monitor with the same modality.
Clicking right on mouse, you go to see the next 275 boards tested with Neurocam, while clicking left you go to see the previous ones.
You can toggle the visualization of only X-error, Y-error or both.
In order to exit from this environment, click simultaneusly, both left and right mouse buttons.

## 8.4 Graphical data on drill coordinates corrections

The behavior of this program is similar to the graphical data environment for laminates. As we have seen also before, the difference is that the only selective data are the approximative dimensions of the panel(fig8.1).

## 8.5 Graphical spread on laminates distortion

Sometimes it can be useful to see spread of data, specially, related to particular types of laminates and suppling firms. This enable you to have intelligent data that can help you to choose suppliers and best materials to make your lay-ups. The spread data related to a single type of laminate with all the characteristics selected(no wildcards) is very important due to renforce the hipotesys of uniformal shrinkage/expansion in a lot of boards with the same lay-up. This is a very important hypotesys for the best use of the Neurocam micromorphing alorithm, and the Neurocam user must be determined to create the best utilization conditions. Clicking right on the mouse you add the data of the next laminates group, while clicking left, you reset data to the first group of laminates (fig8.2).
fig8.1

## 8.6 Graphical spread on drill coordinates corrections

This program has the same characteristics of that one related to the laminates, but the selective data are restricted to the approximative dimensions of the panel. All the data related with the drill coordinates correction, are not so meaningful like that ones related to laminates.
While the last ones can help in the choice of material, supplier and in the preventive correction of the artwork, the previous ones can only give a supplementary information about the current process.
fig8.2

## 8.7 Test coupon tuning

This is a very important feature of Neurocam that helps you to refine the alarm edges values of the test-coupon, optimizing the information content. The program makes it using the statistical data of laminates.
The best information content of a two alarm edges system is performed when, in significant statistical data, the two edges are fired with 50% probabiliy anyone.

    EX1:  number of laminates tested = 2000
          number of low-edge fired   = 500
          number of high-edge fired  = 20
    In this case both the edges are too high and often not fired

    EX2:  number of laminates tested = 2000
          number of low-edge fired   = 1500
          number of high-edge fired  = 300
    In this case the low-edge is too low and the high edge is to high

    EX3:  number of laminates tested = 2000
          number of low-edge fired   = 1000
          number of high-edge fired  = 1000
    This the optimal situation of the edges values because of the information
    content is the higher possible.

In this environment you can tune the optimal values of the alarm edges relating it on particular historical data or on all the historical data.
So you can remove any type of noise in the operation of tuning your edges. You can also select the tuning of the edges on particular laminates types, but it is really not usefull, so it is better to insert globally the wildcard in the control string("******").
Select the command "TUNE" and look at the tuned results for any period that you have selected.

## 8.8 Project Process Fitness test(PPF)

This utlity shows how much, two alarm edges can be a good information in order to correct drill cordinates. This test is made considering your project constraints and the quality of your process.
You can set the low edge equal to the maximum error that you can accept considering your project constraints(ex:pad and hole diameters) and the quality target(ex:minimum annular ring), and the high edge equal to the average of the maximum error that you forecast thinkink to your process and the low edge.

      critical project constraint:

                                  pad(diam) = 25 mils
                                  hole(diam) = 15 mils
                                  nominal annular ring = 5 mils

      quality target:

                                  minimum annular ring = 1 mil

      known process quality:

                                  maximum error forecasted = 10 mils

    LOW-ALARM-EDGE= (pad(diam)-hole(diam))/2 - minimum annular ring = 4 mils

    HIGH-ALARM-EDGE= (maximum error forecasted + LOW-ALARM-EDGE)/2 = 7 mils

      Select the "GO" command end you'll see the the global range of error
      on wich you are covered with these two edges (on one layer).

## 8.9 Multilayers test

The above procedure is related at only one layer behavior, while the follow one is related to the matching of two(that is the same of many) layers and drilling. It makes a test in user defined conditions of max drill-to-layer and max layar-to-layer misregistration.
Select the command "GO" and answer to the question as explained follow:

      max-layer-to-layer misreg = a credible value in your process

      max-drill-to-layer misreg = a credible value in your process

      low edge = as explained in the provious paragraph rule

      high edge = as explained in the previous paragraph rule

The program will ask if you want the step by step execution or the one-step execution. In the first case you can see any possible combination of the layers misregistration, while in the second one, you can see only the final result.
The result shows the total number of misregistration combinations and the percentage of them that are out of the target condition (error<=low edge), also after the correction. If you choose the step by step execution you will see any combination with the old original error and the final error, distinguishing by the color the passed from the fail.
It is obvious that a high layer-to-layer misregistration disables any possibility (or reduce the probability) to reach the quality target(es: minimum annular ring=1mil).

The following applet is a java version of the above descripted program:
Here would be an applet with an enabled browser

# Chapter 9 Installation guide

## 9.1 Software installation

Insert the install disk 1 on the drive A and type "a:\install". Insert the install disk 2 when the program ask for it and press enter. The program is installed.
Save original config.sys with the name config.old and add the following line in config.sys:

    DEVICEHIGH = C:\WINDOWS\RAMDRIVE.SYS 8192 /e
    if your system has Windows 3.1 installed

                       or

    DEVICEHIGH = C:\DOS\RAMDRIVE.SYS 8192 /e
    if your system has only DOS 6.0.

You must be sure that your computer has 16Mb extended memory. If your computer has more memory (ex 32Mb) you can create a bigger ramdrive (consult your DOS manual).

## 9.2 Hardware installation

To install the Neurocam probe, you must simply to connect it to the parallel port(LPT1) of your pc and lock the connector with the screws.
"Multiline" is a Trademark of Multiline International
"Taptite" is a Trademark of Taptite International