Various typos correction (courtesy of G. Gouvine).

This commit is contained in:
Jean-Paul Chaput 2019-07-30 13:13:57 +02:00
parent f528cdea4c
commit d69327d9a9
17 changed files with 38 additions and 37 deletions

View File

@ -5,20 +5,19 @@
Coriolis README
===============
Coriolis is a free database, placement tool and routing tool for VLSI designs.
Coriolis is a free database, placement tool and routing tool for VLSI design.
Purpose
=======
Coriolis provides several tools to perform the layout of VLSI circuits. Its
main components are the Hurricane database, the Etesian placer and the Kite
main components are the Hurricane database, the Etesian placer and the Katana
router, but other tools can use the Hurricane database and the parsers
provided.
The user interface <cgt> is the prefered way to use Coriolis, but all
Coriolis tools are Python modules and thus scriptables.
Coriolis tools are Python modules and thus scriptable.
Documentation
@ -33,7 +32,7 @@ The documentation of the latest *stable* version is also
available online. It may be quite outdated from the *devel*
version.
https://soc-extras.lip6.fr/en/coriolis/coriolis2-users-guide/
https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/en/latex/users-guide/UsersGuide.pdf
Building Coriolis
@ -85,8 +84,8 @@ The Coriolis main interface can be launched with the command: ::
ego@home:~: ~/coriolis-2.x/<OS>.<DISTRIB>/Release.Shared/install/bin/coriolis
The ``coriolis`` script is tasked to guess it's location and setup appropriatly
the UNIX environment, then lauch ``cgt`` (or *any* command, with the
The ``coriolis`` script detects its location and setups the UNIX
environment appropriately, then lauches ``cgt`` (or *any* command, with the
``--run=<COMMAND>`` option).
Conversely, you can setup the current shell environement for Coriolis by

View File

@ -380,7 +380,7 @@ Occurrence CHyperNetDriverPortOccurrences::Locator::getElement() const
{
if (_pinLocator.isValid())
return _pinLocator.getElement();
return _plugOccurrenceLocator.getElement();
return _plugOccurrenceLocator.getElement();
}
Locator<Occurrence>* CHyperNetDriverPortOccurrences::Locator::getClone() const

View File

@ -537,13 +537,13 @@ extern "C" {
, { "addCellGauge" , (PyCFunction)PyAllianceFramework_addCellGauge , METH_VARARGS
, "Add a new cell gauge." }
, { "getCellGauge" , (PyCFunction)PyAllianceFramework_getCellGauge , METH_VARARGS
, "Get a cell gauge (whithout a name, return the default)." }
, "Get a cell gauge (without a name, return the default)." }
, { "matchCellGauge" , (PyCFunction)PyAllianceFramework_matchCellGauge , METH_VARARGS
, "Find the first CellGauge comptible with width and height." }
, { "addRoutingGauge" , (PyCFunction)PyAllianceFramework_addRoutingGauge , METH_VARARGS
, "Add a new routing gauge." }
, { "getRoutingGauge" , (PyCFunction)PyAllianceFramework_getRoutingGauge , METH_VARARGS
, "Get a routing gauge (whithout a name, return the default)." }
, "Get a routing gauge (without a name, return the default)." }
, { "setRoutingGauge" , (PyCFunction)PyAllianceFramework_setRoutingGauge , METH_VARARGS
, "Select the default routing gauge." }
//, { "destroy" , (PyCFunction)PyAllianceFramework_destroy , METH_NOARGS

View File

@ -335,7 +335,7 @@ def ScriptMain ( **kw ):
if __name__ == '__main__':
parser = optparse.OptionParser()
parser.add_option( '-c', '--cell', type='string', dest='cell' , help='The name of the chip to build, whithout extension.')
parser.add_option( '-c', '--cell', type='string', dest='cell' , help='The name of the chip to build, without extension.')
parser.add_option( '-v', '--verbose' , action='store_true', dest='verbose' , help='First level of verbosity.')
parser.add_option( '-V', '--very-verbose' , action='store_true', dest='veryVerbose', help='Second level of verbosity.')
(options, args) = parser.parse_args()

View File

