From f1fe4248a240625e3205ff1a253b2395225bebe9 Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Mon, 10 Jan 2011 15:23:48 +0000 Subject: [PATCH] * ./stratus: - Change: In doc, cleanup & update documentation, synch with SoC style, remove duplicated files. --- stratus1/CMakeLists.txt | 2 + stratus1/doc/ASIM.css | 164 --------- stratus1/doc/CMakeLists.txt | 1 + stratus1/doc/Makefile.am | 2 - stratus1/doc/Makefile.manual | 34 -- stratus1/doc/developper/.latex2html-init | 55 ++- stratus1/doc/developper/ASIM.css | 164 --------- stratus1/doc/developper/SoC.css | 312 +++++++++++++++++ stratus1/doc/developper/stratus/ASIM.css | 164 --------- stratus1/doc/developper/stratus/WARNINGS | 9 - stratus1/doc/developper/stratus/index.html | 130 ------- stratus1/doc/developper/stratus/internals.pl | 18 - stratus1/doc/developper/stratus/labels.pl | 25 -- stratus1/doc/developper/stratus/node1.html | 227 ------------ stratus1/doc/developper/stratus/node2.html | 239 ------------- stratus1/doc/developper/stratus/node3.html | 193 ----------- stratus1/doc/developper/stratus/stratus.css | 33 -- stratus1/doc/developper/stratus/stratus.html | 130 ------- .../{stratus.tex => stratus_developper.tex} | 0 stratus1/doc/dpgen/.latex2html-init | 53 ++- stratus1/doc/dpgen/SoC.css | 328 +++++++++++++----- stratus1/doc/html.entry | 1 - stratus1/doc/man_alias.tex | 62 ---- stratus1/doc/man_alim_connectors.tex | 23 -- stratus1/doc/man_alim_rail.tex | 52 --- stratus1/doc/man_arithmetic.tex | 73 ---- stratus1/doc/man_boolean.tex | 65 ---- stratus1/doc/man_buff.tex | 44 --- stratus1/doc/man_cat.tex | 47 --- stratus1/doc/man_comp.tex | 67 ---- stratus1/doc/man_const.tex | 81 ----- stratus1/doc/man_def_ab.tex | 49 --- stratus1/doc/man_dpgenadsb2f.tex | 58 ---- stratus1/doc/man_dpgenand2.tex | 48 --- stratus1/doc/man_dpgenand3.tex | 51 --- stratus1/doc/man_dpgenand4.tex | 54 --- stratus1/doc/man_dpgenbuff.tex | 45 --- stratus1/doc/man_dpgenbuse.tex | 49 --- stratus1/doc/man_dpgenconst.tex | 38 -- stratus1/doc/man_dpgendff.tex | 50 --- stratus1/doc/man_dpgendfft.tex | 58 ---- stratus1/doc/man_dpgenfifo.tex | 79 ----- stratus1/doc/man_dpgeninv.tex | 45 --- stratus1/doc/man_dpgenmux2.tex | 54 --- stratus1/doc/man_dpgennand2.tex | 48 --- stratus1/doc/man_dpgennand2mask.tex | 55 --- stratus1/doc/man_dpgennand3.tex | 51 --- stratus1/doc/man_dpgennand4.tex | 54 --- stratus1/doc/man_dpgennbuse.tex | 46 --- stratus1/doc/man_dpgennmux2.tex | 55 --- stratus1/doc/man_dpgennor2.tex | 48 --- stratus1/doc/man_dpgennor2mask.tex | 55 --- stratus1/doc/man_dpgennor3.tex | 51 --- stratus1/doc/man_dpgennor4.tex | 54 --- stratus1/doc/man_dpgennul.tex | 41 --- stratus1/doc/man_dpgenor2.tex | 48 --- stratus1/doc/man_dpgenor3.tex | 51 --- stratus1/doc/man_dpgenor4.tex | 54 --- stratus1/doc/man_dpgenram.tex | 56 --- stratus1/doc/man_dpgenrf1.tex | 70 ---- stratus1/doc/man_dpgenrf1d.tex | 81 ----- stratus1/doc/man_dpgenrom2.tex | 48 --- stratus1/doc/man_dpgenrom4.tex | 56 --- stratus1/doc/man_dpgensff.tex | 50 --- stratus1/doc/man_dpgensfft.tex | 58 ---- stratus1/doc/man_dpgenshift.tex | 54 --- stratus1/doc/man_dpgenshrot.tex | 55 --- stratus1/doc/man_dpgenxnor2.tex | 48 --- stratus1/doc/man_dpgenxnor2mask.tex | 55 --- stratus1/doc/man_dpgenxor2.tex | 48 --- stratus1/doc/man_example.tex | 63 ---- stratus1/doc/man_extend.tex | 52 --- stratus1/doc/man_fill_cell.tex | 44 --- stratus1/doc/man_generators.tex | 82 ----- stratus1/doc/man_inst.tex | 56 --- stratus1/doc/man_library.tex | 68 ---- stratus1/doc/man_model.tex | 47 --- stratus1/doc/man_mux.tex | 131 ------- stratus1/doc/man_net.tex | 57 --- stratus1/doc/man_pads.tex | 51 --- stratus1/doc/man_param.tex | 50 --- stratus1/doc/man_place.tex | 60 ---- stratus1/doc/man_place_bottom.tex | 63 ---- stratus1/doc/man_place_centric.tex | 46 --- stratus1/doc/man_place_glu.tex | 37 -- stratus1/doc/man_place_left.tex | 63 ---- stratus1/doc/man_place_right.tex | 63 ---- stratus1/doc/man_place_top.tex | 63 ---- stratus1/doc/man_power_ring.tex | 45 --- stratus1/doc/man_reg.tex | 51 --- stratus1/doc/man_resize_ab.tex | 49 --- stratus1/doc/man_route_ck.tex | 45 --- stratus1/doc/man_set_ref_ins.tex | 53 --- stratus1/doc/man_shift.tex | 82 ----- stratus1/doc/man_stratus.tex | 119 ------- stratus1/doc/patterns/.latex2html-init | 55 ++- stratus1/doc/patterns/SoC.css | 328 +++++++++++++----- stratus1/doc/see_also.tex | 3 - stratus1/doc/stratus.tex | 289 --------------- stratus1/doc/stratus/.latex2html-init | 55 ++- stratus1/doc/stratus/SoC.css | 328 +++++++++++++----- stratus1/doc/stratus/stratus.tex | 74 ++-- 102 files changed, 1175 insertions(+), 6363 deletions(-) delete mode 100644 stratus1/doc/ASIM.css delete mode 100644 stratus1/doc/Makefile.am delete mode 100644 stratus1/doc/Makefile.manual delete mode 100644 stratus1/doc/developper/ASIM.css create mode 100644 stratus1/doc/developper/SoC.css delete mode 100644 stratus1/doc/developper/stratus/ASIM.css delete mode 100644 stratus1/doc/developper/stratus/WARNINGS delete mode 100644 stratus1/doc/developper/stratus/index.html delete mode 100644 stratus1/doc/developper/stratus/internals.pl delete mode 100644 stratus1/doc/developper/stratus/labels.pl delete mode 100644 stratus1/doc/developper/stratus/node1.html delete mode 100644 stratus1/doc/developper/stratus/node2.html delete mode 100644 stratus1/doc/developper/stratus/node3.html delete mode 100644 stratus1/doc/developper/stratus/stratus.css delete mode 100644 stratus1/doc/developper/stratus/stratus.html rename stratus1/doc/developper/{stratus.tex => stratus_developper.tex} (100%) delete mode 100644 stratus1/doc/html.entry delete mode 100644 stratus1/doc/man_alias.tex delete mode 100644 stratus1/doc/man_alim_connectors.tex delete mode 100644 stratus1/doc/man_alim_rail.tex delete mode 100644 stratus1/doc/man_arithmetic.tex delete mode 100644 stratus1/doc/man_boolean.tex delete mode 100644 stratus1/doc/man_buff.tex delete mode 100644 stratus1/doc/man_cat.tex delete mode 100644 stratus1/doc/man_comp.tex delete mode 100644 stratus1/doc/man_const.tex delete mode 100644 stratus1/doc/man_def_ab.tex delete mode 100644 stratus1/doc/man_dpgenadsb2f.tex delete mode 100644 stratus1/doc/man_dpgenand2.tex delete mode 100644 stratus1/doc/man_dpgenand3.tex delete mode 100644 stratus1/doc/man_dpgenand4.tex delete mode 100644 stratus1/doc/man_dpgenbuff.tex delete mode 100644 stratus1/doc/man_dpgenbuse.tex delete mode 100644 stratus1/doc/man_dpgenconst.tex delete mode 100644 stratus1/doc/man_dpgendff.tex delete mode 100644 stratus1/doc/man_dpgendfft.tex delete mode 100644 stratus1/doc/man_dpgenfifo.tex delete mode 100644 stratus1/doc/man_dpgeninv.tex delete mode 100644 stratus1/doc/man_dpgenmux2.tex delete mode 100644 stratus1/doc/man_dpgennand2.tex delete mode 100644 stratus1/doc/man_dpgennand2mask.tex delete mode 100644 stratus1/doc/man_dpgennand3.tex delete mode 100644 stratus1/doc/man_dpgennand4.tex delete mode 100644 stratus1/doc/man_dpgennbuse.tex delete mode 100644 stratus1/doc/man_dpgennmux2.tex delete mode 100644 stratus1/doc/man_dpgennor2.tex delete mode 100644 stratus1/doc/man_dpgennor2mask.tex delete mode 100644 stratus1/doc/man_dpgennor3.tex delete mode 100644 stratus1/doc/man_dpgennor4.tex delete mode 100644 stratus1/doc/man_dpgennul.tex delete mode 100644 stratus1/doc/man_dpgenor2.tex delete mode 100644 stratus1/doc/man_dpgenor3.tex delete mode 100644 stratus1/doc/man_dpgenor4.tex delete mode 100644 stratus1/doc/man_dpgenram.tex delete mode 100644 stratus1/doc/man_dpgenrf1.tex delete mode 100644 stratus1/doc/man_dpgenrf1d.tex delete mode 100644 stratus1/doc/man_dpgenrom2.tex delete mode 100644 stratus1/doc/man_dpgenrom4.tex delete mode 100644 stratus1/doc/man_dpgensff.tex delete mode 100644 stratus1/doc/man_dpgensfft.tex delete mode 100644 stratus1/doc/man_dpgenshift.tex delete mode 100644 stratus1/doc/man_dpgenshrot.tex delete mode 100644 stratus1/doc/man_dpgenxnor2.tex delete mode 100644 stratus1/doc/man_dpgenxnor2mask.tex delete mode 100644 stratus1/doc/man_dpgenxor2.tex delete mode 100644 stratus1/doc/man_example.tex delete mode 100644 stratus1/doc/man_extend.tex delete mode 100644 stratus1/doc/man_fill_cell.tex delete mode 100644 stratus1/doc/man_generators.tex delete mode 100644 stratus1/doc/man_inst.tex delete mode 100644 stratus1/doc/man_library.tex delete mode 100644 stratus1/doc/man_model.tex delete mode 100644 stratus1/doc/man_mux.tex delete mode 100644 stratus1/doc/man_net.tex delete mode 100644 stratus1/doc/man_pads.tex delete mode 100644 stratus1/doc/man_param.tex delete mode 100644 stratus1/doc/man_place.tex delete mode 100644 stratus1/doc/man_place_bottom.tex delete mode 100644 stratus1/doc/man_place_centric.tex delete mode 100644 stratus1/doc/man_place_glu.tex delete mode 100644 stratus1/doc/man_place_left.tex delete mode 100644 stratus1/doc/man_place_right.tex delete mode 100644 stratus1/doc/man_place_top.tex delete mode 100644 stratus1/doc/man_power_ring.tex delete mode 100644 stratus1/doc/man_reg.tex delete mode 100644 stratus1/doc/man_resize_ab.tex delete mode 100644 stratus1/doc/man_route_ck.tex delete mode 100644 stratus1/doc/man_set_ref_ins.tex delete mode 100644 stratus1/doc/man_shift.tex delete mode 100644 stratus1/doc/man_stratus.tex delete mode 100644 stratus1/doc/see_also.tex delete mode 100644 stratus1/doc/stratus.tex diff --git a/stratus1/CMakeLists.txt b/stratus1/CMakeLists.txt index 5ae34d19..c0a34cb4 100644 --- a/stratus1/CMakeLists.txt +++ b/stratus1/CMakeLists.txt @@ -11,6 +11,8 @@ find_package(Bootstrap REQUIRED) set_cmake_policies() +# The flaw is in UseLATEX.cmake. + cmake_policy(SET CMP0002 OLD) set_lib_link_mode() setup_sysconfdir("$ENV{CORIOLIS_TOP}") diff --git a/stratus1/doc/ASIM.css b/stratus1/doc/ASIM.css deleted file mode 100644 index 180cadb3..00000000 --- a/stratus1/doc/ASIM.css +++ /dev/null @@ -1,164 +0,0 @@ - - html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 { - font-size: 100%; - font-family: 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; - margin-right: 10%; - margin-left: 10%; - } - - hr { - height: 1px; - border: 0; - color: #004400; - background-color: #004400; - } - - - h1, h2, h3, h4, h5, h6 { - font-family: verdana, sans-serif; - } - - h1 { text-align: center; } - h2, h3, h4, h5, h6 { text-align: left; - padding-top: 2em; - } - h1, h2, h3 { font-family: "Trebuchet MS", sans-serif; - color: #09550B; - } - h1 { font-weight: bold; font-size: 170%; } - h2 { font-weight: bold; font-size: 140%; } - h3 { font-weight: bold; font-size: 118%; } - h4 { font-weight: bold; font-size: 100%; } - h5 { font-style: italic; font-size: 100%; } - h6 { font-variant: small-caps; font-size: 100%; } - - .hide { - display: none; - color: white; - } - - - div.navigation { margin-bottom: 1em; } - div.navigation h1 { margin-top: 2em; clear: both; } - div.navigation table { margin-left: 2em; font-size: 90%; } - div.navigation img { color: white; border: none; } - - - p { - margin-top: 0.6em; - margin-bottom: 0.6em; - margin-left: 0.0em; - margin-right: 0.0em; - } - - p.copyright { font-size: 90%; } - p.copyright small { font-size: 80%; } - - p.changed { - padding-left: 0.2em; - border-left: solid; - border-top: none; - border-bottom: none; - border-right: none; - border-left-width: thin; - border-color: red; - } - - - address { - text-align: right; - font-weight: bold; - font-style: italic; - font-size: 80%; - } - - - 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; - /* - margin-left: 0em; - margin-right: 0em; - */ - margin-top: 0.8em; - margin-bottom: 0.8em; - } - - 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: solid; - border-width: thin; - border-color: #003300; - background-color: #EEEEEE; - padding: 0.5em; - margin-left: 2em; - margin-right: 2em - } - - tt { color: green; } - em { font-style: italic; font-weight: bold; } - 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; - } - diff --git a/stratus1/doc/CMakeLists.txt b/stratus1/doc/CMakeLists.txt index 4a180a6d..aabe8303 100644 --- a/stratus1/doc/CMakeLists.txt +++ b/stratus1/doc/CMakeLists.txt @@ -2,3 +2,4 @@ add_subdirectory(stratus) add_subdirectory(dpgen) add_subdirectory(patterns) + add_subdirectory(developper) diff --git a/stratus1/doc/Makefile.am b/stratus1/doc/Makefile.am deleted file mode 100644 index 58c4276a..00000000 --- a/stratus1/doc/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ - -SUBDIRS = stratus dpgen developper patterns diff --git a/stratus1/doc/Makefile.manual b/stratus1/doc/Makefile.manual deleted file mode 100644 index 671f308c..00000000 --- a/stratus1/doc/Makefile.manual +++ /dev/null @@ -1,34 +0,0 @@ -all : stratus.pdf stratus/index.html ASIM.css stratus/ASIM.css - -stratus.pdf: *.tex - @pdflatex stratus.tex - @pdflatex stratus.tex -# xdvi stratus.dvi - -viewpdf: stratus.pdf - @acroread stratus.pdf & - - -stratus/index.html: *.tex - @latex2html -no_math -html_version 4.0,math -style ./ASIM.css stratus.tex - -stratus/ASIM.css: ASIM.css - @cp -p ASIM.css stratus/ASIM.css - - -orthographe: stratus.tex - aspell -t --lang=fr -c $< - -clean: - @rm -rf *.dvi \ - *.ps \ - *.lof \ - *.log \ - *.out \ - *.toc \ - *.aux \ - *.bak \ - stratus/*.html \ - stratus/*.css \ - stratus/*.pl \ - stratus/WARNINGS diff --git a/stratus1/doc/developper/.latex2html-init b/stratus1/doc/developper/.latex2html-init index 41736623..e1757de4 100644 --- a/stratus1/doc/developper/.latex2html-init +++ b/stratus1/doc/developper/.latex2html-init @@ -5,7 +5,7 @@ # ### Command Line Argument Defaults ####################################### -$MAX_SPLIT_DEPTH = 4; # Stop making separate files at this depth +$MAX_SPLIT_DEPTH = 5; # Stop making separate files at this depth $MAX_LINK_DEPTH = 2; # Stop showing child nodes at this depth @@ -21,7 +21,7 @@ $PS_IMAGES = 0; #$TITLE = "Titre"; # The default is "No Title" -$DESTDIR = ''; # Put the result in this directory +$DESTDIR = ''; # Put the result in this directory # When this is set, the generated HTML files will be placed in the # current directory. If set to 0 the default behaviour is to create (or reuse) @@ -34,23 +34,23 @@ $ADDRESS = "$address_data[0]
\n$address_data[1]
"; $NO_NAVIGATION = 0; # 1 = do not put a navigation panel at the top of each page -# Put navigation links at the top of each page. -# If the page exceeds $WORDS_IN_PAGE number of words then put one at the bottom of the page. +# Put navigation links at the top of each page. If the page exceeds +# $WORDS_IN_PAGE number of words then put one at the bottom of the page. $AUTO_NAVIGATION = 1; -# Put a link to the index page in the navigation panel +# Put a link to the index page in the navigation panel $INDEX_IN_NAVIGATION = 1; -# Put a link to the table of contents in the navigation panel +# Put a link to the table of contents in the navigation panel $CONTENTS_IN_NAVIGATION = 1; -# Put a link to the next logical page in the navigation panel +# Put a link to the next logical page in the navigation panel $NEXT_PAGE_IN_NAVIGATION = 1; -# Put a link to the previous logical page in the navigation panel +# Put a link to the previous logical page in the navigation panel $PREVIOUS_PAGE_IN_NAVIGATION = 1; -$INFO = 0; # 0 = do not make a "About this document..." section +$INFO = 1; # 0 = do not make a "About this document..." section # Reuse images generated during previous runs $REUSE = 2; @@ -72,8 +72,7 @@ $CHILDLINE = "

\n"; $LINE_WIDTH = 500; # Used in conjunction with AUTO_NAVIGATION -#$WORDS_IN_PAGE = 300; !!! -$WORDS_IN_PAGE = 50; +$WORDS_IN_PAGE = 300; # Affects ONLY the way accents are processed $default_language = 'english'; @@ -199,34 +198,34 @@ sub use_my_icon($) { } -sub make_top_nav_panel() { +sub make_top_nav_panel { my $s; $s = ('' #. "\n" . "\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n
$t_title
" + . "" . ($PREVIOUS_TITLE ? "Previous" : " ") . "" + . "" . ($UP_TITLE ? "Up" : " ") . "" + . "" . ($NEXT_TITLE ? "Next" : " ") . "
" + . "" . ($PREVIOUS_TITLE ? "$PREVIOUS_TITLE" : " ") . "" + . "" . ($UP_TITLE ? "$UP_TITLE" : " ") . "" + . "" . ($NEXT_TITLE ? "$NEXT_TITLE" : " ") . "
\n" @@ -238,34 +237,34 @@ sub make_top_nav_panel() { } -sub make_bot_nav_panel() { +sub make_bot_nav_panel { my $s; $s = ('
' #. "\n" . "\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n
$t_title
" + . "" . ($PREVIOUS_TITLE ? "Previous" : " ") . "" + . "" . ($UP_TITLE ? "Up" : " ") . "" + . "" . ($NEXT_TITLE ? "Next" : " ") . "
" + . "" . ($PREVIOUS_TITLE ? "$PREVIOUS_TITLE" : " ") . "" + . "" . ($UP_TITLE ? "$UP_TITLE" : " ") . "" + . "" . ($NEXT_TITLE ? "$NEXT_TITLE" : " ") . "
\n" @@ -293,15 +292,15 @@ sub bot_navigation_panel { #$EXTERNAL_STYLESHEET = "../ASIM.css"; -$ADDRESS = "Sophie BELLOEIL
20051116.1"; +$ADDRESS = "Sophie BELLOEIL
20051116.1"; $LOCAL_ICONS = 0; $USING_STYLES = 1; -$TRANSPARENT_FIGURES = 1; +$TRANSPARENT_FIGURES = 0; -$WHITE_BACKGROUND = 0; +$WHITE_BACKGROUND = 1; $used_icons{"home." . $IMAGE_TYPE} = 1; diff --git a/stratus1/doc/developper/ASIM.css b/stratus1/doc/developper/ASIM.css deleted file mode 100644 index 180cadb3..00000000 --- a/stratus1/doc/developper/ASIM.css +++ /dev/null @@ -1,164 +0,0 @@ - - html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 { - font-size: 100%; - font-family: 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; - margin-right: 10%; - margin-left: 10%; - } - - hr { - height: 1px; - border: 0; - color: #004400; - background-color: #004400; - } - - - h1, h2, h3, h4, h5, h6 { - font-family: verdana, sans-serif; - } - - h1 { text-align: center; } - h2, h3, h4, h5, h6 { text-align: left; - padding-top: 2em; - } - h1, h2, h3 { font-family: "Trebuchet MS", sans-serif; - color: #09550B; - } - h1 { font-weight: bold; font-size: 170%; } - h2 { font-weight: bold; font-size: 140%; } - h3 { font-weight: bold; font-size: 118%; } - h4 { font-weight: bold; font-size: 100%; } - h5 { font-style: italic; font-size: 100%; } - h6 { font-variant: small-caps; font-size: 100%; } - - .hide { - display: none; - color: white; - } - - - div.navigation { margin-bottom: 1em; } - div.navigation h1 { margin-top: 2em; clear: both; } - div.navigation table { margin-left: 2em; font-size: 90%; } - div.navigation img { color: white; border: none; } - - - p { - margin-top: 0.6em; - margin-bottom: 0.6em; - margin-left: 0.0em; - margin-right: 0.0em; - } - - p.copyright { font-size: 90%; } - p.copyright small { font-size: 80%; } - - p.changed { - padding-left: 0.2em; - border-left: solid; - border-top: none; - border-bottom: none; - border-right: none; - border-left-width: thin; - border-color: red; - } - - - address { - text-align: right; - font-weight: bold; - font-style: italic; - font-size: 80%; - } - - - 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; - /* - margin-left: 0em; - margin-right: 0em; - */ - margin-top: 0.8em; - margin-bottom: 0.8em; - } - - 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: solid; - border-width: thin; - border-color: #003300; - background-color: #EEEEEE; - padding: 0.5em; - margin-left: 2em; - margin-right: 2em - } - - tt { color: green; } - em { font-style: italic; font-weight: bold; } - 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; - } - diff --git a/stratus1/doc/developper/SoC.css b/stratus1/doc/developper/SoC.css new file mode 100644 index 00000000..d0ff4fbd --- /dev/null +++ b/stratus1/doc/developper/SoC.css @@ -0,0 +1,312 @@ + + +/* + * x-----------------------------------------------------------------x + * | HTML Standart Tags | + * x-----------------------------------------------------------------x + */ + + html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 { + font-size: 95%; + font-family: 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; + margin-right: 10%; + margin-left: 10%; + } + + + hr { + height: 1px; + border: 0; + color: #004400; + background-color: #004400; + } + + + .navigation { font-size: 80%; } + + + h1, h2, h3, h4, h5, h6 { + font-family: verdana, sans-serif; + } + + h1 { text-align: center; } + h2, h3, h4, h5, h6 { text-align: left; + padding-top: 2em; + } + h1, h2, h3 { font-family: "Trebuchet MS", sans-serif; + color: #09550B; + } + h1 { font-weight: bold; font-size: 160%; } + h2 { font-weight: bold; font-size: 130%; } + h3 { font-weight: bold; font-size: 110%; } + h4 { font-weight: bold; font-size: 90%; } + h5 { font-style: italic; font-size: 90%; } + h6 { font-variant: small-caps; font-size: 90%; } + + .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: 75%; + } + + + 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; } + td { font-size: 85%; } + + + pre, tt, code { + font-family: "andale mono", monospace; + font-size: 95%; + white-space: pre; + } + + pre { + font-size: 80%; + border: solid; + border-width: thin; + border-color: #003300; + background-color: #EEEEEE; + padding: 0.5em; + margin-left: 2em; + margin-right: 2em + } + + tt { color: green; } + em { font-style: italic; font-weight: bold; } + strong { font-weight: bold; } + small.footnotesize { font-size: 95%; } + + span.textit { font-style: italic; } + span.textbf { font-weight: bold; } + + .small { font-size: 80%; } + .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; + } + + table.remark { + margin-right: 5%; + margin-left: 5%; + border: solid; + border-width: thin; + border-color: #003300; + } + + table.remarktext { + text-align: justify; + background-color: #EEEEEE; + } + + table.citation { + margin-right: 10%; + margin-left: 10%; + } + + + + +/* + * x-----------------------------------------------------------------x + * | Doxygen Specific Classes | + * x-----------------------------------------------------------------x + */ + + +/* ------------------------------------------------------------------- + * Quick Index Class (top page navigation bar). + */ + + div.qindex, div.nav { + width: 100%; + background-color: #eeeeff; + border: 1px solid #003300; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; + } + + a.qindex, a.qindex:visited, a.qindex:hover, a.qindexHL, a.el, a.elRef { + text-decoration: none; + font-weight: bold; + } + + 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%; + } + + +/* ------------------------------------------------------------------- + * 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 } + + +/* ------------------------------------------------------------------- + * Attributes Listing. + */ + + .mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; + } + + .mdRow { + padding: 5px 10px; + } + + .mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + font-size: 12px; + 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; + } + + .memItemLeft, .memItemRight, .memTemplItemLeft { + padding: 1px 0px 0px 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: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + } + + .memItemLeft { font-size: 12px; } + .memItemRight { font-size: 13px; } + .memTemplItemLeft { font-size: 12px; } + .memTemplItemRight { font-size: 13px; } + + .memTemplParams { + color: #606060; + background-color: #FAFAFA; + font-size: 12px; + } + diff --git a/stratus1/doc/developper/stratus/ASIM.css b/stratus1/doc/developper/stratus/ASIM.css deleted file mode 100644 index 180cadb3..00000000 --- a/stratus1/doc/developper/stratus/ASIM.css +++ /dev/null @@ -1,164 +0,0 @@ - - html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 { - font-size: 100%; - font-family: 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; - margin-right: 10%; - margin-left: 10%; - } - - hr { - height: 1px; - border: 0; - color: #004400; - background-color: #004400; - } - - - h1, h2, h3, h4, h5, h6 { - font-family: verdana, sans-serif; - } - - h1 { text-align: center; } - h2, h3, h4, h5, h6 { text-align: left; - padding-top: 2em; - } - h1, h2, h3 { font-family: "Trebuchet MS", sans-serif; - color: #09550B; - } - h1 { font-weight: bold; font-size: 170%; } - h2 { font-weight: bold; font-size: 140%; } - h3 { font-weight: bold; font-size: 118%; } - h4 { font-weight: bold; font-size: 100%; } - h5 { font-style: italic; font-size: 100%; } - h6 { font-variant: small-caps; font-size: 100%; } - - .hide { - display: none; - color: white; - } - - - div.navigation { margin-bottom: 1em; } - div.navigation h1 { margin-top: 2em; clear: both; } - div.navigation table { margin-left: 2em; font-size: 90%; } - div.navigation img { color: white; border: none; } - - - p { - margin-top: 0.6em; - margin-bottom: 0.6em; - margin-left: 0.0em; - margin-right: 0.0em; - } - - p.copyright { font-size: 90%; } - p.copyright small { font-size: 80%; } - - p.changed { - padding-left: 0.2em; - border-left: solid; - border-top: none; - border-bottom: none; - border-right: none; - border-left-width: thin; - border-color: red; - } - - - address { - text-align: right; - font-weight: bold; - font-style: italic; - font-size: 80%; - } - - - 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; - /* - margin-left: 0em; - margin-right: 0em; - */ - margin-top: 0.8em; - margin-bottom: 0.8em; - } - - 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: solid; - border-width: thin; - border-color: #003300; - background-color: #EEEEEE; - padding: 0.5em; - margin-left: 2em; - margin-right: 2em - } - - tt { color: green; } - em { font-style: italic; font-weight: bold; } - 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; - } - diff --git a/stratus1/doc/developper/stratus/WARNINGS b/stratus1/doc/developper/stratus/WARNINGS deleted file mode 100644 index 90f53c20..00000000 --- a/stratus1/doc/developper/stratus/WARNINGS +++ /dev/null @@ -1,9 +0,0 @@ -No implementation found for style `fontenc' -No implementation found for style `palatino' -No implementation found for style `fancyheadings' -No implementation found for style `subfigure' -No implementation found for style `graphicx' -No implementation found for style `url' -couldn't convert character ,circ into available encodings - - ...set $ACCENT_IMAGES to get an image diff --git a/stratus1/doc/developper/stratus/index.html b/stratus1/doc/developper/stratus/index.html deleted file mode 100644 index cf04f88b..00000000 --- a/stratus1/doc/developper/stratus/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - -Stratus Developper's Manual - - - - - - - - - - - - - - - - - - - -

