Qflow synthesis logfile created on Thu Feb 27 08:46:16 PST 2020
Running yosys for verilog parsing and synthesis
yosys  -s ring_osc2x13.ys

 /----------------------------------------------------------------------------\
 |                                                                            |
 |  yosys -- Yosys Open SYnthesis Suite                                       |
 |                                                                            |
 |  Copyright (C) 2012 - 2018  Clifford Wolf <clifford@clifford.at>           |
 |                                                                            |
 |  Permission to use, copy, modify, and/or distribute this software for any  |
 |  purpose with or without fee is hereby granted, provided that the above    |
 |  copyright notice and this permission notice appear in all copies.         |
 |                                                                            |
 |  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES  |
 |  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF          |
 |  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR   |
 |  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    |
 |  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN     |
 |  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   |
 |  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.            |
 |                                                                            |
 \----------------------------------------------------------------------------/

 Yosys 0.8+17 (git sha1 11c8a9eb, gcc 4.7.4 -fPIC -Os)


-- Executing script file `ring_osc2x13.ys' --

1. Executing Liberty frontend.
Imported 428 cell types from liberty file.

2. Executing Verilog-2005 frontend.
Parsing Verilog input from `/home/tim/gits/openstriVe/qflow/ring_osc2x13/source/ring_osc2x13.v' to AST representation.
Generating RTLIL representation for module `\delay_stage'.
/home/tim/gits/openstriVe/qflow/ring_osc2x13/source/ring_osc2x13.v:15: Warning: Identifier `\ts' is implicitly declared.
Generating RTLIL representation for module `\start_stage'.
Generating RTLIL representation for module `\ring_osc2x13'.
Successfully finished Verilog frontend.

3. Executing SYNTH pass.

3.1. Executing HIERARCHY pass (managing design hierarchy).

3.1.1. Analyzing design hierarchy..
Top module:  \ring_osc2x13
Used module:     \delay_stage
Used module:     \start_stage

3.1.2. Analyzing design hierarchy..
Top module:  \ring_osc2x13
Used module:     \delay_stage
Used module:     \start_stage
Removed 0 unused modules.

3.2. Executing PROC pass (convert processes to netlists).

3.2.1. Executing PROC_CLEAN pass (remove empty switches from decision trees).
Cleaned up 0 empty switches.

3.2.2. Executing PROC_RMDEAD pass (remove dead branches from decision trees).
Removed a total of 0 dead cases.

3.2.3. Executing PROC_INIT pass (extract init attributes).

3.2.4. Executing PROC_ARST pass (detect async resets in processes).

3.2.5. Executing PROC_MUX pass (convert decision trees to multiplexers).

3.2.6. Executing PROC_DLATCH pass (convert process syncs to latches).

3.2.7. Executing PROC_DFF pass (convert process syncs to FFs).

3.2.8. Executing PROC_CLEAN pass (remove empty switches from decision trees).
Cleaned up 0 empty switches.

3.3. Executing OPT_EXPR pass (perform const folding).

3.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..
Finding unused cells or wires in module \delay_stage..

3.5. Executing CHECK pass (checking for obvious problems).
checking module delay_stage..
Warning: multiple conflicting drivers for delay_stage.\d1:
    port Z[0] of cell delayen1 (scs8hd_einvp_2)
    port Z[0] of cell delayenb1 (scs8hd_einvn_4)
Warning: multiple conflicting drivers for delay_stage.\out:
    port Z[0] of cell delayen0 (scs8hd_einvp_2)
    port Z[0] of cell delayenb0 (scs8hd_einvn_8)
checking module ring_osc2x13..
checking module start_stage..
Warning: multiple conflicting drivers for start_stage.\d1:
    port Z[0] of cell delayen1 (scs8hd_einvp_2)
    port Z[0] of cell delayenb1 (scs8hd_einvn_4)
Warning: multiple conflicting drivers for start_stage.\out:
    port Z[0] of cell delayen0 (scs8hd_einvp_2)
    port Z[0] of cell delayenb0 (scs8hd_einvn_8)
    port Z[0] of cell reseten0 (scs8hd_einvp_1)
found and reported 4 problems.

3.6. Executing OPT pass (performing simple optimizations).

3.6.1. Executing OPT_EXPR pass (perform const folding).

3.6.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.6.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \delay_stage..
  Creating internal representation of mux trees.
  No muxes found in this module.
