Skip to content

Commit

Permalink
Docs: Reflow line length
Browse files Browse the repository at this point in the history
  • Loading branch information
KrystalDelusion committed May 3, 2024
1 parent 65eab1f commit a42e127
Show file tree
Hide file tree
Showing 20 changed files with 786 additions and 789 deletions.
316 changes: 152 additions & 164 deletions docs/source/getting_started/example_synth.rst

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions docs/source/getting_started/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -183,9 +183,8 @@ directories:

``passes/``
This directory contains a subdirectory for each pass or group of passes. For
example as of this writing the directory :file:`passes/hierarchy/` contains the
code for three passes: `hierarchy`, `submod`, and
`uniquify`.
example as of this writing the directory :file:`passes/hierarchy/` contains
the code for three passes: `hierarchy`, `submod`, and `uniquify`.

``techlibs/``
This directory contains simulation models and standard implementations for
Expand Down
66 changes: 32 additions & 34 deletions docs/source/getting_started/scripting_intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ file format and how you can make your own synthesis scripts.

Yosys script files typically use the :file:`.ys` extension and contain a set of
commands for Yosys to run sequentially. These commands are the same ones we
were using on the previous page like `read_verilog` and
`hierarchy`. As with the interactive shell, each command consists of
the command name, and an optional whitespace separated list of arguments.
Commands are terminated with the newline character, or by a semicolon (;). Empty
lines, and lines starting with the hash sign (#), are ignored.
were using on the previous page like `read_verilog` and `hierarchy`. As with
the interactive shell, each command consists of the command name, and an
optional whitespace separated list of arguments. Commands are terminated with
the newline character, or by a semicolon (;). Empty lines, and lines starting
with the hash sign (#), are ignored.

The synthesis starter script
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -32,24 +32,23 @@ already, let's take a look at some of those script files now.
:caption: A section of :file:`fifo.ys`, generating the images used for :ref:`addr_gen_example`
:name: fifo-ys

The first command there, :yoscrypt:`echo on`, uses `echo` to enable
command echoes on. This is how we generated the code listing for
The first command there, :yoscrypt:`echo on`, uses `echo` to enable command
echoes on. This is how we generated the code listing for
:ref:`hierarchy_output`. Turning command echoes on prints the ``yosys>
hierarchy -top addr_gen`` line, making the output look the same as if it were an
interactive terminal. :yoscrypt:`hierarchy -top addr_gen` is of course the
command we were demonstrating, including the output text and an image of the
design schematic after running it.

We briefly touched on `select` when it came up in
`synth_ice40`, but let's look at it more now.
We briefly touched on `select` when it came up in `synth_ice40`, but let's look
at it more now.

.. _select_intro:

Selections intro
^^^^^^^^^^^^^^^^

The `select` command is used to modify and view the list of selected
objects:
The `select` command is used to modify and view the list of selected objects:

.. literalinclude:: /code_examples/fifo/fifo.out
:language: doscon
Expand Down Expand Up @@ -89,8 +88,8 @@ statement.

Many commands also support an optional ``[selection]`` argument which can be
used to override the currently selected objects. We could, for example, call
:yoscrypt:`clean addr_gen` to have `clean` operate on *just* the
``addr_gen`` module.
:yoscrypt:`clean addr_gen` to have `clean` operate on *just* the ``addr_gen``
module.

Detailed documentation of the select framework can be found under
:doc:`/using_yosys/more_scripting/selections` or in the command reference at
Expand All @@ -101,11 +100,11 @@ Detailed documentation of the select framework can be found under
Displaying schematics
^^^^^^^^^^^^^^^^^^^^^

While the `select` command is very useful, sometimes nothing beats
being able to see a design for yourself. This is where `show` comes
in. Note that this document is just an introduction to the `show`
command, only covering the basics. For more information, including a guide on
what the different symbols represent, see :ref:`interactive_show` and the
While the `select` command is very useful, sometimes nothing beats being able to
see a design for yourself. This is where `show` comes in. Note that this
document is just an introduction to the `show` command, only covering the
basics. For more information, including a guide on what the different symbols
represent, see :ref:`interactive_show` and the
:doc:`/using_yosys/more_scripting/interactive_investigation` page.

.. figure:: /_images/code_examples/fifo/addr_gen_show.*
Expand All @@ -116,8 +115,8 @@ what the different symbols represent, see :ref:`interactive_show` and the

.. note::

The `show` command requires a working installation of `GraphViz`_
and `xdot`_ for displaying the actual circuit diagrams.
The `show` command requires a working installation of `GraphViz`_ and `xdot`_
for displaying the actual circuit diagrams.

.. _GraphViz: http://www.graphviz.org/
.. _xdot: https://github.com/jrfonseca/xdot.py
Expand All @@ -131,8 +130,8 @@ we see the following:
:start-at: -prefix addr_gen_show
:end-before: yosys> show

Calling `show` with :yoscrypt:`-format dot` tells it we want to output
a :file:`.dot` file rather than opening it for display. The :yoscrypt:`-prefix
Calling `show` with :yoscrypt:`-format dot` tells it we want to output a
:file:`.dot` file rather than opening it for display. The :yoscrypt:`-prefix
addr_gen_show` option indicates we want the file to be called
:file:`addr_gen_show.{*}`. Remember, we do this in :file:`fifo.ys` because we
need to store the image for displaying in the documentation you're reading. But
Expand Down Expand Up @@ -178,21 +177,20 @@ the two ``PROC`` blocks. To achieve this highlight, we make use of the

Calling :yoscrypt:`show -color maroon3 @new_cells -color cornflowerblue p:* -notitle`

As described in the the `help` output for `show` (or by
clicking on the `show` link), colors are specified as :yoscrypt:`-color
<color> <object>`. Color names for the ``<color>`` portion can be found on the
`GraphViz color docs`_. Unlike the final `show` parameter which can
have be any selection string, the ``<object>`` part must be a single selection
expression or named selection. That means while we can use ``@new_cells``, we
couldn't use ``t:$eq t:$add``. In general, if a command lists ``[selection]``
as its final parameter it can be any selection string. Any selections that are
not the final parameter, such as those used in options, must be a single
expression instead.
As described in the the `help` output for `show` (or by clicking on the `show`
link), colors are specified as :yoscrypt:`-color <color> <object>`. Color names
for the ``<color>`` portion can be found on the `GraphViz color docs`_. Unlike
the final `show` parameter which can have be any selection string, the
``<object>`` part must be a single selection expression or named selection.
That means while we can use ``@new_cells``, we couldn't use ``t:$eq t:$add``.
In general, if a command lists ``[selection]`` as its final parameter it can be
any selection string. Any selections that are not the final parameter, such as
those used in options, must be a single expression instead.

.. _GraphViz color docs: https://graphviz.org/doc/info/colors

For all of the options available to `show`, check the command reference
at :doc:`/cmd/show`.
For all of the options available to `show`, check the command reference at
:doc:`/cmd/show`.

.. seealso:: :ref:`interactive_show` on the
:doc:`/using_yosys/more_scripting/interactive_investigation` page.
26 changes: 14 additions & 12 deletions docs/source/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -161,31 +161,33 @@ Benefits of open source HDL synthesis

- Cost (also applies to ``free as in free beer`` solutions):

Today the cost for a mask set in 180nm technology is far less than
the cost for the design tools needed to design the mask layouts. Open Source
ASIC flows are an important enabler for ASIC-level Open Source Hardware.
Today the cost for a mask set in 180nm technology is far less than the cost
for the design tools needed to design the mask layouts. Open Source ASIC flows
are an important enabler for ASIC-level Open Source Hardware.

- Availability and Reproducibility:

If you are a researcher who is publishing, you want to use tools that everyone
else can also use. Even if most universities have access to all major
commercial tools, you usually do not have easy access to the version that was
used in a research project a couple of years ago. With Open Source tools you
can even release the source code of the tool you have used alongside your data.
can even release the source code of the tool you have used alongside your
data.

- Framework:

Yosys is not only a tool. It is a framework that can be used as basis for other
developments, so researchers and hackers alike do not need to re-invent the
basic functionality. Extensibility was one of Yosys' design goals.
Yosys is not only a tool. It is a framework that can be used as basis for
other developments, so researchers and hackers alike do not need to re-invent
the basic functionality. Extensibility was one of Yosys' design goals.

- All-in-one:

Because of the framework characteristics of Yosys, an increasing number of features
become available in one tool. Yosys not only can be used for circuit synthesis but
also for formal equivalence checking, SAT solving, and for circuit analysis, to
name just a few other application domains. With proprietary software one needs to
learn a new tool for each of these applications.
Because of the framework characteristics of Yosys, an increasing number of
features become available in one tool. Yosys not only can be used for circuit
synthesis but also for formal equivalence checking, SAT solving, and for
circuit analysis, to name just a few other application domains. With
proprietary software one needs to learn a new tool for each of these
applications.

- Educational Tool:

Expand Down
Loading

0 comments on commit a42e127

Please sign in to comment.