-

Stratus Developper's Manual

-
- -

Sophie Belloeil

-
- -

-
- - - -

- -
-
-

- -

- -
-Sophie BELLOEIL
20051116.1 -
- - diff --git a/stratus1/doc/developper/stratus/internals.pl b/stratus1/doc/developper/stratus/internals.pl deleted file mode 100644 index d67a73ff..00000000 --- a/stratus1/doc/developper/stratus/internals.pl +++ /dev/null @@ -1,18 +0,0 @@ -# LaTeX2HTML 2002-2-1 (1.70) -# Associate internals original text with physical files. - - -$key = q/secmodel/; -$ref_files{$key} = "$dir".q|node1.html|; -$noresave{$key} = "$nosave"; - -$key = q/secnet/; -$ref_files{$key} = "$dir".q|node2.html|; -$noresave{$key} = "$nosave"; - -$key = q/secinst/; -$ref_files{$key} = "$dir".q|node3.html|; -$noresave{$key} = "$nosave"; - -1; - diff --git a/stratus1/doc/developper/stratus/labels.pl b/stratus1/doc/developper/stratus/labels.pl deleted file mode 100644 index 1948454f..00000000 --- a/stratus1/doc/developper/stratus/labels.pl +++ /dev/null @@ -1,25 +0,0 @@ -# LaTeX2HTML 2002-2-1 (1.70) -# Associate labels original text with physical files. - - -$key = q/secmodel/; -$external_labels{$key} = "$URL/" . q|node1.html|; -$noresave{$key} = "$nosave"; - -$key = q/secnet/; -$external_labels{$key} = "$URL/" . q|node2.html|; -$noresave{$key} = "$nosave"; - -$key = q/secinst/; -$external_labels{$key} = "$URL/" . q|node3.html|; -$noresave{$key} = "$nosave"; - -1; - - -# LaTeX2HTML 2002-2-1 (1.70) -# labels from external_latex_labels array. - - -1; - diff --git a/stratus1/doc/developper/stratus/node1.html b/stratus1/doc/developper/stratus/node1.html deleted file mode 100644 index 3581a5d6..00000000 --- a/stratus1/doc/developper/stratus/node1.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - -Class Model - - - - - - - - - - - - - - - - - - - - - - -Sous-sections - - - -
- -

- -
-Class Model -

- -

-Synopsys -

- -

-

-class myClass ( Model ) :
-    ...
-    
-exemple = myClass ( name, param )
-
- -

- -

-Description -

- -

-Every cell made is a class herited from class Model. -
-Some methods have to be created, like Interface, Netlist ... Some methods are inherited from the class Model. - -

- -

-Parameters -

- -

- -

- -

- -

-Attributes -

- -

- -

- -

-And, in connection with Hurricane : - -

- -

- -

-Methods -

- -

-Methods of class Model are listed below : - -

- -

-Some of those methods have to be defined in order to create a new cell : - -

- -

- -

- -
-Sophie BELLOEIL
20051116.1 -
- - diff --git a/stratus1/doc/developper/stratus/node2.html b/stratus1/doc/developper/stratus/node2.html deleted file mode 100644 index 04124489..00000000 --- a/stratus1/doc/developper/stratus/node2.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - -Nets - - - - - - - - - - - - - - - - - - - - - - -Sous-sections - - - -
- -

- -
-Nets -

- -

-Synopsys -

- -

-

-netInput = LogicIn ( name, arity )
-
- -

- -

-Description -

- -

-Instanciation of net. Differents kind of nets are listed below : - -

- -

- -

-Parameters -

- -

- -

- -

-Only CkIn, VddIn and VssIn do not have the same parameters : there is only the name parameter (they are 1 bit nets). - -

- -

-Attributes -

- -

- -

- -

-And, in connection with Hurricane : - -

- -

- -

-Methods -

- -

- -

-And the overloards : - - - -

- -

- -
-Sophie BELLOEIL
20051116.1 -
- - diff --git a/stratus1/doc/developper/stratus/node3.html b/stratus1/doc/developper/stratus/node3.html deleted file mode 100644 index 2acdd748..00000000 --- a/stratus1/doc/developper/stratus/node3.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - -Instances - - - - - - - - - - - - - - - - - - - - -Sous-sections - - - -
- -

- -
-Instances -

- -

-Synopsys -

- -

-

-Inst ( model
-     , name
-     , param = myParam
-     , map = myMap
-     )
-
- -

- -

-Description -

- -

-Instantiation of an instance. The type of the instance is given by the model parameter. The connexions are made thanks to the map parameters. - -

- -

-Parameters -

- -

- -

- -

- -

-Attributes -

- -

- -

-For placement : - - -And, in connection with Hurricane : - - - -

- -

-Methods -

- -

- -

- -

- -

- -
-Sophie BELLOEIL
20051116.1 -
- - diff --git a/stratus1/doc/developper/stratus/stratus.css b/stratus1/doc/developper/stratus/stratus.css deleted file mode 100644 index 83b8aa7d..00000000 --- a/stratus1/doc/developper/stratus/stratus.css +++ /dev/null @@ -1,33 +0,0 @@ -/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */ -.MATH { font-family: "Century Schoolbook", serif; } -.MATH I { font-family: "Century Schoolbook", serif; font-style: italic } -.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold } - -/* implement both fixed-size and relative sizes */ -SMALL.XTINY { font-size : xx-small } -SMALL.TINY { font-size : x-small } -SMALL.SCRIPTSIZE { font-size : smaller } -SMALL.FOOTNOTESIZE { font-size : small } -SMALL.SMALL { } -BIG.LARGE { } -BIG.XLARGE { font-size : large } -BIG.XXLARGE { font-size : x-large } -BIG.HUGE { font-size : larger } -BIG.XHUGE { font-size : xx-large } - -/* heading styles */ -H1 { } -H2 { } -H3 { } -H4 { } -H5 { } - -/* mathematics styles */ -DIV.displaymath { } /* math displays */ -TD.eqno { } /* equation-number cells */ - - -/* document-specific styles come next */ -DIV.navigation { } -PRE.preform { } -SPAN.arabic { } diff --git a/stratus1/doc/developper/stratus/stratus.html b/stratus1/doc/developper/stratus/stratus.html deleted file mode 100644 index cf04f88b..00000000 --- a/stratus1/doc/developper/stratus/stratus.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - -Stratus Developper's Manual - - - - - - - - - - - - - - - - - - - -

-

Stratus Developper's Manual

-
- -

Sophie Belloeil

-
- -

-
- - - -

- -
-
-

- -

- -
-Sophie BELLOEIL
20051116.1 -
- - diff --git a/stratus1/doc/developper/stratus.tex b/stratus1/doc/developper/stratus_developper.tex similarity index 100% rename from stratus1/doc/developper/stratus.tex rename to stratus1/doc/developper/stratus_developper.tex diff --git a/stratus1/doc/dpgen/.latex2html-init b/stratus1/doc/dpgen/.latex2html-init index df1398eb..e1757de4 100644 --- a/stratus1/doc/dpgen/.latex2html-init +++ b/stratus1/doc/dpgen/.latex2html-init @@ -21,7 +21,7 @@ $PS_IMAGES = 0; #$TITLE = "Titre"; # The default is "No Title" -$DESTDIR = ''; # Put the result in this directory +$DESTDIR = ''; # Put the result in this directory # When this is set, the generated HTML files will be placed in the # current directory. If set to 0 the default behaviour is to create (or reuse) @@ -34,23 +34,23 @@ $ADDRESS = "$address_data[0]
\n$address_data[1]
"; $NO_NAVIGATION = 0; # 1 = do not put a navigation panel at the top of each page -# Put navigation links at the top of each page. -# If the page exceeds $WORDS_IN_PAGE number of words then put one at the bottom of the page. +# Put navigation links at the top of each page. If the page exceeds +# $WORDS_IN_PAGE number of words then put one at the bottom of the page. $AUTO_NAVIGATION = 1; -# Put a link to the index page in the navigation panel +# Put a link to the index page in the navigation panel $INDEX_IN_NAVIGATION = 1; -# Put a link to the table of contents in the navigation panel +# Put a link to the table of contents in the navigation panel $CONTENTS_IN_NAVIGATION = 1; -# Put a link to the next logical page in the navigation panel +# Put a link to the next logical page in the navigation panel $NEXT_PAGE_IN_NAVIGATION = 1; -# Put a link to the previous logical page in the navigation panel +# Put a link to the previous logical page in the navigation panel $PREVIOUS_PAGE_IN_NAVIGATION = 1; -$INFO = 0; # 0 = do not make a "About this document..." section +$INFO = 1; # 0 = do not make a "About this document..." section # Reuse images generated during previous runs $REUSE = 2; @@ -72,8 +72,7 @@ $CHILDLINE = "

