OCP(1)
π OCP(1) β the Standard Cell Placer, bestie edition π
okay so this is ocp, from the CAO-VLSI Reference Manual, and she's the Standard Cell Placer. sit down, hydrate, we're doing layout β¨
π ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. Paris!! the main character city π₯β¨
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
β¨ SYNOPSIS β¨
ocp [options] netlist outputname
π DESCRIPTION
ocp is an automatic place tool for standard-cells. she places the cells. that's the whole vibe. π«Ά
π₯ input net-list
The netlist file describes the input net-list.
ocp supports a hierarchical net-list. In this case the net-list is flattened by the placer according to the catalog file. The net-list format can be : structural VHDL, EDIF, or ALLIANCE internal format β according to the environment variable MBK_IN_LO.
π€ output layout
The file containing the placed block will have the name outputname. This name is not optionnal and must always be present. like, she will not guess it for you bestie π
The output format is defined by the environment variable MBK_OUT_PH.
π OPTIONS π
πΈ Optional cells placement file
-partial <NAME>β A user defined pre-placement can be specified, thanks to a placement file. The optional placement file must be given by the user. It must have an extension that denotes the format defined by the environment variableMBK_IN_PH.
π Optional connectors placement
The placement of connectors can be also specified. There are four ways to place connectors in a physical view :
-partial <NAME>β pre-placed connectors defined by the user can be provided through the pre-placement file. In that case, automatic connector placement is impossible. (so pick your fighter, you can't have both π)-cβ option will automatically place the connectors randomly. The auto placement will set connectors on each side of the abutment box.-ringβ option will automatically place the connectors for the ring pad placement tool. The placement is random but only on the north and south side unless the-ioc <NAME>option is given, in which case the constraints given in the<NAME>.iocfile will be respected, but with layers suitable for ring.-ioc <NAME>β option will place connectors as specified by the<NAME>.iocgiven file.
π Margin
It is possible to force the free area of the physical view.
The -margin <MARGIN> option allow to set The amount of free area added in percentage of the cells area.
The resulting area will be equal to CELL_AREA * (1 + <MARGIN>).
By default, the margin value is 0.2 (20%) π
-eqmarginβ option will distribute equitably the margin between cells. By default, the biggest possible number of2-pitchtie cells is inserted. This is done to have the best well and bulk polarity. (she's doing it for the polarity, it's giving considerate π)
π Number of rows
-rows <NR>β option forces the design to be placed in<NR>rows. The abutment box's width is automatically generated. This option won't be used if a defined placement file is given.
π£οΈ Verbose mode
-vβ set the verbose mode on. she will yap (affectionately) π’
π Gnuplot
-gnuplotβ option allow to generate automatically gnuplot files, for editing statistics.
π§ IOC format
The IOC format is based on Cadence input-output connectors placement description.
The description is composed of 5 possibles sections : TOP(), BOTTOM(), LEFT(), RIGHT(), and IGNORE()
In each section except IGNORE(), there are placed IOs.
In the IGNORE() section, the IOs are ignored by OCP. (ghosted. blocked. not placed. π)
In every section, the IO syntax could be:
- for pin:
(IOPIN iopinName.0 ); - for space:
SPACE value;
The capital words are keywords. orientation is not required.
The value is the space (number of pitches) between the IO above and the IO below it.
β Example
TOP ( # IOs are ordered from left to right
(IOPIN b(3).0 );
(IOPIN cin.0 );
(IOPIN ck.0 );
(IOPIN cout.0 );
)
BOTTOM ( # IOs are ordered from left to right
(IOPIN i(3).0 );
(IOPIN i(4).0 );
(IOPIN i(5).0 );
(IOPIN i(6).0 );
)
IGNORE ( # IOs are ignored(not placed) by IO Placer
)
π± ENVIRONMENT VARIABLES
ocp uses the environment variables MBK_VDD and MBK_VSS to know the name of the power signals vdd and vss.
π SEE ALSO
nero(1), MBK_IN_LO(1), MBK_IN_PH(1), MBK_OUT_PH(1), MBK_VDD(1), MBK_VSS(1)
π BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory.
We need your feedback to improve documentation and tools. (fr fr, tell them, they're literally asking π«Ά)
ASIM/LIP6 β September 27, 2001 π that's the version and date bestie, and that's the whole page. slay, go place some cells π β¨π¦
π¦ where this page comes from
- fedora 43: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 43: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms