Pcbnew chap4 JA
Linking a schematic to a printed circuit board
Generally speaking, a schematic sheet is linked to its printed circuit board by means of the netlist file, which is normally generated by the schematic editor used to make the schematic. Pcbnew accepts netlist files made with Eeschema or Orcad PCB 2.
The netlist file, generated from the schematic is usually missing the footprint modules that correspond to the various components. Consequently an intermediate stage is necessary. During this intermediate process the association components/modules is performed. In KiCad, CvPcb is used to create this association and a file named * .cmp is produced. CvPcb also updates the netlist file using this information.
Cvppcb can also output a "stuff file" *.stf which can be back annotated into the schematic file as the F2 field for each component, saving the task of re-assigning module footprints in each schematic edit pass. In Eeschema copying a component will also copy the footprint assignment and set the reference designator as unassigned for later auto-incremental-annotation.
Pcbnew reads the modified netlist file .net and, if it exists, the .cmp file
In the event of a module being changed directly in Pcbnew the .cmp file is automatically updated avoiding in this way the requirement to run CvPcb again.
The following figure illustrate the whole work-flow of Kicad and how intermediate files are obtained and used by the different software tools that made Kicad.
Procedure for creating a printed circuit board
After having created your schematic in Eeschema:
- Generate the netlist using Eeschema.
- Assign each component in you netlist file to the corresponding module (often called footptint) used on the printed circuit using Cvpcb.
- Launch Pcbnew and read the modified Netlist, this will also read the file with the module selections.
Pcbnew will then load automatically all the necessary modules. Modules can now be placed manually or automatically on the board and tracks can be routed.
Procedure for updating a printed circuit board
If the schematic is modified (after a printed circuit board has been generated), the following steps must be repeated:
- Generate a new netlist file using Eeschema.
- If the changes to the schematic involve new components, the corresponding modules must be assigned using Cvpcb.
- Launch Pcbnew and re-read the modified Netlist (this will also re-read the file with the module selections).
Pcbnew will then load automatically any new module, add the new connections and remove redundant connections. This process is called forward annotation and is a very common procedure when a PCB is made and updated.
Reading netlist file - loading footprints
Accessible from the icon [[Image:]]
|Module Selection|| Components and corresponding footprints on board link:
normal link is Reference (normal option
Timestamp can be used after reannotation of schematic, if the previous annotation was destroyed (special option)
|Exchange Module:||If a footprint has changed in the netlist: keep old footprint or change to the new one.|
|Bad Tracks Deletion||Keep all existing tracks, or delete erroneous tracks|
|Extra Footprints|| Remove footprints which are on board but not in the netlist.
Footprint with attribute "Locked" will not be removed.
Loading new footprints
When new footprints are found in the netlist file, they will be automatically loaded and placed at coordinate (0,0).
New footprints can be moved and arranged one by one. A better way is to automatically move (unstack) them:
- Activate footprint mode
|[[Image:]]||activate the "footprint mode".|
|[[Image:]]||footprint mode activated.|
Move the mouse cursor to a suitable (free of component) area, and click on the right button
- Move New Modules if there is already a board with existing footprints.
- Move All Modules, the first time (when creating a board).
The following screenshot shows the results.