\n"; $LINE_WIDTH = 500; # Used in conjunction with AUTO_NAVIGATION -#$WORDS_IN_PAGE = 300; !!! -$WORDS_IN_PAGE = 50; +$WORDS_IN_PAGE = 300; # Affects ONLY the way accents are processed $default_language = 'english'; @@ -199,34 +198,34 @@ sub use_my_icon($) { } -sub make_top_nav_panel() { +sub make_top_nav_panel { my $s; $s = ('' #. "\n" . "\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n
$t_title
" + . "" . ($PREVIOUS_TITLE ? "Previous" : " ") . "" + . "" . ($UP_TITLE ? "Up" : " ") . "" + . "" . ($NEXT_TITLE ? "Next" : " ") . "
" + . "" . ($PREVIOUS_TITLE ? "$PREVIOUS_TITLE" : " ") . "" + . "" . ($UP_TITLE ? "$UP_TITLE" : " ") . "" + . "" . ($NEXT_TITLE ? "$NEXT_TITLE" : " ") . "
\n" @@ -238,34 +237,34 @@ sub make_top_nav_panel() { } -sub make_bot_nav_panel() { +sub make_bot_nav_panel { my $s; $s = ('
' #. "\n" . "\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n
$t_title
" + . "" . ($PREVIOUS_TITLE ? "Previous" : " ") . "" + . "" . ($UP_TITLE ? "Up" : " ") . "" + . "" . ($NEXT_TITLE ? "Next" : " ") . "
" + . "" . ($PREVIOUS_TITLE ? "$PREVIOUS_TITLE" : " ") . "" + . "" . ($UP_TITLE ? "$UP_TITLE" : " ") . "" + . "" . ($NEXT_TITLE ? "$NEXT_TITLE" : " ") . "
\n" @@ -293,15 +292,15 @@ sub bot_navigation_panel { #$EXTERNAL_STYLESHEET = "../ASIM.css"; -$ADDRESS = "Sophie BELLOEIL
20051116.1"; +$ADDRESS = "Sophie BELLOEIL
20051116.1"; $LOCAL_ICONS = 0; $USING_STYLES = 1; -$TRANSPARENT_FIGURES = 1; +$TRANSPARENT_FIGURES = 0; -$WHITE_BACKGROUND = 0; +$WHITE_BACKGROUND = 1; $used_icons{"home." . $IMAGE_TYPE} = 1; diff --git a/stratus1/doc/dpgen/SoC.css b/stratus1/doc/dpgen/SoC.css index 180cadb3..d0ff4fbd 100644 --- a/stratus1/doc/dpgen/SoC.css +++ b/stratus1/doc/dpgen/SoC.css @@ -1,31 +1,42 @@ + +/* + * x-----------------------------------------------------------------x + * | HTML Standart Tags | + * x-----------------------------------------------------------------x + */ + html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 { - font-size: 100%; - font-family: verdana, sans-serif; + font-size: 95%; + font-family: 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; - margin-right: 10%; - margin-left: 10%; + color: black; + background: white; + background-color: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; + margin-top: 2em; + margin-right: 10%; + margin-left: 10%; } + hr { - height: 1px; - border: 0; - color: #004400; - background-color: #004400; + height: 1px; + border: 0; + color: #004400; + background-color: #004400; } + .navigation { font-size: 80%; } + + h1, h2, h3, h4, h5, h6 { - font-family: verdana, sans-serif; + font-family: verdana, sans-serif; } h1 { text-align: center; } @@ -35,117 +46,97 @@ h1, h2, h3 { font-family: "Trebuchet MS", sans-serif; color: #09550B; } - h1 { font-weight: bold; font-size: 170%; } - h2 { font-weight: bold; font-size: 140%; } - h3 { font-weight: bold; font-size: 118%; } - h4 { font-weight: bold; font-size: 100%; } - h5 { font-style: italic; font-size: 100%; } - h6 { font-variant: small-caps; font-size: 100%; } + h1 { font-weight: bold; font-size: 160%; } + h2 { font-weight: bold; font-size: 130%; } + h3 { font-weight: bold; font-size: 110%; } + h4 { font-weight: bold; font-size: 90%; } + h5 { font-style: italic; font-size: 90%; } + h6 { font-variant: small-caps; font-size: 90%; } .hide { - display: none; - color: white; + display: none; + color: white; } - div.navigation { margin-bottom: 1em; } - div.navigation h1 { margin-top: 2em; clear: both; } - div.navigation table { margin-left: 2em; font-size: 90%; } - div.navigation img { color: white; border: none; } - - p { - margin-top: 0.6em; - margin-bottom: 0.6em; - margin-left: 0.0em; - margin-right: 0.0em; - } - - p.copyright { font-size: 90%; } - p.copyright small { font-size: 80%; } - - p.changed { - padding-left: 0.2em; - border-left: solid; - border-top: none; - border-bottom: none; - border-right: none; - border-left-width: thin; - border-color: red; + 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%; + text-align: right; + font-weight: bold; + font-style: italic; + font-size: 75%; } + caption { font-weight: bold } + + blockquote { - margin-left: 4em; - margin-right: 4em; - margin-top: 0.8em; - margin-bottom: 0.8em; - font-style: italic; - color: #003300; + margin-left: 4em; + margin-right: 4em; + margin-top: 0.8em; + margin-bottom: 0.8em; + font-style: italic; + color: #003300; } blockquote p { - margin-bottom: 0; + margin-bottom: 0; } blockquote address { - margin: 0; + margin: 0; } table { - border-collapse: collapse; - /* - margin-left: 0em; - margin-right: 0em; - */ - margin-top: 0.8em; - margin-bottom: 0.8em; + border-collapse: collapse; } dt, dd { margin-top: 0; margin-bottom: 0; } dt { font-weight: bold; } + td { font-size: 85%; } pre, tt, code { - font-family: "andale mono", monospace; - font-size: 100%; - white-space: pre; + font-family: "andale mono", monospace; + font-size: 95%; + white-space: pre; } pre { - font-size: 80%; - border: solid; - border-width: thin; - border-color: #003300; - background-color: #EEEEEE; - padding: 0.5em; - margin-left: 2em; - margin-right: 2em + font-size: 80%; + border: solid; + border-width: thin; + border-color: #003300; + background-color: #EEEEEE; + padding: 0.5em; + margin-left: 2em; + margin-right: 2em } - tt { color: green; } - em { font-style: italic; font-weight: bold; } - strong { font-weight: bold; } + tt { color: green; } + em { font-style: italic; font-weight: bold; } + strong { font-weight: bold; } + small.footnotesize { font-size: 95%; } - span.textit { font-style: italic; } - span.textbf { font-weight: bold; } + span.textit { font-style: italic; } + span.textbf { font-weight: bold; } - .small { font-size: 90%; } - .white { color: #FFFFFF; } + .small { font-size: 80%; } + .white { color: #FFFFFF; } ul.toc { - list-style: disc; - list-style: none; + list-style: disc; + list-style: none; } @@ -153,12 +144,169 @@ a img { color: white; } a:link, a:active, a:visited { - color: #09550B; - text-decoration: none; + color: #09550B; + text-decoration: none; } a:hover, a:focus { - color: #FF9900; - text-decoration: underline; + color: #FF9900; + text-decoration: underline; + } + + table.remark { + margin-right: 5%; + margin-left: 5%; + border: solid; + border-width: thin; + border-color: #003300; + } + + table.remarktext { + text-align: justify; + background-color: #EEEEEE; + } + + table.citation { + margin-right: 10%; + margin-left: 10%; + } + + + + +/* + * x-----------------------------------------------------------------x + * | Doxygen Specific Classes | + * x-----------------------------------------------------------------x + */ + + +/* ------------------------------------------------------------------- + * Quick Index Class (top page navigation bar). + */ + + div.qindex, div.nav { + width: 100%; + background-color: #eeeeff; + border: 1px solid #003300; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; + } + + a.qindex, a.qindex:visited, a.qindex:hover, a.qindexHL, a.el, a.elRef { + text-decoration: none; + font-weight: bold; + } + + 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%; + } + + +/* ------------------------------------------------------------------- + * 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 } + + +/* ------------------------------------------------------------------- + * Attributes Listing. + */ + + .mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; + } + + .mdRow { + padding: 5px 10px; + } + + .mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + font-size: 12px; + 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; + } + + .memItemLeft, .memItemRight, .memTemplItemLeft { + padding: 1px 0px 0px 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: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + } + + .memItemLeft { font-size: 12px; } + .memItemRight { font-size: 13px; } + .memTemplItemLeft { font-size: 12px; } + .memTemplItemRight { font-size: 13px; } + + .memTemplParams { + color: #606060; + background-color: #FAFAFA; + font-size: 12px; } diff --git a/stratus1/doc/html.entry b/stratus1/doc/html.entry deleted file mode 100644 index 239ad936..00000000 --- a/stratus1/doc/html.entry +++ /dev/null @@ -1 +0,0 @@ -
  • Stratus
    Netlist / Layout description language

    diff --git a/stratus1/doc/man_alias.tex b/stratus1/doc/man_alias.tex deleted file mode 100644 index 158c1e60..00000000 --- a/stratus1/doc/man_alias.tex +++ /dev/null @@ -1,62 +0,0 @@ -\subsubsection{Name} - Alias -- A net has an "alias name" - -\subsubsection{Synopsys} - -\verb-myNet.Alias ( net )- - -\subsubsection{Description} - -This method is applied to a net. This net has an "alias name". - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-net- : a net which is going to be an alias for the net which this method is applied to -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -class myripple ( Model ) : - - def Interface ( self ) : - self.a = LogicIn ( "a", 4 ) - self.b = LogicIn ( "b", 4 ) - - self.cin = LogicIn ( "cin", 1 ) - - self.sout = LogicOut ( "sout", 4 ) - - self.cout = LogicOut ( "cout", 1 ) - - self.vdd = VddIn ( "vdd" ) - self.vss = VddIn ( "vss" ) - - def Netlist ( self ) : - c_temp = Signal ( "c_temp", 5 ) - - self.cin.Alias ( c_temp[0] ) - self.cout.Alias ( c_temp[4] ) - - for i in range ( 4 ) : - Inst ( "Fulladder" - , map = { 'a' : self.a[i] - , 'b' : self.b[i] - , 'cin' : c_temp[i] - , 'sout' : self.sout[i] - , 'cout' : c_temp[i+1] - , 'vdd' : self.vdd - , 'vss' : self.vss - } - ) -\end{verbatim} - -\indent The net \verb-cin- has the alias \verb-c_temp[0]- and the net cout has the alias \verb-c_temp[4]-. Thanks to this method, all the instanciations can be done in one unique \verb-for- loop. - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Nets}}{}{Nets}{secnet} -\hyperref[ref]{\emph{Extend}}{}{Extend}{secextend} -\hyperref[ref]{\emph{Cat}}{}{Cat}{seccat} diff --git a/stratus1/doc/man_alim_connectors.tex b/stratus1/doc/man_alim_connectors.tex deleted file mode 100644 index 6830d9c2..00000000 --- a/stratus1/doc/man_alim_connectors.tex +++ /dev/null @@ -1,23 +0,0 @@ -\subsubsection{Name} - -AlimConnectors -- Creation of connectors at the periphery of the core of a circuit - -\subsubsection{Synopsys} - -\begin{verbatim} -AlimConnectors() -\end{verbatim} - -\subsubsection{Description} - -This function creates the connectors in Alu 1 at the periphery of the core. - - -%\subsubsection{Errors} - -%Some errors may occur : -%\begin{itemize} - %\item \verb-[Stratus ERROR] AlimConnectors : can't get net ...- -%\end{itemize} - -\input{see_also} diff --git a/stratus1/doc/man_alim_rail.tex b/stratus1/doc/man_alim_rail.tex deleted file mode 100644 index 9204883f..00000000 --- a/stratus1/doc/man_alim_rail.tex +++ /dev/null @@ -1,52 +0,0 @@ -\subsubsection{Name} - -AlimVerticalRail, AlimHorizontalRail -- Placement of a vertical/horizontal alimentation call back - -\subsubsection{Synopsys} - -\begin{verbatim} -AlimVerticalRail ( nb ) -\end{verbatim} - -\subsubsection{Description} - -These functions place a vertical/horizontal alimentation call back. It's position is given by the parameter given. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-nb- : coordinate of the rail - \begin{itemize} - \item For AlimVerticalRail, \verb-nb- is in pitches i.e. 5 lambdas - \item For AlimHorizontalRail, \verb-nb- is in slices i.e. 50 lambdas - \end{itemize} -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -AlimVerticalRail ( 50 ) -AlimVerticalRail ( 150 ) - -AlimHorizontalRail ( 10 ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] AlimHorizontalRail :-\\\verb-Illegal argument y, y must be between ... and ...-\\The argument given is wrong : the call back would not be in the abutment box. - \item \verb-[Stratus ERROR] Placement of cells :-\\\verb-please check your file of layout with DRUC.-\\The placement of the cell needs to be correct in order to place a call back. Check the errors of placement. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{PlaceCentric}}{}{PlaceCentric}{seccentric} -\hyperref[ref]{\emph{PlaceGlu}}{}{PlaceGlu}{secglu} -\hyperref[ref]{\emph{FillCell}}{}{FillCell}{secfillcell} -\hyperref[ref]{\emph{Pads}}{}{Pads}{secpads} -\hyperref[ref]{\emph{Alimentation connectors}}{}{Alimentation connectors}{secconnectors} -\hyperref[ref]{\emph{PowerRing}}{}{PowerRing}{secpowerring} -\hyperref[ref]{\emph{RouteCk}}{}{RouteCk}{secrouteck} diff --git a/stratus1/doc/man_arithmetic.tex b/stratus1/doc/man_arithmetic.tex deleted file mode 100644 index d6a9dba6..00000000 --- a/stratus1/doc/man_arithmetic.tex +++ /dev/null @@ -1,73 +0,0 @@ - \subsubsection{Description} - -Most common arithmetic operators can be instantiated without the \verb-Inst- constructor. - -\subsubsection{List} - -Arithmetical operators are listed below : -\begin{itemize} - \item \verb-Addition- : \verb-q <= i0 + i1- - \item \verb-Substraction- : \verb-q <= i0- - \verb-i1- - \item \verb-Multiplication- : \verb-q <= i0 * i1- - \item \verb-Division- : \verb-q <= i0 / i1- -\end{itemize} - -\subsubsection{Generators to instantiate} - -One can choose the generator to be used. Some methods are applied to the cell and set the generator used when using overloard. -\indent Methods are : -\begin{itemize} - \item \verb-SetAdd- (for addition and substraction) - \item \verb-SetMult- - \item \verb-SetDiv- -\end{itemize} - -\indent The generators used by default are : -\begin{itemize} - \item \verb-Addition- : Slansky adder - \item \verb-Substraction- : Slansky adder + inversor + cin = '1' - \item \verb-Multiplication- : CA2 multiplier (signed, modified booth/Wallace tree) - \item \verb-Division- : not available yet -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -class essai ( Model ) : - - def Interface ( self ) : - self.A = LogicIn ( "a", 4 ) - self.B = LogicIn ( "b", 4 ) - - self.S = LogicOut ( "s", 4 ) - - self.T = LogicOut ( "t", 8 ) - - self.vdd = VddIn ( "vdd" ) - self.vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - self.S <= self.A + self.B - - self.T <= self.A * self.B -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] + : the nets must have the same lenght.-\\When one uses arithmetic expressions, one has to check that the sizes of both nets are equivalent. - \item \verb-[Stratus ERROR] : there is no alim.-\\The cell being created does not have the alimentation nets. The instanciation is impossible. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Instanciation of a multiplexor}}{}{Multiplexor}{secmux} -\hyperref[ref]{\emph{Instanciation of a shifter}}{}{Shifter}{secshift} -\hyperref[ref]{\emph{Instanciation of a register}}{}{Reg}{secreg} -\hyperref[ref]{\emph{Instanciation of constants}}{}{Constant}{secconstant} -\hyperref[ref]{\emph{Boolean operations}}{}{Boolean}{secbool} -\hyperref[ref]{\emph{Comparison operations}}{}{Comparison}{seccomp} diff --git a/stratus1/doc/man_boolean.tex b/stratus1/doc/man_boolean.tex deleted file mode 100644 index 25086cca..00000000 --- a/stratus1/doc/man_boolean.tex +++ /dev/null @@ -1,65 +0,0 @@ -\subsubsection{Description} - -Most common boolean operators can be instantiated without the \verb-Inst- constructor. - -\subsubsection{List} - -Boolean operators are listed below : -\begin{itemize} - \item \verb-And2- : \verb-q <= i0 & i1- - \item \verb-Or2- : \verb-q <= i0 | i1- - \item \verb-Xor2- : \verb-q <= i0 ^ i1- - \item \verb-Inv- : \verb-q <= ~i0- -\end{itemize} - - -\subsubsection{Generators to instantiate} - -One can choose the generator to be used. Some methods are applied to the cell and set the generator used when using \verb-&-, \verb-|-, \verb-^- and \verb-~-. The generators used by default are the ones from the virtual library.\\ - -\indent Methods are : -\begin{itemize} - \item \verb-SetAnd- - \item \verb-SetOr- - \item \verb-SetXor- - \item \verb-SetNot- -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -class essai ( Model ) : - - def Interface ( self ) : - self.A = LogicIn ( "a", 4 ) - self.B = LogicIn ( "b", 4 ) - self.B = LogicIn ( "c", 4 ) - - self.S = LogicOut ( "s", 4 ) - - self.vdd = VddIn ( "vdd" ) - self.vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - self.S <= ( ~self.A & self.B ) | self.C -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] & : the nets must have the same lenght.-\\When one uses boolean expressions, one has to check that the sizes of both nets are equivalent. - \item \verb-[Stratus ERROR] : there is no alim.-\\The cell being created does not have the alimentation nets. The instanciation is impossible. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Instanciation of a multiplexor}}{}{Multiplexor}{secmux} -\hyperref[ref]{\emph{Instanciation of a shifter}}{}{Shifter}{secshift} -\hyperref[ref]{\emph{Instanciation of a register}}{}{Reg}{secreg} -\hyperref[ref]{\emph{Instanciation of constants}}{}{Constant}{secconstant} -\hyperref[ref]{\emph{Arithmetical operations}}{}{Arithmetic}{secarithmetic} -\hyperref[ref]{\emph{Comparison operations}}{}{Comparison}{seccomp} diff --git a/stratus1/doc/man_buff.tex b/stratus1/doc/man_buff.tex deleted file mode 100644 index c5ecebbe..00000000 --- a/stratus1/doc/man_buff.tex +++ /dev/null @@ -1,44 +0,0 @@ -\subsubsection{Name} - -Buffer -- Easy way to instantiate a buffer - -\subsubsection{Synopsys} - -\begin{verbatim} -netOut <= netIn.Buffer() -\end{verbatim} - -\subsubsection{Description} - -This method is a method of net. The net which this method is applied to is the input net of the buffer. The method returns a net : the output net.\\ -\indent Note that it is possible to change the generator instanciated with the \verb-SetBuff- method. - -\subsubsection{Example} - -\begin{verbatim} -class essai ( Model ) : - - def Interface ( self ) : - self.A = LogicIn ( "a", 4 ) - - self.S = LogicOut ( "s", 4 ) - - self.Vdd = VddIn ( "vdd" ) - self.Vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - self.S <= self.A.Buffer() -\end{verbatim} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Instanciation of a multiplexor}}{}{Multiplexor}{secmux} -\hyperref[ref]{\emph{Instanciation of a shifter}}{}{Shifter}{secshift} -\hyperref[ref]{\emph{Instanciation of a register}}{}{Reg}{secreg} -\hyperref[ref]{\emph{Instanciation of constants}}{}{Constant}{secconstant} -\hyperref[ref]{\emph{Boolean operations}}{}{Boolean}{secbool} -\hyperref[ref]{\emph{Arithmetical operations}}{}{Arithmetic}{secarithmetic} -\hyperref[ref]{\emph{Comparison operations}}{}{Comparison}{seccomp} diff --git a/stratus1/doc/man_cat.tex b/stratus1/doc/man_cat.tex deleted file mode 100644 index bf1ab5a1..00000000 --- a/stratus1/doc/man_cat.tex +++ /dev/null @@ -1,47 +0,0 @@ -\subsubsection{Name} - -Cat -- Concatenation of nets - -\subsubsection{Synopsys} - -\begin{verbatim} -Cat ( net1, net2 ) -\end{verbatim} - -\subsubsection{Description} - -Concatenation of nets. The nets are given as parameters, the concatenation starts with the MSB. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-nets- : list of nets to be concatened (tuple or array) -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -myNet <= Cat ( A, B ) -\end{verbatim} -\indent Or : -\begin{verbatim} -tab = [] -tab.append ( A ) -tab.append ( B ) -myNet <= Cat ( tab ) -\end{verbatim} - -\indent If A and B are 2 bits nets, the net \verb-myNet- will be such as : -\begin{verbatim} -myNet[3] = A[1] -myNet[2] = A[0] -myNet[1] = B[1] -myNet[0] = B[0] -\end{verbatim} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Nets}}{}{Nets}{secnet} -\hyperref[ref]{\emph{Alias}}{}{Alias}{secalias} -\hyperref[ref]{\emph{Extend}}{}{Extend}{secextend} diff --git a/stratus1/doc/man_comp.tex b/stratus1/doc/man_comp.tex deleted file mode 100644 index c38777be..00000000 --- a/stratus1/doc/man_comp.tex +++ /dev/null @@ -1,67 +0,0 @@ -\subsubsection{Name} - -Eq/Ne : Easy way to test the value of the nets - -\subsubsection{Synopsys} - -\begin{verbatim} -netOut <= net.Eq ( "n" ) -\end{verbatim} - -\subsubsection{Description} - -Comparaison functions are listed below : -\begin{itemize} - \item \verb-Eq- : returns \verb-true- if the value of the net is equal to \verb-n-. - \item \verb-Ne- : returns \verb-true- if the value of the net is different from \verb-n-. -\end{itemize} -\indent Note that it is possible to change the generator instanciated with the \verb-SetComp- method. - -\subsubsection{Parameters} - -The constant given as argument must be a string representing : -\begin{itemize} - \item A decimal number - \item A binary number : the string must begin with "0b" - \item An hexadecimal number : the string must begin with "0x" -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -class essai ( Model ) : - - def Interface ( self ) : - self.A = LogicIn ( "a", 4 ) - - self.S = LogicOut ( "s", 1 ) - self.T = LogicOut ( "t", 1 ) - - self.vdd = VddIn ( "vdd" ) - self.vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - self.S <= self.A.Eq ( "4" ) - - self.T <= self.A.Ne ( "1" ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Eq : the number does not match with the net's lenght.-\\When one uses comparaison functions on one net, one has to check that the number corresponds to the size of the net. - \item \verb-[Stratus ERROR] Eq :-\\\verb-the argument must be a string representing a number in decimal, binary (0b) or hexa (0x).-\\The string given as argument does not have the right form. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Instanciation of a multiplexor}}{}{Multipliexor}{secmux} -\hyperref[ref]{\emph{Instanciation of a shifter}}{Shifter}{}{secshift} -\hyperref[ref]{\emph{Instanciation of a register}}{}{Reg}{secreg} -\hyperref[ref]{\emph{Instanciation of constants}}{Constant}{}{secconstant} -\hyperref[ref]{\emph{Boolean operations}}{}{Boolean}{secbool} -\hyperref[ref]{\emph{Arithmetical operations}}{}{Arithmetic}{secarithmetic} diff --git a/stratus1/doc/man_const.tex b/stratus1/doc/man_const.tex deleted file mode 100644 index c16a5b30..00000000 --- a/stratus1/doc/man_const.tex +++ /dev/null @@ -1,81 +0,0 @@ -\subsubsection{Name} - -Constant -- Easy way to instantiate constants - -\subsubsection{Synopsys} - -\begin{verbatim} -netOne <= One ( 2 ) - -net8 <= "8" -\end{verbatim} - -\subsubsection{Description} - -These functions simplify the way to instanciate constants. -\begin{itemize} - \item The functions \verb-One- and\verb-Zero- permits to initialise all the bits of a net to 'one' or 'zero'. - \item The instanciation of a constant thanks to a string can be done in decimal, hecadecimal or binary. -\end{itemize} - -\subsubsection{Parameters} - -\begin{itemize} - \item For \verb-One- and \verb-Zero- : - \begin{itemize} - \item \verb-n- : the arity of the net - \end{itemize} - \item For the instanciation of a constant : - \begin{itemize} - \item the constant given must be a string representing : - \begin{itemize} - \item A decimal number - \item A binary number : the string must begin with "0b" - \item An hexadecimal number : the string must begin with "0x" - \end{itemize} - \end{itemize} -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -class essai ( Model ) : - - def Interface ( self ) : - self.Ones = LogicOut ( "ones", 2 ) - self.Zeros = LogicOut ( "zeros", 4 ) - - self.Eight = LogicOut ( "eight", 4 ) - self.Twentu = LogicOut ( "twenty", 5 ) - self.Two = LogicOut ( "two", 5 ) - - self.Vdd = VddIn ( "vdd" ) - self.Vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - self.Ones <= One ( 2 ) - self.Zero <= Zero ( 4 ) - - self.Eight <= "8" - self.Twenty <= "0x14" - self.Two <= "0b10" -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Const :-\\\verb-the argument must be a string representing a number in decimal, binary (0b) or hexa (0x).-\\The string given as argument does not have the right form. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Instanciation of a multiplexor}}{}{Multiplexor}{secmux} -\hyperref[ref]{\emph{Instanciation of a shifter}}{}{Shifter}{secshift} -\hyperref[ref]{\emph{Instanciation of a register}}{}{Reg}{secreg} -\hyperref[ref]{\emph{Boolean operations}}{}{Boolean}{secbool} -\hyperref[ref]{\emph{Arithmetical operations}}{}{Arithmetic}{secarithmetic} -\hyperref[ref]{\emph{Comparison operations}}{}{Comparison}{seccomp} diff --git a/stratus1/doc/man_def_ab.tex b/stratus1/doc/man_def_ab.tex deleted file mode 100644 index b92e81b1..00000000 --- a/stratus1/doc/man_def_ab.tex +++ /dev/null @@ -1,49 +0,0 @@ -\subsubsection{Name} - -DefAb -- Creates the abutment box of the current cell - -\subsubsection{Synopsys} - -\begin{verbatim} -DefAb ( x1, y1, x2, y2 ) -\end{verbatim} - -\subsubsection{Description} - -This function creates the abutment box of the current cell.\\ - -\indent Note that one does not have to call this function before saving in order to create the abutment box. The abutment box is created nevertheless (given to placed instances). This function is usefull if one wants to create an abutment before placing the instances. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-( x1, y1)- : coordinates of the bottom left corner of the created abutment box. - \item \verb-( x2, y2)- : coordinates of the top right corner of the created abutment box. -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -DefAb ( 0, 0, 500, 100 ) - -Place ( Inv, NOSYM, 0, 0 ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] DefAb : an abutment box already exists.-\\\verb- Maybe you should use ResizeAb function.-\\One has called DefAb but the current cell already has an abutment box.\\In order to modify the current abutment box, the function to call is ResizeAb. - \item \verb-[Stratus ERROR] DefAb :-\\\verb-Coordinates of an abutment Box in y must be multiple of the slice.-\\\verb-Coordinates of an abutment Box in x must be multiple of the pitch.-\\One has called DefAb with non authorized values. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Place}}{}{Place}{secplace} -\hyperref[ref]{\emph{PlaceTop}}{}{PlaceTop}{sectop} -\hyperref[ref]{\emph{PlaceBottom}}{}{PlaceBottom}{secbottom} -\hyperref[ref]{\emph{PlaceRight}}{}{PlaceRight}{secright} -\hyperref[ref]{\emph{PlaceLeft}}{}{PlaceLeft}{secleft} -\hyperref[ref]{\emph{SetRefIns}}{}{SetRefIns}{secsetrefins} -\hyperref[ref]{\emph{ResizeAb}}{}{ResizeAb}{secresizeab} diff --git a/stratus1/doc/man_dpgenadsb2f.tex b/stratus1/doc/man_dpgenadsb2f.tex deleted file mode 100644 index a43041df..00000000 --- a/stratus1/doc/man_dpgenadsb2f.tex +++ /dev/null @@ -1,58 +0,0 @@ -\begin{itemize} - \item Name : DpgenAdsb2f -- Adder/Substractor Macro-Generator - \item Description : Generates a \verb-n- bits adder/substractor named \verb-modelname-. - \item How it works : - \begin{itemize} - \item if the \verb-add_sub- signal is set to \verb-zero- an addition is performed, otherwise it's a substraction. - \item Operation can be either signed or unsigned. In unsigned mode \verb-c31- is the overflow. in signed mode you have to compute overflow by \emph{XORing} \verb-c31- and \verb-c30- - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item add\_sub : select addition or substraction (input, 1 bit) - \item c31 : carry out. In unsigned mode, this is the overflow (output, 1 bit) - \item c30 : used to compute overflow in signed mode : \verb-overflow = c31 xor c30- (output, 1 bit) - \item i0 : first operand (input, \verb-n- bits) - \item i1 : second operand (input, \verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in = LogicIn ( "in", 8 ) - self._in2 = LogicIn ( "in2", 8 ) - - self._out = LogicOut ( "out", 8 ) - - self._as = LogicIn ( "as", 1 ) - self._c0 = LogicOut ( "c0", 1 ) - self._c1 = LogicOut ( "c1", 1 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenAdsb2f' - , param = { 'nbit' : 8 } - , map = { 'i0' : self._in - , 'i1' : self._in2 - , 'add_sub' : self._as - , 'q' : self._out - , 'c30' : self._c0 - , 'c31' : self._c1 - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenand2.tex b/stratus1/doc/man_dpgenand2.tex deleted file mode 100644 index 83dc5a11..00000000 --- a/stratus1/doc/man_dpgenand2.tex +++ /dev/null @@ -1,48 +0,0 @@ -\begin{itemize} - \item Name : DpgenAnd2 -- And2 Macro-Generator - \item Description : Generates a \verb-n- bits two inputs AND with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 2 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= i0 and i1 -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenAnd2' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenand3.tex b/stratus1/doc/man_dpgenand3.tex deleted file mode 100644 index 2c008f75..00000000 --- a/stratus1/doc/man_dpgenand3.tex +++ /dev/null @@ -1,51 +0,0 @@ -\begin{itemize} - \item Name : DpgenAnd3 -- And3 Macro-Generator - \item Description : Generates a \verb-n- bits three inputs AND with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 2 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item i2 : input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= i0 and i1 and i2 -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - self._in2 = LogicIn ( "in2", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenAnd3' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'i2' : self._in2 - , 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenand4.tex b/stratus1/doc/man_dpgenand4.tex deleted file mode 100644 index 2fc00f09..00000000 --- a/stratus1/doc/man_dpgenand4.tex +++ /dev/null @@ -1,54 +0,0 @@ -\begin{itemize} - \item Name : DpgenAnd4 -- And4 Macro-Generator - \item Description : Generates a \verb-n- bits four inputs AND with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 2 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item i2 : input (\verb-n- bits) - \item i3 : input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= i0 and i1 and i2 and i3 -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - self._in2 = LogicIn ( "in2", 32 ) - self._in3 = LogicIn ( "in3", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenAnd4' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'i2' : self._in2 - , 'i3' : self._in3 - , 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenbuff.tex b/stratus1/doc/man_dpgenbuff.tex deleted file mode 100644 index 78e1ed04..00000000 --- a/stratus1/doc/man_dpgenbuff.tex +++ /dev/null @@ -1,45 +0,0 @@ -\begin{itemize} - \item Name : DpgenBuff -- Buffer Macro-Generator - \item Description : Generates a \verb-n- bits inverter with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 2, 4 or 8 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= i0 -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in = LogicIn ( "in", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenBuff' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in - , 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenbuse.tex b/stratus1/doc/man_dpgenbuse.tex deleted file mode 100644 index 54eb3a71..00000000 --- a/stratus1/doc/man_dpgenbuse.tex +++ /dev/null @@ -1,49 +0,0 @@ -\begin{itemize} - \item Name : DpgenBuse -- Tristate Macro-Generator - \item Description : Generates a \verb-n- bits tristate with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 4 or 8 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item cmd : select ( 1 bit ) - \item i0 : input ( \verb-n- bits ) - \item q : output ( \verb-n- bits ) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} - \item Behavior : -\begin{verbatim} -nts:BLOCK(cmd = '1') BEGIN - q <= GUARDED i0; -END -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in = LogicIn ( "in", 32 ) - self._cmd = LogicIn ( "cmd", 1 ) - - self._out = TriState ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenBuse' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in - , 'cmd' : self._cmd - , 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenconst.tex b/stratus1/doc/man_dpgenconst.tex deleted file mode 100644 index c2658547..00000000 --- a/stratus1/doc/man_dpgenconst.tex +++ /dev/null @@ -1,38 +0,0 @@ -\begin{itemize} - \item Name : DpgenConst -- Constant Macro-Generator - \item Description : Generates a \verb-n- bits constant named \verb-modelname-. - \item Terminal Names : - \begin{itemize} - \item q : the constant (output, \verb-n- bit) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item const : Defines the constant - \item nbit : Defines the size of the generator - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._out = LogicOut ( "out", 8 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - Inst ( 'DpgenConst' - , param = { 'nbit' : 8 - , 'const' : "0xA1" - } - , map = { 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgendff.tex b/stratus1/doc/man_dpgendff.tex deleted file mode 100644 index f8483c22..00000000 --- a/stratus1/doc/man_dpgendff.tex +++ /dev/null @@ -1,50 +0,0 @@ -\begin{itemize} - \item Name : DpgenDff -- Dynamic Flip-Flop Macro-Generator - \item Description : Generates a n bits dynamic flip-flop named \verb-modelname-. The two latches of this flip-flop are dynamic, i.e. the data is stored in a capacitor. - \item How it works : - \begin{itemize} - \item when wen is set to \verb-one-, enables the writing of the flip-flop - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item wen : write enable (1 bit) - \item ck : clock signal (1 bit) - \item i0 : data input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._ck = LogicIn ( "ck", 1 ) - self._wen = LogicIn ( "wen", 1 ) - self._in = LogicIn ( "in", 4 ) - - self._out = LogicOut ( "out", 4 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenDff' - , param = { 'nbit' : 4 } - , map = { "wen" : self._wen - , "ck" : self._ck - , "i0" : self._in - , "q" : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgendfft.tex b/stratus1/doc/man_dpgendfft.tex deleted file mode 100644 index 65d3de90..00000000 --- a/stratus1/doc/man_dpgendfft.tex +++ /dev/null @@ -1,58 +0,0 @@ -\begin{itemize} - \item Name : DpgenDfft -- Dynamic Flip-Flop with Scan-Path Macro-Generator - \item Description : Generates a n bits dynamic flip-flop with scan-path named \verb-modelname-. The two latches of this flip-flop are dynamic, i.e. the data is stored in a capacitor. - \item How it works : - \begin{itemize} - \item scan : when set to \verb-one- enables the scan-path mode. Note that in scan-path mode, the wen signal is not effective - \item scin : the input of the scan-path. This terminal is different from \verb-i0[0]-. The scout is q[N-1] (in the following example this is \verb-q[31]-) - \item when wen is set to \verb-one- enables the writing of the flip-flop - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item scan : scan-path mode (input, 1 bit) - \item scin : scan path in (input, 1 bit) - \item wen : write enable (1 bit) - \item ck : clock signal (1 bit) - \item i0 : data input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._scan = LogicIn ( "scin", 1 ) - self._scin = LogicIn ( "scan", 1 ) - self._ck = LogicIn ( "ck", 1 ) - self._wen = LogicIn ( "wen", 1 ) - self._in = LogicIn ( "in", 4 ) - - self._out = LogicOut ( "out", 4 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenDfft' - , param = { 'nbit' : 4 } - , map = { "wen" : self._wen - , "ck" : self._ck - , "scan" : self._scan - , "scin" : self._scin - , "i0" : self._in - , "q" : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenfifo.tex b/stratus1/doc/man_dpgenfifo.tex deleted file mode 100644 index 8da737fd..00000000 --- a/stratus1/doc/man_dpgenfifo.tex +++ /dev/null @@ -1,79 +0,0 @@ -\begin{itemize} - \item Name : DpgenFifo -- Fifo Macro-Generator - \item Description : Generates a FIFO pf \verb-ergNumber- words of \verb-n- bits named \verb-modelname-. - \item How it works : - \begin{itemize} - \item datain0 and datain1 : the two write busses. Only one is used to actually write the FIFO, it is selected by the sel signal. - \item sel : when set to \verb-zero- the datain0 is used to write the register word, otherwise it will be datain1. - \item r, rok : set r when a word is requested, rok tells that a word has effectively been popped (rok == not empty). - \item w, wok : set w when a word is pushed, wok tells that the word has effectively been pushed (wok == not full). - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item ck : clock signal (input, 1 bit) - \item reset : reset signal (input, 1 bit) - \item r : read requested (input, 1 bit) - \item w : write requested (input, 1 bit) - \item rok : read acknowledge (output, 1 bit) - \item wok : write acknowledge (output, 1 bit) - \item sel : select the write bus (input, 1 bit) - \item datain0 : first write bus (input, \verb-n- bits) - \item datain1 : second write bus (input, \verb-n- bits) - \item dataout : read bus (output, \verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the words (even, between 2 and 64) - \item nword : Defines the number of words (even, between 4 and 32) - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - global nbit, nword - nbit = 4 - nword = 16 - - def Interface ( self ) : - - self._ck = LogicIn ( "ck", 1 ) - self._reset = LogicIn ( "reset", 1 ) - self._r = LogicIn ( "r", 1 ) - self._w = LogicIn ( "w", 1 ) - self._rok = LogicInOut ( "rok", 1 ) - self._wok = LogicInOut ( "wok", 1 ) - self._sel = LogicIn ( "sel", 1 ) - - self._datain0 = LogicIn ( "datain0", nbit ) - self._datain1 = LogicIn ( "datain1", nbit ) - self._dataout = LogicOut ( "dataout", nbit ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenFifo' - , param = { 'nword' : nword - , 'nbit' : nbit - } - , map = { 'ck' : self._ck - , 'reset' : self._reset - , 'r' : self._r - , 'w' : self._w - , 'rok' : self._rok - , 'wok' : self._wok - , 'sel' : self._sel - , 'datain0' : self._datain0 - , 'datain1' : self._datain1 - , 'dataout' : self._dataout - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgeninv.tex b/stratus1/doc/man_dpgeninv.tex deleted file mode 100644 index 5198b454..00000000 --- a/stratus1/doc/man_dpgeninv.tex +++ /dev/null @@ -1,45 +0,0 @@ -\begin{itemize} - \item Name : DpgenInv -- Inverter Macro-Generator - \item Description : Generates a \verb-n- bits inverter with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1, 2, 4 or 8 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item \verb-i0- : input (\verb-n- bits) - \item \verb-nq- : output (\verb-n- bits) - \item \verb-vdd- : power - \item \verb-vss- : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= not ( i0 ) -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in = LogicIn ( "in", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenInv' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenmux2.tex b/stratus1/doc/man_dpgenmux2.tex deleted file mode 100644 index 1f0f6cf1..00000000 --- a/stratus1/doc/man_dpgenmux2.tex +++ /dev/null @@ -1,54 +0,0 @@ -\begin{itemize} - \item Name : DpgenMux2 -- Multiplexer Macro-Generator - \item Description : Generates a \verb-n- bits two inputs multiplexer with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 2 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item cmd : select ( 1 bit ) - \item i0 : input ( \verb-n- bits ) - \item i1 : input ( \verb-n- bits ) - \item q : output ( \verb-n- bits ) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item nbit\_cmd : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= WITH cmd SELECT i0 WHEN '0', - i1 WHEN '1'; -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - - self._cmd = LogicIn ( "cmd", 1 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenMux2' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'cmd' : self._cmd - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennand2.tex b/stratus1/doc/man_dpgennand2.tex deleted file mode 100644 index 2dfaf8fd..00000000 --- a/stratus1/doc/man_dpgennand2.tex +++ /dev/null @@ -1,48 +0,0 @@ -\begin{itemize} - \item Name : DpgenNand2 -- Nand2 Macro-Generator - \item Description : Generates a \verb-n- bits two inputs NAND with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item nq : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= not ( i0 and i1 ) -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNand2' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennand2mask.tex b/stratus1/doc/man_dpgennand2mask.tex deleted file mode 100644 index 5a228ae3..00000000 --- a/stratus1/doc/man_dpgennand2mask.tex +++ /dev/null @@ -1,55 +0,0 @@ -\begin{itemize} - \item Name : DpgenNand2mask -- Programmable Mask Macro-Generator - \item Description : Generates a \verb-n- bits conditionnal NAND mask named \verb-modelname-. - \item How it works : - \begin{itemize} - \item if the \verb-cmd- signal is set to \verb-zero-, the mask is NOT applied, so the whole operator behaves like an inverter. - \item if the \verb-cmd- signal is set to \verb-one-, the mask is applied, the output is the \emph{complemented} result of the input value \emph{ANDed} with the mask (suplied by \verb-constVal-). - \item The constant \verb-constVal- is given to the macro-generator call, therefore the value cannot be changed afterward : it's hard wired in the operator. - \item A common error is to give a real constant for the \verb-constVal- argument. Be aware that it is a character string. - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item cmd : mask control ( 1 bit ) - \item i0 : input ( \verb-n- bits ) - \item nq : output ( \verb-n- bits ) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item const : Defines the constant - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= WITH cmd SELECT not(i0) WHEN '0', - not(i0 and X"0000FFFF") WHEN '1'; -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in = LogicIn ( "in", 8 ) - self._cmd = LogicIn ( "cmd", 1 ) - - self._out = LogicOut ( "out", 8 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNand2mask' - , param = { 'nbit' : 8 - , 'const' : "0b000111" - } - , map = { 'i0' : self._in - , 'cmd' : self._cmd - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennand3.tex b/stratus1/doc/man_dpgennand3.tex deleted file mode 100644 index c8fa1fd1..00000000 --- a/stratus1/doc/man_dpgennand3.tex +++ /dev/null @@ -1,51 +0,0 @@ -\begin{itemize} - \item Name : DpgenNand3 -- Nand3 Macro-Generator - \item Description : Generates a \verb-n- bits three inputs NAND with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item i2 : input (\verb-n- bits) - \item nq : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= not ( i0 and i1 and i2 ) -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - self._in2 = LogicIn ( "in2", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNand3' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'i2' : self._in2 - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennand4.tex b/stratus1/doc/man_dpgennand4.tex deleted file mode 100644 index 3880243a..00000000 --- a/stratus1/doc/man_dpgennand4.tex +++ /dev/null @@ -1,54 +0,0 @@ -\begin{itemize} - \item Name : DpgenNand4 -- Nand4 Macro-Generator - \item Description : Generates a \verb-n- bits four inputs NAND with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item i2 : input (\verb-n- bits) - \item i3 : input (\verb-n- bits) - \item nq : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= not ( i0 and i1 and i2 and i3 ) -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - self._in2 = LogicIn ( "in2", 32 ) - self._in3 = LogicIn ( "in3", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNand4' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'i2' : self._in2 - , 'i3' : self._in3 - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennbuse.tex b/stratus1/doc/man_dpgennbuse.tex deleted file mode 100644 index f2882a14..00000000 --- a/stratus1/doc/man_dpgennbuse.tex +++ /dev/null @@ -1,46 +0,0 @@ -\begin{itemize} - \item Name : DpgenNbuse -- Tristate Macro-Generator - \item Description : Generates a \verb-n- bits tristate with an complemented output named \verb-modelname-. - \item Terminal Names : - \begin{itemize} - \item cmd : select ( 1 bit ) - \item i0 : input ( \verb-n- bits ) - \item nq : output ( \verb-n- bits ) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} - \item Behavior : -\begin{verbatim} -nts:BLOCK(cmd = '1') BEGIN - nq <= GUARDED not(i0); -END -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in = LogicIn ( "in", 32 ) - self._cmd = LogicIn ( "cmd", 1 ) - - self._out = TriState ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNbuse' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in - , 'cmd' : self._cmd - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennmux2.tex b/stratus1/doc/man_dpgennmux2.tex deleted file mode 100644 index bb7ddd76..00000000 --- a/stratus1/doc/man_dpgennmux2.tex +++ /dev/null @@ -1,55 +0,0 @@ -\begin{itemize} - \item Name : DpgenNmux2 -- Multiplexer Macro-Generator -% \item Description : Generates a \verb-n- bits two inputs multiplexer with an output power of \verb-drive- named \verb-modelname-. - \item Description : Generates a \verb-n- bits two inputs multiplexer named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item cmd : select ( 1 bit ) - \item i0 : input ( \verb-n- bits ) - \item i1 : input ( \verb-n- bits ) - \item nq : output ( \verb-n- bits ) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item nbit\_cmd : Defines the size of the generator -% \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= WITH cmd SELECT not i0 WHEN '0', - not i1 WHEN '1'; -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - - self._cmd = LogicIn ( "cmd", 1 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNmux2' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'cmd' : self._cmd - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennor2.tex b/stratus1/doc/man_dpgennor2.tex deleted file mode 100644 index f9501895..00000000 --- a/stratus1/doc/man_dpgennor2.tex +++ /dev/null @@ -1,48 +0,0 @@ -\begin{itemize} - \item Name : DpgenNor2 -- Nor2 Macro-Generator - \item Description : Generates a \verb-n- bits two inputs NOR with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item nq : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= not ( i0 or i1 ) -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNor2' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennor2mask.tex b/stratus1/doc/man_dpgennor2mask.tex deleted file mode 100644 index 34394014..00000000 --- a/stratus1/doc/man_dpgennor2mask.tex +++ /dev/null @@ -1,55 +0,0 @@ -\begin{itemize} - \item Name : DpgenNor2mask -- Programmable Mask Macro-Generator - \item Description : Generates a \verb-n- bits conditionnal NOR mask named \verb-modelname-. - \item How it works : - \begin{itemize} - \item if the \verb-cmd- signal is set to \verb-zero-, the mask is NOT applied, so the whole operator behaves like an inverter. - \item if the \verb-cmd- signal is set to \verb-one-, the mask is applied, the output is the \emph{complemented} result of the input value \emph{ORed} with the mask (suplied by \verb-constVal-). - \item The constant \verb-constVal- is given to the macro-generator call, therefore the value cannot be changed afterward : it's hard wired in the operator. - \item A common error is to give a real constant for the \verb-constVal- argument. Be aware that it is a character string. - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item cmd : mask control ( 1 bit ) - \item i0 : input ( \verb-n- bits ) - \item nq : output ( \verb-n- bits ) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item const : Defines the constant - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= WITH cmd SELECT not(i0) WHEN '0', - not(i0 or X"0000FFFF") WHEN '1'; -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in = LogicIn ( "in", 8 ) - self._cmd = LogicIn ( "cmd", 1 ) - - self._out = LogicOut ( "out", 8 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNor2mask' - , param = { 'nbit' : 8 - , 'const' : "0b000111" - } - , map = { 'i0' : self._in - , 'cmd' : self._cmd - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennor3.tex b/stratus1/doc/man_dpgennor3.tex deleted file mode 100644 index caa845a0..00000000 --- a/stratus1/doc/man_dpgennor3.tex +++ /dev/null @@ -1,51 +0,0 @@ -\begin{itemize} - \item Name : DpgenNor3 -- Nor3 Macro-Generator - \item Description : Generates a \verb-n- bits three inputs NOR with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item i2 : input (\verb-n- bits) - \item nq : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= not ( i0 or i1 or i2 ) -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - self._in2 = LogicIn ( "in2", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNor3' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'i2' : self._in2 - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennor4.tex b/stratus1/doc/man_dpgennor4.tex deleted file mode 100644 index a7a3f0bb..00000000 --- a/stratus1/doc/man_dpgennor4.tex +++ /dev/null @@ -1,54 +0,0 @@ -\begin{itemize} - \item Name : DpgenNor4 -- Nor4 Macro-Generator - \item Description : Generates a \verb-n- bits four inputs NOR with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item i2 : input (\verb-n- bits) - \item i3 : input (\verb-n- bits) - \item nq : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= not ( i0 or i1 or i2 or i3 ) -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - self._in2 = LogicIn ( "in2", 32 ) - self._in3 = LogicIn ( "in3", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNor4' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'i2' : self._in2 - , 'i3' : self._in3 - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgennul.tex b/stratus1/doc/man_dpgennul.tex deleted file mode 100644 index be68a6b6..00000000 --- a/stratus1/doc/man_dpgennul.tex +++ /dev/null @@ -1,41 +0,0 @@ -\begin{itemize} - \item Name : DpgenNul -- Zero Detector Macro-Generator - \item Description : Generates a \verb-n- bits zero detector named \verb-modelname-. - \item Terminal Names : - \begin{itemize} - \item i0 : value to check (input, \verb-n- bits) - \item q : null flag (1 bit) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} - \item Behavior : -\begin{verbatim} -q <= '1' WHEN ( i0 = X"00000000" ) ELSE '0'; -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in = LogicIn ( "in", 32 ) - - self._out = LogicOut ( "out", 1 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenNul' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in - , 'nul' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenor2.tex b/stratus1/doc/man_dpgenor2.tex deleted file mode 100644 index 5fbe5bef..00000000 --- a/stratus1/doc/man_dpgenor2.tex +++ /dev/null @@ -1,48 +0,0 @@ -\begin{itemize} - \item Name : DpgenOr2 -- Or2 Macro-Generator - \item Description : Generates a \verb-n- bits two inputs OR with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 2 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= i0 or i1 -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenOr2' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenor3.tex b/stratus1/doc/man_dpgenor3.tex deleted file mode 100644 index 6c99bfd6..00000000 --- a/stratus1/doc/man_dpgenor3.tex +++ /dev/null @@ -1,51 +0,0 @@ -\begin{itemize} - \item Name : DpgenOr3 -- Or3 Macro-Generator - \item Description : Generates a \verb-n- bits three inputs OR with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 2 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item i2 : input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= i0 or i1 or i2 -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - self._in2 = LogicIn ( "in2", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenOr3' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'i2' : self._in2 - , 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenor4.tex b/stratus1/doc/man_dpgenor4.tex deleted file mode 100644 index ceb6e381..00000000 --- a/stratus1/doc/man_dpgenor4.tex +++ /dev/null @@ -1,54 +0,0 @@ -\begin{itemize} - \item Name : DpgenOr4 -- Or4 Macro-Generator - \item Description : Generates a \verb-n- bits four inputs OR with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 2 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item i2 : input (\verb-n- bits) - \item i3 : input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= i0 or i1 or i2 or i3 -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - self._in2 = LogicIn ( "in2", 32 ) - self._in3 = LogicIn ( "in3", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenOr4' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'i2' : self._in2 - , 'i3' : self._in3 - , 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenram.tex b/stratus1/doc/man_dpgenram.tex deleted file mode 100644 index 45b7c58d..00000000 --- a/stratus1/doc/man_dpgenram.tex +++ /dev/null @@ -1,56 +0,0 @@ -\begin{itemize} - \item Name : DpgenRam -- RAM Macro-Generator - \item Description : Generates a RAM of \verb-regNumber- words of \verb-n- bits named \verb-modelname-. - \item Terminal Names : - \begin{itemize} - \item ck : clock signal (input, 1 bit) - \item w : write requested (input, 1 bit) - \item selram : select the write bus (input, 1 bit) - \item ad : the address (input, \verb-Y- bits) - \item datain : write bus (input, \verb-n- bits) - \item dataout : read bus (output, \verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item nword : Defines the size of the words - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._ck = LogicIn ( "ck", 1 ) - self._w = LogicIn ( "w", 1 ) - self._selram = LogicIn ( "selram", 1 ) - - self._ad = LogicIn ( "ad", 5 ) - self._datain = LogicIn ( "datain", 32 ) - - self._dataout = TriState ( "dataout", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenRam' - , param = { 'nword' : 32 - , 'nbit' : 32 - } - , map = { 'ck' : self._ck - , 'w' : self._w - , 'selram' : self._selram - , 'ad' : self._ad - , 'datain' : self._datain - , 'dataout' : self._dataout - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenrf1.tex b/stratus1/doc/man_dpgenrf1.tex deleted file mode 100644 index 7b332c1d..00000000 --- a/stratus1/doc/man_dpgenrf1.tex +++ /dev/null @@ -1,70 +0,0 @@ -\begin{itemize} - \item Name : DpgenRf1, DpgenRf1r0 -- Register File Macro-Generator - \item Description : Generates a register file of \verb-regNumber- words of \verb-n- bits without decoder named \verb-modelname-. - \item How it works : - \begin{itemize} - \item datain0 and datain1 are the two write busses. Only one is used to actually write the register word, it is selected by the sel signal. - \item when sel is set to zero datain0 is used to write the register word, otherwise it will be datain1 - \item selr, selw : this register file have no decoder, so selr have a bus width equal to \verb-regNumber-. One bit for each word - \item The DpgenRf1r0 variant differs from the DpgenRf1 in that the register of address zero is stuck to zero. You can write into it, it will not change the value. When read, it will always return zero - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item ckok : clock signal (input, 1 bit) - \item sel : select the write bus (input, 1 bit) - \item selr : the decoded read address (input, \verb-regNumber- bits) - \item selw : the decoded write address (input, \verb-regNumber- bits) - \item datain0 : first write bus (input, \verb-n- bits) - \item datain1 : second write bus (input, \verb-n- bits) - \item dataout : read bus (output, \verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the words (even, between 2 and 64) - \item nword : Defines the number of the words (even, between 4 and 32) - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - - def Interface ( self ) : - - self.nbit = self._param['nbit'] - self.nword = self._param['nword'] - - self._ck = LogicIn ( "ck", 1 ) - self._sel = LogicIn ( "sel", 1 ) - - self._selr = LogicIn ( "selr", self.nword ) - self._selw = LogicIn ( "selw", self.nword ) - self._datain0 = LogicIn ( "datain0", self.nbit ) - self._datain1 = LogicIn ( "datain1", self.nbit ) - self._dataout = LogicOut ( "dataout", self.nbit ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenRf1' - , param = { 'nword' : self.nword - , 'nbit' : self.nbit - } - , map = { 'ck' : self._ck - , 'sel' : self._sel - , 'selr' : self._selr - , 'selw' : self._selw - , 'datain0' : self._datain0 - , 'datain1' : self._datain1 - , 'dataout' : self._dataout - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenrf1d.tex b/stratus1/doc/man_dpgenrf1d.tex deleted file mode 100644 index 705cdd9b..00000000 --- a/stratus1/doc/man_dpgenrf1d.tex +++ /dev/null @@ -1,81 +0,0 @@ -\begin{itemize} - \item Name : DpgenRf1d, DpgenRf1dr0 -- Register File with Decoder Macro-Generator - \item Description : Generates a register file of \verb-regNumber- words of \verb-n- bits with decoder named \verb-modelname-. - \item How it works : - \begin{itemize} - \item datain0 and datain1 are the two write busses. Only one is used to actually write the register word, it is selected by the sel signal. - \item when sel is set to zero datain0 is used to write the register word, otherwise it will be datain1 - \item adr, adw : the width (Y) of those signals is computed from regNumber : \verb-Y = log2(regNumber)- - \item wen and ren : write enable and read enable, allows reading and writing when sets to \verb-one- - \item The DpgenRf1dr0 variant differs from the DpgenRf1d in that the register of address zero is stuck to zero. You can write into it, it will not change the value. When read, it will always return zero - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item ck : clock signal (input, 1 bit) - \item sel : select the write bus (input, 1 bit) - \item wen : write enable (input, 1 bit) - \item ren : read enable (input, 1 bit) - \item adr : the read address (input, \verb-Y- bits) - \item adw : the write address (input, \verb-Y- bits) - \item datain0 : first write bus (input, \verb-n- bits) - \item datain1 : second write bus (input, \verb-n- bits) - \item dataout : read bus (output, \verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the words (even, between 2 and 64) - \item nword : Defines the number of the words (even, between 6 and 32) - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - - def Interface ( self ) : - self.nbit = self._param['nbit'] - self.nword = self._param['nword'] - - adrange = 2 - if self.nword > 4 : adrange = 3 - if self.nword > 8 : adrange = 4 - if self.nword > 16 : adrange = 5 - - self._ck = LogicIn ( "ck", 1 ) - self._sel = LogicIn ( "sel", 1 ) - self._wen = LogicIn ( "wen", 1 ) - self._ren = LogicIn ( "ren", 1 ) - - self._adr = LogicIn ( "adr", adrange ) - self._adw = LogicIn ( "adw", adrange ) - self._datain0 = LogicIn ( "datain0", self.nbit ) - self._datain1 = LogicIn ( "datain1", self.nbit ) - self._dataout = LogicOut ( "dataout", self.nbit ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenRf1d' - , param = { 'nword' : self.nword - , 'nbit' : self.nbit - } - , map = { 'ck' : self._ck - , 'sel' : self._sel - , 'wen' : self._wen - , 'ren' : self._ren - , 'adr' : self._adr - , 'adw' : self._adw - , 'datain0' : self._datain0 - , 'datain1' : self._datain1 - , 'dataout' : self._dataout - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenrom2.tex b/stratus1/doc/man_dpgenrom2.tex deleted file mode 100644 index 15c9d746..00000000 --- a/stratus1/doc/man_dpgenrom2.tex +++ /dev/null @@ -1,48 +0,0 @@ -\begin{itemize} - \item Name : DpgenRom2 -- 2 words ROM Macro-Generator - \item Description : Generates a \verb-n- bits 2 words optimized ROM named \verb-modelname-. - \item Terminal Names : - \begin{itemize} - \item sel0 : address of the value (input, 1 bit) - \item q : the selected word (output, \verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item val0 : Defines the first word - \item val1 : Defines the second word - \end{itemize} - \item Behavior : -\begin{verbatim} -q <= WITH sel0 SELECT - contsVal0 WHEN B"0", - constVal1 WHEN B"1"; -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._sel0 = LogicIn ( "sel0", 1 ) - - self._q = LogicOut ( "dataout", 4 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenRom2' - , param = { 'val0' : "0b1010" - , 'val1' : "0b1100" - , 'nbit' : 4 - } - , map = { 'sel0' : self._sel0 - , 'q' : self._q - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenrom4.tex b/stratus1/doc/man_dpgenrom4.tex deleted file mode 100644 index ddec0d67..00000000 --- a/stratus1/doc/man_dpgenrom4.tex +++ /dev/null @@ -1,56 +0,0 @@ -\begin{itemize} - \item Name : DpgenRom4 -- 4 words ROM Macro-Generator - \item Description : Generates a \verb-n- bits 4 words optimized ROM named \verb-modelname-. - \item Terminal Names : - \begin{itemize} - \item sel1 : upper bit of the address of the value (input, 1 bit) - \item sel0 : lower bit of the address of the value (input, 1 bit) - \item q : the selected word (output, \verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item val0 : Defines the first word - \item val1 : Defines the second word - \item val0 : Defines the third word - \item val1 : Defines the fourth word - \end{itemize} - \item Behavior : -\begin{verbatim} -q <= WITH sel1 & sel0 SELECT contsVal0 WHEN B"00", - contsVal1 WHEN B"01", - contsVal2 WHEN B"10", - constVal3 WHEN B"11"; -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._sel0 = LogicIn ( "sel0", 1 ) - self._sel1 = LogicIn ( "sel1", 1 ) - - self._q = LogicOut ( "dataout", 4 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenRom4' - , param = { 'val0' : "0b1010" - , 'val1' : "0b1100" - , 'val2' : "0b1111" - , 'val3' : "0b0001" - , 'nbit' : 4 - } - , map = { 'sel0' : self._sel0 - , 'sel1' : self._sel1 - , 'q' : self._q - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgensff.tex b/stratus1/doc/man_dpgensff.tex deleted file mode 100644 index 5e229161..00000000 --- a/stratus1/doc/man_dpgensff.tex +++ /dev/null @@ -1,50 +0,0 @@ -\begin{itemize} - \item Name : DpgenSff -- Static Flip-Flop Macro-Generator - \item Description : Generates a n bits static flip-flop named \verb-modelname-. The two latches of this flip-flop are static, i.e. each one is made of two interters looped together. - \item How it works : - \begin{itemize} - \item when wen is set to \verb-one-, enables the writing of the flip-flop - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item wen : write enable (1 bit) - \item ck : clock signal (1 bit) - \item i0 : data input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._ck = LogicIn ( "ck", 1 ) - self._wen = LogicIn ( "wen", 1 ) - self._in = LogicIn ( "in", 4 ) - - self._out = LogicOut ( "out", 4 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenSff' - , param = { 'nbit' : 4 } - , map = { "wen" : self._wen - , "ck" : self._ck - , "i0" : self._in - , "q" : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgensfft.tex b/stratus1/doc/man_dpgensfft.tex deleted file mode 100644 index c87cce5f..00000000 --- a/stratus1/doc/man_dpgensfft.tex +++ /dev/null @@ -1,58 +0,0 @@ -\begin{itemize} - \item Name : DpgenSfft -- Static Flip-Flop with Scan-Path Macro-Generator - \item Description : Generates a n bits static flip-flop with scan-path named \verb-modelname-. The two latches of this flip-flop are static i.e. each one is made of two interters looped togethers. - \item How it works : - \begin{itemize} - \item scan : when set to \verb-one- enables the scan-path mode. Note that in scan-path mode, the wen signal is not effective - \item scin : the input of the scan-path. This terminal is different from \verb-i0[0]-. The scout is verb-q[N-i1] (in the following example this is \verb-q[31]-) - \item when wen is set to \verb-one- enables the writing of the flip-flop - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item scan : scan-path mode (input, 1 bit) - \item scin : scan path in (input, 1 bit) - \item wen : write enable (1 bit) - \item ck : clock signal (1 bit) - \item i0 : data input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} -% \item Behavior : -% \begin{verbatim} -% \end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._scan = LogicIn ( "scin", 1 ) - self._scin = LogicIn ( "scan", 1 ) - self._ck = LogicIn ( "ck", 1 ) - self._wen = LogicIn ( "wen", 1 ) - self._in = LogicIn ( "in", 4 ) - - self._out = LogicOut ( "out", 4 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenSfft' - , param = { 'nbit' : 4 } - , map = { "wen" : self._wen - , "ck" : self._ck - , "scan" : self._scan - , "scin" : self._scin - , "i0" : self._in - , "q" : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenshift.tex b/stratus1/doc/man_dpgenshift.tex deleted file mode 100644 index 22d67640..00000000 --- a/stratus1/doc/man_dpgenshift.tex +++ /dev/null @@ -1,54 +0,0 @@ -\begin{itemize} - \item Name : DpgenShift -- Shifter Macro-Generator - \item Description : Generates a \verb-n- bits shifter named \verb-modelname-. - \item How it works : - \begin{itemize} - \item if the \verb-op[0]- signal is set to \verb-one-, performs a right shift, performs a left shift otherwise. - \item if the \verb-op[1]- signal is set to \verb-one-, performs an arithmetic shift (only meaningful in case of a right shift). - \item \verb-shamt- specifies the shift amount. The width of this signal (\verb-Y-) is computed from the operator's width : \verb-Y = ceil(log2(n)) -- 1 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item op : select the kind of shift (input, 2 bits) - \item shamt : the shift amount (input, \verb-Y- bits) - \item i : value to shift (input, \verb-n- bits) - \item o : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._instop = LogicIn ( "instop", 2 ) - - self._instshamt = LogicIn ( "instshamt", 2 ) - - self._insti = LogicIn ( "insti", 4 ) - - self._insto = LogicOut ( "insto", 4 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenShifter' - , param = { 'nbit' : 4 } - , map = { 'op' : self._instop - , 'shamt' : self._instshamt - , 'i' : self._insti - , 'o' : self._insto - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenshrot.tex b/stratus1/doc/man_dpgenshrot.tex deleted file mode 100644 index 5d6a8f7a..00000000 --- a/stratus1/doc/man_dpgenshrot.tex +++ /dev/null @@ -1,55 +0,0 @@ -\begin{itemize} - \item Name : DpgenShrot -- Shift/Rotation Macro-Generator - \item Description : Generates a \verb-n- bits shift/rotation operator named \verb-modelname-. - \item How it works : - \begin{itemize} - \item if the \verb-op[0]- signal is set to \verb-one-, performs a right shift/rotation , otherwise left shift/rotation occurs. - \item if the \verb-op[1]- signal is set to \verb-one-, performs an arithmetic shift (only meaningful in case of a right shift). - \item if the \verb-op[2]- signal is set to \verb-one-, performs a rotation, otherwise performs a shift.. - \item \verb-shamt- specifies the shift amount. The width of this signal (\verb-Y-) is computed from the operator's width : \verb-Y = ceil(log2(n)) -- 1 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item op : select the kind of shift/rotation (input, 3 bits) - \item shamt : the shift amount (input, \verb-Y- bits) - \item i : value to shift (input, \verb-n- bits) - \item o : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \end{itemize} -% \item Behavior : -%\begin{verbatim} -%\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._rotop = LogicIn ( "rotop", 3 ) - - self._instshamt = LogicIn ( "instshamt", 3 ) - - self._insti = LogicIn ( "insti", 8 ) - - self._insto = LogicOut ( "insto", 8 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenShrot' - , param = { 'nbit' : 8 } - , map = { 'op' : self._rotop - , 'shamt' : self._instshamt - , 'i' : self._insti - , 'o' : self._insto - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenxnor2.tex b/stratus1/doc/man_dpgenxnor2.tex deleted file mode 100644 index 318d56ae..00000000 --- a/stratus1/doc/man_dpgenxnor2.tex +++ /dev/null @@ -1,48 +0,0 @@ -\begin{itemize} - \item Name : DpgenXnor2 -- Xnor2 Macro-Generator - \item Description : Generates a \verb-n- bits two inputs XNOR with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item nq : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= not ( i0 xor i1 ) -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenXnor2' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenxnor2mask.tex b/stratus1/doc/man_dpgenxnor2mask.tex deleted file mode 100644 index f884e9f3..00000000 --- a/stratus1/doc/man_dpgenxnor2mask.tex +++ /dev/null @@ -1,55 +0,0 @@ -\begin{itemize} - \item Name : DpgenXnor2mask -- Programmable Mask Macro-Generator - \item Description : Generates a \verb-n- bits conditionnal XNOR mask named \verb-modelname-. - \item How it works : - \begin{itemize} - \item if the \verb-cmd- signal is set to \verb-zero-, the mask is NOT applied, so the whole operator behaves like an inverter. - \item if the \verb-cmd- signal is set to \verb-one-, the mask is applied, the output is the \emph{complemented} result of the input value \emph{XORed} with the mask (suplied by \verb-constVal-). - \item The constant \verb-constVal- is given to the macro-generator call, therefore the value cannot be changed afterward : it's hard wired in the operator. - \item A common error is to give a real constant for the \verb-constVal- argument. Be aware that it is a character string. - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item cmd : mask control ( 1 bit ) - \item i0 : input ( \verb-n- bits ) - \item nq : output ( \verb-n- bits ) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item const : Defines the constant - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= WITH cmd SELECT not(i0) WHEN '0', - not(i0 xor X"0000FFFF") WHEN '1'; -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in = LogicIn ( "in", 8 ) - self._cmd = LogicIn ( "cmd", 1 ) - - self._out = LogicOut ( "out", 8 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenXnor2mask' - , param = { 'nbit' : 8 - , 'const' : "0b000111" - } - , map = { 'i0' : self._in - , 'cmd' : self._cmd - , 'nq' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_dpgenxor2.tex b/stratus1/doc/man_dpgenxor2.tex deleted file mode 100644 index f1244f59..00000000 --- a/stratus1/doc/man_dpgenxor2.tex +++ /dev/null @@ -1,48 +0,0 @@ -\begin{itemize} - \item Name : DpgenXor2 -- Xor2 Macro-Generator - \item Description : Generates a \verb-n- bits two inputs XOR with an output power of \verb-drive- named \verb-modelname-. - \begin{itemize} - \item Valid drive are : 1 or 4 - \end{itemize} - \item Terminal Names : - \begin{itemize} - \item i0 : input (\verb-n- bits) - \item i1 : input (\verb-n- bits) - \item q : output (\verb-n- bits) - \item vdd : power - \item vss : ground - \end{itemize} - \item Parameters : Parameters are given with a map called \verb-param-. - \begin{itemize} - \item nbit : Defines the size of the generator - \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted. - \end{itemize} - \item Behavior : -\begin{verbatim} -nq <= i0 xor i1 -\end{verbatim} - \item Example : -\begin{verbatim} -class myClass ( Model ) : - def Interface ( self ) : - self._in0 = LogicIn ( "in0", 32 ) - self._in1 = LogicIn ( "in1", 32 ) - - self._out = LogicOut ( "out", 32 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - Inst ( 'DpgenXor2' - , param = { 'nbit' : 32 } - , map = { 'i0' : self._in0 - , 'i1' : self._in1 - , 'q' : self._out - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) -\end{verbatim} -\end{itemize} diff --git a/stratus1/doc/man_example.tex b/stratus1/doc/man_example.tex deleted file mode 100644 index c2baee39..00000000 --- a/stratus1/doc/man_example.tex +++ /dev/null @@ -1,63 +0,0 @@ -\subsubsection{Addaccu circuit} - -\begin{figure}[h!] -\centering -\includegraphics[width=.9\textwidth]{images/add1.png} -\end{figure} - -\newpage - -\subsubsection{Data-path} - -\begin{figure}[h!] -\centering -\includegraphics[width=.9\textwidth]{images/add2.png} -\end{figure} - -\subsubsection{Description of the circuit with \emph{Stratus}} - -\begin{figure}[hbp] -\centering -\includegraphics[width=1.2\textwidth]{images/addaccu.png} -\end{figure} - -\newpage - -\subsubsection{Creation of the circuit} - -\begin{figure}[hbp] -\centering -\includegraphics[width=1.3\textwidth]{images/test.png} -\end{figure} - -%\newpage - -\subsubsection{How to execute the file} - -\begin{verbatim} -python test.py -n 4 -\end{verbatim} -\indent or : -\begin{verbatim} -chmod u+x test.py -./test -n 4 -\end{verbatim} - -\subsubsection{The editor} - -The method \verb-View- permits to open an editor in which one can see the cell being created as shown in the picture below. -\begin{figure}[hbp] -\centering -\includegraphics[width=1\textwidth]{images/editor.png} -\end{figure} - - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Stratus}}{}{Stratus}{secstratus} -\hyperref[ref]{\emph{Model}}{}{Model}{secmodel} -\hyperref[ref]{\emph{Param}}{}{Param}{secparam} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{Place and Route}}{}{Place and Route}{secroute} -\hyperref[ref]{\emph{Facilities}}{}{Facilities}{secfacilities} diff --git a/stratus1/doc/man_extend.tex b/stratus1/doc/man_extend.tex deleted file mode 100644 index 4eab429e..00000000 --- a/stratus1/doc/man_extend.tex +++ /dev/null @@ -1,52 +0,0 @@ -\subsubsection{Name} - -Extend -- Extention of nets - -\subsubsection{Synopsys} - -\begin{verbatim} -extendA = Signal ( "extend_a", 32 ) - -extendA <= netA.Extend ( 32, 'zero' ) -\end{verbatim} - -\subsubsection{Description} - -This method creates a net which is an extension of the net which it is applied to. The number given as parameter has to be greater than the arity of the net. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-n- : the number which is the arity of the net - \item \verb-type- : the type of the extension - \begin{itemize} - \item 'zero' : the extension nets are set to zero - \item 'one' : the extension nets are set to one - \item 'signed' : the extension nets are set thanks to the value of the msb bit - \end{itemize} -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -temp = Signal ( "temp", 5 ) -tempExt = Signal ( "temp_ext", 8 ) - -tempExt <= temp.Extand ( 8, 'one' ) -\end{verbatim} - -\indent The arity of the net \verb-tempExt- is 8 and 3 MSB of the net are "1". - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Extend :-\\\verb-the net can not be extended to n bits, it's arity is already m.-\\The number one wants must be greater than the arity of the net. Otherwise, the net can not be extended. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Nets}}{}{Nets}{secnet} -\hyperref[ref]{\emph{Alias}}{}{Alias}{secalias} -\hyperref[ref]{\emph{Cat}}{}{Cat}{seccat} diff --git a/stratus1/doc/man_fill_cell.tex b/stratus1/doc/man_fill_cell.tex deleted file mode 100644 index 6c4c5b8b..00000000 --- a/stratus1/doc/man_fill_cell.tex +++ /dev/null @@ -1,44 +0,0 @@ -\subsubsection{Name} - -FillCell -- Automatic placement of ties. - -\subsubsection{Synopsys} - -\begin{verbatim} -FillCell ( cell ) -\end{verbatim} - -\subsubsection{Description} - -This function places automatically ties. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-cell- : the cell which the fonction is applied to -\end{itemize} - -%\subsubsection{Example} -% -%\begin{verbatim} -%FillCell ( core ) -%\end{verbatim} -% -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] FillCell : Given cell doesn't exist.-\\The argument is wrong. Check if one has created the cell correctly. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{PlaceCentric}}{}{PlaceCentric}{seccentric} -\hyperref[ref]{\emph{PlaceGlu}}{}{PlaceGlu}{secglu} -\hyperref[ref]{\emph{Pads}}{}{Pads}{secpads} -\hyperref[ref]{\emph{Alimentation rails}}{}{Alimentation rails}{secrails} -\hyperref[ref]{\emph{Alimentation connectors}}{}{Alimentation connectors}{secconnectors} -\hyperref[ref]{\emph{PowerRing}}{}{PowerRing}{secpowerring} -\hyperref[ref]{\emph{RouteCk}}{}{RouteCk}{secrouteck} diff --git a/stratus1/doc/man_generators.tex b/stratus1/doc/man_generators.tex deleted file mode 100644 index 5a511c48..00000000 --- a/stratus1/doc/man_generators.tex +++ /dev/null @@ -1,82 +0,0 @@ -\subsubsection{Description} - -One can create a generator and instantiate it in another generator.\\ -\indent To do that, the name given when instantiating the generator must have the form : "file\_name.class\_name".\\ - -\indent Note that if the two generators are not in the same directory, the directory of the generator to be instantiated has to be added in the CRL\_CATA\_LIB environment variable. - -\subsubsection{Example} - -\begin{itemize} - \item File describing the generator which is going to instanciated later : -\end{itemize} - -\begin{verbatim} -#!/usr/bin/python - -from stratus import * - -class class_function ( Model ) : - - def Interface ( self ) : - self.n = self._param['nbit'] - - self._A = LogicIn ( "a", self.n ) - self._B = LogicIn ( "b", self.n ) - self._C = LogicIn ( "c", self.n ) - - self._S = LogicOut ( "s", self.n ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - self._S <= ( self._A | self._B ) & self._C -\end{verbatim} - -\begin{itemize} - \item File instanciating the generator : -\end{itemize} - -\begin{verbatim} -#!/usr/bin/python - -from stratus import * - -class mycell ( Model ) : - - def Interface ( self ) : - self._in1 = LogicIn ( "in1", 4 ) - self._in2 = LogicIn ( "in2", 4 ) - self._in3 = LogicIn ( "in3", 4 ) - - self._out = LogicOut ( "out", 4 ) - - self._vdd = VddIn ( "vdd" ) - self._vss = VssIn ( "vss" ) - - def Netlist ( self ) : - temp = Signal ( "temp", 4 ) - - Inst ( "myfunc.class_function" - , param = { 'nbit' : 4 } - , map = { 'a' : self._in1 - , 'b' : self._in2 - , 'c' : self._in3 - , 's' : temp - , 'vdd' : self._vdd - , 'vss' : self._vss - } - ) - - self._out <= ~temp -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Inst : the model ... does not exist.-\\\verb-Check CRL_CATA_LIB.-\\One has to check the environment variable because the model is not found. -\end{itemize} - -\input{see_also} diff --git a/stratus1/doc/man_inst.tex b/stratus1/doc/man_inst.tex deleted file mode 100644 index f2292d3c..00000000 --- a/stratus1/doc/man_inst.tex +++ /dev/null @@ -1,56 +0,0 @@ -\subsubsection{Name} - -Inst -- Creation of instances - -\subsubsection{Synopsys} - -\begin{verbatim} -Inst ( model - , name - , param - , map - ) -\end{verbatim} - -\subsubsection{Description} - -Instantiation of an instance. The type of the instance is given by the \verb-model- parameter. The connexions are made thanks to the \verb-map- parameters. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-Model- : Name of the mastercell of the instance to create (mandatory argument) - \item \verb-name- : Name of the instance (optional)\\ -When this argument is not defined, the instance has a name created by default. This argument is usefull when one wants to create a layout as well. Indeed, the placement of the instances is much easier when the conceptor has chosen himself the name f the instances. - \item \verb-param- : Arguments of the mastercell (optional : only for mastercells which require it) - \item \verb-map- : Connexions in order to make the netlist\\ -\end{itemize} -\indent \verb-param- and \verb-map- are dictionnaries as shown in the example below. - -\subsubsection{Example} - -\begin{verbatim} -Inst ( 'DpgenAnd2' - , param = { 'nbit' : 4 - } - , map = { 'i0' : in0 - , 'i1' : in1 - , 'q' : out - , 'vdd' : vdd - , 'vss' : vss - } - ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-Error in Inst : the model Model does not exist.-\\\verb-Check CRL_CATA_LIB.-\\Either one has made a mistake in the name of the model, either the environment variable is not correct. - \item \verb-Error in Inst : port does not exist in model Model.-\\One port in map is not correct. - \item \verb-Error in Inst : one input net is not dimensionned.-\\The size of the output nets is automatically calculated bus the input nets must be dimensionned before being connected. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} diff --git a/stratus1/doc/man_library.tex b/stratus1/doc/man_library.tex deleted file mode 100644 index de0dcd4d..00000000 --- a/stratus1/doc/man_library.tex +++ /dev/null @@ -1,68 +0,0 @@ -\subsubsection{Description} - -All the cells that can be instantiated are listed below.\\ -\indent These cells are generators which are proportionned thanks to parameters. - -\subsubsection{List} - -\begin{itemize} - \item \verb-And2- : \verb-q <= i0 & i1- - \item \verb-And3- : \verb-q <= i0 & i1 & i2- - \item \verb-And4- : \verb-q <= i0 & i1 & i2 & i3- - \item \verb-Nand2- : \verb-nq <= ~ ( i0 & i1 )- - \item \verb-Nand3- : \verb-nq <= ~ ( i0 & i1 & i2 )- - \item \verb-Nand4- : \verb-nq <= ~ ( i0 & i1 & i2 & i3 )- - \item \verb-Or2- : \verb-q <= i0 & i1- - \item \verb-Or3- : \verb-q <= i0 & i1 & i2- - \item \verb-Or4- : \verb-q <= i0 & i1 & i2 & i3- - \item \verb-Nor2- : \verb-nq <= ~ ( i0 & i1 )- - \item \verb-Nor3- : \verb-nq <= ~ ( i0 & i1 & i2 )- - \item \verb-Nor4- : \verb-nq <= ~ ( i0 & i1 & i2 & i3 )- - \item \verb-Inv- : \verb-nq <= ~ i- - \item \verb-Buf- : \verb-q <= i- - \item \verb-Xor2- : \verb-q <= i0 ^ i1- - \item \verb-Nxor2- : \verb-nq <= ~ ( i0 ^ i1 )- - \item \verb-Zero- : \verb-nq <= '0'- - \item \verb-One- : \verb-q <= '1'- - \item \verb-Halfadder- : \verb-sout <= a ^ b- and \verb-cout <= a & b- - \item \verb-Fulladder- : \verb-sout <= a ^ b ^ cin-\\\indent and \verb-cout <= ( a & b ) | ( a & cin ) | ( b & cin )- - \item \verb-Sff- : \verb-if RISE ( ck ) : q <= i- -\end{itemize} - -\subsubsection{Parameters} - -The parameter \verb-'nbit'- gives the size of the generator. It is given through the dictionnary named \verb-param- (the default value is 1). - -\subsubsection{Mapping file} - -In order to map the virtual library, on has to write a .xml file which makes correspond models and interfaces. Note that the interfaces of the cells must be the same (except for the names of the ports). Otherwise, one has to create .vst files in order to make the interfaces match.\\ -\indent By default, the mapping is done with sxlib library. There is an example of the .xml file below.\\ -\indent The environment variable used to point the right file is \verb-STRATUS_MAPPING_NAME-. -\begin{figure}[hbp] -\centering -\includegraphics[width=1.3\textwidth]{images/xml.png} -\end{figure} - -\subsubsection{Example} - -\begin{verbatim} -Inst ( 'And2' - , param = { 'nbit' : 4 } - , map = { 'i0' : A - , 'i1' : B - , 'q' : S - , 'vdd' : vdd - , 'vss' : vss - } - ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Inst : the model ... does not exist.-\\\verb-Check CRL_CATA_LIB.-\\The model of the cell has not been found. One has to check the environment variable. - \item \verb-[Stratus ERROR] Virtual library : No file found in order to parse.-\\\verb-Check STRATUS_MAPPING_NAME.-\\The mapping faile is not given in the environment variable. -\end{itemize} - -\input{see_also} diff --git a/stratus1/doc/man_model.tex b/stratus1/doc/man_model.tex deleted file mode 100644 index b5ce12ff..00000000 --- a/stratus1/doc/man_model.tex +++ /dev/null @@ -1,47 +0,0 @@ -\subsubsection{Name} - -Model -- Master class - -\subsubsection{Description} - -Every cell made is a class herited from class \verb-Model-.\\ -\indent Some methods have to be created, like \verb-Interface-, \verb-Netlist- ... Some methods are inherited from the class \verb-Model-. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-name- : The name of the cell (which is the name of the files which will be created) - \item \verb-param- : A dictionnary which gives all the parameters usefull in order to create the cell -\end{itemize} - -\subsubsection{Methods} - -Methods of class \verb-Model- are listed below : -\begin{itemize} - \item \verb-View- : Opens/Refreshes the editor in order to see the created layout - \item \verb-Quit- : Finishes a cell without saving - \item \verb-Save- : Saves the created cell\\If several cells have been created, they are all going to be saved in separated files\\ -\end{itemize} - -Some of those methods have to be defined in order to create a new cell : -\begin{itemize} - \item \verb-Interface- : Description of the external ports of the cell - \item \verb-Netlist- : Description of the netlist of the cell - \item \verb-Layout- : Description of the layout of the cell - \item \verb-Vbe- : Description of the behavior of the cell - \item \verb-Pattern- : Description of the patterns in order to test the cell -\end{itemize} - -\subsubsection{Example} - -You can see a concrete example at : \hyperref[ref]{\emph{A concrete example}}{}{Example}{secexample} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Stratus}}{}{Stratus}{secstratus} -\hyperref[ref]{\emph{Param}}{}{Param}{secparam} -\hyperref[ref]{\emph{Example}}{}{Example}{secexample} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{Place and Route}}{}{Place and Route}{secroute} -\hyperref[ref]{\emph{Facilities}}{}{Facilities}{secfacilities} diff --git a/stratus1/doc/man_mux.tex b/stratus1/doc/man_mux.tex deleted file mode 100644 index 441b37d4..00000000 --- a/stratus1/doc/man_mux.tex +++ /dev/null @@ -1,131 +0,0 @@ -\subsubsection{Name} - -Mux -- Easy way to instantiate a multiplexor - -\subsubsection{Synopsys} - -\begin{verbatim} -netOut <= netCmd.Mux ( arg ) -\end{verbatim} - -\subsubsection{Description} - -This method is a method of net. The net which this method is applied to is the command of the multiplexor. The nets given as parameters are all the input nets. This method returns a net : the output net.\\ -There are two ways to describe the multiplexor : the argument \verb-arg- can be a list or a dictionnary.\\ -\indent Note that it is possible to change the generator instanciated with the \verb-SetMux- method. - -\subsubsection{Parameters} - -\begin{itemize} - \item List :\\ - \indent For each value of the command, the corresponding net is specified. All values must be specified.\\ - \indent For example : - \begin{verbatim} -out <= cmd.mux ( [in0, in1, in2, in3] ) - \end{verbatim} - \indent The net out is then initialised like this : - \begin{verbatim} -if cmd == 0 : out <= in0 -if cmd == 1 : out <= in1 -if cmd == 2 : out <= in2 -if cmd == 3 : out <= in3 - \end{verbatim} - \item Dictionnary :\\ - \indent A dictionnary makes the correspondance between a value of the command and the corresponding net.\\ - \indent For example : - \begin{verbatim} -out <= cmd.mux ( {"0" : in0, "1" : in1, "2" : in2, "3" : in3} ) - \end{verbatim} - \indent This initialisation corresponds to the one before. - \indent Thanks to the use of a dictionnary, the connections can be clearer : - \begin{itemize} - \item \verb-'default'-: This key of the dictionnary corresponds to all the nets that are not specified\\ - For example : - \begin{verbatim} -out <= cmd.mux ( {"0" : in0, "default" : in1} ) - \end{verbatim} - This notation corresponds to : - \begin{verbatim} -if cmd == 0 : out <= in0 -else : out <= in1 - \end{verbatim} - Note that if there is no \verb-'default'- key specified and that not all the nets are specified, the non specified nets are set to 0. - \item \verb-#- and \verb-?- : When a key of the dictionnary begins with \verb-#-, the number after the \verb-#- has to be binary and each ? in the number means that this bit is not precised\\ - For example : - \begin{verbatim} -out <= cmd.mux ( {"#01?" : in0, "default" : in1} ) - \end{verbatim} - This notation corresponds to : - \begin{verbatim} -if cmd in ( 2, 3 ) : out <= in0 -else : out <= in1 - \end{verbatim} - \item \verb-,- and \verb"-" : When keys contains thoses symbols, it permits to enumerate intervals\\ - For example : - \begin{verbatim} -out <= cmd.mux ( {"0,4" : in0, "1-3,5" : in1} ) - \end{verbatim} - This notation corresponds to : - \begin{verbatim} -if cmd in ( 0, 4 ) : out <= in0 -elif cmd in ( 1, 2, 3, 5) : out <= in1 -else : out <= 0 - \end{verbatim} - \end{itemize} -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -class essai ( Model ) : - - def Interface ( self ) : - self.A = LogicIn ( "a", 4 ) - self.B = LogicIn ( "b", 4 ) - self.C = LogicIn ( "c", 4 ) - self.D = LogicIn ( "d", 4 ) - - self.Cmd1 = LogicIn ( "cmd1", 2 ) - self.Cmd2 = LogicIn ( "cmd2", 4 ) - - self.S1 = LogicOut ( "s1", 4 ) - self.S2 = LogicOut ( "s2", 4 ) - - self.Vdd = VddIn ( "vdd" ) - self.Vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - self.S1 <= self.Cmd1.Mux ( [sefl.A, self.B, self.C, self.D] ) - - self.S2 <= self.Cmd2.Mux ( { "0" : self.A - , "1,5-7" : self.B - , "#1?1?" : self.C - , "default" : self.D - } ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Mux : all the nets must have the same lenght.-\\All the input nets pust have the same lenght. - \item \verb-[Stratus ERROR] Mux : there are no input nets.-\\The input nets seem to have been forgotten. - \item \verb-[Stratus ERROR] Mux : wrong argument type.-\\The connections of the buses are not described by a list nor a dictionnary. - \item \verb-[Stratus ERROR] Mux :-\\\verb-the number of nets does not match with the lenght of the command.-\\When using a list, the number of nets has to correspond to the number of possible values of the command. - \item \verb-[Stratus ERROR] Mux : wrong key.-\\One of the key of the dictionnary is not un number, neither a list or an interval. - \item \verb-[Stratus ERROR] Mux :-\\\verb-when an interval is specified, the second number of the interval-\\\verb-must be greater than the first one.-\\When creating an interval with "-", the second number has to be greater than the first one. - \item \verb-[Stratus ERROR] Mux :-\\\verb-the binary number does not match with the lenght of the command.-\\When using the \verb-#- notation, each digit of the binary number corresponds to a wire of the cmd. The leghts have to correspond. - \item \verb-[Stratus ERROR] Mux : after #, the number has to be binary.-\\When using the \verb-#- notation, the number has to be binary : one can use 0, 1 or ?. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Instanciation of a shifter}}{}{Shifter}{secshift} -\hyperref[ref]{\emph{Instanciation of a register}}{}{Reg}{secreg} -\hyperref[ref]{\emph{Instanciation of constants}}{}{Constant}{secconstant} -\hyperref[ref]{\emph{Boolean operations}}{}{Boolean}{secbool} -\hyperref[ref]{\emph{Arithmetical operations}}{}{Arithmetic}{secarithmetic} -\hyperref[ref]{\emph{Comparison operations}}{}{Comparison}{seccomp} diff --git a/stratus1/doc/man_net.tex b/stratus1/doc/man_net.tex deleted file mode 100644 index 9a85c004..00000000 --- a/stratus1/doc/man_net.tex +++ /dev/null @@ -1,57 +0,0 @@ -\subsubsection{Name} - -LogicIn, LogicOut ... -- Creation of nets - -\subsubsection{Synopsys} - -\begin{verbatim} -netA = LogicIn ( "a", 4 ) -\end{verbatim} - -\subsubsection{Description} - -How to create and use nets. - -\subsubsection{Nets} - -Differents kind of nets are listed below : -\begin{itemize} - \item \verb-LogicIn- : Creation of an input port - \item \verb-LogicOut- : Creation of an output port - \item \verb-LogicInOut- : Creation of an inout port - \item \verb-LogicUnknown- : Creation of an input/output port which direction is not defined - \item \verb-TriState- : Creation of a tristate port - \item \verb-CkIn- : Creation of a clock port - \item \verb-VddIn- : Creation of the vdd alimentation - \item \verb-VssIn- : Creation of the vss alimentation - \item \verb-Signal- : Creation of an internal net -\end{itemize} - -\subsubsection{Parameters} - -All kind of constructors have the same parameters : -\begin{itemize} - \item \verb-name- : the name of the net (mandatory argument) - \item \verb-arity- : the arity of the net (mandatory argument) - \item \verb-indice- : for buses only : the LSB bit (optional argument : set to 0 by default) -\end{itemize} - -\indent Only \verb-CkIn-, \verb-VddIn- and \verb-VssIn- do not have the same parameters : there is only the \verb-name- parameter (they are 1 bit nets). - -\subsubsection{Example} - -You can see a concrete example at : \hyperref[ref]{\emph{A concrete example}}{}{Example}{secexample} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-Error in LogicIn :-\\\verb-the lenght of the net must be a positive value.-\\One can not create a net with a negative lenght. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Alias}}{}{Alias}{secalias} -\hyperref[ref]{\emph{Extand}}{}{Extand}{secextend} -\hyperref[ref]{\emph{Cat}}{}{Cat}{seccat} diff --git a/stratus1/doc/man_pads.tex b/stratus1/doc/man_pads.tex deleted file mode 100644 index d4d83766..00000000 --- a/stratus1/doc/man_pads.tex +++ /dev/null @@ -1,51 +0,0 @@ -\subsubsection{Name} - -PadNorth, PadSouth, PadEast, PasWest -- Placement of pads at the periphery of the cell - -\subsubsection{Synopsys} - -\begin{verbatim} -PadNorth ( args ) -\end{verbatim} - -\subsubsection{Description} - -These functions place the pads given as arguments at the given side of the cell (PadNorth : up north, PadSouth : down south ...). - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-args- : List of pads to be placed -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -PadSouth ( self.p_cin, self.p_np, self.p_ng, self.p_vssick0 - , self.p_vddeck0, self.p_vsseck1, self.p_vddeck1, self.p_cout - , self.p_y[0], self.p_y[1], self.p_y[2] - ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] PadNorth : not enough space for all pads.-\\The abutment box is not big enough in order to place all the pads. Maybe one could put pads on other faces of the cell. - \item \verb-[Stratus ERROR] PadNorth : one instance doesn't exist.-\\One of the pads given as arguments does not exist - \item \verb-[Stratus ERROR] PadNorth : one argument is not an instance.-\\One of the pads is not one of the pads of the cell. - \item \verb-[Stratus ERROR] PadNorth : the instance ins is already placed.-\\One is tryng to place a pad twice. - \item \verb-[Stratus ERROR] PadNorth : pad ins must be closer to the center.-\\The pad name ins must ben put closer to the center in order to route the cell -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{PlaceCentric}}{}{PlaceCentric}{seccentric} -\hyperref[ref]{\emph{PlaceGlu}}{}{PlaceGlu}{secglu} -\hyperref[ref]{\emph{FillCell}}{}{FillCell}{secfillcell} -\hyperref[ref]{\emph{Alimentation rails}}{}{Alimentation rails}{secrails} -\hyperref[ref]{\emph{Alimentation connectors}}{}{Alimentation connectors}{secconnectors} -\hyperref[ref]{\emph{PowerRing}}{}{PowerRing}{secpowerring} -\hyperref[ref]{\emph{RouteCk}}{}{RouteCk}{secrouteck} diff --git a/stratus1/doc/man_param.tex b/stratus1/doc/man_param.tex deleted file mode 100644 index 1f9045ad..00000000 --- a/stratus1/doc/man_param.tex +++ /dev/null @@ -1,50 +0,0 @@ -\subsubsection{Name} - -Param -- How to use parameters - -\subsubsection{Synopsys} - -\begin{verbatim} -nbit, nword = Param ( "n", "w" ) -\end{verbatim} - -\subsubsection{Description} - -This function allows the user to give parameters when creating a cell. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-args- : letters which correspond to letter typed on the shell -\end{itemize} - -\subsubsection{Example} - -When one wants to give values to two parameters, one can type on the shell : -\begin{verbatim} -python test.py -n 4 -w 8 -\end{verbatim} - -The file \verb-test.py- has then to contain : -\begin{verbatim} -nbit, nword = Param ( "n", "w" ) -\end{verbatim} - -You can see a concrete example at : \hyperref[ref]{\emph{A concrete example}}{}{Example}{secexample} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-Error in Param : there is no parameter.-\\The parameters seem to have been forgotten. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Stratus}}{}{Stratus}{secstratus} -\hyperref[ref]{\emph{Model}}{}{Model}{secmodel} -\hyperref[ref]{\emph{Example}}{}{Example}{secexample} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{Place and Route}}{}{Place and Route}{secroute} -\hyperref[ref]{\emph{Facilities}}{}{Facilities}{secfacilities} diff --git a/stratus1/doc/man_place.tex b/stratus1/doc/man_place.tex deleted file mode 100644 index a23e6843..00000000 --- a/stratus1/doc/man_place.tex +++ /dev/null @@ -1,60 +0,0 @@ -\subsubsection{Name} - -Place -- Places an instance - -\subsubsection{Synopsys} - -\begin{verbatim} -Place ( ins, sym, x, y ) -\end{verbatim} - -\subsubsection{Description} - -Placement of an instance.\\ -\indent The instance has to be instantiated in the method \verb-Netlist-, in order to use the \verb-Place- function. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-ins- : Instance to place. - \item \verb-sym- : Geometrical operation to be performed on the instance before beeing placed.\\The \verb-sym- argument can take eight legal values : - \begin{itemize} - \item \verb-NOSYM- : no geometrical operation is performed - \item \verb-SYM_Y- : Y becomes -Y, that means toward X axe symetry - \item \verb-SYM_X- : X becomes -X, that means toward Y axe symetry - \item \verb-SYMXY- : X becomes -X, Y becomes -Y - \item \verb-ROT_P- : a positive 90 degrees rotation takes place - \item \verb-ROT_M- : a negative 90 degrees rotation takes place - \item \verb-SY_RP- : Y becomes -Y, and then a positive 90 degrees rotation takes place - \item \verb-SY_RM- : Y becomes -Y, and then a negative 90 degrees rotation takes place - \end{itemize} - \item \verb-x-, \verb-y- : Coordinates of the lower left corner of the abutment box on the instance in the current figure. -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -Place ( myInst, NOSYM, 0, 0 ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Placement : the instance doesn't exist.-\\The instance must be instanciated in order to be placed. - \item \verb-[Stratus ERROR] Placement : the first argument is not an instance.- - \item \verb-[Stratus ERROR] Placement : the instance is already placed.-\\One can not place an instance twice - \item \verb-[Stratus ERROR] Place : wrong argument for placement type.-\\The symetry given as argument is not correct. - \item \verb-[Stratus ERROR] PLace : x value must be an integer or a float.-\\One of the coordinates is not correct. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{PlaceTop}}{}{PlaceTop}{sectop} -\hyperref[ref]{\emph{PlaceBottom}}{}{PlaceBottom}{secbottom} -\hyperref[ref]{\emph{PlaceRight}}{}{PlaceRight}{secright} -\hyperref[ref]{\emph{PlaceLeft}}{}{PlaceLeft}{secleft} -\hyperref[ref]{\emph{SetRefIns}}{}{SetRefIns}{secsetrefins} -\hyperref[ref]{\emph{DefAb}}{}{DefAb}{secdefab} -\hyperref[ref]{\emph{ResizeAb}}{}{ResizeAb}{secresizeab} diff --git a/stratus1/doc/man_place_bottom.tex b/stratus1/doc/man_place_bottom.tex deleted file mode 100644 index eaf93acd..00000000 --- a/stratus1/doc/man_place_bottom.tex +++ /dev/null @@ -1,63 +0,0 @@ -\subsubsection{Name} - -PlaceBottom -- Places an instance below the "reference instance" - -\subsubsection{Synopsys} - -\begin{verbatim} -PlaceBottom ( ins, sym, offset ) -\end{verbatim} - -\subsubsection{Description} - -Placement of an instance.\\ -\indent The instance has to be instantiated in the method \verb-Netlist- in order to use the \verb-PlaceTop- function.\\ - -\indent The top left corner of the abutment box of the instance is placed, after beeing symetrized and/or rotated, toward the bottom left corner of the abutment box of the "reference instance". The newly placed instance becomes the "reference instance". - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-ins- : Instance to place. - \item \verb-sym- : Geometrical operation to be performed on the instance before beeing placed.\\The \verb-sym- argument can take eight legal values : - \begin{itemize} - \item \verb-NOSYM- : no geometrical operation is performed - \item \verb-SYM_Y- : Y becomes -Y, that means toward X axe symetry - \item \verb-SYM_X- : X becomes -X, that means toward Y axe symetry - \item \verb-SYMXY- : X becomes -X, Y becomes -Y - \item \verb-ROT_P- : a positive 90 degrees rotation takes place - \item \verb-ROT_M- : a negative 90 degrees rotation takes place - \item \verb-SY_RP- : Y becomes -Y, and then a positive 90 degrees rotation takes place - \item \verb-SY_RM- : Y becomes -Y, and then a negative 90 degrees rotation takes place - \end{itemize} - \item \verb-offset- (optionnal) : An offset is put between this instance and the reference instance. The value given as argument must be a multiple of PITCH and represents the lenght of the hole between the instances -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -Place ( myInst1, NOSYM, 0, 0 ) -PlaceBottom ( myInst2, SYM_Y ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Placement : the instance doesn't exist.-\\The instance must be instanciated in order to be placed. - \item \verb-[Stratus ERROR] Placement : the first argument is not an instance.- - \item \verb-[Stratus ERROR] Placement : the instance is already placed.-\\One can not place an instance twice - \item \verb-[Stratus ERROR] PlaceBottom : no previous instance.-\\One can use \verb-PlaceTop- only if a reference instance exist. Use a \verb-Place- call before. - \item \verb-[Stratus ERROR] PlaceBottom : wrong argument for placement type.-\\The symetry given as argument is not correct. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Place}}{}{Place}{secplace} -\hyperref[ref]{\emph{PlaceTop}}{}{PlaceTop}{sectop} -\hyperref[ref]{\emph{PlaceRight}}{}{PlaceRight}{secright} -\hyperref[ref]{\emph{PlaceLeft}}{}{PlaceLeft}{secleft} -\hyperref[ref]{\emph{SetRefIns}}{}{SetRefIns}{secsetrefins} -\hyperref[ref]{\emph{DefAb}}{}{DefAb}{secdefab} -\hyperref[ref]{\emph{ResizeAb}}{}{ResizeAb}{secresizeab} diff --git a/stratus1/doc/man_place_centric.tex b/stratus1/doc/man_place_centric.tex deleted file mode 100644 index a106165d..00000000 --- a/stratus1/doc/man_place_centric.tex +++ /dev/null @@ -1,46 +0,0 @@ -\subsubsection{Name} - -PlaceCentric -- Placement of an instance in the middle of an abutment box - -\subsubsection{Synopsys} - -\begin{verbatim} -PlaceCentric ( ins ) -\end{verbatim} - -\subsubsection{Description} - -This function places an instance in the middle of and abutment box.\\ -\indent The instance has to be instantiated in the method \verb-Netlist- in order to use this function. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-ins- : Instance to place -\end{itemize} - -%\subsubsection{Example} -% -%\begin{verbatim} -%PlaceCentric ( core ) -%\end{verbatim} -% -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] PlaceCentric: the instance does not exist.-\\The instance must be instanciated in order to be placed. - \item \verb-[Stratus ERROR] PlaceCentric :-\\\verb-the instance's size is greater than this model.-\\The instance must fit in the abutment box. The abutment box may not be big enough. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{PlaceGlu}}{}{PlaceGlu}{secglu} -\hyperref[ref]{\emph{FillCell}}{}{FillCell}{secfillcell} -\hyperref[ref]{\emph{Pads}}{}{Pads}{secpads} -\hyperref[ref]{\emph{Alimentation rails}}{}{Alimentation rails}{secrails} -\hyperref[ref]{\emph{Alimentation connectors}}{}{Alimentation connectors}{secconnectors} -\hyperref[ref]{\emph{PowerRing}}{}{PowerRing}{secpowerring} -\hyperref[ref]{\emph{RouteCk}}{}{RouteCk}{secrouteck} diff --git a/stratus1/doc/man_place_glu.tex b/stratus1/doc/man_place_glu.tex deleted file mode 100644 index cbfe1d68..00000000 --- a/stratus1/doc/man_place_glu.tex +++ /dev/null @@ -1,37 +0,0 @@ -\subsubsection{Name} - -PlaceGlue -- Automatic placement of non placed instances - -\subsubsection{Synopsys} - -\begin{verbatim} -PlaceGlue ( cell ) -\end{verbatim} - -\subsubsection{Description} - -This function places, thanks to the automatic placer Mistral of Coriolis, all the non placed instances of the cell. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-cell- : the cell which the fonction is applied to -\end{itemize} - -%\subsubsection{Example} -% -%\begin{verbatim} -%PlaceGlue ( core ) -%\end{verbatim} -% -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{PlaceCentric}}{}{PlaceCentric}{seccentric} -\hyperref[ref]{\emph{FillCell}}{}{FillCell}{secfillcell} -\hyperref[ref]{\emph{Pads}}{}{Pads}{secpads} -\hyperref[ref]{\emph{Alimentation rails}}{}{Alimentation rails}{secrails} -\hyperref[ref]{\emph{Alimentation connectors}}{}{Alimentation connectors}{secconnectors} -\hyperref[ref]{\emph{PowerRing}}{}{PowerRing}{secpowerring} -\hyperref[ref]{\emph{RouteCk}}{}{RouteCk}{secrouteck} diff --git a/stratus1/doc/man_place_left.tex b/stratus1/doc/man_place_left.tex deleted file mode 100644 index e44b77a4..00000000 --- a/stratus1/doc/man_place_left.tex +++ /dev/null @@ -1,63 +0,0 @@ -\subsubsection{Name} - -PlaceLeft -- Places an instance at the left of the "reference instance" - -\subsubsection{Synopsys} - -\begin{verbatim} -PlaceLeft ( ins, sym, offset ) -\end{verbatim} - -\subsubsection{Description} - -Placement of an instance.\\ -\indent The instance has to be instantiated in the method \verb-Netlist- in order to use the \verb-PlaceTop- function.\\ - -\indent The bottom right corner of the abutment box of the instance is placed, after beeing symetrized and/or rotated, toward the bottom left corner of the abutment box of the "reference instance". The newly placed instance becomes the "reference instance". - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-ins- : Instance to place. - \item \verb-sym- : Geometrical operation to be performed on the instance before beeing placed.\\The \verb-sym- argument can take eight legal values : - \begin{itemize} - \item \verb-NOSYM- : no geometrical operation is performed - \item \verb-SYM_Y- : Y becomes -Y, that means toward X axe symetry - \item \verb-SYM_X- : X becomes -X, that means toward Y axe symetry - \item \verb-SYMXY- : X becomes -X, Y becomes -Y - \item \verb-ROT_P- : a positive 90 degrees rotation takes place - \item \verb-ROT_M- : a negative 90 degrees rotation takes place - \item \verb-SY_RP- : Y becomes -Y, and then a positive 90 degrees rotation takes place - \item \verb-SY_RM- : Y becomes -Y, and then a negative 90 degrees rotation takes place - \end{itemize} - \item \verb-offset- (optionnal) : An offset is put between this instance and the reference instance. The value given as argument must be a multiple of PITCH and represents the width of the hole between the instances -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -Place ( myInst1, NOSYM, 0, 0 ) -PlaceLeft ( myInst2, NOSYM ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Placement : the instance doesn't exist.-\\The instance must be instanciated in order to be placed. - \item \verb-[Stratus ERROR] Placement : the first argument is not an instance.- - \item \verb-[Stratus ERROR] Placement : the instance is already placed.-\\One can not place an instance twice - \item \verb-[Stratus ERROR] PlaceLeft : no previous instance.-\\One can use \verb-PlaceTop- only if a reference instance exist. Use a \verb-Place- call before. - \item \verb-[Stratus ERROR] PlaceLeft : wrong argument for placement type.-\\The symetry given as argument is not correct. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Place}}{}{Place}{secplace} -\hyperref[ref]{\emph{PlaceTop}}{}{PlaceTop}{sectop} -\hyperref[ref]{\emph{PlaceBottom}}{}{PlaceBottom}{secbottom} -\hyperref[ref]{\emph{PlaceRight}}{}{PlaceRight}{secright} -\hyperref[ref]{\emph{SetRefIns}}{}{SetRefIns}{secsetrefins} -\hyperref[ref]{\emph{DefAb}}{}{DefAb}{secdefab} -\hyperref[ref]{\emph{ResizeAb}}{}{ResizeAb}{secresizeab} diff --git a/stratus1/doc/man_place_right.tex b/stratus1/doc/man_place_right.tex deleted file mode 100644 index 4aab7cff..00000000 --- a/stratus1/doc/man_place_right.tex +++ /dev/null @@ -1,63 +0,0 @@ -\subsubsection{Name} - -PlaceRight -- Places an instance at the right of the "reference instance" - -\subsubsection{Synopsys} - -\begin{verbatim} -PlaceRight ( ins, sym, offset ) -\end{verbatim} - -\subsubsection{Description} - -Placement of an instance.\\ -\indent The instance has to be instantiated in the method \verb-Netlist- in order to use the \verb-PlaceTop- function.\\ - -\indent The bottom left corner of the abutment box of the instance is placed, after beeing symetrized and/or rotated, toward the bottom right corner of the abutment box of the "reference instance". The newly placed instance becomes the "reference instance". - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-ins- : Instance to place. - \item \verb-sym- : Geometrical operation to be performed on the instance before beeing placed.\\The \verb-sym- argument can take eight legal values : - \begin{itemize} - \item \verb-NOSYM- : no geometrical operation is performed - \item \verb-SYM_Y- : Y becomes -Y, that means toward X axe symetry - \item \verb-SYM_X- : X becomes -X, that means toward Y axe symetry - \item \verb-SYMXY- : X becomes -X, Y becomes -Y - \item \verb-ROT_P- : a positive 90 degrees rotation takes place - \item \verb-ROT_M- : a negative 90 degrees rotation takes place - \item \verb-SY_RP- : Y becomes -Y, and then a positive 90 degrees rotation takes place - \item \verb-SY_RM- : Y becomes -Y, and then a negative 90 degrees rotation takes place - \end{itemize} - \item \verb-offset- (optionnal) : An offset is put between this instance and the reference instance. The value given as argument must be a multiple of PITCH and represents the width of the hole between the instances -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -Place ( myInst1, NOSYM, 0, 0 ) -PlaceRight ( myInst2, NOSYM ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Placement : the instance doesn't exist.-\\The instance must be instanciated in order to be placed. - \item \verb-[Stratus ERROR] Placement : the first argument is not an instance.- - \item \verb-[Stratus ERROR] Placement : the instance is already placed.-\\One can not place an instance twice - \item \verb-[Stratus ERROR] PlaceRight : no previous instance.-\\One can use \verb-PlaceTop- only if a reference instance exist. Use a \verb-Place- call before. - \item \verb-[Stratus ERROR] PlaceRight : wrong argument for placement type.-\\The symetry given as argument is not correct. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Place}}{}{Place}{secplace} -\hyperref[ref]{\emph{PlaceTop}}{}{PlaceTop}{sectop} -\hyperref[ref]{\emph{PlaceBottom}}{}{PlaceBottom}{secbottom} -\hyperref[ref]{\emph{PlaceLeft}}{}{PlaceLeft}{secleft} -\hyperref[ref]{\emph{SetRefIns}}{}{SetRefIns}{secsetrefins} -\hyperref[ref]{\emph{DefAb}}{}{DefAb}{secdefab} -\hyperref[ref]{\emph{ResizeAb}}{}{ResizeAb}{secresizeab} diff --git a/stratus1/doc/man_place_top.tex b/stratus1/doc/man_place_top.tex deleted file mode 100644 index d9d51db3..00000000 --- a/stratus1/doc/man_place_top.tex +++ /dev/null @@ -1,63 +0,0 @@ -\subsubsection{Name} - -PlaceTop -- Places an instance at the top of the "reference instance" - -\subsubsection{Synopsys} - -\begin{verbatim} -PlaceTop ( ins, sym, offset ) -\end{verbatim} - -\subsubsection{Description} - -Placement of an instance.\\ -\indent The instance has to be instantiated in the method \verb-Netlist- in order to use the \verb-PlaceTop- function.\\ - -\indent The bottom left corner of the abutment box of the instance is placed, after beeing symetrized and/or rotated, toward the top left corner of the abutment box of the "reference instance". The newly placed instance becomes the "reference instance". - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-ins- : Instance to place. - \item \verb-sym- : Geometrical operation to be performed on the instance before beeing placed.\\The \verb-sym- argument can take eight legal values : - \begin{itemize} - \item \verb-NOSYM- : no geometrical operation is performed - \item \verb-SYM_Y- : Y becomes -Y, that means toward X axe symetry - \item \verb-SYM_X- : X becomes -X, that means toward Y axe symetry - \item \verb-SYMXY- : X becomes -X, Y becomes -Y - \item \verb-ROT_P- : a positive 90 degrees rotation takes place - \item \verb-ROT_M- : a negative 90 degrees rotation takes place - \item \verb-SY_RP- : Y becomes -Y, and then a positive 90 degrees rotation takes place - \item \verb-SY_RM- : Y becomes -Y, and then a negative 90 degrees rotation takes place - \end{itemize} - \item \verb-offset- (optionnal) : An offset is put between this instance and the reference instance. The value given as argument must be a multiple of PITCH and represents the lenght of the hole between the instances -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -Place ( myInst1, NOSYM, 0, 0 ) -PlaceTop ( myInst2, SYM_Y ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Placement : the instance doesn't exist.-\\The instance must be instanciated in order to be placed. - \item \verb-[Stratus ERROR] Placement : the first argument is not an instance.- - \item \verb-[Stratus ERROR] Placement : the instance is already placed.-\\One can not place an instance twice - \item \verb-[Stratus ERROR] PlaceTop : no previous instance.-\\One can use \verb-PlaceTop- only if a reference instance exist. Use a \verb-Place- call before. - \item \verb-[Stratus ERROR] PlaceTop : wrong argument for placement type.-\\The symetry given as argument is not correct. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Place}}{}{Place}{secplace} -\hyperref[ref]{\emph{PlaceBottom}}{}{PlaceBottom}{secbottom} -\hyperref[ref]{\emph{PlaceRight}}{}{PlaceRight}{secright} -\hyperref[ref]{\emph{PlaceLeft}}{}{PlaceLeft}{secleft} -\hyperref[ref]{\emph{SetRefIns}}{}{SetRefIns}{secsetrefins} -\hyperref[ref]{\emph{DefAb}}{}{DefAb}{secdefab} -\hyperref[ref]{\emph{ResizeAb}}{}{ResizeAb}{secresizeab} diff --git a/stratus1/doc/man_power_ring.tex b/stratus1/doc/man_power_ring.tex deleted file mode 100644 index fcbea685..00000000 --- a/stratus1/doc/man_power_ring.tex +++ /dev/null @@ -1,45 +0,0 @@ -\subsubsection{Name} - -PowerRing -- Placement of power rings. - -\subsubsection{Synopsys} - -\begin{verbatim} -PowerRing ( nb ) -\end{verbatim} - -\subsubsection{Description} - -This function places power rings around the core and around the plots. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-nb- : Number of pair of rings vdd/vss -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -PowerRing ( 3 ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] PowerRing : Pads in the north haven't been placed.-\\The pads of the 4 sides of the chip must be placed before calling function PowerRing. - \item \verb-[Stratus ERROR] PowerRing : too many rings, not enough space.-\\Wether The argument of PowerRing is to big, or the abutment box of the chip is to small. There's no space to put the rings. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{PlaceCentric}}{}{PlaceCentric}{seccentric} -\hyperref[ref]{\emph{PlaceGlu}}{}{PlaceGlu}{secglu} -\hyperref[ref]{\emph{FillCell}}{}{FillCell}{secfillcell} -\hyperref[ref]{\emph{Pads}}{}{Pads}{secpads} -\hyperref[ref]{\emph{Alimentation rails}}{}{Alimentation rails}{secrails} -\hyperref[ref]{\emph{Alimentation connectors}}{}{Alimentation connectors}{secconnectors} -\hyperref[ref]{\emph{RouteCk}}{}{RouteCk}{secrouteck} diff --git a/stratus1/doc/man_reg.tex b/stratus1/doc/man_reg.tex deleted file mode 100644 index 0af5ffcb..00000000 --- a/stratus1/doc/man_reg.tex +++ /dev/null @@ -1,51 +0,0 @@ -\subsubsection{Name} - -Reg -- Easy way to instantiate a register - -\subsubsection{Synopsys} - -\begin{verbatim} -netOut <= netCk.Reg ( netIn ) -\end{verbatim} - -\subsubsection{Description} - -This method is a method of net. The net which this method is applied to is the clock of the register. The net given as parameter is the input net. The method returns a net : the output net.\\ -\indent Note that it is possible to change the generator instanciated with the \verb-SetReg- method. - -\subsubsection{Example} - -\begin{verbatim} -class essai ( Model ) : - - def Interface ( self ) : - self.A = LogicIn ( "a", 4 ) - self.S = LogicOut ( "s", 4 ) - - self.Ck = CkIn ( "ck" ) - - self.Vdd = VddIn ( "vdd" ) - self.Vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - self.S <= self.Ck.Reg ( self.A ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Reg : The input net does not have a positive arity.-\\The input net must have a positive arity. - \item \verb-[Stratus ERROR] Reg : The clock does not have a positive arity.-\\The clock must have a positive arity. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Instanciation of a multiplexor}}{}{Multiplexor}{secmux} -\hyperref[ref]{\emph{Instanciation of constants}}{}{Constant}{secconstant} -\hyperref[ref]{\emph{Boolean operations}}{}{Boolean}{secbool} -\hyperref[ref]{\emph{Arithmetical operations}}{}{Arithmetic}{secarithmetic} -\hyperref[ref]{\emph{Comparison operations}}{}{Comparison}{seccomp} diff --git a/stratus1/doc/man_resize_ab.tex b/stratus1/doc/man_resize_ab.tex deleted file mode 100644 index de142d3e..00000000 --- a/stratus1/doc/man_resize_ab.tex +++ /dev/null @@ -1,49 +0,0 @@ -\subsubsection{Name} - -ResizeAb -- Modifies the abutment box of the current cell - -\subsubsection{Synopsys} - -\begin{verbatim} -ResizeAb ( dx1, dy1, dx2, dy2 ) -\end{verbatim} - -\subsubsection{Description} - -This function modifies the abutment box of the current cell.\\ -\indent The coordinates of the abutment box are the coordinates of the envelop of the abutment boxes of each instance plus the delta values given as argument.\\ - -\indent Note that one can not call this function in order to create the abutment box. This fonction only modifies the already created abutment box. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-(dx1, dy1)- : Values to be added to the lower left corner of the previous abutment box. - \item \verb-(dx2, dy2)- : Values to be added to the upper right corner of the previous abutment box. -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -Place ( Inv, NOSYM, 0, 0 ) - -ResizeAb ( 0, -100, 0, 100 ) -\end{verbatim} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb- [Stratus ERROR] ResizeAb :-\\\verb-Coordinates of an abutment Box in y must be multiple of the slice.-\\\verb-Coordinates of an abutment Box in x must be multiple of the pitch.-\\One has called ResizeAb with non authorized values -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Place}}{}{Place}{secplace} -\hyperref[ref]{\emph{PlaceTop}}{}{PlaceTop}{sectop} -\hyperref[ref]{\emph{PlaceBottom}}{}{PlaceBottom}{secbottom} -\hyperref[ref]{\emph{PlaceRight}}{}{PlaceRight}{secright} -\hyperref[ref]{\emph{PlaceLeft}}{}{PlaceLeft}{secleft} -\hyperref[ref]{\emph{SetRefIns}}{}{SetRefIns}{secsetrefins} -\hyperref[ref]{\emph{DefAb}}{}{DefAb}{secdefab} diff --git a/stratus1/doc/man_route_ck.tex b/stratus1/doc/man_route_ck.tex deleted file mode 100644 index 1868ccd4..00000000 --- a/stratus1/doc/man_route_ck.tex +++ /dev/null @@ -1,45 +0,0 @@ -\subsubsection{Name} - -RouteCk -- Routing of signal Ck to standard cells - -\subsubsection{Synopsys} - -\begin{verbatim} -RouteCk ( net ) -\end{verbatim} - -\subsubsection{Description} - -This function routes signal Ck to standard cells. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-net- : the net which the fonction is applied to -\end{itemize} - -%\subsubsection{Example} -% -%\begin{verbatim} -%netCk = LogicIn ( "ck", 1 ) -%RouteCk ( netCk ) -%\end{verbatim} -% -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] RouteCk : Pads in the north haven't been placed-\\The pads must be placed before calling RoutageCk. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{PlaceCentric}}{}{PlaceCentric}{seccentric} -\hyperref[ref]{\emph{PlaceGlu}}{}{PlaceGlu}{secglu} -\hyperref[ref]{\emph{FillCell}}{}{FillCell}{secfillcell} -\hyperref[ref]{\emph{Pads}}{}{Pads}{secpads} -\hyperref[ref]{\emph{Alimentation rails}}{}{Alimentation rails}{secrails} -\hyperref[ref]{\emph{Alimentation connectors}}{}{Alimentation connectors}{secconnectors} -\hyperref[ref]{\emph{PowerRing}}{}{PowerRing}{secpowerring} diff --git a/stratus1/doc/man_set_ref_ins.tex b/stratus1/doc/man_set_ref_ins.tex deleted file mode 100644 index 404f4287..00000000 --- a/stratus1/doc/man_set_ref_ins.tex +++ /dev/null @@ -1,53 +0,0 @@ -\subsubsection{Name} - -SetRefIns -- Defines the new "reference instance" for placement - -\subsubsection{Synopsys} - -\begin{verbatim} -SetRefIns ( ins ) -\end{verbatim} - -\subsubsection{Description} - -This function defines the new "reference instance", used as starting point in the relative placement functions.\\ -\indent It's regarding the abutmentbox of the instance \verb-ins- that the next instance is going to be placed, if using the appropriate functions.\\ - -\indent Note that the more recently placed instance becomes automaticaly the "reference instance", if SetRefIns isn't called. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-ins- : defines the new "reference instance" -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -Place ( myInst1, NOSYM, 0, 0 ) -PlaceRight ( myInst2, NOSYM ) - -SetRefIns ( myInst1 ) -PlaceTop ( myInst3, SYM_Y ) -\end{verbatim} - -\indent \verb-myInst3- is on top of \verb-myInst1- instead of \verb-myInst2-. - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] SetRefIns : the instance doesn't exist.-\\If the instance has not been instanciated, it is impossible do to any placement from it. - \item \verb-[Stratus ERROR] SetRefIns : the instance ...is not placed.-\\If the instance has not been placed, it is impossible do to any placement from it. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Place}}{}{Place}{secplace} -\hyperref[ref]{\emph{PlaceTop}}{}{PlaceTop}{sectop} -\hyperref[ref]{\emph{PlaceBottom}}{}{PlaceBottom}{secbottom} -\hyperref[ref]{\emph{PlaceRight}}{}{PlaceRight}{secright} -\hyperref[ref]{\emph{PlaceLeft}}{}{PlaceLeft}{secleft} -\hyperref[ref]{\emph{DefAb}}{}{DefAb}{secdefab} -\hyperref[ref]{\emph{ResizeAb}}{}{ResizeAb}{secresizeab} diff --git a/stratus1/doc/man_shift.tex b/stratus1/doc/man_shift.tex deleted file mode 100644 index 49867368..00000000 --- a/stratus1/doc/man_shift.tex +++ /dev/null @@ -1,82 +0,0 @@ -\subsubsection{Name} - -Shift -- Easy way to instantiate a shifter - -\subsubsection{Synopsys} - -\begin{verbatim} -netOut <= netCmd.Shift ( netIn, direction, type ) -\end{verbatim} - -\subsubsection{Description} - -This method is a method of net. The net which this method is applied to is the command of the shifter, it's the one which defines the number of bits to shift. The net given as parameter is the input net. The other arguments set the different patameters. The method returns a net : the output net.\\ -\indent Note that it is possible to change the generator instanciated with the \verb-SetShift- method. - -\subsubsection{Parameters} - -\begin{itemize} - \item \verb-netIn- : the net which is going to be shifted - \item \verb-direction- : this string represents the direction of the shift : - \begin{itemize} - \item "left" - \item "right" - \end{itemize} - \item \verb-type- : this string represents the type of the shift : - \begin{itemize} - \item "logical" : only "zeros" are put in the net - \item "arith" : meaningful for "right" shift, the values put in the nets are an extension of the MSB - \item "circular" : the values put in the nets are the ones which have just been taken off - \end{itemize} -\end{itemize} - -\subsubsection{Example} - -\begin{verbatim} -class essai ( Model ) : - - def Interface ( self ) : - self.A = LogicIn ( "a", 4 ) - - self.Cmd = LogicIn ( "cmd", 2 ) - - self.S1 = LogicOut ( "s1", 4 ) - self.S2 = LogicOut ( "s2", 4 ) - self.S3 = LogicOut ( "s3", 4 ) - - self.Vdd = VddIn ( "vdd" ) - self.Vss = VssIn ( "vss" ) - - def Netlist ( self ) : - - self.S1 <= self.Cmd.Shift ( self.A, "right", "logical" ) - self.S2 <= self.Cmd.Shift ( self.A, "right", "arith" ) - - self.S3 <= self.Cmd.Shift ( self.A, "left", "circular" ) -\end{verbatim} -\indent If the value of "a" is "0b1001" and the value of "cmd" is "0b10", we will have : -\begin{itemize} - \item "s1" : "0b0010" - \item "s2" : "0b1110" - \item "s3" : "0b0110" -\end{itemize} - -\subsubsection{Errors} - -Some errors may occur : -\begin{itemize} - \item \verb-[Stratus ERROR] Shift : The input net does not have a positive arity.-\\The net which is going to be shifted must have a positive arity. - \item \verb-[Stratus ERROR] Shift :-\\\verb-The direction parameter must be "left" or "right".-\\The "direction" argument is not correct. - \item \verb-[Stratus ERROR] Shift :-\\\verb-The type parameter must be "logical" or "arith" or "circular".-\\The "type" argument is not correct. -\end{itemize} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Instanciation of a multiplexor}}{}{Multiplexor}{secmux} -\hyperref[ref]{\emph{Instanciation of a register}}{}{Reg}{secreg} -\hyperref[ref]{\emph{Instanciation of constants}}{}{Constant}{secconstant} -\hyperref[ref]{\emph{Boolean operations}}{}{Boolean}{secbool} -\hyperref[ref]{\emph{Arithmetical operations}}{}{Arithmetic}{secarithmetic} -\hyperref[ref]{\emph{Comparison operations}}{}{Comparison}{seccomp} diff --git a/stratus1/doc/man_stratus.tex b/stratus1/doc/man_stratus.tex deleted file mode 100644 index 840123c7..00000000 --- a/stratus1/doc/man_stratus.tex +++ /dev/null @@ -1,119 +0,0 @@ -\subsubsection{Name} - -Stratus -- Procedural design language based upon \emph{Python} - -\subsubsection{Description} - -\emph{Stratus} is a set of \emph{Python} methods/functions dedicated to procedural generation purposes. From a user point of view, \emph{Stratus} is a circuit's description language that allows \emph{Python} programming flow control, variable use, and specialized functions in order to handle vlsi objects.\\ - -\indent Based upon the \emph{Hurricane} data structures, the \emph{Stratus} language gives the user the ability to describe netlist and layout views. - -\subsubsection{Creation of a cell} - -A cell is a hierachical structural description of a circuit in terms of ports (I/Os), signals (nets) and instances : - -\begin{itemize} -\item Method \verb-Interface- - \begin{itemize} - \item LogicIn - \item LogicOut - \item LogicInOut - \item TriState - \item VddIn - \item VssIn - \end{itemize} -\item Method \verb-Netlist- - \begin{itemize} - \item Signal - \item Inst - \item Facilities : \&, |, +, Mux, Shift, Eq/Ne ... - \end{itemize} -\item Method \verb-Layout- - \begin{itemize} - \item Place, PlaceTop, PlaceBottom, PlaceRight, PlaceLeft - \item SetRefIns - \item DefAb, ResizeAb - \item PlaceCentric - \item PlaceGlue, FillCell - \item PadNorth, PadSouth, PadEast, PadWest - \item AlimVerticalRail, AlimHorizontalRail - \item AlimConnectors - \item PowerRing - \item RouteCk - \end{itemize} - \item Method \verb-Pattern- - \item Method \verb-View- - \item Method \verb-Save- -\end{itemize} - -\subsubsection{Syntax highlighting} - -This chapter describes what to do to have the right syntax highlighting when using vi. - -\begin{itemize} - \item Commands to do when you want to change once the coloration of your file : -\end{itemize} -\begin{small} -\begin{verbatim} -:syntax off -:source /asim/coriolis/share/etc/stratus.vim -\end{verbatim} -\end{small} -\begin{itemize} - \item Modification of your .vimrc in order to have the syntax highlighting each time you open a file : -\end{itemize} -\begin{small} -\begin{verbatim} -syntax off -autocmd BufRead,BufNewfile *.py so /asim/coriolis/share/etc/stratus.vim -syntax on -\end{verbatim} -\end{small} - -\subsubsection{Environment variables} - -\begin{itemize} - \item CRL\_IN\_LO, default value : \verb-def- - \item CRL\_OUT\_LO, default value : \verb-def- - \item CRL\_IN\_PH, default value : \verb-def- - \item CRL\_OUT\_PH, default value : \verb-def- - \item CRL\_CATA\_LIB, default value : \verb-.- - \item CRL\_CATAL\_NAME, default value : \verb-CATAL- -\end{itemize} - -\subsubsection{Syntax} - -A \emph{Stratus} file must have a .py extension and must begin as follow : -\begin{verbatim} -#!/usr/bin/python - -from stratus import * -\end{verbatim} - -\indent In order to execute a \emph{Stratus} file (named \verb-file- for example), one has two choices : -\begin{verbatim} -python file.py -\end{verbatim} -\indent Or : -\begin{verbatim} -chmod u+x file.py -./file.py -\end{verbatim} - -\indent The names used in \emph{Stratus}, as arguments to \emph{Stratus} functions, should be alphanumerical, including the underscore. The arguments of \emph{Stratus} are case sensitive, so \textsc{VDD} is not equivalent to \textsc{vdd}.\\ - -\indent Vectorized connectors or signal can be used using the \textsc{[n:m]} construct.\\ - -\subsubsection{Example} - -You can see a concrete example at : \hyperref[ref]{\emph{A concrete example}}{}{Example}{secexample} - -\subsubsection{See Also} - -\hyperref[ref]{\emph{Model}}{}{Model}{secmodel} -\hyperref[ref]{\emph{Param}}{}{Param}{secparam} -\hyperref[ref]{\emph{Example}}{}{Example}{secexample} -\hyperref[ref]{\emph{Netlist}}{}{Netlist}{secnetlist} -\hyperref[ref]{\emph{Layout}}{}{Layout}{seclayout} -\hyperref[ref]{\emph{Place and Route}}{}{Place and Route}{secroute} -\hyperref[ref]{\emph{Facilities}}{}{Facilities}{secfacilities} diff --git a/stratus1/doc/patterns/.latex2html-init b/stratus1/doc/patterns/.latex2html-init index 41736623..e1757de4 100644 --- a/stratus1/doc/patterns/.latex2html-init +++ b/stratus1/doc/patterns/.latex2html-init @@ -5,7 +5,7 @@ # ### Command Line Argument Defaults ####################################### -$MAX_SPLIT_DEPTH = 4; # Stop making separate files at this depth +$MAX_SPLIT_DEPTH = 5; # Stop making separate files at this depth $MAX_LINK_DEPTH = 2; # Stop showing child nodes at this depth @@ -21,7 +21,7 @@ $PS_IMAGES = 0; #$TITLE = "Titre"; # The default is "No Title" -$DESTDIR = ''; # Put the result in this directory +$DESTDIR = ''; # Put the result in this directory # When this is set, the generated HTML files will be placed in the # current directory. If set to 0 the default behaviour is to create (or reuse) @@ -34,23 +34,23 @@ $ADDRESS = "$address_data[0]
    \n$address_data[1]
    "; $NO_NAVIGATION = 0; # 1 = do not put a navigation panel at the top of each page -# Put navigation links at the top of each page. -# If the page exceeds $WORDS_IN_PAGE number of words then put one at the bottom of the page. +# Put navigation links at the top of each page. If the page exceeds +# $WORDS_IN_PAGE number of words then put one at the bottom of the page. $AUTO_NAVIGATION = 1; -# Put a link to the index page in the navigation panel +# Put a link to the index page in the navigation panel $INDEX_IN_NAVIGATION = 1; -# Put a link to the table of contents in the navigation panel +# Put a link to the table of contents in the navigation panel $CONTENTS_IN_NAVIGATION = 1; -# Put a link to the next logical page in the navigation panel +# Put a link to the next logical page in the navigation panel $NEXT_PAGE_IN_NAVIGATION = 1; -# Put a link to the previous logical page in the navigation panel +# Put a link to the previous logical page in the navigation panel $PREVIOUS_PAGE_IN_NAVIGATION = 1; -$INFO = 0; # 0 = do not make a "About this document..." section +$INFO = 1; # 0 = do not make a "About this document..." section # Reuse images generated during previous runs $REUSE = 2; @@ -72,8 +72,7 @@ $CHILDLINE = "

    \n"; $LINE_WIDTH = 500; # Used in conjunction with AUTO_NAVIGATION -#$WORDS_IN_PAGE = 300; !!! -$WORDS_IN_PAGE = 50; +$WORDS_IN_PAGE = 300; # Affects ONLY the way accents are processed $default_language = 'english'; @@ -199,34 +198,34 @@ sub use_my_icon($) { } -sub make_top_nav_panel() { +sub make_top_nav_panel { my $s; $s = ('' #. "\n" . "\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n
    $t_title
    " + . "" . ($PREVIOUS_TITLE ? "Previous" : " ") . "" + . "" . ($UP_TITLE ? "Up" : " ") . "" + . "" . ($NEXT_TITLE ? "Next" : " ") . "
    " + . "" . ($PREVIOUS_TITLE ? "$PREVIOUS_TITLE" : " ") . "" + . "" . ($UP_TITLE ? "$UP_TITLE" : " ") . "" + . "" . ($NEXT_TITLE ? "$NEXT_TITLE" : " ") . "
    \n" @@ -238,34 +237,34 @@ sub make_top_nav_panel() { } -sub make_bot_nav_panel() { +sub make_bot_nav_panel { my $s; $s = ('
    ' #. "\n" . "\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n
    $t_title
    " + . "" . ($PREVIOUS_TITLE ? "Previous" : " ") . "" + . "" . ($UP_TITLE ? "Up" : " ") . "" + . "" . ($NEXT_TITLE ? "Next" : " ") . "
    " + . "" . ($PREVIOUS_TITLE ? "$PREVIOUS_TITLE" : " ") . "" + . "" . ($UP_TITLE ? "$UP_TITLE" : " ") . "" + . "" . ($NEXT_TITLE ? "$NEXT_TITLE" : " ") . "
    \n" @@ -293,15 +292,15 @@ sub bot_navigation_panel { #$EXTERNAL_STYLESHEET = "../ASIM.css"; -$ADDRESS = "Sophie BELLOEIL
    20051116.1"; +$ADDRESS = "Sophie BELLOEIL
    20051116.1"; $LOCAL_ICONS = 0; $USING_STYLES = 1; -$TRANSPARENT_FIGURES = 1; +$TRANSPARENT_FIGURES = 0; -$WHITE_BACKGROUND = 0; +$WHITE_BACKGROUND = 1; $used_icons{"home." . $IMAGE_TYPE} = 1; diff --git a/stratus1/doc/patterns/SoC.css b/stratus1/doc/patterns/SoC.css index 180cadb3..d0ff4fbd 100644 --- a/stratus1/doc/patterns/SoC.css +++ b/stratus1/doc/patterns/SoC.css @@ -1,31 +1,42 @@ + +/* + * x-----------------------------------------------------------------x + * | HTML Standart Tags | + * x-----------------------------------------------------------------x + */ + html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 { - font-size: 100%; - font-family: verdana, sans-serif; + font-size: 95%; + font-family: 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; - margin-right: 10%; - margin-left: 10%; + color: black; + background: white; + background-color: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; + margin-top: 2em; + margin-right: 10%; + margin-left: 10%; } + hr { - height: 1px; - border: 0; - color: #004400; - background-color: #004400; + height: 1px; + border: 0; + color: #004400; + background-color: #004400; } + .navigation { font-size: 80%; } + + h1, h2, h3, h4, h5, h6 { - font-family: verdana, sans-serif; + font-family: verdana, sans-serif; } h1 { text-align: center; } @@ -35,117 +46,97 @@ h1, h2, h3 { font-family: "Trebuchet MS", sans-serif; color: #09550B; } - h1 { font-weight: bold; font-size: 170%; } - h2 { font-weight: bold; font-size: 140%; } - h3 { font-weight: bold; font-size: 118%; } - h4 { font-weight: bold; font-size: 100%; } - h5 { font-style: italic; font-size: 100%; } - h6 { font-variant: small-caps; font-size: 100%; } + h1 { font-weight: bold; font-size: 160%; } + h2 { font-weight: bold; font-size: 130%; } + h3 { font-weight: bold; font-size: 110%; } + h4 { font-weight: bold; font-size: 90%; } + h5 { font-style: italic; font-size: 90%; } + h6 { font-variant: small-caps; font-size: 90%; } .hide { - display: none; - color: white; + display: none; + color: white; } - div.navigation { margin-bottom: 1em; } - div.navigation h1 { margin-top: 2em; clear: both; } - div.navigation table { margin-left: 2em; font-size: 90%; } - div.navigation img { color: white; border: none; } - - p { - margin-top: 0.6em; - margin-bottom: 0.6em; - margin-left: 0.0em; - margin-right: 0.0em; - } - - p.copyright { font-size: 90%; } - p.copyright small { font-size: 80%; } - - p.changed { - padding-left: 0.2em; - border-left: solid; - border-top: none; - border-bottom: none; - border-right: none; - border-left-width: thin; - border-color: red; + 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%; + text-align: right; + font-weight: bold; + font-style: italic; + font-size: 75%; } + caption { font-weight: bold } + + blockquote { - margin-left: 4em; - margin-right: 4em; - margin-top: 0.8em; - margin-bottom: 0.8em; - font-style: italic; - color: #003300; + margin-left: 4em; + margin-right: 4em; + margin-top: 0.8em; + margin-bottom: 0.8em; + font-style: italic; + color: #003300; } blockquote p { - margin-bottom: 0; + margin-bottom: 0; } blockquote address { - margin: 0; + margin: 0; } table { - border-collapse: collapse; - /* - margin-left: 0em; - margin-right: 0em; - */ - margin-top: 0.8em; - margin-bottom: 0.8em; + border-collapse: collapse; } dt, dd { margin-top: 0; margin-bottom: 0; } dt { font-weight: bold; } + td { font-size: 85%; } pre, tt, code { - font-family: "andale mono", monospace; - font-size: 100%; - white-space: pre; + font-family: "andale mono", monospace; + font-size: 95%; + white-space: pre; } pre { - font-size: 80%; - border: solid; - border-width: thin; - border-color: #003300; - background-color: #EEEEEE; - padding: 0.5em; - margin-left: 2em; - margin-right: 2em + font-size: 80%; + border: solid; + border-width: thin; + border-color: #003300; + background-color: #EEEEEE; + padding: 0.5em; + margin-left: 2em; + margin-right: 2em } - tt { color: green; } - em { font-style: italic; font-weight: bold; } - strong { font-weight: bold; } + tt { color: green; } + em { font-style: italic; font-weight: bold; } + strong { font-weight: bold; } + small.footnotesize { font-size: 95%; } - span.textit { font-style: italic; } - span.textbf { font-weight: bold; } + span.textit { font-style: italic; } + span.textbf { font-weight: bold; } - .small { font-size: 90%; } - .white { color: #FFFFFF; } + .small { font-size: 80%; } + .white { color: #FFFFFF; } ul.toc { - list-style: disc; - list-style: none; + list-style: disc; + list-style: none; } @@ -153,12 +144,169 @@ a img { color: white; } a:link, a:active, a:visited { - color: #09550B; - text-decoration: none; + color: #09550B; + text-decoration: none; } a:hover, a:focus { - color: #FF9900; - text-decoration: underline; + color: #FF9900; + text-decoration: underline; + } + + table.remark { + margin-right: 5%; + margin-left: 5%; + border: solid; + border-width: thin; + border-color: #003300; + } + + table.remarktext { + text-align: justify; + background-color: #EEEEEE; + } + + table.citation { + margin-right: 10%; + margin-left: 10%; + } + + + + +/* + * x-----------------------------------------------------------------x + * | Doxygen Specific Classes | + * x-----------------------------------------------------------------x + */ + + +/* ------------------------------------------------------------------- + * Quick Index Class (top page navigation bar). + */ + + div.qindex, div.nav { + width: 100%; + background-color: #eeeeff; + border: 1px solid #003300; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; + } + + a.qindex, a.qindex:visited, a.qindex:hover, a.qindexHL, a.el, a.elRef { + text-decoration: none; + font-weight: bold; + } + + 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%; + } + + +/* ------------------------------------------------------------------- + * 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 } + + +/* ------------------------------------------------------------------- + * Attributes Listing. + */ + + .mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; + } + + .mdRow { + padding: 5px 10px; + } + + .mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + font-size: 12px; + 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; + } + + .memItemLeft, .memItemRight, .memTemplItemLeft { + padding: 1px 0px 0px 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: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + } + + .memItemLeft { font-size: 12px; } + .memItemRight { font-size: 13px; } + .memTemplItemLeft { font-size: 12px; } + .memTemplItemRight { font-size: 13px; } + + .memTemplParams { + color: #606060; + background-color: #FAFAFA; + font-size: 12px; } diff --git a/stratus1/doc/see_also.tex b/stratus1/doc/see_also.tex deleted file mode 100644 index 32299cf7..00000000 --- a/stratus1/doc/see_also.tex +++ /dev/null @@ -1,3 +0,0 @@ -\subsubsection{See Also} - -\hyperref[ref]{\emph{Introduction}}{}{Introduction}{secintroduction} diff --git a/stratus1/doc/stratus.tex b/stratus1/doc/stratus.tex deleted file mode 100644 index 3ff42f29..00000000 --- a/stratus1/doc/stratus.tex +++ /dev/null @@ -1,289 +0,0 @@ -\documentclass[12pt]{article} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{palatino} -\usepackage{fancyheadings} -\usepackage{float} -\usepackage{subfigure} -\usepackage{wrapfig} -\usepackage[dvips]{graphics} -\usepackage{graphicx} -\usepackage{epsfig} -\usepackage{multicol} -\usepackage{color} -\usepackage{url} -\usepackage{html} - -\setlength{\topmargin}{0cm} -\setlength{\headheight}{1cm} -\setlength{\textheight}{21cm} -\setlength{\textwidth}{16cm} -\setlength{\oddsidemargin}{0cm} -\setlength{\evensidemargin}{0cm} -\setlength{\columnsep}{0.125in} -\setlength{\columnseprule}{0.5pt} -\setlength{\footskip}{1cm} -\sloppy - -\newcommand{\image}[4] -% {\begin{figure}[htbp] - {\begin{figure}[h!] - \includegraphics[width=#2\textwidth]{#1} - \end{figure} - } -% \image{fig.eps}{scale} - -%--------------------------------- page style -------------------------------- -\pagestyle{fancy} -\rhead{} -\lhead{} -\rfoot{\thepage} -\lfoot{} -\cfoot{} -%---------------------------------- document --------------------------------- -\date {} -\title {Stratus User's Manual} -\author {Sophie Belloeil} - -\begin{document} - -\setlength{\footrulewidth}{0.6pt} -\maketitle - -%%\begin{htmlonly} -%% \htmlrule -%% \noindent La version imprimable de ce document est disponible ici~: \\ -%% \begin{center} -%% \hyperref[hyper]{http://asim.lip6.fr/~jpc/M1-C++/TME/6/TME6.pdf}{}{} -%% {http://asim.lip6.fr/~jpc/M1-C++/TME/6/TME6.pdf} -%% \end{center} -%%\end{htmlonly} - -\tableofchildlinks -\htmlrule - -\section{Introduction} -\label{secintroduction} - - \subsection{Stratus} - \label{secstratus} - \input{man_stratus} - \subsection{Class Model} - \label{secmodel} - \input{man_model} - \subsection{Function Param} - \label{secparam} - \input{man_param} - \subsection{A concrete example} - \label{secexample} - \input{man_example} - -\newpage -\section{Description of a netlist} -\label{secnetlist} - - \subsection{Creation of nets} - \label{secnet} - \input{man_net} - \subsection{Creation of instances} - \label{secinst} - \input{man_inst} - \subsection{Method Alias} - \label{secalias} - \input{man_alias} - \subsection{Method Extend} - \label{secextend} - \input{man_extend} - \subsection{Function Cat} - \label{seccat} - \input{man_cat} - -\newpage -\section{Description of a layout} -\label{seclayout} - - \subsection{Place} - \label{secplace} - \input{man_place} - \subsection{PlaceTop} - \label{sectop} - \input{man_place_top} - \subsection{PlaceBottom} - \label{secbottom} - \input{man_place_bottom} - \subsection{PlaceRight} - \label{secright} - \input{man_place_right} - \subsection{PlaceLeft} - \label{secleft} - \input{man_place_left} - \subsection{SetRefIns} - \label{secsetrefins} - \input{man_set_ref_ins} - \subsection{DefAb} - \label{secdefab} - \input{man_def_ab} - \subsection{ResizeAb} - \label{secresizeab} - \input{man_resize_ab} - -\newpage -\section{Place and Route} -\label{secroute} - - \subsection{PlaceCentric} - \label{seccentric} - \input{man_place_centric} - \subsection{PlaceGlu} - \label{secglu} - \input{man_place_glu} - \subsection{FillCell} - \label{secfillcell} - \input{man_fill_cell} - \subsection{Pads} - \label{secpads} - \input{man_pads} - \subsection{Alimentation rails} - \label{secrails} - \input{man_alim_rail} - \subsection{Alimentation connectors} - \label{secconnectors} - \input{man_alim_connectors} - \subsection{PowerRing} - \label{secpowerring} - \input{man_power_ring} - \subsection{RouteCk} - \label{secrouteck} - \input{man_route_ck} - -\newpage -\section{Facilities} -\label{secfacilities} - - \subsection{Instanciation of a buffer} - \label{secbuff} - \input{man_buff} - \subsection{Instanciation of a multiplexor} - \label{secmux} - \input{man_mux} - \subsection{Instanciation of a shifter} - \label{secshift} - \input{man_shift} - \subsection{Instanciation of a register} - \label{secreg} - \input{man_reg} - \subsection{Instanciation of constants} - \label{secconstant} - \input{man_const} - \subsection{Logical operations} - \label{secbool} - \input{man_boolean} - \subsection{Arithmetical operations} - \label{secarithmetic} - \input{man_arithmetic} - \subsection{Comparison operations} - \label{seccomp} - \input{man_comp} - -\begin{htmlonly} -\section{Stratus' tools} - -You can have the documentation of the tools related to stratus at :\\ -file:////users/outil/arith/latest/doc/index.html -\end{htmlonly} - -\newpage -\section{Instanciation of your own generators} -\input{man_generators} - -\section{Libraries} - - \subsection{Virtual library} - \input{man_library} - - \subsection{DPGEN generators} - - \subsubsection{DpgenInv} - \input{man_dpgeninv} - \subsubsection{DpgenBuff} - \input{man_dpgenbuff} - \subsubsection{DpgenNand2} - \input{man_dpgennand2} - \subsubsection{DpgenNand3} - \input{man_dpgennand3} - \subsubsection{Dpgennand4} - \input{man_dpgennand4} - \subsubsection{DpgenAnd2} - \input{man_dpgenand2} - \subsubsection{DpgenAnd3} - \input{man_dpgenand3} - \subsubsection{DpgenAnd4} - \input{man_dpgenand4} - \subsubsection{DpgenNor2} - \input{man_dpgennor2} - \subsubsection{DpgenNor3} - \input{man_dpgennor3} - \subsubsection{DpgenNor4} - \input{man_dpgennor4} - \subsubsection{DpgenOr2} - \input{man_dpgenor2} - \subsubsection{DpgenOr3} - \input{man_dpgenor3} - \subsubsection{DpgenOr4} - \input{man_dpgenor4} - \subsubsection{DpgenXor2} - \input{man_dpgenxor2} - \subsubsection{DpgenXnor2} - \input{man_dpgenxnor2} - \subsubsection{DpgenNmux2} - \input{man_dpgennmux2} - \subsubsection{DpgenMux2} - \input{man_dpgenmux2} - \subsubsection{DpgenNbuse} - \input{man_dpgennbuse} - \subsubsection{DpgenBuse} - \input{man_dpgenbuse} - \subsubsection{DpgenNand2mask} - \input{man_dpgennand2mask} - \subsubsection{DpgenNor2mask} - \input{man_dpgennor2mask} - \subsubsection{DpgenXnor2mask} - \input{man_dpgenxnor2mask} - \subsubsection{DpgenAdsb2f} - \input{man_dpgenadsb2f} - \subsubsection{DpgenShift} - \input{man_dpgenshift} - \subsubsection{DpgenShrot} - \input{man_dpgenshrot} - \subsubsection{DpgenNul} - \input{man_dpgennul} - \subsubsection{DpgenConst} - \input{man_dpgenconst} - \subsubsection{DpgenRom2} - \input{man_dpgenrom2} - \subsubsection{DpgenRom4} - \input{man_dpgenrom4} - \subsubsection{DpgenRam} - \input{man_dpgenram} - \subsubsection{DpgenRf1} - \input{man_dpgenrf1} - \subsubsection{DpgenRf1d} - \input{man_dpgenrf1d} - \subsubsection{DpgenFifo} - \input{man_dpgenfifo} - \subsubsection{DpgenDff} - \input{man_dpgendff} - \subsubsection{DpgenDfft} - \input{man_dpgendfft} - \subsubsection{DpgenSff} - \input{man_dpgensff} - \subsubsection{DpgenSfft} - \input{man_dpgensfft} - -\begin{htmlonly} - \subsection{Arithmetic generators} - -You can have the documentation of the arithmetic library at :\\ -file:////users/outil/arith/latest/doc/index.html -\end{htmlonly} -\end{document} diff --git a/stratus1/doc/stratus/.latex2html-init b/stratus1/doc/stratus/.latex2html-init index 5608495e..e1757de4 100644 --- a/stratus1/doc/stratus/.latex2html-init +++ b/stratus1/doc/stratus/.latex2html-init @@ -21,7 +21,7 @@ $PS_IMAGES = 0; #$TITLE = "Titre"; # The default is "No Title" -$DESTDIR = ''; # Put the result in this directory +$DESTDIR = ''; # Put the result in this directory # When this is set, the generated HTML files will be placed in the # current directory. If set to 0 the default behaviour is to create (or reuse) @@ -34,23 +34,23 @@ $ADDRESS = "$address_data[0]
    \n$address_data[1]
    "; $NO_NAVIGATION = 0; # 1 = do not put a navigation panel at the top of each page -# Put navigation links at the top of each page. -# If the page exceeds $WORDS_IN_PAGE number of words then put one at the bottom of the page. +# Put navigation links at the top of each page. If the page exceeds +# $WORDS_IN_PAGE number of words then put one at the bottom of the page. $AUTO_NAVIGATION = 1; -# Put a link to the index page in the navigation panel +# Put a link to the index page in the navigation panel $INDEX_IN_NAVIGATION = 1; -# Put a link to the table of contents in the navigation panel +# Put a link to the table of contents in the navigation panel $CONTENTS_IN_NAVIGATION = 1; -# Put a link to the next logical page in the navigation panel +# Put a link to the next logical page in the navigation panel $NEXT_PAGE_IN_NAVIGATION = 1; -# Put a link to the previous logical page in the navigation panel +# Put a link to the previous logical page in the navigation panel $PREVIOUS_PAGE_IN_NAVIGATION = 1; -$INFO = 0; # 0 = do not make a "About this document..." section +$INFO = 1; # 0 = do not make a "About this document..." section # Reuse images generated during previous runs $REUSE = 2; @@ -72,8 +72,7 @@ $CHILDLINE = "

    \n"; $LINE_WIDTH = 500; # Used in conjunction with AUTO_NAVIGATION -#$WORDS_IN_PAGE = 300; !!! -$WORDS_IN_PAGE = 50; +$WORDS_IN_PAGE = 300; # Affects ONLY the way accents are processed $default_language = 'english'; @@ -199,34 +198,34 @@ sub use_my_icon($) { } -sub make_top_nav_panel() { +sub make_top_nav_panel { my $s; $s = ('' #. "\n" . "\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n
    $t_title
    " + . "" . ($PREVIOUS_TITLE ? "Previous" : " ") . "" + . "" . ($UP_TITLE ? "Up" : " ") . "" + . "" . ($NEXT_TITLE ? "Next" : " ") . "
    " + . "" . ($PREVIOUS_TITLE ? "$PREVIOUS_TITLE" : " ") . "" + . "" . ($UP_TITLE ? "$UP_TITLE" : " ") . "" + . "" . ($NEXT_TITLE ? "$NEXT_TITLE" : " ") . "
    \n" @@ -238,34 +237,34 @@ sub make_top_nav_panel() { } -sub make_bot_nav_panel() { +sub make_bot_nav_panel { my $s; $s = ('
    ' #. "\n" . "\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n\n" # ... and the ``previous'' title - . "\n" # Similarly with the ``up'' title ... - . "\n" # If ``next'' section exists, add its title to the navigation panel - . "\n" . "\n
    $t_title
    " + . "" . ($PREVIOUS_TITLE ? "Previous" : " ") . "" + . "" . ($UP_TITLE ? "Up" : " ") . "" + . "" . ($NEXT_TITLE ? "Next" : " ") . "
    " + . "" . ($PREVIOUS_TITLE ? "$PREVIOUS_TITLE" : " ") . "" + . "" . ($UP_TITLE ? "$UP_TITLE" : " ") . "" + . "" . ($NEXT_TITLE ? "$NEXT_TITLE" : " ") . "
    \n" @@ -291,17 +290,17 @@ sub bot_navigation_panel { } -#$EXTERNAL_STYLESHEET = "../SoC.css"; +#$EXTERNAL_STYLESHEET = "../ASIM.css"; -$ADDRESS = "Sophie BELLOEIL
    20051116.1"; +$ADDRESS = "Sophie BELLOEIL
    20051116.1"; $LOCAL_ICONS = 0; $USING_STYLES = 1; -$TRANSPARENT_FIGURES = 1; +$TRANSPARENT_FIGURES = 0; -$WHITE_BACKGROUND = 0; +$WHITE_BACKGROUND = 1; $used_icons{"home." . $IMAGE_TYPE} = 1; diff --git a/stratus1/doc/stratus/SoC.css b/stratus1/doc/stratus/SoC.css index 180cadb3..d0ff4fbd 100644 --- a/stratus1/doc/stratus/SoC.css +++ b/stratus1/doc/stratus/SoC.css @@ -1,31 +1,42 @@ + +/* + * x-----------------------------------------------------------------x + * | HTML Standart Tags | + * x-----------------------------------------------------------------x + */ + html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 { - font-size: 100%; - font-family: verdana, sans-serif; + font-size: 95%; + font-family: 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; - margin-right: 10%; - margin-left: 10%; + color: black; + background: white; + background-color: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; + margin-top: 2em; + margin-right: 10%; + margin-left: 10%; } + hr { - height: 1px; - border: 0; - color: #004400; - background-color: #004400; + height: 1px; + border: 0; + color: #004400; + background-color: #004400; } + .navigation { font-size: 80%; } + + h1, h2, h3, h4, h5, h6 { - font-family: verdana, sans-serif; + font-family: verdana, sans-serif; } h1 { text-align: center; } @@ -35,117 +46,97 @@ h1, h2, h3 { font-family: "Trebuchet MS", sans-serif; color: #09550B; } - h1 { font-weight: bold; font-size: 170%; } - h2 { font-weight: bold; font-size: 140%; } - h3 { font-weight: bold; font-size: 118%; } - h4 { font-weight: bold; font-size: 100%; } - h5 { font-style: italic; font-size: 100%; } - h6 { font-variant: small-caps; font-size: 100%; } + h1 { font-weight: bold; font-size: 160%; } + h2 { font-weight: bold; font-size: 130%; } + h3 { font-weight: bold; font-size: 110%; } + h4 { font-weight: bold; font-size: 90%; } + h5 { font-style: italic; font-size: 90%; } + h6 { font-variant: small-caps; font-size: 90%; } .hide { - display: none; - color: white; + display: none; + color: white; } - div.navigation { margin-bottom: 1em; } - div.navigation h1 { margin-top: 2em; clear: both; } - div.navigation table { margin-left: 2em; font-size: 90%; } - div.navigation img { color: white; border: none; } - - p { - margin-top: 0.6em; - margin-bottom: 0.6em; - margin-left: 0.0em; - margin-right: 0.0em; - } - - p.copyright { font-size: 90%; } - p.copyright small { font-size: 80%; } - - p.changed { - padding-left: 0.2em; - border-left: solid; - border-top: none; - border-bottom: none; - border-right: none; - border-left-width: thin; - border-color: red; + 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%; + text-align: right; + font-weight: bold; + font-style: italic; + font-size: 75%; } + caption { font-weight: bold } + + blockquote { - margin-left: 4em; - margin-right: 4em; - margin-top: 0.8em; - margin-bottom: 0.8em; - font-style: italic; - color: #003300; + margin-left: 4em; + margin-right: 4em; + margin-top: 0.8em; + margin-bottom: 0.8em; + font-style: italic; + color: #003300; } blockquote p { - margin-bottom: 0; + margin-bottom: 0; } blockquote address { - margin: 0; + margin: 0; } table { - border-collapse: collapse; - /* - margin-left: 0em; - margin-right: 0em; - */ - margin-top: 0.8em; - margin-bottom: 0.8em; + border-collapse: collapse; } dt, dd { margin-top: 0; margin-bottom: 0; } dt { font-weight: bold; } + td { font-size: 85%; } pre, tt, code { - font-family: "andale mono", monospace; - font-size: 100%; - white-space: pre; + font-family: "andale mono", monospace; + font-size: 95%; + white-space: pre; } pre { - font-size: 80%; - border: solid; - border-width: thin; - border-color: #003300; - background-color: #EEEEEE; - padding: 0.5em; - margin-left: 2em; - margin-right: 2em + font-size: 80%; + border: solid; + border-width: thin; + border-color: #003300; + background-color: #EEEEEE; + padding: 0.5em; + margin-left: 2em; + margin-right: 2em } - tt { color: green; } - em { font-style: italic; font-weight: bold; } - strong { font-weight: bold; } + tt { color: green; } + em { font-style: italic; font-weight: bold; } + strong { font-weight: bold; } + small.footnotesize { font-size: 95%; } - span.textit { font-style: italic; } - span.textbf { font-weight: bold; } + span.textit { font-style: italic; } + span.textbf { font-weight: bold; } - .small { font-size: 90%; } - .white { color: #FFFFFF; } + .small { font-size: 80%; } + .white { color: #FFFFFF; } ul.toc { - list-style: disc; - list-style: none; + list-style: disc; + list-style: none; } @@ -153,12 +144,169 @@ a img { color: white; } a:link, a:active, a:visited { - color: #09550B; - text-decoration: none; + color: #09550B; + text-decoration: none; } a:hover, a:focus { - color: #FF9900; - text-decoration: underline; + color: #FF9900; + text-decoration: underline; + } + + table.remark { + margin-right: 5%; + margin-left: 5%; + border: solid; + border-width: thin; + border-color: #003300; + } + + table.remarktext { + text-align: justify; + background-color: #EEEEEE; + } + + table.citation { + margin-right: 10%; + margin-left: 10%; + } + + + + +/* + * x-----------------------------------------------------------------x + * | Doxygen Specific Classes | + * x-----------------------------------------------------------------x + */ + + +/* ------------------------------------------------------------------- + * Quick Index Class (top page navigation bar). + */ + + div.qindex, div.nav { + width: 100%; + background-color: #eeeeff; + border: 1px solid #003300; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; + } + + a.qindex, a.qindex:visited, a.qindex:hover, a.qindexHL, a.el, a.elRef { + text-decoration: none; + font-weight: bold; + } + + 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%; + } + + +/* ------------------------------------------------------------------- + * 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 } + + +/* ------------------------------------------------------------------- + * Attributes Listing. + */ + + .mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; + } + + .mdRow { + padding: 5px 10px; + } + + .mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + font-size: 12px; + 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; + } + + .memItemLeft, .memItemRight, .memTemplItemLeft { + padding: 1px 0px 0px 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: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + } + + .memItemLeft { font-size: 12px; } + .memItemRight { font-size: 13px; } + .memTemplItemLeft { font-size: 12px; } + .memTemplItemRight { font-size: 13px; } + + .memTemplParams { + color: #606060; + background-color: #FAFAFA; + font-size: 12px; } diff --git a/stratus1/doc/stratus/stratus.tex b/stratus1/doc/stratus/stratus.tex index 78aa1614..686cb094 100644 --- a/stratus1/doc/stratus/stratus.tex +++ b/stratus1/doc/stratus/stratus.tex @@ -1,32 +1,36 @@ -\documentclass[12pt]{article} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{palatino} -\usepackage{fancyhdr} -\usepackage{float} -\usepackage{subfigure} -\usepackage{wrapfig} -\usepackage[dvips]{graphics} -\usepackage{graphicx} -%\usepackage{epsfig} -\usepackage[dvips]{hyperref} -\usepackage{multicol} -\usepackage{url} -\usepackage{html} -\usepackage{color} - \definecolor{violet}{rgb}{0.5,0,0.5} + \documentclass[11pt]{article} + + \usepackage[latin1]{inputenc} + \usepackage[T1]{fontenc} + \usepackage{palatino} + \usepackage{fancyhdr} + \usepackage{float} + %\usepackage{subfigure} + %\usepackage{wrapfig} + \usepackage[dvips]{graphicx} + %\usepackage{epsfig} + \usepackage[dvips]{hyperref} + %\usepackage{multicol} + \usepackage{url} + \usepackage{html} + \usepackage{color} + \usepackage[paper=a4paper + ,headheight=30pt + ]{geometry} + + \definecolor{violet}{rgb}{0.5,0,0.5} -\setlength{\topmargin}{0cm} -\setlength{\headheight}{1cm} -\setlength{\textheight}{21cm} -\setlength{\textwidth}{16cm} -\setlength{\oddsidemargin}{0cm} -\setlength{\evensidemargin}{0cm} -\setlength{\columnsep}{0.125in} -\setlength{\columnseprule}{0.5pt} -\setlength{\footskip}{1cm} -\sloppy + %\setlength{\topmargin}{0cm} + %\setlength{\headheight}{1cm} + %\setlength{\textheight}{21cm} + %\setlength{\textwidth}{16cm} + %\setlength{\oddsidemargin}{0cm} + %\setlength{\evensidemargin}{0cm} + %\setlength{\columnsep}{0.125in} + %\setlength{\columnseprule}{0.5pt} + %\setlength{\footskip}{1cm} + \sloppy %--------------------------------- page style -------------------------------- \pagestyle{fancy} @@ -42,7 +46,7 @@ \begin{document} -\setlength{\footrulewidth}{0.6pt} +%\setlength{\footrulewidth}{0.6pt} \maketitle %%\begin{htmlonly} @@ -208,15 +212,10 @@ \section{Useful links} - \subsection{Patterns module} - -You can find the documentation of the patterns module :\\ -\url{file:///asim/coriolis/share/doc/en/html/patterns/index.html} - - \subsection{DPGEN generators} + \subsection{DpGen generators} You can find the documentation of the DPGEN library at :\\ -\url{file:///asim/coriolis/share/doc/en/html/dpgen/index.html} +\url{file:../dpgen/index.html} \subsection{Arithmetic package of stratus} @@ -228,6 +227,11 @@ You can find the documentation of the arithmetic stratus's package at :\\ You can find the documentation of the arithmetic library at :\\ \url{file:////users/outil/arith/latest/doc/index.html} + \subsection{Patterns module} + +You can find the documentation of the patterns module :\\ +\url{file:../patterns/index.html} + \end{htmlonly} \end{document}