File Tab

The file tab accesses all interactions with project related files, including the Pix2Net project file, image files, gds, etc.

filebar

The following tools are available in the File tab:

New Project

newproject

The New Project icon creates a new Pix2Net project. When the icon is left-clicked, the following menu will pop up:

newprojectwindow

A new Pix2Net project is a directory consisting of 3 subdirectories and a Pix2Net.prj file.

projectdirectory

archive
Stores zip files for backup purposes
data
The database files
images
Images stored as an enumerated directory for each image layer

For a tutorial see: Importing and Stitching Images

Open Project

openproject

The Open Project icon pops up a browser to navigate to, and open an existing Pix2Net project file.

openprojectwindow

The Pix2Net project files are stored as Pix2Net.prj

Open Recent

openrecent

The Open Recent icon opens a menu of the five most recent projects opened in Pix2Net.

openrecentmenu

Close Project

closeproject

The Close Project icon will close the current project. All changes are automatically saved.

Upgrade Legacy Project

upgradelegacy

The Upgrade Legacy Project icon is for upgrading h2 database projects to the current postgres database. Pix2Net files in the older h2 format will have the extension .h2.db. This will upgrade to the current, more efficient database.

The current database was updated in May of 2014. Any version prior to v0.20 will require an upgrade to the new database.

When the icon is clicked the following confirmation dialogue will pop up:

upgradedialogue

Be sure to save a complete copy of the project directory before upgrading!

Import

import

When the Import icon is clicked the Import menu appears:

importmenu

GDSII files...

Imports gdsii file as a new polygon layer in Pix2Net. This especially useful for golden compare. See(Comparing a Layer to a Golden Layer) Imported layers are populated in the Layers window as gds name-layer number`_`data type

Pix2Net layer from images...

Imports an image directory into Pix2Net. See also Importing Existing Images.

openprojectwindow

The General tab:

importpopup

Name: name of the image set (in Pix2Net)

Rows: number of rows

Columns: number of columns

Resolution: image resolution in pixels/um

Overlap: overlap percentage

The Filenames tab:

importfilenames

Pattern: 2 accepted filename formats are a 9 digit number (#########) or text and nummber (text (#))

Format: BMP, PNG, TIFF, or JPEG

Numbering: Zero based or one based

Order: When collected,images are raster Top to Bottom or Bottom to Top

The Orientation tab:

importorientation

Add orientation transformations by clicking the green plus sign.

Flip Left to Right

Flip Top to Bottom

Rotate 90 degrees Clockwise

Rotate 90 degrees Counter-Clockwise

The Crop tab:

importcrop

Crops the image as it is imported by the number of pixels specified on each edge.

Pix2Net layer form existing project...

Imports a layer from an existing Pix2Net project.

openprojectwindow

Select the desired layer(s) from the list.

importaddlayer

Edited images...

Split image into tiles...

Indexed tiles...

Export

export

The export icon opens the export window.

Exporting GDSII

exportgdsii

Check the layer(s) to export. Double click under Layer or Datatype to add numerical information.

Export All selects all layers. Export None deselects all layers.

Add pmos marking layer: Checking this adds a small box of ‘pmos’ to the active to help distinguish between n-type and p-type diffusion

Restrict to selected cell instance: The gdsii layers will be exported within the boundary of the selected cell. When left unchecked, gdsii of the entire area is exported

Export cell placements: Exports cell boundaries as a layer

Export text labels: allows selecion between exporting labels on a new layer, an existing layer same datatype, or an existing layer with a new datatype.

Output Filename: Specify where to store the gdsii file, and how to name it.

Exporting Cell Images

exportcellimages

Select the desired cells. Select the desired layer. An image will be exported for each cell/layer combination.

Exporting Cell Instances

exportcellinstances

Select the desired column headings. The result is a .csv file of all cell instances in the project.

Exporting Cell Schematics

exportcellschematics

Select the Source, either Project cells or Reference cells. Image files of schematics will be exported to the desired directory.

Exporting Netlists

exportnetlist

Format- Choose Component Verilog, Functional Verilog, VHDL, SPICE, or comma-separated values (.csv)

Component Verilog defines interconnections in the upper level netlists, or the VerilogA definition at the library cell level.

Functional Verilog only exists in digital library cells where the user has defined a functional verilog descrition of that cell. Use this to export the library. (Hierarchical)

VHDL will be exported for the interconnections. Library cell VHDL is only exported if the user has defined a VHDL description of that cell.

SPICE is exported in the PSpice format.

comma-seperated values can be useful in organizing the existing database to aid in the RE of a device.

Target Netlists- Choose between the Active (selected) netlist, a netlist of all digital cells in the project, a netlist of all the reference cells

The Active Netlist exports the current active netlist. To set this, highlight the cell you desire in the project cells window and click the down arrow.

All of the Digital Cells will export the cells that have the digital cell type set. Any cells that have had the find transistors operation are automatically set to be digital.

All of the Cells in the Reference Library will export the cells in the reference library associated with the current project, i.e. CMOS.

Child Cells- Choose how to treat child cells.

Exclude exports the main netlist, with out additional netlists.

Hierarchical will export into the hierarchy established in the project.

Flat(Transistor-level) will export a completely flattened netlist.

Export(Gate-level) will export the digital cells hierarchically, and flatten the rest.

Check Automatically open... to open the netlist after export.

Export Non-Overlapping Tiles

exportnonoverlapping

Exports the layers as a data set of non-overlapping images

Export Single Image

exportsingle

Exports the selected layer as a single .bmp file. Beware that very large layers will result in a .bmp file that is too large to open.

KiCad

exportKiCad

Exports printed circut board projects into various KiCad formats to aid in the layout of PCB designs

Generate schematic file exports the active netlist as a kicad schematic (.sch) file. Currently, this only exports cells as components. Nets do not get exported as wires. Users can also choose to export a ‘cache.lib’ file if they would like pix2net to create new components for non-standard cells. If the user does not export a ‘cache.lib’, then the user should have created a component for each cell name in KiCad.

Generate netlist file exports the active netlist to a netlist file (.net) and a parts-to-module assignment file (.cmp). Users should have assigned modules to each cell before executing this option. Users can assign a module to a cell by right-clicking the cell in the ‘Project Cells’ window and selecting ‘Assign Module’.

Adjust module positions allows the user to adjust the module positions in an existing PCB layout file (.kicad_pcb) to match the positions and orientations of the cells in their pix2net project. The module positions will be snapped to the grid size that the user specifies.

Here is the expected work flow for these options:
  • The user generates a .net and .cmp file for their active netlist
  • The user opens the kicad pcb tool, imports their netlist as a rat’s nest, and saves it as a .kicad_pcb file
  • The user reopens the export dialog, selects the ‘adjust module positions’, and runs ‘export’ again. Now, the .kicad_pcb file is correct.

The name the user specifies for ‘project name’ will be the name used for all the files. (e.g. if you specify ‘foo’ as the name, then foo.sch, foo.net, and foo.cmp will be exported, and pix2net will expect to find ‘foo.kicad_pcb’ when it adjusts module positions).

The project directory is an existing directory that the .sch, .net, and .cmp files will be written to, and it is the directory pix2net expects to find the .kicad_pcb file in.

Add Restore Point

addrestorepoint

Adds a point in the current archive to restore to.

addrestorewindow

Recovery System

recoverysystem

The recovery system manages archives and restoration points.

recoverysystemwindow

Archives- lists the existing archive files. to make a new archive click the green plus sign.

Restore Points- lists the restore points in the selected archive.

To restore to a point, select the icon restoretopoint.

To restore to a time, select the icon restoretotime. The following dialogue will appear:

restoretimebox

For more information see Recovery System

Defragment Database

defragmentdatabase

There are two defragment modes.

selectdefrag

Normal: Runs defragment in the background, may slow down work in progress

Full: This will shrink the existing database by reclaiming more space, but locks all database tables while running. Recommend running overnight when the project has polygons and netlists stored.

Undo

undo

Undoes the last command. To view command history click on the view tab and select Command History. (Link to view tab section)

Redo

redo

Redoes the last command. To view command history click on the view tab and select Command History. (Link to view tab section)

Synchronize

Synchronize is intended to divide up the work on the project. Start with a project that has layers stitched, aligned and polygons extracted. Archive the project (Recovery System) then make as many copies as desired of this master project.

The designated master project may perform any operations. All of the copy projects should click on the Synchronize Mode icon to prevent performing operations that do not synchronize. The icon will be highlighted as shown:

syncmode

To exit synchronize mode, click the Synchronize Mode icon again. The following confirmation will appear:

syncmodeoff

When ready to synchronize a copy project, click the Synchronize icon:

synchronize

This will bring up the Sychronize Project window:

syncwindow

Click on the Add Branch using External Project... button and navigate to the master project’s Pix2Net.prj file.

Note that the master project must be closed in order to sync up or the following message will appear:

dblocked

The new branch will populate the window:

syncbranch

Highlight the desired branch and click Create Patch:

createpatch

selectpatchname

Name the patch file and click save. The following dialogue will appear:

patchcreated

This file will be used by the master project to add the commands.

In the master project, click the Synchronize icon, then click Apply Patch... (It is recommended that an archive of the master project is created before running synchronization. See: Recovery System)

syncwindow

Navigate to the desired .sql file to add to the master project.

Once the patch(es) are applied successfully, the project directory from the master is copied over the project directories for the copy projects, then redistributed to continue work.

It’s probably best if all of the team members create patches and apply them to the master project at the same time, just to keep things simple. However, nothing prevents team member A from working on a clone that was created from the master on Tuesday, and team member B working on a clone that was created from the master on Wednesday. But, if everyone syncs up daily, then we’re less likely to end up with conflicts that are potentially unresolvable.

Here is a list of commands that can be synchronized:

File Tab commands

Home Tab commands except Clone Area and Calibrate

(Polygons Tab) commands

(Cells Tab) commands

(Netlist Tab) commands

Synchronize Mode

syncmode2

When highlighted any commands that are not recognized by the synchronization system will be grayed out.

See Synchronize