Spell check (by Larry Doolittle)
authorClifford Wolf <clifford@clifford.at>
Fri, 14 Aug 2015 08:56:05 +0000 (10:56 +0200)
committerClifford Wolf <clifford@clifford.at>
Fri, 14 Aug 2015 08:56:05 +0000 (10:56 +0200)
63 files changed:
backends/btor/btor.cc
backends/verilog/verilog_backend.cc
frontends/ast/ast.h
frontends/ast/genrtlil.cc
frontends/ast/simplify.cc
frontends/verific/verific.cc
frontends/verilog/verilog_frontend.cc
kernel/driver.cc
kernel/log.h
kernel/rtlil.h
kernel/yosys.cc
libs/ezsat/ezsat.h
manual/APPNOTE_011_Design_Investigation.tex
manual/APPNOTE_012_Verilog_to_BTOR.tex
manual/CHAPTER_Appnotes.tex
manual/CHAPTER_Approach.tex
manual/CHAPTER_Auxlibs.tex
manual/CHAPTER_Auxprogs.tex
manual/CHAPTER_Basics.tex
manual/CHAPTER_CellLib.tex
manual/CHAPTER_Eval.tex
manual/CHAPTER_Optimize.tex
manual/CHAPTER_Overview.tex
manual/CHAPTER_Prog/stubnets.cc
manual/CHAPTER_StateOfTheArt.tex
manual/CHAPTER_StateOfTheArt/simlib_yosys.v
manual/CHAPTER_Techmap.tex
manual/CHAPTER_Verilog.tex
manual/PRESENTATION_ExAdv.tex
manual/PRESENTATION_ExOth.tex
manual/PRESENTATION_ExOth/equiv.ys
manual/PRESENTATION_ExSyn.tex
manual/PRESENTATION_Intro.tex
manual/PRESENTATION_Prog.tex
manual/command-reference-manual.tex
manual/manual.tex
manual/presentation.tex
passes/cmds/check.cc
passes/cmds/connect.cc
passes/cmds/connwrappers.cc
passes/cmds/design.cc
passes/cmds/select.cc
passes/cmds/show.cc
passes/cmds/splice.cc
passes/cmds/write_file.cc
passes/equiv/equiv_make.cc
passes/fsm/fsm.cc
passes/fsm/fsm_expand.cc
passes/hierarchy/hierarchy.cc
passes/memory/memory_bram.cc
passes/opt/opt_reduce.cc
passes/opt/share.cc
passes/sat/eval.cc
passes/sat/expose.cc
passes/sat/freduce.cc
passes/sat/miter.cc
passes/sat/sat.cc
passes/techmap/abc.cc
passes/techmap/dff2dffe.cc
passes/techmap/extract.cc
passes/techmap/techmap.cc
passes/tests/test_autotb.cc
tests/tools/vcdcd.pl

index 6f02d3078f8e168e1ec172309348f56931cb91c3..26585f43be7759327c0c833619c5dec7140307ad 100644 (file)
@@ -70,7 +70,7 @@ struct BtorDumper
        CellTypes ct;
 
        SigMap sigmap;
-       std::map<RTLIL::IdString, std::set<WireInfo,WireInfoOrder>> inter_wire_map;//<wire, dependency list> for maping the intermediate wires that are output of some cell
+       std::map<RTLIL::IdString, std::set<WireInfo,WireInfoOrder>> inter_wire_map;//<wire, dependency list> for mapping the intermediate wires that are output of some cell
        std::map<RTLIL::IdString, int> line_ref;//mapping of ids to line_num of the btor file
        std::map<RTLIL::SigSpec, int> sig_ref;//mapping of sigspec to the line_num of the btor file
        int line_num;//last line number of btor file
