Change Stratus documentation to reST
|
@ -73,10 +73,6 @@ install: FORCE
|
|||
cd build.dir/$$tool; \
|
||||
makeArgs=""; \
|
||||
cmakeArgs="$$commonCMakeArgs -D BUILD_DOC:STRING=OFF"; \
|
||||
if [ "$$tool" = "stratus1" ]; then \
|
||||
makeArgs="dvi safepdf html"; \
|
||||
cmakeArgs="$$commonCMakeArgs -D BUILD_DOC:STRING=ON"; \
|
||||
fi; \
|
||||
if [ "$$tool" = "hurricane" \
|
||||
-o "$$tool" = "crlcore" \
|
||||
-o "$$tool" = "unicorn" ]; then \
|
||||
|
|
|
@ -214,10 +214,6 @@ class Builder:
|
|||
if self._ninja:
|
||||
command = [ "ninja-build" ]
|
||||
#command += [ "DESTDIR=%s" % self.installDir ]
|
||||
if self._enableDoc == "ON":
|
||||
#if tool.name == "crlcore" or tool.name == "stratus1":
|
||||
if tool.name == "stratus1":
|
||||
command += [ "dvi", "safepdf", "html" ]
|
||||
command += self._makeArguments
|
||||
print "Make/Ninja command:", command
|
||||
sys.stdout.flush ()
|
||||
|
|
|
@ -43,6 +43,12 @@
|
|||
set ( rdsRst RDS/pdfHeader.rst
|
||||
RDS/RDSpage.rst )
|
||||
|
||||
set (stratusRst Stratus/pdfHeader.rst
|
||||
Stratus/Developper.rst
|
||||
Stratus/Language.rst
|
||||
Stratus/DpGen.rst
|
||||
Stratus/Patterns.rst )
|
||||
|
||||
add_custom_target ( doc_HTML ALL
|
||||
cd ${DOCUMENTATION_SOURCE_DIR}
|
||||
&& rm -rf _build
|
||||
|
@ -53,15 +59,13 @@
|
|||
../_static/SoC-ReST.css
|
||||
../_static/pygments.css
|
||||
CrlCore/CrlCore.rst
|
||||
DpGen/DpGen.rst
|
||||
Hurricane/Hurricane.rst
|
||||
Patterns/Patterns.rst
|
||||
Stratus/Stratus.rst
|
||||
Unicorn/Unicorn.rst
|
||||
Viewer/Viewer.rst
|
||||
${usersGuideRst} UsersGuide/index.rst
|
||||
${pythonCppRst} PythonCpp/index.rst
|
||||
${rdsRst} RDS/index.rst
|
||||
${stratusRst} stratus/index.rst
|
||||
)
|
||||
|
||||
add_custom_target ( pdf_UsersGuide ALL
|
||||
|
@ -87,9 +91,18 @@
|
|||
../etc/SoC-ReST.tex
|
||||
${pythonCppRst} )
|
||||
|
||||
add_custom_target ( pdf_Stratus ALL
|
||||
cd ${DOCUMENTATION_SOURCE_DIR}/Stratus
|
||||
&& ../etc/doPdf.sh ${stratusRst} Stratus.rst
|
||||
)
|
||||
add_dependencies ( pdf_Stratus ../etc/definitions.rst
|
||||
../etc/SoC-ReST.tex
|
||||
${StratusRst} )
|
||||
|
||||
install ( DIRECTORY _build/html/ DESTINATION ${htmlInstallDir} )
|
||||
install ( FILES RDS/RDS.pdf
|
||||
PythonCpp/PythonCpp.pdf
|
||||
Stratus/Stratus.pdf
|
||||
UsersGuide/UsersGuide.pdf DESTINATION ${pdfInstallDir} )
|
||||
|
||||
endif(BUILD_DOC)
|
||||
|
|
|
@ -9,9 +9,7 @@ Comprenhensive Table of Contents
|
|||
.. toctree::
|
||||
|
||||
UsersGuide/index.rst
|
||||
Stratus/Stratus.rst
|
||||
DpGen/DpGen.rst
|
||||
Patterns/Patterns.rst
|
||||
Stratus/index.rst
|
||||
Hurricane/Hurricane.rst
|
||||
Viewer/Viewer.rst
|
||||
CrlCore/CrlCore.rst
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
.. -*- Mode: rst -*-
|
||||
|
||||
.. include:: ../etc/definitions.rst
|
||||
|
||||
|
||||
=================
|
||||
DpGen Reference
|
||||
=================
|
||||
|
||||
The DpGen extension of the Stratus Language reference is generated by LaTeX2HTML_ and is
|
||||
available here: `DpGen <file:../../dpgen/index.html>`_
|
|
@ -1,11 +0,0 @@
|
|||
.. -*- Mode: rst -*-
|
||||
|
||||
.. include:: ../etc/definitions.rst
|
||||
|
||||
|
||||
====================
|
||||
Patterns Reference
|
||||
====================
|
||||
|
||||
The Patterns extension of the Stratus Language reference is generated by LaTeX2HTML_ and is
|
||||
available here: `Patterns <file:../../patterns/index.html>`_
|
|
@ -0,0 +1,318 @@
|
|||
==========================
|
||||
Stratus Developper's Guide
|
||||
==========================
|
||||
Sophie Belloeil
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
||||
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
|
||||
----------
|
||||
|
||||
- ``name`` : The name of the cell (which is the name of the files which
|
||||
will be created)
|
||||
|
||||
- ``param`` : A dictionnary which gives all the parameters useful in
|
||||
order to create the cell
|
||||
|
||||
Attributes
|
||||
----------
|
||||
|
||||
- ``_name`` : Name of the cell
|
||||
|
||||
- ``_st_insts`` : List of all the instances of the cell
|
||||
|
||||
- ``_st_ports`` : List of all the external nets of the cell (except for
|
||||
alimentations and clock)
|
||||
|
||||
- ``_st_sigs`` : List of all the internal nets of the cell
|
||||
|
||||
- ``_st_vdds``, ``_st_vsss`` : Two tabs of the nets which are
|
||||
instancied as ``VddIn`` and ``VssIn``
|
||||
|
||||
- ``_st_cks`` : List of all the nets which are instancied as ``CkIn``
|
||||
|
||||
- ``_st_merge`` : List of all the internal nets which have to be merged
|
||||
|
||||
- ``_param`` : The map given as argument at the creation of the cell
|
||||
|
||||
- ``_underCells`` : List of all the instances which are cells that have
|
||||
to be created
|
||||
|
||||
- ``_and``, ``_or``, ``_xor``, ``_not``, ``_buff``, ``_mux``, ``_reg``,
|
||||
``_shift``, ``_comp``, ``_add``, ``_mult``, ``_div`` : tells which
|
||||
generator to use when using overloard
|
||||
|
||||
- ``_NB_INST`` : The number of instances of the cell (useful in order
|
||||
to automatically give a name to the instances)
|
||||
|
||||
- ``_TAB_NETS_OUT`` and ``_TAB_NETS_CAT`` : Lists of all the nets
|
||||
automatically created
|
||||
|
||||
- ``_insref`` : The reference instance (for placement)
|
||||
|
||||
And, in connection with Hurricane :
|
||||
|
||||
- ``_hur_cell`` : The hurricane cell (None by default)
|
||||
|
||||
- ``_db`` : The database
|
||||
|
||||
- ``_lib0`` : ``self._db.Get_CATA_LIB ( 0 )``
|
||||
|
||||
- ``_nb_alims_verticales``, ``_nb_pins``, ``_nb_vdd_pins``,
|
||||
``_nb_vss_pins``, ``standard_instances_list``, ``pad_north``,
|
||||
``pad_south``, ``pad_east``, ``pad_west`` : all place and route
|
||||
stuffs ...
|
||||
|
||||
Methods
|
||||
-------
|
||||
|
||||
Methods of class ``Model`` are listed below :
|
||||
|
||||
- ``HurricanePlug`` : Creates the Hurricane cell thanks to the
|
||||
stratus cell.
|
||||
Before calling this method, only the stratus cell is created, after
|
||||
this method, both cells are created. This method has to be called
|
||||
before View and Save, and before Layout.
|
||||
|
||||
- ``View`` : Opens/Refreshes the editor in order to see the created
|
||||
layout
|
||||
|
||||
- ``Quit`` : Finishes a cell without saving
|
||||
|
||||
- ``Save`` : Saves the created cell
|
||||
If several cells have been created, they are all going to be saved
|
||||
in separated files
|
||||
|
||||
Some of those methods have to be defined in order to create a new cell :
|
||||
|
||||
- ``Interface`` : Description of the external ports of the cell
|
||||
|
||||
- ``Netlist`` : Description of the netlist of the cell
|
||||
|
||||
- ``Layout`` : Description of the layout of the cell
|
||||
|
||||
- ``Vbe`` : Description of the behavior of the cell
|
||||
|
||||
- ``Pattern`` : Description of the patterns in order to test the cell
|
||||
|
||||
Nets
|
||||
====
|
||||
|
||||
Synopsys
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
netInput = LogicIn ( name, arity )
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
Instanciation of net. Differents kind of nets are listed below :
|
||||
|
||||
- ``LogicIn`` : Creation of an input port
|
||||
|
||||
- ``LogicOut`` : Creation of an output port
|
||||
|
||||
- ``LogicInOut`` : Creation of an inout port
|
||||
|
||||
- ``LogicUnknown`` : Creation of an input/output port which direction
|
||||
is not defined
|
||||
|
||||
- ``TriState`` : Creation of a tristate port
|
||||
|
||||
- ``CkIn`` : Creation of a clock port
|
||||
|
||||
- ``VddIn`` : Creation of the vdd alimentation
|
||||
|
||||
- ``VssIn`` : Creation of the vss alimentation
|
||||
|
||||
- ``Signal`` : Creation of an internal net
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
||||
- ``name`` : Name of the net (mandatory argument)
|
||||
|
||||
- ``arity`` : Arity of the net (mandatory argument)
|
||||
|
||||
- ``indice`` : For buses only : the LSB bit (optional argument : set
|
||||
to 0 by default)
|
||||
|
||||
Only ``CkIn, ``\ ``VddIn`` and ``VssIn`` do not have the same parameters: there is only the ``name`` parameter (they are 1 bit nets).
|
||||
|
||||
Attributes
|
||||
----------
|
||||
|
||||
- ``_name`` : Name of the net
|
||||
|
||||
- ``_arity`` : Arity of the net (by default set to 0)
|
||||
|
||||
- ``_ind`` : LSB of the net
|
||||
|
||||
- ``_ext`` : Tells if the net is external or not (True/False)
|
||||
|
||||
- ``_direct`` : If the net is external, tells the direction (“IN”,
|
||||
“OUT”, “INOUT”, “TRISTATE”, “UNKNOWN”)
|
||||
|
||||
- ``_h_type`` : If the net is an alimentation or a clock, tells the
|
||||
type (“POWER”, “GROUND”, “CLOCK”)
|
||||
|
||||
- ``_type`` : The arithmetic type of the net ( “nr” )
|
||||
|
||||
- ``_st_cell`` : The stratus cell which the net is instanciated in
|
||||
|
||||
- ``_real_net`` : If the net is a part of a net (Sig) it is the real
|
||||
net corresponding
|
||||
|
||||
- ``_alias`` : [] by default. When the net has an alias, it’s a tab.
|
||||
Each element of the tab correspond to a bit of the net (from the LSB
|
||||
to the MSB), it’a a dictionnary : the only key is the net which this
|
||||
net is an alias from, the value is the bit of the net
|
||||
|
||||
- ``_to_merge`` : [] by default. The same as \_alias
|
||||
|
||||
- | ``_to_cat`` : [] by default. The same as \_alias
|
||||
|
||||
And, in connection with Hurricane :
|
||||
|
||||
- ``_hur_net`` : A tab with all the hurricane nets corresponding to the
|
||||
stratus net ; From the LSB to the MSB (for example, with a 1 bit net,
|
||||
one gets the hurricane net by doing : ``net._hur_net[0]`` ).
|
||||
|
||||
Methods
|
||||
-------
|
||||
|
||||
- ``Buffer`` : Instanciation of a Buffer
|
||||
|
||||
- ``Shift`` : Instanciation of a shifter
|
||||
|
||||
- ``Mux`` : Instanciation of a multiplexor
|
||||
|
||||
- ``Reg`` : Instanciation of a register
|
||||
|
||||
- ``Eq/Ne`` : Instanciation of comparison generator
|
||||
|
||||
- ``Extend`` : A net is extended
|
||||
|
||||
- ``Alias`` : A net is an alias of another net
|
||||
|
||||
- | ``Delete`` : Deletion of the Hurricane nets
|
||||
|
||||
And the overloards :
|
||||
|
||||
- \_\_init\_\_ : Initialisation of nets
|
||||
|
||||
- \_\_le\_\_ : initialisation of a net thanks to <= notation
|
||||
|
||||
- \_\_getitem\_\_, \_\_geslice\_\_ : Creation of “Sig” nets : which are
|
||||
part of nets (use of ``[]`` and ``[:]``)
|
||||
|
||||
- \_\_and\_\_, \_\_or\_\_, \_\_xor\_\_, \_\_invert\_\_ : boolean
|
||||
operation with &, \|, ^ ,
|
||||
|
||||
- \_\_add\_\_, \_\_mul\_\_, \_\_div\_\_ : arithmetic operators with +,
|
||||
\* and /
|
||||
|
||||
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
|
||||
----------
|
||||
|
||||
- ``model`` : Name of the mastercell of the instance to create
|
||||
(mandatory argument)
|
||||
|
||||
- ``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.
|
||||
|
||||
- ``param`` : Dictionnary for parameters of the mastercell (optional :
|
||||
only for mastercells which require it)
|
||||
|
||||
- ``map`` : Dictionnary for connexions in order to make the netlist
|
||||
|
||||
Attributes
|
||||
----------
|
||||
|
||||
- ``_name`` : Name of the instance (the name given as parameter if
|
||||
there’s one, a name created otherwise)
|
||||
|
||||
- ``_model`` : Name of the model given as argument
|
||||
|
||||
- ``_real_model`` : Name of the model created thanks to ``_model`` and
|
||||
all the parameters
|
||||
|
||||
- ``_map`` : Dictionnary ``map`` given at the instanciation
|
||||
|
||||
- ``_param`` : Dictionnary ``param`` given at the instanciation
|
||||
|
||||
- ``_st_cell`` : The stratus cell which the instance is instanciated in
|
||||
|
||||
- ``_st_masterCell`` : The stratus master cell of the instance
|
||||
|
||||
For placement :
|
||||
|
||||
- ``_plac`` : tells if the instance is placed or not (UNPLACED by
|
||||
default)
|
||||
|
||||
- ``_x``, ``_y`` : the coordinates of the instance (only for placed
|
||||
instances)
|
||||
|
||||
- ``_sym`` : the symetry of the instance (only for placed instances)
|
||||
|
||||
And, in connection with Hurricane :
|
||||
|
||||
- ``_hur_instance`` : The hurricane instance (None by default)
|
||||
|
||||
- ``_hur_masterCell`` : The Hurricane master cell of the instance (None
|
||||
by default)
|
||||
|
||||
Methods
|
||||
-------
|
||||
|
||||
- Delete : Deletion of the Hurricane instance
|
||||
|
||||
|
|
@ -0,0 +1,260 @@
|
|||
============================
|
||||
Patterns module User's Guide
|
||||
============================
|
||||
Roselyne Chotin-Avot
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The patterns module of *Stratus* is a set of *Python* classes and
|
||||
methods that allows a procedural description of input pattern file for
|
||||
the logic simulator. The *Stratus* ``Pattern`` method produces a pattern
|
||||
description file as output. The file generated by ``Pattern`` method is
|
||||
in pat format, so IT IS STRONGLY RECOMMENDED TO SEE pat(5) manual BEFORE
|
||||
TO USE IT.
|
||||
|
||||
Syntax
|
||||
======
|
||||
|
||||
From a user point of view, ``Pattern`` method is a pattern description
|
||||
language using all standard *Python* facilities. Here follows the
|
||||
description of the ``Pattern`` method.
|
||||
A pat format file can be divided in two parts : declaration and
|
||||
description part.
|
||||
The declaration part is the list of inputs, outputs, internal signals
|
||||
and registers. Inputs are to be forced to a certain value and all the
|
||||
others are to be observed during simulation.
|
||||
The description part is a set of patterns, where each pattern defines
|
||||
the value of inputs and outputs. The pattern number represents actually
|
||||
the absolute time for the simulator.
|
||||
Similarly, a ``Pattern`` method can be divided in two parts :
|
||||
declaration and description part. Methods related to the declaration
|
||||
must be called before any function related to the description part.
|
||||
|
||||
Declaration part
|
||||
----------------
|
||||
|
||||
The first thing you should do in this part is to instantiate the class
|
||||
``Patwrite`` to have access to all patterns declaration and description
|
||||
methods. The constructor of this class take as parameters the name of
|
||||
pattern output file and the *Stratus* cell that is described (see
|
||||
``PatWrite`` [patwrite]).
|
||||
Then, this part allows you to declare the inputs, the outputs, and
|
||||
internal observing points (see ``declar``\ [declar] and
|
||||
``declar_interface`` [declar:sub:`i`\ nterface]).
|
||||
|
||||
Description part
|
||||
----------------
|
||||
|
||||
After all signals are declared, you can begin the description part (see
|
||||
``pattern_begin`` [pattern:sub:`b`\ egin]). In this part you have to
|
||||
define input values which are to be applied to the inputs of the circuit
|
||||
or output values which are to be compare with the values produced during
|
||||
the simulation. (see ``affect`` [affect], ``affect_any``
|
||||
[affect:sub:`a`\ ny], ``affect_int`` [affect:sub:`i`\ nt] and
|
||||
``affect_fix`` [affect:sub:`f`\ ix]). ``Pattern`` method describes the
|
||||
stimulus by event : only signal transitions are described. After each
|
||||
event there is a new input in the pattern file (see ``addpat``
|
||||
[addpat]). Last thing you should do in this part is to generate the
|
||||
output file (see ``pattern_end`` [pattern:sub:`e`\ nd]).
|
||||
|
||||
Methods
|
||||
=======
|
||||
|
||||
PatWrite
|
||||
--------
|
||||
|
||||
This class is used to create patterns for *Stratus* models. Currently it
|
||||
only supports Alliance “.pat” pattern format. Patterns time stamps are
|
||||
in the “absolute date” format, “relative date” isn’t allowed. Legal time
|
||||
unit are ps (default), ns, us and ms. The constructor takes as
|
||||
parameters the pattern output filename and an optional reference to
|
||||
Stratus cell.
|
||||
|
||||
declar
|
||||
------
|
||||
|
||||
Adds a connector from a Stratus model to the pattern interface. Writes
|
||||
the corresponding connector declaration in the pattern file with name,
|
||||
arity and direction automatically extracted from the connector
|
||||
properties.
|
||||
Supported Stratus connectors are:
|
||||
|
||||
- SignalIn,
|
||||
|
||||
- SignalOut (only supported if used as an output),
|
||||
|
||||
- VddIn,
|
||||
|
||||
- VssIn,
|
||||
|
||||
- CkIn,
|
||||
|
||||
- SignalInOut,
|
||||
|
||||
- TriState (always an output),
|
||||
|
||||
- Signals.
|
||||
|
||||
Parameters
|
||||
~~~~~~~~~~
|
||||
|
||||
- connector : can either be a reference to a stratus net or a string
|
||||
containing the name of the stratus net.
|
||||
|
||||
- format : optional format for the connectors values into the pattern
|
||||
file, accepted values are :
|
||||
|
||||
- ’B’: binary (default),
|
||||
|
||||
- ’X’: hexadecimal,
|
||||
|
||||
- ’O’: octal.
|
||||
|
||||
declar\_interface
|
||||
-----------------
|
||||
|
||||
Adds all the connectors from a Stratus model to the pattern interface.
|
||||
Write the corresponding connector declaration in the pattern file with
|
||||
name, arity and direction directly taken from the connector proprieties.
|
||||
|
||||
Parameters
|
||||
~~~~~~~~~~
|
||||
|
||||
- cell : the tested Stratus model reference. Optional if a reference to
|
||||
the tested Stratus model was given during instanciation[patwrite].
|
||||
|
||||
- format : optional format for the connectors values into the pattern
|
||||
file, accepted values are :
|
||||
|
||||
- ’B’: binary (default),
|
||||
|
||||
- ’X’: hexadecimal,
|
||||
|
||||
- ’O’: octal.
|
||||
|
||||
declar
|
||||
------
|
||||
|
||||
Affect a string value to a connector.
|
||||
|
||||
Parameters
|
||||
~~~~~~~~~~
|
||||
|
||||
- connector : *Stratus* connector
|
||||
|
||||
- value : string to affect to connector
|
||||
|
||||
affect\_int
|
||||
-----------
|
||||
|
||||
Affect an integer (CA2) value to a connector. Convert the 2’s complement
|
||||
value to the corresponding binary value. The binary size is taken from
|
||||
the connector arity. If the connector is an output, the binary value is
|
||||
preceded by “?”.
|
||||
|
||||
Parameters
|
||||
~~~~~~~~~~
|
||||
|
||||
- connector : *Stratus* connector.
|
||||
|
||||
- value : 2’s complement value to affect to the connector.
|
||||
|
||||
affect\_fix
|
||||
-----------
|
||||
|
||||
Affect a fixed point value to a connector. Convert the floating point
|
||||
input value to the corresponding fixed point value with
|
||||
word\_length=connector.arity() and integer\_word\_length=iwl. If the
|
||||
connector is an output, the binary value is preceded by “?”.
|
||||
|
||||
Parameters
|
||||
~~~~~~~~~~
|
||||
|
||||
- connector : *Stratus* connector.
|
||||
|
||||
- value : floating point value to convert and asign to connector.
|
||||
|
||||
- iwl : integer word length
|
||||
|
||||
affect\_any
|
||||
-----------
|
||||
|
||||
Disable comparison between this connector value and the one calculated
|
||||
during simulation.
|
||||
|
||||
Parameters
|
||||
~~~~~~~~~~
|
||||
|
||||
- connector : *Stratus* connector.
|
||||
|
||||
addpat
|
||||
------
|
||||
|
||||
Adds a pattern in the pattern file.
|
||||
|
||||
pattern\_begin
|
||||
--------------
|
||||
|
||||
Mark the end of the interface declaration and the beginning of the test
|
||||
vectors.
|
||||
|
||||
pattern\_end
|
||||
------------
|
||||
|
||||
Mark the end of the test vectors and of the patterns file.
|
||||
|
||||
Example
|
||||
=======
|
||||
|
||||
``Pattern`` method for an addaccu
|
||||
|
||||
::
|
||||
|
||||
def Pattern(self):
|
||||
# initialisation
|
||||
pat = PatWrite(self._name+'.pat',self)
|
||||
|
||||
# declaration of ports
|
||||
pat.declar(self.ck, 'B')
|
||||
pat.declar(self.load, 'B')
|
||||
pat.declar(self.input, 'X')
|
||||
pat.declar(self.output, 'X')
|
||||
pat.declar(self.vdd, 'B')
|
||||
pat.declar(self.vss, 'B')
|
||||
|
||||
# use of pat.declar_interface(self) has the same effect
|
||||
|
||||
# description beginning
|
||||
pat.pattern_begin()
|
||||
|
||||
# affect vdd and vss values
|
||||
pat.affect_int(self.vdd,1)
|
||||
pat.affect_int(self.vss,0)
|
||||
|
||||
# first pattern : load an initial value
|
||||
pat.affect_int(self.input,5)
|
||||
pat.affect_int(self.load,1)
|
||||
pat.affect_int(self.ck,0)
|
||||
# add the pattern in the pattern file
|
||||
pat.addpat()
|
||||
# compute next event
|
||||
pat.affect_int(self.ck,1)
|
||||
pat.addpat()
|
||||
|
||||
# compute 22 cycle of accumulation
|
||||
pat.affect_int(self.load,0)
|
||||
for i in range(1,22):
|
||||
pat.affect_int(self.ck,0)
|
||||
pat.addpat()
|
||||
pat.affect_int(self.ck,1)
|
||||
pat.affect_int(self.output,i+5)
|
||||
pat.addpat()
|
||||
|
||||
# end of the description
|
||||
pat.pattern_end()
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
.. -*- Mode: rst -*-
|
||||
|
||||
.. include:: ../etc/definitions.rst
|
||||
|
||||
|
||||
===================
|
||||
Stratus Reference
|
||||
===================
|
||||
|
||||
The Stratus Language reference is generated by LaTeX2HTML_ and is
|
||||
available here: `Stratus <file:../../stratus/index.html>`_
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
doc_en_latex_imagesdir = $(datadir)/doc/en/latex/stratus/images
|
||||
|
||||
doc_en_latex_images_DATA = add1.png \
|
||||
add2.png \
|
||||
addaccu.png \
|
||||
editor.png \
|
||||
test.png \
|
||||
xml.png
|
||||
|
||||
EXTRA_DIST = $(doc_en_latex_images_DATA)
|
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 949 B |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 43 KiB |
|
@ -0,0 +1,20 @@
|
|||
.. -*- mode: rst; explicit-buffer-name: "index.rst<Stratus>" -*-
|
||||
|
||||
.. include:: ../etc/definitions.rst
|
||||
|
||||
|
||||
==================================
|
||||
Stratus : Netlist Capture Language
|
||||
==================================
|
||||
|
||||
Printable version of this document `Stratus.pdf <../../../pdf/main/Stratus.pdf>`_.
|
||||
|
||||
Stratus – Procedural design language based upon *Python*
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Language.rst
|
||||
Developper.rst
|
||||
Pattern.rst
|
||||
DpGen.rst
|
|
@ -0,0 +1,15 @@
|
|||
.. -*- Mode: rst -*-
|
||||
|
||||
.. include:: ../etc/definitions.rst
|
||||
|
||||
|
||||
=======================
|
||||
Stratus User's Guide
|
||||
=======================
|
||||
|
||||
|pagestylefancy|
|
||||
|
||||
|
||||
.. contents::
|
||||
|
||||
|newpage|
|
|
@ -17,15 +17,11 @@
|
|||
<span class="linkdescr">Graphical Interface C++ API</span></p>
|
||||
</td></tr>
|
||||
<tr><td width="50%">
|
||||
<p class="biglink"><a class="biglink" href="{{ pathto("DpGen/DpGen") }}">DpGen Extension (Stratus)</a><br/>
|
||||
<span class="linkdescr">Netlist Capture extension for Datapathes</span></p>
|
||||
</td><td width="50%">
|
||||
<p class="biglink"><a class="biglink" href="{{ pathto("CrlCore/CrlCore") }}">CRL Core Reference</a><br/>
|
||||
<span class="linkdescr">Parser/Drivers (I/O) C++ API</span></p>
|
||||
</td></tr>
|
||||
<tr><td width="50%">
|
||||
<p class="biglink"><a class="biglink" href="{{ pathto("Patterns/Patterns") }}">Patterns Extension (Stratus)</a><br/>
|
||||
<span class="linkdescr">Patterns generation extension</span></p>
|
||||
</td><td width="50%">
|
||||
<p class="biglink"><a class="biglink" href="{{ pathto("Unicorn/Unicorn") }}">Unicorn Reference</a><br/>
|
||||
<span class="linkdescr">Main GUI C++ API</span></p>
|
||||
|
|
|
@ -66,6 +66,7 @@ release = '2'
|
|||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build', 'UsersGuide/UsersGuide.rst', 'UsersGuide/pdfHeader.rst'
|
||||
, 'PythonCpp/PythonCpp.rst' , 'PythonCpp/pdfHeader.rst'
|
||||
, 'Stratus/Stratus.rst' , 'Stratus/pdfHeader.rst'
|
||||
, 'RDS/RDS.rst' , 'RDS/pdfHeader.rst' ]
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
|
|
|
@ -13,9 +13,7 @@ Contents:
|
|||
.. toctree::
|
||||
|
||||
UsersGuide/index.rst
|
||||
Stratus/Stratus.rst
|
||||
DpGen/DpGen.rst
|
||||
Patterns/Patterns.rst
|
||||
Stratus/index.rst
|
||||
Hurricane/Hurricane.rst
|
||||
Viewer/Viewer.rst
|
||||
CrlCore/CrlCore.rst
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
|
||||
project(STRATUS1)
|
||||
|
||||
option(BUILD_DOC "Build the documentation (latex2html)" OFF)
|
||||
# option(BUILD_DOC "Build the documentation (latex2html)" OFF)
|
||||
|
||||
cmake_minimum_required(VERSION 2.4.0)
|
||||
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
|
||||
|
@ -22,12 +22,12 @@
|
|||
find_package(VLSISAPD REQUIRED)
|
||||
find_package(HURRICANE REQUIRED)
|
||||
find_package(CORIOLIS REQUIRED)
|
||||
if(BUILD_DOC)
|
||||
include(UseLATEX)
|
||||
endif(BUILD_DOC)
|
||||
#if(BUILD_DOC)
|
||||
# include(UseLATEX)
|
||||
#endif(BUILD_DOC)
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(etc)
|
||||
if(BUILD_DOC)
|
||||
add_subdirectory(doc)
|
||||
endif(BUILD_DOC)
|
||||
#if(BUILD_DOC)
|
||||
# add_subdirectory(doc)
|
||||
#endif(BUILD_DOC)
|
||||
|
|
|
@ -16,12 +16,12 @@ Makefile
|
|||
src/Makefile
|
||||
src/lib/Makefile
|
||||
src/dpgen/Makefile
|
||||
doc/Makefile
|
||||
doc/stratus/Makefile
|
||||
doc/stratus/images/Makefile
|
||||
doc/developper/Makefile
|
||||
doc/dpgen/Makefile
|
||||
doc/patterns/Makefile
|
||||
#doc/Makefile
|
||||
#doc/stratus/Makefile
|
||||
#doc/stratus/images/Makefile
|
||||
#doc/developper/Makefile
|
||||
#doc/dpgen/Makefile
|
||||
#doc/patterns/Makefile
|
||||
etc/Makefile
|
||||
modules/Makefile
|
||||
modules/patterns/Makefile
|
||||
|
|