Running muxtree optimizer on module \ring_osc2x13..
  Creating internal representation of mux trees.
  No muxes found in this module.
Running muxtree optimizer on module \start_stage..
  Creating internal representation of mux trees.
  No muxes found in this module.
Removed 0 multiplexer ports.

3.6.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
  Optimizing cells in module \delay_stage.
  Optimizing cells in module \ring_osc2x13.
  Optimizing cells in module \start_stage.
Performed a total of 0 changes.

3.6.5. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.6.6. Executing OPT_RMDFF pass (remove dff with constant values).

3.6.7. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.6.8. Executing OPT_EXPR pass (perform const folding).

3.6.9. Finished OPT passes. (There is nothing left to do.)

3.7. Executing WREDUCE pass (reducing word size of cells).

3.8. Executing ALUMACC pass (create $alu and $macc cells).
Extracting $alu and $macc cells in module delay_stage:
  created 0 $alu and 0 $macc cells.
Extracting $alu and $macc cells in module ring_osc2x13:
  created 0 $alu and 0 $macc cells.
Extracting $alu and $macc cells in module start_stage:
  created 0 $alu and 0 $macc cells.

3.9. Executing SHARE pass (SAT-based resource sharing).

3.10. Executing OPT pass (performing simple optimizations).

3.10.1. Executing OPT_EXPR pass (perform const folding).

3.10.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.10.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \delay_stage..
  Creating internal representation of mux trees.
  No muxes found in this module.
Running muxtree optimizer on module \ring_osc2x13..
  Creating internal representation of mux trees.
  No muxes found in this module.
Running muxtree optimizer on module \start_stage..
  Creating internal representation of mux trees.
  No muxes found in this module.
Removed 0 multiplexer ports.

3.10.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
  Optimizing cells in module \delay_stage.
  Optimizing cells in module \ring_osc2x13.
  Optimizing cells in module \start_stage.
Performed a total of 0 changes.

3.10.5. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.10.6. Executing OPT_RMDFF pass (remove dff with constant values).

3.10.7. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.10.8. Executing OPT_EXPR pass (perform const folding).

3.10.9. Finished OPT passes. (There is nothing left to do.)

3.11. Executing FSM pass (extract and optimize FSM).

3.11.1. Executing FSM_DETECT pass (finding FSMs in design).

3.11.2. Executing FSM_EXTRACT pass (extracting FSM from design).

3.11.3. Executing FSM_OPT pass (simple optimizations of FSMs).

3.11.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.11.5. Executing FSM_OPT pass (simple optimizations of FSMs).

3.11.6. Executing FSM_RECODE pass (re-assigning FSM state encoding).

3.11.7. Executing FSM_INFO pass (dumping all available information on FSM cells).

3.11.8. Executing FSM_MAP pass (mapping FSMs to basic logic).

3.12. Executing OPT pass (performing simple optimizations).

3.12.1. Executing OPT_EXPR pass (perform const folding).

3.12.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.12.3. Executing OPT_RMDFF pass (remove dff with constant values).

3.12.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.12.5. Finished fast OPT passes.

3.13. Executing MEMORY pass.

3.13.1. Executing MEMORY_DFF pass (merging $dff cells to $memrd and $memwr).

3.13.2. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.13.3. Executing MEMORY_SHARE pass (consolidating $memrd/$memwr cells).

3.13.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.13.5. Executing MEMORY_COLLECT pass (generating $mem cells).

3.14. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.15. Executing OPT pass (performing simple optimizations).

3.15.1. Executing OPT_EXPR pass (perform const folding).

3.15.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.15.3. Executing OPT_RMDFF pass (remove dff with constant values).

3.15.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.15.5. Finished fast OPT passes.

3.16. Executing MEMORY_MAP pass (converting $mem cells to logic and flip-flops).

3.17. Executing OPT pass (performing simple optimizations).

3.17.1. Executing OPT_EXPR pass (perform const folding).

3.17.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.17.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \delay_stage..
  Creating internal representation of mux trees.
  No muxes found in this module.
Running muxtree optimizer on module \ring_osc2x13..
  Creating internal representation of mux trees.
  No muxes found in this module.
Running muxtree optimizer on module \start_stage..
  Creating internal representation of mux trees.
  No muxes found in this module.
Removed 0 multiplexer ports.

3.17.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
  Optimizing cells in module \delay_stage.
  Optimizing cells in module \ring_osc2x13.
  Optimizing cells in module \start_stage.
