Documentation restructuration
Documentation restructuration: * Bug: in <hurricane>: bad figure for transf-R1. * Change, in <kite>: Remove deprecated configuration variables. * New: documentation <tool> to regroup all documentation not directly related to one tool. * Change, in <crlcore>, move the user's guide and the top doc index into <documentation>. * New, in <documenation>: added Python script demo based on AM2901.
|
@ -2,10 +2,17 @@
|
|||
*.swp
|
||||
*.pyc
|
||||
*.log
|
||||
*.bak
|
||||
man/
|
||||
rtf/
|
||||
html/
|
||||
latex/
|
||||
|
||||
crlcore/doc/UsersGuide/UsersGuide.tex
|
||||
crlcore/doc/UsersGuide/UsersGuide.html
|
||||
documentation/UsersGuide/UsersGuide-raw.tex
|
||||
documentation/UsersGuide/UsersGuide.tex
|
||||
documentation/UsersGuide/UsersGuide.aux
|
||||
documentation/UsersGuide/UsersGuide.log
|
||||
documentation/UsersGuide/UsersGuide.pdf
|
||||
documentation/UsersGuide/UsersGuide.out
|
||||
documentation/UsersGuide/UsersGuide.toc
|
||||
documentation/UsersGuide/UsersGuide.html
|
||||
|
|
|
@ -3,16 +3,14 @@
|
|||
# Mimicking the behavior of a top-level autotool generated Makefile.
|
||||
|
||||
tools = bootstrap vlsisapd hurricane crlcore nimbus metis mauka knik katabatic kite \
|
||||
equinox solstice cumulus stratus1 unicorn
|
||||
equinox solstice cumulus stratus1 unicorn documentation
|
||||
prefix = /usr
|
||||
DESTDIR =
|
||||
BUILD_DESTDIR = $(shell pwd)/install.dir
|
||||
BOOTSTRAP_TOP = $(prefix)
|
||||
VLSISAPD_TOP = $(prefix)
|
||||
CORIOLIS_TOP = $(prefix)
|
||||
|
||||
environment = BOOTSTRAP_TOP=$(BOOTSTRAP_TOP); export BOOTSTRAP_TOP; \
|
||||
VLSISAPD_TOP=$(VLSISAPD_TOP); export VLSISAPD_TOP; \
|
||||
CORIOLIS_TOP=$(CORIOLIS_TOP); export CORIOLIS_TOP
|
||||
|
||||
.PHONY: build install FORCE
|
||||
|
|
|
@ -23,6 +23,7 @@ projects = [ { 'name' : "coriolis"
|
|||
#, "ispd"
|
||||
, "cumulus"
|
||||
, "stratus1"
|
||||
, "documentation"
|
||||
]
|
||||
, 'repository': 'ssh://asim-t/users/largo2/git/coriolis.git' }
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ karim = Karim Dioury <alliance-users@asim.lip6.fr>
|
|||
labiadh = Forgotten Author (labiadh) <alliance-users@asim.lip6.fr>
|
||||
liyao = Yao Li <alliance-users@asim.lip6.fr>
|
||||
ludo = Ludovic Jacomme <alliance-users@asim.lip6.fr>
|
||||
mariem = Marie-Minerve Louerat <Marie-Minerve.Louerat@lip6.fr>
|
||||
masson = Christian Masson <alliance-users@asim.lip6.fr>
|
||||
mitri = Forgotten Author (mitri) <alliance-users@asim.lip6.fr>
|
||||
noury = Ludovic Noury <alliance-users@asim.lip6.fr>
|
||||
|
@ -28,4 +29,5 @@ xtof = Christophe Alexandre <alliance-users@asim.lip6.fr>
|
|||
youssef = Stephanie Youssef <alliance-users@asim.lip6.fr>
|
||||
jpc = Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
|
||||
ramy = Ramy Iskander <Ramy.Iskander@lip6.fr>
|
||||
roselyne = Roselyne Chotin <Roselyne.Chotin-Avot@lip6.fr>
|
||||
roselyne = Roselyne Chotin <Roselyne.Chotin-Avot@lip6.fr>
|
||||
(no author) = Anonymous Author <alliance-users@asim.lip6.fr>
|
||||
|
|
|
@ -0,0 +1,620 @@
|
|||
# (Be in -*- mode: python; coding: utf-8 -*- mode.)
|
||||
#
|
||||
# ====================================================================
|
||||
# Copyright (c) 2006-2009 CollabNet. All rights reserved.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
# are also available at http://subversion.tigris.org/license-1.html.
|
||||
# If newer versions of this license are posted there, you may use a
|
||||
# newer version instead, at your option.
|
||||
#
|
||||
# This software consists of voluntary contributions made by many
|
||||
# individuals. For exact contribution history, see the revision
|
||||
# history and logs, available at http://cvs2svn.tigris.org/.
|
||||
# ====================================================================
|
||||
|
||||
# #####################
|
||||
# ## PLEASE READ ME! ##
|
||||
# #####################
|
||||
#
|
||||
# This is a template for an options file that can be used to configure
|
||||
# cvs2svn to convert to git rather than to Subversion. See
|
||||
# www/cvs2git.html and www/cvs2svn.html for general information, and
|
||||
# see the comments in this file for information about what options are
|
||||
# available and how they can be set.
|
||||
#
|
||||
# The program that is run to convert from CVS to git is called
|
||||
# cvs2git. Run it with the --options option, passing it this file
|
||||
# like this:
|
||||
#
|
||||
# cvs2git --options=cvs2git-example.options
|
||||
#
|
||||
# The output of cvs2git is a blob file and a dump file that can be
|
||||
# loaded into git using the "git fast-import" command. Please read
|
||||
# www/cvs2git.html for more information.
|
||||
#
|
||||
# Many options do not have defaults, so it is easier to copy this file
|
||||
# and modify what you need rather than creating a new options file
|
||||
# from scratch. This file is in Python syntax, but you don't need to
|
||||
# know Python to modify it. But if you *do* know Python, then you
|
||||
# will be happy to know that you can use arbitary Python constructs to
|
||||
# do fancy configuration tricks.
|
||||
#
|
||||
# But please be aware of the following:
|
||||
#
|
||||
# * In many places, leading whitespace is significant in Python (it is
|
||||
# used instead of curly braces to group statements together).
|
||||
# Therefore, if you don't know what you are doing, it is best to
|
||||
# leave the whitespace as it is.
|
||||
#
|
||||
# * In normal strings, Python treats a backslash ("\") as an escape
|
||||
# character. Therefore, if you want to specify a string that
|
||||
# contains a backslash, you need either to escape the backslash with
|
||||
# another backslash ("\\"), or use a "raw string", as in one if the
|
||||
# following equivalent examples:
|
||||
#
|
||||
# cvs_executable = 'c:\\windows\\system32\\cvs.exe'
|
||||
# cvs_executable = r'c:\windows\system32\cvs.exe'
|
||||
#
|
||||
# See http://docs.python.org/tutorial/introduction.html#strings for
|
||||
# more information.
|
||||
#
|
||||
# Two identifiers will have been defined before this file is executed,
|
||||
# and can be used freely within this file:
|
||||
#
|
||||
# ctx -- a Ctx object (see cvs2svn_lib/context.py), which holds
|
||||
# many configuration options
|
||||
#
|
||||
# run_options -- an instance of the GitRunOptions class (see
|
||||
# cvs2svn_lib/git_run_options.py), which holds some variables
|
||||
# governing how cvs2git is run
|
||||
|
||||
|
||||
# Import some modules that are used in setting the options:
|
||||
import re
|
||||
|
||||
from cvs2svn_lib import config
|
||||
from cvs2svn_lib import changeset_database
|
||||
from cvs2svn_lib.common import CVSTextDecoder
|
||||
from cvs2svn_lib.log import Log
|
||||
from cvs2svn_lib.project import Project
|
||||
from cvs2svn_lib.git_revision_recorder import GitRevisionRecorder
|
||||
from cvs2svn_lib.git_output_option import GitRevisionMarkWriter
|
||||
from cvs2svn_lib.git_output_option import GitOutputOption
|
||||
from cvs2svn_lib.revision_manager import NullRevisionRecorder
|
||||
from cvs2svn_lib.revision_manager import NullRevisionExcluder
|
||||
from cvs2svn_lib.fulltext_revision_recorder \
|
||||
import SimpleFulltextRevisionRecorderAdapter
|
||||
from cvs2svn_lib.rcs_revision_manager import RCSRevisionReader
|
||||
from cvs2svn_lib.cvs_revision_manager import CVSRevisionReader
|
||||
from cvs2svn_lib.checkout_internal import InternalRevisionRecorder
|
||||
from cvs2svn_lib.checkout_internal import InternalRevisionExcluder
|
||||
from cvs2svn_lib.checkout_internal import InternalRevisionReader
|
||||
from cvs2svn_lib.symbol_strategy import AllBranchRule
|
||||
from cvs2svn_lib.symbol_strategy import AllTagRule
|
||||
from cvs2svn_lib.symbol_strategy import BranchIfCommitsRule
|
||||
from cvs2svn_lib.symbol_strategy import ExcludeRegexpStrategyRule
|
||||
from cvs2svn_lib.symbol_strategy import ForceBranchRegexpStrategyRule
|
||||
from cvs2svn_lib.symbol_strategy import ForceTagRegexpStrategyRule
|
||||
from cvs2svn_lib.symbol_strategy import ExcludeTrivialImportBranchRule
|
||||
from cvs2svn_lib.symbol_strategy import ExcludeVendorBranchRule
|
||||
from cvs2svn_lib.symbol_strategy import HeuristicStrategyRule
|
||||
from cvs2svn_lib.symbol_strategy import UnambiguousUsageRule
|
||||
from cvs2svn_lib.symbol_strategy import HeuristicPreferredParentRule
|
||||
from cvs2svn_lib.symbol_strategy import SymbolHintsFileRule
|
||||
from cvs2svn_lib.symbol_transform import ReplaceSubstringsSymbolTransform
|
||||
from cvs2svn_lib.symbol_transform import RegexpSymbolTransform
|
||||
from cvs2svn_lib.symbol_transform import IgnoreSymbolTransform
|
||||
from cvs2svn_lib.symbol_transform import NormalizePathsSymbolTransform
|
||||
from cvs2svn_lib.property_setters import AutoPropsPropertySetter
|
||||
from cvs2svn_lib.property_setters import CVSBinaryFileDefaultMimeTypeSetter
|
||||
from cvs2svn_lib.property_setters import CVSBinaryFileEOLStyleSetter
|
||||
from cvs2svn_lib.property_setters import DefaultEOLStyleSetter
|
||||
from cvs2svn_lib.property_setters import EOLStyleFromMimeTypeSetter
|
||||
from cvs2svn_lib.property_setters import ExecutablePropertySetter
|
||||
from cvs2svn_lib.property_setters import KeywordsPropertySetter
|
||||
from cvs2svn_lib.property_setters import MimeMapper
|
||||
from cvs2svn_lib.property_setters import SVNBinaryFileKeywordsPropertySetter
|
||||
|
||||
# To choose the level of logging output, uncomment one of the
|
||||
# following lines:
|
||||
#Log().log_level = Log.WARN
|
||||
#Log().log_level = Log.QUIET
|
||||
Log().log_level = Log.NORMAL
|
||||
#Log().log_level = Log.VERBOSE
|
||||
#Log().log_level = Log.DEBUG
|
||||
|
||||
|
||||
# During CollectRevsPass, cvs2git records the contents of file
|
||||
# revisions into a "blob" file in git-fast-import format. This option
|
||||
# configures that process:
|
||||
ctx.revision_recorder = SimpleFulltextRevisionRecorderAdapter(
|
||||
# The following option specifies how the revision contents of the RCS
|
||||
# files should be read.
|
||||
#
|
||||
# RCSRevisionReader uses RCS's "co" program to extract the revision
|
||||
# contents of the RCS files during CollectRevsPass. The constructor
|
||||
# argument specifies how to invoke the "co" executable.
|
||||
#
|
||||
# CVSRevisionReader uses the "cvs" program to extract the revision
|
||||
# contents out of the RCS files during OutputPass. This option is
|
||||
# considerably slower than RCSRevisionReader because "cvs" is
|
||||
# considerably slower than "co". However, it works in some situations
|
||||
# where RCSRevisionReader fails; see the HTML documentation of the
|
||||
# "--use-cvs" option for details. The constructor argument specifies
|
||||
# how to invoke the "co" executable.
|
||||
#
|
||||
# Uncomment one of the two following lines:
|
||||
#RCSRevisionReader(co_executable=r'co'),
|
||||
CVSRevisionReader(cvs_executable=r'cvs'),
|
||||
|
||||
# The file in which to write the git-fast-import stream that
|
||||
# contains the file revision contents:
|
||||
GitRevisionRecorder('cvs2svn-tmp/git-blob.dat'),
|
||||
)
|
||||
|
||||
# cvs2git does not need to keep track of what revisions will be
|
||||
# excluded, so leave this option unchanged:
|
||||
ctx.revision_excluder = NullRevisionExcluder()
|
||||
|
||||
# cvs2git doesn't need a revision reader because OutputPass only
|
||||
# refers to blobs that were output during CollectRevsPass, so leave
|
||||
# this option set to None.
|
||||
ctx.revision_reader = None
|
||||
|
||||
# Change the following line to True if the conversion should only
|
||||
# include the trunk of the repository (i.e., all branches and tags
|
||||
# should be omitted from the conversion):
|
||||
ctx.trunk_only = False
|
||||
|
||||
# How to convert CVS author names, log messages, and filenames to
|
||||
# Unicode. The first argument to CVSTextDecoder is a list of encoders
|
||||
# that are tried in order in 'strict' mode until one of them succeeds.
|
||||
# If none of those succeeds, then fallback_encoder (if it is
|
||||
# specified) is used in lossy 'replace' mode. Setting a fallback
|
||||
# encoder ensures that the encoder always succeeds, but it can cause
|
||||
# information loss.
|
||||
ctx.cvs_author_decoder = CVSTextDecoder(
|
||||
[
|
||||
'latin1',
|
||||
'utf8',
|
||||
'ascii',
|
||||
],
|
||||
fallback_encoding='latin1'
|
||||
)
|
||||
ctx.cvs_log_decoder = CVSTextDecoder(
|
||||
[
|
||||
'latin1',
|
||||
'utf8',
|
||||
'ascii',
|
||||
],
|
||||
fallback_encoding='latin1'
|
||||
)
|
||||
# You might want to be especially strict when converting filenames to
|
||||
# Unicode (e.g., maybe not specify a fallback_encoding).
|
||||
ctx.cvs_filename_decoder = CVSTextDecoder(
|
||||
[
|
||||
'latin1',
|
||||
'utf8',
|
||||
'ascii',
|
||||
],
|
||||
fallback_encoding='latin1'
|
||||
)
|
||||
|
||||
# Template for the commit message to be used for initial project
|
||||
# commits.
|
||||
ctx.initial_project_commit_message = (
|
||||
'Standard project directories initialized by cvs2svn.'
|
||||
)
|
||||
|
||||
# Template for the commit message to be used for post commits, in
|
||||
# which modifications to a vendor branch are copied back to trunk.
|
||||
# This message can use '%(revnum)d' to include the SVN revision number
|
||||
# of the revision that included the change to the vendor branch
|
||||
# (admittedly rather pointless in a cvs2git conversion).
|
||||
ctx.post_commit_message = (
|
||||
'This commit was generated by cvs2svn to track changes on a CVS '
|
||||
'vendor branch.'
|
||||
)
|
||||
|
||||
# Template for the commit message to be used for commits in which
|
||||
# symbols are created. This message can use '%(symbol_type)s' to
|
||||
# include the type of the symbol ('branch' or 'tag') or
|
||||
# '%(symbol_name)s' to include the name of the symbol.
|
||||
ctx.symbol_commit_message = (
|
||||
"This commit was manufactured by cvs2svn to create %(symbol_type)s "
|
||||
"'%(symbol_name)s'."
|
||||
)
|
||||
|
||||
# Template for the commit message to be used for commits in which
|
||||
# tags are pseudo-merged back to their source branch. This message can
|
||||
# use '%(symbol_name)s' to include the name of the symbol.
|
||||
# (Not used by default unless you enable tie_tag_fixup_branches on
|
||||
# GitOutputOption.)
|
||||
ctx.tie_tag_ancestry_message = (
|
||||
"This commit was manufactured by cvs2svn to tie ancestry for "
|
||||
"tag '%(symbol_name)s' back to the source branch."
|
||||
)
|
||||
|
||||
# Some CVS clients for MacOS store resource fork data into CVS along
|
||||
# with the file contents itself by wrapping it all up in a container
|
||||
# format called "AppleSingle". Subversion currently does not support
|
||||
# MacOS resource forks. Nevertheless, sometimes the resource fork
|
||||
# information is not necessary and can be discarded. Set the
|
||||
# following option to True if you would like cvs2svn to identify files
|
||||
# whose contents are encoded in AppleSingle format, and discard all
|
||||
# but the data fork for such files before committing them to
|
||||
# Subversion. (Please note that AppleSingle contents are identified
|
||||
# by the AppleSingle magic number as the first four bytes of the file.
|
||||
# This check is not failproof, so only set this option if you think
|
||||
# you need it.)
|
||||
ctx.decode_apple_single = False
|
||||
|
||||
# This option can be set to the name of a filename to which are stored
|
||||
# statistics and conversion decisions about the CVS symbols.
|
||||
ctx.symbol_info_filename = None
|
||||
#ctx.symbol_info_filename = 'symbol-info.txt'
|
||||
|
||||
# cvs2svn uses "symbol strategy rules" to help decide how to handle
|
||||
# CVS symbols. The rules in a project's symbol_strategy_rules are
|
||||
# applied in order, and each rule is allowed to modify the symbol.
|
||||
# The result (after each of the rules has been applied) is used for
|
||||
# the conversion.
|
||||
#
|
||||
# 1. A CVS symbol might be used as a tag in one file and as a branch
|
||||
# in another file. cvs2svn has to decide whether to convert such a
|
||||
# symbol as a tag or as a branch. cvs2svn uses a series of
|
||||
# heuristic rules to decide how to convert a symbol. The user can
|
||||
# override the default rules for specific symbols or symbols
|
||||
# matching regular expressions.
|
||||
#
|
||||
# 2. cvs2svn is also capable of excluding symbols from the conversion
|
||||
# (provided no other symbols depend on them.
|
||||
#
|
||||
# 3. CVS does not record unambiguously the line of development from
|
||||
# which a symbol sprouted. cvs2svn uses a heuristic to choose a
|
||||
# symbol's "preferred parents".
|
||||
#
|
||||
# The standard branch/tag/exclude StrategyRules do not change a symbol
|
||||
# that has already been processed by an earlier rule, so in effect the
|
||||
# first matching rule is the one that is used.
|
||||
|
||||
global_symbol_strategy_rules = [
|
||||
# It is possible to specify manually exactly how symbols should be
|
||||
# converted and what line of development should be used as the
|
||||
# preferred parent. To do so, create a file containing the symbol
|
||||
# hints and enable the following option.
|
||||
#
|
||||
# The format of the hints file is described in the documentation
|
||||
# for the --symbol-hints command-line option. The file output by
|
||||
# the --write-symbol-info (i.e., ctx.symbol_info_filename) option
|
||||
# is in the same format. The simplest way to use this option is
|
||||
# to run the conversion through CollateSymbolsPass with
|
||||
# --write-symbol-info option, copy the symbol info and edit it to
|
||||
# create a hints file, then re-start the conversion at
|
||||
# CollateSymbolsPass with this option enabled.
|
||||
#SymbolHintsFileRule('symbol-hints.txt'),
|
||||
|
||||
# To force all symbols matching a regular expression to be
|
||||
# converted as branches, add rules like the following:
|
||||
#ForceBranchRegexpStrategyRule(r'branch.*'),
|
||||
|
||||
# To force all symbols matching a regular expression to be
|
||||
# converted as tags, add rules like the following:
|
||||
#ForceTagRegexpStrategyRule(r'tag.*'),
|
||||
|
||||
# To force all symbols matching a regular expression to be
|
||||
# excluded from the conversion, add rules like the following:
|
||||
#ExcludeRegexpStrategyRule(r'unknown-.*'),
|
||||
|
||||
# Sometimes people use "cvs import" to get their own source code
|
||||
# into CVS. This practice creates a vendor branch 1.1.1 and
|
||||
# imports the code onto the vendor branch as 1.1.1.1, then copies
|
||||
# the same content to the trunk as version 1.1. Normally, such
|
||||
# vendor branches are useless and they complicate the SVN history
|
||||
# unnecessarily. The following rule excludes any branches that
|
||||
# only existed as a vendor branch with a single import (leaving
|
||||
# only the 1.1 revision). If you want to retain such branches,
|
||||
# comment out the following line. (Please note that this rule
|
||||
# does not exclude vendor *tags*, as they are not so easy to
|
||||
# identify.)
|
||||
ExcludeTrivialImportBranchRule(),
|
||||
|
||||
# To exclude all vendor branches (branches that had "cvs import"s
|
||||
# on them bug no other kinds of commits), uncomment the following
|
||||
# line:
|
||||
#ExcludeVendorBranchRule(),
|
||||
|
||||
# Usually you want this rule, to convert unambiguous symbols
|
||||
# (symbols that were only ever used as tags or only ever used as
|
||||
# branches in CVS) the same way they were used in CVS:
|
||||
UnambiguousUsageRule(),
|
||||
|
||||
# If there was ever a commit on a symbol, then it cannot be
|
||||
# converted as a tag. This rule causes all such symbols to be
|
||||
# converted as branches. If you would like to resolve such
|
||||
# ambiguities manually, comment out the following line:
|
||||
BranchIfCommitsRule(),
|
||||
|
||||
# Last in the list can be a catch-all rule that is used for
|
||||
# symbols that were not matched by any of the more specific rules
|
||||
# above. (Assuming that BranchIfCommitsRule() was included above,
|
||||
# then the symbols that are still indeterminate at this point can
|
||||
# sensibly be converted as branches or tags.) Include at most one
|
||||
# of these lines. If none of these catch-all rules are included,
|
||||
# then the presence of any ambiguous symbols (that haven't been
|
||||
# disambiguated above) is an error:
|
||||
|
||||
# Convert ambiguous symbols based on whether they were used more
|
||||
# often as branches or as tags:
|
||||
HeuristicStrategyRule(),
|
||||
# Convert all ambiguous symbols as branches:
|
||||
#AllBranchRule(),
|
||||
# Convert all ambiguous symbols as tags:
|
||||
#AllTagRule(),
|
||||
|
||||
# The last rule is here to choose the preferred parent of branches
|
||||
# and tags, that is, the line of development from which the symbol
|
||||
# sprouts.
|
||||
HeuristicPreferredParentRule(),
|
||||
]
|
||||
|
||||
# Specify a username to be used for commits for which CVS doesn't
|
||||
# record the original author (for example, the creation of a branch).
|
||||
# This should be a simple (unix-style) username, but it can be
|
||||
# translated into a git-style name by the author_transforms map.
|
||||
ctx.username = 'cvs2svn'
|
||||
|
||||
# ctx.svn_property_setters contains a list of rules used to set the
|
||||
# svn properties on files in the converted archive. For each file,
|
||||
# the rules are tried one by one. Any rule can add or suppress one or
|
||||
# more svn properties. Typically the rules will not overwrite
|
||||
# properties set by a previous rule (though they are free to do so).
|
||||
#
|
||||
# Obviously, SVN properties per se are not interesting for a cvs2git
|
||||
# conversion, but some of these properties have side-effects that do
|
||||
# affect the git output. FIXME: Document this in more detail.
|
||||
ctx.svn_property_setters.extend([
|
||||
# To read auto-props rules from a file, uncomment the following line
|
||||
# and specify a filename. The boolean argument specifies whether
|
||||
# case should be ignored when matching filenames to the filename
|
||||
# patterns found in the auto-props file:
|
||||
#AutoPropsPropertySetter(
|
||||
# r'/home/username/.subversion/config',
|
||||
# ignore_case=True,
|
||||
# ),
|
||||
|
||||
# To read mime types from a file, uncomment the following line and
|
||||
# specify a filename:
|
||||
#MimeMapper(r'/etc/mime.types'),
|
||||
|
||||
# Omit the svn:eol-style property from any files that are listed
|
||||
# as binary (i.e., mode '-kb') in CVS:
|
||||
CVSBinaryFileEOLStyleSetter(),
|
||||
|
||||
# If the file is binary and its svn:mime-type property is not yet
|
||||
# set, set svn:mime-type to 'application/octet-stream'.
|
||||
CVSBinaryFileDefaultMimeTypeSetter(),
|
||||
|
||||
# To try to determine the eol-style from the mime type, uncomment
|
||||
# the following line:
|
||||
#EOLStyleFromMimeTypeSetter(),
|
||||
|
||||
# Choose one of the following lines to set the default
|
||||
# svn:eol-style if none of the above rules applied. The argument
|
||||
# is the svn:eol-style that should be applied, or None if no
|
||||
# svn:eol-style should be set (i.e., the file should be treated as
|
||||
# binary).
|
||||
#
|
||||
# The default is to treat all files as binary unless one of the
|
||||
# previous rules has determined otherwise, because this is the
|
||||
# safest approach. However, if you have been diligent about
|
||||
# marking binary files with -kb in CVS and/or you have used the
|
||||
# above rules to definitely mark binary files as binary, then you
|
||||
# might prefer to use 'native' as the default, as it is usually
|
||||
# the most convenient setting for text files. Other possible
|
||||
# options: 'CRLF', 'CR', 'LF'.
|
||||
DefaultEOLStyleSetter(None),
|
||||
#DefaultEOLStyleSetter('native'),
|
||||
|
||||
# Prevent svn:keywords from being set on files that have
|
||||
# svn:eol-style unset.
|
||||
SVNBinaryFileKeywordsPropertySetter(),
|
||||
|
||||
# If svn:keywords has not been set yet, set it based on the file's
|
||||
# CVS mode:
|
||||
KeywordsPropertySetter(config.SVN_KEYWORDS_VALUE),
|
||||
|
||||
# Set the svn:executable flag on any files that are marked in CVS as
|
||||
# being executable:
|
||||
ExecutablePropertySetter(),
|
||||
|
||||
])
|
||||
|
||||
# The directory to use for temporary files:
|
||||
ctx.tmpdir = r'cvs2svn-tmp'
|
||||
|
||||
# To skip the cleanup of temporary files, uncomment the following
|
||||
# option:
|
||||
#ctx.skip_cleanup = True
|
||||
|
||||
|
||||
# In CVS, it is perfectly possible to make a single commit that
|
||||
# affects more than one project or more than one branch of a single
|
||||
# project. Subversion also allows such commits. Therefore, by
|
||||
# default, when cvs2svn sees what looks like a cross-project or
|
||||
# cross-branch CVS commit, it converts it into a
|
||||
# cross-project/cross-branch Subversion commit.
|
||||
#
|
||||
# However, other tools and SCMs have trouble representing
|
||||
# cross-project or cross-branch commits. (For example, Trac's Revtree
|
||||
# plugin, http://www.trac-hacks.org/wiki/RevtreePlugin is confused by
|
||||
# such commits.) Therefore, we provide the following two options to
|
||||
# allow cross-project/cross-branch commits to be suppressed.
|
||||
|
||||
# cvs2git only supports single-project conversions (multiple-project
|
||||
# conversions wouldn't really make sense for git anyway). So this
|
||||
# option must be set to False:
|
||||
ctx.cross_project_commits = False
|
||||
|
||||
# git itself doesn't allow commits that affect more than one branch,
|
||||
# so this option must be set to False:
|
||||
ctx.cross_branch_commits = False
|
||||
|
||||
# cvs2git does not yet handle translating .cvsignore files into
|
||||
# .gitignore files, so by default, the .cvsignore files are included
|
||||
# in the conversion output. If you would like to omit the .cvsignore
|
||||
# files from the output, set this option to False:
|
||||
ctx.keep_cvsignore = True
|
||||
|
||||
# By default, it is a fatal error for a CVS ",v" file to appear both
|
||||
# inside and outside of an "Attic" subdirectory (this should never
|
||||
# happen, but frequently occurs due to botched repository
|
||||
# administration). If you would like to retain both versions of such
|
||||
# files, change the following option to True, and the attic version of
|
||||
# the file will be written to a subdirectory called "Attic" in the
|
||||
# output repository:
|
||||
ctx.retain_conflicting_attic_files = False
|
||||
|
||||
# CVS uses unix login names as author names whereas git requires
|
||||
# author names to be of the form "foo <bar>". The default is to set
|
||||
# the git author to "cvsauthor <cvsauthor>". author_transforms can be
|
||||
# used to map cvsauthor names (e.g., "jrandom") to a true name and
|
||||
# email address (e.g., "J. Random <jrandom@example.com>" for the
|
||||
# example shown). All values should be either Unicode strings (i.e.,
|
||||
# with "u" as a prefix) or 8-bit strings in the utf-8 encoding.
|
||||
# Please substitute your own project's usernames here to use with the
|
||||
# author_transforms option of GitOutputOption below.
|
||||
author_transforms={
|
||||
'alain' : ('Alain Greiner' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'boris' : ('Boris Boutillier' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'czo' : ('Olivier Sirol' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'd2' : ('Damien Dupuis' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'dom' : ('Dominique Ledu' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'franck' : ('Franck Wajsburt' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'francois' : ('Francois Donnet' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'fred' : ('Frederic Petrot' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'gregoire' : ('Gregoire Avot' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'hcl' : ('Hugo Clement' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'jpc' : ('Jean-Paul Chaput' , 'Jean-Paul.Chaput@lip6.fr' ),
|
||||
'karim' : ('Karim Dioury' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'ludo' : ('Ludovic Jacomme' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'noury' : ('Ludovic Noury' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'pnt' : ('Pierre Nguyen Tuong' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'sirol' : ('Olivier Sirol' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'xtof' : ('Christophe Alexandre' , 'alliance-cvs@asim.lip6.fr'),
|
||||
|
||||
'alliance' : ('The Alliance Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'asimut' : ('The Asimut Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'asm' : ('The ASM Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'beh' : ('The BEH Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'behvhdl' : ('The BEHVHDL Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'cns' : ('The CNS Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'dreal' : ('The Dreal Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'graal' : ('The Graal Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'lynx' : ('The Lynx Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'outil' : ('The Generic Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'rds' : ('The RDS Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'simcity' : ('The Simcity Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'syf' : ('The Syf Tool' , 'alliance-cvs@asim.lip6.fr'),
|
||||
|
||||
'ac' : ('Forgotten Author (ac)' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'ana' : ('Forgotten Author (ana)' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'dea9527' : ('Forgotten Author (dea9527)', 'alliance-cvs@asim.lip6.fr'),
|
||||
'mai0009' : ('Forgotten Author (mai0009)', 'alliance-cvs@asim.lip6.fr'),
|
||||
'nagat' : ('Forgotten Author (nagat)' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'olivier' : ('Forgotten Author (olivier)', 'alliance-cvs@asim.lip6.fr'),
|
||||
'uid809' : ('Forgotten Author (uid809)' , 'alliance-cvs@asim.lip6.fr'),
|
||||
'vancour' : ('Forgotten Author (vancour)', 'alliance-cvs@asim.lip6.fr'),
|
||||
'vincent' : ('Forgotten Author (vincent)', 'alliance-cvs@asim.lip6.fr'),
|
||||
|
||||
# This one will be used for commits for which CVS doesn't record
|
||||
# the original author, as explained above.
|
||||
'cvs2svn' : ('cvs2svn', 'alliance-cvs@asim.lip6.fr'),
|
||||
}
|
||||
|
||||
# This is the main option that causes cvs2svn to output to a
|
||||
# "fastimport"-format dumpfile rather than to Subversion:
|
||||
ctx.output_option = GitOutputOption(
|
||||
# The file in which to write the git-fast-import stream that
|
||||
# contains the changesets and branch/tag information:
|
||||
'cvs2svn-tmp/git-dump.dat',
|
||||
|
||||
# The blobs will be written via the revision recorder, so in
|
||||
# OutputPass we only have to emit references to the blob marks:
|
||||
GitRevisionMarkWriter(),
|
||||
|
||||
# Optional map from CVS author names to git author names:
|
||||
author_transforms=author_transforms,
|
||||
)
|
||||
|
||||
# Change this option to True to turn on profiling of cvs2svn (for
|
||||
# debugging purposes):
|
||||
run_options.profiling = False
|
||||
|
||||
|
||||
# Should CVSItem -> Changeset database files be memory mapped? In
|
||||
# some tests, using memory mapping speeded up the overall conversion
|
||||
# by about 5%. But this option can cause the conversion to fail with
|
||||
# an out of memory error if the conversion computer runs out of
|
||||
# virtual address space (e.g., when running a very large conversion on
|
||||
# a 32-bit operating system). Therefore it is disabled by default.
|
||||
# Uncomment the following line to allow these database files to be
|
||||
# memory mapped.
|
||||
#changeset_database.use_mmap_for_cvs_item_to_changeset_table = True
|
||||
|
||||
# Now set the project to be converted to git. cvs2git only supports
|
||||
# single-project conversions, so this method must only be called
|
||||
# once:
|
||||
run_options.set_project(
|
||||
# The filesystem path to the part of the CVS repository (*not* a
|
||||
# CVS working copy) that should be converted. This may be a
|
||||
# subdirectory (i.e., a module) within a larger CVS repository.
|
||||
r'/dsk/l1/alliance/cvsroot',
|
||||
|
||||
# A list of symbol transformations that can be used to rename
|
||||
# symbols in this project.
|
||||
symbol_transforms=[
|
||||
# Use IgnoreSymbolTransforms like the following to completely
|
||||
# ignore symbols matching a regular expression when parsing
|
||||
# the CVS repository, for example to avoid warnings about
|
||||
# branches with two names and to choose the preferred name.
|
||||
# It is *not* recommended to use this instead of
|
||||
# ExcludeRegexpStrategyRule; though more efficient,
|
||||
# IgnoreSymbolTransforms are less flexible and don't exclude
|
||||
# branches correctly. The argument is a Python-style regular
|
||||
# expression that has to match the *whole* CVS symbol name:
|
||||
#IgnoreSymbolTransform(r'nightly-build-tag-.*')
|
||||
|
||||
# RegexpSymbolTransforms transform symbols textually using a
|
||||
# regular expression. The first argument is a Python regular
|
||||
# expression pattern and the second is a replacement pattern.
|
||||
# The pattern is matched against each symbol name. If it
|
||||
# matches the whole symbol name, then the symbol name is
|
||||
# replaced with the corresponding replacement text. The
|
||||
# replacement can include substitution patterns (e.g., r'\1'
|
||||
# or r'\g<name>'). Typically you will want to use raw strings
|
||||
# (strings with a preceding 'r', like shown in the examples)
|
||||
# for the regexp and its replacement to avoid backslash
|
||||
# substitution within those strings.
|
||||
#RegexpSymbolTransform(r'release-(\d+)_(\d+)',
|
||||
# r'release-\1.\2'),
|
||||
#RegexpSymbolTransform(r'release-(\d+)_(\d+)_(\d+)',
|
||||
# r'release-\1.\2.\3'),
|
||||
|
||||
# Simple 1:1 character replacements can also be done. The
|
||||
# following transform, which converts backslashes into forward
|
||||
# slashes, should usually be included:
|
||||
ReplaceSubstringsSymbolTransform('\\','/'),
|
||||
|
||||
# This last rule eliminates leading, trailing, and repeated
|
||||
# slashes within the output symbol names:
|
||||
NormalizePathsSymbolTransform(),
|
||||
],
|
||||
|
||||
# See the definition of global_symbol_strategy_rules above for a
|
||||
# description of this option:
|
||||
symbol_strategy_rules=global_symbol_strategy_rules,
|
||||
)
|
||||
|
|
@ -0,0 +1,622 @@
|
|||
# (Be in -*- mode: python; coding: utf-8 -*- mode.)
|
||||
#
|
||||
# ====================================================================
|
||||
# Copyright (c) 2006-2009 CollabNet. All rights reserved.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
# are also available at http://subversion.tigris.org/license-1.html.
|
||||
# If newer versions of this license are posted there, you may use a
|
||||
# newer version instead, at your option.
|
||||
#
|
||||
# This software consists of voluntary contributions made by many
|
||||
# individuals. For exact contribution history, see the revision
|
||||
# history and logs, available at http://cvs2svn.tigris.org/.
|
||||
# ====================================================================
|
||||
|
||||
# #####################
|
||||
# ## PLEASE READ ME! ##
|
||||
# #####################
|
||||
#
|
||||
# This is a template for an options file that can be used to configure
|
||||
# cvs2svn to convert to git rather than to Subversion. See
|
||||
# www/cvs2svn.html and www/cvs2svn.html for general information, and
|
||||
# see the comments in this file for information about what options are
|
||||
# available and how they can be set.
|
||||
#
|
||||
# The program that is run to convert from CVS to git is called
|
||||
# cvs2svn. Run it with the --options option, passing it this file
|
||||
# like this:
|
||||
#
|
||||
# cvs2svn --options=cvs2svn-example.options
|
||||
#
|
||||
# The output of cvs2svn is a blob file and a dump file that can be
|
||||
# loaded into git using the "git fast-import" command. Please read
|
||||
# www/cvs2svn.html for more information.
|
||||
#
|
||||
# Many options do not have defaults, so it is easier to copy this file
|
||||
# and modify what you need rather than creating a new options file
|
||||
# from scratch. This file is in Python syntax, but you don't need to
|
||||
# know Python to modify it. But if you *do* know Python, then you
|
||||
# will be happy to know that you can use arbitary Python constructs to
|
||||
# do fancy configuration tricks.
|
||||
#
|
||||
# But please be aware of the following:
|
||||
#
|
||||
# * In many places, leading whitespace is significant in Python (it is
|
||||
# used instead of curly braces to group statements together).
|
||||
# Therefore, if you don't know what you are doing, it is best to
|
||||
# leave the whitespace as it is.
|
||||
#
|
||||
# * In normal strings, Python treats a backslash ("\") as an escape
|
||||
# character. Therefore, if you want to specify a string that
|
||||
# contains a backslash, you need either to escape the backslash with
|
||||
# another backslash ("\\"), or use a "raw string", as in one if the
|
||||
# following equivalent examples:
|
||||
#
|
||||
# cvs_executable = 'c:\\windows\\system32\\cvs.exe'
|
||||
# cvs_executable = r'c:\windows\system32\cvs.exe'
|
||||
#
|
||||
# See http://docs.python.org/tutorial/introduction.html#strings for
|
||||
# more information.
|
||||
#
|
||||
# Two identifiers will have been defined before this file is executed,
|
||||
# and can be used freely within this file:
|
||||
#
|
||||
# ctx -- a Ctx object (see cvs2svn_lib/context.py), which holds
|
||||
# many configuration options
|
||||
#
|
||||
# run_options -- an instance of the GitRunOptions class (see
|
||||
# cvs2svn_lib/git_run_options.py), which holds some variables
|
||||
# governing how cvs2svn is run
|
||||
|
||||
|
||||
# Import some modules that are used in setting the options:
|
||||
import re
|
||||
|
||||
from cvs2svn_lib import config
|
||||
from cvs2svn_lib import changeset_database
|
||||
from cvs2svn_lib.common import CVSTextDecoder
|
||||
from cvs2svn_lib.log import Log
|
||||
from cvs2svn_lib.project import Project
|
||||
from cvs2svn_lib.git_revision_recorder import GitRevisionRecorder
|
||||
from cvs2svn_lib.git_output_option import GitRevisionMarkWriter
|
||||
from cvs2svn_lib.git_output_option import GitOutputOption
|
||||
from cvs2svn_lib.revision_manager import NullRevisionRecorder
|
||||
from cvs2svn_lib.revision_manager import NullRevisionExcluder
|
||||
from cvs2svn_lib.fulltext_revision_recorder \
|
||||
import SimpleFulltextRevisionRecorderAdapter
|
||||
from cvs2svn_lib.rcs_revision_manager import RCSRevisionReader
|
||||
from cvs2svn_lib.cvs_revision_manager import CVSRevisionReader
|
||||
from cvs2svn_lib.checkout_internal import InternalRevisionRecorder
|
||||
from cvs2svn_lib.checkout_internal import InternalRevisionExcluder
|
||||
from cvs2svn_lib.checkout_internal import InternalRevisionReader
|
||||
from cvs2svn_lib.symbol_strategy import AllBranchRule
|
||||
from cvs2svn_lib.symbol_strategy import AllTagRule
|
||||
from cvs2svn_lib.symbol_strategy import BranchIfCommitsRule
|
||||
from cvs2svn_lib.symbol_strategy import ExcludeRegexpStrategyRule
|
||||
from cvs2svn_lib.symbol_strategy import ForceBranchRegexpStrategyRule
|
||||
from cvs2svn_lib.symbol_strategy import ForceTagRegexpStrategyRule
|
||||
from cvs2svn_lib.symbol_strategy import ExcludeTrivialImportBranchRule
|
||||
from cvs2svn_lib.symbol_strategy import ExcludeVendorBranchRule
|
||||
from cvs2svn_lib.symbol_strategy import HeuristicStrategyRule
|
||||
from cvs2svn_lib.symbol_strategy import UnambiguousUsageRule
|
||||
from cvs2svn_lib.symbol_strategy import HeuristicPreferredParentRule
|
||||
from cvs2svn_lib.symbol_strategy import SymbolHintsFileRule
|
||||
from cvs2svn_lib.symbol_transform import ReplaceSubstringsSymbolTransform
|
||||
from cvs2svn_lib.symbol_transform import RegexpSymbolTransform
|
||||
from cvs2svn_lib.symbol_transform import IgnoreSymbolTransform
|
||||
from cvs2svn_lib.symbol_transform import NormalizePathsSymbolTransform
|
||||
from cvs2svn_lib.property_setters import AutoPropsPropertySetter
|
||||
from cvs2svn_lib.property_setters import CVSBinaryFileDefaultMimeTypeSetter
|
||||
from cvs2svn_lib.property_setters import CVSBinaryFileEOLStyleSetter
|
||||
from cvs2svn_lib.property_setters import DefaultEOLStyleSetter
|
||||
from cvs2svn_lib.property_setters import EOLStyleFromMimeTypeSetter
|
||||
from cvs2svn_lib.property_setters import ExecutablePropertySetter
|
||||
from cvs2svn_lib.property_setters import KeywordsPropertySetter
|
||||
from cvs2svn_lib.property_setters import MimeMapper
|
||||
from cvs2svn_lib.property_setters import SVNBinaryFileKeywordsPropertySetter
|
||||
|
||||
# To choose the level of logging output, uncomment one of the
|
||||
# following lines:
|
||||
#Log().log_level = Log.WARN
|
||||
#Log().log_level = Log.QUIET
|
||||
Log().log_level = Log.NORMAL
|
||||
#Log().log_level = Log.VERBOSE
|
||||
#Log().log_level = Log.DEBUG
|
||||
|
||||
|
||||
# During CollectRevsPass, cvs2svn records the contents of file
|
||||
# revisions into a "blob" file in git-fast-import format. This option
|
||||
# configures that process:
|
||||
ctx.revision_recorder = SimpleFulltextRevisionRecorderAdapter(
|
||||
# The following option specifies how the revision contents of the RCS
|
||||
# files should be read.
|
||||
#
|
||||
# RCSRevisionReader uses RCS's "co" program to extract the revision
|
||||
# contents of the RCS files during CollectRevsPass. The constructor
|
||||
# argument specifies how to invoke the "co" executable.
|
||||
#
|
||||
# CVSRevisionReader uses the "cvs" program to extract the revision
|
||||
# contents out of the RCS files during OutputPass. This option is
|
||||
# considerably slower than RCSRevisionReader because "cvs" is
|
||||
# considerably slower than "co". However, it works in some situations
|
||||
# where RCSRevisionReader fails; see the HTML documentation of the
|
||||
# "--use-cvs" option for details. The constructor argument specifies
|
||||
# how to invoke the "co" executable.
|
||||
#
|
||||
# Uncomment one of the two following lines:
|
||||
#RCSRevisionReader(co_executable=r'co'),
|
||||
CVSRevisionReader(cvs_executable=r'cvs'),
|
||||
|
||||
# The file in which to write the git-fast-import stream that
|
||||
# contains the file revision contents:
|
||||
GitRevisionRecorder('cvs2svn-tmp/git-blob.dat'),
|
||||
)
|
||||
|
||||
# cvs2svn does not need to keep track of what revisions will be
|
||||
# excluded, so leave this option unchanged:
|
||||
ctx.revision_excluder = NullRevisionExcluder()
|
||||
|
||||
# cvs2svn doesn't need a revision reader because OutputPass only
|
||||
# refers to blobs that were output during CollectRevsPass, so leave
|
||||
# this option set to None.
|
||||
ctx.revision_reader = None
|
||||
|
||||
# Change the following line to True if the conversion should only
|
||||
# include the trunk of the repository (i.e., all branches and tags
|
||||
# should be omitted from the conversion):
|
||||
ctx.trunk_only = False
|
||||
|
||||
# How to convert CVS author names, log messages, and filenames to
|
||||
# Unicode. The first argument to CVSTextDecoder is a list of encoders
|
||||
# that are tried in order in 'strict' mode until one of them succeeds.
|
||||
# If none of those succeeds, then fallback_encoder (if it is
|
||||
# specified) is used in lossy 'replace' mode. Setting a fallback
|
||||
# encoder ensures that the encoder always succeeds, but it can cause
|
||||
# information loss.
|
||||
ctx.cvs_author_decoder = CVSTextDecoder(
|
||||
[
|
||||
'latin1',
|
||||
'utf8',
|
||||
'ascii',
|
||||
],
|
||||
fallback_encoding='latin1'
|
||||
)
|
||||
ctx.cvs_log_decoder = CVSTextDecoder(
|
||||
[
|
||||
'latin1',
|
||||
'utf8',
|
||||
'ascii',
|
||||
],
|
||||
fallback_encoding='latin1'
|
||||
)
|
||||
# You might want to be especially strict when converting filenames to
|
||||
# Unicode (e.g., maybe not specify a fallback_encoding).
|
||||
ctx.cvs_filename_decoder = CVSTextDecoder(
|
||||
[
|
||||
'latin1',
|
||||
'utf8',
|
||||
'ascii',
|
||||
],
|
||||
fallback_encoding='latin1'
|
||||
)
|
||||
|
||||
# Template for the commit message to be used for initial project
|
||||
# commits.
|
||||
ctx.initial_project_commit_message = (
|
||||
'Standard project directories initialized by cvs2svn.'
|
||||
)
|
||||
|
||||
# Template for the commit message to be used for post commits, in
|
||||
# which modifications to a vendor branch are copied back to trunk.
|
||||
# This message can use '%(revnum)d' to include the SVN revision number
|
||||
# of the revision that included the change to the vendor branch
|
||||
# (admittedly rather pointless in a cvs2svn conversion).
|
||||
ctx.post_commit_message = (
|
||||
'This commit was generated by cvs2svn to track changes on a CVS '
|
||||
'vendor branch.'
|
||||
)
|
||||
|
||||
# Template for the commit message to be used for commits in which
|
||||
# symbols are created. This message can use '%(symbol_type)s' to
|
||||
# include the type of the symbol ('branch' or 'tag') or
|
||||
# '%(symbol_name)s' to include the name of the symbol.
|
||||
ctx.symbol_commit_message = (
|
||||
"This commit was manufactured by cvs2svn to create %(symbol_type)s "
|
||||
"'%(symbol_name)s'."
|
||||
)
|
||||
|
||||
# Template for the commit message to be used for commits in which
|
||||
# tags are pseudo-merged back to their source branch. This message can
|
||||
# use '%(symbol_name)s' to include the name of the symbol.
|
||||
# (Not used by default unless you enable tie_tag_fixup_branches on
|
||||
# GitOutputOption.)
|
||||
ctx.tie_tag_ancestry_message = (
|
||||
"This commit was manufactured by cvs2svn to tie ancestry for "
|
||||
"tag '%(symbol_name)s' back to the source branch."
|
||||
)
|
||||
|
||||
# Some CVS clients for MacOS store resource fork data into CVS along
|
||||
# with the file contents itself by wrapping it all up in a container
|
||||
# format called "AppleSingle". Subversion currently does not support
|
||||
# MacOS resource forks. Nevertheless, sometimes the resource fork
|
||||
# information is not necessary and can be discarded. Set the
|
||||
# following option to True if you would like cvs2svn to identify files
|
||||
# whose contents are encoded in AppleSingle format, and discard all
|
||||
# but the data fork for such files before committing them to
|
||||
# Subversion. (Please note that AppleSingle contents are identified
|
||||
# by the AppleSingle magic number as the first four bytes of the file.
|
||||
# This check is not failproof, so only set this option if you think
|
||||
# you need it.)
|
||||
ctx.decode_apple_single = False
|
||||
|
||||
# This option can be set to the name of a filename to which are stored
|
||||
# statistics and conversion decisions about the CVS symbols.
|
||||
ctx.symbol_info_filename = None
|
||||
#ctx.symbol_info_filename = 'symbol-info.txt'
|
||||
|
||||
# cvs2svn uses "symbol strategy rules" to help decide how to handle
|
||||
# CVS symbols. The rules in a project's symbol_strategy_rules are
|
||||
# applied in order, and each rule is allowed to modify the symbol.
|
||||
# The result (after each of the rules has been applied) is used for
|
||||
# the conversion.
|
||||
#
|
||||
# 1. A CVS symbol might be used as a tag in one file and as a branch
|
||||
# in another file. cvs2svn has to decide whether to convert such a
|
||||
# symbol as a tag or as a branch. cvs2svn uses a series of
|
||||
# heuristic rules to decide how to convert a symbol. The user can
|
||||
# override the default rules for specific symbols or symbols
|
||||
# matching regular expressions.
|
||||
#
|
||||
# 2. cvs2svn is also capable of excluding symbols from the conversion
|
||||
# (provided no other symbols depend on them.
|
||||
#
|
||||
# 3. CVS does not record unambiguously the line of development from
|
||||
# which a symbol sprouted. cvs2svn uses a heuristic to choose a
|
||||
# symbol's "preferred parents".
|
||||
#
|
||||
# The standard branch/tag/exclude StrategyRules do not change a symbol
|
||||
# that has already been processed by an earlier rule, so in effect the
|
||||
# first matching rule is the one that is used.
|
||||
|
||||
global_symbol_strategy_rules = [
|
||||
# It is possible to specify manually exactly how symbols should be
|
||||
# converted and what line of development should be used as the
|
||||
# preferred parent. To do so, create a file containing the symbol
|
||||
# hints and enable the following option.
|
||||
#
|
||||
# The format of the hints file is described in the documentation
|
||||
# for the --symbol-hints command-line option. The file output by
|
||||
# the --write-symbol-info (i.e., ctx.symbol_info_filename) option
|
||||
# is in the same format. The simplest way to use this option is
|
||||
# to run the conversion through CollateSymbolsPass with
|
||||
# --write-symbol-info option, copy the symbol info and edit it to
|
||||
# create a hints file, then re-start the conversion at
|
||||
# CollateSymbolsPass with this option enabled.
|
||||
#SymbolHintsFileRule('symbol-hints.txt'),
|
||||
|
||||
# To force all symbols matching a regular expression to be
|
||||
# converted as branches, add rules like the following:
|
||||
#ForceBranchRegexpStrategyRule(r'branch.*'),
|
||||
|
||||
# To force all symbols matching a regular expression to be
|
||||
# converted as tags, add rules like the following:
|
||||
#ForceTagRegexpStrategyRule(r'tag.*'),
|
||||
|
||||
# To force all symbols matching a regular expression to be
|
||||
# excluded from the conversion, add rules like the following:
|
||||
#ExcludeRegexpStrategyRule(r'unknown-.*'),
|
||||
|
||||
# Sometimes people use "cvs import" to get their own source code
|
||||
# into CVS. This practice creates a vendor branch 1.1.1 and
|
||||
# imports the code onto the vendor branch as 1.1.1.1, then copies
|
||||
# the same content to the trunk as version 1.1. Normally, such
|
||||
# vendor branches are useless and they complicate the SVN history
|
||||
# unnecessarily. The following rule excludes any branches that
|
||||
# only existed as a vendor branch with a single import (leaving
|
||||
# only the 1.1 revision). If you want to retain such branches,
|
||||
# comment out the following line. (Please note that this rule
|
||||
# does not exclude vendor *tags*, as they are not so easy to
|
||||
# identify.)
|
||||
ExcludeTrivialImportBranchRule(),
|
||||
|
||||
# To exclude all vendor branches (branches that had "cvs import"s
|
||||
# on them bug no other kinds of commits), uncomment the following
|
||||
# line:
|
||||
#ExcludeVendorBranchRule(),
|
||||
|
||||
# Usually you want this rule, to convert unambiguous symbols
|
||||
# (symbols that were only ever used as tags or only ever used as
|
||||
# branches in CVS) the same way they were used in CVS:
|
||||
UnambiguousUsageRule(),
|
||||
|
||||
# If there was ever a commit on a symbol, then it cannot be
|
||||
# converted as a tag. This rule causes all such symbols to be
|
||||
# converted as branches. If you would like to resolve such
|
||||
# ambiguities manually, comment out the following line:
|
||||
BranchIfCommitsRule(),
|
||||
|
||||
# Last in the list can be a catch-all rule that is used for
|
||||
# symbols that were not matched by any of the more specific rules
|
||||
# above. (Assuming that BranchIfCommitsRule() was included above,
|
||||
# then the symbols that are still indeterminate at this point can
|
||||
# sensibly be converted as branches or tags.) Include at most one
|
||||
# of these lines. If none of these catch-all rules are included,
|
||||
# then the presence of any ambiguous symbols (that haven't been
|
||||
# disambiguated above) is an error:
|
||||
|
||||
# Convert ambiguous symbols based on whether they were used more
|
||||
# often as branches or as tags:
|
||||
HeuristicStrategyRule(),
|
||||
# Convert all ambiguous symbols as branches:
|
||||
#AllBranchRule(),
|
||||
# Convert all ambiguous symbols as tags:
|
||||
#AllTagRule(),
|
||||
|
||||
# The last rule is here to choose the preferred parent of branches
|
||||
# and tags, that is, the line of development from which the symbol
|
||||
# sprouts.
|
||||
HeuristicPreferredParentRule(),
|
||||
]
|
||||
|
||||
# Specify a username to be used for commits for which CVS doesn't
|
||||
# record the original author (for example, the creation of a branch).
|
||||
# This should be a simple (unix-style) username, but it can be
|
||||
# translated into a git-style name by the author_transforms map.
|
||||
ctx.username = 'cvs2svn'
|
||||
|
||||
# ctx.svn_property_setters contains a list of rules used to set the
|
||||
# svn properties on files in the converted archive. For each file,
|
||||
# the rules are tried one by one. Any rule can add or suppress one or
|
||||
# more svn properties. Typically the rules will not overwrite
|
||||
# properties set by a previous rule (though they are free to do so).
|
||||
#
|
||||
# Obviously, SVN properties per se are not interesting for a cvs2svn
|
||||
# conversion, but some of these properties have side-effects that do
|
||||
# affect the git output. FIXME: Document this in more detail.
|
||||
ctx.svn_property_setters.extend([
|
||||
# To read auto-props rules from a file, uncomment the following line
|
||||
# and specify a filename. The boolean argument specifies whether
|
||||
# case should be ignored when matching filenames to the filename
|
||||
# patterns found in the auto-props file:
|
||||
#AutoPropsPropertySetter(
|
||||
# r'/home/username/.subversion/config',
|
||||
# ignore_case=True,
|
||||
# ),
|
||||
|
||||
# To read mime types from a file, uncomment the following line and
|
||||
# specify a filename:
|
||||
#MimeMapper(r'/etc/mime.types'),
|
||||
|
||||
# Omit the svn:eol-style property from any files that are listed
|
||||
# as binary (i.e., mode '-kb') in CVS:
|
||||
CVSBinaryFileEOLStyleSetter(),
|
||||
|
||||
# If the file is binary and its svn:mime-type property is not yet
|
||||
# set, set svn:mime-type to 'application/octet-stream'.
|
||||
CVSBinaryFileDefaultMimeTypeSetter(),
|
||||
|
||||
# To try to determine the eol-style from the mime type, uncomment
|
||||
# the following line:
|
||||
#EOLStyleFromMimeTypeSetter(),
|
||||
|
||||
# Choose one of the following lines to set the default
|
||||
# svn:eol-style if none of the above rules applied. The argument
|
||||
# is the svn:eol-style that should be applied, or None if no
|
||||
# svn:eol-style should be set (i.e., the file should be treated as
|
||||
# binary).
|
||||
#
|
||||
# The default is to treat all files as binary unless one of the
|
||||
# previous rules has determined otherwise, because this is the
|
||||
# safest approach. However, if you have been diligent about
|
||||
# marking binary files with -kb in CVS and/or you have used the
|
||||
# above rules to definitely mark binary files as binary, then you
|
||||
# might prefer to use 'native' as the default, as it is usually
|
||||
# the most convenient setting for text files. Other possible
|
||||
# options: 'CRLF', 'CR', 'LF'.
|
||||
DefaultEOLStyleSetter(None),
|
||||
#DefaultEOLStyleSetter('native'),
|
||||
|
||||
# Prevent svn:keywords from being set on files that have
|
||||
# svn:eol-style unset.
|
||||
SVNBinaryFileKeywordsPropertySetter(),
|
||||
|
||||
# If svn:keywords has not been set yet, set it based on the file's
|
||||
# CVS mode:
|
||||
KeywordsPropertySetter(config.SVN_KEYWORDS_VALUE),
|
||||
|
||||
# Set the svn:executable flag on any files that are marked in CVS as
|
||||
# being executable:
|
||||
ExecutablePropertySetter(),
|
||||
|
||||
])
|
||||
|
||||
# The directory to use for temporary files:
|
||||
ctx.tmpdir = r'cvs2svn-tmp'
|
||||
|
||||
# To skip the cleanup of temporary files, uncomment the following
|
||||
# option:
|
||||
#ctx.skip_cleanup = True
|
||||
|
||||
|
||||
# In CVS, it is perfectly possible to make a single commit that
|
||||
# affects more than one project or more than one branch of a single
|
||||
# project. Subversion also allows such commits. Therefore, by
|
||||
# default, when cvs2svn sees what looks like a cross-project or
|
||||
# cross-branch CVS commit, it converts it into a
|
||||
# cross-project/cross-branch Subversion commit.
|
||||
#
|
||||
# However, other tools and SCMs have trouble representing
|
||||
# cross-project or cross-branch commits. (For example, Trac's Revtree
|
||||
# plugin, http://www.trac-hacks.org/wiki/RevtreePlugin is confused by
|
||||
# such commits.) Therefore, we provide the following two options to
|
||||
# allow cross-project/cross-branch commits to be suppressed.
|
||||
|
||||
# cvs2svn only supports single-project conversions (multiple-project
|
||||
# conversions wouldn't really make sense for git anyway). So this
|
||||
# option must be set to False:
|
||||
ctx.cross_project_commits = False
|
||||
|
||||
# git itself doesn't allow commits that affect more than one branch,
|
||||
# so this option must be set to False:
|
||||
ctx.cross_branch_commits = False
|
||||
|
||||
# cvs2svn does not yet handle translating .cvsignore files into
|
||||
# .gitignore files, so by default, the .cvsignore files are included
|
||||
# in the conversion output. If you would like to omit the .cvsignore
|
||||
# files from the output, set this option to False:
|
||||
ctx.keep_cvsignore = True
|
||||
|
||||
# By default, it is a fatal error for a CVS ",v" file to appear both
|
||||
# inside and outside of an "Attic" subdirectory (this should never
|
||||
# happen, but frequently occurs due to botched repository
|
||||
# administration). If you would like to retain both versions of such
|
||||
# files, change the following option to True, and the attic version of
|
||||
# the file will be written to a subdirectory called "Attic" in the
|
||||
# output repository:
|
||||
ctx.retain_conflicting_attic_files = False
|
||||
|
||||
# CVS uses unix login names as author names whereas git requires
|
||||
# author names to be of the form "foo <bar>". The default is to set
|
||||
# the git author to "cvsauthor <cvsauthor>". author_transforms can be
|
||||
# used to map cvsauthor names (e.g., "jrandom") to a true name and
|
||||
# email address (e.g., "J. Random <jrandom@example.com>" for the
|
||||
# example shown). All values should be either Unicode strings (i.e.,
|
||||
# with "u" as a prefix) or 8-bit strings in the utf-8 encoding.
|
||||
# Please substitute your own project's usernames here to use with the
|
||||
# author_transforms option of GitOutputOption below.
|
||||
author_transforms={
|
||||
'alain' : ('Alain Greiner' , 'arith-devel@soc.lip6.fr'),
|
||||
'boris' : ('Boris Boutillier' , 'arith-devel@soc.lip6.fr'),
|
||||
'czo' : ('Olivier Sirol' , 'arith-devel@soc.lip6.fr'),
|
||||
'cobell' : ('Sophie Belloeil' , 'arith-devel@soc.lip6.fr'),
|
||||
'd2' : ('Damien Dupuis' , 'arith-devel@soc.lip6.fr'),
|
||||
'dom' : ('Dominique Ledu' , 'arith-devel@soc.lip6.fr'),
|
||||
'franck' : ('Franck Wajsburt' , 'arith-devel@soc.lip6.fr'),
|
||||
'francois' : ('Francois Donnet' , 'arith-devel@soc.lip6.fr'),
|
||||
'fred' : ('Frederic Petrot' , 'arith-devel@soc.lip6.fr'),
|
||||
'gregoire' : ('Gregoire Avot' , 'arith-devel@soc.lip6.fr'),
|
||||
'hcl' : ('Hugo Clement' , 'arith-devel@soc.lip6.fr'),
|
||||
'jpc' : ('Jean-Paul Chaput' , 'Jean-Paul.Chaput@lip6.fr' ),
|
||||
'karim' : ('Karim Dioury' , 'arith-devel@soc.lip6.fr'),
|
||||
'ludo' : ('Ludovic Jacomme' , 'arith-devel@soc.lip6.fr'),
|
||||
'noury' : ('Ludovic Noury' , 'arith-devel@soc.lip6.fr'),
|
||||
'pnt' : ('Pierre Nguyen Tuong' , 'arith-devel@soc.lip6.fr'),
|
||||
'roselyne' : ('Roselyne Chotin-Avot' , 'Roselyne.Chotin-Avot@lip6.fr'),
|
||||
'sirol' : ('Olivier Sirol' , 'arith-devel@soc.lip6.fr'),
|
||||
'xtof' : ('Christophe Alexandre' , 'arith-devel@soc.lip6.fr'),
|
||||
|
||||
'alliance' : ('The Alliance Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'asimut' : ('The Asimut Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'asm' : ('The ASM Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'beh' : ('The BEH Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'behvhdl' : ('The BEHVHDL Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'cns' : ('The CNS Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'dreal' : ('The Dreal Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'graal' : ('The Graal Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'lynx' : ('The Lynx Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'outil' : ('The Generic Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'rds' : ('The RDS Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'simcity' : ('The Simcity Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
'syf' : ('The Syf Tool' , 'arith-devel@soc.lip6.fr'),
|
||||
|
||||
'ac' : ('Forgotten Author (ac)' , 'arith-devel@soc.lip6.fr'),
|
||||
'ana' : ('Forgotten Author (ana)' , 'arith-devel@soc.lip6.fr'),
|
||||
'dea9527' : ('Forgotten Author (dea9527)', 'arith-devel@soc.lip6.fr'),
|
||||
'mai0009' : ('Forgotten Author (mai0009)', 'arith-devel@soc.lip6.fr'),
|
||||
'nagat' : ('Forgotten Author (nagat)' , 'arith-devel@soc.lip6.fr'),
|
||||
'olivier' : ('Forgotten Author (olivier)', 'arith-devel@soc.lip6.fr'),
|
||||
'uid809' : ('Forgotten Author (uid809)' , 'arith-devel@soc.lip6.fr'),
|
||||
'vancour' : ('Forgotten Author (vancour)', 'arith-devel@soc.lip6.fr'),
|
||||
'vincent' : ('Forgotten Author (vincent)', 'arith-devel@soc.lip6.fr'),
|
||||
|
||||
# This one will be used for commits for which CVS doesn't record
|
||||
# the original author, as explained above.
|
||||
'cvs2svn' : ('cvs2svn', 'arith-devel@soc.lip6.fr'),
|
||||
}
|
||||
|
||||
# This is the main option that causes cvs2svn to output to a
|
||||
# "fastimport"-format dumpfile rather than to Subversion:
|
||||
ctx.output_option = GitOutputOption(
|
||||
# The file in which to write the git-fast-import stream that
|
||||
# contains the changesets and branch/tag information:
|
||||
'cvs2svn-tmp/git-dump.dat',
|
||||
|
||||
# The blobs will be written via the revision recorder, so in
|
||||
# OutputPass we only have to emit references to the blob marks:
|
||||
GitRevisionMarkWriter(),
|
||||
|
||||
# Optional map from CVS author names to git author names:
|
||||
author_transforms=author_transforms,
|
||||
)
|
||||
|
||||
# Change this option to True to turn on profiling of cvs2svn (for
|
||||
# debugging purposes):
|
||||
run_options.profiling = False
|
||||
|
||||
|
||||
# Should CVSItem -> Changeset database files be memory mapped? In
|
||||
# some tests, using memory mapping speeded up the overall conversion
|
||||
# by about 5%. But this option can cause the conversion to fail with
|
||||
# an out of memory error if the conversion computer runs out of
|
||||
# virtual address space (e.g., when running a very large conversion on
|
||||
# a 32-bit operating system). Therefore it is disabled by default.
|
||||
# Uncomment the following line to allow these database files to be
|
||||
# memory mapped.
|
||||
#changeset_database.use_mmap_for_cvs_item_to_changeset_table = True
|
||||
|
||||
# Now set the project to be converted to git. cvs2svn only supports
|
||||
# single-project conversions, so this method must only be called
|
||||
# once:
|
||||
run_options.set_project(
|
||||
# The filesystem path to the part of the CVS repository (*not* a
|
||||
# CVS working copy) that should be converted. This may be a
|
||||
# subdirectory (i.e., a module) within a larger CVS repository.
|
||||
r'/users/outil/arith/cvs',
|
||||
|
||||
# A list of symbol transformations that can be used to rename
|
||||
# symbols in this project.
|
||||
symbol_transforms=[
|
||||
# Use IgnoreSymbolTransforms like the following to completely
|
||||
# ignore symbols matching a regular expression when parsing
|
||||
# the CVS repository, for example to avoid warnings about
|
||||
# branches with two names and to choose the preferred name.
|
||||
# It is *not* recommended to use this instead of
|
||||
# ExcludeRegexpStrategyRule; though more efficient,
|
||||
# IgnoreSymbolTransforms are less flexible and don't exclude
|
||||
# branches correctly. The argument is a Python-style regular
|
||||
# expression that has to match the *whole* CVS symbol name:
|
||||
#IgnoreSymbolTransform(r'nightly-build-tag-.*')
|
||||
|
||||
# RegexpSymbolTransforms transform symbols textually using a
|
||||
# regular expression. The first argument is a Python regular
|
||||
# expression pattern and the second is a replacement pattern.
|
||||
# The pattern is matched against each symbol name. If it
|
||||
# matches the whole symbol name, then the symbol name is
|
||||
# replaced with the corresponding replacement text. The
|
||||
# replacement can include substitution patterns (e.g., r'\1'
|
||||
# or r'\g<name>'). Typically you will want to use raw strings
|
||||
# (strings with a preceding 'r', like shown in the examples)
|
||||
# for the regexp and its replacement to avoid backslash
|
||||
# substitution within those strings.
|
||||
#RegexpSymbolTransform(r'release-(\d+)_(\d+)',
|
||||
# r'release-\1.\2'),
|
||||
#RegexpSymbolTransform(r'release-(\d+)_(\d+)_(\d+)',
|
||||
# r'release-\1.\2.\3'),
|
||||
|
||||
# Simple 1:1 character replacements can also be done. The
|
||||
# following transform, which converts backslashes into forward
|
||||
# slashes, should usually be included:
|
||||
ReplaceSubstringsSymbolTransform('\\','/'),
|
||||
|
||||
# This last rule eliminates leading, trailing, and repeated
|
||||
# slashes within the output symbol names:
|
||||
NormalizePathsSymbolTransform(),
|
||||
],
|
||||
|
||||
# See the definition of global_symbol_strategy_rules above for a
|
||||
# description of this option:
|
||||
symbol_strategy_rules=global_symbol_strategy_rules,
|
||||
)
|
||||
|
|
@ -20,9 +20,9 @@
|
|||
# ${output_dir}/README.pdf
|
||||
# DESTINATION ${latexInstallDir} )
|
||||
# install ( DIRECTORY ${output_dir}/README DESTINATION ${htmlInstallDir} )
|
||||
install ( FILES general-index.html DESTINATION ${htmlInstallDir} RENAME index.html )
|
||||
# install ( FILES general-index.html DESTINATION ${htmlInstallDir} RENAME index.html )
|
||||
|
||||
IF(DOXYGEN_FOUND)
|
||||
add_subdirectory(crlcore)
|
||||
ENDIF(DOXYGEN_FOUND)
|
||||
add_subdirectory(UsersGuide)
|
||||
#add_subdirectory(UsersGuide)
|
||||
|
|
|
@ -1,682 +0,0 @@
|
|||
|
||||
\documentclass[11pt]{article}
|
||||
|
||||
\usepackage[T1]{fontenc}
|
||||
%\usepackage{ucs}
|
||||
\usepackage[utf8x]{inputenc}
|
||||
\usepackage{palatino}
|
||||
\usepackage{marvosym}
|
||||
\usepackage{pifont}
|
||||
\usepackage{xspace}
|
||||
\usepackage{longtable}
|
||||
\usepackage{array}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage[sf,bf]{titlesec}
|
||||
\usepackage{titletoc}
|
||||
\usepackage{float}
|
||||
\usepackage[dvips]{graphicx}
|
||||
%\usepackage[dvips]{color}
|
||||
\usepackage{listings}
|
||||
\usepackage[dvips]{hyperref}
|
||||
%\usepackage[hyphens]{url}
|
||||
%\usepackage{html}
|
||||
\usepackage[paper=a4paper
|
||||
,headheight=30pt
|
||||
]{geometry}
|
||||
%\usepackage{layouts}
|
||||
|
||||
\newcommand{\key}[1]{\fbox{\textsf{#1}}}
|
||||
\newcommand{\menu}[1]{\fbox{\textsf{\textbf{{#1}}}}}
|
||||
|
||||
\newcommand {\crlWebUrl} [1] {http://asim.lip6.fr/recherche/coriolis/#1}
|
||||
\newcommand {\crlFtpUrl} [1] {http://asim.lip6.fr/pub/coriolis/2.0/#1}
|
||||
\newcommand {\alcFtpUrl} [1] {http://asim.lip6.fr/pub/alliance/distribution/5.0/#1}
|
||||
\newcommand {\slSocSrpmsUrl}[1] {http://ftp.lip6.fr/pub/linux/distributions/slsoc/5x/i386/SLSoC/SRPMS/#1}
|
||||
\newcommand {\slRpmsiUrl} [1] {http://ftp.lip6.fr/pub/linux/distributions/slsoc/5x/i386/i386/SL/#1}
|
||||
\newcommand {\slRpmsxUrl} [1] {http://ftp.lip6.fr/pub/linux/distributions/slsoc/5x/x86\_64/x86\_64/SL/#1}
|
||||
|
||||
\latexhtml{
|
||||
%% LaTeX specific code.
|
||||
\newcommand{\xhref} [2]{\href{#2}{#1}}
|
||||
\newcommand{\crlWebRef} [1]{\href{\crlWebUrl{#1}}{\texttt{\footnotesize #1}}}
|
||||
\newcommand{\crlFtpRef} [1]{\href{\crlFtpUrl{#1}}{\texttt{\footnotesize #1}}}
|
||||
\newcommand{\alcFtpRef} [1]{\href{\alcFtpUrl{#1}}{\texttt{\footnotesize #1}}}
|
||||
\newcommand{\slSocSrpmsRef}[1]{\href{\slSocSrpmsUrl{#1}}{\texttt{\footnotesize #1}}}
|
||||
\newcommand{\slRpmsiRef} [1]{\href{\slRpmsiUrl{#1}}{\texttt{\footnotesize #1}}}
|
||||
\newcommand{\slRpmsxRef} [1]{\href{\slRpmsxUrl{#1}}{\texttt{\footnotesize #1}}}
|
||||
}{
|
||||
%% LaTeX2HTML specific code.
|
||||
\newcommand{\xhref} [2]{\htmladdnormallink{#1}{#2}}
|
||||
\newcommand{\crlWebRef} [1]{\htmladdnormallink{#1}{\crlWebUrl{#1}}}
|
||||
\newcommand{\crlFtpRef} [1]{\htmladdnormallink{#1}{\crlFtpUrl{#1}}}
|
||||
\newcommand{\alcFtpRef} [1]{\htmladdnormallink{#1}{\alcFtpUrl{#1}}}
|
||||
\newcommand{\slSocSrpmsRef}[1]{\htmladdnormallink{#1}{\slSocSrpmsUrl{#1}}}
|
||||
\newcommand{\slRpmsiRef} [1]{\htmladdnormallink{#1}{\slRpmsiUrl{#1}}}
|
||||
\newcommand{\slRpmsxRef} [1]{\htmladdnormallink{#1}{\slRpmsxUrl{#1}}}
|
||||
}
|
||||
|
||||
\newcommand {\Alexandre} {\textsc{Alexandre}\xspace}
|
||||
\newcommand {\Belloeil} {\textsc{Belloeil}\xspace}
|
||||
\newcommand {\Chu} {\textsc{Chu}\xspace}
|
||||
\newcommand {\Chaput} {\textsc{Chaput}\xspace}
|
||||
\newcommand {\Dupuis} {\textsc{Dupuis}\xspace}
|
||||
\newcommand {\Escassut} {\textsc{Escassut}\xspace}
|
||||
\newcommand {\Masson} {\textsc{Masson}\xspace}
|
||||
\newcommand {\LIP} {\textsc{lip6}\xspace}
|
||||
\newcommand {\SoC} {\textsc{S}o\textsc{C}\xspace}
|
||||
|
||||
\newcommand {\LGPL} {\textsc{lgpl}\xspace}
|
||||
\newcommand {\GPL} {\textsc{gpl}\xspace}
|
||||
\newcommand {\ANSI} {\textsc{ansi}\xspace}
|
||||
\newcommand {\XML} {\textsc{xml}\xspace}
|
||||
\newcommand {\VHDL} {\textsc{vhdl}\xspace}
|
||||
\newcommand {\FEL} {\xhref{\textsc{fel}}{http://spins.fedoraproject.org/fel/}\xspace}
|
||||
\newcommand {\SiII} {\xhref{\textsc{Si2}}{http://www.si2.org/}\xspace}
|
||||
\newcommand {\Bull} {\xhref{\textsc{Bull}}{http://www.bull.com/}\xspace}
|
||||
\newcommand {\UPMC} {\xhref{\textsc{upmc}}{http://www.upmc.fr/}\xspace}
|
||||
\newcommand {\Cadence} {\xhref{\textsc{Cadence}}{http://www.cadence.com/}\xspace}
|
||||
\newcommand {\LEFDEF} {\textsc{lef/def}\xspace}
|
||||
\newcommand {\RHELV} {\textsc{rhel 5}\xspace}
|
||||
\newcommand {\CentOSV} {\textsc{CentOS 5}\xspace}
|
||||
\newcommand {\SLV} {\textsc{SL 5}\xspace}
|
||||
\newcommand {\Fedora} {\textsc{Fedora}\xspace}
|
||||
\newcommand {\FedoraXII} {\textsc{Fedora 12}\xspace}
|
||||
\newcommand {\FedoraXIII} {\textsc{Fedora 13}\xspace}
|
||||
\newcommand {\Karmik} {\textsc{Ubuntu Karmik}\xspace}
|
||||
\newcommand {\Lucid} {\textsc{Ubuntu Lucid}\xspace}
|
||||
\newcommand {\QtIV} {\textsc{Qt 4}\xspace}
|
||||
\newcommand {\rpm} {\texttt{rpm}\xspace}
|
||||
\newcommand {\alien} {\texttt{alien}\xspace}
|
||||
\newcommand {\boost} {\texttt{boost}\xspace}
|
||||
\newcommand {\tty} {\texttt{tty}\xspace}
|
||||
\newcommand {\BoxRouter} {\textsc{BoxRouter}\xspace}
|
||||
\newcommand {\BoxRouterRef} {\xhref{\BoxRouter}%
|
||||
{http://www.cerc.utexas.edu/~thyeros/boxrouter/boxrouter.htm}\xspace}
|
||||
\newcommand {\Flute} {\textsc{Flute}\xspace}
|
||||
\newcommand {\FluteRef} {\xhref{http://home.eng.iastate.edu/\~{}cnchu/}%
|
||||
{http://home.eng.iastate.edu/~cnchu/}\xspace}
|
||||
\newcommand {\netlist} {\textit{netlist}\xspace}
|
||||
\newcommand {\physical} {\textit{physical}\xspace}
|
||||
\newcommand {\logical} {\textit{logical}\xspace}
|
||||
|
||||
\newcommand {\Alliance} {\textsc{Alliance}\xspace}
|
||||
\newcommand {\MBK} {\textsc{mbk}\xspace}
|
||||
\newcommand {\SxLib} {\texttt{SxLib}\xspace}
|
||||
\newcommand {\Nero} {\texttt{Nero}\xspace}
|
||||
\newcommand {\vst} {\texttt{vst}\xspace}
|
||||
\newcommand {\ap} {\texttt{ap}\xspace}
|
||||
\newcommand {\PHFIG} {\texttt{PHFIG}\xspace}
|
||||
\newcommand {\LOFIG} {\texttt{LOFIG}\xspace}
|
||||
|
||||
\newcommand {\Coriolis} {\textsc{Coriolis}\xspace}
|
||||
\newcommand {\CoriolisI} {\textsc{Coriolis 1}\xspace}
|
||||
\newcommand {\CoriolisII} {\textsc{Coriolis 2}\xspace}
|
||||
\newcommand {\Hurricane} {\textsc{Hurricane}\xspace}
|
||||
\newcommand {\Stratus} {\texttt{Status}\xspace}
|
||||
\newcommand {\GenLib} {\texttt{GenLib}\xspace}
|
||||
\newcommand {\Mauka} {\texttt{Mauka}\xspace}
|
||||
\newcommand {\Knik} {\texttt{Knik}\xspace}
|
||||
\newcommand {\Kite} {\texttt{Kite}\xspace}
|
||||
\newcommand {\Viewer} {\texttt{Viewer}\xspace}
|
||||
\newcommand {\kgr} {\texttt{kgr}\xspace}
|
||||
\newcommand {\cgt} {\texttt{cgt}\xspace}
|
||||
\newcommand {\CELLTOP} {\texttt{CELL\_TOP}\xspace}
|
||||
\newcommand {\confcoriolisIIalc} {\texttt{/etc/coriolis2/environment.alliance.xml}\xspace}
|
||||
\newcommand {\usercoriolisIIalc} {\texttt{.environment.alliance.xml}\xspace}
|
||||
\newcommand {\Cell} {\texttt{Cell}\xspace}
|
||||
\newcommand {\POWER} {\texttt{POWER}\xspace}
|
||||
\newcommand {\GROUND} {\texttt{GROUND}\xspace}
|
||||
\newcommand {\MII} {\texttt{M2}\xspace}
|
||||
\newcommand {\MV} {\texttt{M5}\xspace}
|
||||
|
||||
\newcommand {\knikThesis}%
|
||||
{\xhref{\texttt{http://www-soc.lip6.fr/en/users/damiendupuis/PhD/}}%
|
||||
{http://www-soc.lip6.fr/en/users/damiendupuis/PhD/}\xspace}
|
||||
|
||||
\newcommand {\coriolisIIfcXIIIirpm}{\crlFtpRef{coriolis2-1.0.1963-1.fc13.i686.rpm}\xspace}
|
||||
\newcommand {\coriolisIIfcXIIIxrpm}{\crlFtpRef{coriolis2-1.0.1963-1.fc13.x86\_64.rpm}\xspace}
|
||||
\newcommand {\coriolisIIfcXIIirpm} {\crlFtpRef{coriolis2-1.0.1963-1.fc12.i686.rpm}\xspace}
|
||||
\newcommand {\coriolisIIfcXIIxrpm} {\crlFtpRef{coriolis2-1.0.1963-1.fc12.x86\_64.rpm}\xspace}
|
||||
\newcommand {\coriolisIIslVirpm} {\crlFtpRef{coriolis2-1.0.1963-1.el5\_soc.i386.rpm}\xspace}
|
||||
\newcommand {\coriolisIIslVxrpm} {\crlFtpRef{coriolis2-1.0.1963-1.el5\_soc.x86\_64.rpm}\xspace}
|
||||
\newcommand {\coriolisIILucidideb} {\crlFtpRef{coriolis2\_1.0.1963-1.fc13\_i386.deb}\xspace}
|
||||
\newcommand {\coriolisIILucidxdeb} {\crlFtpRef{coriolis2\_1.0.1963-1.fc13\_amd64.deb}\xspace}
|
||||
\newcommand {\qtIVsrpm} {\slSocSrpmsRef{qt4-4.6.2-17.sl5soc.src.rpm}\xspace}
|
||||
\newcommand {\qtIVirpm} {\slRpmsiRef{qt4-4.6.2-17.sl5soc.i386.rpm}\xspace}
|
||||
\newcommand {\qtIVdevelirpm} {\slRpmsiRef{qt4-devel-4.6.2-17.sl5soc.i386.rpm}\xspace}
|
||||
\newcommand {\qtIVdocirpm} {\slRpmsiRef{qt4-doc-4.6.2-17.sl5soc.i386.rpm}\xspace}
|
||||
\newcommand {\qtIVmysqlirpm} {\slRpmsiRef{qt4-mysql-4.6.2-17.sl5soc.i386.rpm}\xspace}
|
||||
\newcommand {\qtIVodbcirpm} {\slRpmsiRef{qt4-odbc-4.6.2-17.sl5soc.i386.rpm}\xspace}
|
||||
\newcommand {\qtIVpostgresqlirpm} {\slRpmsiRef{qt4-postgresql-4.6.2-17.sl5soc.i386.rpm}\xspace}
|
||||
\newcommand {\qtIVxXIirpm} {\slRpmsiRef{qt4-x11-4.6.2-17.sl5soc.i386.rpm}\xspace}
|
||||
\newcommand {\qtIVxrpm} {\slRpmsxRef{qt4-4.6.2-17.sl5soc.x86\_64.rpm}\xspace}
|
||||
\newcommand {\qtIVdevelxrpm} {\slRpmsxRef{qt4-devel-4.6.2-17.sl5soc.x86\_64.rpm}\xspace}
|
||||
\newcommand {\qtIVdocxrpm} {\slRpmsxRef{qt4-doc-4.6.2-17.sl5soc.x86\_64.rpm}\xspace}
|
||||
\newcommand {\qtIVmysqlxrpm} {\slRpmsxRef{qt4-mysql-4.6.2-17.sl5soc.x86\_64.rpm}\xspace}
|
||||
\newcommand {\qtIVodbcxrpm} {\slRpmsxRef{qt4-odbc-4.6.2-17.sl5soc.x86\_64.rpm}\xspace}
|
||||
\newcommand {\qtIVpostgresqlxrpm} {\slRpmsxRef{qt4-postgresql-4.6.2-17.sl5soc.x86\_64.rpm}\xspace}
|
||||
\newcommand {\qtIVxXIxrpm} {\slRpmsxRef{qt4-x11-4.6.2-17.sl5soc.x86\_64.rpm}\xspace}
|
||||
|
||||
\latexhtml{ %% LaTeX version.
|
||||
\newcommand {\keyUP} {\key{UP}\xspace}
|
||||
\newcommand {\keyDOWN} {\key{DOWN}\xspace}
|
||||
\newcommand {\keyLEFT} {\key{LEFT}\xspace}
|
||||
\newcommand {\keyRIGHT} {\key{RIGHT}\xspace}
|
||||
\newcommand {\keyCTRL} {\key{CTRL}\xspace}
|
||||
\newcommand {\keyESC} {\key{ESC}\xspace}
|
||||
\newcommand {\keyf} {\key{f}\xspace}
|
||||
\newcommand {\keyG} {\key{G}\xspace}
|
||||
\newcommand {\keyI} {\key{I}\xspace}
|
||||
\newcommand {\keyL} {\key{L}\xspace}
|
||||
\newcommand {\keym} {\key{m}\xspace}
|
||||
\newcommand {\keyk} {\key{k}\xspace}
|
||||
\newcommand {\keyK} {\key{K}\xspace}
|
||||
\newcommand {\keyO} {\key{O}\xspace}
|
||||
\newcommand {\keyP} {\key{P}\xspace}
|
||||
\newcommand {\keyQ} {\key{Q}\xspace}
|
||||
\newcommand {\keys} {\key{s}\xspace}
|
||||
\newcommand {\keyW} {\key{W}\xspace}
|
||||
\newcommand {\keyS} {\key{S}\xspace}
|
||||
\newcommand {\keyz} {\key{z}\xspace}
|
||||
\newcommand {\keyPlus} {$+$\xspace}
|
||||
\newcommand {\BigMouse} {{\Huge \ComputerMouse}\xspace}
|
||||
}{ %% HTML version.
|
||||
\newcommand {\keyUP} {\includegraphics{images/key_UP}\xspace}
|
||||
\newcommand {\keyDOWN} {\includegraphics{images/key_DOWN}\xspace}
|
||||
\newcommand {\keyLEFT} {\includegraphics{images/key_LEFT}\xspace}
|
||||
\newcommand {\keyRIGHT} {\includegraphics{images/key_RIGHT}\xspace}
|
||||
\newcommand {\keyCTRL} {\includegraphics{images/key_CTRL}\xspace}
|
||||
\newcommand {\keyESC} {\includegraphics{images/key_ESC}\xspace}
|
||||
\newcommand {\keyf} {\includegraphics{images/key_F}\xspace}
|
||||
\newcommand {\keyG} {\includegraphics{images/key_Gcap}\xspace}
|
||||
\newcommand {\keyI} {\includegraphics{images/key_Icap}\xspace}
|
||||
\newcommand {\keyL} {\includegraphics{images/key_Lcap}\xspace}
|
||||
\newcommand {\keym} {\includegraphics{images/key_M}\xspace}
|
||||
\newcommand {\keyk} {\includegraphics{images/key_K}\xspace}
|
||||
\newcommand {\keyK} {\includegraphics{images/key_Kcap}\xspace}
|
||||
\newcommand {\keyO} {\includegraphics{images/key_Ocap}\xspace}
|
||||
\newcommand {\keyP} {\includegraphics{images/key_Pcap}\xspace}
|
||||
\newcommand {\keyQ} {\includegraphics{images/key_Qcap}\xspace}
|
||||
\newcommand {\keys} {\includegraphics{images/key_S}\xspace}
|
||||
\newcommand {\keyW} {\includegraphics{images/key_Wcap}\xspace}
|
||||
\newcommand {\keyS} {\includegraphics{images/key_Scap}\xspace}
|
||||
\newcommand {\keyz} {\includegraphics{images/key_Z}\xspace}
|
||||
\newcommand {\keyPlus} {\includegraphics{images/key_PLUS}\xspace}
|
||||
\newcommand {\BigMouse} {\includegraphics[scale=.4]{images/ComputerMouse}\xspace}
|
||||
}
|
||||
|
||||
%\setlength {\parskip} {4mm}
|
||||
%\setlength {\itemsep} {4mm}
|
||||
|
||||
\pagestyle{fancy}
|
||||
|
||||
%\renewcommand{\headheight}{14pt}
|
||||
\renewcommand{\headrulewidth}{0.2mm}
|
||||
\renewcommand{\footrulewidth}{0.2mm}
|
||||
\renewcommand{\sectionmark}[1]{\markboth{\thesection\ #1}{\thesection\ #1}}
|
||||
\renewcommand{\subsectionmark}[1]{}
|
||||
\lhead[]{Coriolis 2}
|
||||
\rhead[]{May 20, 2010}
|
||||
\lfoot[]{\LIP/\SoC}
|
||||
\rfoot[]{\thepage}
|
||||
\cfoot[]{}
|
||||
|
||||
%% The LaTeX Companion -- p. 204.
|
||||
%% Miniature display of the page layout.
|
||||
%\newcommand{\showpage}{%
|
||||
% \setlayoutscale{0.65}\setlabelfont{\tiny}%
|
||||
% \printheadingsfalse\printparametersfalse%
|
||||
% \currentpage\pagedesign%
|
||||
%}
|
||||
|
||||
\titlecontents{section}[1pc]
|
||||
{\sffamily\bfseries} % above code.
|
||||
{\contentslabel{1pc}} % numbered entry format.
|
||||
{The Numberless Entry Format} % numberless entry format.
|
||||
{\titlerule*[8pt]{.}\textsc{\textbf{{\contentspage}}}} % page format.
|
||||
\titlecontents{subsection}[3pc]
|
||||
{\sffamily} % above code.
|
||||
{\contentslabel{2pc}} % numbered entry format.
|
||||
{The Numberless Entry Format} % numberless entry format.
|
||||
{\titlerule*[8pt]{.}\textsc{\textbf{{\contentspage}}}} % page format.
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\title{\CoriolisII}
|
||||
\author{The Coriolis Team}
|
||||
\date{April 2011}
|
||||
|
||||
\maketitle
|
||||
|
||||
\thispagestyle{fancy}
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\section{Credits \& Licenses}
|
||||
|
||||
\begin{center}
|
||||
\Hurricane \dotfill\ Rémy \Escassut \& Christian \Masson \\
|
||||
\Mauka \dotfill\ Christophe \Alexandre \\
|
||||
\Stratus \dotfill Sophie \Belloeil \\
|
||||
\Knik \dotfill\ Damien \Dupuis \\
|
||||
\Kite, \Viewer \dotfill\ Jean-Paul \Chaput \\
|
||||
\end{center}
|
||||
|
||||
The \Hurricane data-base is copyright\textcopyright\ \Bull 2000-2010 and is
|
||||
released under the terms of the \LGPL license. All other tools are
|
||||
copyright\textcopyright\ \UPMC 2008-2010 and released under the \GPL
|
||||
license.
|
||||
|
||||
The \Knik router makes use of the \Flute software, which is
|
||||
copyright\textcopyright\ Chris C. N. \Chu from the Iowa State University
|
||||
(\FluteRef).
|
||||
|
||||
\newpage
|
||||
|
||||
|
||||
\section{Release Notes}
|
||||
|
||||
\subsection{Release 1.0.1475}
|
||||
|
||||
This is the first preliminary release of the \CoriolisII framework.
|
||||
|
||||
This release mainly ships the global router \Knik and the detailed router
|
||||
\Kite. Together they aim to replace the \Alliance \Nero router.
|
||||
Unlike \Nero, \Kite is based on an innovating routing modeling and ad-hoc
|
||||
algorithm. Although it is released under \GPL license, the source code
|
||||
will be avalaible later.
|
||||
\medskip
|
||||
|
||||
\noindent Contents of this release:
|
||||
\begin{enumerate}
|
||||
\item A graphical user interface (viewer only).
|
||||
\item The \Knik global router.
|
||||
\item The \Kite detailed router.
|
||||
\end{enumerate}
|
||||
|
||||
\noindent Supported input/output formats:
|
||||
\begin{itemize}
|
||||
\item \Alliance \vst (netlist) \& \ap (physical) formats.
|
||||
\item Even if there are some references to the \Cadence \LEFDEF format, its
|
||||
support is not included because it depends on a library only available
|
||||
to \SiII affiliated members.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Release 1.0.1963}
|
||||
|
||||
Release 1963 is alpha. All the tools from \CoriolisI have been ported into
|
||||
this release.
|
||||
|
||||
\noindent Contents of this release:
|
||||
\begin{enumerate}
|
||||
\item The \Stratus netlist capture language (\GenLib replacement).
|
||||
\item The \Mauka placer (still contains bugs).
|
||||
\item A graphical user interface (viewer only).
|
||||
\item The \Knik global router.
|
||||
\item The \Kite detailed router.
|
||||
\item Partially implemented python support for configuration files
|
||||
(alternative to \XML).
|
||||
\item A documentation (imcomplete/obsoleted in \Hurricane's case).
|
||||
\end{enumerate}
|
||||
|
||||
\section{Installation}
|
||||
|
||||
Binary \rpm packages avalaible:
|
||||
\begin{center}
|
||||
\begin{tabular}{|c|l|}
|
||||
\hline
|
||||
\FedoraXIII & \coriolisIIfcXIIIirpm \\
|
||||
& \coriolisIIfcXIIIxrpm \\
|
||||
\hline
|
||||
\FedoraXII & \coriolisIIfcXIIirpm \\
|
||||
& \coriolisIIfcXIIxrpm \\
|
||||
\hline
|
||||
\RHELV & \coriolisIIslVirpm \\
|
||||
\CentOSV & \coriolisIIslVxrpm \\
|
||||
\SLV & \\
|
||||
\hline
|
||||
\Lucid & \coriolisIILucidideb \\
|
||||
& \coriolisIILucidxdeb \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
\noindent\textbf{Note:}\ The \Lucid packages have not beeing natively
|
||||
compiled but converted from \Fedora with \alien, they might not work as
|
||||
well as under \Fedora. As they uses slightly different versions of \boost,
|
||||
you have to create the following link~:
|
||||
\begin{verbatim}
|
||||
> sudo ln -s /usr/lib/libboost_program_options.so.1.40.0 \
|
||||
/usr/lib/libboost_program_options-mt.so.1.41.0
|
||||
\end{verbatim}
|
||||
|
||||
\newpage
|
||||
|
||||
For \RHELV based distributions, additionnal \QtIV packages are needed:
|
||||
|
||||
\begin{center}
|
||||
\begin{tabular}{|l|l|}
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{\qtIVsrpm} \\
|
||||
\hline
|
||||
\hline
|
||||
\qtIVirpm & \qtIVxrpm \\
|
||||
\qtIVdevelirpm & \qtIVdevelxrpm \\
|
||||
\qtIVdocirpm & \qtIVdocxrpm \\
|
||||
\qtIVmysqlirpm & \qtIVmysqlxrpm \\
|
||||
\qtIVodbcirpm & \qtIVodbcxrpm \\
|
||||
\qtIVpostgresqlirpm & \qtIVpostgresqlxrpm \\
|
||||
\qtIVxXIirpm & \qtIVxXIxrpm \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
\section{Configuration}
|
||||
|
||||
Configuration of \CoriolisII no longer depends on environment variables.
|
||||
All pathes and options are sets through \XML configuration files. The main
|
||||
configuration file is~:
|
||||
\begin{center}
|
||||
\confcoriolisIIalc
|
||||
\end{center}
|
||||
Contents of this file should be familiar to all thoses already acquainted
|
||||
with \Alliance as the \XML node names takes back former shell environment
|
||||
variables.
|
||||
|
||||
You may want to customize \CELLTOP to point to the directory where the \Alliance cells
|
||||
libraries are installed (\texttt{/usr/share/alliance}\ if you installed
|
||||
the \Alliance package from \FEL.
|
||||
|
||||
All system settings can be overwritten by a \usercoriolisIIalc file in the
|
||||
user's root directory.
|
||||
|
||||
|
||||
\section{Tools}
|
||||
|
||||
\subsection{The \Hurricane Data-Base}
|
||||
|
||||
The \Alliance flow is based on the \MBK data-base, which has one data-structure
|
||||
for each view. That is, \LOFIG for the \logical view and \PHFIG for the \physical
|
||||
view. The place and route tools were responsible for maintaining (or not) the
|
||||
coherency between views. Reflecting this weak coupling between views, each one
|
||||
was stored in a separate file with a specific format. The \logical view is stored
|
||||
in a \vst file in \VHDL format and the \physical in an \ap file in an ad-hoc format.
|
||||
|
||||
The \Coriolis flow is based on the \Hurricane data-base, which has a unified
|
||||
structure for \logical and \physical view. That data structure is the \Cell object.
|
||||
The \Cell can have any state between pure netlist and completly placed and
|
||||
routed design. Although the memory representation of the views has deeply
|
||||
changed we still use the \Alliance files format, but they now really represent
|
||||
views of the same object. The point is that one must be very careful about
|
||||
view coherency when going to and from \Coriolis.
|
||||
|
||||
\newpage
|
||||
|
||||
As for the first release, \Coriolis can be used only for two purposes~:
|
||||
\begin{itemize}
|
||||
\item \textbf{Routing a design}\xspace, in that case the \netlist\xspace
|
||||
view and the \physical view must be present and \physical view must contain
|
||||
a placement. Both views must have the same name. When saving the routed design,
|
||||
it is advised to change the design name otherwise the original unrouted placement
|
||||
in the \physical view will be overwritten.
|
||||
\item \textbf{Viewing a design}, the \logical view must be present, if a \physical
|
||||
view is present it still must have the same name but it can be in any
|
||||
state.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsection{Knik -- Global Router}
|
||||
|
||||
The global router is (not yet) deterministic. To circumvent this limitation,
|
||||
a global routing (also called a ``solution'') can be saved to disk and reloaded
|
||||
for later uses.
|
||||
|
||||
A global routing is saved into a file with the same name as the design and a
|
||||
\kgr extention. It is in \BoxRouterRef output format.
|
||||
|
||||
For an in-depth description of \Knik algorithms, you may download the thesis of
|
||||
D. \Dupuis avalaible from here~:
|
||||
\begin{center}\knikThesis\end{center}
|
||||
|
||||
\noindent Menus~:
|
||||
\begin{itemize}
|
||||
\item
|
||||
\latexhtml{\menu{P\&R}$\rightarrow$\menu{\underline{S}tep by Step}
|
||||
$\rightarrow$\menu{Kite -- \underline{S}ave Global Routing}}
|
||||
{\includegraphics{images/PR-SBS-SaveGlobal}}
|
||||
\item
|
||||
\latexhtml{\menu{P\&R}$\rightarrow$\menu{\underline{S}tep by Step}
|
||||
$\rightarrow$\menu{Kite -- \underline{L}oad Global Routing}}
|
||||
{\includegraphics{images/PR-SBS-LoadGlobal}}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsection{Kite -- Detailed Router}
|
||||
|
||||
\Kite no longer suffers from the limitations of \Nero. It can route big designs
|
||||
as its runtime and memory footprint is almost linear (with respect to the number
|
||||
of gates). It has successfully routed design of more than \texttt{150K}\ gates.
|
||||
|
||||
\medskip\noindent
|
||||
However, this first release has the following restrictions:
|
||||
\begin{itemize}
|
||||
\item Works only with \SxLib standard cell gauge.
|
||||
\item Works always with 4 routing metal layers (\MII through \MV).
|
||||
\item Do not allow (take into account) pre-routed wires on signals
|
||||
other than \POWER or \GROUND.
|
||||
\end{itemize}
|
||||
|
||||
After each run, \Kite displays a set of \textit{completion ratios}\ which must all
|
||||
be equal to \textsf{100\%}\ if the detailed routing has been successfull.
|
||||
In the event of a failure, on saturated design, you may decrease the \textit{edge
|
||||
saturation ration} (argument \texttt{--edge}) to balance more evenly the design
|
||||
saturation. That is, the maximum saturation decrease at the price of a wider
|
||||
saturated area and increased wirelength.
|
||||
|
||||
|
||||
\newpage
|
||||
|
||||
\medskip\noindent
|
||||
Routing a design is done in three ordered steps~:
|
||||
\begin{enumerate}
|
||||
\item Global routing
|
||||
\latexhtml{\menu{P\&R}$\rightarrow$\menu{Kite -- \underline{G}lobal Route}}
|
||||
{\includegraphics{images/PR-GlobalRoute}}
|
||||
\item Detailed routing
|
||||
\latexhtml{\menu{P\&R}$\rightarrow$\menu{Kite -- \underline{D}etailed Route}}
|
||||
{\includegraphics{images/PR-DetailedRoute}}
|
||||
\item Finalize routing
|
||||
\latexhtml{\menu{P\&R}$\rightarrow$\menu{Kite -- \underline{F}inalize Route}}
|
||||
{\includegraphics{images/PR-FinalizeRoute}}
|
||||
\end{enumerate}
|
||||
After the detailed routing step the \Kite data-structure is still active.
|
||||
The wiring is thus represented in a way that allows \Kite to manage it but
|
||||
which is not completly finished. The finalize step performs the removal of
|
||||
the \Kite data-structure and finish/cleanup the wiring so that its
|
||||
connex in the sense of \Hurricane. \textit{Do not}\xspace try to save
|
||||
your design before that step, you would get gaps in it.
|
||||
|
||||
|
||||
\subsection{Viewer Small Memento}
|
||||
|
||||
The main application binary is \cgt.
|
||||
|
||||
\begin{center}
|
||||
\newlength{\keyheight} \settoheight{\keyheight}{\keyUP} \addtolength{\keyheight}{5pt}
|
||||
\newlength{\keydepth} \settodepth {\keydepth} {\keyUP} \addtolength{\keydepth} {5pt}
|
||||
|
||||
\newcommand{\keytabpar}[1]{\parbox[t]{.2\textwidth}{\rule{0pt}{\keyheight} \centering #1 \rule[-\keydepth]{0pt}{0pt}}}
|
||||
\newcommand{\sfbf}[1]{\textsf{\textbf{#1}}}
|
||||
|
||||
\begin{longtable}{|c|c|p{.55\textwidth}|}
|
||||
\endfirsthead
|
||||
\hline
|
||||
\endhead
|
||||
\hline
|
||||
\endfoot
|
||||
\endlastfoot
|
||||
\hline
|
||||
\sfbf{Moves}
|
||||
& \keytabpar{\keyUP \keyDOWN \\ \keyLEFT \keyRIGHT}
|
||||
& Shift the view \\
|
||||
\hline
|
||||
\sfbf{Fit}
|
||||
& \keytabpar{\keyf}
|
||||
& Fit contents to window \\
|
||||
\hline
|
||||
\sfbf{Refresh}
|
||||
& \keytabpar{\keyCTRL\keyPlus\keyL}
|
||||
& Triggers a complete display redraw \\
|
||||
\hline
|
||||
\sfbf{Goto}
|
||||
& \keytabpar{\keyG}
|
||||
& \texttt{aperture} is the minimum side of the area displayed around
|
||||
the point to go to. It's an alternative way of setting the zoom level \\
|
||||
\hline
|
||||
\sfbf{Zoom}
|
||||
& \keytabpar{\keyz \keym}
|
||||
& \keyz zoom by 2, \keym unzoom by 2 \\
|
||||
\cline{2-3}
|
||||
& \keytabpar{\BigMouse \\ \texttt{Area Zoom}}
|
||||
& You can perform a zoom to an area.
|
||||
Define the zoom area by \textit{holding down the left mouse button}\
|
||||
while moving the mouse. \\
|
||||
\hline
|
||||
\sfbf{Selection}
|
||||
& \keytabpar{\BigMouse \\ \texttt{Area Selection}}
|
||||
& You can select displayed object under an area. Define the selection area
|
||||
by \textit{holding down the right mouse button}\ while moving the mouse. \\
|
||||
\cline{2-3}
|
||||
& \keytabpar{\BigMouse \\ \texttt{Toggle Selection}}
|
||||
& You can toggle the selection of one object under the mouse position by
|
||||
pressing \keyCTRL and pressing down \textit{the right mouse button}.
|
||||
A popup list of what's under the position shows up into which you can
|
||||
toggle the selection state of one item. \\
|
||||
\cline{2-3}
|
||||
& \keytabpar{\keys}
|
||||
& Toggle the selection visibility \\
|
||||
\hline
|
||||
\sfbf{Controller}
|
||||
& \keytabpar{\keyCTRL\keyPlus\keyI}
|
||||
& Show/hide the controller window.
|
||||
|
||||
It's the Swiss Army Knife of the viewer. From it, you can fine-control
|
||||
the display and inspect almost everything in your design. \\
|
||||
\hline
|
||||
\sfbf{Rulers}
|
||||
& \keytabpar{\keyk \\ \keyESC}
|
||||
& One stroke on \keyk enters the ruler mode, in which you can draw one
|
||||
ruler. You can exit the ruler mode by pressing \keyESC.
|
||||
Once in ruler mode, the first click on the \textit{left mouse button}
|
||||
sets the ruler's starting point and the second click the ruler's end
|
||||
point. The second click exits automatically the ruler mode. \\
|
||||
\cline{2-3}
|
||||
& \keytabpar{\keyK}
|
||||
& Clears all the drawn rulers \\
|
||||
\hline
|
||||
\sfbf{Print}
|
||||
& \keytabpar{\keyCTRL\keyPlus\keyP}
|
||||
& Currently rather crude. It's a direct copy of what's displayed in pixels.
|
||||
So the resulting picture will be a little blurred due to anti-aliasing
|
||||
mechanism. \\
|
||||
\hline
|
||||
\sfbf{Open/Close}
|
||||
& \keytabpar{\keyCTRL\keyPlus\keyO}
|
||||
& Opens a new design. The design name must be given without path or extention. \\
|
||||
\cline{2-3}
|
||||
& \keytabpar{\keyCTRL\keyPlus\keyW}
|
||||
& Close the current viewer window, but do not quit the application. \\
|
||||
\cline{2-3}
|
||||
& \keytabpar{\keyCTRL\keyPlus\keyQ}
|
||||
& CTRL+Q quit the application (closing all windows). \\
|
||||
\hline
|
||||
\sfbf{Hierarchy}
|
||||
& \keytabpar{\keyCTRL\keyPlus\keyDOWN}
|
||||
& Go one hierarchy level down. That is, if there is an \textit{instance}\ under
|
||||
the cursor position, load it's \textit{model}\ (\Cell) in place of the current one. \\
|
||||
\cline{2-3}
|
||||
& \keytabpar{\keyCTRL\keyPlus\keyUP}
|
||||
& Go one hierarchy level up. if we have entered the current model through
|
||||
\keyCTRL\keyPlus\keyDOWN, reload the previous model (the one in which this model is
|
||||
instanciated). \\
|
||||
\latex{\hline}
|
||||
\end{longtable}
|
||||
\end{center}
|
||||
|
||||
\newpage
|
||||
|
||||
\subsection{Running \cgt in text mode}
|
||||
|
||||
\begin{center}
|
||||
\begin{longtable}{|c|p{.55\textwidth}|}
|
||||
\hline
|
||||
\textbf{Argument} & Meaning \\
|
||||
\latex{\hline}
|
||||
\hline
|
||||
\endfirsthead
|
||||
\hline
|
||||
\textbf{Argument} & Meaning \\
|
||||
\latex{\hline}
|
||||
\hline
|
||||
\endhead
|
||||
\hline
|
||||
\endfoot
|
||||
\endlastfoot
|
||||
\latex{\hline}
|
||||
\texttt{-t|--text}
|
||||
& Instruct \cgt to run in text mode. \\
|
||||
\hline
|
||||
\texttt{-L|--log-mode}
|
||||
& Disable the uses of \ANSI escape sequence on the \tty. Useful when
|
||||
the output is redirected to a file. \\
|
||||
\hline
|
||||
\texttt{-c|--cell=<design>}
|
||||
& The name of the design to load, without leading path or
|
||||
extention. \\
|
||||
\hline
|
||||
\texttt{-g|--load-global}
|
||||
& Reload a global routing solution from disk. \linebreak
|
||||
The file containing the solution must be named \texttt{<design>.kgr}. \\
|
||||
\hline
|
||||
\texttt{--save-global}
|
||||
& Save the global routing solution, into a file named \texttt{<design>.kgr}. \\
|
||||
\hline
|
||||
\texttt{--edge|-e <ratio>}
|
||||
& Change the edge capacity for the global router, between 0 and 1 (\Knik). \\
|
||||
\hline
|
||||
\texttt{--global-route|-G}
|
||||
& Run the global router (\Knik). \\
|
||||
\hline
|
||||
\texttt{--detailed-route|-R}
|
||||
& Run the detailed router (\Kite). \\
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{\texttt{-s|--save-design=<routed\_design>}} \\
|
||||
\cline{1-1}
|
||||
& The design into which the routed layout will be saved. It is strongly
|
||||
recommanded to choose a different name from the source (unrouted)
|
||||
design. \\
|
||||
\hline
|
||||
\texttt{--events-limit=<LIMIT>}
|
||||
& The maximal number of events after which the router will stops. This is
|
||||
mainly a failsafe against looping. The limit is sets to 4 millions of
|
||||
iteration which should suffice to any design of \texttt{100K}\xspace
|
||||
gates. For bigger designs you may wants to increase this limit. \\
|
||||
\latex{\hline}
|
||||
\end{longtable}
|
||||
\end{center}
|
||||
|
||||
\noindent
|
||||
Some examples~:
|
||||
\begin{itemize}
|
||||
\item Run both global and detailed router, then save the routed design~: \\
|
||||
\texttt{> cgt -v -t -G -R --cell=design --save-design=design\_kite}
|
||||
\item Load a previous global solution, run the detailed router, then save the
|
||||
routed design~: \\
|
||||
\texttt{> cgt -v -t --load-global -R --cell=design --save-design=design\_kite}
|
||||
\item Run the global router, then save the global routing solution~: \\
|
||||
\texttt{> cgt -v -t -G --save-global --cell=design}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\end{document}
|
|
@ -1,559 +0,0 @@
|
|||
|
||||
|
||||
/*
|
||||
* +-----------------------------------------------------------------+
|
||||
* | HTML Standart Tags |
|
||||
* +-----------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 {
|
||||
font-size: 11pt;
|
||||
/* The Open Sans font family is supplied by TexLive. */
|
||||
font-family: "Open Sans", Verdana, sans-serif;;
|
||||
}
|
||||
|
||||
body {
|
||||
color: black;
|
||||
background: white;
|
||||
background-color: white;
|
||||
background-position: top left;
|
||||
background-attachment: fixed;
|
||||
background-repeat: no-repeat;
|
||||
margin-top: 2em;
|
||||
width: 550pt;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
/*
|
||||
margin-right: 12%;
|
||||
margin-left: 12%;
|
||||
*/
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 1px;
|
||||
border: 0;
|
||||
color: #004400;
|
||||
background-color: #004400;
|
||||
}
|
||||
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
/*font-family: "Liberation Serif", sans-serif;*/
|
||||
}
|
||||
|
||||
h1 { text-align: center; }
|
||||
h2, h3, h4, h5, h6 { text-align: left;
|
||||
padding-top: 11pt;
|
||||
}
|
||||
h1, h2, h3 { /*font-family: "Liberation Serif", sans-serif; */
|
||||
/*color: #09550B;*/
|
||||
}
|
||||
h1 { font-weight:normal; font-size: 170%; letter-spacing:0.2em; word-spacing:0.4em; }
|
||||
h2 { font-weight:normal; font-size: 140%; letter-spacing:0.2em; word-spacing:0.4em; }
|
||||
h3 { font-weight: bold; font-size: 118%; letter-spacing:0.2em; word-spacing:0.4em; }
|
||||
h4 { font-weight: bold; font-size: 100%; }
|
||||
h5 { font-style: italic; font-size: 100%; }
|
||||
h6 { font-variant: small-caps; font-size: 100%; }
|
||||
|
||||
h2.classHierarchy {
|
||||
/*border: 1px none #008500;*/
|
||||
border: 1px none #000000;
|
||||
border-top-width: 1px;
|
||||
border-top-style: dotted;
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
|
||||
.hide {
|
||||
display: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
margin-top: 0.6em;
|
||||
margin-bottom: 0.6em;
|
||||
margin-left: 0.0em;
|
||||
margin-right: 0.0em;
|
||||
}
|
||||
|
||||
|
||||
address {
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
|
||||
caption { font-weight: bold }
|
||||
|
||||
|
||||
blockquote {
|
||||
margin-left: 4em;
|
||||
margin-right: 4em;
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
font-style: italic;
|
||||
color: #003300;
|
||||
}
|
||||
|
||||
blockquote p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
blockquote address {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
dt, dd { margin-top: 0; margin-bottom: 0; }
|
||||
dt { font-weight: bold; }
|
||||
|
||||
|
||||
pre, tt, code {
|
||||
/*font-family: "andale mono", monospace;*/
|
||||
font-size: 100%;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-size: 80%;
|
||||
border: dashed;
|
||||
border-width: thin;
|
||||
border-color: #003300;
|
||||
/*
|
||||
background-color: #EEEEEE;
|
||||
*/
|
||||
background-color: #FCFCE1;
|
||||
padding: 0.5em;
|
||||
margin-left: 2em;
|
||||
margin-right: 2em
|
||||
}
|
||||
|
||||
tt { color: green; }
|
||||
em { font-style: italic;
|
||||
font-weight: normal; }
|
||||
strong { font-weight: bold; }
|
||||
|
||||
span.textit { font-style: italic; }
|
||||
span.textbf { font-weight: bold; }
|
||||
|
||||
.small { font-size: 90%; }
|
||||
.white { color: #FFFFFF; }
|
||||
|
||||
|
||||
ul.toc {
|
||||
list-style: disc;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
|
||||
a:link img, a:visited img { border-style: none; }
|
||||
a img { color: white; }
|
||||
|
||||
a:link, a:active, a:visited {
|
||||
color: #09550B;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover, a:focus {
|
||||
color: #FF9900;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* +-----------------------------------------------------------------+
|
||||
* | Doxygen Specific Classes |
|
||||
* +-----------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
|
||||
/* -------------------------------------------------------------------
|
||||
* Header & Footer Classes (customized top page navigation bar).
|
||||
*/
|
||||
|
||||
h1.header {
|
||||
font-size: 200%;
|
||||
/*font-family: times, verdana, sans-serif;*/
|
||||
}
|
||||
|
||||
center.header {
|
||||
background-color: #CCE6CA;
|
||||
}
|
||||
|
||||
table.header {
|
||||
/*width: 100%;*/
|
||||
/*background-color: #EEEEEE;*/
|
||||
background-color: #CCE6CA;
|
||||
}
|
||||
|
||||
table.header td {
|
||||
padding: 2px 14px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
/*font-family: verdana, sans-serif;*/
|
||||
font-size: 110%;
|
||||
}
|
||||
|
||||
table.DoxUser td, table.DoxUser th {
|
||||
padding: 0px 5px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
table.DoxUser th {
|
||||
background-color: #CCE6CA;
|
||||
}
|
||||
|
||||
table.footer1, table.footer2 { width: 100%; }
|
||||
td.LFooter { text-align: left; }
|
||||
td.RFooter { text-align: right; }
|
||||
td.CFooter { text-align: center;}
|
||||
table.footer2 td.RFooter { font-weight: bold; width: 35% }
|
||||
table.footer2 td.CFooter { width: 30% }
|
||||
table.footer2 td.LFooter { font-weight: bold; width: 35%; /*font-family: time;*/ }
|
||||
|
||||
table.classHierarchy {
|
||||
border-collapse: separate;
|
||||
border-spacing: 5px;
|
||||
font-size: 110%;
|
||||
}
|
||||
|
||||
table.classHierarchy tr {
|
||||
border: 1px solid blue;
|
||||
}
|
||||
|
||||
table.classHierarchy td.normal {
|
||||
border: 1px solid #CCE6CA;
|
||||
width: 140pt;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
background-color: #CCE6CA;
|
||||
}
|
||||
|
||||
table.classHierarchy td.virtual {
|
||||
border: 1px solid black;
|
||||
width: 140pt;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.classHierarchy td.wnormal {
|
||||
border: 1px solid #CCE6CA;
|
||||
width: 240pt;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
background-color: #CCE6CA;
|
||||
}
|
||||
|
||||
table.classHierarchy td.wvirtual {
|
||||
border: 1px solid black;
|
||||
width: 240pt;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.ah {
|
||||
/*font-family: time;*/
|
||||
font-size: 250%;
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------------------------------
|
||||
* Quick Index Class (top page navigation bar).
|
||||
*/
|
||||
|
||||
div.qindex, div.nav {
|
||||
width: 100%-4px;
|
||||
/*background-color: #DADAEF;*/
|
||||
/*background-color: #eeeeff;*/
|
||||
/*background-color: #EEEEEE;*/
|
||||
background-color: #CCE6CA;
|
||||
border: 0px solid #003300;
|
||||
text-align: center;
|
||||
margin: 0px;
|
||||
padding: 2px;
|
||||
line-height: 140%;
|
||||
}
|
||||
|
||||
a.qindex, a.qindex:visited, a.qindex:hover, a.qindexHL, a.el, a.elRef {
|
||||
text-decoration: none;
|
||||
/*font-family: Courier;*/
|
||||
font-weight: normal;
|
||||
/*font-size: 110%;*/
|
||||
}
|
||||
|
||||
a.qindex, a.qindex:visited {
|
||||
color: #09550B;
|
||||
}
|
||||
|
||||
a.qindex:hover {
|
||||
background-color: #ddddff;
|
||||
}
|
||||
|
||||
a.qindexHL, a.qindexHL:hover, a.qindexHL:visited {
|
||||
background-color: #0c780c;
|
||||
color: #ffffff;
|
||||
border: 1px double #9295C2;
|
||||
}
|
||||
|
||||
a.code:link, a.code:visited, a.codeRef:link, a.codeRef:visited {
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
color: #0000ff;
|
||||
}
|
||||
|
||||
.indexkey {
|
||||
background-color: #eeeeff;
|
||||
border: 1px solid #b0b0b0;
|
||||
padding: 2px 15px;
|
||||
}
|
||||
|
||||
.indexkey, .indexvalue {
|
||||
background-color: #eeeeff;
|
||||
border: 1px solid #b0b0b0;
|
||||
padding: 2px 15px;
|
||||
}
|
||||
|
||||
.indexkey {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.indexvalue {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
h3 a[name="index__"],
|
||||
h3 a[name="index_a"],
|
||||
h3 a[name="index_b"],
|
||||
h3 a[name="index_c"],
|
||||
h3 a[name="index_d"],
|
||||
h3 a[name="index_e"],
|
||||
h3 a[name="index_f"],
|
||||
h3 a[name="index_g"],
|
||||
h3 a[name="index_h"],
|
||||
h3 a[name="index_i"],
|
||||
h3 a[name="index_j"],
|
||||
h3 a[name="index_k"],
|
||||
h3 a[name="index_l"],
|
||||
h3 a[name="index_m"],
|
||||
h3 a[name="index_n"],
|
||||
h3 a[name="index_o"],
|
||||
h3 a[name="index_p"],
|
||||
h3 a[name="index_q"],
|
||||
h3 a[name="index_r"],
|
||||
h3 a[name="index_s"],
|
||||
h3 a[name="index_t"],
|
||||
h3 a[name="index_u"],
|
||||
h3 a[name="index_v"],
|
||||
h3 a[name="index_w"],
|
||||
h3 a[name="index_x"],
|
||||
h3 a[name="index_y"],
|
||||
h3 a[name="index_z"],
|
||||
h3 a[name="index_0"],
|
||||
h3 a[name="index_1"],
|
||||
h3 a[name="index_2"],
|
||||
h3 a[name="index_3"],
|
||||
h3 a[name="index_4"],
|
||||
h3 a[name="index_5"],
|
||||
h3 a[name="index_6"],
|
||||
h3 a[name="index_7"],
|
||||
h3 a[name="index_8"],
|
||||
h3 a[name="index_9"]
|
||||
h3 a[id="index__"],
|
||||
h3 a#index_a,
|
||||
h3 a#index_b,
|
||||
h3 a#index_c,
|
||||
h3 a#index_d,
|
||||
h3 a#index_e,
|
||||
h3 a#index_f,
|
||||
h3 a#index_g,
|
||||
h3 a#index_h,
|
||||
h3 a#index_i,
|
||||
h3 a#index_j,
|
||||
h3 a#index_k,
|
||||
h3 a#index_l,
|
||||
h3 a#index_m,
|
||||
h3 a#index_n,
|
||||
h3 a#index_o,
|
||||
h3 a#index_p,
|
||||
h3 a#index_q,
|
||||
h3 a#index_r,
|
||||
h3 a#index_s,
|
||||
h3 a#index_t,
|
||||
h3 a#index_u,
|
||||
h3 a#index_v,
|
||||
h3 a#index_w,
|
||||
h3 a#index_x,
|
||||
h3 a#index_y,
|
||||
h3 a#index_z,
|
||||
h3 a#index_0,
|
||||
h3 a#index_1,
|
||||
h3 a#index_2,
|
||||
h3 a#index_3,
|
||||
h3 a#index_4,
|
||||
h3 a#index_5,
|
||||
h3 a#index_6,
|
||||
h3 a#index_7,
|
||||
h3 a#index_8,
|
||||
h3 a#index_9,
|
||||
h3 a#index_0x7e
|
||||
{
|
||||
font-family: time;
|
||||
font-size: 250%;
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------------------------------
|
||||
* Verbatim Source Code / Examples.
|
||||
*/
|
||||
|
||||
/* pre.fragment { background-color: #EEEEEE; } */
|
||||
|
||||
span.keyword { color: #008000 }
|
||||
span.keywordtype { color: #604020 }
|
||||
span.keywordflow { color: #e08000 }
|
||||
span.comment { color: #800000 }
|
||||
span.preprocessor { color: #806020 }
|
||||
span.stringliteral { color: #002080 }
|
||||
span.charliteral { color: #008080 }
|
||||
span.red { color: red }
|
||||
|
||||
|
||||
/* -------------------------------------------------------------------
|
||||
* Attributes Listing.
|
||||
*/
|
||||
|
||||
p.formulaDsp {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mdTable {
|
||||
/*border: 1px solid #868686;*/
|
||||
/*background-color: #DADAEF;*/
|
||||
/*background-color: #F4F4FB;*/
|
||||
border: 1px none #008500;
|
||||
border-left-width: 1px;
|
||||
border-left-style: solid;
|
||||
/*background-color: #B8E6B8;*/
|
||||
/*background-color: #CCE6CA;*/
|
||||
margin-top: 25px;
|
||||
font-size: 105%;
|
||||
}
|
||||
|
||||
.mdRow {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
/* This Mozilla/Firefox bug has been corrected from v1.5.
|
||||
* .mdname1 {
|
||||
* padding: 3px 0px 0px 0px;
|
||||
* }
|
||||
*/
|
||||
|
||||
.mdescLeft, .mdescRight {
|
||||
padding: 0px 8px 4px 8px;
|
||||
font-size: 11px;
|
||||
font-style: italic;
|
||||
/*background-color: #FAFAFA;*/
|
||||
border-top: 1px none #E0E0E0;
|
||||
border-right: 1px none #E0E0E0;
|
||||
border-bottom: 1px none #E0E0E0;
|
||||
border-left: 1px none #E0E0E0;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.memitem {
|
||||
margin-bottom: 30px;
|
||||
border: 1px none #008500;
|
||||
}
|
||||
|
||||
.memproto {
|
||||
background-color: #CCE6CA;
|
||||
border-left-width: 4px;
|
||||
border-left-style: solid;
|
||||
border-color: #008500;
|
||||
}
|
||||
|
||||
.memname {
|
||||
white-space: nowrap;
|
||||
padding-left: 5px;
|
||||
font-size: 105%;
|
||||
}
|
||||
|
||||
table.memname * {
|
||||
font-family: "Monospace";
|
||||
}
|
||||
|
||||
|
||||
.memdoc{
|
||||
padding-left: 5px;
|
||||
/*margin-top: -8px;*/
|
||||
border-left-width: 1px;
|
||||
border-left-style: solid;
|
||||
border-color: #008500;
|
||||
}
|
||||
|
||||
div.contents * table tr {
|
||||
padding: 3px 3px 3px 8px;
|
||||
}
|
||||
|
||||
.memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight {
|
||||
/*padding: 1px 0px 0px 8px;*/
|
||||
padding: 3px 3px 3px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
/*
|
||||
border-top-color: #0c0c0c;
|
||||
border-right-color: #0c0c0c;
|
||||
border-bottom-color: #0c0c0c;
|
||||
border-left-color: #0c0c0c;
|
||||
*/
|
||||
border-top-style: none;
|
||||
border-right-style: none;
|
||||
border-bottom-style: dotted;
|
||||
border-left-style: none;
|
||||
/*background-color: #DADAEF;*/
|
||||
/*background-color: #eeeeff;*/
|
||||
/*background-color: #EEEEEE;*/
|
||||
/*background-color: #CCE6CA;*/
|
||||
font-family: "Monospace";
|
||||
}
|
||||
|
||||
.memTemplItemLeft, .memTemplItemRight {
|
||||
border-bottom-width: 2px;
|
||||
border-bottom-style: solid;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.memItemLeft { font-size: 11px; width: 35%; }
|
||||
.memItemRight { font-size: 12px; }
|
||||
.memTemplItemLeft { font-size: 11px; }
|
||||
.memTemplItemRight { font-size: 12px; }
|
||||
|
||||
.memTemplParams {
|
||||
color: #FFFFFF;
|
||||
background-color: #000000;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.groupText, .groupHeader {
|
||||
color: #09550B;
|
||||
font-size: 130%;
|
||||
font-weight: bold;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.groupHeader {
|
||||
margin-bottom: -30pt;
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
|
||||
set ( htmlInstallDir share/doc/coriolis2/en/html/users-guide )
|
||||
set ( latexInstallDir share/doc/coriolis2/en/latex/users-guide )
|
||||
|
||||
add_custom_target ( doc_LaTeX ALL cd ${CRLCORE_SOURCE_DIR}/doc/UsersGuide
|
||||
&& rst2html --link-stylesheet --stylesheet=./SoC.css,./Pygments.css UsersGuide_HTML.rst UsersGuide.html )
|
||||
|
||||
add_custom_target ( doc_HTML ALL cd ${CRLCORE_SOURCE_DIR}/doc/UsersGuide
|
||||
&& rst2latex --use-latex-toc --stylesheet=./socstyle.tex UsersGuide_LaTeX.rst UsersGuide.tex )
|
||||
|
||||
install ( DIRECTORY images DESTINATION ${htmlInstallDir} )
|
||||
install ( FILES SoC.css
|
||||
Pygments.css
|
||||
UsersGuide.html DESTINATION ${htmlInstallDir} )
|
||||
|
||||
install ( FILES socstyle.tex
|
||||
UsersGuide.tex DESTINATION ${latexInstallDir} )
|
|
@ -1,116 +0,0 @@
|
|||
\relax
|
||||
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
|
||||
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
|
||||
\global\let\oldcontentsline\contentsline
|
||||
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
|
||||
\global\let\oldnewlabel\newlabel
|
||||
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
|
||||
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
|
||||
\AtEndDocument{\ifx\hyper@anchor\@undefined
|
||||
\let\contentsline\oldcontentsline
|
||||
\let\newlabel\oldnewlabel
|
||||
\fi}
|
||||
\fi}
|
||||
\global\let\hyper@last\relax
|
||||
\gdef\HyperFirstAtBeginDocument#1{#1}
|
||||
\providecommand\HyField@AuxAddToFields[1]{}
|
||||
\select@language{english}
|
||||
\@writefile{toc}{\select@language{english}}
|
||||
\@writefile{lof}{\select@language{english}}
|
||||
\@writefile{lot}{\select@language{english}}
|
||||
\newlabel{coriolis-user-s-guide}{{}{1}{\relax }{section*.1}{}}
|
||||
\newlabel{contents}{{}{1}{\relax }{section*.2}{}}
|
||||
\@writefile{toc}{\contentsline {section}{Credits \& License}{2}{section*.3}}
|
||||
\newlabel{credits-license}{{}{2}{\relax }{section*.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{Release Notes}{3}{section*.4}}
|
||||
\newlabel{release-notes}{{}{3}{\relax }{section*.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Release 1.0.1475}{3}{section*.5}}
|
||||
\newlabel{release-1-0-1475}{{}{3}{\relax }{section*.5}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Release 1.0.1963}{3}{section*.6}}
|
||||
\newlabel{release-1-0-1963}{{}{3}{\relax }{section*.6}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Release 1.0.xxxx}{3}{section*.7}}
|
||||
\newlabel{release-1-0-xxxx}{{}{3}{\relax }{section*.7}{}}
|
||||
\gdef \LT@i {\LT@entry
|
||||
{1}{131.5826pt}\LT@entry
|
||||
{1}{242.85562pt}}
|
||||
\@writefile{toc}{\contentsline {section}{Installation}{4}{section*.8}}
|
||||
\newlabel{installation}{{}{4}{\relax }{section*.8}{}}
|
||||
\gdef \LT@ii {\LT@entry
|
||||
{1}{49.60522pt}\LT@entry
|
||||
{1}{165.90092pt}\LT@entry
|
||||
{1}{217.76141pt}}
|
||||
\@writefile{toc}{\contentsline {section}{Coriolis Configuration \& Initialisation}{5}{section*.9}}
|
||||
\newlabel{coriolis-configuration-initialisation}{{}{5}{\relax }{section*.9}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Configuration Helpers}{5}{section*.10}}
|
||||
\newlabel{configuration-helpers}{{}{5}{\relax }{section*.10}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Alliance Helper}{5}{section*.11}}
|
||||
\newlabel{alliance-helper}{{}{5}{\relax }{section*.11}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Tools Configuration Helpers}{7}{section*.12}}
|
||||
\newlabel{tools-configuration-helpers}{{}{7}{\relax }{section*.12}{}}
|
||||
\@writefile{toc}{\contentsline {section}{CGT - The Graphical Interface}{8}{section*.13}}
|
||||
\newlabel{cgt-the-graphical-interface}{{}{8}{\relax }{section*.13}{}}
|
||||
\@writefile{toc}{\contentsline {section}{Viewer \& Tools}{9}{section*.14}}
|
||||
\newlabel{id1}{{}{9}{\relax }{section*.14}{}}
|
||||
\newlabel{viewer-tools}{{}{9}{\relax }{section*.14}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Hurricane Data-Base}{9}{section*.15}}
|
||||
\newlabel{the-hurricane-data-base}{{}{9}{\relax }{section*.15}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Mauka -{}- Placer}{10}{section*.16}}
|
||||
\newlabel{mauka-placer}{{}{10}{\relax }{section*.16}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Knik -{}- Global Router}{10}{section*.17}}
|
||||
\newlabel{knik-global-router}{{}{10}{\relax }{section*.17}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Kite -{}- Detailed Router}{10}{section*.18}}
|
||||
\newlabel{kite-detailed-router}{{}{10}{\relax }{section*.18}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Executing Python Scripts in Cgt}{11}{section*.19}}
|
||||
\newlabel{executing-python-scripts-in-cgt}{{}{11}{\relax }{section*.19}{}}
|
||||
\newlabel{python-scripts-in-cgt}{{}{11}{\relax }{section*.19}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Printing \& Snapshots}{11}{section*.20}}
|
||||
\newlabel{printing-snapshots}{{}{11}{\relax }{section*.20}{}}
|
||||
\gdef \LT@iii {\LT@entry
|
||||
{1}{85.57443pt}\LT@entry
|
||||
{1}{93.96251pt}\LT@entry
|
||||
{1}{253.3158pt}}
|
||||
\gdef \LT@iv {\LT@entry
|
||||
{1}{79.7221pt}\LT@entry
|
||||
{1}{95.63461pt}\LT@entry
|
||||
{1}{257.49603pt}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Memento of Shortcuts in Graphic Mode}{12}{section*.21}}
|
||||
\newlabel{memento-of-shortcuts-in-graphic-mode}{{}{12}{\relax }{section*.21}{}}
|
||||
\gdef \LT@v {\LT@entry
|
||||
{1}{160.86342pt}\LT@entry
|
||||
{1}{252.89458pt}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Cgt Command Line Options}{13}{section*.22}}
|
||||
\newlabel{cgt-command-line-options}{{}{13}{\relax }{section*.22}{}}
|
||||
\@writefile{toc}{\contentsline {section}{The Controller}{14}{section*.23}}
|
||||
\newlabel{id2}{{}{14}{\relax }{section*.23}{}}
|
||||
\newlabel{the-controller}{{}{14}{\relax }{section*.23}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Look Tab}{15}{section*.24}}
|
||||
\newlabel{id3}{{}{15}{\relax }{section*.24}{}}
|
||||
\newlabel{the-look-tab}{{}{15}{\relax }{section*.24}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Filter Tab}{15}{section*.25}}
|
||||
\newlabel{id4}{{}{15}{\relax }{section*.25}{}}
|
||||
\newlabel{the-filter-tab}{{}{15}{\relax }{section*.25}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Layers\&Go Tab}{16}{section*.26}}
|
||||
\newlabel{id5}{{}{16}{\relax }{section*.26}{}}
|
||||
\newlabel{the-layers-go-tab}{{}{16}{\relax }{section*.26}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Netlist Tab}{17}{section*.27}}
|
||||
\newlabel{id6}{{}{17}{\relax }{section*.27}{}}
|
||||
\newlabel{the-netlist-tab}{{}{17}{\relax }{section*.27}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Selection Tab}{18}{section*.28}}
|
||||
\newlabel{id7}{{}{18}{\relax }{section*.28}{}}
|
||||
\newlabel{the-selection-tab}{{}{18}{\relax }{section*.28}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Inspector Tab}{19}{section*.29}}
|
||||
\newlabel{id8}{{}{19}{\relax }{section*.29}{}}
|
||||
\newlabel{the-inspector-tab}{{}{19}{\relax }{section*.29}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Settings Tab}{21}{section*.30}}
|
||||
\newlabel{id9}{{}{21}{\relax }{section*.30}{}}
|
||||
\newlabel{the-settings-tab}{{}{21}{\relax }{section*.30}{}}
|
||||
\gdef \LT@vi {\LT@entry
|
||||
{1}{209.37971pt}\LT@entry
|
||||
{1}{106.92445pt}\LT@entry
|
||||
{1}{73.04855pt}}
|
||||
\@writefile{toc}{\contentsline {section}{Tools Fine Tuning}{22}{section*.31}}
|
||||
\newlabel{tools-fine-tuning}{{}{22}{\relax }{section*.31}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Detailed Routing Configuration Parameters}{22}{section*.32}}
|
||||
\newlabel{id10}{{}{22}{\relax }{section*.32}{}}
|
||||
\newlabel{detailed-routing-configuration-parameters}{{}{22}{\relax }{section*.32}{}}
|
||||
\ttl@finishall
|
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 9.7 KiB |
|
@ -1,20 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
6 2700 1800 3300 2100
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2700 1800 3300 1800 3300 2100 2700 2100 2700 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 390 3000 2025 P&R\001
|
||||
-6
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 90.00 180.00
|
||||
3300 1950 3600 1950
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3600 1800 5700 1800 5700 2100 3600 2100 3600 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 1860 4650 2025 Kite - Detailed Route\001
|
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,20 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
6 2700 1800 3300 2100
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2700 1800 3300 1800 3300 2100 2700 2100 2700 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 390 3000 2025 P&R\001
|
||||
-6
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 90.00 180.00
|
||||
3300 1950 3600 1950
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3600 1800 5700 1800 5700 2100 3600 2100 3600 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 1785 4650 2025 Kite - Finalize Route\001
|
Before Width: | Height: | Size: 1.0 KiB |
|
@ -1,20 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
6 2700 1800 3300 2100
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2700 1800 3300 1800 3300 2100 2700 2100 2700 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 390 3000 2025 P&R\001
|
||||
-6
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 90.00 180.00
|
||||
3300 1950 3600 1950
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3600 1800 5475 1800 5475 2100 3600 2100 3600 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 1695 4575 2025 Kite - Global Route\001
|
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,28 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
6 2700 1800 3300 2100
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2700 1800 3300 1800 3300 2100 2700 2100 2700 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 390 3000 2025 P&R\001
|
||||
-6
|
||||
6 3600 1800 4950 2100
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3600 1800 4950 1800 4950 2100 3600 2100 3600 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 180 1185 4275 2025 Step by Step\001
|
||||
-6
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 90.00 180.00
|
||||
3300 1950 3600 1950
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 90.00 180.00
|
||||
4950 1950 5250 1950
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
5250 1800 7800 1800 7800 2100 5250 2100 5250 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 180 2325 6525 2025 Kite - Load Global Routing\001
|
Before Width: | Height: | Size: 1.5 KiB |
|
@ -1,30 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
6 2700 1800 3300 2100
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2700 1800 3300 1800 3300 2100 2700 2100 2700 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 390 3000 2025 P&R\001
|
||||
-6
|
||||
6 3600 1800 4950 2100
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3600 1800 4950 1800 4950 2100 3600 2100 3600 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 180 1185 4275 2025 Step by Step\001
|
||||
-6
|
||||
6 5250 1800 7800 2100
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
5250 1800 7800 1800 7800 2100 5250 2100 5250 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 180 2370 6525 2025 Kite - Save Global Routing\001
|
||||
-6
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 90.00 180.00
|
||||
3300 1950 3600 1950
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 90.00 180.00
|
||||
4950 1950 5250 1950
|
Before Width: | Height: | Size: 1.4 KiB |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2700 1800 3300 1800 3300 2100 2700 2100 2700 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 480 3000 2025 CTRL\001
|
Before Width: | Height: | Size: 492 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2625 1800 3375 1800 3375 2100 2625 2100 2625 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 570 3000 2025 DOWN\001
|
Before Width: | Height: | Size: 544 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2775 1800 3225 1800 3225 2100 2775 2100 2775 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 375 3000 2025 ESC\001
|
Before Width: | Height: | Size: 495 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 f\001
|
Before Width: | Height: | Size: 388 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 G\001
|
Before Width: | Height: | Size: 426 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 I\001
|
Before Width: | Height: | Size: 370 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 k\001
|
Before Width: | Height: | Size: 402 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 K\001
|
Before Width: | Height: | Size: 422 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2700 1800 3300 1800 3300 2100 2700 2100 2700 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 450 3000 2025 LEFT\001
|
Before Width: | Height: | Size: 446 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 L\001
|
Before Width: | Height: | Size: 375 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 m\001
|
Before Width: | Height: | Size: 391 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 O\001
|
Before Width: | Height: | Size: 421 B |
|
@ -1,13 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3375 1950 3525 1950
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3450 1875 3450 2025
|
Before Width: | Height: | Size: 323 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 P\001
|
Before Width: | Height: | Size: 398 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 Q\001
|
Before Width: | Height: | Size: 447 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2625 1800 3375 1800 3375 2100 2625 2100 2625 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 600 3000 2025 RIGHT\001
|
Before Width: | Height: | Size: 528 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 s\001
|
Before Width: | Height: | Size: 412 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 S\001
|
Before Width: | Height: | Size: 435 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2775 1800 3225 1800 3225 2100 2775 2100 2775 1800
|
||||
4 1 0 50 -1 18 11 0.0000 4 135 255 3000 2025 UP\001
|
Before Width: | Height: | Size: 427 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 W\001
|
Before Width: | Height: | Size: 413 B |
|
@ -1,12 +0,0 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5b
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2850 1800 3150 1800 3150 2100 2850 2100 2850 1800
|
||||
4 1 0 50 -1 14 18 0.0000 4 150 105 3000 2025 z\001
|
Before Width: | Height: | Size: 400 B |
|
@ -5,22 +5,14 @@ parametersTable = \
|
|||
( ("katabatic.globalLengthThreshold",TypeInt ,1450 ) # Katabatic parameters.
|
||||
, ("katabatic.saturateRatio" ,TypePercentage,80 )
|
||||
, ("katabatic.saturateRp" ,TypeInt ,8 )
|
||||
, ("kite.borderRipupLimit" ,TypeInt ,26 )
|
||||
# Kite parameters.
|
||||
, ("kite.edgeCapacity" ,TypePercentage,75 , { 'min':0, 'max':110 } )
|
||||
, ("kite.edgeCapacity" ,TypePercentage,85 , { 'min':0, 'max':110 } )
|
||||
, ("kite.eventsLimit" ,TypeInt ,4000002)
|
||||
, ("kite.ripupCost" ,TypeInt ,3 , { 'min':0 } )
|
||||
, ("kite.globalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
||||
, ("kite.localRipupLimit" ,TypeInt ,9 , { 'min':1 } )
|
||||
, ("kite.longGlobalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
||||
, ("kite.strapRipupLimit" ,TypeInt ,16 , { 'min':1 } )
|
||||
, ("kite.metal1MinBreak" ,TypeDouble ,100 )
|
||||
, ("kite.metal2MinBreak" ,TypeDouble ,100 )
|
||||
, ("kite.metal3MinBreak" ,TypeDouble ,100 )
|
||||
, ("kite.metal4MinBreak" ,TypeDouble ,1450 )
|
||||
, ("kite.metal5MinBreak" ,TypeDouble ,1450 )
|
||||
, ("kite.metal6MinBreak" ,TypeDouble ,1450 )
|
||||
, ("kite.metal7MinBreak" ,TypeDouble ,1450 )
|
||||
, ("kite.localRipupLimit" ,TypeInt ,9 , { 'min':1 } )
|
||||
, ("kite.globalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
||||
, ("kite.longGlobalRipupLimit" ,TypeInt ,5 , { 'min':1 } )
|
||||
)
|
||||
|
||||
# Kite Layout.
|
||||
|
@ -35,15 +27,7 @@ layoutTable = \
|
|||
, (TypeOption , "kite.edgeCapacity" , "Edge Capacity (%)" , 0 )
|
||||
, (TypeOption , "kite.eventsLimit" , "Events Limit" , 0 )
|
||||
, (TypeOption , "kite.ripupCost" , "Ripup Cost" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
|
||||
, (TypeOption , "kite.metal1MinBreak", "METAL1 Length Min Break", 0 )
|
||||
, (TypeOption , "kite.metal2MinBreak", "METAL2 Length Min Break", 0 )
|
||||
, (TypeOption , "kite.metal3MinBreak", "METAL3 Length Min Break", 0 )
|
||||
, (TypeOption , "kite.metal4MinBreak", "METAL4 Length Min Break", 0 )
|
||||
, (TypeOption , "kite.metal5MinBreak", "METAL5 Length Min Break", 0 )
|
||||
, (TypeOption , "kite.metal6MinBreak", "METAL6 Length Min Break", 0 )
|
||||
, (TypeOption , "kite.metal7MinBreak", "METAL7 Length Min Break", 0 )
|
||||
, (TypeSection, "Ripup Limits", 1 )
|
||||
, (TypeOption , "kite.borderRipupLimit" , "Borders" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
|
||||
, (TypeOption , "kite.strapRipupLimit" , "Straps" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
|
||||
, (TypeOption , "kite.localRipupLimit" , "Locals" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
|
||||
, (TypeOption , "kite.globalRipupLimit" , "Globals" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
# -*- mode: CMAKE; explicit-buffer-name: "CMakeLists.txt<documentation>" -*-
|
||||
|
||||
project(DOCUMENTATION)
|
||||
|
||||
cmake_minimum_required(VERSION 2.4.0)
|
||||
|
||||
OPTION(BUILD_DOC "Build the documentation (html+latex)" OFF)
|
||||
|
||||
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
|
||||
find_package(Bootstrap REQUIRED)
|
||||
setup_project_paths(CORIOLIS)
|
||||
list(INSERT CMAKE_MODULE_PATH 0 "${CRLCORE_SOURCE_DIR}/cmake_modules/")
|
||||
print_cmake_module_path()
|
||||
|
||||
set_cmake_policies()
|
||||
check_distribution()
|
||||
|
||||
#if(BUILD_DOC)
|
||||
# include(UseLATEX)
|
||||
#endif(BUILD_DOC)
|
||||
|
||||
add_subdirectory(examples)
|
||||
if(BUILD_DOC)
|
||||
add_subdirectory(UsersGuide)
|
||||
endif(BUILD_DOC)
|
||||
|
||||
set ( htmlInstallDir share/doc/coriolis2/ )
|
||||
set ( latexInstallDir share/doc/coriolis2/ )
|
||||
|
||||
install ( FILES general-index.html DESTINATION ${htmlInstallDir} RENAME index.html )
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
set ( htmlInstallDir share/doc/coriolis2/en/html/users-guide )
|
||||
set ( latexInstallDir share/doc/coriolis2/en/latex/users-guide )
|
||||
|
||||
add_custom_target ( doc_HTML ALL
|
||||
cd ${DOCUMENTATION_SOURCE_DIR}/UsersGuide
|
||||
&& rst2html --link-stylesheet --stylesheet=./SoC.css,./Pygments.css UsersGuide_HTML.rst UsersGuide.html )
|
||||
|
||||
add_custom_target ( doc_LaTeX ALL
|
||||
cd ${DOCUMENTATION_SOURCE_DIR}/UsersGuide
|
||||
&& rst2latex --use-latex-toc --stylesheet=./socstyle.tex UsersGuide_LaTeX.rst UsersGuide-raw.tex
|
||||
&& sed 's, \& \\\\multicolumn{2}{l|}{, \& \\\\multicolumn{2}{p{0.6\\\\DUtablewidth}|}{,' UsersGuide-raw.tex > UsersGuide.tex )
|
||||
|
||||
install ( DIRECTORY images/
|
||||
DESTINATION ${htmlInstallDir}/images
|
||||
FILES_MATCHING PATTERN "*.png" )
|
||||
install ( FILES SoC.css
|
||||
Pygments.css
|
||||
UsersGuide.html DESTINATION ${htmlInstallDir} )
|
||||
|
||||
install ( DIRECTORY images/
|
||||
DESTINATION ${latexInstallDir}/images
|
||||
FILES_MATCHING PATTERN "*.pdf"
|
||||
PATTERN "*.eps" )
|
||||
|
||||
install ( FILES socstyle.tex
|
||||
UsersGuide.tex DESTINATION ${latexInstallDir} )
|
|
@ -4,6 +4,11 @@
|
|||
.. role:: raw-html(raw)
|
||||
:format: html
|
||||
|
||||
.. URLs that changes between the various backends.
|
||||
.. _Coriolis Tools Documentation: file:///usr/share/doc/coriolis2/index.html
|
||||
.. _Stratus Documentation: file:///usr/share/doc/coriolis2/en/html/stratus/index.html
|
||||
.. _Here: file:///usr/share/doc/coriolis2/en/latex/users-guide/UsersGuide.pdf
|
||||
|
||||
.. For HTML backend
|
||||
.. |Key_ESC| image:: ./images/key_ESC.png
|
||||
.. |Key_CTRL| image:: ./images/key_CTRL.png
|
|
@ -4,6 +4,10 @@
|
|||
.. role:: raw-latex(raw)
|
||||
:format: latex
|
||||
|
||||
.. URLs that changes between the various backends.
|
||||
.. _Coriolis Tools Documentation: https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/
|
||||
.. _Stratus Documentation: https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/en/html/stratus/index.html
|
||||
|
||||
.. |DONE| replace:: :raw-latex:`\marginpar{\fbox{\small\ding{56}}}`
|
||||
|
||||
.. For LaTeX/PDF backend.
|
||||
|
@ -50,7 +54,7 @@
|
|||
.. |ControllerInspector_3| replace:: :raw-latex:`\begin{center}\includegraphics[width=.7\textwidth]{./images/Controller-Inspector-3.eps}\end{center}`
|
||||
.. |ControllerSettings_1| replace:: :raw-latex:`\begin{center}\includegraphics[width=.7\textwidth]{./images/Controller-Settings-1.eps}\end{center}`
|
||||
|
||||
.. |BigMouse| image:: ./images/ComputerMouse.png
|
||||
.. |BigMouse| image:: ./images/ComputerMouse.eps
|
||||
:scale: 25%
|
||||
|
||||
.. Direct LaTeX commands encapsulation.
|
|
@ -1,7 +1,10 @@
|
|||
|
||||
html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 {
|
||||
font-size: 96%;
|
||||
/*
|
||||
font-family: verdana, sans-serif;
|
||||
*/
|
||||
font-family: "Open Sans", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
|
@ -26,12 +29,12 @@ body.gsummary {
|
|||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: verdana, sans-serif;
|
||||
font-family: "Open Sans", sans-serif;
|
||||
}
|
||||
|
||||
h1 { text-align: left; }
|
||||
h2, h3, h4, h5, h6 { text-align: left; }
|
||||
h1, h2, h3 { font-family: "Liberation Serif";
|
||||
h1, h2, h3 { font-family: "Serif";
|
||||
}
|
||||
h1 { font-weight: normal; font-size: 170%; padding-top: 7pt; margin-top: 25pt; }
|
||||
h2 { font-weight: normal; font-size: 140%; padding-top: 7pt; margin-top: 25pt; }
|
||||
|
@ -50,6 +53,12 @@ hr {
|
|||
padding-bottom: 10pt;
|
||||
}
|
||||
|
||||
div#contents {
|
||||
margin: 30pt;
|
||||
padding: 2pt 10pt;
|
||||
background-color: #fff676;
|
||||
}
|
||||
|
||||
div#centered {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
@ -624,8 +633,8 @@ table.wiki th, table th {
|
|||
}
|
||||
|
||||
table.docutils {
|
||||
margin-left: 10%;
|
||||
margin-right: 10%;
|
||||
margin-left: 5%;
|
||||
margin-right: 5%;
|
||||
}
|
||||
|
||||
table.wiki, table.wiki th, table.wiki td { border: 1px solid black; }
|
||||
|
@ -691,6 +700,14 @@ span.cb {
|
|||
white-space: pre;
|
||||
}
|
||||
|
||||
span.fboxtt {
|
||||
border: 1px solid black;
|
||||
padding: 0px 4px;
|
||||
font-family: "andale mono", monospace;
|
||||
font-weight: bold;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
#notice.system-message, .notice.system-message {
|
||||
color: black;
|
||||
background: #DDFFDD;
|
|
@ -0,0 +1,165 @@
|
|||
\relax
|
||||
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
|
||||
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
|
||||
\global\let\oldcontentsline\contentsline
|
||||
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
|
||||
\global\let\oldnewlabel\newlabel
|
||||
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
|
||||
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
|
||||
\AtEndDocument{\ifx\hyper@anchor\@undefined
|
||||
\let\contentsline\oldcontentsline
|
||||
\let\newlabel\oldnewlabel
|
||||
\fi}
|
||||
\fi}
|
||||
\global\let\hyper@last\relax
|
||||
\gdef\HyperFirstAtBeginDocument#1{#1}
|
||||
\providecommand*\HyPL@Entry[1]{}
|
||||
\HyPL@Entry{0<</P(1)>>}
|
||||
\select@language{english}
|
||||
\@writefile{toc}{\select@language{english}}
|
||||
\@writefile{lof}{\select@language{english}}
|
||||
\@writefile{lot}{\select@language{english}}
|
||||
\newlabel{coriolis-user-s-guide}{{}{1}{\relax }{section*.1}{}}
|
||||
\newlabel{contents}{{}{1}{\relax }{section*.2}{}}
|
||||
\HyPL@Entry{1<</P(2)>>}
|
||||
\@writefile{toc}{\contentsline {section}{Credits \& License}{2}{section*.3}}
|
||||
\newlabel{credits-license}{{}{2}{\relax }{section*.3}{}}
|
||||
\HyPL@Entry{2<</P(3)>>}
|
||||
\@writefile{toc}{\contentsline {section}{Release Notes}{3}{section*.4}}
|
||||
\newlabel{release-notes}{{}{3}{\relax }{section*.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Release 1.0.1475}{3}{section*.5}}
|
||||
\newlabel{release-1-0-1475}{{}{3}{\relax }{section*.5}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Release 1.0.1963}{3}{section*.6}}
|
||||
\newlabel{release-1-0-1963}{{}{3}{\relax }{section*.6}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Release 1.0.2049}{3}{section*.7}}
|
||||
\newlabel{release-1-0-2049}{{}{3}{\relax }{section*.7}{}}
|
||||
\HyPL@Entry{3<</P(4)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{Release v2.0.0 (c0b9992)}{4}{section*.8}}
|
||||
\newlabel{release-v2-0-0-c0b9992}{{}{4}{\relax }{section*.8}{}}
|
||||
\gdef \LT@i {\LT@entry
|
||||
{1}{114.85526pt}\LT@entry
|
||||
{1}{303.50418pt}}
|
||||
\HyPL@Entry{4<</P(5)>>}
|
||||
\@writefile{toc}{\contentsline {section}{Installation}{5}{section*.9}}
|
||||
\newlabel{installation}{{}{5}{\relax }{section*.9}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Fixed Directory Tree}{5}{section*.10}}
|
||||
\newlabel{fixed-directory-tree}{{}{5}{\relax }{section*.10}{}}
|
||||
\HyPL@Entry{5<</P(6)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{Building Coriolis}{6}{section*.11}}
|
||||
\newlabel{building-coriolis}{{}{6}{\relax }{section*.11}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Packaging Coriolis}{6}{section*.12}}
|
||||
\newlabel{packaging-coriolis}{{}{6}{\relax }{section*.12}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Hooking up into Alliance}{6}{section*.13}}
|
||||
\newlabel{hooking-up-into-alliance}{{}{6}{\relax }{section*.13}{}}
|
||||
\HyPL@Entry{6<</P(7)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{Environment Helper}{7}{section*.14}}
|
||||
\newlabel{environment-helper}{{}{7}{\relax }{section*.14}{}}
|
||||
\gdef \LT@ii {\LT@entry
|
||||
{1}{49.60522pt}\LT@entry
|
||||
{1}{165.90092pt}\LT@entry
|
||||
{1}{217.76141pt}}
|
||||
\HyPL@Entry{7<</P(8)>>}
|
||||
\@writefile{toc}{\contentsline {section}{Documentation}{8}{section*.15}}
|
||||
\newlabel{documentation}{{}{8}{\relax }{section*.15}{}}
|
||||
\@writefile{toc}{\contentsline {section}{Coriolis Configuration \& Initialisation}{8}{section*.16}}
|
||||
\newlabel{coriolis-configuration-initialisation}{{}{8}{\relax }{section*.16}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Configuration Helpers}{8}{section*.17}}
|
||||
\newlabel{configuration-helpers}{{}{8}{\relax }{section*.17}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Alliance Helper}{8}{section*.18}}
|
||||
\newlabel{id1}{{}{8}{\relax }{section*.18}{}}
|
||||
\newlabel{alliance-helper}{{}{8}{\relax }{section*.18}{}}
|
||||
\HyPL@Entry{8<</P(9)>>}
|
||||
\HyPL@Entry{9<</P(10)>>}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Tools Configuration Helpers}{10}{section*.19}}
|
||||
\newlabel{tools-configuration-helpers}{{}{10}{\relax }{section*.19}{}}
|
||||
\HyPL@Entry{10<</P(11)>>}
|
||||
\@writefile{toc}{\contentsline {section}{CGT - The Graphical Interface}{11}{section*.20}}
|
||||
\newlabel{cgt-the-graphical-interface}{{}{11}{\relax }{section*.20}{}}
|
||||
\HyPL@Entry{11<</P(12)>>}
|
||||
\HyPL@Entry{12<</P(13)>>}
|
||||
\@writefile{toc}{\contentsline {section}{Viewer \& Tools}{13}{section*.21}}
|
||||
\newlabel{id2}{{}{13}{\relax }{section*.21}{}}
|
||||
\newlabel{viewer-tools}{{}{13}{\relax }{section*.21}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Stratus Netlist Capture}{13}{section*.22}}
|
||||
\newlabel{stratus-netlist-capture}{{}{13}{\relax }{section*.22}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Hurricane Data-Base}{13}{section*.23}}
|
||||
\newlabel{the-hurricane-data-base}{{}{13}{\relax }{section*.23}{}}
|
||||
\HyPL@Entry{13<</P(14)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{Mauka -{}- Placer}{14}{section*.24}}
|
||||
\newlabel{mauka-placer}{{}{14}{\relax }{section*.24}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Knik -{}- Global Router}{14}{section*.25}}
|
||||
\newlabel{knik-global-router}{{}{14}{\relax }{section*.25}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Kite -{}- Detailed Router}{14}{section*.26}}
|
||||
\newlabel{kite-detailed-router}{{}{14}{\relax }{section*.26}{}}
|
||||
\gdef \LT@iii {\LT@entry
|
||||
{1}{170.48116pt}\LT@entry
|
||||
{1}{88.52501pt}\LT@entry
|
||||
{5}{587.85477pt}}
|
||||
\HyPL@Entry{14<</P(15)>>}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Kite Configuration Parameters}{15}{section*.27}}
|
||||
\newlabel{kite-configuration-parameters}{{}{15}{\relax }{section*.27}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{Executing Python Scripts in Cgt}{15}{section*.28}}
|
||||
\newlabel{executing-python-scripts-in-cgt}{{}{15}{\relax }{section*.28}{}}
|
||||
\newlabel{python-scripts-in-cgt}{{}{15}{\relax }{section*.28}{}}
|
||||
\gdef \LT@iv {\LT@entry
|
||||
{1}{85.57443pt}\LT@entry
|
||||
{1}{93.96251pt}\LT@entry
|
||||
{1}{253.3158pt}}
|
||||
\HyPL@Entry{15<</P(16)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{Printing \& Snapshots}{16}{section*.29}}
|
||||
\newlabel{printing-snapshots}{{}{16}{\relax }{section*.29}{}}
|
||||
\gdef \LT@v {\LT@entry
|
||||
{1}{79.7221pt}\LT@entry
|
||||
{1}{95.63461pt}\LT@entry
|
||||
{1}{257.49603pt}}
|
||||
\HyPL@Entry{16<</P(17)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{Memento of Shortcuts in Graphic Mode}{17}{section*.30}}
|
||||
\newlabel{memento-of-shortcuts-in-graphic-mode}{{}{17}{\relax }{section*.30}{}}
|
||||
\gdef \LT@vi {\LT@entry
|
||||
{1}{160.86342pt}\LT@entry
|
||||
{1}{252.89458pt}}
|
||||
\HyPL@Entry{17<</P(18)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{Cgt Command Line Options}{18}{section*.31}}
|
||||
\newlabel{cgt-command-line-options}{{}{18}{\relax }{section*.31}{}}
|
||||
\gdef \LT@vii {\LT@entry
|
||||
{1}{170.48116pt}\LT@entry
|
||||
{1}{88.52501pt}\LT@entry
|
||||
{5}{328.64403pt}}
|
||||
\HyPL@Entry{18<</P(19)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{Miscellaneous Settings}{19}{section*.32}}
|
||||
\newlabel{miscellaneous-settings}{{}{19}{\relax }{section*.32}{}}
|
||||
\@writefile{toc}{\contentsline {section}{The Controller}{19}{section*.33}}
|
||||
\newlabel{id3}{{}{19}{\relax }{section*.33}{}}
|
||||
\newlabel{the-controller}{{}{19}{\relax }{section*.33}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Look Tab}{19}{section*.34}}
|
||||
\newlabel{id4}{{}{19}{\relax }{section*.34}{}}
|
||||
\newlabel{the-look-tab}{{}{19}{\relax }{section*.34}{}}
|
||||
\HyPL@Entry{19<</P(20)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Filter Tab}{20}{section*.35}}
|
||||
\newlabel{id5}{{}{20}{\relax }{section*.35}{}}
|
||||
\newlabel{the-filter-tab}{{}{20}{\relax }{section*.35}{}}
|
||||
\HyPL@Entry{20<</P(21)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Layers\&Go Tab}{21}{section*.36}}
|
||||
\newlabel{id6}{{}{21}{\relax }{section*.36}{}}
|
||||
\newlabel{the-layers-go-tab}{{}{21}{\relax }{section*.36}{}}
|
||||
\HyPL@Entry{21<</P(22)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Netlist Tab}{22}{section*.37}}
|
||||
\newlabel{id7}{{}{22}{\relax }{section*.37}{}}
|
||||
\newlabel{the-netlist-tab}{{}{22}{\relax }{section*.37}{}}
|
||||
\HyPL@Entry{22<</P(23)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Selection Tab}{23}{section*.38}}
|
||||
\newlabel{id8}{{}{23}{\relax }{section*.38}{}}
|
||||
\newlabel{the-selection-tab}{{}{23}{\relax }{section*.38}{}}
|
||||
\HyPL@Entry{23<</P(24)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Inspector Tab}{24}{section*.39}}
|
||||
\newlabel{id9}{{}{24}{\relax }{section*.39}{}}
|
||||
\newlabel{the-inspector-tab}{{}{24}{\relax }{section*.39}{}}
|
||||
\HyPL@Entry{24<</P(25)>>}
|
||||
\HyPL@Entry{25<</P(26)>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{The Settings Tab}{26}{section*.40}}
|
||||
\newlabel{id10}{{}{26}{\relax }{section*.40}{}}
|
||||
\newlabel{the-settings-tab}{{}{26}{\relax }{section*.40}{}}
|
||||
\HyPL@Entry{26<</P(27)>>}
|
||||
\@writefile{toc}{\contentsline {section}{A complete Example: AM2901}{27}{section*.41}}
|
||||
\newlabel{a-complete-example-am2901}{{}{27}{\relax }{section*.41}{}}
|
||||
\ttl@finishall
|
|
@ -4,6 +4,7 @@
|
|||
.. role:: ul
|
||||
.. role:: cb
|
||||
.. role:: sc
|
||||
.. role:: fboxtt
|
||||
|
||||
.. Acronyms & names.
|
||||
.. |GNU| replace:: :sc:`gnu`
|
||||
|
@ -43,11 +44,13 @@
|
|||
.. |hMetis| replace:: :sc:`hMetis`
|
||||
.. |Mauka| replace:: :sc:`Mauka`
|
||||
.. |Knik| replace:: :sc:`Knik`
|
||||
.. |Katabatic| replace:: :sc:`Katabatic`
|
||||
.. |Kite| replace:: :sc:`Kite`
|
||||
.. |Stratus| replace:: :sc:`Stratus`
|
||||
.. |Stratus1| replace:: :sc:`Stratus1`
|
||||
.. |Stratus2| replace:: :sc:`Stratus2`
|
||||
.. |Unicorn| replace:: :sc:`Unicorn`
|
||||
.. |ccb| replace:: :cb:`ccb`
|
||||
.. |cgt| replace:: :cb:`cgt`
|
||||
.. |Chams| replace:: :sc:`Chams`
|
||||
.. |OpenChams| replace:: :sc:`OpenChams`
|
||||
|
@ -63,12 +66,18 @@
|
|||
.. |RedHat| replace:: :sc:`RedHat`
|
||||
.. |Fedora| replace:: :sc:`Fedora`
|
||||
.. |FC13| replace:: :sc:`fc13`
|
||||
.. |Debian| replace:: :sc:`Debian`
|
||||
.. |Ubuntu| replace:: :sc:`Ubuntu`
|
||||
.. |Qt| replace:: :sc:`qt`
|
||||
.. |tty| replace:: :cb:`tty`
|
||||
.. |svn| replace:: :cb:`svn`
|
||||
.. |git| replace:: :cb:`git`
|
||||
.. |rpm| replace:: :cb:`rpm`
|
||||
|
||||
.. URLs
|
||||
.. _FGR: http://vlsicad.eecs.umich.edu/BK/FGR/
|
||||
.. _Box Router: http://www.cerc.utexas.edu/~thyeros/boxrouter/boxrouter.htm
|
||||
.. _hMETIS: http://glaros.dtc.umn.edu/gkhome/views/metis
|
||||
.. _Knik Thesis: http://www-soc.lip6.fr/en/users/damiendupuis/PhD/
|
||||
|
||||
.. _coriolis2-1.0.2049-1.slsoc6.i686.rpm: http://asim.lip6.fr/pub/coriolis/2.0/coriolis2-1.0.2049-1.slsoc6.i686.rpm
|
||||
|
@ -110,10 +119,20 @@
|
|||
.. |dot_conf| replace:: :cb:`.conf`
|
||||
|
||||
|
||||
|medskip|
|
||||
|
||||
=====================
|
||||
Coriolis User's Guide
|
||||
=====================
|
||||
|
||||
|medskip|
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<div id="centered">
|
||||
The pdf version of this document is available here:<br>
|
||||
<a href="https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/en/latex/users-guide/UsersGuide.pdf">Coriolis User's Guide</a>
|
||||
</div>
|
||||
|
||||
.. contents::
|
||||
|
||||
|
@ -159,9 +178,9 @@ Credits & License
|
|||
|
||||
|medskip|
|
||||
|
||||
The |Hurricane| data-base is copyright© |Bull| 2000-2012 and is
|
||||
The |Hurricane| data-base is copyright© |Bull| 2000-2014 and is
|
||||
released under the terms of the |LGPL| license. All other tools are
|
||||
copyright© |UPMC| 2008-2012 and released under the |GPL|
|
||||
copyright© |UPMC| 2008-2014 and released under the |GPL|
|
||||
license.
|
||||
|
||||
The |Knik| router makes use of the |Flute| software, which is
|
||||
|
@ -235,33 +254,148 @@ Release `2049` is Alpha.
|
|||
#. The |cgt| main has been rewritten in Python.
|
||||
|
||||
|
||||
Release **v2.0.0**
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Migrated the repository from |svn| to |git|, and release complete sources.
|
||||
As a consequence, we drop the distribution packaging support and give
|
||||
public read-only access to the repository.
|
||||
#. Deep rewrite of the |Katabatic| database and |Kite| detailed router,
|
||||
achieve a speedup factor greater than 20...
|
||||
|
||||
|
||||
|newpage|
|
||||
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
Binary packages avalaible:
|
||||
.. note::
|
||||
As the sources are being released, the binary packaging is dropped.
|
||||
You still may find older version here: http://asim.lip6.fr/pub/coriolis/2.0 .
|
||||
|
||||
+-----------------------+----------------------------------------------+
|
||||
| Distribution | Package |
|
||||
+=======================+==============================================+
|
||||
| |Scientific Linux| 6 | | coriolis2-1.0.2049-1.slsoc6.i686.rpm_ |
|
||||
| | | coriolis2-1.0.2049-1.slsoc6.x86_64.rpm_ |
|
||||
+-----------------------+----------------------------------------------+
|
||||
| |Fedora| 16 | | coriolis2-1.0.2049-1.fc16.i686.rpm_ |
|
||||
| | | coriolis2-1.0.2049-1.fc16.x86_64.rpm_ |
|
||||
+-----------------------+----------------------------------------------+
|
||||
| |Ubuntu| 10.04 LTS | | `coriolis2_1.0-2049-1_.i386.rpm (10.04)`_ |
|
||||
| | | `coriolis2_1.0-2049-1_.amd64.rpm (10.04)`_ |
|
||||
+-----------------------+----------------------------------------------+
|
||||
| |Ubuntu| 12.04 LTS | | `coriolis2_1.0-2049-1_.i386.rpm (12.04)`_ |
|
||||
| | | `coriolis2_1.0-2049-1_.amd64.rpm (12.04)`_ |
|
||||
+-----------------------+----------------------------------------------+
|
||||
In a nutshell, building source consist in pulling the |git| repository then
|
||||
running the |ccb| installer.
|
||||
|
||||
Older version can be found here: http://asim.lip6.fr/pub/coriolis/2.0 .
|
||||
Main building prerequisites:
|
||||
|
||||
If you are installing from source, you should go to section `Installation From Sources`_.
|
||||
* cmake
|
||||
* g++
|
||||
* boost
|
||||
* libxml2
|
||||
* yacc & lex.
|
||||
* Qt 4
|
||||
* LEF/DEF (optional).
|
||||
* hMetis (optional).
|
||||
* doxygen.
|
||||
* latex
|
||||
* latex2html.
|
||||
* python-docutils (for reStructuredText).
|
||||
|
||||
|
||||
Fixed Directory Tree
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
In order to simplificate the work of the |ccb| installer, the source, build
|
||||
and installation tree is fixed. To successfully compile |Coriolis| you must
|
||||
follow it exactly. The tree is relative to the home directory of the user
|
||||
building it (noted :fboxtt:`~/` or :fboxtt:`$HOME/`). Only the source
|
||||
directory needs to be manually created by the user, all others will be
|
||||
automatically created either by |ccb| or the build system.
|
||||
|
||||
+--------------------------+-----------------------------------------------------------------------------+
|
||||
| **Sources** |
|
||||
+--------------------------+-----------------------------------------------------------------------------+
|
||||
| | Sources root | | ~/coriolis-2.x/src |
|
||||
| | **under git** | | ~/coriolis-2.x/src/coriolis |
|
||||
+--------------------------+-----------------------------------------------------------------------------+
|
||||
| **Architecture Dependant Build** |
|
||||
+--------------------------+-----------------------------------------------------------------------------+
|
||||
| | Linux, SL 6, 32 bits | | ~/coriolis-2.x/Linux.slsoc6x/Release.Shared/build/<tool> |
|
||||
| | Linux, SL 6, 64 bits | | ~/coriolis-2.x/Linux.slsoc6x_64/Release.Shared/build/<tool> |
|
||||
| | FreeBSD 8, 32 bits | | ~/coriolis-2.x/FreeBSD.8x.i386/Release.Shared/build/<tool> |
|
||||
| | FreeBSD 8, 64 bits | | ~/coriolis-2.x/FreeBSD.8x.amd64/Release.Shared/build/<tool> |
|
||||
+--------------------------+-----------------------------------------------------------------------------+
|
||||
| **Architecture Dependant Install** |
|
||||
+--------------------------+-----------------------------------------------------------------------------+
|
||||
| Linux, SL 6, 32 bits | ~/coriolis-2.x/Linux.slsoc6x/Release.Shared/install/ |
|
||||
+--------------------------+-----------------------------------------------------------------------------+
|
||||
| **FHS Compliant Structure under Install** |
|
||||
+--------------------------+-----------------------------------------------------------------------------+
|
||||
| | Binaries | | .../install/bin |
|
||||
| | Libraries (Python) | | .../install/lib |
|
||||
| | Include by tool | | .../install/include/coriolis2/<project>/<tool> |
|
||||
| | Configuration files | | .../install/etc/coriolis2/ |
|
||||
| | Doc, by tool | | .../install/share/doc/coriolis2/en/html/<tool> |
|
||||
+--------------------------+-----------------------------------------------------------------------------+
|
||||
|
||||
.. note:: *Alternate build types:* the ``Release.Shared`` means an optimized build
|
||||
with shared libraries. But there are also available ``Static`` instead of ``Shared``
|
||||
and ``Debug`` instead of ``Release`` and any combination of them.
|
||||
|
||||
``Static`` do not work because I don't know yet to mix statically linked binaries
|
||||
and Python modules (which must be dynamic).
|
||||
|
||||
|
||||
Building Coriolis
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
The first step is to create the source directory and pull the |git| repository: ::
|
||||
|
||||
dummy@lepka:~$ mkdir -p ~/coriolis-2.x/src
|
||||
dummy@lepka:~$ cd ~/coriolis-2.x/src
|
||||
dummy@lepka:~$ git clone https://www-soc.lip6.fr/git/coriolis.git
|
||||
dummy@lepka:~$ cd coriolis
|
||||
|
||||
Second and final step, build & install: ::
|
||||
|
||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=coriolis --make="-j4 install"
|
||||
dummy@lepka:src$ ./bootstrap/ccb.py --project=coriolis --doc --make="-j1 install"
|
||||
|
||||
We need two steps because the documentation do not support to be generated with
|
||||
a parallel build. So we compile & install in a first step in ``-j4`` (or whatever)
|
||||
then we generate the documentation in ``-j1``
|
||||
|
||||
The complete list of |ccb| functionalities can be accessed with the ``--help`` argument.
|
||||
It also may be run in graphical mode (``--gui``).
|
||||
|
||||
|
||||
Packaging Coriolis
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Packager should not uses |ccb|, instead ``bootstrap/Makefile.package`` is provided
|
||||
to emulate a top-level ``autotool`` makefile. Just copy it in the root of the
|
||||
|Coriolis| git repository (``~/corriolis-2.x/src/coriolis/``) and build.
|
||||
|
||||
Sligthly outaded packaging configuration files can also be found under ``bootstrap/``:
|
||||
|
||||
* ``bootstrap/coriolis2.spec.in`` for |rpm| based distributions.
|
||||
* ``bootstrap/debian`` for |Debian| based distributions.
|
||||
|
||||
|
||||
Hooking up into |Alliance|
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|Coriolis| relies on |Alliance| for the cell libraries. So after installing or
|
||||
packaging, you must configure it so that it can found those libraries.
|
||||
|
||||
This is done by editing the one variable :cb:`cellsTop` in the |Alliance| helper
|
||||
(see `Alliance Helper`_). This variable must point to the directory of the
|
||||
cells libraries. In a typical installation, this is generally
|
||||
:cb:`/usr/share/alliance/cells`.
|
||||
|
||||
|
||||
Environment Helper
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To simplify the tedious task of configuring your environment, a helper is provided
|
||||
in the ``bootstrap`` source directory: ::
|
||||
|
||||
~/coriolis-2.x/src/bootstrap/coriolisEnv.py
|
||||
|
||||
Use it like this: ::
|
||||
|
||||
dummy@lepka:~> eval `~/coriolis-2.x/src/bootstrap/coriolisEnv.py`
|
||||
|
||||
|
||||
|newpage|
|
||||
|
@ -271,7 +405,25 @@ Documentation
|
|||
=============
|
||||
|
||||
The general index of the documentation for the various parts of Coriolis
|
||||
are avalaibles here file:///usr/share/doc/coriolis2/index.html .
|
||||
are avalaibles here `Coriolis Tools Documentation`_.
|
||||
|
||||
.. note:: **Python Documentation:**
|
||||
Most of the documentation is related to the C++ API and implemetation of
|
||||
the tools. However, the |Python| bindings have been created so they
|
||||
mimic *as closely as possible* the C++ interface, so the documentation
|
||||
applies to both languages with only minor syntactic changes.
|
||||
|
||||
**General Software Architecture**
|
||||
|
||||
|Coriolis| has been build with respect of the classical paradigm that the
|
||||
computational instensive parts have been written in C++, and almost
|
||||
everything else in |Python|. To build the |Python| interface we used
|
||||
two methods:
|
||||
|
||||
* For self-contained modules :cb:`boost::python` (mainly in :cb:`vlsisapd`).
|
||||
* For all modules based on |Hurricane|, we created our own wrappers due
|
||||
to very specific requirements such as shared functions between modules
|
||||
or C++/|Python| secure bi-directional object deletion.
|
||||
|
||||
|
||||
Coriolis Configuration & Initialisation
|
||||
|
@ -290,7 +442,7 @@ file(s):
|
|||
+-------+----------------------------------+----------------------------------------------+
|
||||
| Order | Meaning | File |
|
||||
+=======+==================================+==============================================+
|
||||
| **1** | The system initialization | :cb:`/etc/coriolis2/coriolisInit.py` |
|
||||
| **1** | The system initialization | :cb:`/etc/coriolis2/<TOOL>.conf` |
|
||||
+-------+----------------------------------+----------------------------------------------+
|
||||
| **2** | The user's global initialization | :cb:`${HOME}/.coriolis2.conf` |
|
||||
+-------+----------------------------------+----------------------------------------------+
|
||||
|
@ -298,7 +450,7 @@ file(s):
|
|||
+-------+----------------------------------+----------------------------------------------+
|
||||
|
||||
.. note:: *The loading policy is not hard-coded.* It is implemented
|
||||
at Python level in :cb:`coriolisInit.py`, and thus may be easyly be
|
||||
at Python level in :cb:`/etc/coriolis2/coriolisInit.py`, and thus may be easyly be
|
||||
amended to whatever site policy.
|
||||
|
||||
The truly mandatory requirement is the existence of :cb:`coriolisInit.py`
|
||||
|
@ -310,8 +462,14 @@ Configuration Helpers
|
|||
|
||||
To ease the writing of configuration files, a set of small helpers
|
||||
is available. They allow to setup the configuration parameters through
|
||||
simple assembly of tuples.
|
||||
simple assembly of tuples. The helpers are installed under the directory: ::
|
||||
|
||||
<install>/etc/coriolis2/
|
||||
|
||||
Where :cb:`<install>/` is the root of the installation.
|
||||
|
||||
|
||||
.. _Alliance Helper:
|
||||
|
||||
|Alliance| Helper
|
||||
-----------------
|
||||
|
@ -319,7 +477,7 @@ simple assembly of tuples.
|
|||
The configuration file must provide a :cb:`allianceConfig` tuple of
|
||||
the form: ::
|
||||
|
||||
cellsTop = '/soc/alliance/cells/'
|
||||
cellsTop = '/usr/share/alliance/cells/'
|
||||
|
||||
allianceConfig = \
|
||||
( ( 'SYMBOLIC_TECHNOLOGY', helpers.sysConfDir+'/technology.symbolic.xml' )
|
||||
|
@ -459,7 +617,7 @@ Taxonomy of the file:
|
|||
* ``parametersTable``, defines & initialise the configuration variables.
|
||||
|
||||
* ``layoutTables``, defines how the various parameters will be displayed
|
||||
in the configuration window
|
||||
in the configuration window (`The Settings Tab`_).
|
||||
|
||||
* The ``parametersTable``, is a tuple (list) of tuples. Each entry in the list
|
||||
describe a configuration parameter. In it's simplest form, it's a quadruplet
|
||||
|
@ -518,6 +676,14 @@ Features are detailed in `Viewer & Tools`_.
|
|||
Viewer & Tools
|
||||
==============
|
||||
|
||||
|Stratus| Netlist Capture
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|Stratus| is the replacement for |GenLib| procedural netlist capture language.
|
||||
It is designed as a set of |Python| classes, and comes with it's own documentation
|
||||
(`Stratus Documentation`_)
|
||||
|
||||
|
||||
The |Hurricane| Data-Base
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -551,30 +717,39 @@ As for the first release, |Coriolis| can be used only for two purposes :
|
|||
Mauka -- Placer
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
Mauka makes uses of hMetis.
|
||||
|Mauka| was originally designed to be a recursive quadri-partionner. Unfortunatly
|
||||
it is was based on the hMETIS_ library (*not* :sc:`METIS`) which is no longer
|
||||
maintained (only an old binary 32 bits version is available).
|
||||
|
||||
To be completed...
|
||||
So now it is only working in simulated annealing, with performances identical to
|
||||
the |Alliance| placer :cb:`ocp`. In other words, it is slow...
|
||||
|
||||
.. note:: *Instance Duplication Problem:* a same logical instance cannot have
|
||||
two different placements. So, either you manually make a clone of it or you
|
||||
supply a placement for it. This is currently a drawback of our *folded hierarchy*
|
||||
approach.
|
||||
|
||||
**Reseting the Placement**
|
||||
|
||||
Once a placement has been done, the placer cannot reset it (will be implemented
|
||||
later). To perform a new placement, you must restart |cgt|. In addition, if you
|
||||
have saved the placement on disk, you must erase any :cb:`.ap` file, which are
|
||||
automatically reloaded along with the netlist (:cb:`.vst`).
|
||||
|
||||
|
||||
Knik -- Global Router
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The quality of |Knik| global routing solutions are equivalent to those of FGR_ 1.0.
|
||||
For an in-depth description of |Knik| algorithms, you may download the thesis of
|
||||
D. |Dupuis| avalaible from here~: `Knik Thesis`_.
|
||||
|
||||
The global router is (not yet) deterministic. To circumvent this limitation,
|
||||
a global routing (also called a *solution*) can be saved to disk and reloaded
|
||||
for later uses.
|
||||
a global routing *solution* can be saved to disk and reloaded for later uses.
|
||||
|
||||
A global routing is saved into a file with the same name as the design and a
|
||||
|kgr| extention. It is in `Box Router`_ output format.
|
||||
|
||||
For an in-depth description of |Knik| algorithms, you may download the thesis of
|
||||
D. |Dupuis| avalaible from here~: `Knik Thesis`_.
|
||||
|medskip|
|
||||
|
||||
|noindent| Menus:
|
||||
|
||||
* |menu_P&R| |rightarrow| |menu_StepByStep| |rightarrow| |menu_KiteSaveGlobalRouting|.
|
||||
|
@ -589,19 +764,29 @@ as its runtime and memory footprint is almost linear (with respect to the number
|
|||
of gates). It has successfully routed design of more than `150K` gates.
|
||||
|medskip|
|
||||
|
||||
|noindent| However, this first release has the following restrictions:
|
||||
|noindent| However, this first release comes with the temporary the following
|
||||
restrictions:
|
||||
|
||||
* Works only with |SxLib| standard cell gauge.
|
||||
* Works always with 4 routing metal layers (`M2` through `M5`).
|
||||
* Do not allow (take into account) pre-routed wires on signals
|
||||
other than |POWER| or |GROUND|.
|
||||
|
||||
.. note::
|
||||
**Slow Layer Assignment.** Most of the time, the layer assignment stage is
|
||||
fast (less than a dozen seconds), but in some instances it can take more
|
||||
than a dozen *minutes*. This is a known bug and will be corrected in later
|
||||
releases.
|
||||
|
||||
After each run, |Kite| displays a set of *completion ratios* which must all
|
||||
be equal to `100%` if the detailed routing has been successfull.
|
||||
In the event of a failure, on saturated design, you may decrease the
|
||||
`edge saturation ration` (argument `--edge`) to balance more evenly the design
|
||||
In the event of a failure, on a saturated design, you may decrease the
|
||||
`edge saturation ratio` (argument `--edge`) to balance more evenly the design
|
||||
saturation. That is, the maximum saturation decrease at the price of a wider
|
||||
saturated area and increased wirelength.
|
||||
saturated area and increased wirelength. This is the saturation of the
|
||||
*global* router |Knik|, and you may increase/decrease by steps of ``5%``,
|
||||
which represent one track. The maximum capacity of the |SxLib| gauge is
|
||||
10 tracks in two layers, that makes 20 tracks by |Knik| edge.
|
||||
|
||||
|newpage|
|
||||
|
||||
|
@ -618,7 +803,88 @@ the |Kite| data-structure and finish/cleanup the wiring so that its
|
|||
connex in the sense of |Hurricane|. *Do not* try to save
|
||||
your design before that step, you would get gaps in it.
|
||||
|
||||
The complete description of |Kite| parameters are described in `Detailed Routing Configuration Parameters`_.
|
||||
You may visualize the density (saturation) of either |Knik| (on edges) or
|
||||
|Kite| (on GCells) until the routing is finalized. Special layers appears
|
||||
to that effect in the `The Layers&Go Tab`_.
|
||||
|
||||
|
||||
Kite Configuration Parameters
|
||||
-----------------------------
|
||||
|
||||
As |Knik| is only called through |Kite|, it's parameters also have
|
||||
the :cb:`kite.` prefix.
|
||||
|
||||
The |Katabatic| parameters control the layer assignment step.
|
||||
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| Parameter Identifier | Type | Default |
|
||||
+===================================+==================+============================+
|
||||
| **Katabatic Parameters** |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``katabatic.globalLengthThreshold``| TypeInt | :cb:`1450` |
|
||||
| +------------------+----------------------------+
|
||||
| | This parameter is used by a layer assignment |
|
||||
| | method which is no longer used (did not give |
|
||||
| | good results) |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| ``katabatic.saturateRatio`` | TypePercentage | :cb:`80` |
|
||||
| +------------------+----------------------------+
|
||||
| | If ``M(x)`` density is above this ratio, |
|
||||
| | move up feedthru global segments up from |
|
||||
| | depth ``x`` to ``x+2`` |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| ``katabatic.saturateRp`` | TypeInt | :cb:`8` |
|
||||
| +------------------+----------------------------+
|
||||
| | If a GCell contains more terminals |
|
||||
| | (:cb:`RoutingPad`) than that number, force a |
|
||||
| | move up of the connecting segments to those |
|
||||
| | in excess |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| **Knik Parameters** |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| ``kite.edgeCapacity`` | TypePercentage | :cb:`85` |
|
||||
| +------------------+----------------------------+
|
||||
| | Adjust the maximum capacity of the global |
|
||||
| | router's edges. The GCells would be too |
|
||||
| | saturated for the detailed router if the edge |
|
||||
| | capacity is left to 100%. |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| **Kite Parameters** |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| ``kite.eventsLimit`` | TypeInt | :cb:`4000002` |
|
||||
| +------------------+----------------------------+
|
||||
| | The maximum number of segment displacements, |
|
||||
| | this is a last ditch safety against infinite |
|
||||
| | loop. It's perhaps a little too low for big |
|
||||
| | designs |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| ``kite.ripupCost`` | TypeInt | :cb:`3` |
|
||||
| +------------------+----------------------------+
|
||||
| | Differential introduced between two ripup |
|
||||
| | cost to avoid a loop between two ripped up |
|
||||
| | segments |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| ``kite.strapRipupLimit`` | TypeInt | :cb:`16` |
|
||||
| +------------------+----------------------------+
|
||||
| | Maximum number of ripup for *strap* segments |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| ``kite.localRipupLimit`` | TypeInt | :cb:`9` |
|
||||
| +------------------+----------------------------+
|
||||
| | Maximum number of ripup for *local* segments |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| ``kite.globalRipupLimit`` | TypeInt | :cb:`5` |
|
||||
| +------------------+----------------------------+
|
||||
| | Maximum number of ripup for *global* segments,|
|
||||
| | when this limit is reached, triggers topologic|
|
||||
| | modification |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| ``kite.longGlobalRipupLimit`` | TypeInt | :cb:`5` |
|
||||
| +------------------+----------------------------+
|
||||
| | Maximum number of ripup for *long global* |
|
||||
| | segments, when this limit is reached, triggers|
|
||||
| | topological modification |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|
||||
|
||||
|
||||
.. _Python Scripts in Cgt:
|
||||
|
@ -628,7 +894,7 @@ Executing Python Scripts in Cgt
|
|||
|
||||
Python/Stratus scripts can be executed either in text or graphical mode.
|
||||
|
||||
.. note:: *How Cgt Locates Python Scripts.*
|
||||
.. note:: **How Cgt Locates Python Scripts:**
|
||||
|cgt| uses the Python ``import`` mechanism to load Python scripts.
|
||||
So you must give the name of your script whitout ``.py`` extention and
|
||||
it must be reachable through the ``PYTHONPATH``. You may uses the
|
||||
|
@ -638,6 +904,9 @@ A Python/Stratus script must contains a function called ``StratusScript``
|
|||
with one optional argument, the graphical editor into which it may be
|
||||
running (will be set to ``None`` in text mode).
|
||||
|
||||
Asides for this requirement, the python script can contains anything valid
|
||||
in |Python|, so don't hesitate to use any package or extention.
|
||||
|
||||
Any script given on the command line will be run immediatly *after* the
|
||||
initializations and *before* any other argument is processed.
|
||||
|
||||
|
@ -844,6 +1113,52 @@ Some Examples :
|
|||
> cgt -v -t -G --save-global --cell=design
|
||||
|
||||
|
||||
Miscellaneous Settings
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
| Parameter Identifier | Type | Default |
|
||||
+=======================================+==================+============================+
|
||||
| **Verbosity/Log Parameters** |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
| ``misc.info`` | TypeBool | :cb:`False` |
|
||||
| +------------------+----------------------------+
|
||||
| | Enable display of *info* level message |
|
||||
| | (:cb:`cinfo` stream) |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
| ``misc.bug`` | TypeBool | :cb:`False` |
|
||||
| +------------------+----------------------------+
|
||||
| | Enable display of *bug* level message |
|
||||
| | (:cb:`cbug` stream), messages can be a little |
|
||||
| | scarry |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
| ``misc.logMode`` | TypeBool | :cb:`False` |
|
||||
| +------------------+----------------------------+
|
||||
| | If enabled, assume that the output device |
|
||||
| | is not a ``tty`` and suppress any escaped |
|
||||
| | sequences |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
| ``misc.verboseLevel1`` | TypeBool | :cb:`True` |
|
||||
| +------------------+----------------------------+
|
||||
| | First level of verbosity, disable level 2 |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
| ``misc.verboseLevel2`` | TypeBool | :cb:`False` |
|
||||
| +------------------+----------------------------+
|
||||
| | Second level of verbosity |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
| **Development/Debug Parameters** |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
| ``misc.traceLevel`` | TypeInt | :cb:`0` |
|
||||
| +------------------+----------------------------+
|
||||
| | Display trace information *below* that level |
|
||||
| | (:cb:`ltrace` stream) |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
| ``misc.catchCore`` | TypeBool | :cb:`False` |
|
||||
| +------------------+----------------------------+
|
||||
| | By default, |cgt| do not dump core. |
|
||||
| | To generate one set this flag to :cb:`True` |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
|
||||
.. _The Controller:
|
||||
|
||||
The Controller
|
||||
|
@ -1002,106 +1317,11 @@ Here comes the description of the *Settings* tab.
|
|||
|ControllerSettings_1|
|
||||
|
||||
|
||||
Tools Fine Tuning
|
||||
=================
|
||||
A Simple Example: AM2901
|
||||
========================
|
||||
|
||||
To illustrate the capabilities of |Coriolis| tools and |Python| scripting, a small
|
||||
example, derived from the |Alliance| :cb:`AM2901` is supplied.
|
||||
|
||||
.. _`Detailed Routing Configuration Parameters`:
|
||||
|
||||
Detailed Routing Configuration Parameters
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
+---------------------------------------+------------------+-----------+
|
||||
| Parameter Identifier | Type | Default |
|
||||
+=======================================+==================+===========+
|
||||
| **Katabatic Parameters** |
|
||||
+---------------------------------------+------------------+-----------+
|
||||
| | ``katabatic.globalLengthThreshold`` | | TypeInt | | 1450 |
|
||||
| | ``katabatic.saturateRatio`` | | TypePercentage | | 80 |
|
||||
| | ``katabatic.saturateRp`` | | TypeInt | | 8 |
|
||||
| | ``kite.borderRipupLimit`` | | TypeInt | | 26 |
|
||||
+---------------------------------------+------------------+-----------+
|
||||
| **Kite Parameters** |
|
||||
+---------------------------------------+------------------+-----------+
|
||||
| | ``kite.edgeCapacity`` | | TypePercentage | | 65 |
|
||||
| | ``kite.eventsLimit`` | | TypeInt | | 4000002 |
|
||||
| | ``kite.ripupCost`` | | TypeInt | | 3 |
|
||||
| | ``kite.globalRipupLimit`` | | TypeInt | | 5 |
|
||||
| | ``kite.localRipupLimit`` | | TypeInt | | 7 |
|
||||
| | ``kite.longGlobalRipupLimit`` | | TypeInt | | 5 |
|
||||
| | ``kite.strapRipupLimit`` | | TypeInt | | 16 |
|
||||
| | ``kite.metal1MinBreak`` | | TypeDouble | | 100 |
|
||||
| | ``kite.metal2MinBreak`` | | TypeDouble | | 100 |
|
||||
| | ``kite.metal3MinBreak`` | | TypeDouble | | 100 |
|
||||
| | ``kite.metal4MinBreak`` | | TypeDouble | | 1450 |
|
||||
| | ``kite.metal5MinBreak`` | | TypeDouble | | 1450 |
|
||||
| | ``kite.metal6MinBreak`` | | TypeDouble | | 1450 |
|
||||
| | ``kite.metal7MinBreak`` | | TypeDouble | | 1450 |
|
||||
+---------------------------------------+------------------+-----------+
|
||||
|
||||
|
||||
.. _Installation from Sources:
|
||||
|
||||
Installation from Sources
|
||||
=========================
|
||||
|
||||
Installation from source is done differently than what is done in the packaging
|
||||
procedure. The archive is also structured differently and meant to be unpacked
|
||||
and compiled under a user's home directory.
|
||||
|
||||
Main building prerequisites:
|
||||
|
||||
* cmake
|
||||
* g++
|
||||
* boost
|
||||
* libxml2
|
||||
* yacc & lex.
|
||||
* Qt 4
|
||||
* LEF/DEF (optional).
|
||||
* hMetis (optional).
|
||||
* doxygen.
|
||||
* latex
|
||||
* latex2html.
|
||||
* python-docutils (for reStructuredText).
|
||||
|
||||
Simple building procedure: ::
|
||||
|
||||
dummy@lepka:~$ tar jxvf coriolis2-1.0-20121103.tar.bz2
|
||||
dummy@lepka:~$ cd coriolis-2.x/src
|
||||
dummy@lepka:src$ ./bootstrap/buildCoriolis.py \
|
||||
--project=bootstrap --project=vlsisapd --project=coriolis \
|
||||
--make="-j4 install"
|
||||
dummy@lepka:src$ ./bootstrap/buildCoriolis.py \
|
||||
--project=bootstrap --project=vlsisapd --project=coriolis \
|
||||
--doc --make="-j1 install"
|
||||
|
||||
Installation is done according to the following tree structure:
|
||||
|
||||
========================= =========================================================================
|
||||
Linux, SL 6, 32 bits ~/coriolis-2.x/Linux.slsoc6x/Release.Shared/install
|
||||
Linux, SL 6, 64 bits ~/coriolis-2.x/Linux.slsoc6x_64/Release.Shared/install
|
||||
FreeBSD 8, 32 bits ~/coriolis-2.x/FreeBSD.8x.i386/Release.Shared/install
|
||||
FreeBSD 8, 64 bits ~/coriolis-2.x/FreeBSD.8x.amd64/Release.Shared/install
|
||||
========================= =========================================================================
|
||||
|
||||
.. note:: *Alternate build types:* the ``Release.Shared`` means an optimized build
|
||||
with shared libraries. But there are also available ``Static`` instead of ``Shared``
|
||||
and ``Debug`` instead of ``Release`` and any combination of them.
|
||||
|
||||
``Static`` do not work because I don't know yet to mix statically linked binaries
|
||||
and Python modules (which must be dynamic).
|
||||
|
||||
|
||||
Environment Helper
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To simplify the tedious task of configuring your environment, a helper is provided
|
||||
in the ``bootstrap`` source directory: ::
|
||||
|
||||
~/coriolis-2.x/src/bootstrap/coriolisEnv.py
|
||||
|
||||
Use it like this: ::
|
||||
|
||||
dummy@lepka:~> eval `~/coriolis-2.x/src/bootstrap/coriolisEnv.py`
|
||||
|
||||
This example contains only the synthetized netlists and the :cb:`design.py` script
|
||||
which perform the whole P&R of the design. Just lanch |cgt| then execute :cb:`design.py`.
|
|
@ -6,6 +6,11 @@
|
|||
.. stored at a different URL on the website. Namely:
|
||||
.. https://soc-extras.lip6.fr/media/filer/2012/12/07/
|
||||
|
||||
.. URLs that changes between the various backends.
|
||||
.. _Coriolis Tools Documentation: https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/
|
||||
.. _Stratus Documentation: https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/en/html/stratus/index.html
|
||||
.. _Here: https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/en/latex/users-guide/UsersGuide.pdf
|
||||
|
||||
.. role:: raw-html(raw)
|
||||
:format: html
|
||||
|
||||
|
@ -61,4 +66,3 @@
|
|||
.. |noindent| replace:: :raw-html:`<p class="empty"></p>`
|
||||
.. |medskip| replace:: :raw-html:`<br>`
|
||||
.. |newpage| replace:: :raw-html:`<hr>`
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |