Arindam Banerjee's picture

Basic heuristic placement

Now the PCB components details have been extracted and I am working on developing the basic placement heuristic. This will consider the components as a block where dimensions are given in the PCB file. The heuristic will try to place the blocks in the most optimal way so that wire length would be reduced for further routing.

Work on my development branch

Created a development branch for myself in the Landis Core project. running premake to create a C# project based on this branch. The command for running premake on my system: premake4.exe vs2010.

Got the solution to compile by fixing the libraries as I did on the main branch last week. It was easier the second time around. Created a new project under the solution for the widgets and added a form!

Arindam Banerjee's picture

PCB parser and data structure

Created PCB parser, related data structures and committed to Git repo. A few modifications are still needed according to the placement algorithm. Time to start the basic heuristic using the available PCB data.

Arindam Banerjee's picture

Tested netlist parser and cleaning up code

Today I tested the netlist parser from main placer class with different netlist files and it worked properly. Also committed some cleaning ups on code as per convention. Currently working on designing PCB file parser.

Arindam Banerjee's picture

Working on PCB file

Working on parsing PCB file, mostly studying the format to extract vital information about the board and to relate with netlist data. Need to design data structures to hold the initial coordinates and size of components.

Tortoise SVN and Premake

Continuing to educate myself on components of the Landis-II development environment in my limited time. Reading up on Tortoise SVN and Premake scripts.

Arindam Banerjee's picture

Developed netlist parser

Developed the netlist parser to extract components and nets data from netlist file and made the commits to git repo. Currently working on developing the parser of PCB board file.

Reading up on Windows Forms vs WPF

That's it in a nutshell

Arindam Banerjee's picture

Netlist and PCB board file

PCB board file holds the details of the shape and coordinates of the components. Hence netlist along with PCB board file of initial component details are required for placement. After netlist, I am working on PCB board file to extract data from it and set the initial positions of the components on the board.

Arindam Banerjee's picture

Netlist Data structure

I was designing the netlist data structure - basic structures hold data for distinct components comprising the placement task like PCB components, pins, nets. The data structure for PCB components will hold the information about partition, coordinates, nets connected to pins etc. Data structure for Nets will hold information about number of vertices (pins) connected to the net, list of vertices, net length etc. Also information about immovable components on the board would be stored in data structure. This is the basic design and I am still working on modifying it further.

Syndicate content