Performed a total of 0 changes.

3.17.5. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.17.6. Executing OPT_RMDFF pass (remove dff with constant values).

3.17.7. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.17.8. Executing OPT_EXPR pass (perform const folding).

3.17.9. Finished OPT passes. (There is nothing left to do.)

3.18. Executing TECHMAP pass (map to technology primitives).

3.18.1. Executing Verilog-2005 frontend.
Parsing Verilog input from `<techmap.v>' to AST representation.
Generating RTLIL representation for module `\_90_simplemap_bool_ops'.
Generating RTLIL representation for module `\_90_simplemap_reduce_ops'.
Generating RTLIL representation for module `\_90_simplemap_logic_ops'.
Generating RTLIL representation for module `\_90_simplemap_compare_ops'.
Generating RTLIL representation for module `\_90_simplemap_various'.
Generating RTLIL representation for module `\_90_simplemap_registers'.
Generating RTLIL representation for module `\_90_shift_ops_shr_shl_sshl_sshr'.
Generating RTLIL representation for module `\_90_shift_shiftx'.
Generating RTLIL representation for module `\_90_fa'.
Generating RTLIL representation for module `\_90_lcu'.
Generating RTLIL representation for module `\_90_alu'.
Generating RTLIL representation for module `\_90_macc'.
Generating RTLIL representation for module `\_90_alumacc'.
Generating RTLIL representation for module `\$__div_mod_u'.
Generating RTLIL representation for module `\$__div_mod'.
Generating RTLIL representation for module `\_90_div'.
Generating RTLIL representation for module `\_90_mod'.
Generating RTLIL representation for module `\_90_pow'.
Generating RTLIL representation for module `\_90_pmux'.
Generating RTLIL representation for module `\_90_lut'.
Successfully finished Verilog frontend.
No more expansions possible.

3.19. Executing OPT pass (performing simple optimizations).

3.19.1. Executing OPT_EXPR pass (perform const folding).

3.19.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.19.3. Executing OPT_RMDFF pass (remove dff with constant values).

3.19.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.19.5. Finished fast OPT passes.

3.20. Executing ABC pass (technology mapping using ABC).

3.20.1. Extracting gate netlist of module `\delay_stage' to `<abc-temp-dir>/input.blif'..
Extracted 0 gates and 0 wires to a netlist network with 0 inputs and 0 outputs.
Don't call ABC as there is nothing to map.
Removing temp directory.

3.20.2. Extracting gate netlist of module `\ring_osc2x13' to `<abc-temp-dir>/input.blif'..
Extracted 0 gates and 0 wires to a netlist network with 0 inputs and 0 outputs.
Don't call ABC as there is nothing to map.
Removing temp directory.

3.20.3. Extracting gate netlist of module `\start_stage' to `<abc-temp-dir>/input.blif'..
Extracted 0 gates and 0 wires to a netlist network with 0 inputs and 0 outputs.
Don't call ABC as there is nothing to map.
Removing temp directory.

3.21. Executing OPT pass (performing simple optimizations).

3.21.1. Executing OPT_EXPR pass (perform const folding).

3.21.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

3.21.3. Executing OPT_RMDFF pass (remove dff with constant values).

3.21.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

3.21.5. Finished fast OPT passes.

3.22. Executing HIERARCHY pass (managing design hierarchy).

3.22.1. Analyzing design hierarchy..
Top module:  \ring_osc2x13
Used module:     \delay_stage
Used module:     \start_stage

3.22.2. Analyzing design hierarchy..
Top module:  \ring_osc2x13
Used module:     \delay_stage
Used module:     \start_stage
Removed 0 unused modules.

3.23. Printing statistics.

=== delay_stage ===

   Number of wires:                  7
   Number of wire bits:              8
   Number of public wires:           7
   Number of public wire bits:       8
   Number of memories:               0
   Number of memory bits:            0
   Number of processes:              0
   Number of cells:                  7
     scs8hd_clkbuf_1                 1
     scs8hd_clkbuf_2                 1
     scs8hd_clkinv_1                 1
     scs8hd_einvn_4                  1
     scs8hd_einvn_8                  1
     scs8hd_einvp_2                  2

=== ring_osc2x13 ===

   Number of wires:                  5
   Number of wire bits:             44
   Number of public wires:           5
   Number of public wire bits:      44
   Number of memories:               0
   Number of memory bits:            0
   Number of processes:              0
   Number of cells:                 17
     delay_stage                    12
     scs8hd_clkinv_2                 2
     scs8hd_clkinv_8                 2
     start_stage                     1

=== start_stage ===

   Number of wires:                  9
   Number of wire bits:             10
   Number of public wires:           9
   Number of public wire bits:      10
   Number of memories:               0
   Number of memory bits:            0
   Number of processes:              0
   Number of cells:                  9
     scs8hd_clkbuf_1                 1
     scs8hd_clkinv_1                 1
     scs8hd_conb_1                   1
     scs8hd_einvn_4                  1
     scs8hd_einvn_8                  1
     scs8hd_einvp_1                  1
     scs8hd_einvp_2                  2
     scs8hd_or2_2                    1

=== design hierarchy ===

   ring_osc2x13                      1
     delay_stage                    12
     start_stage                     1

   Number of wires:                 98
   Number of wire bits:            150
   Number of public wires:          98
   Number of public wire bits:     150
   Number of memories:               0
   Number of memory bits:            0
   Number of processes:              0
   Number of cells:                 97
     scs8hd_clkbuf_1                13
     scs8hd_clkbuf_2                12
     scs8hd_clkinv_1                13
     scs8hd_clkinv_2                 2
     scs8hd_clkinv_8                 2
     scs8hd_conb_1                   1
     scs8hd_einvn_4                 13
     scs8hd_einvn_8                 13
     scs8hd_einvp_1                  1
     scs8hd_einvp_2                 26
     scs8hd_or2_2                    1

3.24. Executing CHECK pass (checking for obvious problems).
checking module delay_stage..
Warning: multiple conflicting drivers for delay_stage.\d1:
    port Z[0] of cell delayen1 (scs8hd_einvp_2)
    port Z[0] of cell delayenb1 (scs8hd_einvn_4)
Warning: multiple conflicting drivers for delay_stage.\out:
    port Z[0] of cell delayen0 (scs8hd_einvp_2)
    port Z[0] of cell delayenb0 (scs8hd_einvn_8)
checking module ring_osc2x13..
checking module start_stage..
Warning: multiple conflicting drivers for start_stage.\d1:
    port Z[0] of cell delayen1 (scs8hd_einvp_2)
    port Z[0] of cell delayenb1 (scs8hd_einvn_4)
Warning: multiple conflicting drivers for start_stage.\out:
    port Z[0] of cell delayen0 (scs8hd_einvp_2)
    port Z[0] of cell delayenb0 (scs8hd_einvn_8)
    port Z[0] of cell reseten0 (scs8hd_einvp_1)
found and reported 4 problems.

4. Executing DFFLIBMAP pass (mapping DFF cells to sequential cells from liberty file).
  cell scs8hd_dfxtp_1 (noninv, pins=3, area=20.02) is a direct match for cell type $_DFF_P_.
  cell scs8hd_dfrtn_1 (noninv, pins=4, area=25.02) is a direct match for cell type $_DFF_NN0_.
  cell scs8hd_dfrtp_1 (noninv, pins=4, area=25.02) is a direct match for cell type $_DFF_PN0_.
  cell scs8hd_dfstp_2 (noninv, pins=4, area=26.28) is a direct match for cell type $_DFF_PN1_.
  cell scs8hd_dfbbn_1 (noninv, pins=6, area=32.53) is a direct match for cell type $_DFFSR_NNN_.
  cell scs8hd_dfbbp_1 (noninv, pins=6, area=32.53) is a direct match for cell type $_DFFSR_PNN_.
  create mapping for $_DFF_NP0_ from mapping for $_DFF_NN0_.
  create mapping for $_DFF_PP0_ from mapping for $_DFF_PN0_.
  create mapping for $_DFF_PP1_ from mapping for $_DFF_PN1_.
  create mapping for $_DFFSR_NPN_ from mapping for $_DFFSR_NNN_.
  create mapping for $_DFFSR_PPN_ from mapping for $_DFFSR_PNN_.
  create mapping for $_DFFSR_NNP_ from mapping for $_DFFSR_NNN_.
  create mapping for $_DFFSR_NPP_ from mapping for $_DFFSR_NNP_.
  create mapping for $_DFFSR_PNP_ from mapping for $_DFFSR_PNN_.
  create mapping for $_DFFSR_PPP_ from mapping for $_DFFSR_PNP_.
  create mapping for $_DFF_NN1_ from mapping for $_DFF_NN0_.
  create mapping for $_DFF_NP1_ from mapping for $_DFF_NN1_.
  create mapping for $_DFF_N_ from mapping for $_DFF_P_.
  final dff cell mappings:
    scs8hd_dfxtp_1 _DFF_N_ (.CLK(~C), .D( D), .Q( Q));
    scs8hd_dfxtp_1 _DFF_P_ (.CLK( C), .D( D), .Q( Q));
    scs8hd_dfrtn_1 _DFF_NN0_ (.CLKN( C), .D( D), .Q( Q), .RESETB( R));
    scs8hd_dfrtn_1 _DFF_NN1_ (.CLKN( C), .D(~D), .Q(~Q), .RESETB( R));
    scs8hd_dfrtn_1 _DFF_NP0_ (.CLKN( C), .D( D), .Q( Q), .RESETB(~R));
    scs8hd_dfrtn_1 _DFF_NP1_ (.CLKN( C), .D(~D), .Q(~Q), .RESETB(~R));
    scs8hd_dfrtp_1 _DFF_PN0_ (.CLK( C), .D( D), .Q( Q), .RESETB( R));
    scs8hd_dfstp_2 _DFF_PN1_ (.CLK( C), .D( D), .Q( Q), .SETB( R));
    scs8hd_dfrtp_1 _DFF_PP0_ (.CLK( C), .D( D), .Q( Q), .RESETB(~R));
    scs8hd_dfstp_2 _DFF_PP1_ (.CLK( C), .D( D), .Q( Q), .SETB(~R));
    scs8hd_dfbbn_1 _DFFSR_NNN_ (.CLKN( C), .D( D), .Q( Q), .QN(~Q), .RESETB( R), .SETB( S));
    scs8hd_dfbbn_1 _DFFSR_NNP_ (.CLKN( C), .D( D), .Q( Q), .QN(~Q), .RESETB(~R), .SETB( S));
    scs8hd_dfbbn_1 _DFFSR_NPN_ (.CLKN( C), .D( D), .Q( Q), .QN(~Q), .RESETB( R), .SETB(~S));
    scs8hd_dfbbn_1 _DFFSR_NPP_ (.CLKN( C), .D( D), .Q( Q), .QN(~Q), .RESETB(~R), .SETB(~S));
    scs8hd_dfbbp_1 _DFFSR_PNN_ (.CLK( C), .D( D), .Q( Q), .QN(~Q), .RESETB( R), .SETB( S));
    scs8hd_dfbbp_1 _DFFSR_PNP_ (.CLK( C), .D( D), .Q( Q), .QN(~Q), .RESETB(~R), .SETB( S));
    scs8hd_dfbbp_1 _DFFSR_PPN_ (.CLK( C), .D( D), .Q( Q), .QN(~Q), .RESETB( R), .SETB(~S));
    scs8hd_dfbbp_1 _DFFSR_PPP_ (.CLK( C), .D( D), .Q( Q), .QN(~Q), .RESETB(~R), .SETB(~S));
Mapping DFF cells in module `\delay_stage':
Mapping DFF cells in module `\ring_osc2x13':
Mapping DFF cells in module `\start_stage':

5. Executing OPT pass (performing simple optimizations).

5.1. Executing OPT_EXPR pass (perform const folding).

5.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

5.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \delay_stage..
  Creating internal representation of mux trees.
  No muxes found in this module.
Running muxtree optimizer on module \ring_osc2x13..
  Creating internal representation of mux trees.
  No muxes found in this module.
Running muxtree optimizer on module \start_stage..
  Creating internal representation of mux trees.
  No muxes found in this module.
Removed 0 multiplexer ports.

5.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
  Optimizing cells in module \delay_stage.
  Optimizing cells in module \ring_osc2x13.
  Optimizing cells in module \start_stage.
Performed a total of 0 changes.

5.5. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\delay_stage'.
Finding identical cells in module `\ring_osc2x13'.
Finding identical cells in module `\start_stage'.
Removed a total of 0 cells.

5.6. Executing OPT_RMDFF pass (remove dff with constant values).

5.7. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \delay_stage..
Finding unused cells or wires in module \ring_osc2x13..
Finding unused cells or wires in module \start_stage..

5.8. Executing OPT_EXPR pass (perform const folding).

5.9. Finished OPT passes. (There is nothing left to do.)

6. Executing ABC pass (technology mapping using ABC).

6.1. Extracting gate netlist of module `\delay_stage' to `<abc-temp-dir>/input.blif'..
Extracted 0 gates and 0 wires to a netlist network with 0 inputs and 0 outputs.
Don't call ABC as there is nothing to map.
Removing temp directory.