@ -274,6 +274,7 @@ namespace Etesian {
Super::_postCreate();
// Ugly: Name based detection of ISPD benchmarks.
// Maybe base it on whether the imported library is in Bookshelf format or not?
if (getString(getCell()->getName()).substr(0,7) == "bigblue") {
cmess2 << " o ISPD benchmark <" << getCell()->getName()
<< ">, no feed cells will be added." << endl;
@ -649,8 +650,6 @@ namespace Etesian {
_placementLB.positions_ = positions;
_placementLB.orientations_ = orientations;
_placementUB = _placementLB;
//cerr << "Coloquinte cell height: " << _circuit.get_cell(0).size.y << endl;
}
@ -831,6 +830,7 @@ namespace Etesian {
int_t sliceHeight = getSliceHeight() / getHorizontalPitch();
roughLegalize(sliceHeight, options);
// TODO: for uniform density distribution, add some margin to the cell sizes so we don't disrupt it during detailed placement
for ( int i=0; i<iterations; ++i ){
ostringstream label;
@ -838,7 +838,7 @@ namespace Etesian {
label << " [" << setw(3) << setfill('0') << i << "]";
optimize_x_orientations( _circuit, _placementUB ); // Don't disrupt VDD/VSS connections in a row
_progressReport1(label.str()+" Oriented ......." );
_progressReport1(label.str() + " Oriented ......." );
if(options & UpdateDetailed)
_updatePlacement( _placementUB );

View File

@ -176,9 +176,10 @@ namespace Hurricane {
void TransistorLayer::setExtentionWidth ( const BasicLayer* layer, DbU::Unit width )
{
for ( size_t i=0 ; i<_basicLayers.size() ; i++ ) {
if ( _basicLayers[i] == layer )
if ( _basicLayers[i] == layer ) {
_extentionWidths[i] = width;
_maximalExtentionWidth = max ( _maximalExtentionWidth, width );
}
}
}

View File

@ -828,7 +828,7 @@ int main ( int argc, char *argv[] )
, "Set the level of trace, trace messages with a level superior to "
"<arg> will be printed on <stderr>." )
( "cell,c" , poptions::value<string>()
, "The name of the cell to load, whithout extension." )
, "The name of the cell to load, without extension." )
( "knik,k" , poptions::bool_switch(&knikSimple)->default_value(false)
, "Perform a simple routing pass.")
( "KNIK,K" , poptions::bool_switch(&knikOverflow)->default_value(false)

View File

@ -48,5 +48,5 @@ AutoHorizontal/AutoVertical
* The local ``slacken()`` methods are, in fact AutoSegment::makeTopologyDogLeg().
* We now must be able to create AutoHorizontal/AutoContact whithout suppling
* We now must be able to create AutoHorizontal/AutoContact without suppling
the anchor AutoContacts. Allows more supple building constructions.

View File

@ -243,7 +243,7 @@ namespace {
//! function:
//! <ul>
//! <li>One global: nonsensical because there also must be a terminal.
//! <li>Two aligned globals: in that case we do a straight wire whithout
//! <li>Two aligned globals: in that case we do a straight wire without
//! any AutoContact (handled by the source/target of the wire).
//! </ul>
//!

View File

@ -68,7 +68,7 @@ namespace Katana {
if ( _locator.isValid() ) {
_element = Session::lookup( _locator.getElement()->getCanonical(bounds)->base() );
if ( !_element ) {
cerr << Bug("Canonical segment whithout TrackElement.") << endl;
cerr << Bug("Canonical segment without TrackElement.") << endl;
continue;
}

View File

@ -68,7 +68,7 @@ namespace Kite {
if ( _locator.isValid() ) {
_element = Session::lookup( _locator.getElement()->getCanonical(bounds)->base() );
if ( !_element ) {
cerr << Bug("Canonical segment whithout TrackElement.") << endl;
cerr << Bug("Canonical segment without TrackElement.") << endl;
continue;
}

View File

@ -97,7 +97,7 @@ struct SegRecord {
struct NetSurfacesComp : public binary_function<const NetRecord, const NetRecord, bool> {
public: bool operator() ( const NetRecord &record1, const NetRecord &record2 ) const {
if (record1._exArea < record2._exArea) return true;
if (record1._exArea == record1._exArea) {
if (record1._exArea == record2._exArea) {
if (getString(record1._net->getName()) < getString(record2._net->getName())) return true;
if (record1._net == record2._net) assert ( false );
}

View File

@ -106,9 +106,10 @@ void defiPath::clear() {
void defiPath::Destroy() {
if (keys_)
free((char*)(keys_));
keys_ = NULL;
if (keys_) {
free((char*)(keys_));
keys_ = NULL;
}
if (data_) {
clear();
free((char*)(data_));

View File

@ -52,10 +52,10 @@ if __name__ == '__main__':
parser = optparse.OptionParser(usage)
parser.add_option( '--no-init' , action='store_true', dest='noInit' , help='Do not load any initialization.')
parser.add_option( '-c', '--cell' , type='string' , dest='cell' , help='The name of the cell to load, whithout extension.')
parser.add_option( '--acm-sigda-89' , type='string' , dest='acmSigdaName' , help='An ACM/SIGDA 89 bench name to load, whithout extension.')
parser.add_option( '--blif' , type='string' , dest='blifName' , help='A Blif (Yosys) design name to load, whithout extension.')
parser.add_option( '--ispd-05' , type='string' , dest='ispd05name' , help='An ISPD 05 bench (placement) name to load, whithout extension.')
parser.add_option( '-c', '--cell' , type='string' , dest='cell' , help='The name of the cell to load, without extension.')
parser.add_option( '--acm-sigda-89' , type='string' , dest='acmSigdaName' , help='An ACM/SIGDA 89 bench name to load, without extension.')
parser.add_option( '--blif' , type='string' , dest='blifName' , help='A Blif (Yosys) design name to load, without extension.')
parser.add_option( '--ispd-05' , type='string' , dest='ispd05name' , help='An ISPD 05 bench (placement) name to load, without extension.')
parser.add_option( '-v', '--verbose' , action='store_true', dest='verbose' , help='First level of verbosity.')
parser.add_option( '-V', '--very-verbose' , action='store_true', dest='veryVerbose' , help='Second level of verbosity.')
parser.add_option( '-i', '--info' , action='store_true', dest='info' , help='Display lots of informational messages.')

View File

@ -137,7 +137,7 @@ int main ( int argc, char *argv[] )
( "dump-measures,M" , bopts::bool_switch(&dumpMeasures)->default_value(false)
, "Dump statistical measurements on the disk.")
( "cell,c" , bopts::value<string>()
, "The name of the cell to load, whithout extension." )
, "The name of the cell to load, without extension." )
( "save-design,s" , bopts::value<string>()
, "Save the routed design.")
( "export-def" , bopts::bool_switch(&exportDef)->default_value(false)
@ -145,9 +145,9 @@ int main ( int argc, char *argv[] )
( "import-def" , bopts::value<string>()
, "Import the design in DEF format.")
( "importk-ispd04-bk" , bopts::value<string>()
, "The name of the ISPD04 benchmark to import (Bookshelf .aux), whithout extension." )
, "The name of the ISPD04 benchmark to import (Bookshelf .aux), without extension." )
( "import-iccad04-def" , bopts::value<string>()
, "The name of the ICCAD04 benchmark to import (LEF/DEF), whithout extension." )
, "The name of the ICCAD04 benchmark to import (LEF/DEF), without extension." )
( "save-import" , bopts::bool_switch(&saveImport)->default_value(false)
, "Save of the imported design immediatly after loading.");

View File

@ -102,10 +102,10 @@ if __name__ == '__main__':
parser = optparse.OptionParser(usage)
parser.add_option( '--no-init' , action='store_true', dest='noInit' , help='Do not load any initialization.')
parser.add_option( '-c', '--cell' , type='string' , dest='cell' , help='The name of the cell to load, whithout extension.')
parser.add_option( '--acm-sigda-89' , type='string' , dest='acmSigdaName' , help='An ACM/SIGDA 89 bench name to load, whithout extension.')
parser.add_option( '--blif' , type='string' , dest='blifName' , help='A Blif (Yosys) design name to load, whithout extension.')
parser.add_option( '--ispd-05' , type='string' , dest='ispd05name' , help='An ISPD 05 bench (placement) name to load, whithout extension.')
parser.add_option( '-c', '--cell' , type='string' , dest='cell' , help='The name of the cell to load, without extension.')
parser.add_option( '--acm-sigda-89' , type='string' , dest='acmSigdaName' , help='An ACM/SIGDA 89 bench name to load, without extension.')
parser.add_option( '--blif' , type='string' , dest='blifName' , help='A Blif (Yosys) design name to load, without extension.')
parser.add_option( '--ispd-05' , type='string' , dest='ispd05name' , help='An ISPD 05 bench (placement) name to load, without extension.')
parser.add_option( '--script' , type='string' , dest='script' , help='Run a Python or Stratus script.')
parser.add_option( '-v', '--verbose' , action='store_true', dest='verbose' , help='First level of verbosity.')
parser.add_option( '-V', '--very-verbose' , action='store_true', dest='veryVerbose' , help='Second level of verbosity.')

View File

@ -659,10 +659,10 @@ namespace Bookshelf {
}
if ( ordereds[0].empty() )
throw Exception("Bookshelf::Parser(): .aux file do not contains <.nodes>.");
throw Exception("Bookshelf::Parser(): .aux file does not contains <.nodes>.");
if ( ordereds[1].empty() )
throw Exception("Bookshelf::Parser(): .aux file do not contains <.nets>.");
throw Exception("Bookshelf::Parser(): .aux file does not contains <.nets>.");
for ( size_t iext=0 ; iext<5 ; ++iext ) {
if ( ordereds[iext].empty() ) continue;