What is it?
FPGA Optim is an optimiser tool developed internally at TRW Conekt to show which parts of our Xilinx FPGA designs were taking up most space - enabling a targeted approach to optimisation.
Email us to download the latest version - currently only a Windows installer. Linux users please email if you are interested in a port, if there is enough interest, we will create one. (We promise not to spam your email address, we will only use it to keep you informed of updates to this utility).
How do I use it?
Click the “open file” icon (or File..Open) and select an file to analyse. Currently, NCD, NGC and EDIF files can be analysed. The EDIF file parser has been highly optimised for extracting pure instance-type data. It has been tested on the output of Synplify Pro and NGC2EDIF.
In a short time, a tree will display showing the elements of your design, initially sorted by LUT count. The lines will be colour coded according to the contribution they make to their immediate parent (not to the whole design), based on the count in whichever column is being sorted by.
Click on the column headings to sort by that particular item.
To customise the columns display, you can use the Options..Columns menu item to bring up the column heading editor. This allows you to match regular expressions against instance types to either not display, or merge them together into a single column. For example, the default column set has the following:
which combines any instance type which begins with RAMB into a column called BRAM
What if it does not work?
If you have problems with this software, please email us and we will do our best to solve them.
How does it work?
FPGA Usage follows the following steps:
- Convert the NCD file to an XDL file using the Xilinx XDL tool. If we have already converted this NCD file before and the XDL file is newer, we will skip the conversion stage to save time. If the input is NGC, as similar process is followed to convert it to an EDIF format.
- Go through the XDL or EDIF file, extracting the instance name and type of each instance
- Using the instance name as a path, populate the tree with counts of each type of instance