6.2. Extracting gate netlist of module `\ring_osc2x13' to `<abc-temp-dir>/input.blif'..
Extracted 0 gates and 0 wires to a netlist network with 0 inputs and 0 outputs.
Don't call ABC as there is nothing to map.
Removing temp directory.

6.3. Extracting gate netlist of module `\start_stage' to `<abc-temp-dir>/input.blif'..
Extracted 0 gates and 0 wires to a netlist network with 0 inputs and 0 outputs.
Don't call ABC as there is nothing to map.
Removing temp directory.

7. Executing FLATTEN pass (flatten design).
Mapping ring_osc2x13.dstage[0].id using delay_stage.
Mapping ring_osc2x13.dstage[1].id using delay_stage.
Mapping ring_osc2x13.dstage[2].id using delay_stage.
Mapping ring_osc2x13.dstage[3].id using delay_stage.
Mapping ring_osc2x13.dstage[4].id using delay_stage.
Mapping ring_osc2x13.dstage[5].id using delay_stage.
Mapping ring_osc2x13.dstage[6].id using delay_stage.
Mapping ring_osc2x13.dstage[7].id using delay_stage.
Mapping ring_osc2x13.dstage[8].id using delay_stage.
Mapping ring_osc2x13.dstage[9].id using delay_stage.
Mapping ring_osc2x13.dstage[10].id using delay_stage.
Mapping ring_osc2x13.dstage[11].id using delay_stage.
Mapping ring_osc2x13.iss using start_stage.
No more expansions possible.
Deleting now unused module delay_stage.
Deleting now unused module start_stage.

8. Executing SETUNDEF pass (replace undef values with defined constants).
Removed 0 unused cells and 28 unused wires.

9. Executing HILOMAP pass (mapping to constant drivers).

10. Executing HILOMAP pass (mapping to constant drivers).

11. Executing IOPADMAP pass (mapping inputs/outputs to IO-PAD cells).
Mapping port ring_osc2x13.clockp using scs8hd_buf_1.
Don't map input port ring_osc2x13.reset: Missing option -inpad.
Don't map input port ring_osc2x13.trim: Missing option -inpad.

12. Executing OPT pass (performing simple optimizations).

12.1. Executing OPT_EXPR pass (perform const folding).

12.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\ring_osc2x13'.
Removed a total of 0 cells.

12.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \ring_osc2x13..
  Creating internal representation of mux trees.
  No muxes found in this module.
Removed 0 multiplexer ports.

12.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
  Optimizing cells in module \ring_osc2x13.
Performed a total of 0 changes.

12.5. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\ring_osc2x13'.
Removed a total of 0 cells.

12.6. Executing OPT_RMDFF pass (remove dff with constant values).

12.7. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \ring_osc2x13..
Removed 0 unused cells and 28 unused wires.

12.8. Executing OPT_EXPR pass (perform const folding).

12.9. Finished OPT passes. (There is nothing left to do.)