@@ -722,7 +722,7 @@ struct BtorDumper
             //registers
                        else if(cell->type == "$dff" || cell->type == "$adff" || cell->type == "$dffsr")
                        {
-                               //TODO: remodelling fo adff cells
+                               //TODO: remodelling of adff cells
                                log("writing cell - %s\n", cstr(cell->type));
                                int output_width = cell->parameters.at(RTLIL::IdString("\\WIDTH")).as_int();
                                log(" - width is %d\n", output_width);
index 9b806461105143e6898883a5d3bb404534b23592..e6a86a16a76bf81c8b8c37cac58fa500a1d4ba51 100644 (file)
@@ -284,7 +284,7 @@ void dump_wire(std::ostream &f, std::string indent, RTLIL::Wire *wire)
                f << stringf("[%d:%d] ", wire->width - 1 + wire->start_offset, wire->start_offset);
        f << stringf("%s;\n", id(wire->name).c_str());
 #else
-       // do not use Verilog-2k "outut reg" syntax in verilog export
+       // do not use Verilog-2k "output reg" syntax in Verilog export
        std::string range = "";
        if (wire->width != 1) {
                if (wire->upto)
index 44315d493b67e8e77a0c3b468fe736659f8f1df0..b5349db5e46147931a8a74da723d4a4be9124d79 100644 (file)
@@ -269,7 +269,7 @@ namespace AST
        void process(RTLIL::Design *design, AstNode *ast, bool dump_ast1, bool dump_ast2, bool dump_vlog, bool nolatches, bool nomeminit, bool nomem2reg, bool mem2reg, bool lib, bool noopt, bool icells, bool ignore_redef, bool defer, bool autowire);
 
        // parametric modules are supported directly by the AST library
-       // therfore we need our own derivate of RTLIL::Module with overloaded virtual functions
+       // therefore we need our own derivate of RTLIL::Module with overloaded virtual functions
        struct AstModule : RTLIL::Module {
                AstNode *ast;
                bool nolatches, nomeminit, nomem2reg, mem2reg, lib, noopt, icells, autowire;
index 4ed0e2bae9c43dc87cc1baad866e25b333475fe5..a2655e9a58a5628d8d772b885a34c135720afeaf 100644 (file)
@@ -176,13 +176,13 @@ struct AST_INTERNAL::ProcessGenerator
        RTLIL::Process *proc;
        RTLIL::SigSpec outputSignals;
 
-       // This always points to the RTLIL::CaseRule beeing filled at the moment
+       // This always points to the RTLIL::CaseRule being filled at the moment
        RTLIL::CaseRule *current_case;
 
        // This map contains the replacement pattern to be used in the right hand side
        // of an assignment. E.g. in the code "foo = bar; foo = func(foo);" the foo in the right
        // hand side of the 2nd assignment needs to be replace with the temporary signal holding
-       // the value assigned in the first assignment. So when the first assignement is processed
+       // the value assigned in the first assignment. So when the first assignment is processed
        // the according information is appended to subst_rvalue_from and subst_rvalue_to.
        stackmap<RTLIL::SigBit, RTLIL::SigBit> subst_rvalue_map;
 
@@ -192,7 +192,7 @@ struct AST_INTERNAL::ProcessGenerator
        // signal that is used as input for the register that drives the signal foo.
        stackmap<RTLIL::SigBit, RTLIL::SigBit> subst_lvalue_map;
 
-       // The code here generates a number of temprorary signal for each output register. This
+       // The code here generates a number of temporary signal for each output register. This
        // map helps generating nice numbered names for all this temporary signals.
        std::map<RTLIL::Wire*, int> new_temp_count;
 
@@ -766,7 +766,7 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
        // in the following big switch() statement there are some uses of
        // Clifford's Device (http://www.clifford.at/cfun/cliffdev/). In this
        // cases this variable is used to hold the type of the cell that should
-       // be instanciated for this type of AST node.
+       // be instantiated for this type of AST node.
        std::string type_name;
 
        current_filename = filename;
@@ -775,7 +775,7 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
        switch (type)
        {
        // simply ignore this nodes.
-       // they are eighter leftovers from simplify() or are referenced by other nodes
+       // they are either leftovers from simplify() or are referenced by other nodes
        // and are only accessed here thru this references
        case AST_TASK:
        case AST_FUNCTION:
@@ -1073,7 +1073,7 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
                }
 
        // generate cells for unary operations: $reduce_bool
-       // (this is actually just an $reduce_or, but for clearity a different cell type is used)
+       // (this is actually just an $reduce_or, but for clarity a different cell type is used)
        if (0) { case AST_REDUCE_BOOL:  type_name = "$reduce_bool"; }
                {
                        RTLIL::SigSpec arg = children[0]->genRTLIL();
@@ -1415,7 +1415,7 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
 }
 
 // this is a wrapper for AstNode::genRTLIL() when a specific signal width is requested and/or
-// signals must be substituted before beeing used as input values (used by ProcessGenerator)
+// signals must be substituted before being used as input values (used by ProcessGenerator)
 // note that this is using some global variables to communicate this special settings to AstNode::genRTLIL().
 RTLIL::SigSpec AstNode::genWidthRTLIL(int width, const dict<RTLIL::SigBit, RTLIL::SigBit> *new_subst_ptr)
 {
index 29935652880f1474f6c893c633ab8708005fe81a..cc9bbd237d825c4accf2c76689d7763a330acc61 100644 (file)
@@ -41,7 +41,7 @@ YOSYS_NAMESPACE_BEGIN
 using namespace AST;
 using namespace AST_INTERNAL;
 
-// convert the AST into a simpler AST that has all parameters subsitited by their
+// convert the AST into a simpler AST that has all parameters substituted by their
 // values, unrolled for-loops, expanded generate blocks, etc. when this function
 // is done with an AST it can be converted into RTLIL using genRTLIL().
 //
@@ -167,13 +167,13 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage,
        set_line_num(linenum);
 
        // we do not look inside a task or function
-       // (but as soon as a task of function is instanciated we process the generated AST as usual)
+       // (but as soon as a task or function is instantiated we process the generated AST as usual)
        if (type == AST_FUNCTION || type == AST_TASK) {
                recursion_counter--;
                return false;
        }
 
-       // deactivate all calls to non-synthesis system taks
+       // deactivate all calls to non-synthesis system tasks
        if ((type == AST_FCALL || type == AST_TCALL) && (str == "$display" || str == "$strobe" || str == "$monitor" || str == "$time" || str == "$stop" || str == "$finish" ||
                        str == "$dumpfile" || str == "$dumpvars" || str == "$dumpon" || str == "$dumpoff" || str == "$dumpall")) {
                log_warning("Ignoring call to system %s %s at %s:%d.\n", type == AST_FCALL ? "function" : "task", str.c_str(), filename.c_str(), linenum);
@@ -1085,7 +1085,7 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage,
                goto apply_newNode;
        }
 
-       // replace primitives with assignmens
+       // replace primitives with assignments
        if (type == AST_PRIMITIVE)
        {
                if (children.size() < 2)
@@ -2260,7 +2260,7 @@ void AstNode::expand_genblock(std::string index_var, std::string prefix, std::ma
                name_map.swap(backup_name_map);
 }
 
-// rename stuff (used when tasks of functions are instanciated)
+// rename stuff (used when tasks of functions are instantiated)
 void AstNode::replace_ids(const std::string &prefix, const std::map<std::string, std::string> &rules)
 {
        if (type == AST_BLOCK)
@@ -2588,7 +2588,7 @@ bool AstNode::mem2reg_as_needed_pass2(pool<AstNode*> &mem2reg_set, AstNode *mod,
        return did_something;
 }
 
-// calulate memory dimensions
+// calculate memory dimensions
 void AstNode::meminfo(int &mem_width, int &mem_size, int &addr_bits)
 {
        log_assert(type == AST_MEMORY);
index ce975358eed406a3750aca13ae9c33797e3cde0a..897a7f328410e8c62f68a546050b13ca7a175942 100644 (file)
@@ -789,7 +789,7 @@ struct VerificPass : public Pass {
                log("\n");
                log("    verific -import [-gates] {-all | <top-module>..}\n");
                log("\n");
-               log("Elaborate the design for the sepcified top modules, import to Yosys and\n");
+               log("Elaborate the design for the specified top modules, import to Yosys and\n");
                log("reset the internal state of Verific. A gate-level netlist is created\n");
                log("when called with -gates.\n");
                log("\n");
index 817109b7dc6b4f123eb25f2312e09be9a5529c26..74b8a87095d1ddfc6803c988a9e1628d31bb56dc 100644 (file)
@@ -340,7 +340,7 @@ struct VerilogDefaults : public Pass {
                log("\n");
                log("    verilog_defaults -add [options]\n");
                log("\n");
-               log("Add the sepcified options to the list of default options to read_verilog.\n");
+               log("Add the specified options to the list of default options to read_verilog.\n");
                log("\n");
                log("\n");
                log("    verilog_defaults -clear");
index ce40425d24d777483bf191fdfcb9e0bafd935ea4..95835951ec8ca1b31cdd7d4fb17f4881fea14b9f 100644 (file)
@@ -217,7 +217,7 @@ int main(int argc, char **argv)
                printf("        print version information and exit\n");
                printf("\n");
                printf("The option -S is an shortcut for calling the \"synth\" command, a default\n");
-               printf("script for transforming the verilog input to a gate-level netlist. For example:\n");
+               printf("script for transforming the Verilog input to a gate-level netlist. For example:\n");
                printf("\n");
                printf("    yosys -o output.blif -S input.v\n");
                printf("\n");
index b113b5676013da8959cac10d8c14e30d314b4f44..8cf4714651e463885d7e8f880330e5d75ab12f50 100644 (file)
@@ -145,7 +145,7 @@ std::string cover_list_worker(std::string prefix, std::string first, T... rest)
 // ------------------------------------------------------------
 
 // simple timer for performance measurements
-// toggle the '#if 1' to get a baseline for the perormance penalty added by the measurement
+// toggle the '#if 1' to get a baseline for the performance penalty added by the measurement
 struct PerformanceTimer
 {
 #if 1
index bf39d0f06c7e748be1d45cfb1187fd3b2613fc39..a557d1355aa20c41ef16ea8465e86fb69e302b99 100644 (file)
@@ -199,7 +199,7 @@ namespace RTLIL
                bool operator==(IdString rhs) const { return index_ == rhs.index_; }
                bool operator!=(IdString rhs) const { return index_ != rhs.index_; }
 
-               // The methods below are just convinience functions for better compatibility with std::string.
+               // The methods below are just convenience functions for better compatibility with std::string.
 
                bool operator==(const std::string &rhs) const { return str() == rhs; }
                bool operator!=(const std::string &rhs) const { return str() != rhs; }
index 2e4d5672b4fb6bfe024863c0ac0d9383f3a660fc..109918816649242eb3d390764dff4458c6798db6 100644 (file)
@@ -596,7 +596,7 @@ struct TclPass : public Pass {
                log("The tcl command 'yosys -import' can be used to import all yosys\n");
                log("commands directly as tcl commands to the tcl shell. The yosys\n");
                log("command 'proc' is wrapped using the tcl command 'procs' in order\n");
-               log("to avoid a name collision with the tcl builting command 'proc'.\n");
+               log("to avoid a name collision with the tcl builtin command 'proc'.\n");
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design) {
index 78e125bfc1676ff174c6001975d581acc33e3b75..85b13685f3e13b1018f334232ab10d77ae399777 100644 (file)
@@ -29,7 +29,7 @@
 
 class ezSAT
 {
-       // each token (terminal or non-terminal) is represented by an interger number
+       // each token (terminal or non-terminal) is represented by an integer number
        //
        // the zero token:
        // the number zero is not used as valid token number and is used to encode
index 02fb99d3644f178060d04d33ee226a3e71ec90bd..9780c78336cde92a2a3e91832d68157dd08fe8cc 100644 (file)
@@ -54,7 +54,7 @@
 \begin{document}
 
 \title{Yosys Application Note 011: \\ Interactive Design Investigation}
-\author{Clifford Wolf \\ Original Verision December 2013}
+\author{Clifford Wolf \\ Original Version December 2013}
 \maketitle
 
 \begin{abstract}
@@ -497,7 +497,7 @@ using them will get its own net label.
 In this case however we would like to see the cells connected properly. This
 can be achieved using the {\tt \%x} action, that broadens the selection, i.e.
 for each selected wire it selects all cells connected to the wire and vice
-versa. So {\tt show a:sumstuff \%x} yields the diagram schon in Fig.~\ref{sumprod_01}.
+versa. So {\tt show a:sumstuff \%x} yields the diagram shown in Fig.~\ref{sumprod_01}.
 
 \begin{figure}[t]
 \includegraphics[width=\linewidth]{APPNOTE_011_Design_Investigation/sumprod_01.pdf}
@@ -744,7 +744,7 @@ The {\tt -table} option can be used to create a truth table. For example:
     2'11    1'0 | 2'00 2'00
     2'11    1'1 | 2'xx 2'11
 
-   Assumend undef (x) value for the following singals: \s2
+   Assumed undef (x) value for the following signals: \s2
 \end{verbatim}
 }
 
index 67f15bc264dd840aff9124bda31e182c716e82a7..245a6b0b8130f20300e7c640c729fcf2f299d37b 100644 (file)
@@ -89,7 +89,7 @@ This Application Note is based on GIT Rev. {\tt 082550f} from
 We assume that the Verilog design is synthesizable and we also assume
 that the design does not have multi-dimensional memories.  As BTOR
 implicitly initializes registers to zero value and memories stay
-uninitilized, we assume that the Verilog design does
+uninitialized, we assume that the Verilog design does
 not contain initial blocks. For more details about the BTOR format,
 please refer to~\cite{btor}.
 
index 6f03b79cfc82c0af50df15473dbde1152d1ce670..cbb01ed1b811b558344cf18ca7b0129287480486 100644 (file)
@@ -7,7 +7,7 @@
 % \end{fixme}
 %
 % \section{Synthesizing using a Cell Library in Liberty Format}
-% \section{Reverse Engeneering the MOS6502 from an NMOS Transistor Netlist}
+% \section{Reverse Engineering the MOS6502 from an NMOS Transistor Netlist}
 % \section{Reconfigurable Coarse-Grain Synthesis using Intersynth}
 
 This appendix contains copies of the Yosys application notes.
index 691225805996fd72b6420a2f2609f1213ba2ffa0..4b170ee0ae8f1d0d631121d9dd90ecdebaffaedf 100644 (file)
@@ -59,7 +59,7 @@ script.
 
 \section{Internal Formats in Yosys}
 
-Yosys uses two different internal formats. The first is used to store an abstract syntax tree (AST) of a verilog
+Yosys uses two different internal formats. The first is used to store an abstract syntax tree (AST) of a Verilog
 input file. This format is simply called {\it AST} and is generated by the Verilog Frontend. This data structure
 is consumed by a subsystem called {\it AST Frontend}\footnote{In Yosys the term {\it pass} is only used to
 refer to commands that operate on the RTLIL data structure.}. This AST Frontend then generates a design in Yosys'
@@ -107,7 +107,7 @@ from the input file {\tt design.v} to a gate-level netlist {\tt synth.v} using t
 described by the Liberty file \citeweblink{LibertyFormat} {\tt cells.lib}:
 
 \begin{lstlisting}[language=sh,numbers=left,frame=single]
-# read input file tpo internal representation
+# read input file to internal representation
 read_verilog design.v
 
 # convert high-level behavioral parts ("processes") to d-type flip-flops and muxes
index 8d3ed743030c115800239a6d02889c7c07ad66f9..440ea13754c799adcf2818d95ae6eecd4af24aea 100644 (file)
@@ -1,7 +1,7 @@
 
-\chapter{Auxilary Libraries}
+\chapter{Auxiliary Libraries}
 
-The Yosys source distribution contains some auxilary libraries that are bundled
+The Yosys source distribution contains some auxiliary libraries that are bundled
 with Yosys.
 
 \section{SHA1}
index a008938282d56bd5e45041bc4f4c959a391677d0..724d37f0b9c4ebce8bd3aef78db9d00a219195eb 100644 (file)
@@ -1,5 +1,5 @@
 
-\chapter{Auxilary Programs}
+\chapter{Auxiliary Programs}
 
 Besides the main {\tt yosys} executable, the Yosys distribution contains a set
 of additional helper programs.
index 2f7ea0d638e82491f137d6a392e8ab0bb4409a02..5c60b7305a3359d007594f0501188573606ac115 100644 (file)
@@ -116,7 +116,7 @@ value or a condition in the sensitivity list is triggered. A synthesis tool
 must be able to transfer this representation into an appropriate datapath followed
 by the appropriate types of register.
 
-For example consider the following verilog code fragment:
+For example consider the following Verilog code fragment:
 
 \begin{lstlisting}[numbers=left,frame=single,language=Verilog]
 always @(posedge clk)
@@ -141,8 +141,8 @@ App.~\ref{chapter:sota}).
 \subsection{Register-Transfer Level (RTL)}
 
 On the Register-Transfer Level the design is represented by combinatorial data
-paths and registers (usually d-type flip flops). The following verilog code fragment
-is equivalent to the previous verilog example, but is in RTL representation:
+paths and registers (usually d-type flip flops). The following Verilog code fragment
+is equivalent to the previous Verilog example, but is in RTL representation:
 
 \begin{lstlisting}[numbers=left,frame=single,language=Verilog]
 assign tmp = a + b;       // combinatorial data path
@@ -162,7 +162,7 @@ detection and optimization, identification of memories or other larger building
 and identification of shareable resources.
 
 Note that RTL is the first abstraction level in which the circuit is represented as a
-graph of circuit elements (registers and combinatorical cells) and signals. Such a graph,
+graph of circuit elements (registers and combinatorial cells) and signals. Such a graph,
 when encoded as list of cells and connections, is called a netlist.
 
 RTL synthesis is easy as each circuit node element in the netlist can simply be replaced
@@ -262,10 +262,10 @@ Verilog syntax. Only the following language constructs are used in this case:
 \end{itemize}
 
 Many tools (especially at the back end of the synthesis chain) only support
-structural verilog as input. ABC is an example of such a tool. Unfortunately
+structural Verilog as input. ABC is an example of such a tool. Unfortunately
 there is no standard specifying what {\it Structural Verilog} actually is,
 leading to some confusion about what syntax constructs are supported in
-structural verilog when it comes to features such as attributes or multi-bit
+structural Verilog when it comes to features such as attributes or multi-bit
 signals.
 
 \subsection{Expressions in Verilog}
@@ -280,8 +280,8 @@ and many others (comparison operations, unary operator, etc.) can also be used.
 During synthesis these operators are replaced by cells that implement the respective function.
 
 Many FOSS tools that claim to be able to process Verilog in fact only support
-basic structural verilog and simple expressions. Yosys can be used to convert
-full featured synthesizable verilog to this simpler subset, thus enabling such
+basic structural Verilog and simple expressions. Yosys can be used to convert
+full featured synthesizable Verilog to this simpler subset, thus enabling such
 applications to be used with a richer set of Verilog features.
 
 \subsection{Behavioural Modelling}
@@ -561,7 +561,7 @@ In order to guarantee reproducibility it is important to be able to re-run all
 automatic steps in a design project with a fixed set of settings easily.
 Because of this, usually all programs used in a synthesis flow can be
 controlled using scripts. This means that all functions are available via
-text commands. When such a tool provides a gui, this is complementary to,
+text commands. When such a tool provides a GUI, this is complementary to,
 and not instead of, a command line interface.
 
 Usually a synthesis flow in an UNIX/Linux environment would be controlled by a
index c9bf978a9dda15422d3eacbf84a382b5aa7b7aa5..9f9ec2e2b522350d055b0bb1bcc01d040aa0f0b9 100644 (file)
@@ -104,7 +104,7 @@ Multiplexers are generated by the Verilog HDL frontend for {\tt
 from RTLIL::Process objects to logic.
 
 The simplest multiplexer cell type is {\tt \$mux}. Cells of this type have a \B{WIDTH} parameter
-and data inputs \B{A} and \B{B} and a data ouput \B{Y}, all of the specified width. This cell also
+and data inputs \B{A} and \B{B} and a data output \B{Y}, all of the specified width. This cell also
 has a single bit control input \B{S}. If \B{S} is 0 the value from the \B{A} input is sent to
 the output, if it is 1 the value from the \B{B} input is sent to the output. So the {\tt \$mux}
 cell implements the function \lstinline[language=Verilog]; Y = S ? B : A;.
@@ -399,7 +399,7 @@ represent d-type flip-flops.
 The cell types {\tt \$\_DFF\_NN0\_}, {\tt \$\_DFF\_NN1\_}, {\tt \$\_DFF\_NP0\_}, {\tt \$\_DFF\_NP1\_},
 {\tt \$\_DFF\_PN0\_}, {\tt \$\_DFF\_PN1\_}, {\tt \$\_DFF\_PP0\_} and {\tt \$\_DFF\_PP1\_} implement
 d-type flip-flops with asynchronous resets. The values in the table for these cell types relate to the
-following verilog code template, where \lstinline[mathescape,language=Verilog];$RstEdge$; is \lstinline[language=Verilog];posedge;
+following Verilog code template, where \lstinline[mathescape,language=Verilog];$RstEdge$; is \lstinline[language=Verilog];posedge;
 if \lstinline[mathescape,language=Verilog];$RstLvl$; if \lstinline[language=Verilog];1;, and \lstinline[language=Verilog];negedge;
 otherwise.
 
index c27a000bfd8adf0c3e491f142129cb1c76758e97..f719618d50e624eac2b081a49aa8e3562e967dcd 100644 (file)
@@ -43,7 +43,7 @@ The following measures were taken to increase the confidence in the correctness
 make test} is executed. During development of Yosys it was shown that this
 collection of test cases is sufficient to catch most bugs. The following more
 sophisticated test procedures only caught a few additional bugs. Whenever this
-happend, an appropiate test case was added to the collection of small test
+happened, an appropriate test case was added to the collection of small test
 cases for {\tt make test} to ensure better testability of the feature in
 question in the future.
 
@@ -64,7 +64,7 @@ validate successfully using Formality.
 \item VlogHammer \citeweblink{VlogHammer} is a set of scripts that
 auto-generate a large collection of test cases\footnote{At the time of this
 writing over 6600 test cases.} and synthesize them using Yosys and the
-following freely available propritary synthesis tools.
+following freely available proprietary synthesis tools.
 \begin{itemize}
 \item Xilinx Vivado WebPack (2013.2) \citeweblink{XilinxWebPACK}
 \item Xilinx ISE (XST) WebPack (14.5) \citeweblink{XilinxWebPACK}
index 58636a615bfc69523ab6b8710c76bf99ae3ea063..d09b3c4787896e72844969dbfad7ffca1911195b 100644 (file)
@@ -69,7 +69,7 @@ These are the only three cases in which it is allowed to propagate an undef
 according to Sec.~5.1.10 of IEEE Std. 1364-2005 \cite{Verilog2005}.
 
 The next two lines assume the value 0 for undef states. These two rules are only
-used if no other subsitutions are possible in the current module. If other substitutions
+used if no other substitutions are possible in the current module. If other substitutions
 are possible they are performed first, in the hope that the `any' will change to
 an undef value or a 1 and therefore the output can be set to undef.
 
@@ -296,7 +296,7 @@ table altered to give the same performance without the external feedback path.
 \item Entries in the transition table that yield the same output and only
 differ in the value of a single control input bit are merged and the different bit is removed
 from the sensitivity list (turned into a don't-care bit).
-\item Constant inputs are removed and the transition table is alterered to give an unchanged behaviour.
+\item Constant inputs are removed and the transition table is altered to give an unchanged behaviour.
 \item Unused inputs are removed.
 \end{itemize}
 
index 645acd2d464d5d83dc1e7cf5f26be1760b67e2bf..032c0f8c336d785e4219ae0773a6fc2c1e9937f6 100644 (file)
@@ -238,7 +238,7 @@ An RTLIL::Wire object has the following properties:
 \end{itemize}
 
 As with modules, the attributes can be Verilog attributes imported by the
-Verilog frontend or attributes assigned by passees.
+Verilog frontend or attributes assigned by passes.
 
 In Yosys, busses (signal vectors) are represented using a single wire object
 with a width > 1. So Yosys does not convert signal vectors to individual signals.
@@ -412,7 +412,7 @@ Some passes refuse to operate on modules that still contain RTLIL::Process objec
 presence of these objects in a module increases the complexity. Therefore the passes to translate
 processes to a netlist of cells are usually called early in a synthesis script. The {\tt proc}
 pass calls a series of other passes that together perform this conversion in a way that is suitable
-for most synthesis taks.
+for most synthesis tasks.
 
 \subsection{RTLIL::Memory}
 
index b2428a671658824604d98ccbb1be951166aaf7dd..976107fbf905ee417d8c5291d7f37957304ba901 100644 (file)
@@ -24,7 +24,7 @@ static void find_stub_nets(RTLIL::Design *design, RTLIL::Module *module, bool re
        // count how many times a single-bit signal is used
        std::map<RTLIL::SigBit, int> bit_usage_count;
 
-       // count ouput lines for this module (needed only for summary output at the end)
+       // count output lines for this module (needed only for summary output at the end)
        int line_count = 0;
 
        log("Looking for stub wires in module %s:\n", RTLIL::id2cstr(module->name));
index 7e62230ef52b8c108470d22822cfa0551e8c94c3..2d0c77a01a5f8e6dbb3cb06f4d1b10c3c4815a35 100644 (file)
@@ -248,7 +248,7 @@ passes). This architecture will simplify implementing additional HDL front
 ends and/or additional synthesis passes.
 
 Chapter~\ref{chapter:eval} contains a more detailed evaluation of Yosys using real-world
-designes that are far out of reach for any of the other tools discussed in this appendix.
+designs that are far out of reach for any of the other tools discussed in this appendix.
 
 \vskip2cm
 \begin{table}[h]
index 800cf822df5ad20063fb4b5a0e3fb1703dcfb5af..454c9a83f370ae595288cf9c67f357c631742f7f 100644 (file)
@@ -19,7 +19,7 @@
  *
  *  The internal logic cell simulation library.
  *
- *  This verilog library contains simple simulation models for the internal
+ *  This Verilog library contains simple simulation models for the internal
  *  logic cells (_NOT_, _AND_, ...) that are generated by the default technology
  *  mapper (see "stdcells.v" in this directory) and expected by the "abc" pass.
  *
index e5c7456c4c95f206780c1a4854bf5456437d1b42..13aa8e5a35fae0164305075e5370fca969d3d906 100644 (file)
@@ -5,7 +5,7 @@
 Previous chapters outlined how HDL code is transformed into an RTL netlist. The
 RTL netlist is still based on abstract coarse-grain cell types like arbitrary
 width adders and even multipliers. This chapter covers how an RTL netlist is
-transformed into a functionally equivialent netlist utililizing the cell types
+transformed into a functionally equivalent netlist utilizing the cell types
 available in the target architecture.
 
 Technology mapping is often performed in two phases. In the first phase RTL cells
index c2249d1f23e0faae1e0b2029eceb0048d6f8d244..e9ca6114e01a98f890f166b7d425c5591a586791 100644 (file)
@@ -98,7 +98,7 @@ The lexer does little more than identifying all keywords and literals
 recognised by the Yosys Verilog frontend.
 \end{sloppypar}
 
-The lexer keeps track of the current location in the verilog source code using
+The lexer keeps track of the current location in the Verilog source code using
 some global variables. These variables are used by the constructor of AST nodes
 to annotate each node with the source code location it originated from.
 
@@ -168,11 +168,11 @@ Created by the simplifier when an undeclared signal name is used. \\
 \hline
 %
 {\tt AST\_PARASET} &
-Parameter set in cell instanciation \\
+Parameter set in cell instantiation \\
 \hline
 %
 {\tt AST\_ARGUMENT} &
-Port connection in cell instanciation \\
+Port connection in cell instantiation \\
 \hline
 %
 {\tt AST\_RANGE} &
@@ -184,7 +184,7 @@ A literal value \\
 \hline
 %
 {\tt AST\_CELLTYPE} &
-The type of cell in cell instanciation \\
+The type of cell in cell instantiation \\
 \hline
 %
 {\tt AST\_IDENTIFIER} &
@@ -251,8 +251,8 @@ The unary reduction operators \break
 \hline
 %
 {\tt AST\_REDUCE\_BOOL} &
-Conversion from multi-bit value to boolian value
-(equivialent to {\tt AST\_REDUCE\_OR}) \\
+Conversion from multi-bit value to boolean value
+(equivalent to {\tt AST\_REDUCE\_OR}) \\
 \hline
 %
 {\tt AST\_SHIFT\_LEFT},
@@ -327,7 +327,7 @@ An \lstinline[language=Verilog];assign; statement \\
 \hline
 %
 {\tt AST\_CELL} &
-A cell instanciation \\
+A cell instantiation \\
 \hline
 %
 {\tt AST\_PRIMITIVE} &
@@ -359,7 +359,7 @@ and the default case respectively \\
 \hline
 %
 {\tt AST\_FOR} &
-A \lstinline[language=Verilog];for;-loop witn an
+A \lstinline[language=Verilog];for;-loop with an
 \lstinline[language=Verilog];always;- or
 \lstinline[language=Verilog];initial;-block \\
 \hline
@@ -470,7 +470,7 @@ This produces an AST that is fairly easy to convert to the RTLIL format.
 \subsection{Generating RTLIL}
 
 After AST simplification, the \lstinline[language=C++]{AST::AstNode::genRTLIL()} method of each {\tt AST\_MODULE} node
-in the AST is called. This initiates a recursive process that generates equivialent RTLIL data for the AST data.
+in the AST is called. This initiates a recursive process that generates equivalent RTLIL data for the AST data.
 
 The \lstinline[language=C++]{AST::AstNode::genRTLIL()} method returns an \lstinline[language=C++]{RTLIL::SigSpec} structure.
 For nodes that represent expressions (operators, constants, signals, etc.), the cells needed to implement the calculation
@@ -641,7 +641,7 @@ A pointer to a \lstinline[language=C++]{RTLIL::CaseRule} object. Initially this
 generated \lstinline[language=C++]{RTLIL::Process}.
 \end{itemize}
 
-As the algorithm runs these variables are continously modified as well as pushed
+As the algorithm runs these variables are continuously modified as well as pushed
 to the stack and later restored to their earlier values by popping from the stack.
 
 On startup the ProcessGenerator generates a new
@@ -703,7 +703,7 @@ the ProcessGenerator:
 \item A new \lstinline[language=C++]{RTLIL::SwitchRule} object is generated, the selection expression is evaluated using
 \lstinline[language=C++]{AST::AstNode::genRTLIL()} (with the use of \lstinline[language=C++]{subst_rvalue_from} and
 \lstinline[language=C++]{subst_rvalue_to}) and added to the \lstinline[language=C++]{RTLIL::SwitchRule} object and the
-obect is added to the \lstinline[language=C++]{current_case}.
+object is added to the \lstinline[language=C++]{current_case}.
 %
 \item All lvalues assigned to within the {\tt AST\_CASE} node using blocking assignments are collected and
 saved in the local variable \lstinline[language=C++]{this_case_eq_lvalue}.
@@ -837,7 +837,7 @@ as sr-latches or d-latches, without having to extend the actual Verilog frontend
 
 \begin{fixme}
 Add some information on the generation of {\tt \$memrd} and {\tt \$memwr} cells
-and how they are processsed in the {\tt memory} pass.
+and how they are processed in the {\tt memory} pass.
 \end{fixme}
 
 \section{Synthesizing Parametric Designs}
index 40b0802dad2d285964a39382c13d399ab1d5b50a..ef8f64cec11b96af4ec393cdb448531f142b2ef0 100644 (file)
@@ -245,7 +245,7 @@ show -color red @cone_ab -color magenta @cone_a -color blue @cone_b
 \begin{itemize}
 \item
 The {\tt techmap} command replaces cells in the design with implementations given
-as verilog code (called ``map files''). It can replace Yosys' internal cell
+as Verilog code (called ``map files''). It can replace Yosys' internal cell
 types (such as {\tt \$or}) as well as user-defined cell types.
 \medskip\item
 Verilog parameters are used extensively to customize the internal cell types.
@@ -480,7 +480,7 @@ cells in ASICS or dedicated carry logic in FPGAs.
 \subsubsection{Intro to coarse-grain synthesis}
 
 \begin{frame}[fragile]{\subsubsecname}
-In coarse-grain synthesis the target architecure has cells of the same
+In coarse-grain synthesis the target architecture has cells of the same
 complexity or larger complexity than the internal RTL representation.
 
 For example:
@@ -558,7 +558,7 @@ $\downarrow$ & $\downarrow$ \\
 \begin{frame}{\subsubsecname}
 \scriptsize
 Often a coarse-grain element has a constant bit-width, but can be used to
-implement oprations with a smaller bit-width. For example, a 18x25-bit multiplier
+implement operations with a smaller bit-width. For example, a 18x25-bit multiplier
 can also be used to implement 16x20-bit multiplication.
 
 \bigskip
@@ -821,7 +821,7 @@ scripts as well as in reverse engineering and analysis.
 
 \item {\bf Behavioral changes} \\
 Commands such as {\tt techmap} can be used to make behavioral changes to the design, for example
-changing asynchonous resets to synchronous resets. This has applications in design space exploration
+changing asynchronous resets to synchronous resets. This has applications in design space exploration
 (evaluation of various architectures for one circuit).
 \end{itemize}
 \end{frame}
@@ -877,7 +877,7 @@ endmodule
 
 \begin{frame}{\subsecname}
 \begin{itemize}
-\item A lot can be achived in Yosys just with the standard set of commands.
+\item A lot can be achieved in Yosys just with the standard set of commands.
 \item The commands {\tt techmap} and {\tt extract} can be used to prototype many complex synthesis tasks.
 \end{itemize}
 
index 6bc44c5cfbc219cb735420548cd97d2595d54a0a..73f8bea2e5c4d75808f14fe73c82fb2714b00804 100644 (file)
@@ -34,7 +34,7 @@ are connected.
 
 \item
 Commands such as {\tt submod}, {\tt expose}, {\tt splice}, \dots can be used
-to transform the design into an equivialent design that is easier to analyse.
+to transform the design into an equivalent design that is easier to analyse.
 
 \item
 Commands such as {\tt eval} and {\tt sat} can be used to investigate the
@@ -102,7 +102,7 @@ Symbolic Model Checking (SMC) is used to formally prove that a circuit has
 (or has not) a given property.
 
 \bigskip
-One appliction is Formal Equivalence Checking: Proving that two circuits
+One application is Formal Equivalence Checking: Proving that two circuits
 are identical. For example this is a very useful feature when debugging custom
 passes in Yosys.
 
@@ -143,11 +143,11 @@ rename test test_mapped
 # apply the techmap only to test_mapped
 techmap -map techmap_01_map.v test_mapped
 
-# create a miter circuit to test equivialence
+# create a miter circuit to test equivalence
 miter -equiv -make_assert -make_outputs test_orig test_mapped miter
 flatten miter
 
-# run equivialence check
+# run equivalence check
 sat -verify -prove-asserts -show-inputs -show-outputs miter
 \end{lstlisting}
 
index 09a4045db4d9f50c9f957eb0738de1f117bb74b0..8db0a88a5fb9b8f059c2fc4d0e5305fda3cb4fe9 100644 (file)
@@ -9,9 +9,9 @@ rename test test_mapped
 # apply the techmap only to test_mapped
 techmap -map ../PRESENTATION_ExSyn/techmap_01_map.v test_mapped
 
-# create a miter circuit to test equivialence
+# create a miter circuit to test equivalence
 miter -equiv -make_assert -make_outputs test_orig test_mapped miter
 flatten miter
 
-# run equivialence check
+# run equivalence check
 sat -verify -prove-asserts -show-inputs -show-outputs miter
index 1230f32a9b7b1406a30a8ce3b5ac67df44a6c0b4..1b56374d6399a4001b1156c868f1bacef821ff61 100644 (file)
@@ -216,7 +216,7 @@ proc; opt; memory; opt_const;; fsm;;
 \begin{frame}{\subsecname}
 Usually it does not hurt to call {\tt opt} after each regular command in the
 synthesis script. But it increases the synthesis time, so it is favourable
-to only call {\tt opt} when an improvement can be archieved.
+to only call {\tt opt} when an improvement can be achieved.
 
 \bigskip
 The designs in {\tt yosys-bigsim} are a good playground for experimenting with
@@ -320,7 +320,7 @@ fsm_map             # unless got option -nomap
 \end{frame}
 
 \begin{frame}{\subsecname{} -- details}
-Some details on the most importand commands from the {\tt fsm\_*} group:
+Some details on the most important commands from the {\tt fsm\_*} group:
 
 \bigskip
 The {\tt fsm\_detect} command identifies FSM state registers and marks them
index 5aeebd9f94bdea8dbbad4ccace35044de29801ec..0b7d61a458bafe622a2b1dec9b9dedfffc645f6b 100644 (file)
 \only<3>{Netlists}%
 \only<4>{Hardware Description Languages (HDLs)}}
 \only<1>{
-       Graphical representation of the circtuit topology. Circuit elements
-       are represented by symbols and electrical connections by lines. The gometric
+       Graphical representation of the circuit topology. Circuit elements
+       are represented by symbols and electrical connections by lines. The geometric
        layout is for readability only.
 }%
 \only<2>{
-       The actual physical geometry of the device (PCB or ASIC manufracturing masks).
+       The actual physical geometry of the device (PCB or ASIC manufacturing masks).
        This is the final product of the design process.
 }%
 \only<3>{
@@ -86,7 +86,7 @@
 }%
 \only<4>{
        List of registers (flip-flops) and logic functions that calculate the next state from the previous one. Usually
-       a netlist utilizing high-level cells such as adders, multiplieres, multiplexer, etc.
+       a netlist utilizing high-level cells such as adders, multipliers, multiplexer, etc.
 }%
 \only<5>{
        Netlist of single-bit registers and basic logic gates (such as AND, OR,
@@ -95,7 +95,7 @@
 }%
 \only<6>{
        Netlist of cells that actually are available on the target architecture
-       (such as CMOS gates in an ASCI or LUTs in an FPGA). Optimized for
+       (such as CMOS gates in an ASIC or LUTs in an FPGA). Optimized for
        area, power, and/or speed (static timing or number of logic levels).
 }%
 \only<7>{
@@ -155,7 +155,7 @@ Things Yosys can do:
 \begin{itemize}
 \item Read and process (most of) modern Verilog-2005 code.
 \item Perform all kinds of operations on netlist (RTL, Logic, Gate).
-\item Perform logic optimiziations and gate mapping with ABC\footnote[frame]{\url{http://www.eecs.berkeley.edu/~alanmi/abc/}}.
+\item Perform logic optimizations and gate mapping with ABC\footnote[frame]{\url{http://www.eecs.berkeley.edu/~alanmi/abc/}}.
 \end{itemize}
 
 \bigskip
@@ -176,7 +176,7 @@ as Qflow\footnote[frame]{\url{http://opencircuitdesign.com/qflow/}} for ASIC des
 \subsection{Yosys Data- and Control-Flow}
 
 \begin{frame}{\subsecname}
-       A (usually short) synthesis script controlls Yosys.
+       A (usually short) synthesis script controls Yosys.
 
        This scripts contain three types of commands:
        \begin{itemize}
@@ -658,7 +658,7 @@ endmodule
 \subsection{Verification of Yosys}
 
 \begin{frame}{\subsecname}
-Contiously checking the correctness of Yosys and making sure that new features
+Continuously checking the correctness of Yosys and making sure that new features
 do not break old ones is a high priority in Yosys.
 
 \bigskip
@@ -697,7 +697,7 @@ the other tools used as external reference where found and reported so far.
 
 \begin{frame}{\subsecname{} -- yosys-bigsim}
 yosys-bigsim is a collection of real-world open-source Verilog designs and test
-benches. yosys-bigsim compares the testbench outpus of simulations of the original
+benches. yosys-bigsim compares the testbench outputs of simulations of the original
 Verilog code and synthesis results.
 
 \bigskip
@@ -721,7 +721,7 @@ The following designs are included in yosys-bigsim (excerpt):
 \begin{frame}{\subsecname}
 \begin{itemize}
 \item Cost (also applies to ``free as in free beer'' solutions)
-\item Availablity and Reproducability
+\item Availability and Reproducibility
 \item Framework- and all-in-one-aspects
 \item Educational Tool
 \end{itemize}
@@ -739,7 +739,7 @@ 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.
 
 \bigskip
-\item Availablity and Reproducability: \smallskip\par
+\item Availability and Reproducibility: \smallskip\par
 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
@@ -757,9 +757,9 @@ basic functionality. Extensibility was one of Yosys' design goals.
 
 \bigskip
 \item All-in-one: \smallskip\par
-Because of the framework characterisitcs of Yosys, an increasing number of features
+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 equivialence checking, SAT solving, and for circuit analysis, to
+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 this applications.
 \end{itemize}
@@ -768,7 +768,7 @@ learn a new tool for each of this applications.
 \begin{frame}{\subsecname{} -- 3/3}
 \begin{itemize}
 \item Educational Tool: \smallskip\par
-Propritaery synthesis tools are at times very secretive about their inner
+Proprietary synthesis tools are at times very secretive about their inner
 workings. They often are ``black boxes''. Yosys is very open about its
 internals and it is easy to observe the different steps of synthesis.
 \end{itemize}
@@ -789,8 +789,8 @@ copyright notice and this permission notice appear in all copies.
 \begin{itemize}
 \item Synthesis of final production designs
 \item Pre-production synthesis (trial runs before investing in other tools)
-\item Convertion of full-featured Verilog to simple Verilog
-\item Convertion of Verilog to other formats (BLIF, BTOR, etc)
+\item Conversion of full-featured Verilog to simple Verilog
+\item Conversion of Verilog to other formats (BLIF, BTOR, etc)
 \item Demonstrating synthesis algorithms (e.g. for educational purposes)
 \item Framework for experimenting with new algorithms
 \item Framework for building custom flows\footnote[frame]{Not limited to synthesis
@@ -908,7 +908,7 @@ control logic because it is simpler than setting up a commercial flow.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\subsection{Documentation, Downloads, Contatcs}
+\subsection{Documentation, Downloads, Contacts}
 
 \begin{frame}{\subsecname}
 \begin{itemize}
@@ -916,7 +916,7 @@ control logic because it is simpler than setting up a commercial flow.
 \smallskip\hskip1cm\url{http://www.clifford.at/yosys/}
 
 \bigskip
-\item Manual, Command Reference, Appliction Notes: \\
+\item Manual, Command Reference, Application Notes: \\
 \smallskip\hskip1cm\url{http://www.clifford.at/yosys/documentation.html}
 
 \bigskip
index 97ec76fe8432350806a108550a9513440960c9b5..6b105a701777a88d74227b6ba71e178fcf082df2 100644 (file)
@@ -124,7 +124,7 @@ has been executed.
 
 \begin{frame}{\subsecname}
 The RTLIL data structures are simple structs utilizing {\tt pool<>} and
-{\tt dict<>} containers (drop-in replacementments for {\tt
+{\tt dict<>} containers (drop-in replacements for {\tt
 std::unordered\_set<>} and {\tt std::unordered\_map<>}).
 
 \bigskip
@@ -413,7 +413,7 @@ When modifying existing modules, stick to the following DOs and DON'Ts:
 
 \item Use {\tt module->fixup\_ports()} after changing the {\tt port\_*} properties of wires.
 
-\item You can safely remove cells or change the {\tt connetions} property of a cell, but be careful when
+\item You can safely remove cells or change the {\tt connections} property of a cell, but be careful when
 changing the size of the {\tt SigSpec} connected to a cell port.
 
 \item Use the {\tt SigMap} helper class (see next slide) when you need a unique handle for each signal bit.
index 9e542f7785cb640b902e2ead307b3fcbcf104cb9..b211caefeb4daecc1159df8abd1756d2fe865f14 100644 (file)
@@ -16,7 +16,7 @@ library to a target architecture.
         use the specified ABC script file instead of the default script.
 
         if <file> starts with a plus sign (+), then the rest of the filename
-        string is interprated as the command string to be passed to ABC. the
+        string is interpreted as the command string to be passed to ABC. The
         leading plus sign is removed and all commas (,) in the string are
         replaced with blanks before the string is passed to ABC.
 
@@ -90,7 +90,7 @@ library to a target architecture.
 
     -keepff
         set the "keep" attribute on flip-flop output wires. (and thus preserve
-        them, for example for equivialence checking.)
+        them, for example for equivalence checking.)
 
     -nocleanup
         when this option is used, the temporary files created by this pass
@@ -156,7 +156,7 @@ This is just a shortcut for 'select -module <modname>'.
     cd <cellname>
 
 When no module with the specified name is found, but there is a cell
-with the specified name in the current module, then this is equivialent
+with the specified name in the current module, then this is equivalent
 to 'cd <celltype>'.
 
     cd ..
@@ -183,8 +183,8 @@ in -purge mode between the commands.
 \begin{lstlisting}[numbers=left,frame=single]
     connect [-nomap] [-nounset] -set <lhs-expr> <rhs-expr>
 
-Create a connection. This is equivialent to adding the statement 'assign
-<lhs-expr> = <rhs-expr>;' to the verilog input. Per default, all existing
+Create a connection. This is equivalent to adding the statement 'assign
+<lhs-expr> = <rhs-expr>;' to the Verilog input. Per default, all existing
 drivers for <lhs-expr> are unconnected. This can be overwritten by using
 the -nounset option.
 
@@ -216,8 +216,8 @@ This command does not operate on module with processes.
 
 Wrappers are used in coarse-grain synthesis to wrap cells with smaller ports
 in wrapper cells with a (larger) constant port size. I.e. the upper bits
-of the wrapper outut are signed/unsigned bit extended. This command uses this
-knowlege to rewire the inputs of the driven cells to match the output of
+of the wrapper output are signed/unsigned bit extended. This command uses this
+knowledge to rewire the inputs of the driven cells to match the output of
 the driving cell.
 
     -signed <cell_type> <port_name> <width_param>
@@ -343,7 +343,7 @@ evaluated in the other design.
 
     design -copy-to <name> [-as <new_mod_name>] [selection]
 
-Copy modules from the current design into the soecified one.
+Copy modules from the current design into the specified one.
 \end{lstlisting}
 
 \section{dff2dffe -- transform \$dff cells to \$dffe cells}
@@ -365,7 +365,7 @@ $_DFF_P_, $_DFF_N_ and $_MUX_.
         <external_gate_type> is the cell type name for a cell with an
         identical interface to the <internal_gate_type>, except it
         also has an high-active enable port 'E'.
-          Usually <external_gate_type> is an intemediate cell type
+          Usually <external_gate_type> is an intermediate cell type
         that is then translated to the final type using 'techmap'.
 \end{lstlisting}
 
@@ -473,7 +473,7 @@ to work with the created equivalent checking module.
         Do not match cells or signals that match the names in the file.
 
     -encfile <file>
-        Match FSM encodings using the desiption from the file.
+        Match FSM encodings using the description from the file.
         See 'help fsm_recode' for details.
 
 Note: The circuit created by this command is not a miter (with something like
@@ -585,8 +585,8 @@ outputs.
         signal path at that wire.
 
     -shared
-        only expose those signals that are shared ammong the selected modules.
-        this is useful for preparing modules for equivialence checking.
+        only expose those signals that are shared among the selected modules.
+        this is useful for preparing modules for equivalence checking.
 
     -evert
         also turn connections to instances of other modules to additional
@@ -609,7 +609,7 @@ outputs.
 
 This pass looks for subcircuits that are isomorphic to any of the modules
 in the given map file and replaces them with instances of this modules. The
-map file can be a verilog source file (*.v) or an ilang file (*.il).
+map file can be a Verilog source file (*.v) or an ilang file (*.il).
 
     -map <map_file>
         use the modules in this file as reference. This option can be used
@@ -638,11 +638,11 @@ map file can be a verilog source file (*.v) or an ilang file (*.il).
         match. This option can be used multiple times.
 
     -swap <needle_type> <port1>,<port2>[,...]
-        Register a set of swapable ports for a needle cell type.
+        Register a set of swappable ports for a needle cell type.
         This option can be used multiple times.
 
     -perm <needle_type> <port1>,<port2>[,...] <portA>,<portB>[,...]
-        Register a valid permutation of swapable ports for a needle
+        Register a valid permutation of swappable ports for a needle
         cell type. This option can be used multiple times.
 
     -cell_attr <attribute_name>
@@ -657,7 +657,7 @@ map file can be a verilog source file (*.v) or an ilang file (*.il).
     -ignore_param <cell_type> <parameter_name>
         Do not use this parameter when matching cells.
 
-This pass does not operate on modules with uprocessed processes in it.
+This pass does not operate on modules with unprocessed processes in it.
 (I.e. the 'proc' pass should be used first to convert processes to netlists.)
 
 This pass can also be used for mining for frequent subcircuits. In this mode
@@ -694,7 +694,7 @@ See 'help techmap' for a pass that does the opposite thing.
     flatten [selection]
 
 This pass flattens the design by replacing cells by their implementation. This
-pass is very simmilar to the 'techmap' pass. The only difference is that this
+pass is very similar to the 'techmap' pass. The only difference is that this
 pass is using the current design as mapping library.
 \end{lstlisting}
 
@@ -704,7 +704,7 @@ pass is using the current design as mapping library.
     freduce [options] [selection]
 
 This pass performs functional reduction in the circuit. I.e. if two nodes are
-equivialent, they are merged to one node and one of the redundant drivers is
+equivalent, they are merged to one node and one of the redundant drivers is
 disconnected. A subsequent call to 'clean' will remove the redundant drivers.
 
     -v, -vv
@@ -722,7 +722,7 @@ disconnected. A subsequent call to 'clean' will remove the redundant drivers.
         operation. this is mostly used for debugging the freduce command.
 
 This pass is undef-aware, i.e. it considers don't-care values for detecting
-equivialent nodes.
+equivalent nodes.
 
 All selected wires are considered for rewiring. The selected cells cover the
 circuit that is analyzed.
@@ -734,7 +734,7 @@ circuit that is analyzed.
     fsm [options] [selection]
 
 This pass calls all the other fsm_* passes in a useful order. This performs
-FSM extraction and optimiziation. It also calls opt_clean as needed:
+FSM extraction and optimization. It also calls opt_clean as needed:
 
     fsm_detect          unless got option -nodetect
     fsm_extract
@@ -759,7 +759,7 @@ Options:
     -expand, -norecode, -export, -nomap
         enable or disable passes as indicated above
 
-    -encoding tye
+    -encoding type
     -fm_set_fsm_file file
     -encfile file
         passed through to fsm_recode pass
@@ -787,7 +787,7 @@ Signals can be protected from being detected by this pass by setting the
 
 The fsm_extract pass is conservative about the cells that belong to a finite
 state machine. This pass can be used to merge additional auxiliary gates into
-the finate state machine.
+the finite state machine.
 \end{lstlisting}
 
 \section{fsm\_export -- exporting FSMs to KISS2 files}
@@ -936,7 +936,7 @@ determine the direction of the ports. The syntax for a port declaration is:
 
 Input ports are specified with the 'i' prefix, output ports with the 'o'
 prefix and inout ports with the 'io' prefix. The optional <num> specifies
-the position of the port in the parameter list (needed when instanciated
+the position of the port in the parameter list (needed when instantiated
 using positional arguments). When <num> is not specified, the <portname> can
 also contain wildcard characters.
 
@@ -1085,7 +1085,7 @@ rules. A block ram description looks like this:
       ports  1 1         # number of ports in each group
       wrmode 1 0         # set to '1' if this groups is write ports
       enable 4 0         # number of enable bits (for write ports)
-      transp 0 2         # transparatent (for read ports)
+      transp 0 2         # transparent (for read ports)
       clocks 1 2         # clock configuration
       clkpol 2 2         # clock polarity configuration
     endbram
@@ -1103,7 +1103,7 @@ and a value greater than 1 means configurable. All groups with the same value
 greater than 1 share the same configuration bit.
 
 Using the same bram name in different bram blocks will create different variants
-of the bram. Verilog configration parameters for the bram are created as needed.
+of the bram. Verilog configuration parameters for the bram are created as needed.
 
 It is also possible to create variants by repeating statements in the bram block
 and appending '@<label>' to the individual statements.
@@ -1136,7 +1136,7 @@ It is possible to match against the following values with min/max rules:
     dcells  .......  number of cells in 'data-direction'
     cells  ........  total number of cells (acells*dcells*dups)
 
-The interface for the created bram instances is dervived from the bram
+The interface for the created bram instances is derived from the bram
 description. Use 'techmap' to convert the created bram instances into
 instances of the actual bram cells of your target architecture.
 
@@ -1221,7 +1221,7 @@ $memwr cells. It is the counterpart to the memory_collect pass.
 \begin{lstlisting}[numbers=left,frame=single]
     miter -equiv [options] gold_name gate_name miter_name
 
-Creates a miter circuit for equivialence checking. The gold- and gate- modules
+Creates a miter circuit for equivalence checking. The gold- and gate- modules
 must have the same interfaces. The miter circuit will have all inputs of the
 two source modules, prefixed with 'in_'. The miter circuit has a 'trigger'
 output that goes high if an output mismatch between the two source modules is
@@ -1457,7 +1457,7 @@ d-type flip-flop cells.
 \begin{lstlisting}[numbers=left,frame=single]
     proc_init [selection]
 
-This pass extracts the 'init' actions from processes (generated from verilog
+This pass extracts the 'init' actions from processes (generated from Verilog
 'initial' blocks) and sets the initial value to the 'init' attribute on the
 respective wire.
 \end{lstlisting}
@@ -1513,12 +1513,12 @@ Read cells from liberty file as modules into current design.
         set the specified attribute (to the value 1) on all loaded modules
 \end{lstlisting}
 
-\section{read\_verilog -- read modules from verilog file}
+\section{read\_verilog -- read modules from Verilog file}
 \label{cmd:read_verilog}
 \begin{lstlisting}[numbers=left,frame=single]
     read_verilog [options] [filename]
 
-Load modules from a verilog file to the current design. A large subset of
+Load modules from a Verilog file to the current design. A large subset of
 Verilog-2005 is supported.
 
     -sv
@@ -1532,7 +1532,7 @@ Verilog-2005 is supported.
         dump abstract syntax tree (after simplification)
 
     -dump_vlog
-        dump ast as verilog code (after simplification)
+        dump ast as Verilog code (after simplification)
 
     -yydebug
         enable parser debug output
@@ -1560,7 +1560,7 @@ Verilog-2005 is supported.
         module or register.
 
     -ppdump
-        dump verilog code after pre-processor
+        dump Verilog code after pre-processor
 
     -nopp
         do not run the pre-processor
@@ -1600,7 +1600,7 @@ subsequent calls to 'read_verilog'.
 
 Note that the Verilog frontend does a pretty good job of processing valid
 verilog input, but has not very good error reporting. It generally is
-recommended to use a simulator (for example icarus verilog) for checking
+recommended to use a simulator (for example Icarus Verilog) for checking
 the syntax of the code, rather than to rely on read_verilog for that.
 \end{lstlisting}
 
@@ -1716,7 +1716,7 @@ The following additional options can be used to set up a proof. If also -seq
 is passed, a temporal induction proof is performed.
 
     -tempinduct
-        Perform a temporal induction proof. In a temporalinduction proof it is
+        Perform a temporal induction proof. In a temporal induction proof it is
         proven that the condition holds forever after the number of time steps
         specified using -seq.
 
@@ -1729,7 +1729,7 @@ is passed, a temporal induction proof is performed.
 
     -prove-x <signal> <value>
         Like -prove, but an undef (x) bit in the lhs matches any value on
-        the right hand side. Useful for equivialence checking.
+        the right hand side. Useful for equivalence checking.
 
     -prove-asserts
         Prove that all asserts in the design hold.
@@ -1978,7 +1978,7 @@ The following actions can be performed on the top sets on the stack:
         like %d but swap the roles of two top sets on the stack
 
     %c
-        create a copy of the top set rom the stack and push it
+        create a copy of the top set from the stack and push it
 
     %x[<num1>|*][.<num2>][:<rule>[:<rule>..]]
         expand top set <num1> num times according to the specified rules.
@@ -1995,7 +1995,7 @@ The following actions can be performed on the top sets on the stack:
 
     %ci[<num1>|*][.<num2>][:<rule>[:<rule>..]]
     %co[<num1>|*][.<num2>][:<rule>[:<rule>..]]
-        simmilar to %x, but only select input (%ci) or output cones (%co)
+        similar to %x, but only select input (%ci) or output cones (%co)
 
     %a
         expand top set by selecting all wires that are (at least in part)
@@ -2061,7 +2061,7 @@ This command replaced undef (x) constants with defined (0/1) constants.
 \begin{lstlisting}[numbers=left,frame=single]
     share [options] [selection]
 
-This pass merges shareable resources into a single resource. A SAT solver
+This pass merges sharable resources into a single resource. A SAT solver
 is used to determine if two resources are share-able.
 
   -force
@@ -2080,7 +2080,7 @@ is used to determine if two resources are share-able.
 
   -fast
     Only consider the simple part of the control logic in SAT solving, resulting
-    in much easier SAT problems at the cost of maybe missing some oportunities
+    in much easier SAT problems at the cost of maybe missing some opportunities
     for resource sharing.
 
   -limit N
@@ -2156,7 +2156,7 @@ to a graphics file (usually SVG or PostScript).
     -colors <seed>
         Randomly assign colors to the wires. The integer argument is the seed
         for the random number generator. Change the seed value if the colored
-        graph still is ambigous. A seed of zero deactivates the coloring.
+        graph still is ambiguous. A seed of zero deactivates the coloring.
 
     -colorattr <attribute_name>
         Use the specified attribute to assign colors. A unique color is
@@ -2166,7 +2166,7 @@ to a graphics file (usually SVG or PostScript).
         annotate busses with a label indicating the width of the bus.
 
     -signed
-        mark ports (A, B) that are declarted as signed (using the [AB]_SIGNED
+        mark ports (A, B) that are declared as signed (using the [AB]_SIGNED
         cell parameter) with an asterisk next to the port name.
 
     -stretch
@@ -2180,7 +2180,7 @@ to a graphics file (usually SVG or PostScript).
         enumerate objects with internal ($-prefixed) names
 
     -long
-        do not abbeviate objects with internal ($-prefixed) names
+        do not abbreviate objects with internal ($-prefixed) names
 
     -notitle
         do not add the module name as graph title to the dot file
@@ -2213,7 +2213,7 @@ primitives. The following internal cell types are mapped by this pass:
 
 This command adds $slice and $concat cells to the design to make the splicing
 of multi-bit signals explicit. This for example is useful for coarse grain
-synthesis, where dedidacted hardware is needed to splice signals.
+synthesis, where dedicated hardware is needed to splice signals.
 
     -sel_by_cell
         only select the cell ports to rewire by the cell. if the selection
@@ -2433,7 +2433,7 @@ Use 'yosys cmd' to run the yosys command 'cmd' from tcl.
 The tcl command 'yosys -import' can be used to import all yosys
 commands directly as tcl commands to the tcl shell. The yosys
 command 'proc' is wrapped using the tcl command 'procs' in order
-to avoid a name collision with the tcl builting command 'proc'.
+to avoid a name collision with the tcl builtin command 'proc'.
 \end{lstlisting}
 
 \section{techmap -- generic technology mapper}
@@ -2442,7 +2442,7 @@ to avoid a name collision with the tcl builting command 'proc'.
     techmap [-map filename] [selection]
 
 This pass implements a very simple technology mapper that replaces cells in
-the design with implementations given in form of a verilog or ilang source
+the design with implementations given in form of a Verilog or ilang source
 file.
 
     -map filename
@@ -2468,7 +2468,7 @@ file.
 
     -recursive
         instead of the iterative breadth-first algorithm use a recursive
-        depth-first algorithm. both methods should yield equivialent results,
+        depth-first algorithm. both methods should yield equivalent results,
         but may differ in performance.
 
     -autoproc
@@ -2480,8 +2480,8 @@ file.
         as final cell types by this mode.
 
     -D <define>, -I <incdir>
-        this options are passed as-is to the verilog frontend for loading the
-        map file. Note that the verilog frontend is also called with the
+        this options are passed as-is to the Verilog frontend for loading the
+        map file. Note that the Verilog frontend is also called with the
         '-ignore_redef' option set.
 
 When a module in the map file has the 'techmap_celltype' attribute set, it will
@@ -2527,7 +2527,7 @@ wires are supported:
         of constant inputs and shorted inputs at this point and import the
         constant and connected bits into the map module. All further commands
         are executed in this copy. This is a very convenient way of creating
-        optimizied specializations of techmap modules without using the special
+        optimized specializations of techmap modules without using the special
         parameters described below.
 
         A _TECHMAP_DO_* command may start with the special token 'RECURSION; '.
@@ -2563,12 +2563,12 @@ the design is connected to a constant value. The parameter is then set to the
 constant value.
 
 A cell with the name _TECHMAP_REPLACE_ in the map file will inherit the name
-of the cell that is beeing replaced.
+of the cell that is being replaced.
 
 See 'help extract' for a pass that does the opposite thing.
 
 See 'help flatten' for a pass that does flatten the design (which is
-esentially techmap but using the design itself as map library).
+essentially techmap but using the design itself as map library).
 \end{lstlisting}
 
 \section{tee -- redirect command output to file}
@@ -2608,7 +2608,7 @@ Test handling of logic loops in ABC.
 \begin{lstlisting}[numbers=left,frame=single]
     test_autotb [options] [filename]
 
-Automatically create primitive verilog test benches for all modules in the
+Automatically create primitive Verilog test benches for all modules in the
 design. The generated testbenches toggle the input pins of the module in
 a semi-random manner and dumps the resulting output signals.
 
@@ -2624,7 +2624,7 @@ value after initialization. This can e.g. be used to force a reset signal
 low in order to explore more inner states in a state machine.
 
     -n <int>
-        number of iterations the test bench shuld run (default = 1000)
+        number of iterations the test bench should run (default = 1000)
 \end{lstlisting}
 
 \section{test\_cell -- automatically test the implementation of a cell type}
@@ -2674,7 +2674,7 @@ cell types. Use for example 'all /$add' for all cell types except $add.
         print additional debug information to the console
 
     -vlog {filename}
-        create a verilog test bench to test simlib and write_verilog
+        create a Verilog test bench to test simlib and write_verilog
 \end{lstlisting}
 
 \section{trace -- redirect command output to file}
@@ -2701,7 +2701,7 @@ Load the specified VHDL files into Verific.
 
     verific -import [-gates] {-all | <top-module>..}
 
-Elaborate the design for the sepcified top modules, import to Yosys and
+Elaborate the design for the specified top modules, import to Yosys and
 reset the internal state of Verific. A gate-level netlist is created
 when called with -gates.
 
@@ -2713,11 +2713,11 @@ Visit http://verific.com/ for more information on Verific.
 \begin{lstlisting}[numbers=left,frame=single]
     verilog_defaults -add [options]
 
-Add the sepcified options to the list of default options to read_verilog.
+Add the specified options to the list of default options to read_verilog.
 
 
     verilog_defaults -clear
-Clear the list of verilog default options.
+Clear the list of Verilog default options.
 
 
     verilog_defaults -push    verilog_defaults -pop
@@ -2854,7 +2854,7 @@ is targeted.
 \begin{lstlisting}[numbers=left,frame=single]
     write_file [options] output_file [input_file]
 
-Write the text fron the input file to the output file.
+Write the text from the input file to the output file.
 
     -a
         Append to output file (instead of overwriting)
@@ -3004,12 +3004,12 @@ Write the current design to an SPICE netlist file.
         set the specified module as design top module
 \end{lstlisting}
 
-\section{write\_verilog -- write design to verilog file}
+\section{write\_verilog -- write design to Verilog file}
 \label{cmd:write_verilog}
 \begin{lstlisting}[numbers=left,frame=single]
     write_verilog [options] [filename]
 
-Write the current design to a verilog file.
+Write the current design to a Verilog file.
 
     -norename
         without this option all internal object names (the ones with a dollar
@@ -3023,7 +3023,7 @@ Write the current design to a verilog file.
         with this option attributes are included as comments in the output
 
     -noexpr
-        without this option all internal cells are converted to verilog
+        without this option all internal cells are converted to Verilog
         expressions.
 
     -blackboxes
index 84be86e5bdf2629af68d50287ee578cc0f199de5..ecc7e4c99828fd0a945122ace018bef64c9c3994 100644 (file)
@@ -17,7 +17,7 @@
 % (i.e. run "sudo su" and then execute the commands in the root
 % shell, don't just prefix the commands with "sudo").
 
-% formats the text accourding the set language
+% formats the text according the set language
 \usepackage[english]{babel}
 \usepackage[table,usenames]{xcolor}
 % generates indices with the "\index" command
index dc51277552c669446fc35ae278a2f007dfb79224..63b963bbdd5a4f03fd6c5f106dafd41b6832294c 100644 (file)
@@ -18,7 +18,7 @@
 % (i.e. run "sudo su" and then execute the commands in the root
 % shell, don't just prefix the commands with "sudo").
 
-% formats the text accourding the set language
+% formats the text according the set language
 \usepackage[english]{babel}
 \usepackage{amsmath}
 \usepackage{multirow}
@@ -118,7 +118,7 @@ hobbyists, educators and engineers alike.
 \bigskip
 This presentation covers basic concepts of Yosys, writing synthesis scripts
 for a wide range of applications, creating Yosys scripts for various
-non-synthesis applications (such as formal equivialence checking) and
+non-synthesis applications (such as formal equivalence checking) and
 writing extensions to Yosys using the C++ API.
 \end{frame}
 
index fe74408d459dba264c3e405f0ee0ace8e388cc54..2ad848386466e7360768ee1f231b64c55eb4b492 100644 (file)
@@ -35,7 +35,7 @@ struct CheckPass : public Pass {
                log("\n");
                log("This pass identifies the following problems in the current design:\n");
                log("\n");
-               log(" - combinatorical loops\n");
+               log(" - combinatorial loops\n");
                log("\n");
                log(" - two or more conflicting drivers for one wire\n");
                log("\n");
index e09d636fdb7f024a2bd544668aff51e33d284eef..e0b1ce051da0ec8d56b984d4b6f7b4fff39f51b1 100644 (file)
@@ -49,7 +49,7 @@ struct ConnectPass : public Pass {
                log("\n");
                log("    connect [-nomap] [-nounset] -set <lhs-expr> <rhs-expr>\n");
                log("\n");
-               log("Create a connection. This is equivialent to adding the statement 'assign\n");
+               log("Create a connection. This is equivalent to adding the statement 'assign\n");
                log("<lhs-expr> = <rhs-expr>;' to the verilog input. Per default, all existing\n");
                log("drivers for <lhs-expr> are unconnected. This can be overwritten by using\n");
                log("the -nounset option.\n");
index 1c66fb81d0fc269149ac5ff673227a8d1ce755ec..7828dce1d141239419af85312db2b84b601f4d61 100644 (file)
@@ -158,8 +158,8 @@ struct ConnwrappersPass : public Pass {
                log("\n");
                log("Wrappers are used in coarse-grain synthesis to wrap cells with smaller ports\n");
                log("in wrapper cells with a (larger) constant port size. I.e. the upper bits\n");
-               log("of the wrapper outut are signed/unsigned bit extended. This command uses this\n");
-               log("knowlege to rewire the inputs of the driven cells to match the output of\n");
+               log("of the wrapper output are signed/unsigned bit extended. This command uses this\n");
+               log("knowledge to rewire the inputs of the driven cells to match the output of\n");
                log("the driving cell.\n");
                log("\n");
                log("    -signed <cell_type> <port_name> <width_param>\n");
index 16a4e64ae7d42cbde4a2a3593acd0a21afc4b35d..e900e7b9c28e45e8a57b6e8419e13ddb9ce4067a 100644 (file)
@@ -80,7 +80,7 @@ struct DesignPass : public Pass {
                log("\n");
                log("    design -copy-to <name> [-as <new_mod_name>] [selection]\n");
                log("\n");
-               log("Copy modules from the current design into the soecified one.\n");
+               log("Copy modules from the current design into the specified one.\n");
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
index c9268165e640562be65839bc486c27f5cf2ba3f7..b4219db2c8102a03d08d8bdb8363a6baef9538ea 100644 (file)
@@ -1078,7 +1078,7 @@ struct SelectPass : public Pass {
                log("\n");
                log("    %%ci[<num1>|*][.<num2>][:<rule>[:<rule>..]]\n");
                log("    %%co[<num1>|*][.<num2>][:<rule>[:<rule>..]]\n");
-               log("        simmilar to %%x, but only select input (%%ci) or output cones (%%co)\n");
+               log("        similar to %%x, but only select input (%%ci) or output cones (%%co)\n");
                log("\n");
                log("    %%xe[...] %%cie[...] %%coe\n");
                log("        like %%x, %%ci, and %%co but only consider combinatorial cells\n");
@@ -1403,7 +1403,7 @@ struct CdPass : public Pass {
                log("    cd <cellname>\n");
                log("\n");
                log("When no module with the specified name is found, but there is a cell\n");
-               log("with the specified name in the current module, then this is equivialent\n");
+               log("with the specified name in the current module, then this is equivalent\n");
                log("to 'cd <celltype>'.\n");
                log("\n");
                log("    cd ..\n");
index 28e3decda6f5a7f4930e38f704c3960d97a21770..3035e7301d8826a7ffdc10a8371ec0125476d745 100644 (file)
@@ -610,7 +610,7 @@ struct ShowPass : public Pass {
                log("    -colors <seed>\n");
                log("        Randomly assign colors to the wires. The integer argument is the seed\n");
                log("        for the random number generator. Change the seed value if the colored\n");
-               log("        graph still is ambigous. A seed of zero deactivates the coloring.\n");
+               log("        graph still is ambiguous. A seed of zero deactivates the coloring.\n");
                log("\n");
                log("    -colorattr <attribute_name>\n");
                log("        Use the specified attribute to assign colors. A unique color is\n");
@@ -620,7 +620,7 @@ struct ShowPass : public Pass {
                log("        annotate busses with a label indicating the width of the bus.\n");
                log("\n");
                log("    -signed\n");
-               log("        mark ports (A, B) that are declarted as signed (using the [AB]_SIGNED\n");
+               log("        mark ports (A, B) that are declared as signed (using the [AB]_SIGNED\n");
                log("        cell parameter) with an asterisk next to the port name.\n");
                log("\n");
                log("    -stretch\n");
@@ -634,7 +634,7 @@ struct ShowPass : public Pass {
                log("        enumerate objects with internal ($-prefixed) names\n");
                log("\n");
                log("    -long\n");
-               log("        do not abbeviate objects with internal ($-prefixed) names\n");
+               log("        do not abbreviate objects with internal ($-prefixed) names\n");
                log("\n");
                log("    -notitle\n");
                log("        do not add the module name as graph title to the dot file\n");
@@ -673,7 +673,7 @@ struct ShowPass : public Pass {
                bool flag_stretch = false;
                bool flag_pause = false;
                bool flag_enum = false;
-               bool flag_abbeviate = true;
+               bool flag_abbreviate = true;
                bool flag_notitle = false;
                RTLIL::IdString colorattr;
 
@@ -743,12 +743,12 @@ struct ShowPass : public Pass {
                        }
                        if (arg == "-enum") {
                                flag_enum = true;
-                               flag_abbeviate = false;
+                               flag_abbreviate = false;
                                continue;
                        }
                        if (arg == "-long") {
                                flag_enum = false;
-                               flag_abbeviate = false;
+                               flag_abbreviate = false;
                                continue;
                        }
                        if (arg == "-notitle") {
@@ -796,7 +796,7 @@ struct ShowPass : public Pass {
                                delete lib;
                        log_cmd_error("Can't open dot file `%s' for writing.\n", dot_file.c_str());
                }
-               ShowWorker worker(f, design, libs, colorSeed, flag_width, flag_signed, flag_stretch, flag_enum, flag_abbeviate, flag_notitle, color_selections, label_selections, colorattr);
+               ShowWorker worker(f, design, libs, colorSeed, flag_width, flag_signed, flag_stretch, flag_enum, flag_abbreviate, flag_notitle, color_selections, label_selections, colorattr);
                fclose(f);
 
                for (auto lib : libs)
index e56699f40f565c22c39d1bd69b90849dd2f5f60f..4ce2ec11c997f860b7807bb4abc0968ac46a13cc 100644 (file)
@@ -255,7 +255,7 @@ struct SplicePass : public Pass {
                log("\n");
                log("This command adds $slice and $concat cells to the design to make the splicing\n");
                log("of multi-bit signals explicit. This for example is useful for coarse grain\n");
-               log("synthesis, where dedidacted hardware is needed to splice signals.\n");
+               log("synthesis, where dedicated hardware is needed to splice signals.\n");
                log("\n");
                log("    -sel_by_cell\n");
                log("        only select the cell ports to rewire by the cell. if the selection\n");
index 25ec4acc2cc14342753a00769d27683cc9c17d01..b78265933493d0b644e6c9e3ab8567c5919d0727 100644 (file)
@@ -31,7 +31,7 @@ struct WriteFileFrontend : public Frontend {
                log("\n");
                log("    write_file [options] output_file [input_file]\n");
                log("\n");
-               log("Write the text fron the input file to the output file.\n");
+               log("Write the text from the input file to the output file.\n");
                log("\n");
                log("    -a\n");
                log("        Append to output file (instead of overwriting)\n");
index 1cc4c3a7c9ace9081f5972457726b4ee3ce6075f..c001fdbfe3fd3daaf7e0f8165011198f1d1a754e 100644 (file)
@@ -407,7 +407,7 @@ struct EquivMakePass : public Pass {
                log("        Do not match cells or signals that match the names in the file.\n");
                log("\n");
                log("    -encfile <file>\n");
-               log("        Match FSM encodings using the desiption from the file.\n");
+               log("        Match FSM encodings using the description from the file.\n");
                log("        See 'help fsm_recode' for details.\n");
                log("\n");
                log("Note: The circuit created by this command is not a miter (with something like\n");
index 1ecf14a28e326bcdc73282c16f404eaf1f84bc7b..3f5564fc58bc1aecb5d51e6f1447c6a7b0d1e7dd 100644 (file)
@@ -34,7 +34,7 @@ struct FsmPass : public Pass {
                log("    fsm [options] [selection]\n");
                log("\n");
                log("This pass calls all the other fsm_* passes in a useful order. This performs\n");
-               log("FSM extraction and optimiziation. It also calls opt_clean as needed:\n");
+               log("FSM extraction and optimization. It also calls opt_clean as needed:\n");
                log("\n");
                log("    fsm_detect          unless got option -nodetect\n");
                log("    fsm_extract\n");
@@ -59,7 +59,7 @@ struct FsmPass : public Pass {
                log("    -expand, -norecode, -export, -nomap\n");
                log("        enable or disable passes as indicated above\n");
                log("\n");
-               log("    -encoding tye\n");
+               log("    -encoding type\n");
                log("    -fm_set_fsm_file file\n");
                log("    -encfile file\n");
                log("        passed through to fsm_recode pass\n");
index 914dcf29c8e3f7af5196d293aba69359ce41d066..43c9a792f835bf61cfbb25a5b5d2c4af7245bc06 100644 (file)
@@ -253,7 +253,7 @@ struct FsmExpandPass : public Pass {
                log("\n");
                log("The fsm_extract pass is conservative about the cells that belong to a finite\n");
                log("state machine. This pass can be used to merge additional auxiliary gates into\n");
-               log("the finate state machine.\n");
+               log("the finite state machine.\n");
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
index bfa3890a22248aa3a28420a1a74693c03a88e5cd..598fe9396dd2746e62ef1e331f2c377d0ac004a4 100644 (file)
@@ -388,7 +388,7 @@ struct HierarchyPass : public Pass {
                log("\n");
                log("Input ports are specified with the 'i' prefix, output ports with the 'o'\n");
                log("prefix and inout ports with the 'io' prefix. The optional <num> specifies\n");
-               log("the position of the port in the parameter list (needed when instanciated\n");
+               log("the position of the port in the parameter list (needed when instantiated\n");
                log("using positional arguments). When <num> is not specified, the <portname> can\n");
                log("also contain wildcard characters.\n");
                log("\n");
index 7d98a7c468576f6cd59afd6b44c071ad83fc348c..824d6a6e822d3ba3291bcf97e8f8a3e5352bdc4a 100644 (file)
@@ -605,7 +605,7 @@ bool replace_cell(Cell *cell, const rules_t &rules, const rules_t::bram_t &bram,
        mapped_wr_port:;
        }
 
-       // houskeeping stuff for growing more read ports and restarting read port assignments
+       // housekeeping stuff for growing more read ports and restarting read port assignments
 
        int grow_read_ports_cursor = -1;
        bool try_growing_more_read_ports = false;
@@ -694,7 +694,7 @@ grow_read_ports:;
                                                pi.make_transp = true;
                                                enable_make_transp = true;
                                        } else {
-                                               log("        Bram port %c%d.%d has incompatible read transparancy.\n", pi.group + 'A', pi.index + 1, pi.dupidx + 1);
+                                               log("        Bram port %c%d.%d has incompatible read transparency.\n", pi.group + 'A', pi.index + 1, pi.dupidx + 1);
                                                goto skip_bram_rport;
                                        }
                                }
@@ -1127,7 +1127,7 @@ struct MemoryBramPass : public Pass {
                log("      ports  1 1         # number of ports in each group\n");
                log("      wrmode 1 0         # set to '1' if this groups is write ports\n");
                log("      enable 4 0         # number of enable bits (for write ports)\n");
-               log("      transp 0 2         # transparatent (for read ports)\n");
+               log("      transp 0 2         # transparent (for read ports)\n");
                log("      clocks 1 2         # clock configuration\n");
                log("      clkpol 2 2         # clock polarity configuration\n");
                log("    endbram\n");
@@ -1145,7 +1145,7 @@ struct MemoryBramPass : public Pass {
                log("greater than 1 share the same configuration bit.\n");
                log("\n");
                log("Using the same bram name in different bram blocks will create different variants\n");
-               log("of the bram. Verilog configration parameters for the bram are created as needed.\n");
+               log("of the bram. Verilog configuration parameters for the bram are created as needed.\n");
                log("\n");
                log("It is also possible to create variants by repeating statements in the bram block\n");
                log("and appending '@<label>' to the individual statements.\n");
@@ -1178,7 +1178,7 @@ struct MemoryBramPass : public Pass {
                log("    dcells  .......  number of cells in 'data-direction'\n");
                log("    cells  ........  total number of cells (acells*dcells*dups)\n");
                log("\n");
-               log("The interface for the created bram instances is dervived from the bram\n");
+               log("The interface for the created bram instances is derived from the bram\n");
                log("description. Use 'techmap' to convert the created bram instances into\n");
                log("instances of the actual bram cells of your target architecture.\n");
                log("\n");
index aec85b46e1db817d1ac62b03d80d56d65a621e7d..98b7b2e15747a2e0fc0ba05e4821b1b3c7ad418a 100644 (file)
@@ -284,7 +284,7 @@ struct OptReduceWorker
                        did_something = false;
 
                        // merge trees of reduce_* cells to one single cell and unify input vectors
-                       // (only handle recduce_and and reduce_or for various reasons)
+                       // (only handle reduce_and and reduce_or for various reasons)
 
                        const char *type_list[] = { "$reduce_or", "$reduce_and" };
                        for (auto type : type_list)
index b1b441da779a58d64dff3d73c7d7a998d530117d..2c39708bb7cdb38c0d20a803a9d89b529e8b0991 100644 (file)
@@ -1393,7 +1393,7 @@ struct SharePass : public Pass {
                log("\n");
                log("  -fast\n");
                log("    Only consider the simple part of the control logic in SAT solving, resulting\n");
-               log("    in much easier SAT problems at the cost of maybe missing some oportunities\n");
+               log("    in much easier SAT problems at the cost of maybe missing some opportunities\n");
                log("    for resource sharing.\n");
                log("\n");
                log("  -limit N\n");
index d97fa6f164ae516650d7a7c1a4724ca30a703473..5226640324e11216e5e87bad6ef098f50d05339e 100644 (file)
@@ -87,7 +87,7 @@ struct BruteForceEquivChecker
        BruteForceEquivChecker(RTLIL::Module *mod1, RTLIL::Module *mod2, bool ignore_x_mod1) :
                        mod1(mod1), mod2(mod2), counter(0), errors(0), ignore_x_mod1(ignore_x_mod1)
        {
-               log("Checking for equivialence (brute-force): %s vs %s\n", mod1->name.c_str(), mod2->name.c_str());
+               log("Checking for equivalence (brute-force): %s vs %s\n", mod1->name.c_str(), mod2->name.c_str());
                for (auto &w : mod1->wires_)
                {
                        RTLIL::Wire *wire1 = w.second;
@@ -421,7 +421,7 @@ struct EvalPass : public Pass {
                                        log_error("Can't find module `%s'!\n", mod2_name.c_str());
                                BruteForceEquivChecker checker(design->modules_.at(mod1_name), design->modules_.at(mod2_name), args[argidx-2] == "-brute_force_equiv_checker_x");
                                if (checker.errors > 0)
-                                       log_cmd_error("Modules are not equivialent!\n");
+                                       log_cmd_error("Modules are not equivalent!\n");
                                log("Verified %s = %s (using brute-force check on %d cases).\n",
                                                mod1_name.c_str(), mod2_name.c_str(), checker.counter);
                                return;
@@ -594,7 +594,7 @@ struct EvalPass : public Pass {
                        log("\n");
                        if (undef.size() > 0) {
                                undef.sort_and_unify();
-                               log("Assumend undef (x) value for the following singals: %s\n\n", log_signal(undef));
+                               log("Assumed undef (x) value for the following signals: %s\n\n", log_signal(undef));
                        }
                }
        }
index 3d2bcf63a14ba85367fafea899a9c66f25e39642..ca784890b9d21898959e070c048e9df7ded8ffcb 100644 (file)
@@ -237,8 +237,8 @@ struct ExposePass : public Pass {
                log("        signal path at that wire.\n");
                log("\n");
                log("    -shared\n");
-               log("        only expose those signals that are shared ammong the selected modules.\n");
-               log("        this is useful for preparing modules for equivialence checking.\n");
+               log("        only expose those signals that are shared among the selected modules.\n");
+               log("        this is useful for preparing modules for equivalence checking.\n");
                log("\n");
                log("    -evert\n");
                log("        also turn connections to instances of other modules to additional\n");
index f9d3a82a596c20aff55ad6ab5c82de927457293e..e0d11243b7230e87198fe15e249bca74ef934ff8 100644 (file)
@@ -457,7 +457,7 @@ struct PerformReduction
                                out_depth[idx] = std::numeric_limits<int>::max();
 
                        if (verbose_level >= 1) {
-                               log("%s    Found %d equivialent signals:", indt, int(bucket.size()));
+                               log("%s    Found %d equivalent signals:", indt, int(bucket.size()));
                                for (int idx : bucket)
                                        log("%s%s%s", idx == bucket.front() ? " " : ", ", out_inverted[idx] ? "~" : "", log_signal(out_bits[idx]));
                                log("\n");
@@ -506,7 +506,7 @@ struct PerformReduction
                                std::vector<RTLIL::SigBit> r_sigbits;
                                for (int idx : r)
                                        r_sigbits.push_back(out_bits[idx]);
-                               log("  Found group of %d equivialent signals: %s\n", int(r.size()), log_signal(r_sigbits));
+                               log("  Found group of %d equivalent signals: %s\n", int(r.size()), log_signal(r_sigbits));
                        }
 
                        std::vector<int> undef_slaves;
@@ -692,7 +692,7 @@ struct FreduceWorker
                if (!dump_prefix.empty())
                        dump();
 
-               log("  Rewiring %d equivialent groups:\n", int(equiv.size()));
+               log("  Rewiring %d equivalent groups:\n", int(equiv.size()));
                int rewired_sigbits = 0;
                for (auto &grp : equiv)
                {
@@ -766,7 +766,7 @@ struct FreducePass : public Pass {
                log("    freduce [options] [selection]\n");
                log("\n");
                log("This pass performs functional reduction in the circuit. I.e. if two nodes are\n");
-               log("equivialent, they are merged to one node and one of the redundant drivers is\n");
+               log("equivalent, they are merged to one node and one of the redundant drivers is\n");
                log("disconnected. A subsequent call to 'clean' will remove the redundant drivers.\n");
                log("\n");
                log("    -v, -vv\n");
@@ -784,7 +784,7 @@ struct FreducePass : public Pass {
                log("        operation. this is mostly used for debugging the freduce command.\n");
                log("\n");
                log("This pass is undef-aware, i.e. it considers don't-care values for detecting\n");
-               log("equivialent nodes.\n");
+               log("equivalent nodes.\n");
                log("\n");
                log("All selected wires are considered for rewiring. The selected cells cover the\n");
                log("circuit that is analyzed.\n");
index 24d7e3a08c5ca7aee5d0e9724011d2e539e9ff0c..682299ef2c7081ace9ac377ad02fb5e0ddba0417 100644 (file)
@@ -340,7 +340,7 @@ struct MiterPass : public Pass {
                log("\n");
                log("    miter -equiv [options] gold_name gate_name miter_name\n");
                log("\n");
-               log("Creates a miter circuit for equivialence checking. The gold- and gate- modules\n");
+               log("Creates a miter circuit for equivalence checking. The gold- and gate- modules\n");
                log("must have the same interfaces. The miter circuit will have all inputs of the\n");
                log("two source modules, prefixed with 'in_'. The miter circuit has a 'trigger'\n");
                log("output that goes high if an output mismatch between the two source modules is\n");
index 16ec88fe01e4532512772d9f9e086df2ab682d45..ed6526fba7d2936c53adc14efaedaea02ed68dbf 100644 (file)
@@ -1017,7 +1017,7 @@ struct SatPass : public Pass {
                log("\n");
                log("    -prove-x <signal> <value>\n");
                log("        Like -prove, but an undef (x) bit in the lhs matches any value on\n");
-               log("        the right hand side. Useful for equivialence checking.\n");
+               log("        the right hand side. Useful for equivalence checking.\n");
                log("\n");
                log("    -prove-asserts\n");
                log("        Prove that all asserts in the design hold.\n");
index c19593f05b5106ae5f1b6186aaa5ccf808f5f25d..d1e629b5a0573784bf3362a699fa57ebd9e392bc 100644 (file)
@@ -1158,7 +1158,7 @@ struct AbcPass : public Pass {
                log("        use the specified ABC script file instead of the default script.\n");
                log("\n");
                log("        if <file> starts with a plus sign (+), then the rest of the filename\n");
-               log("        string is interprated as the command string to be passed to ABC. the\n");
+               log("        string is interpreted as the command string to be passed to ABC. The\n");
                log("        leading plus sign is removed and all commas (,) in the string are\n");
                log("        replaced with blanks before the string is passed to ABC.\n");
                log("\n");
@@ -1235,7 +1235,7 @@ struct AbcPass : public Pass {
                log("\n");
                log("    -keepff\n");
                log("        set the \"keep\" attribute on flip-flop output wires. (and thus preserve\n");
-               log("        them, for example for equivialence checking.)\n");
+               log("        them, for example for equivalence checking.)\n");
                log("\n");
                log("    -nocleanup\n");
                log("        when this option is used, the temporary files created by this pass\n");
index e587f827ab8a4bc03eba8d75f2931b2365e6fc57..51bfaade321766aacab0b7f606fc037137e2d906 100644 (file)
@@ -273,7 +273,7 @@ struct Dff2dffePass : public Pass {
                log("        <external_gate_type> is the cell type name for a cell with an\n");
                log("        identical interface to the <internal_gate_type>, except it\n");
                log("        also has an high-active enable port 'E'.\n");
-               log("          Usually <external_gate_type> is an intemediate cell type\n");
+               log("          Usually <external_gate_type> is an intermediate cell type\n");
                log("        that is then translated to the final type using 'techmap'.\n");
                log("\n");
                log("    -direct-match <pattern>\n");
index b670083bf48e8cc6674f786880d43a443d96230a..3c24524df7e6eff84d5819c9d309eb39c1aa037d 100644 (file)
@@ -390,11 +390,11 @@ struct ExtractPass : public Pass {
                log("        match. This option can be used multiple times.\n");
                log("\n");
                log("    -swap <needle_type> <port1>,<port2>[,...]\n");
-               log("        Register a set of swapable ports for a needle cell type.\n");
+               log("        Register a set of swappable ports for a needle cell type.\n");
                log("        This option can be used multiple times.\n");
                log("\n");
                log("    -perm <needle_type> <port1>,<port2>[,...] <portA>,<portB>[,...]\n");
-               log("        Register a valid permutation of swapable ports for a needle\n");
+               log("        Register a valid permutation of swappable ports for a needle\n");
                log("        cell type. This option can be used multiple times.\n");
                log("\n");
                log("    -cell_attr <attribute_name>\n");
@@ -409,7 +409,7 @@ struct ExtractPass : public Pass {
                log("    -ignore_param <cell_type> <parameter_name>\n");
                log("        Do not use this parameter when matching cells.\n");
                log("\n");
-               log("This pass does not operate on modules with uprocessed processes in it.\n");
+               log("This pass does not operate on modules with unprocessed processes in it.\n");
                log("(I.e. the 'proc' pass should be used first to convert processes to netlists.)\n");
                log("\n");
                log("This pass can also be used for mining for frequent subcircuits. In this mode\n");
index 1a16b6f45e2cb9d2490c59c7d5caf3f0814246cd..8ba0283108ed594e274ad0f67b97fc64e3ba3e0e 100644 (file)
@@ -850,7 +850,7 @@ struct TechmapPass : public Pass {
                log("    techmap [-map filename] [selection]\n");
                log("\n");
                log("This pass implements a very simple technology mapper that replaces cells in\n");
-               log("the design with implementations given in form of a verilog or ilang source\n");
+               log("the design with implementations given in form of a Verilog or ilang source\n");
                log("file.\n");
                log("\n");
                log("    -map filename\n");
@@ -871,7 +871,7 @@ struct TechmapPass : public Pass {
                log("\n");
                log("    -recursive\n");
                log("        instead of the iterative breadth-first algorithm use a recursive\n");
-               log("        depth-first algorithm. both methods should yield equivialent results,\n");
+               log("        depth-first algorithm. both methods should yield equivalent results,\n");
                log("        but may differ in performance.\n");
                log("\n");
                log("    -autoproc\n");
@@ -883,8 +883,8 @@ struct TechmapPass : public Pass {
                log("        as final cell types by this mode.\n");
                log("\n");
                log("    -D <define>, -I <incdir>\n");
-               log("        this options are passed as-is to the verilog frontend for loading the\n");
-               log("        map file. Note that the verilog frontend is also called with the\n");
+               log("        this options are passed as-is to the Verilog frontend for loading the\n");
+               log("        map file. Note that the Verilog frontend is also called with the\n");
                log("        '-ignore_redef' option set.\n");
                log("\n");
                log("When a module in the map file has the 'techmap_celltype' attribute set, it will\n");
@@ -930,7 +930,7 @@ struct TechmapPass : public Pass {
                log("        of constant inputs and shorted inputs at this point and import the\n");
                log("        constant and connected bits into the map module. All further commands\n");
                log("        are executed in this copy. This is a very convenient way of creating\n");
-               log("        optimizied specializations of techmap modules without using the special\n");
+               log("        optimized specializations of techmap modules without using the special\n");
                log("        parameters described below.\n");
                log("\n");
                log("        A _TECHMAP_DO_* command may start with the special token 'RECURSION; '.\n");
@@ -966,12 +966,12 @@ struct TechmapPass : public Pass {
                log("constant value.\n");
                log("\n");
                log("A cell with the name _TECHMAP_REPLACE_ in the map file will inherit the name\n");
-               log("of the cell that is beeing replaced.\n");
+               log("of the cell that is being replaced.\n");
                log("\n");
                log("See 'help extract' for a pass that does the opposite thing.\n");
                log("\n");
                log("See 'help flatten' for a pass that does flatten the design (which is\n");
-               log("esentially techmap but using the design itself as map library).\n");
+               log("essentially techmap but using the design itself as map library).\n");
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
@@ -1099,7 +1099,7 @@ struct FlattenPass : public Pass {
                log("    flatten [selection]\n");
                log("\n");
                log("This pass flattens the design by replacing cells by their implementation. This\n");
-               log("pass is very simmilar to the 'techmap' pass. The only difference is that this\n");
+               log("pass is very similar to the 'techmap' pass. The only difference is that this\n");
                log("pass is using the current design as mapping library.\n");
                log("\n");
                log("Cells and/or modules with the 'keep_hiearchy' attribute set will not be\n");
index 5d573ad625c927ef8c0100ace0e44c8ca8ba5013..659f0bb69a2174bee15398cda75e4a180d89169f 100644 (file)
@@ -326,7 +326,7 @@ struct TestAutotbBackend : public Backend {
                log("low in order to explore more inner states in a state machine.\n");
                log("\n");
                log("    -n <int>\n");
-               log("        number of iterations the test bench shuld run (default = 1000)\n");
+               log("        number of iterations the test bench should run (default = 1000)\n");
                log("\n");
        }
        virtual void execute(std::ostream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design *design)
index 6f497e99c71209b2bafe414a84c3b5761a031039..58a92b44dfb8afb77d800a6a5fd268acf7d2d4b2 100755 (executable)
@@ -35,7 +35,7 @@ if ($#ARGV != 1) {
        print STDERR "Usage: $0 [-w N] [-d N] gold.vcd gate.vcd\n";
        print STDERR "\n";
        print STDERR "  -w N\n";
-       print STDERR "    reserve N characters for bitmap in text ouput (default: auto)\n";
+       print STDERR "    reserve N characters for bitmap in text output (default: auto)\n";
        print STDERR "\n";
        print STDERR "  -d N\n";
        print STDERR "    allow for N timesteps delay between gate and gold (default: 0)\n";