Merge branch 'hansi'
authorClifford Wolf <clifford@clifford.at>
Mon, 18 Mar 2013 06:33:53 +0000 (07:33 +0100)
committerClifford Wolf <clifford@clifford.at>
Mon, 18 Mar 2013 06:33:53 +0000 (07:33 +0100)
13 files changed:
kernel/driver.cc
kernel/select.cc
kernel/show.cc
passes/abc/abc.cc
passes/fsm/fsm_detect.cc
passes/fsm/fsm_expand.cc
passes/opt/opt_muxtree.cc
passes/opt/opt_rmunused.cc
passes/proc/proc_dff.cc
passes/scc/scc.cc
passes/submod/submod.cc
passes/techmap/Makefile.inc
passes/techmap/techmap.cc

index 0da5f68cbe7869d7a84b9a6875464bfb754151df..bc605a461535f3182751b9ce6005c44836916100 100644 (file)
@@ -205,7 +205,7 @@ struct ShellPass : public Pass {
                log("    yosys [modname]*>\n");
                log("        only part of current module 'modname' is selected\n");
                log("\n");
-               log("When in interavtive shell, some errors (e.g. invalid command arguments)\n");
+               log("When in interactive shell, some errors (e.g. invalid command arguments)\n");
                log("do not terminate yosys but return to the command prompt.\n");
                log("\n");
                log("This command is the default action if nothing else has been specified\n");
index 3c6fd669ceaa91553bfbe16f53b7aca810949c38..a6e675c88cfb533b2349ae4959882b5b9ffbd795 100644 (file)
@@ -642,13 +642,13 @@ struct SelectPass : public Pass {
                log("        whole design.\n");
                log("\n");
                log("    -module <modname>\n");
-               log("        limit the current scope to the specified module\n");
+               log("        limit the current scope to the specified module.\n");
                log("        the difference between this and simply selecting the module\n");
                log("        is that all object names are interpreted relative to this\n");
                log("        module after this command until the selection is cleared again.\n");
                log("\n");
                log("When this command is called without an argument, the current selection\n");
-               log("is displayed in a compact form (i.e.. only the module name when a whole module\n");
+               log("is displayed in a compact form (i.e. only the module name when a whole module\n");
                log("is selected).\n");
                log("\n");
                log("The <selection> argument itself is a series of commands for a simple stack\n");
@@ -697,8 +697,8 @@ struct SelectPass : public Pass {
                log("        all objects with a matching attribute name-value-pair\n");
                log("\n");
                log("    n:<pattern>\n");
-               log("        all object with a name matching the given pattern\n");
-               log("        (i.e. the n: is optional as it is the default matching rule)\n");
+               log("        all objects with a name matching the given pattern\n");
+               log("        (i.e. 'n:' is optional as it is the default matching rule)\n");
                log("\n");
                log("    @<name>\n");
                log("        push the selection saved prior with 'select -set <name> ...'\n");
@@ -724,12 +724,12 @@ struct SelectPass : public Pass {
                log("        pop the top set from the stack and subtract it from the new top\n");
                log("\n");
                log("    %%x[<num1>|*][.<num2>][:<rule>[:<rule>..]]\n");
-               log("        expand top set <num1> num times accorind to the specified rules.\n");
+               log("        expand top set <num1> num times according to the specified rules.\n");
                log("        (i.e. select all cells connected to selected wires and select all\n");
                log("        wires connected to selected cells) The rules specify which cell\n");
                log("        ports to use for this. the syntax for a rule is a '-' for exclusion\n");
                log("        and a '+' for inclusion, followed by an optional comma seperated\n");
-               log("        list of cell types followed by an optional comma seperated list of\n");
+               log("        list of cell types followed by an optional comma separated list of\n");
                log("        cell ports in square brackets. a rule can also be just a cell or wire\n");
                log("        name that limits the expansion (is included but does not go beyond).\n");
                log("        select at most <num2> objects. a warning message is printed when this\n");
index c556c9914967cd1f9e5567cb56e79b473e0bbbcc..50cddce9bfbe629cf5d31df54bef5cfa5c3de3df 100644 (file)
@@ -319,7 +319,7 @@ struct ShowPass : public Pass {
                log("         Also run the specified command with the postscript file as parameter.\n");
                log("\n");
                log("    -lib <verilog_or_ilang_file>\n");
-               log("         Use the specified library file for determining whether cell ports are.\n");
+               log("         Use the specified library file for determining whether cell ports are\n");
                log("         inputs or outputs. This option can be used multiple times to specify\n");
                log("         more than one library.\n");
                log("\n");
index 4196cac889fd47103f2eb0fda48f4d46edc5ffa1..ccf0fccb35099fbb5c14c4817655a2efe0c18846 100644 (file)
@@ -356,7 +356,7 @@ static void abc_module(RTLIL::Design *design, RTLIL::Module *current_module, std
 
        if (asprintf(&p, "%s/input.v", tempdir_name) < 0) abort();
        FILE *f = fopen(p, "wt");
-       if (f == NULL);
+       if (f == NULL)
                log_error("Opening %s for writing failed: %s\n", p, strerror(errno));
        free(p);
 
@@ -420,7 +420,7 @@ static void abc_module(RTLIL::Design *design, RTLIL::Module *current_module, std
 
                if (asprintf(&p, "%s/stdcells.genlib", tempdir_name) < 0) abort();
                f = fopen(p, "wt");
-               if (f == NULL);
+               if (f == NULL)
                        log_error("Opening %s for writing failed: %s\n", p, strerror(errno));
                fprintf(f, "GATE ZERO 1 Y=CONST0;\n");
                fprintf(f, "GATE ONE  1 Y=CONST1;\n");
@@ -638,9 +638,9 @@ struct AbcPass : public Pass {
                log("\n");
                log("    -liberty <file>\n");
                log("        generate netlists for the specified cell library (using the liberty\n");
-               log("        file format). This option is ignored if also -script option is also\n");
-               log("        used. Without this option, ABC is used to optimize the netlist but\n");
-               log("        keeps using yosys's internal gate library.\n");
+               log("        file format). Without this option, ABC is used to optimize the netlist\n");
+               log("        but keeps using yosys's internal gate library. This option is ignored if\n");
+               log("        the -script option is also used.\n");
                log("\n");
                log("    -nocleanup\n");
                log("        when this option is used, the temporary files created by this pass\n");
index f20675ff70e2d7145289d5cb24851afc7ad38841..e1cef943888302c58125f880aa495afd964695dd 100644 (file)
@@ -116,14 +116,14 @@ struct FsmDetectPass : public Pass {
                log("\n");
                log("    fsm_detect [selection]\n");
                log("\n");
-               log("This pass detects finite state machine by identifying the state signal.\n");
+               log("This pass detects finite state machines by identifying the state signal.\n");
                log("The state signal is then marked by setting the attribute 'fsm_encoding'\n");
                log("on the state signal to \"auto\".\n");
                log("\n");
                log("Existing 'fsm_encoding' attributes are not changed by this pass.\n");
                log("\n");
-               log("Signals can be protected from beeing detected by this pass by setting the\n");
-               log("'fsm_encoding' atrribute to \"none\".\n");
+               log("Signals can be protected from being detected by this pass by setting the\n");
+               log("'fsm_encoding' attribute to \"none\".\n");
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
index e6829f49ec7c86d1b7833abfc29f20bd40cd9dbd..df3aec85ad39a50b34957f2c4773a3d4adfc08a2 100644 (file)
@@ -241,7 +241,7 @@ struct FsmExpandPass : public Pass {
                log("\n");
                log("    fsm_expand [selection]\n");
                log("\n");
-               log("The fsm_extract pass is conservative about the cells that belong the a finate\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("\n");
index 5602b5eea61dd071daee9ee95ca7301add51858e..49b72f15bcd8a1cf996ab6e5428dbbbe43aeec67 100644 (file)
@@ -406,7 +406,7 @@ struct OptMuxtreePass : public Pass {
                log("    opt_muxtree [selection]\n");
                log("\n");
                log("This pass analyzes the control signals for the multiplexer trees in the design\n");
-               log("and identifies inputs that can never be active. In then removes this dead\n");
+               log("and identifies inputs that can never be active. It then removes this dead\n");
                log("branches from the multiplexer trees.\n");
                log("\n");
                log("This pass only operates on completely selected modules without processes.\n");
index c72a45876e3de2926b8cfd70a83e77d098bf1274..6cec9b2942deff87306df63bed0d1e7b603d42b8 100644 (file)
@@ -242,9 +242,9 @@ struct OptRmUnusedPass : public Pass {
                log("    opt_rmunused [selection]\n");
                log("\n");
                log("This pass identifies wires and cells that are unused and removes them. Other\n");
-               log("often remove cells but leave the wires in the design or reconnect the wires\n");
-               log("but leave the old cells in the design. This pass can be used to clean up after\n");
-               log("the passes that do the actual work.\n");
+               log("passes often remove cells but leave the wires in the design or reconnect the\n");
+               log("wires but leave the old cells in the design. This pass can be used to clean up\n");
+               log("after the passes that do the actual work.\n");
                log("\n");
                log("This pass only operates on completely selected modules without processes.\n");
                log("\n");
index 93b90006c05bca3fde20a21ccee6a4da4e3008ee..94827c127498d458fed2ef4860e3614a604394e2 100644 (file)
@@ -168,8 +168,8 @@ struct ProcDffPass : public Pass {
                log("\n");
                log("    proc_dff [selection]\n");
                log("\n");
-               log("This pass identifies flip-flops in the processes and converts then to\n");
-               log("flip-flop cells.\n");
+               log("This pass identifies flip-flops in the processes and converts them to\n");
+               log("d-type flip-flop cells.\n");
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
index 0dde3cbe8f046c21fadbfa95b543780981c71861..f8c351a432f683fecef5358b108c3f03493f2d42 100644 (file)
@@ -211,7 +211,7 @@ struct SccPass : public Pass {
                log("\n");
                log("    -max_depth <num>\n");
                log("        limit to loops not longer than the specified number of cells. This can\n");
-               log("        e.g. be usefull in identifying local loops in a module that turns out\n");
+               log("        e.g. be useful in identifying local loops in a module that turns out\n");
                log("        to be one gigantic SCC.\n");
                log("\n");
                log("    -all_cell_types\n");
index f30e415b385af9ad4f85b7ea8bf9a29d91b6d021..f91d1ec3a274a8e96c5f4c0ece6ac5255b18e540 100644 (file)
@@ -239,7 +239,7 @@ struct SubmodWorker
 };
 
 struct SubmodPass : public Pass {
-       SubmodPass() : Pass("submod", "moving part of a module to a new submodle") { }
+       SubmodPass() : Pass("submod", "moving part of a module to a new submodule") { }
        virtual void help()
        {
                //   |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|
@@ -259,7 +259,7 @@ struct SubmodPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing SUBMOD pass (moving cells to submodes as requested).\n");
+               log_header("Executing SUBMOD pass (moving cells to submodules as requested).\n");
                log_push();
 
                Pass::call(design, "opt_rmunused");
index ba365525d53993cb57e1c9eeb8857b39eaf30569..97023625993e55d96734a3cddce8ea73c75f6fd9 100644 (file)
@@ -3,8 +3,9 @@ GENFILES += passes/techmap/stdcells.inc
 OBJS += passes/techmap/techmap.o
 
 passes/techmap/stdcells.inc: techlibs/stdcells.v
+       echo "// autogenerated from $<" > $@.new
        od -v -td1 -w1 $< | awk 'BEGIN { print "static char stdcells_code[] = {"; } $$2 != "" { print $$2 ","; } \
-                       END { print 0 "};"; }' | fmt > $@.new
+                       END { print 0 "};"; }' | fmt >> $@.new
        mv $@.new $@
 
 passes/techmap/techmap.o: passes/techmap/stdcells.inc
index c05a96cd40a7ad8a46c4ea4f310f7d817dd41f86..5fd5858aa0d535a26278be6fb34a60e7ac690afd 100644 (file)
@@ -172,14 +172,14 @@ struct TechmapPass : public Pass {
                log("\n");
                log("    techmap [-map filename] [selection]\n");
                log("\n");
-               log("This pass implements a very simple technology mapper than replaces cells in\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("file.\n");
                log("\n");
                log("    -map filename\n");
                log("        the library of cell implementations to be used.\n");
                log("        without this parameter a builtin library is used that\n");
-               log("        transform the internal RTL cells to the internal gate\n");
+               log("        transforms the internal RTL cells to the internal gate\n");
                log("        library.\n");
                log("\n");
                log("See 'help extract' for a pass that does the opposite thing.\n");