13. Executing Verilog backend.
Dumping module `\ring_osc2x13'.

14. Printing statistics.

=== ring_osc2x13 ===

   Number of wires:                 71
   Number of wire bits:             99
   Number of public wires:          71
   Number of public wire bits:      99
   Number of memories:               0
   Number of memory bits:            0
   Number of processes:              0
   Number of cells:                 99
     scs8hd_buf_1                    2
     scs8hd_clkbuf_1                13
     scs8hd_clkbuf_2                12
     scs8hd_clkinv_1                13
     scs8hd_clkinv_2                 2
     scs8hd_clkinv_8                 2
     scs8hd_conb_1                   1
     scs8hd_einvn_4                 13
     scs8hd_einvn_8                 13
     scs8hd_einvp_1                  1
     scs8hd_einvp_2                 26
     scs8hd_or2_2                    1

Warnings: 5 unique messages, 9 total
End of script. Logfile hash: 05e0acd086
CPU: user 2.71s system 0.03s, MEM: 66.19 MB total, 38.04 MB resident
Yosys 0.8+17 (git sha1 11c8a9eb, gcc 4.7.4 -fPIC -Os)
Time spent: 53% 1x share (1 sec), 15% 2x read_liberty (0 sec), ...
Running getpowerground to determine power and ground net names.
getpowerground.tcl  /ef/tech/SW/EFS8A/libs.ref/lef/scs8hd/scs8hd.lef
Running vlogFanout
vlogFanout -l 200 -c 20 -I ring_osc2x13_nofanout -s nullstring -p /ef/tech/SW/EFS8A/libs.ref/lib/scs8hd/scs8hd_ff_1.95v_-40C.lib -b scs8hd_buf_1,scs8hd_clkbuf_1 -i A,A -o X,X ring_osc2x13_mapped.v ring_osc2x13_sized.v

vlogFanout for qflow 1.4.73
Parsing library "scs8hd_ff_1.95v_-40C"
End of library at line 171209
Lib Read:  Processed 171210 lines.
Top internal fanout is 3 (load 440693) from node \dstage[1].id.ts ,
driven by scs8hd_clkbuf_2 with strength 73.0132 (fF driven at latency 200)
Top fanout load-to-strength ratio is 0.586158 (latency = 117.232 ps)
Top input node fanout is 2 (load 13.801) from node reset.
0 gates exceed specified minimum load.
0 buffers were added.
2 gates were changed.

Gate counts by drive strength:

	"1" gates	In: 31    	Out: 29    	-2
	"2" gates	In: 41    	Out: 43    	+2
	"4" gates	In: 13    	Out: 13    	+0
	"8" gates	In: 15    	Out: 15    	+0

0 gates exceed specified minimum load.
0 buffers were added.
0 gates were changed.

Gate counts by drive strength:

	"1" gates	In: 31    	Out: 29    	-2
	"2" gates	In: 41    	Out: 43    	+2
	"4" gates	In: 13    	Out: 13    	+0
	"8" gates	In: 15    	Out: 15    	+0

Number of gates changed: 0
Running vlog2Verilog for antenna cell mapping.
vlog2Verilog -c -p -v vpwr,vpb -g vgnd,vnb  -l /ef/tech/SW/EFS8A/libs.ref/lef/scs8hd/scs8hd.lef -a scs8hd_diode_
   -o ring_osc2x13.v ring_osc2x13_sized.v

Generating RTL verilog and SPICE netlist file in directory
	 /home/tim/gits/openstriVe/qflow/ring_osc2x13/synthesis
Files:
   Verilog: /home/tim/gits/openstriVe/qflow/ring_osc2x13/synthesis/ring_osc2x13.rtl.v
   Verilog: /home/tim/gits/openstriVe/qflow/ring_osc2x13/synthesis/ring_osc2x13.rtlnopwr.v
   Verilog: /home/tim/gits/openstriVe/qflow/ring_osc2x13/synthesis/ring_osc2x13.rtlbb.v
   Spice:   /home/tim/gits/openstriVe/qflow/ring_osc2x13/synthesis/ring_osc2x13.spc

Running vlog2Verilog.
vlog2Verilog -c -v vpwr,vpb -g vgnd,vnb  -l /ef/tech/SW/EFS8A/libs.ref/lef/scs8hd/scs8hd.lef 
	-o ring_osc2x13.rtl.v
   ring_osc2x13.v
vlog2Verilog -c -p -v vpwr,vpb -g vgnd,vnb  -l /ef/tech/SW/EFS8A/libs.ref/lef/scs8hd/scs8hd.lef 
	-o ring_osc2x13.rtlnopwr.v
   ring_osc2x13.v
/ef/efabless/share/qflow/bin/vlog2Verilog -c -p -b -n -v vpwr,vpb -g vgnd,vnb  -l /ef/tech/SW/EFS8A/libs.ref/lef/scs8hd/scs8hd.lef
   -o ring_osc2x13.rtlbb.v
Running vlog2Spice.
vlog2Spice -i -l  /ef/tech/SW/EFS8A/libs.ref/spi/scs8hd/scs8hd.spi -o ring_osc2x13.spc ring_osc2x13.rtl.v
Running spi2xspice.py
spi2xspice.py "/ef/tech/SW/EFS8A/libs.ref/lib/scs8hd/scs8hd_ff_1.95v_-40C.lib" -io_time=500p -time=50p -idelay=5p -odelay=50p -cload=250f ring_osc2x13.spc ring_osc2x13.xspice

Synthesis script ended on Thu Feb 27 08:46:24 PST 2020
