Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /----------------------------------------------------------------------------\
- | |
- | yosys -- Yosys Open SYnthesis Suite |
- | |
- | Copyright (C) 2012 - 2020 Claire Wolf <[email protected]> |
- | |
- | 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.9+3621 (git sha1 84e9fa7, gcc 8.3.1 -fPIC -Os)
- [TCL: yosys -import] Command name collision: found pre-existing command `cd' -> skip.
- [TCL: yosys -import] Command name collision: found pre-existing command `eval' -> skip.
- [TCL: yosys -import] Command name collision: found pre-existing command `exec' -> skip.
- [TCL: yosys -import] Command name collision: found pre-existing command `read' -> skip.
- [TCL: yosys -import] Command name collision: found pre-existing command `trace' -> skip.
- 1. Executing Verilog-2005 frontend: /project/openlane/user_proj_conv/../../caravel/verilog/rtl/defines.v
- Parsing SystemVerilog input from `/project/openlane/user_proj_conv/../../caravel/verilog/rtl/defines.v' to AST representation.
- Successfully finished Verilog frontend.
- 2. Executing Verilog-2005 frontend: /project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v
- Parsing SystemVerilog input from `/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v' to AST representation.
- Generating RTLIL representation for module `\user_proj_conv'.
- Generating RTLIL representation for module `\convolve'.
- Generating RTLIL representation for module `\shift_register'.
- Warning: Replacing memory \arr with list of registers. See /project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:232
- Generating RTLIL representation for module `\kernel_mem'.
- Generating RTLIL representation for module `\multiplier'.
- Successfully finished Verilog frontend.
- 3. Generating Graphviz representation of design.
- Writing dot description to `/project/openlane/user_proj_conv/runs/user_proj_conv/tmp/synthesis/hierarchy.dot'.
- Dumping module user_proj_conv to page 1.
- 4. Executing HIERARCHY pass (managing design hierarchy).
- 4.1. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: \convolve
- Used module: \multiplier
- Used module: \kernel_mem
- Used module: \shift_register
- Parameter \BITS = 9
- 4.2. Executing AST frontend in derive mode using pre-parsed AST for module `\convolve'.
- Parameter \BITS = 9
- Generating RTLIL representation for module `$paramod\convolve\BITS=9'.
- Parameter \BITS = 9
- Parameter \KERNEL_SIZE = 1
- 4.3. Executing AST frontend in derive mode using pre-parsed AST for module `\multiplier'.
- Parameter \BITS = 9
- Parameter \KERNEL_SIZE = 1
- Generating RTLIL representation for module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Parameter \BITS = 9
- Parameter \KERNEL_SIZE = 1
- 4.4. Executing AST frontend in derive mode using pre-parsed AST for module `\kernel_mem'.
- Parameter \BITS = 9
- Parameter \KERNEL_SIZE = 1
- Generating RTLIL representation for module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Parameter \BITS = 9
- Parameter \KERNEL_SIZE = 1
- 4.5. Executing AST frontend in derive mode using pre-parsed AST for module `\shift_register'.
- Parameter \BITS = 9
- Parameter \KERNEL_SIZE = 1
- Generating RTLIL representation for module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Warning: Replacing memory \arr with list of registers. See /project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:232
- 4.6. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: $paramod\convolve\BITS=9
- Used module: \multiplier
- Used module: \kernel_mem
- Used module: \shift_register
- Parameter \BITS = 9
- Parameter \KERNEL_SIZE = 1
- Found cached RTLIL representation for module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Parameter \BITS = 9
- Parameter \KERNEL_SIZE = 1
- Found cached RTLIL representation for module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Parameter \BITS = 9
- Parameter \KERNEL_SIZE = 1
- Found cached RTLIL representation for module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- 4.7. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: $paramod\convolve\BITS=9
- Used module: $paramod\multiplier\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\shift_register\BITS=9\KERNEL_SIZE=1
- 4.8. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: $paramod\convolve\BITS=9
- Used module: $paramod\multiplier\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\shift_register\BITS=9\KERNEL_SIZE=1
- Removing unused module `\multiplier'.
- Removing unused module `\kernel_mem'.
- Removing unused module `\shift_register'.
- Removing unused module `\convolve'.
- Removed 4 unused modules.
- 5. Executing TRIBUF pass.
- 6. Executing SYNTH pass.
- 6.1. Executing HIERARCHY pass (managing design hierarchy).
- 6.1.1. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: $paramod\convolve\BITS=9
- Used module: $paramod\multiplier\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\shift_register\BITS=9\KERNEL_SIZE=1
- 6.1.2. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: $paramod\convolve\BITS=9
- Used module: $paramod\multiplier\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\shift_register\BITS=9\KERNEL_SIZE=1
- Removed 0 unused modules.
- 6.2. Executing PROC pass (convert processes to netlists).
- 6.2.1. Executing PROC_CLEAN pass (remove empty switches from decision trees).
- Cleaned up 0 empty switches.
- 6.2.2. Executing PROC_RMDEAD pass (remove dead branches from decision trees).
- Marked 3 switch rules as full_case in process $proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:215$159 in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Marked 2 switch rules as full_case in process $proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143 in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Marked 3 switch rules as full_case in process $proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:346$127 in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Removed a total of 0 dead cases.
- 6.2.3. Executing PROC_PRUNE pass (remove redundant assignments in processes).
- Removed 2 redundant assignments.
- Promoted 12 assignments to connections.
- 6.2.4. Executing PROC_INIT pass (extract init attributes).
- 6.2.5. Executing PROC_ARST pass (detect async resets in processes).
- 6.2.6. Executing PROC_MUX pass (convert decision trees to multiplexers).
- Creating decoders for process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:245$162'.
- Creating decoders for process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:215$159'.
- 1/6: $3\counter[31:0]
- 2/6: $2\counter[31:0]
- 3/6: $1\counter[31:0]
- 4/6: $1\m[31:0]
- 5/6: $1\i[31:0]
- 6/6: $0\arr[1][8:0]
- Creating decoders for process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:319$152'.
- Creating decoders for process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143'.
- 1/6: $0\counter[3:0]
- 2/6: $1\i[31:0]
- 3/6: $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144
- 4/6: $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147
- 5/6: $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_DATA[8:0]$146
- 6/6: $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_ADDR[3:0]$145
- Creating decoders for process `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:362$136'.
- Creating decoders for process `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:346$127'.
- 1/1: $0\pixel_out[8:0]
- 6.2.7. Executing PROC_DLATCH pass (convert process syncs to latches).
- No latch inferred for signal `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out' from process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:245$162'.
- No latch inferred for signal `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.\j' from process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:245$162'.
- No latch inferred for signal `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.\k' from process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:245$162'.
- No latch inferred for signal `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out' from process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:319$152'.
- No latch inferred for signal `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\j' from process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:319$152'.
- No latch inferred for signal `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\k' from process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:319$152'.
- No latch inferred for signal `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.\i' from process `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:362$136'.
- No latch inferred for signal `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.\accum_out' from process `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:362$136'.
- 6.2.8. Executing PROC_DFF pass (convert process syncs to FFs).
- Creating register for signal `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.\counter' using process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:215$159'.
- created $dff cell `$procdff$233' with positive edge clock.
- Creating register for signal `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.\i' using process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:215$159'.
- created $dff cell `$procdff$234' with positive edge clock.
- Creating register for signal `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.\m' using process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:215$159'.
- created $dff cell `$procdff$235' with positive edge clock.
- Creating register for signal `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.\arr[1]' using process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:215$159'.
- created $dff cell `$procdff$236' with positive edge clock.
- Creating register for signal `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\counter' using process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143'.
- created $dff cell `$procdff$237' with positive edge clock.
- Creating register for signal `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\i' using process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143'.
- created $dff cell `$procdff$238' with positive edge clock.
- Creating register for signal `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN' using process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143'.
- created $dff cell `$procdff$239' with positive edge clock.
- Creating register for signal `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_ADDR' using process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143'.
- created $dff cell `$procdff$240' with positive edge clock.
- Creating register for signal `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_DATA' using process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143'.
- created $dff cell `$procdff$241' with positive edge clock.
- Creating register for signal `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN' using process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143'.
- created $dff cell `$procdff$242' with positive edge clock.
- Creating register for signal `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out' using process `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:346$127'.
- created $dff cell `$procdff$243' with positive edge clock.
- 6.2.9. Executing PROC_CLEAN pass (remove empty switches from decision trees).
- Removing empty process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:245$162'.
- Found and cleaned up 3 empty switches in `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:215$159'.
- Removing empty process `$paramod\shift_register\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:215$159'.
- Removing empty process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:319$152'.
- Found and cleaned up 2 empty switches in `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143'.
- Removing empty process `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:292$143'.
- Removing empty process `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:362$136'.
- Found and cleaned up 3 empty switches in `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:346$127'.
- Removing empty process `$paramod\multiplier\BITS=9\KERNEL_SIZE=1.$proc$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:346$127'.
- Cleaned up 8 empty switches.
- 6.3. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- <suppressed ~1 debug messages>
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- <suppressed ~4 debug messages>
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module user_proj_conv.
- <suppressed ~2 debug messages>
- 6.4. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 13 unused cells and 71 unused wires.
- <suppressed ~23 debug messages>
- 6.5. Executing CHECK pass (checking for obvious problems).
- checking module $paramod\convolve\BITS=9..
- checking module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- checking module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- checking module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [8] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [7] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [6] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [5] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [4] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [3] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [2] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [1] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [0] is used but has no driver.
- checking module user_proj_conv..
- found and reported 9 problems.
- 6.6. Executing OPT pass (performing simple optimizations).
- 6.6.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.6.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- <suppressed ~3 debug messages>
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 1 cells.
- 6.6.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- dead port 2/2 on $mux $procmux$168.
- dead port 1/2 on $mux $procmux$171.
- dead port 1/2 on $mux $procmux$177.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Removed 3 multiplexer ports.
- <suppressed ~9 debug messages>
- 6.6.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Consolidated identical input bits for $mux cell $procmux$204:
- Old ports: A=9'000000000, B=9'111111111, Y=$0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144
- New ports: A=1'0, B=1'1, Y=$0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [0]
- New connections: $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [8:1] = { $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN[8:0]$144 [0] }
- Consolidated identical input bits for $mux cell $procmux$207:
- Old ports: A=9'000000000, B=9'111111111, Y=$procmux$207_Y
- New ports: A=1'0, B=1'1, Y=$procmux$207_Y [0]
- New connections: $procmux$207_Y [8:1] = { $procmux$207_Y [0] $procmux$207_Y [0] $procmux$207_Y [0] $procmux$207_Y [0] $procmux$207_Y [0] $procmux$207_Y [0] $procmux$207_Y [0] $procmux$207_Y [0] }
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Consolidated identical input bits for $mux cell $procmux$210:
- Old ports: A=$procmux$207_Y, B=9'000000000, Y=$0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147
- New ports: A=$procmux$207_Y [0], B=1'0, Y=$0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [0]
- New connections: $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [8:1] = { $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [0] $0$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN[8:0]$147 [0] }
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 3 changes.
- 6.6.5. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.6.6. Executing OPT_DFF pass (perform DFF optimizations).
- 6.6.7. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 0 unused cells and 4 unused wires.
- <suppressed ~1 debug messages>
- 6.6.8. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.6.9. Rerunning OPT passes. (Maybe there is more to do..)
- 6.6.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Removed 0 multiplexer ports.
- <suppressed ~9 debug messages>
- 6.6.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 6.6.12. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.6.13. Executing OPT_DFF pass (perform DFF optimizations).
- 6.6.14. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- 6.6.15. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.6.16. Finished OPT passes. (There is nothing left to do.)
- 6.7. Executing FSM pass (extract and optimize FSM).
- 6.7.1. Executing FSM_DETECT pass (finding FSMs in design).
- Not marking $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:299$141_EN as FSM state register:
- Users of register don't seem to benefit from recoding.
- Not marking $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN as FSM state register:
- Users of register don't seem to benefit from recoding.
- 6.7.2. Executing FSM_EXTRACT pass (extracting FSM from design).
- 6.7.3. Executing FSM_OPT pass (simple optimizations of FSMs).
- 6.7.4. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- 6.7.5. Executing FSM_OPT pass (simple optimizations of FSMs).
- 6.7.6. Executing FSM_RECODE pass (re-assigning FSM state encoding).
- 6.7.7. Executing FSM_INFO pass (dumping all available information on FSM cells).
- 6.7.8. Executing FSM_MAP pass (mapping FSMs to basic logic).
- 6.8. Executing OPT pass (performing simple optimizations).
- 6.8.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.8.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.8.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Removed 0 multiplexer ports.
- <suppressed ~9 debug messages>
- 6.8.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 6.8.5. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.8.6. Executing OPT_DFF pass (perform DFF optimizations).
- Adding SRST signal on $procdff$237 ($dff) from module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 (D = $procmux$195_Y, Q = \counter, rval = 4'0000).
- Adding EN signal on $auto$opt_dff.cc:702:run$244 ($sdff) from module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 (D = $add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:309$150_Y, Q = \counter).
- Adding SRST signal on $procdff$243 ($dff) from module $paramod\multiplier\BITS=9\KERNEL_SIZE=1 (D = $procmux$228_Y [7:0], Q = \pixel_out [7:0], rval = 8'00000000).
- Adding SRST signal on $procdff$243 ($dff) from module $paramod\multiplier\BITS=9\KERNEL_SIZE=1 (D = \accum_out [8], Q = \pixel_out [8], rval = 1'0).
- Adding SRST signal on $procdff$233 ($dff) from module $paramod\shift_register\BITS=9\KERNEL_SIZE=1 (D = $2\counter[31:0], Q = \counter, rval = 0).
- Adding EN signal on $auto$opt_dff.cc:702:run$252 ($sdff) from module $paramod\shift_register\BITS=9\KERNEL_SIZE=1 (D = $add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:238$161_Y, Q = \counter).
- 6.8.7. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 6 unused cells and 6 unused wires.
- <suppressed ~9 debug messages>
- 6.8.8. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.8.9. Rerunning OPT passes. (Maybe there is more to do..)
- 6.8.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Removed 0 multiplexer ports.
- <suppressed ~7 debug messages>
- 6.8.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 6.8.12. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.8.13. Executing OPT_DFF pass (perform DFF optimizations).
- 6.8.14. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- 6.8.15. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.8.16. Finished OPT passes. (There is nothing left to do.)
- 6.9. Executing WREDUCE pass (reducing word size of cells).
- Removed top 32 address bits (of 32) from memory read port $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$memrd$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:323$153 (arr).
- Removed top 32 address bits (of 32) from memory write port $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:0$155 (arr).
- Removed top 4 address bits (of 4) from memory write port $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:0$156 (arr).
- Removed cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$procmux$219 ($mux).
- Removed cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$procmux$216 ($mux).
- Removed cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$procmux$213 ($mux).
- Removed top 8 bits (of 9) from FF cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$procdff$242 ($dff).
- Removed cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$procdff$240 ($dff).
- Removed top 8 bits (of 9) from FF cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$procdff$239 ($dff).
- Removed cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$procmux$222 ($mux).
- Removed top 31 bits (of 32) from port B of cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$lt$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:307$148 ($lt).
- Removed top 3 bits (of 4) from port B of cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:309$150 ($add).
- Removed top 3 bits (of 4) from port B of cell $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.$eq$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:317$151 ($eq).
- Removed top 1 bits (of 9) from mux cell $paramod\multiplier\BITS=9\KERNEL_SIZE=1.$procmux$228 ($mux).
- Removed top 1 bits (of 9) from mux cell $paramod\multiplier\BITS=9\KERNEL_SIZE=1.$procmux$225 ($mux).
- Removed top 10 bits (of 28) from port Y of cell $paramod\multiplier\BITS=9\KERNEL_SIZE=1.$mul$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:365$137 ($mul).
- Removed top 1 bits (of 9) from wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.$procmux$225_Y.
- Removed top 1 bits (of 9) from wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.$procmux$228_Y.
- Removed top 10 bits (of 28) from wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.accum_out.
- Removed top 30 bits (of 32) from port B of cell $paramod\shift_register\BITS=9\KERNEL_SIZE=1.$eq$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:235$160 ($eq).
- Removed top 31 bits (of 32) from port B of cell $paramod\shift_register\BITS=9\KERNEL_SIZE=1.$add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:238$161 ($add).
- 6.10. Executing PEEPOPT pass (run peephole optimizers).
- 6.11. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 0 unused cells and 8 unused wires.
- <suppressed ~2 debug messages>
- 6.12. Executing ALUMACC pass (create $alu and $macc cells).
- Extracting $alu and $macc cells in module $paramod\convolve\BITS=9:
- created 0 $alu and 0 $macc cells.
- Extracting $alu and $macc cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1:
- creating $macc model for $add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:309$150 ($add).
- creating $alu model for $macc $add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:309$150.
- creating $alu model for $lt$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:307$148 ($lt): new $alu
- creating $alu model for $eq$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:317$151 ($eq): merged with $lt$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:307$148.
- creating $alu cell for $lt$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:307$148, $eq$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:317$151: $auto$alumacc.cc:485:replace_alu$262
- creating $alu cell for $add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:309$150: $auto$alumacc.cc:485:replace_alu$273
- created 2 $alu and 0 $macc cells.
- Extracting $alu and $macc cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1:
- creating $macc model for $mul$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:365$137 ($mul).
- creating $macc cell for $mul$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:365$137: $auto$alumacc.cc:365:replace_macc$276
- created 0 $alu and 1 $macc cells.
- Extracting $alu and $macc cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1:
- creating $macc model for $add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:238$161 ($add).
- creating $alu model for $macc $add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:238$161.
- creating $alu cell for $add$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:238$161: $auto$alumacc.cc:485:replace_alu$277
- created 1 $alu and 0 $macc cells.
- Extracting $alu and $macc cells in module user_proj_conv:
- created 0 $alu and 0 $macc cells.
- 6.13. Executing SHARE pass (SAT-based resource sharing).
- 6.14. Executing OPT pass (performing simple optimizations).
- 6.14.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- <suppressed ~6 debug messages>
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.14.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.14.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Removed 0 multiplexer ports.
- <suppressed ~5 debug messages>
- 6.14.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- New input vector for $reduce_or cell $reduce_or$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:349$129: \accum_out [17:9]
- New input vector for $reduce_or cell $auto$opt_dff.cc:277:combine_resets$250: { \accum_out [17:9] $auto$rtlil.cc:2121:Not$248 }
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 2 changes.
- 6.14.5. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.14.6. Executing OPT_DFF pass (perform DFF optimizations).
- Adding SRST signal on $procdff$242 ($dff) from module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 (D = $procmux$207_Y [8], Q = $memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:308$142_EN [8], rval = 1'0).
- 6.14.7. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 1 unused cells and 9 unused wires.
- <suppressed ~3 debug messages>
- 6.14.8. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.14.9. Rerunning OPT passes. (Maybe there is more to do..)
- 6.14.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Removed 0 multiplexer ports.
- <suppressed ~5 debug messages>
- 6.14.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 6.14.12. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.14.13. Executing OPT_DFF pass (perform DFF optimizations).
- 6.14.14. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- 6.14.15. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.14.16. Finished OPT passes. (There is nothing left to do.)
- 6.15. Executing MEMORY pass.
- 6.15.1. Executing OPT_MEM pass (optimize memories).
- Performed a total of 0 transformations.
- 6.15.2. Executing MEMORY_DFF pass (merging $dff cells to $memrd and $memwr).
- Checking cell `$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:0$155' in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1': merged $dff to cell.
- Checking cell `$memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:0$156' in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1': merged $dff to cell.
- Checking cell `$memrd$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:323$153' in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1': no (compatible) $dff found.
- 6.15.3. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 3 unused cells and 3 unused wires.
- <suppressed ~4 debug messages>
- 6.15.4. Executing MEMORY_SHARE pass (consolidating $memrd/$memwr cells).
- Consolidating write ports of memory $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.arr by address:
- New clock domain: posedge \clk
- Port 0 ($memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:0$155) has addr { }.
- Active bits: 111111111
- Port 1 ($memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:0$156) has addr { }.
- Active bits: 111111111
- Merging port 0 into this one.
- Creating logic for merging DATA and EN ports.
- Active bits: 111111111
- 6.15.5. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- 6.15.6. Executing MEMORY_COLLECT pass (generating $mem cells).
- Collecting $memrd, $memwr and $meminit for memory `\arr' in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1':
- $memwr$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:0$156 ($memwr)
- $memrd$\arr$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:323$153 ($memrd)
- 6.16. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- 6.17. Executing OPT pass (performing simple optimizations).
- 6.17.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- <suppressed ~25 debug messages>
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- <suppressed ~5 debug messages>
- Optimizing module user_proj_conv.
- 6.17.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- <suppressed ~24 debug messages>
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 8 cells.
- 6.17.3. Executing OPT_DFF pass (perform DFF optimizations).
- 6.17.4. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 2 unused cells and 24 unused wires.
- <suppressed ~4 debug messages>
- 6.17.5. Finished fast OPT passes.
- 6.18. Executing MEMORY_MAP pass (converting $mem cells to logic and flip-flops).
- Mapping memory cell \arr in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1:
- created 1 $dff cells and 0 static cells of width 9.
- read interface: 0 $dff and 1 $mux cells.
- write interface: 9 write mux blocks.
- 6.19. Executing OPT pass (performing simple optimizations).
- 6.19.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- <suppressed ~16 debug messages>
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.19.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.19.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Removed 0 multiplexer ports.
- <suppressed ~13 debug messages>
- 6.19.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 6.19.5. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.19.6. Executing OPT_SHARE pass.
- 6.19.7. Executing OPT_DFF pass (perform DFF optimizations).
- 6.19.8. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 0 unused cells and 14 unused wires.
- <suppressed ~1 debug messages>
- 6.19.9. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.19.10. Rerunning OPT passes. (Maybe there is more to do..)
- 6.19.11. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Removed 0 multiplexer ports.
- <suppressed ~13 debug messages>
- 6.19.12. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 6.19.13. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.19.14. Executing OPT_SHARE pass.
- 6.19.15. Executing OPT_DFF pass (perform DFF optimizations).
- Adding EN signal on $memory\arr[0]$338 ($dff) from module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 (D = $auto$rtlil.cc:2151:And$324, Q = \arr[0]).
- 6.19.16. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 9 unused cells and 9 unused wires.
- <suppressed ~10 debug messages>
- 6.19.17. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.19.18. Rerunning OPT passes. (Maybe there is more to do..)
- 6.19.19. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- Evaluating internal representation of mux trees.
- Analyzing evaluation results.
- Removed 0 multiplexer ports.
- <suppressed ~4 debug messages>
- 6.19.20. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 6.19.21. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.19.22. Executing OPT_SHARE pass.
- 6.19.23. Executing OPT_DFF pass (perform DFF optimizations).
- 6.19.24. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- 6.19.25. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.19.26. Finished OPT passes. (There is nothing left to do.)
- 6.20. Executing TECHMAP pass (map to technology primitives).
- 6.20.1. Executing Verilog-2005 frontend: /build/bin/../share/yosys/techmap.v
- Parsing Verilog input from `/build/bin/../share/yosys/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_trunc'.
- Generating RTLIL representation for module `\_90_div'.
- Generating RTLIL representation for module `\_90_mod'.
- Generating RTLIL representation for module `\$__div_mod_floor'.
- Generating RTLIL representation for module `\_90_divfloor'.
- Generating RTLIL representation for module `\_90_modfloor'.
- 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.
- 6.20.2. Continuing TECHMAP pass.
- Using extmapper simplemap for cells of type $mux.
- Using extmapper simplemap for cells of type $sdffe.
- Using extmapper simplemap for cells of type $reduce_and.
- Using extmapper simplemap for cells of type $not.
- Using template $paramod\_90_alu\A_SIGNED=0\B_SIGNED=0\A_WIDTH=1\B_WIDTH=32\Y_WIDTH=32 for cells of type $alu.
- Using extmapper simplemap for cells of type $eq.
- Using extmapper simplemap for cells of type $xor.
- Using extmapper simplemap for cells of type $and.
- Using template $paramod\_90_lcu\WIDTH=32 for cells of type $lcu.
- Using extmapper simplemap for cells of type $pos.
- Using extmapper simplemap for cells of type $or.
- Using extmapper simplemap for cells of type $sdff.
- Using extmapper simplemap for cells of type $reduce_or.
- Using extmapper maccmap for cells of type $macc.
- add \shift_in * \kernel_in (9x9 bits, unsigned)
- Using template $paramod\_90_fa\WIDTH=18 for cells of type $fa.
- Using template $paramod\_90_alu\A_SIGNED=0\B_SIGNED=0\A_WIDTH=18\B_WIDTH=18\Y_WIDTH=18 for cells of type $alu.
- Using template $paramod\_90_lcu\WIDTH=18 for cells of type $lcu.
- Using template $paramod\_90_alu\A_SIGNED=0\B_SIGNED=0\A_WIDTH=0\B_WIDTH=3\Y_WIDTH=3 for cells of type $alu.
- Using extmapper simplemap for cells of type $dffe.
- Using extmapper simplemap for cells of type $logic_and.
- Using template $paramod\_90_alu\A_SIGNED=0\B_SIGNED=0\A_WIDTH=1\B_WIDTH=4\Y_WIDTH=4 for cells of type $alu.
- Using template $paramod\_90_lcu\WIDTH=3 for cells of type $lcu.
- Using template $paramod\_90_lcu\WIDTH=4 for cells of type $lcu.
- No more expansions possible.
- <suppressed ~921 debug messages>
- 6.21. Executing OPT pass (performing simple optimizations).
- 6.21.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- <suppressed ~37 debug messages>
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- <suppressed ~477 debug messages>
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- <suppressed ~216 debug messages>
- Optimizing module user_proj_conv.
- 6.21.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- <suppressed ~12 debug messages>
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- <suppressed ~6 debug messages>
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 6 cells.
- 6.21.3. Executing OPT_DFF pass (perform DFF optimizations).
- 6.21.4. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 61 unused cells and 298 unused wires.
- <suppressed ~64 debug messages>
- 6.21.5. Finished fast OPT passes.
- 6.22. Executing ABC pass (technology mapping using ABC).
- 6.22.1. Extracting gate netlist of module `$paramod\convolve\BITS=9' to `<abc-temp-dir>/input.blif'..
- Extracted 1 gates and 3 wires to a netlist network with 2 inputs and 1 outputs.
- 6.22.1.1. Executing ABC.
- Running ABC command: <yosys-exe-dir>/yosys-abc -s -f <abc-temp-dir>/abc.script 2>&1
- ABC: ABC command line: "source <abc-temp-dir>/abc.script".
- ABC:
- ABC: + read_blif <abc-temp-dir>/input.blif
- ABC: + read_library <abc-temp-dir>/stdcells.genlib
- ABC: Entered genlib library with 13 gates from file "<abc-temp-dir>/stdcells.genlib".
- ABC: + strash
- ABC: + dretime
- ABC: + map
- ABC: + write_blif <abc-temp-dir>/output.blif
- 6.22.1.2. Re-integrating ABC results.
- ABC RESULTS: AND cells: 1
- ABC RESULTS: internal signals: 0
- ABC RESULTS: input signals: 2
- ABC RESULTS: output signals: 1
- Removing temp directory.
- 6.22.2. Extracting gate netlist of module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1' to `<abc-temp-dir>/input.blif'..
- Extracted 65 gates and 81 wires to a netlist network with 15 inputs and 16 outputs.
- 6.22.2.1. Executing ABC.
- Running ABC command: <yosys-exe-dir>/yosys-abc -s -f <abc-temp-dir>/abc.script 2>&1
- ABC: ABC command line: "source <abc-temp-dir>/abc.script".
- ABC:
- ABC: + read_blif <abc-temp-dir>/input.blif
- ABC: + read_library <abc-temp-dir>/stdcells.genlib
- ABC: Entered genlib library with 13 gates from file "<abc-temp-dir>/stdcells.genlib".
- ABC: + strash
- ABC: + dretime
- ABC: + map
- ABC: + write_blif <abc-temp-dir>/output.blif
- 6.22.2.2. Re-integrating ABC results.
- ABC RESULTS: ANDNOT cells: 13
- ABC RESULTS: NAND cells: 1
- ABC RESULTS: NOT cells: 1
- ABC RESULTS: OR cells: 5
- ABC RESULTS: ORNOT cells: 1
- ABC RESULTS: XNOR cells: 1
- ABC RESULTS: XOR cells: 2
- ABC RESULTS: internal signals: 50
- ABC RESULTS: input signals: 15
- ABC RESULTS: output signals: 16
- Removing temp directory.
- 6.22.3. Extracting gate netlist of module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1' to `<abc-temp-dir>/input.blif'..
- Extracted 482 gates and 502 wires to a netlist network with 19 inputs and 10 outputs.
- 6.22.3.1. Executing ABC.
- Running ABC command: <yosys-exe-dir>/yosys-abc -s -f <abc-temp-dir>/abc.script 2>&1
- ABC: ABC command line: "source <abc-temp-dir>/abc.script".
- ABC:
- ABC: + read_blif <abc-temp-dir>/input.blif
- ABC: + read_library <abc-temp-dir>/stdcells.genlib
- ABC: Entered genlib library with 13 gates from file "<abc-temp-dir>/stdcells.genlib".
- ABC: + strash
- ABC: + dretime
- ABC: + map
- ABC: + write_blif <abc-temp-dir>/output.blif
- 6.22.3.2. Re-integrating ABC results.
- ABC RESULTS: AND cells: 78
- ABC RESULTS: ANDNOT cells: 124
- ABC RESULTS: NAND cells: 26
- ABC RESULTS: NOR cells: 16
- ABC RESULTS: NOT cells: 7
- ABC RESULTS: OR cells: 63
- ABC RESULTS: ORNOT cells: 28
- ABC RESULTS: XNOR cells: 48
- ABC RESULTS: XOR cells: 98
- ABC RESULTS: internal signals: 473
- ABC RESULTS: input signals: 19
- ABC RESULTS: output signals: 10
- Removing temp directory.
- 6.22.4. Extracting gate netlist of module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1' to `<abc-temp-dir>/input.blif'..
- Extracted 118 gates and 151 wires to a netlist network with 33 inputs and 34 outputs.
- 6.22.4.1. Executing ABC.
- Running ABC command: <yosys-exe-dir>/yosys-abc -s -f <abc-temp-dir>/abc.script 2>&1
- ABC: ABC command line: "source <abc-temp-dir>/abc.script".
- ABC:
- ABC: + read_blif <abc-temp-dir>/input.blif
- ABC: + read_library <abc-temp-dir>/stdcells.genlib
- ABC: Entered genlib library with 13 gates from file "<abc-temp-dir>/stdcells.genlib".
- ABC: + strash
- ABC: + dretime
- ABC: + map
- ABC: + write_blif <abc-temp-dir>/output.blif
- 6.22.4.2. Re-integrating ABC results.
- ABC RESULTS: AND cells: 1
- ABC RESULTS: ANDNOT cells: 20
- ABC RESULTS: NAND cells: 15
- ABC RESULTS: NOR cells: 1
- ABC RESULTS: NOT cells: 1
- ABC RESULTS: OR cells: 46
- ABC RESULTS: ORNOT cells: 1
- ABC RESULTS: XNOR cells: 14
- ABC RESULTS: XOR cells: 17
- ABC RESULTS: internal signals: 84
- ABC RESULTS: input signals: 33
- ABC RESULTS: output signals: 34
- Removing temp directory.
- 6.22.5. Extracting gate netlist of module `\user_proj_conv' to `<abc-temp-dir>/input.blif'..
- Extracted 2 gates and 8 wires to a netlist network with 6 inputs and 2 outputs.
- 6.22.5.1. Executing ABC.
- Running ABC command: <yosys-exe-dir>/yosys-abc -s -f <abc-temp-dir>/abc.script 2>&1
- ABC: ABC command line: "source <abc-temp-dir>/abc.script".
- ABC:
- ABC: + read_blif <abc-temp-dir>/input.blif
- ABC: + read_library <abc-temp-dir>/stdcells.genlib
- ABC: Entered genlib library with 13 gates from file "<abc-temp-dir>/stdcells.genlib".
- ABC: + strash
- ABC: + dretime
- ABC: + map
- ABC: + write_blif <abc-temp-dir>/output.blif
- 6.22.5.2. Re-integrating ABC results.
- ABC RESULTS: MUX cells: 2
- ABC RESULTS: internal signals: 0
- ABC RESULTS: input signals: 6
- ABC RESULTS: output signals: 2
- Removing temp directory.
- 6.23. Executing OPT pass (performing simple optimizations).
- 6.23.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 6.23.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 6.23.3. Executing OPT_DFF pass (perform DFF optimizations).
- 6.23.4. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 0 unused cells and 254 unused wires.
- <suppressed ~5 debug messages>
- 6.23.5. Finished fast OPT passes.
- 6.24. Executing HIERARCHY pass (managing design hierarchy).
- 6.24.1. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: $paramod\convolve\BITS=9
- Used module: $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\multiplier\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\shift_register\BITS=9\KERNEL_SIZE=1
- 6.24.2. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: $paramod\convolve\BITS=9
- Used module: $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\multiplier\BITS=9\KERNEL_SIZE=1
- Used module: $paramod\shift_register\BITS=9\KERNEL_SIZE=1
- Removed 0 unused modules.
- 6.25. Printing statistics.
- === $paramod\convolve\BITS=9 ===
- Number of wires: 12
- Number of wire bits: 52
- Number of public wires: 11
- Number of public wire bits: 51
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 4
- $_AND_ 1
- $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 1
- $paramod\multiplier\BITS=9\KERNEL_SIZE=1 1
- $paramod\shift_register\BITS=9\KERNEL_SIZE=1 1
- === $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 31
- Number of wire bits: 126
- Number of public wires: 10
- Number of public wire bits: 99
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 37
- $_ANDNOT_ 13
- $_DFFE_PP_ 9
- $_NAND_ 1
- $_NOT_ 1
- $_ORNOT_ 1
- $_OR_ 5
- $_SDFFE_PP0P_ 4
- $_XNOR_ 1
- $_XOR_ 2
- === $paramod\multiplier\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 494
- Number of wire bits: 566
- Number of public wires: 7
- Number of public wire bits: 79
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 497
- $_ANDNOT_ 124
- $_AND_ 78
- $_NAND_ 26
- $_NOR_ 16
- $_NOT_ 7
- $_ORNOT_ 28
- $_OR_ 63
- $_SDFF_PN0_ 8
- $_SDFF_PP0_ 1
- $_XNOR_ 48
- $_XOR_ 98
- === $paramod\shift_register\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 95
- Number of wire bits: 274
- Number of public wires: 10
- Number of public wire bits: 127
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 148
- $_ANDNOT_ 20
- $_AND_ 1
- $_NAND_ 15
- $_NOR_ 1
- $_NOT_ 1
- $_ORNOT_ 1
- $_OR_ 46
- $_SDFFE_PP0P_ 32
- $_XNOR_ 14
- $_XOR_ 17
- === user_proj_conv ===
- Number of wires: 24
- Number of wire bits: 638
- Number of public wires: 24
- Number of public wire bits: 638
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 3
- $_MUX_ 2
- $paramod\convolve\BITS=9 1
- === design hierarchy ===
- user_proj_conv 1
- $paramod\convolve\BITS=9 1
- $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 1
- $paramod\multiplier\BITS=9\KERNEL_SIZE=1 1
- $paramod\shift_register\BITS=9\KERNEL_SIZE=1 1
- Number of wires: 656
- Number of wire bits: 1656
- Number of public wires: 62
- Number of public wire bits: 994
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 685
- $_ANDNOT_ 157
- $_AND_ 80
- $_DFFE_PP_ 9
- $_MUX_ 2
- $_NAND_ 42
- $_NOR_ 17
- $_NOT_ 9
- $_ORNOT_ 30
- $_OR_ 114
- $_SDFFE_PP0P_ 36
- $_SDFF_PN0_ 8
- $_SDFF_PP0_ 1
- $_XNOR_ 63
- $_XOR_ 117
- 6.26. Executing CHECK pass (checking for obvious problems).
- checking module $paramod\convolve\BITS=9..
- checking module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- checking module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- checking module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- checking module user_proj_conv..
- found and reported 0 problems.
- 7. Executing SHARE pass (SAT-based resource sharing).
- 8. Executing OPT pass (performing simple optimizations).
- 8.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 8.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 8.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module $paramod\convolve\BITS=9..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Removed 0 multiplexer ports.
- 8.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module $paramod\convolve\BITS=9.
- Optimizing cells in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 8.5. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `$paramod\convolve\BITS=9'.
- Finding identical cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 8.6. Executing OPT_DFF pass (perform DFF optimizations).
- 8.7. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- 8.8. Executing OPT_EXPR pass (perform const folding).
- Optimizing module $paramod\convolve\BITS=9.
- Optimizing module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Optimizing module $paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Optimizing module user_proj_conv.
- 8.9. Finished OPT passes. (There is nothing left to do.)
- 9. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 0 unused cells and 11 unused wires.
- <suppressed ~11 debug messages>
- 10. Printing statistics.
- === $paramod\convolve\BITS=9 ===
- Number of wires: 12
- Number of wire bits: 52
- Number of public wires: 11
- Number of public wire bits: 51
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 4
- $_AND_ 1
- $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 1
- $paramod\multiplier\BITS=9\KERNEL_SIZE=1 1
- $paramod\shift_register\BITS=9\KERNEL_SIZE=1 1
- === $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 28
- Number of wire bits: 53
- Number of public wires: 7
- Number of public wire bits: 26
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 37
- $_ANDNOT_ 13
- $_DFFE_PP_ 9
- $_NAND_ 1
- $_NOT_ 1
- $_ORNOT_ 1
- $_OR_ 5
- $_SDFFE_PP0P_ 4
- $_XNOR_ 1
- $_XOR_ 2
- === $paramod\multiplier\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 493
- Number of wire bits: 534
- Number of public wires: 6
- Number of public wire bits: 47
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 497
- $_ANDNOT_ 124
- $_AND_ 78
- $_NAND_ 26
- $_NOR_ 16
- $_NOT_ 7
- $_ORNOT_ 28
- $_OR_ 63
- $_SDFF_PN0_ 8
- $_SDFF_PP0_ 1
- $_XNOR_ 48
- $_XOR_ 98
- === $paramod\shift_register\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 92
- Number of wire bits: 201
- Number of public wires: 7
- Number of public wire bits: 54
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 148
- $_ANDNOT_ 20
- $_AND_ 1
- $_NAND_ 15
- $_NOR_ 1
- $_NOT_ 1
- $_ORNOT_ 1
- $_OR_ 46
- $_SDFFE_PP0P_ 32
- $_XNOR_ 14
- $_XOR_ 17
- === user_proj_conv ===
- Number of wires: 20
- Number of wire bits: 618
- Number of public wires: 20
- Number of public wire bits: 618
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 3
- $_MUX_ 2
- $paramod\convolve\BITS=9 1
- === design hierarchy ===
- user_proj_conv 1
- $paramod\convolve\BITS=9 1
- $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 1
- $paramod\multiplier\BITS=9\KERNEL_SIZE=1 1
- $paramod\shift_register\BITS=9\KERNEL_SIZE=1 1
- Number of wires: 645
- Number of wire bits: 1458
- Number of public wires: 51
- Number of public wire bits: 796
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 685
- $_ANDNOT_ 157
- $_AND_ 80
- $_DFFE_PP_ 9
- $_MUX_ 2
- $_NAND_ 42
- $_NOR_ 17
- $_NOT_ 9
- $_ORNOT_ 30
- $_OR_ 114
- $_SDFFE_PP0P_ 36
- $_SDFF_PN0_ 8
- $_SDFF_PP0_ 1
- $_XNOR_ 63
- $_XOR_ 117
- mapping tbuf
- 11. Executing TECHMAP pass (map to technology primitives).
- 11.1. Executing Verilog-2005 frontend: /home/korlamarch/brown/chips/pdks/sky130A/libs.tech/openlane/sky130_fd_sc_hd/tribuff_map.v
- Parsing Verilog input from `/home/korlamarch/brown/chips/pdks/sky130A/libs.tech/openlane/sky130_fd_sc_hd/tribuff_map.v' to AST representation.
- Generating RTLIL representation for module `\$_TBUF_'.
- Successfully finished Verilog frontend.
- 11.2. Continuing TECHMAP pass.
- No more expansions possible.
- <suppressed ~3 debug messages>
- 12. Executing SIMPLEMAP pass (map simple cells to gate primitives).
- 13. Executing MUXCOVER pass (mapping to wider MUXes).
- Covering MUX trees in module $paramod\convolve\BITS=9..
- Treeifying 0 MUXes:
- Finished treeification: Found 0 trees.
- Covering trees:
- Added a total of 0 decoder MUXes.
- Covering MUX trees in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Treeifying 0 MUXes:
- Finished treeification: Found 0 trees.
- Covering trees:
- Added a total of 0 decoder MUXes.
- Covering MUX trees in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Treeifying 0 MUXes:
- Finished treeification: Found 0 trees.
- Covering trees:
- Added a total of 0 decoder MUXes.
- Covering MUX trees in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Treeifying 0 MUXes:
- Finished treeification: Found 0 trees.
- Covering trees:
- Added a total of 0 decoder MUXes.
- Covering MUX trees in module user_proj_conv..
- Treeifying 2 MUXes:
- Found tree with 1 MUXes at root \clk.
- Found tree with 1 MUXes at root \rst.
- Finished treeification: Found 2 trees.
- Covering trees:
- Replaced tree at \clk: 1 MUX2, 0 MUX4, 0 MUX8, 0 MUX16
- Replaced tree at \rst: 1 MUX2, 0 MUX4, 0 MUX8, 0 MUX16
- Added a total of 0 decoder MUXes.
- <suppressed ~39 debug messages>
- 14. Executing TECHMAP pass (map to technology primitives).
- 14.1. Executing Verilog-2005 frontend: /home/korlamarch/brown/chips/pdks/sky130A/libs.tech/openlane/sky130_fd_sc_hd/mux4_map.v
- Parsing Verilog input from `/home/korlamarch/brown/chips/pdks/sky130A/libs.tech/openlane/sky130_fd_sc_hd/mux4_map.v' to AST representation.
- Generating RTLIL representation for module `\$_MUX4_'.
- Successfully finished Verilog frontend.
- 14.2. Continuing TECHMAP pass.
- No more expansions possible.
- <suppressed ~3 debug messages>
- 15. Executing SIMPLEMAP pass (map simple cells to gate primitives).
- 16. Executing TECHMAP pass (map to technology primitives).
- 16.1. Executing Verilog-2005 frontend: /home/korlamarch/brown/chips/pdks/sky130A/libs.tech/openlane/sky130_fd_sc_hd/mux2_map.v
- Parsing Verilog input from `/home/korlamarch/brown/chips/pdks/sky130A/libs.tech/openlane/sky130_fd_sc_hd/mux2_map.v' to AST representation.
- Generating RTLIL representation for module `\$_MUX_'.
- Successfully finished Verilog frontend.
- 16.2. Continuing TECHMAP pass.
- Using template \$_MUX_ for cells of type $_MUX_.
- No more expansions possible.
- <suppressed ~5 debug messages>
- 17. Executing SIMPLEMAP pass (map simple cells to gate primitives).
- 18. Executing TECHMAP pass (map to technology primitives).
- 18.1. Executing Verilog-2005 frontend: /home/korlamarch/brown/chips/pdks/sky130A/libs.tech/openlane/sky130_fd_sc_hd/latch_map.v
- Parsing Verilog input from `/home/korlamarch/brown/chips/pdks/sky130A/libs.tech/openlane/sky130_fd_sc_hd/latch_map.v' to AST representation.
- Generating RTLIL representation for module `\$_DLATCH_P_'.
- Generating RTLIL representation for module `\$_DLATCH_N_'.
- Successfully finished Verilog frontend.
- 18.2. Continuing TECHMAP pass.
- No more expansions possible.
- <suppressed ~4 debug messages>
- 19. Executing SIMPLEMAP pass (map simple cells to gate primitives).
- 20. Executing DFFLIBMAP pass (mapping DFF cells to sequential cells from liberty file).
- cell sky130_fd_sc_hd__dfxtp_2 (noninv, pins=3, area=21.27) is a direct match for cell type $_DFF_P_.
- cell sky130_fd_sc_hd__dfrtp_2 (noninv, pins=4, area=26.28) is a direct match for cell type $_DFF_PN0_.
- cell sky130_fd_sc_hd__dfstp_2 (noninv, pins=4, area=26.28) is a direct match for cell type $_DFF_PN1_.
- cell sky130_fd_sc_hd__dfbbn_2 (noninv, pins=6, area=35.03) is a direct match for cell type $_DFFSR_NNN_.
- final dff cell mappings:
- unmapped dff cell: $_DFF_N_
- \sky130_fd_sc_hd__dfxtp_2 _DFF_P_ (.CLK( C), .D( D), .Q( Q));
- unmapped dff cell: $_DFF_NN0_
- unmapped dff cell: $_DFF_NN1_
- unmapped dff cell: $_DFF_NP0_
- unmapped dff cell: $_DFF_NP1_
- \sky130_fd_sc_hd__dfrtp_2 _DFF_PN0_ (.CLK( C), .D( D), .Q( Q), .RESET_B( R));
- \sky130_fd_sc_hd__dfstp_2 _DFF_PN1_ (.CLK( C), .D( D), .Q( Q), .SET_B( R));
- unmapped dff cell: $_DFF_PP0_
- unmapped dff cell: $_DFF_PP1_
- \sky130_fd_sc_hd__dfbbn_2 _DFFSR_NNN_ (.CLK_N( C), .D( D), .Q( Q), .Q_N(~Q), .RESET_B( R), .SET_B( S));
- unmapped dff cell: $_DFFSR_NNP_
- unmapped dff cell: $_DFFSR_NPN_
- unmapped dff cell: $_DFFSR_NPP_
- unmapped dff cell: $_DFFSR_PNN_
- unmapped dff cell: $_DFFSR_PNP_
- unmapped dff cell: $_DFFSR_PPN_
- unmapped dff cell: $_DFFSR_PPP_
- 20.1. Executing DFFLEGALIZE pass (convert FFs to types supported by the target).
- Mapping DFF cells in module `$paramod\convolve\BITS=9':
- Mapping DFF cells in module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1':
- mapped 13 $_DFF_P_ cells to \sky130_fd_sc_hd__dfxtp_2 cells.
- Mapping DFF cells in module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1':
- mapped 9 $_DFF_P_ cells to \sky130_fd_sc_hd__dfxtp_2 cells.
- Mapping DFF cells in module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1':
- mapped 32 $_DFF_P_ cells to \sky130_fd_sc_hd__dfxtp_2 cells.
- Mapping DFF cells in module `\user_proj_conv':
- 21. Printing statistics.
- === $paramod\convolve\BITS=9 ===
- Number of wires: 12
- Number of wire bits: 52
- Number of public wires: 11
- Number of public wire bits: 51
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 4
- $_AND_ 1
- $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 1
- $paramod\multiplier\BITS=9\KERNEL_SIZE=1 1
- $paramod\shift_register\BITS=9\KERNEL_SIZE=1 1
- === $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 45
- Number of wire bits: 70
- Number of public wires: 7
- Number of public wire bits: 26
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 54
- $_ANDNOT_ 13
- $_MUX_ 17
- $_NAND_ 1
- $_NOT_ 1
- $_ORNOT_ 1
- $_OR_ 5
- $_XNOR_ 1
- $_XOR_ 2
- sky130_fd_sc_hd__dfxtp_2 13
- === $paramod\multiplier\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 502
- Number of wire bits: 543
- Number of public wires: 6
- Number of public wire bits: 47
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 506
- $_ANDNOT_ 124
- $_AND_ 78
- $_MUX_ 9
- $_NAND_ 26
- $_NOR_ 16
- $_NOT_ 7
- $_ORNOT_ 28
- $_OR_ 63
- $_XNOR_ 48
- $_XOR_ 98
- sky130_fd_sc_hd__dfxtp_2 9
- === $paramod\shift_register\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 156
- Number of wire bits: 265
- Number of public wires: 7
- Number of public wire bits: 54
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 212
- $_ANDNOT_ 20
- $_AND_ 1
- $_MUX_ 64
- $_NAND_ 15
- $_NOR_ 1
- $_NOT_ 1
- $_ORNOT_ 1
- $_OR_ 46
- $_XNOR_ 14
- $_XOR_ 17
- sky130_fd_sc_hd__dfxtp_2 32
- === user_proj_conv ===
- Number of wires: 28
- Number of wire bits: 626
- Number of public wires: 20
- Number of public wire bits: 618
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 3
- $paramod\convolve\BITS=9 1
- sky130_fd_sc_hd__mux2_1 2
- === design hierarchy ===
- user_proj_conv 1
- $paramod\convolve\BITS=9 1
- $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 1
- $paramod\multiplier\BITS=9\KERNEL_SIZE=1 1
- $paramod\shift_register\BITS=9\KERNEL_SIZE=1 1
- Number of wires: 743
- Number of wire bits: 1556
- Number of public wires: 51
- Number of public wire bits: 796
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 775
- $_ANDNOT_ 157
- $_AND_ 80
- $_MUX_ 90
- $_NAND_ 42
- $_NOR_ 17
- $_NOT_ 9
- $_ORNOT_ 30
- $_OR_ 114
- $_XNOR_ 63
- $_XOR_ 117
- sky130_fd_sc_hd__dfxtp_2 54
- sky130_fd_sc_hd__mux2_1 2
- [INFO]: ABC: WireLoad : S_4
- 22. Executing ABC pass (technology mapping using ABC).
- 22.1. Extracting gate netlist of module `$paramod\convolve\BITS=9' to `/tmp/yosys-abc-QZyiir/input.blif'..
- Extracted 1 gates and 3 wires to a netlist network with 2 inputs and 1 outputs.
- 22.1.1. Executing ABC.
- Running ABC command: /build/bin/yosys-abc -s -f /tmp/yosys-abc-QZyiir/abc.script 2>&1
- ABC: ABC command line: "source /tmp/yosys-abc-QZyiir/abc.script".
- ABC:
- ABC: + read_blif /tmp/yosys-abc-QZyiir/input.blif
- ABC: + read_lib -w /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/trimmed.lib
- ABC: Parsing finished successfully. Parsing time = 0.09 sec
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfbbn_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrtp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrtp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfsbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfstp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfstp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxtp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxtp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_1".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtp_1".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_2".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_4".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_8".
- ABC: Library "sky130_fd_sc_hd__tt_025C_1v80" from "/project/openlane/user_proj_conv/runs/user_proj_conv/tmp/trimmed.lib" has 175 cells (17 skipped: 14 seq; 3 tri-state; 0 no func; 0 dont_use). Time = 0.13 sec
- ABC: Memory = 7.77 MB. Time = 0.13 sec
- ABC: Warning: Detected 2 multi-output gates (for example, "sky130_fd_sc_hd__fa_1").
- ABC: + read_constr -v /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/synthesis/yosys.sdc
- ABC: Setting driving cell to be "sky130_fd_sc_hd__inv_8".
- ABC: Setting output load to be 17.650000.
- ABC: + read_constr /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/synthesis/yosys.sdc
- ABC: + fx
- ABC: The network is unchanged by fast extract.
- ABC: + mfs
- ABC: + strash
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + retime -D -D 10000 -M 5
- ABC: + scleanup
- ABC: Error: The network is combinational.
- ABC: + fraig_store
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + fraig_restore
- ABC: + amap -m -Q 0.1 -F 20 -A 20 -C 5000
- ABC: + retime -D -D 10000
- ABC: + buffer -N 5 -S 1000.0
- ABC: + upsize -D 10000
- ABC: Current delay (158.50 ps) does not exceed the target delay (10000.00 ps). Upsizing is not performed.
- ABC: + dnsize -D 10000
- ABC: + stime -p
- ABC: WireLoad = "none" Gates = 1 ( 0.0 %) Cap = 6.9 ff ( 0.0 %) Area = 7.51 (100.0 %) Delay = 209.60 ps (100.0 %)
- ABC: Path 0 -- 2 : 0 1 pi A = 0.00 Df = 2.1 -1.5 ps S = 13.4 ps Cin = 0.0 ff Cout = 1.5 ff Cmax = 0.0 ff G = 0
- ABC: Path 1 -- 4 : 2 1 sky130_fd_sc_hd__and2_2 A = 7.51 Df = 209.6 -30.7 ps S = 106.4 ps Cin = 1.5 ff Cout = 17.6 ff Cmax = 303.0 ff G = 1207
- ABC: Start-point = pi1 (\shift_ready). End-point = po0 ($abc$2475$and$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:180$125_Y).
- ABC: + print_stats -m
- ABC: netlist : i/o = 2/ 1 lat = 0 nd = 1 edge = 2 area = 7.51 delay = 1.00 lev = 1
- ABC: + write_blif /tmp/yosys-abc-QZyiir/output.blif
- 22.1.2. Re-integrating ABC results.
- ABC RESULTS: sky130_fd_sc_hd__and2_2 cells: 1
- ABC RESULTS: internal signals: 0
- ABC RESULTS: input signals: 2
- ABC RESULTS: output signals: 1
- Removing temp directory.
- 22.2. Extracting gate netlist of module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1' to `/tmp/yosys-abc-WG4vP1/input.blif'..
- Extracted 41 gates and 66 wires to a netlist network with 24 inputs and 14 outputs.
- 22.2.1. Executing ABC.
- Running ABC command: /build/bin/yosys-abc -s -f /tmp/yosys-abc-WG4vP1/abc.script 2>&1
- ABC: ABC command line: "source /tmp/yosys-abc-WG4vP1/abc.script".
- ABC:
- ABC: + read_blif /tmp/yosys-abc-WG4vP1/input.blif
- ABC: + read_lib -w /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/trimmed.lib
- ABC: Parsing finished successfully. Parsing time = 0.09 sec
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfbbn_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrtp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrtp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfsbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfstp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfstp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxtp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxtp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_1".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtp_1".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_2".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_4".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_8".
- ABC: Library "sky130_fd_sc_hd__tt_025C_1v80" from "/project/openlane/user_proj_conv/runs/user_proj_conv/tmp/trimmed.lib" has 175 cells (17 skipped: 14 seq; 3 tri-state; 0 no func; 0 dont_use). Time = 0.13 sec
- ABC: Memory = 7.77 MB. Time = 0.13 sec
- ABC: Warning: Detected 2 multi-output gates (for example, "sky130_fd_sc_hd__fa_1").
- ABC: + read_constr -v /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/synthesis/yosys.sdc
- ABC: Setting driving cell to be "sky130_fd_sc_hd__inv_8".
- ABC: Setting output load to be 17.650000.
- ABC: + read_constr /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/synthesis/yosys.sdc
- ABC: + fx
- ABC: + mfs
- ABC: + strash
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + retime -D -D 10000 -M 5
- ABC: + scleanup
- ABC: Error: The network is combinational.
- ABC: + fraig_store
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + fraig_restore
- ABC: + amap -m -Q 0.1 -F 20 -A 20 -C 5000
- ABC: + retime -D -D 10000
- ABC: + buffer -N 5 -S 1000.0
- ABC: + upsize -D 10000
- ABC: Current delay (1401.89 ps) does not exceed the target delay (10000.00 ps). Upsizing is not performed.
- ABC: + dnsize -D 10000
- ABC: + stime -p
- ABC: WireLoad = "none" Gates = 21 ( 19.0 %) Cap = 9.1 ff ( 3.6 %) Area = 177.67 ( 81.0 %) Delay = 1404.11 ps ( 38.1 %)
- ABC: Path 0 -- 1 : 0 3 pi A = 0.00 Df = 9.7 -6.7 ps S = 22.1 ps Cin = 0.0 ff Cout = 7.6 ff Cmax = 0.0 ff G = 0
- ABC: Path 1 -- 43 : 4 3 sky130_fd_sc_hd__or4b_2 A = 10.01 Df = 712.7 -496.9 ps S = 137.9 ps Cin = 1.5 ff Cout = 12.3 ff Cmax = 265.5 ff G = 790
- ABC: Path 2 -- 45 : 3 5 sky130_fd_sc_hd__o21a_2 A = 8.76 Df = 965.2 -595.9 ps S = 77.6 ps Cin = 2.4 ff Cout = 12.3 ff Cmax = 294.8 ff G = 486
- ABC: Path 3 -- 46 : 1 5 sky130_fd_sc_hd__buf_1 A = 3.75 Df =1094.6 -557.3 ps S = 157.5 ps Cin = 2.1 ff Cout = 12.6 ff Cmax = 130.0 ff G = 564
- ABC: Path 4 -- 49 : 4 1 sky130_fd_sc_hd__a22o_2 A = 10.01 Df =1404.1 -4.4 ps S = 104.8 ps Cin = 2.3 ff Cout = 17.6 ff Cmax = 301.2 ff G = 751
- ABC: Start-point = pi0 (\counter [3]). End-point = po3 ($auto$rtlil.cc:2290:MuxGate$3131).
- ABC: + print_stats -m
- ABC: netlist : i/o = 24/ 14 lat = 0 nd = 21 edge = 63 area =177.67 delay = 4.00 lev = 4
- ABC: + write_blif /tmp/yosys-abc-WG4vP1/output.blif
- 22.2.2. Re-integrating ABC results.
- ABC RESULTS: sky130_fd_sc_hd__a21oi_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__a22o_2 cells: 9
- ABC RESULTS: sky130_fd_sc_hd__and2_2 cells: 3
- ABC RESULTS: sky130_fd_sc_hd__buf_1 cells: 2
- ABC RESULTS: sky130_fd_sc_hd__inv_2 cells: 2
- ABC RESULTS: sky130_fd_sc_hd__nor3_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__nor4_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__o21a_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__or4b_2 cells: 1
- ABC RESULTS: internal signals: 28
- ABC RESULTS: input signals: 24
- ABC RESULTS: output signals: 14
- Removing temp directory.
- 22.3. Extracting gate netlist of module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1' to `/tmp/yosys-abc-EgZ9fD/input.blif'..
- Extracted 497 gates and 517 wires to a netlist network with 19 inputs and 9 outputs.
- 22.3.1. Executing ABC.
- Running ABC command: /build/bin/yosys-abc -s -f /tmp/yosys-abc-EgZ9fD/abc.script 2>&1
- ABC: ABC command line: "source /tmp/yosys-abc-EgZ9fD/abc.script".
- ABC:
- ABC: + read_blif /tmp/yosys-abc-EgZ9fD/input.blif
- ABC: + read_lib -w /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/trimmed.lib
- ABC: Parsing finished successfully. Parsing time = 0.09 sec
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfbbn_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrtp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrtp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfsbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfstp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfstp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxtp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxtp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_1".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtp_1".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_2".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_4".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_8".
- ABC: Library "sky130_fd_sc_hd__tt_025C_1v80" from "/project/openlane/user_proj_conv/runs/user_proj_conv/tmp/trimmed.lib" has 175 cells (17 skipped: 14 seq; 3 tri-state; 0 no func; 0 dont_use). Time = 0.12 sec
- ABC: Memory = 7.77 MB. Time = 0.12 sec
- ABC: Warning: Detected 2 multi-output gates (for example, "sky130_fd_sc_hd__fa_1").
- ABC: + read_constr -v /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/synthesis/yosys.sdc
- ABC: Setting driving cell to be "sky130_fd_sc_hd__inv_8".
- ABC: Setting output load to be 17.650000.
- ABC: + read_constr /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/synthesis/yosys.sdc
- ABC: + fx
- ABC: + mfs
- ABC: + strash
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + retime -D -D 10000 -M 5
- ABC: + scleanup
- ABC: Error: The network is combinational.
- ABC: + fraig_store
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + fraig_restore
- ABC: + amap -m -Q 0.1 -F 20 -A 20 -C 5000
- ABC: + retime -D -D 10000
- ABC: + buffer -N 5 -S 1000.0
- ABC: Node 56 has dup fanin 52.
- ABC: Node 56 has dup fanin 55.
- ABC: Node 56 has dup fanin 52.
- ABC: Node 56 has dup fanin 55.
- ABC: Node 60 has dup fanin 51.
- ABC: Node 60 has dup fanin 56.
- ABC: Node 60 has dup fanin 51.
- ABC: Node 60 has dup fanin 56.
- ABC: Node 67 has dup fanin 63.
- ABC: Node 67 has dup fanin 66.
- ABC: Node 67 has dup fanin 63.
- ABC: Node 67 has dup fanin 66.
- ABC: Node 68 has dup fanin 62.
- ABC: Node 68 has dup fanin 67.
- ABC: Node 68 has dup fanin 62.
- ABC: Node 68 has dup fanin 67.
- ABC: Node 73 has dup fanin 69.
- ABC: Node 73 has dup fanin 72.
- ABC: Node 73 has dup fanin 69.
- ABC: Node 73 has dup fanin 72.
- ABC: Node 74 has dup fanin 68.
- ABC: Node 74 has dup fanin 73.
- ABC: Node 74 has dup fanin 68.
- ABC: Node 74 has dup fanin 73.
- ABC: Node 75 has dup fanin 61.
- ABC: Node 75 has dup fanin 74.
- ABC: Node 75 has dup fanin 61.
- ABC: Node 75 has dup fanin 74.
- ABC: Node 83 has dup fanin 79.
- ABC: Node 83 has dup fanin 82.
- ABC: Node 83 has dup fanin 79.
- ABC: Node 83 has dup fanin 82.
- ABC: Node 84 has dup fanin 78.
- ABC: Node 84 has dup fanin 83.
- ABC: Node 84 has dup fanin 78.
- ABC: Node 84 has dup fanin 83.
- ABC: Node 89 has dup fanin 85.
- ABC: Node 89 has dup fanin 88.
- ABC: Node 89 has dup fanin 85.
- ABC: Node 89 has dup fanin 88.
- ABC: Node 90 has dup fanin 84.
- ABC: Node 90 has dup fanin 89.
- ABC: Node 90 has dup fanin 84.
- ABC: Node 90 has dup fanin 89.
- ABC: Node 91 has dup fanin 77.
- ABC: Node 91 has dup fanin 90.
- ABC: Node 91 has dup fanin 77.
- ABC: Node 91 has dup fanin 90.
- ABC: Node 96 has dup fanin 91.
- ABC: Node 96 has dup fanin 95.
- ABC: Node 96 has dup fanin 91.
- ABC: Node 96 has dup fanin 95.
- ABC: Node 99 has dup fanin 59.
- ABC: Node 99 has dup fanin 60.
- ABC: Node 99 has dup fanin 59.
- ABC: Node 99 has dup fanin 60.
- ABC: Node 100 has dup fanin 48.
- ABC: Node 100 has dup fanin 50.
- ABC: Node 100 has dup fanin 48.
- ABC: Node 100 has dup fanin 50.
- ABC: Node 107 has dup fanin 100.
- ABC: Node 107 has dup fanin 105.
- ABC: Node 107 has dup fanin 100.
- ABC: Node 107 has dup fanin 105.
- ABC: Node 110 has dup fanin 58.
- ABC: Node 110 has dup fanin 75.
- ABC: Node 110 has dup fanin 58.
- ABC: Node 110 has dup fanin 75.
- ABC: Node 113 has dup fanin 98.
- ABC: Node 113 has dup fanin 112.
- ABC: Node 113 has dup fanin 98.
- ABC: Node 113 has dup fanin 112.
- ABC: Node 115 has dup fanin 106.
- ABC: Node 115 has dup fanin 107.
- ABC: Node 115 has dup fanin 106.
- ABC: Node 115 has dup fanin 107.
- ABC: Node 116 has dup fanin 102.
- ABC: Node 116 has dup fanin 104.
- ABC: Node 116 has dup fanin 102.
- ABC: Node 116 has dup fanin 104.
- ABC: Node 122 has dup fanin 113.
- ABC: Node 122 has dup fanin 121.
- ABC: Node 122 has dup fanin 113.
- ABC: Node 122 has dup fanin 121.
- ABC: Node 137 has dup fanin 135.
- ABC: Node 137 has dup fanin 136.
- ABC: Node 137 has dup fanin 135.
- ABC: Node 137 has dup fanin 136.
- ABC: Node 138 has dup fanin 132.
- ABC: Node 138 has dup fanin 137.
- ABC: Node 138 has dup fanin 132.
- ABC: Node 138 has dup fanin 137.
- ABC: Node 139 has dup fanin 127.
- ABC: Node 139 has dup fanin 138.
- ABC: Node 139 has dup fanin 127.
- ABC: Node 139 has dup fanin 138.
- ABC: Node 144 has dup fanin 142.
- ABC: Node 144 has dup fanin 143.
- ABC: Node 144 has dup fanin 142.
- ABC: Node 144 has dup fanin 143.
- ABC: Node 148 has dup fanin 144.
- ABC: Node 148 has dup fanin 147.
- ABC: Node 148 has dup fanin 144.
- ABC: Node 148 has dup fanin 147.
- ABC: Node 156 has dup fanin 129.
- ABC: Node 156 has dup fanin 131.
- ABC: Node 156 has dup fanin 129.
- ABC: Node 156 has dup fanin 131.
- ABC: Node 157 has dup fanin 151.
- ABC: Node 157 has dup fanin 155.
- ABC: Node 157 has dup fanin 151.
- ABC: Node 157 has dup fanin 155.
- ABC: Node 159 has dup fanin 148.
- ABC: Node 159 has dup fanin 158.
- ABC: Node 159 has dup fanin 148.
- ABC: Node 159 has dup fanin 158.
- ABC: Node 160 has dup fanin 139.
- ABC: Node 160 has dup fanin 159.
- ABC: Node 160 has dup fanin 139.
- ABC: Node 160 has dup fanin 159.
- ABC: Node 161 has dup fanin 156.
- ABC: Node 161 has dup fanin 157.
- ABC: Node 161 has dup fanin 156.
- ABC: Node 161 has dup fanin 157.
- ABC: Node 167 has dup fanin 153.
- ABC: Node 167 has dup fanin 154.
- ABC: Node 167 has dup fanin 153.
- ABC: Node 167 has dup fanin 154.
- ABC: Node 168 has dup fanin 166.
- ABC: Node 168 has dup fanin 167.
- ABC: Node 168 has dup fanin 166.
- ABC: Node 168 has dup fanin 167.
- ABC: Node 173 has dup fanin 169.
- ABC: Node 173 has dup fanin 172.
- ABC: Node 173 has dup fanin 169.
- ABC: Node 173 has dup fanin 172.
- ABC: Node 181 has dup fanin 125.
- ABC: Node 181 has dup fanin 126.
- ABC: Node 181 has dup fanin 125.
- ABC: Node 181 has dup fanin 126.
- ABC: Node 182 has dup fanin 180.
- ABC: Node 182 has dup fanin 181.
- ABC: Node 182 has dup fanin 180.
- ABC: Node 182 has dup fanin 181.
- ABC: Node 183 has dup fanin 179.
- ABC: Node 183 has dup fanin 182.
- ABC: Node 183 has dup fanin 179.
- ABC: Node 183 has dup fanin 182.
- ABC: Node 184 has dup fanin 161.
- ABC: Node 184 has dup fanin 174.
- ABC: Node 184 has dup fanin 161.
- ABC: Node 184 has dup fanin 174.
- ABC: Node 187 has dup fanin 160.
- ABC: Node 187 has dup fanin 185.
- ABC: Node 187 has dup fanin 160.
- ABC: Node 187 has dup fanin 185.
- ABC: Node 194 has dup fanin 192.
- ABC: Node 194 has dup fanin 193.
- ABC: Node 194 has dup fanin 192.
- ABC: Node 194 has dup fanin 193.
- ABC: Node 196 has dup fanin 194.
- ABC: Node 196 has dup fanin 195.
- ABC: Node 196 has dup fanin 194.
- ABC: Node 196 has dup fanin 195.
- ABC: Node 203 has dup fanin 201.
- ABC: Node 203 has dup fanin 202.
- ABC: Node 203 has dup fanin 201.
- ABC: Node 203 has dup fanin 202.
- ABC: Node 204 has dup fanin 198.
- ABC: Node 204 has dup fanin 203.
- ABC: Node 204 has dup fanin 198.
- ABC: Node 204 has dup fanin 203.
- ABC: Node 205 has dup fanin 197.
- ABC: Node 205 has dup fanin 204.
- ABC: Node 205 has dup fanin 197.
- ABC: Node 205 has dup fanin 204.
- ABC: Node 206 has dup fanin 196.
- ABC: Node 206 has dup fanin 205.
- ABC: Node 206 has dup fanin 196.
- ABC: Node 206 has dup fanin 205.
- ABC: Node 208 has dup fanin 206.
- ABC: Node 208 has dup fanin 207.
- ABC: Node 208 has dup fanin 206.
- ABC: Node 208 has dup fanin 207.
- ABC: Node 209 has dup fanin 189.
- ABC: Node 209 has dup fanin 208.
- ABC: Node 209 has dup fanin 189.
- ABC: Node 209 has dup fanin 208.
- ABC: Node 213 has dup fanin 186.
- ABC: Node 213 has dup fanin 187.
- ABC: Node 213 has dup fanin 186.
- ABC: Node 213 has dup fanin 187.
- ABC: Node 214 has dup fanin 183.
- ABC: Node 214 has dup fanin 184.
- ABC: Node 214 has dup fanin 183.
- ABC: Node 214 has dup fanin 184.
- ABC: Node 216 has dup fanin 163.
- ABC: Node 216 has dup fanin 165.
- ABC: Node 216 has dup fanin 163.
- ABC: Node 216 has dup fanin 165.
- ABC: Node 217 has dup fanin 215.
- ABC: Node 217 has dup fanin 216.
- ABC: Node 217 has dup fanin 215.
- ABC: Node 217 has dup fanin 216.
- ABC: Node 222 has dup fanin 218.
- ABC: Node 222 has dup fanin 221.
- ABC: Node 222 has dup fanin 218.
- ABC: Node 222 has dup fanin 221.
- ABC: Node 224 has dup fanin 168.
- ABC: Node 224 has dup fanin 173.
- ABC: Node 224 has dup fanin 168.
- ABC: Node 224 has dup fanin 173.
- ABC: Node 225 has dup fanin 223.
- ABC: Node 225 has dup fanin 224.
- ABC: Node 225 has dup fanin 223.
- ABC: Node 225 has dup fanin 224.
- ABC: Node 227 has dup fanin 176.
- ABC: Node 227 has dup fanin 178.
- ABC: Node 227 has dup fanin 176.
- ABC: Node 227 has dup fanin 178.
- ABC: Node 228 has dup fanin 226.
- ABC: Node 228 has dup fanin 227.
- ABC: Node 228 has dup fanin 226.
- ABC: Node 228 has dup fanin 227.
- ABC: Node 230 has dup fanin 228.
- ABC: Node 230 has dup fanin 229.
- ABC: Node 230 has dup fanin 228.
- ABC: Node 230 has dup fanin 229.
- ABC: Node 233 has dup fanin 214.
- ABC: Node 233 has dup fanin 231.
- ABC: Node 233 has dup fanin 214.
- ABC: Node 233 has dup fanin 231.
- ABC: Node 240 has dup fanin 217.
- ABC: Node 240 has dup fanin 222.
- ABC: Node 240 has dup fanin 217.
- ABC: Node 240 has dup fanin 222.
- ABC: Node 241 has dup fanin 239.
- ABC: Node 241 has dup fanin 240.
- ABC: Node 241 has dup fanin 239.
- ABC: Node 241 has dup fanin 240.
- ABC: Node 247 has dup fanin 241.
- ABC: Node 247 has dup fanin 246.
- ABC: Node 247 has dup fanin 241.
- ABC: Node 247 has dup fanin 246.
- ABC: Node 248 has dup fanin 238.
- ABC: Node 248 has dup fanin 247.
- ABC: Node 248 has dup fanin 238.
- ABC: Node 248 has dup fanin 247.
- ABC: Node 249 has dup fanin 94.
- ABC: Node 249 has dup fanin 248.
- ABC: Node 249 has dup fanin 94.
- ABC: Node 249 has dup fanin 248.
- ABC: Node 250 has dup fanin 97.
- ABC: Node 250 has dup fanin 249.
- ABC: Node 250 has dup fanin 97.
- ABC: Node 250 has dup fanin 249.
- ABC: Node 255 has dup fanin 225.
- ABC: Node 255 has dup fanin 230.
- ABC: Node 255 has dup fanin 225.
- ABC: Node 255 has dup fanin 230.
- ABC: Node 256 has dup fanin 254.
- ABC: Node 256 has dup fanin 255.
- ABC: Node 256 has dup fanin 254.
- ABC: Node 256 has dup fanin 255.
- ABC: Node 258 has dup fanin 232.
- ABC: Node 258 has dup fanin 233.
- ABC: Node 258 has dup fanin 232.
- ABC: Node 258 has dup fanin 233.
- ABC: Node 261 has dup fanin 245.
- ABC: Node 261 has dup fanin 256.
- ABC: Node 261 has dup fanin 245.
- ABC: Node 261 has dup fanin 256.
- ABC: Node 269 has dup fanin 237.
- ABC: Node 269 has dup fanin 237.
- ABC: Node 281 has dup fanin 279.
- ABC: Node 281 has dup fanin 280.
- ABC: Node 281 has dup fanin 279.
- ABC: Node 281 has dup fanin 280.
- ABC: Node 283 has dup fanin 281.
- ABC: Node 283 has dup fanin 282.
- ABC: Node 283 has dup fanin 281.
- ABC: Node 283 has dup fanin 282.
- ABC: Node 284 has dup fanin 276.
- ABC: Node 284 has dup fanin 283.
- ABC: Node 284 has dup fanin 276.
- ABC: Node 284 has dup fanin 283.
- ABC: Node 291 has dup fanin 274.
- ABC: Node 291 has dup fanin 275.
- ABC: Node 291 has dup fanin 274.
- ABC: Node 291 has dup fanin 275.
- ABC: Node 292 has dup fanin 290.
- ABC: Node 292 has dup fanin 291.
- ABC: Node 292 has dup fanin 290.
- ABC: Node 292 has dup fanin 291.
- ABC: Node 293 has dup fanin 289.
- ABC: Node 293 has dup fanin 292.
- ABC: Node 293 has dup fanin 289.
- ABC: Node 293 has dup fanin 292.
- ABC: Node 295 has dup fanin 286.
- ABC: Node 295 has dup fanin 294.
- ABC: Node 295 has dup fanin 286.
- ABC: Node 295 has dup fanin 294.
- ABC: Node 297 has dup fanin 295.
- ABC: Node 297 has dup fanin 296.
- ABC: Node 297 has dup fanin 295.
- ABC: Node 297 has dup fanin 296.
- ABC: Node 300 has dup fanin 298.
- ABC: Node 300 has dup fanin 299.
- ABC: Node 300 has dup fanin 298.
- ABC: Node 300 has dup fanin 299.
- ABC: Node 306 has dup fanin 300.
- ABC: Node 306 has dup fanin 301.
- ABC: Node 306 has dup fanin 300.
- ABC: Node 306 has dup fanin 301.
- ABC: Node 316 has dup fanin 314.
- ABC: Node 316 has dup fanin 315.
- ABC: Node 316 has dup fanin 314.
- ABC: Node 316 has dup fanin 315.
- ABC: Node 320 has dup fanin 285.
- ABC: Node 320 has dup fanin 319.
- ABC: Node 320 has dup fanin 285.
- ABC: Node 320 has dup fanin 319.
- ABC: Node 322 has dup fanin 320.
- ABC: Node 322 has dup fanin 321.
- ABC: Node 322 has dup fanin 320.
- ABC: Node 322 has dup fanin 321.
- ABC: Node 329 has dup fanin 327.
- ABC: Node 329 has dup fanin 328.
- ABC: Node 329 has dup fanin 327.
- ABC: Node 329 has dup fanin 328.
- ABC: Node 346 has dup fanin 344.
- ABC: Node 346 has dup fanin 345.
- ABC: Node 346 has dup fanin 344.
- ABC: Node 346 has dup fanin 345.
- ABC: Node 350 has dup fanin 325.
- ABC: Node 350 has dup fanin 349.
- ABC: Node 350 has dup fanin 325.
- ABC: Node 350 has dup fanin 349.
- ABC: Node 354 has dup fanin 212.
- ABC: Node 354 has dup fanin 353.
- ABC: Node 354 has dup fanin 212.
- ABC: Node 354 has dup fanin 353.
- ABC: Node 363 has dup fanin 342.
- ABC: Node 363 has dup fanin 346.
- ABC: Node 363 has dup fanin 342.
- ABC: Node 363 has dup fanin 346.
- ABC: Node 365 has dup fanin 305.
- ABC: Node 365 has dup fanin 364.
- ABC: Node 365 has dup fanin 305.
- ABC: Node 365 has dup fanin 364.
- ABC: Node 368 has dup fanin 338.
- ABC: Node 368 has dup fanin 367.
- ABC: Node 368 has dup fanin 338.
- ABC: Node 368 has dup fanin 367.
- ABC: Node 374 has dup fanin 111.
- ABC: Node 374 has dup fanin 373.
- ABC: Node 374 has dup fanin 111.
- ABC: Node 374 has dup fanin 373.
- ABC: Node 388 has dup fanin 250.
- ABC: Node 388 has dup fanin 251.
- ABC: Node 388 has dup fanin 250.
- ABC: Node 388 has dup fanin 251.
- ABC: + upsize -D 10000
- ABC: Current delay (6346.19 ps) does not exceed the target delay (10000.00 ps). Upsizing is not performed.
- ABC: + dnsize -D 10000
- ABC: + stime -p
- ABC: WireLoad = "none" Gates = 405 ( 18.0 %) Cap = 6.3 ff ( 3.6 %) Area = 3385.75 ( 82.0 %) Delay = 6227.36 ps ( 13.3 %)
- ABC: Path 0 -- 2 : 0 4 pi A = 0.00 Df = 12.2 -8.1 ps S = 25.3 ps Cin = 0.0 ff Cout = 9.9 ff Cmax = 0.0 ff G = 0
- ABC: Path 1 -- 39 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df = 34.5 -1.6 ps S = 24.8 ps Cin = 4.5 ff Cout = 3.8 ff Cmax = 331.4 ff G = 80
- ABC: Path 2 -- 40 : 1 5 sky130_fd_sc_hd__buf_1 A = 3.75 Df = 179.7 -34.3 ps S = 151.1 ps Cin = 2.1 ff Cout = 12.0 ff Cmax = 130.0 ff G = 548
- ABC: Path 3 -- 89 : 4 1 sky130_fd_sc_hd__o22a_2 A = 10.01 Df = 375.7 -36.8 ps S = 31.8 ps Cin = 2.4 ff Cout = 1.6 ff Cmax = 304.9 ff G = 63
- ABC: Path 4 -- 91 : 2 3 sky130_fd_sc_hd__or2_2 A = 6.26 Df = 672.3 -231.0 ps S = 64.4 ps Cin = 1.5 ff Cout = 6.2 ff Cmax = 299.4 ff G = 405
- ABC: Path 5 -- 92 : 4 3 sky130_fd_sc_hd__a2bb2o_2 A = 11.26 Df = 919.1 -10.8 ps S = 53.0 ps Cin = 1.7 ff Cout = 6.2 ff Cmax = 300.3 ff G = 340
- ABC: Path 6 -- 93 : 4 3 sky130_fd_sc_hd__a2bb2o_2 A = 11.26 Df =1178.1 -28.6 ps S = 52.6 ps Cin = 1.7 ff Cout = 6.0 ff Cmax = 300.3 ff G = 335
- ABC: Path 7 -- 99 : 4 3 sky130_fd_sc_hd__a2bb2o_2 A = 11.26 Df =1444.5 -18.7 ps S = 53.0 ps Cin = 1.7 ff Cout = 6.2 ff Cmax = 300.3 ff G = 340
- ABC: Path 8 -- 100 : 4 3 sky130_fd_sc_hd__a2bb2o_2 A = 11.26 Df =1695.7 -20.7 ps S = 52.6 ps Cin = 1.7 ff Cout = 6.0 ff Cmax = 300.3 ff G = 335
- ABC: Path 9 -- 108 : 4 2 sky130_fd_sc_hd__a2bb2o_2 A = 11.26 Df =1953.4 -18.8 ps S = 46.7 ps Cin = 1.7 ff Cout = 4.0 ff Cmax = 300.3 ff G = 219
- ABC: Path 10 -- 109 : 2 4 sky130_fd_sc_hd__or2_2 A = 6.26 Df =2240.5 -195.3 ps S = 68.0 ps Cin = 1.5 ff Cout = 7.4 ff Cmax = 299.4 ff G = 487
- ABC: Path 11 -- 359 : 4 3 sky130_fd_sc_hd__o22a_2 A = 10.01 Df =3179.3 -176.1 ps S = 70.2 ps Cin = 2.4 ff Cout = 10.9 ff Cmax = 304.9 ff G = 436
- ABC: Path 12 -- 360 : 3 2 sky130_fd_sc_hd__nor3_2 A = 10.01 Df =3326.2 -276.2 ps S = 181.3 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 92.5 ff G = 154
- ABC: Path 13 -- 369 : 2 2 sky130_fd_sc_hd__nor2_2 A = 6.26 Df =3394.1 -230.9 ps S = 95.9 ps Cin = 4.4 ff Cout = 6.1 ff Cmax = 141.9 ff G = 131
- ABC: Path 14 -- 370 : 2 2 sky130_fd_sc_hd__or2_2 A = 6.26 Df =3667.1 -386.4 ps S = 58.3 ps Cin = 1.5 ff Cout = 4.0 ff Cmax = 299.4 ff G = 262
- ABC: Path 15 -- 377 : 2 2 sky130_fd_sc_hd__and2_2 A = 7.51 Df =3874.7 -441.4 ps S = 67.4 ps Cin = 1.5 ff Cout = 9.2 ff Cmax = 303.0 ff G = 600
- ABC: Path 16 -- 378 : 4 1 sky130_fd_sc_hd__a2bb2oi_2 A = 15.01 Df =3993.4 -24.6 ps S = 66.8 ps Cin = 4.5 ff Cout = 1.5 ff Cmax = 130.0 ff G = 30
- ABC: Path 17 -- 379 : 3 1 sky130_fd_sc_hd__or3_2 A = 7.51 Df =4381.8 -312.9 ps S = 70.3 ps Cin = 1.5 ff Cout = 1.8 ff Cmax = 310.4 ff G = 113
- ABC: Path 18 -- 404 : 4 1 sky130_fd_sc_hd__or4_2 A = 8.76 Df =5010.5 -811.7 ps S = 92.2 ps Cin = 1.5 ff Cout = 1.8 ff Cmax = 310.4 ff G = 113
- ABC: Path 19 -- 407 : 2 1 sky130_fd_sc_hd__or2b_2 A = 8.76 Df =5299.5-1020.2 ps S = 46.5 ps Cin = 1.6 ff Cout = 1.5 ff Cmax = 312.2 ff G = 93
- ABC: Path 20 -- 410 : 3 5 sky130_fd_sc_hd__or3b_2 A = 8.76 Df =5814.0-1388.7 ps S = 114.3 ps Cin = 1.5 ff Cout = 14.1 ff Cmax = 269.2 ff G = 899
- ABC: Path 21 -- 411 : 1 5 sky130_fd_sc_hd__buf_1 A = 3.75 Df =5970.0-1374.7 ps S = 154.4 ps Cin = 2.1 ff Cout = 12.3 ff Cmax = 130.0 ff G = 557
- ABC: Path 22 -- 417 : 3 1 sky130_fd_sc_hd__o21a_2 A = 8.76 Df =6227.4-1423.4 ps S = 104.5 ps Cin = 2.4 ff Cout = 17.6 ff Cmax = 294.8 ff G = 740
- ABC: Start-point = pi1 (\kernel_in [1]). End-point = po1 ($auto$rtlil.cc:2290:MuxGate$3161).
- ABC: + print_stats -m
- ABC: netlist : i/o = 19/ 9 lat = 0 nd = 405 edge = 1167 area =3385.82 delay =26.00 lev = 26
- ABC: + write_blif /tmp/yosys-abc-EgZ9fD/output.blif
- 22.3.2. Re-integrating ABC results.
- ABC RESULTS: sky130_fd_sc_hd__a21bo_2 cells: 11
- ABC RESULTS: sky130_fd_sc_hd__a21boi_2 cells: 3
- ABC RESULTS: sky130_fd_sc_hd__a21o_2 cells: 2
- ABC RESULTS: sky130_fd_sc_hd__a21oi_2 cells: 4
- ABC RESULTS: sky130_fd_sc_hd__a221o_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__a22o_2 cells: 2
- ABC RESULTS: sky130_fd_sc_hd__a2bb2o_2 cells: 82
- ABC RESULTS: sky130_fd_sc_hd__a2bb2oi_2 cells: 6
- ABC RESULTS: sky130_fd_sc_hd__a32o_2 cells: 2
- ABC RESULTS: sky130_fd_sc_hd__and2_2 cells: 3
- ABC RESULTS: sky130_fd_sc_hd__and2b_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__and4_2 cells: 20
- ABC RESULTS: sky130_fd_sc_hd__buf_1 cells: 44
- ABC RESULTS: sky130_fd_sc_hd__inv_2 cells: 29
- ABC RESULTS: sky130_fd_sc_hd__nand2_2 cells: 3
- ABC RESULTS: sky130_fd_sc_hd__nor2_2 cells: 10
- ABC RESULTS: sky130_fd_sc_hd__nor3_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__o2111a_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__o211a_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__o21a_2 cells: 8
- ABC RESULTS: sky130_fd_sc_hd__o21ai_2 cells: 4
- ABC RESULTS: sky130_fd_sc_hd__o21ba_2 cells: 19
- ABC RESULTS: sky130_fd_sc_hd__o221a_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__o22a_2 cells: 57
- ABC RESULTS: sky130_fd_sc_hd__o22ai_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__o2bb2a_2 cells: 3
- ABC RESULTS: sky130_fd_sc_hd__o31a_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__o41a_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__or2_2 cells: 70
- ABC RESULTS: sky130_fd_sc_hd__or2b_2 cells: 5
- ABC RESULTS: sky130_fd_sc_hd__or3_2 cells: 3
- ABC RESULTS: sky130_fd_sc_hd__or3b_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__or4_2 cells: 5
- ABC RESULTS: internal signals: 489
- ABC RESULTS: input signals: 19
- ABC RESULTS: output signals: 9
- Removing temp directory.
- 22.4. Extracting gate netlist of module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1' to `/tmp/yosys-abc-UzbLjj/input.blif'..
- Extracted 180 gates and 215 wires to a netlist network with 34 inputs and 33 outputs.
- 22.4.1. Executing ABC.
- Running ABC command: /build/bin/yosys-abc -s -f /tmp/yosys-abc-UzbLjj/abc.script 2>&1
- ABC: ABC command line: "source /tmp/yosys-abc-UzbLjj/abc.script".
- ABC:
- ABC: + read_blif /tmp/yosys-abc-UzbLjj/input.blif
- ABC: + read_lib -w /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/trimmed.lib
- ABC: Parsing finished successfully. Parsing time = 0.09 sec
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfbbn_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrtp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfrtp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfsbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfstp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfstp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxbp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxtp_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dfxtp_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_1".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_2".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtn_4".
- ABC: Scl_LibertyReadGenlib() skipped sequential cell "sky130_fd_sc_hd__dlxtp_1".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_2".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_4".
- ABC: Scl_LibertyReadGenlib() skipped three-state cell "sky130_fd_sc_hd__ebufn_8".
- ABC: Library "sky130_fd_sc_hd__tt_025C_1v80" from "/project/openlane/user_proj_conv/runs/user_proj_conv/tmp/trimmed.lib" has 175 cells (17 skipped: 14 seq; 3 tri-state; 0 no func; 0 dont_use). Time = 0.12 sec
- ABC: Memory = 7.77 MB. Time = 0.12 sec
- ABC: Warning: Detected 2 multi-output gates (for example, "sky130_fd_sc_hd__fa_1").
- ABC: + read_constr -v /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/synthesis/yosys.sdc
- ABC: Setting driving cell to be "sky130_fd_sc_hd__inv_8".
- ABC: Setting output load to be 17.650000.
- ABC: + read_constr /project/openlane/user_proj_conv/runs/user_proj_conv/tmp/synthesis/yosys.sdc
- ABC: + fx
- ABC: + mfs
- ABC: + strash
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + retime -D -D 10000 -M 5
- ABC: + scleanup
- ABC: Error: The network is combinational.
- ABC: + fraig_store
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + balance
- ABC: + rewrite
- ABC: + refactor
- ABC: + balance
- ABC: + rewrite
- ABC: + rewrite -z
- ABC: + balance
- ABC: + refactor -z
- ABC: + rewrite -z
- ABC: + balance
- ABC: + fraig_store
- ABC: + fraig_restore
- ABC: + amap -m -Q 0.1 -F 20 -A 20 -C 5000
- ABC: + retime -D -D 10000
- ABC: + buffer -N 5 -S 1000.0
- ABC: + upsize -D 10000
- ABC: Current delay (7974.43 ps) does not exceed the target delay (10000.00 ps). Upsizing is not performed.
- ABC: + dnsize -D 10000
- ABC: + stime -p
- ABC: WireLoad = "none" Gates = 114 ( 34.2 %) Cap = 9.5 ff ( 4.9 %) Area = 775.74 ( 65.8 %) Delay = 4746.70 ps ( 64.9 %)
- ABC: Path 0 -- 22 : 0 3 pi A = 0.00 Df = 10.8 -7.3 ps S = 23.5 ps Cin = 0.0 ff Cout = 8.6 ff Cmax = 0.0 ff G = 0
- ABC: Path 1 -- 103 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =2674.5-1049.8 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 2 -- 104 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =2711.6-1036.0 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 3 -- 105 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =2774.1-1045.7 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 4 -- 106 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =2811.1-1031.9 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 5 -- 107 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =2873.6-1041.6 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 6 -- 108 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =2910.7-1027.8 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 7 -- 109 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =2973.2-1037.5 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 8 -- 110 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3010.3-1023.7 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 9 -- 111 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3072.8-1033.4 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 10 -- 112 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3109.8-1019.6 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 11 -- 113 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3172.3-1029.3 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 12 -- 114 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3209.4-1015.5 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 13 -- 115 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3271.9-1025.2 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 14 -- 116 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3309.0-1011.4 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 15 -- 117 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3371.5-1021.1 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 16 -- 118 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3408.5-1007.3 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 17 -- 119 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3471.0-1017.0 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 18 -- 120 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3508.1-1003.2 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 19 -- 121 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3570.6-1012.9 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 20 -- 122 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3607.7 -999.1 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 21 -- 123 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3670.2-1008.9 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 22 -- 124 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3707.2 -995.0 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 23 -- 125 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3769.7-1004.8 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 24 -- 126 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3806.8 -991.0 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 25 -- 127 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3869.3-1000.7 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 26 -- 128 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =3906.4 -986.9 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 27 -- 129 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =3968.9 -996.6 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 28 -- 130 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =4005.9 -982.8 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 29 -- 131 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =4068.5 -992.5 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 30 -- 132 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =4105.5 -978.7 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 31 -- 133 : 2 2 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =4168.0 -988.4 ps S = 57.0 ps Cin = 4.4 ff Cout = 7.1 ff Cmax = 295.7 ff G = 154
- ABC: Path 32 -- 134 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =4205.1 -974.6 ps S = 40.4 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 151
- ABC: Path 33 -- 135 : 2 4 sky130_fd_sc_hd__nand2_2 A = 6.26 Df =4277.8 -987.4 ps S = 71.0 ps Cin = 4.4 ff Cout = 9.9 ff Cmax = 295.7 ff G = 215
- ABC: Path 34 -- 138 : 2 3 sky130_fd_sc_hd__or2_2 A = 6.26 Df =4408.1 -822.4 ps S = 73.4 ps Cin = 1.5 ff Cout = 9.8 ff Cmax = 299.4 ff G = 637
- ABC: Path 35 -- 141 : 1 2 sky130_fd_sc_hd__inv_2 A = 3.75 Df =4445.9 -794.1 ps S = 45.1 ps Cin = 4.5 ff Cout = 7.1 ff Cmax = 331.4 ff G = 149
- ABC: Path 36 -- 146 : 4 1 sky130_fd_sc_hd__a211oi_2 A = 12.51 Df =4746.7 -357.6 ps S = 374.1 ps Cin = 4.4 ff Cout = 17.6 ff Cmax = 88.8 ff G = 405
- ABC: Start-point = pi21 (\counter [11]). End-point = po2 ($auto$rtlil.cc:2290:MuxGate$3281).
- ABC: + print_stats -m
- ABC: netlist : i/o = 34/ 33 lat = 0 nd = 114 edge = 278 area =775.75 delay =60.00 lev = 60
- ABC: + write_blif /tmp/yosys-abc-UzbLjj/output.blif
- 22.4.2. Re-integrating ABC results.
- ABC RESULTS: sky130_fd_sc_hd__a211oi_2 cells: 2
- ABC RESULTS: sky130_fd_sc_hd__buf_1 cells: 6
- ABC RESULTS: sky130_fd_sc_hd__inv_2 cells: 33
- ABC RESULTS: sky130_fd_sc_hd__nand2_2 cells: 27
- ABC RESULTS: sky130_fd_sc_hd__nor2_2 cells: 2
- ABC RESULTS: sky130_fd_sc_hd__nor3_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__o211a_2 cells: 27
- ABC RESULTS: sky130_fd_sc_hd__o21a_2 cells: 2
- ABC RESULTS: sky130_fd_sc_hd__o221a_2 cells: 2
- ABC RESULTS: sky130_fd_sc_hd__or2_2 cells: 1
- ABC RESULTS: sky130_fd_sc_hd__or4_2 cells: 11
- ABC RESULTS: internal signals: 148
- ABC RESULTS: input signals: 34
- ABC RESULTS: output signals: 33
- Removing temp directory.
- 22.5. Extracting gate netlist of module `\user_proj_conv' to `/tmp/yosys-abc-t6QOd1/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.
- 23. Executing SETUNDEF pass (replace undef values with defined constants).
- 24. Executing HILOMAP pass (mapping to constant drivers).
- 25. Executing SPLITNETS pass (splitting up multi-bit signals).
- 26. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module $paramod\convolve\BITS=9..
- Finding unused cells or wires in module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Finding unused cells or wires in module \user_proj_conv..
- Removed 0 unused cells and 1082 unused wires.
- <suppressed ~33 debug messages>
- 27. Executing INSBUF pass (insert buffer cells for connected wires).
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4266: \io_oeb [37] -> \io_oeb [20]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4267: \io_oeb [37] -> \io_oeb [21]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4268: \io_oeb [37] -> \io_oeb [22]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4269: \io_oeb [37] -> \io_oeb [23]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4270: \io_oeb [37] -> \io_oeb [24]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4271: \io_oeb [37] -> \io_oeb [25]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4272: \io_oeb [37] -> \io_oeb [26]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4273: \io_oeb [37] -> \io_oeb [27]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4274: \io_oeb [37] -> \io_oeb [28]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4275: \io_oeb [37] -> \io_oeb [29]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4276: \io_oeb [37] -> \io_oeb [30]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4277: \io_oeb [37] -> \io_oeb [31]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4278: \io_oeb [37] -> \io_oeb [32]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4279: \io_oeb [37] -> \io_oeb [33]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4280: \io_oeb [37] -> \io_oeb [34]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4281: \io_oeb [37] -> \io_oeb [35]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4282: \io_oeb [37] -> \io_oeb [36]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4283: \io_out [29] -> \io_out [20]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4284: \io_out [30] -> \io_out [21]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4285: \io_out [31] -> \io_out [22]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4286: \io_out [32] -> \io_out [23]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4287: \io_out [33] -> \io_out [24]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4288: \io_out [34] -> \io_out [25]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4289: \io_out [35] -> \io_out [26]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4290: \io_out [36] -> \io_out [27]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4291: \io_out [37] -> \io_out [28]
- 28. Executing CHECK pass (checking for obvious problems).
- checking module $paramod\convolve\BITS=9..
- Warning: Wire $paramod\convolve\BITS=9.$abc$2475$and$/project/openlane/user_proj_conv/../../verilog/rtl/user_proj_conv.v:180$125_Y is used but has no driver.
- checking module $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1..
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\ready is used but has no driver.
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out [8] is used but has no driver.
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out [7] is used but has no driver.
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out [6] is used but has no driver.
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out [5] is used but has no driver.
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out [4] is used but has no driver.
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out [3] is used but has no driver.
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out [2] is used but has no driver.
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out [1] is used but has no driver.
- Warning: Wire $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.\out [0] is used but has no driver.
- checking module $paramod\multiplier\BITS=9\KERNEL_SIZE=1..
- Warning: Wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out [8] is used but has no driver.
- Warning: Wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out [7] is used but has no driver.
- Warning: Wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out [6] is used but has no driver.
- Warning: Wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out [5] is used but has no driver.
- Warning: Wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out [4] is used but has no driver.
- Warning: Wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out [3] is used but has no driver.
- Warning: Wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out [2] is used but has no driver.
- Warning: Wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out [1] is used but has no driver.
- Warning: Wire $paramod\multiplier\BITS=9\KERNEL_SIZE=1.\pixel_out [0] is used but has no driver.
- checking module $paramod\shift_register\BITS=9\KERNEL_SIZE=1..
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\ready is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [8] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [7] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [6] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [5] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [4] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [3] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [2] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [1] is used but has no driver.
- Warning: Wire $paramod\shift_register\BITS=9\KERNEL_SIZE=1.\out [0] is used but has no driver.
- checking module user_proj_conv..
- Warning: Wire user_proj_conv.\wbs_dat_o [31] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [30] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [29] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [28] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [27] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [26] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [25] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [24] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [23] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [22] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [21] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [20] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [19] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [18] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [17] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [16] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [15] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [14] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [13] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [12] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [11] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [10] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [9] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [8] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [7] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [6] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [5] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [4] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [3] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [2] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [1] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_dat_o [0] is used but has no driver.
- Warning: Wire user_proj_conv.\wbs_ack_o is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [127] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [126] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [125] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [124] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [123] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [122] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [121] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [120] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [119] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [118] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [117] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [116] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [115] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [114] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [113] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [112] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [111] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [110] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [109] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [108] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [107] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [106] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [105] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [104] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [103] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [102] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [101] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [100] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [99] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [98] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [97] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [96] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [95] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [94] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [93] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [92] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [91] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [90] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [89] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [88] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [87] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [86] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [85] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [84] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [83] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [82] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [81] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [80] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [79] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [78] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [77] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [76] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [75] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [74] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [73] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [72] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [71] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [70] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [69] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [68] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [67] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [66] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [65] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [64] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [63] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [62] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [61] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [60] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [59] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [58] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [57] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [56] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [55] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [54] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [53] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [52] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [51] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [50] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [49] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [48] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [47] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [46] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [45] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [44] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [43] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [42] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [41] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [40] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [39] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [38] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [37] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [36] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [35] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [34] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [33] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [32] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [31] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [30] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [29] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [28] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [27] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [26] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [25] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [24] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [23] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [22] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [21] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [20] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [19] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [18] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [17] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [16] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [15] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [14] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [13] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [12] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [11] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [10] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [9] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [8] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [7] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [6] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [5] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [4] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [3] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [2] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [1] is used but has no driver.
- Warning: Wire user_proj_conv.\la_data_out [0] is used but has no driver.
- Warning: Wire user_proj_conv.\irq [2] is used but has no driver.
- Warning: Wire user_proj_conv.\irq [1] is used but has no driver.
- Warning: Wire user_proj_conv.\irq [0] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [28] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [27] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [26] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [25] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [24] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [23] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [22] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [21] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [20] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [19] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [18] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [17] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [16] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [15] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [14] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [13] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [12] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [11] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [10] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [9] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [8] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [7] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [6] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [5] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [4] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [3] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [2] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [1] is used but has no driver.
- Warning: Wire user_proj_conv.\io_out [0] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [36] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [35] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [34] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [33] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [32] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [31] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [30] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [29] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [28] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [27] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [26] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [25] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [24] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [23] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [22] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [21] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [20] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [19] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [18] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [17] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [16] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [15] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [14] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [13] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [12] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [11] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [10] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [9] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [8] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [7] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [6] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [5] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [4] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [3] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [2] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [1] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [0] is used but has no driver.
- Warning: Wire user_proj_conv.\io_oeb [37] is used but has no driver.
- Warning: Wire user_proj_conv.\clk is used but has no driver.
- found and reported 262 problems.
- 29. Printing statistics.
- === $paramod\convolve\BITS=9 ===
- Number of wires: 28
- Number of wire bits: 52
- Number of public wires: 27
- Number of public wire bits: 51
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 4
- $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 1
- $paramod\multiplier\BITS=9\KERNEL_SIZE=1 1
- $paramod\shift_register\BITS=9\KERNEL_SIZE=1 1
- sky130_fd_sc_hd__and2_2 1
- Area for cell type $paramod\multiplier\BITS=9\KERNEL_SIZE=1 is unknown!
- Area for cell type $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 is unknown!
- Area for cell type $paramod\shift_register\BITS=9\KERNEL_SIZE=1 is unknown!
- Chip area for module '$paramod\convolve\BITS=9': 7.507200
- === $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 30
- Number of wire bits: 46
- Number of public wires: 10
- Number of public wire bits: 26
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 34
- sky130_fd_sc_hd__a21oi_2 1
- sky130_fd_sc_hd__a22o_2 9
- sky130_fd_sc_hd__and2_2 3
- sky130_fd_sc_hd__buf_1 2
- sky130_fd_sc_hd__dfxtp_2 13
- sky130_fd_sc_hd__inv_2 2
- sky130_fd_sc_hd__nor3_2 1
- sky130_fd_sc_hd__nor4_2 1
- sky130_fd_sc_hd__o21a_2 1
- sky130_fd_sc_hd__or4b_2 1
- Chip area for module '$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1': 454.185600
- === $paramod\multiplier\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 410
- Number of wire bits: 434
- Number of public wires: 5
- Number of public wire bits: 29
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 414
- sky130_fd_sc_hd__a21bo_2 11
- sky130_fd_sc_hd__a21boi_2 3
- sky130_fd_sc_hd__a21o_2 2
- sky130_fd_sc_hd__a21oi_2 4
- sky130_fd_sc_hd__a221o_2 1
- sky130_fd_sc_hd__a22o_2 2
- sky130_fd_sc_hd__a2bb2o_2 82
- sky130_fd_sc_hd__a2bb2oi_2 6
- sky130_fd_sc_hd__a32o_2 2
- sky130_fd_sc_hd__and2_2 3
- sky130_fd_sc_hd__and2b_2 1
- sky130_fd_sc_hd__and4_2 20
- sky130_fd_sc_hd__buf_1 44
- sky130_fd_sc_hd__dfxtp_2 9
- sky130_fd_sc_hd__inv_2 29
- sky130_fd_sc_hd__nand2_2 3
- sky130_fd_sc_hd__nor2_2 10
- sky130_fd_sc_hd__nor3_2 1
- sky130_fd_sc_hd__o2111a_2 1
- sky130_fd_sc_hd__o211a_2 1
- sky130_fd_sc_hd__o21a_2 8
- sky130_fd_sc_hd__o21ai_2 4
- sky130_fd_sc_hd__o21ba_2 19
- sky130_fd_sc_hd__o221a_2 1
- sky130_fd_sc_hd__o22a_2 57
- sky130_fd_sc_hd__o22ai_2 1
- sky130_fd_sc_hd__o2bb2a_2 3
- sky130_fd_sc_hd__o31a_2 1
- sky130_fd_sc_hd__o41a_2 1
- sky130_fd_sc_hd__or2_2 70
- sky130_fd_sc_hd__or2b_2 5
- sky130_fd_sc_hd__or3_2 3
- sky130_fd_sc_hd__or3b_2 1
- sky130_fd_sc_hd__or4_2 5
- Chip area for module '$paramod\multiplier\BITS=9\KERNEL_SIZE=1': 3577.180800
- === $paramod\shift_register\BITS=9\KERNEL_SIZE=1 ===
- Number of wires: 151
- Number of wire bits: 167
- Number of public wires: 38
- Number of public wire bits: 54
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 155
- sky130_fd_sc_hd__a211oi_2 2
- sky130_fd_sc_hd__buf_1 6
- sky130_fd_sc_hd__conb_1 9
- sky130_fd_sc_hd__dfxtp_2 32
- sky130_fd_sc_hd__inv_2 33
- sky130_fd_sc_hd__nand2_2 27
- sky130_fd_sc_hd__nor2_2 2
- sky130_fd_sc_hd__nor3_2 1
- sky130_fd_sc_hd__o211a_2 27
- sky130_fd_sc_hd__o21a_2 2
- sky130_fd_sc_hd__o221a_2 2
- sky130_fd_sc_hd__or2_2 1
- sky130_fd_sc_hd__or4_2 11
- Chip area for module '$paramod\shift_register\BITS=9\KERNEL_SIZE=1': 1490.179200
- === user_proj_conv ===
- Number of wires: 18
- Number of wire bits: 608
- Number of public wires: 18
- Number of public wire bits: 608
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 233
- $paramod\convolve\BITS=9 1
- sky130_fd_sc_hd__buf_2 26
- sky130_fd_sc_hd__conb_1 204
- sky130_fd_sc_hd__mux2_1 2
- Area for cell type $paramod\convolve\BITS=9 is unknown!
- Chip area for module '\user_proj_conv': 918.380800
- === design hierarchy ===
- user_proj_conv 1
- $paramod\convolve\BITS=9 1
- $paramod\kernel_mem\BITS=9\KERNEL_SIZE=1 1
- $paramod\multiplier\BITS=9\KERNEL_SIZE=1 1
- $paramod\shift_register\BITS=9\KERNEL_SIZE=1 1
- Number of wires: 637
- Number of wire bits: 1307
- Number of public wires: 98
- Number of public wire bits: 768
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 836
- sky130_fd_sc_hd__a211oi_2 2
- sky130_fd_sc_hd__a21bo_2 11
- sky130_fd_sc_hd__a21boi_2 3
- sky130_fd_sc_hd__a21o_2 2
- sky130_fd_sc_hd__a21oi_2 5
- sky130_fd_sc_hd__a221o_2 1
- sky130_fd_sc_hd__a22o_2 11
- sky130_fd_sc_hd__a2bb2o_2 82
- sky130_fd_sc_hd__a2bb2oi_2 6
- sky130_fd_sc_hd__a32o_2 2
- sky130_fd_sc_hd__and2_2 7
- sky130_fd_sc_hd__and2b_2 1
- sky130_fd_sc_hd__and4_2 20
- sky130_fd_sc_hd__buf_1 52
- sky130_fd_sc_hd__buf_2 26
- sky130_fd_sc_hd__conb_1 213
- sky130_fd_sc_hd__dfxtp_2 54
- sky130_fd_sc_hd__inv_2 64
- sky130_fd_sc_hd__mux2_1 2
- sky130_fd_sc_hd__nand2_2 30
- sky130_fd_sc_hd__nor2_2 12
- sky130_fd_sc_hd__nor3_2 3
- sky130_fd_sc_hd__nor4_2 1
- sky130_fd_sc_hd__o2111a_2 1
- sky130_fd_sc_hd__o211a_2 28
- sky130_fd_sc_hd__o21a_2 11
- sky130_fd_sc_hd__o21ai_2 4
- sky130_fd_sc_hd__o21ba_2 19
- sky130_fd_sc_hd__o221a_2 3
- sky130_fd_sc_hd__o22a_2 57
- sky130_fd_sc_hd__o22ai_2 1
- sky130_fd_sc_hd__o2bb2a_2 3
- sky130_fd_sc_hd__o31a_2 1
- sky130_fd_sc_hd__o41a_2 1
- sky130_fd_sc_hd__or2_2 71
- sky130_fd_sc_hd__or2b_2 5
- sky130_fd_sc_hd__or3_2 3
- sky130_fd_sc_hd__or3b_2 1
- sky130_fd_sc_hd__or4_2 16
- sky130_fd_sc_hd__or4b_2 1
- Chip area for top module '\user_proj_conv': 6447.433600
- 30. Executing Verilog backend.
- Dumping module `$paramod\convolve\BITS=9'.
- Dumping module `$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Dumping module `$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Dumping module `$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Dumping module `\user_proj_conv'.
- 31. Executing Liberty frontend.
- Imported 428 cell types from liberty file.
- 32. Executing Verilog-2005 frontend: /project/openlane/user_proj_conv/runs/user_proj_conv/results/synthesis/user_proj_conv.synthesis.v
- Parsing SystemVerilog input from `/project/openlane/user_proj_conv/runs/user_proj_conv/results/synthesis/user_proj_conv.synthesis.v' to AST representation.
- Generating RTLIL representation for module `\$paramod\convolve\BITS=9'.
- Generating RTLIL representation for module `\$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1'.
- Generating RTLIL representation for module `\$paramod\multiplier\BITS=9\KERNEL_SIZE=1'.
- Generating RTLIL representation for module `\$paramod\shift_register\BITS=9\KERNEL_SIZE=1'.
- Generating RTLIL representation for module `\user_proj_conv'.
- Successfully finished Verilog frontend.
- 33. Executing SYNTH pass.
- 33.1. Executing HIERARCHY pass (managing design hierarchy).
- 33.1.1. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: \$paramod\convolve\BITS=9
- Used module: \$paramod\shift_register\BITS=9\KERNEL_SIZE=1
- Used module: \$paramod\multiplier\BITS=9\KERNEL_SIZE=1
- Used module: \$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1
- 33.1.2. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Used module: \$paramod\convolve\BITS=9
- Used module: \$paramod\shift_register\BITS=9\KERNEL_SIZE=1
- Used module: \$paramod\multiplier\BITS=9\KERNEL_SIZE=1
- Used module: \$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1
- Removed 0 unused modules.
- 33.2. Executing PROC pass (convert processes to netlists).
- 33.2.1. Executing PROC_CLEAN pass (remove empty switches from decision trees).
- Cleaned up 0 empty switches.
- 33.2.2. Executing PROC_RMDEAD pass (remove dead branches from decision trees).
- Removed a total of 0 dead cases.
- 33.2.3. Executing PROC_PRUNE pass (remove redundant assignments in processes).
- Removed 0 redundant assignments.
- Promoted 0 assignments to connections.
- 33.2.4. Executing PROC_INIT pass (extract init attributes).
- 33.2.5. Executing PROC_ARST pass (detect async resets in processes).
- 33.2.6. Executing PROC_MUX pass (convert decision trees to multiplexers).
- 33.2.7. Executing PROC_DLATCH pass (convert process syncs to latches).
- 33.2.8. Executing PROC_DFF pass (convert process syncs to FFs).
- 33.2.9. Executing PROC_CLEAN pass (remove empty switches from decision trees).
- Cleaned up 0 empty switches.
- 33.3. Executing FLATTEN pass (flatten design).
- Deleting now unused module \$paramod\shift_register\BITS=9\KERNEL_SIZE=1.
- Deleting now unused module \$paramod\multiplier\BITS=9\KERNEL_SIZE=1.
- Deleting now unused module \$paramod\kernel_mem\BITS=9\KERNEL_SIZE=1.
- Deleting now unused module \$paramod\convolve\BITS=9.
- <suppressed ~4 debug messages>
- 33.4. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.5. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.6. Executing CHECK pass (checking for obvious problems).
- checking module user_proj_conv..
- found and reported 0 problems.
- 33.7. Executing OPT pass (performing simple optimizations).
- 33.7.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.7.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.7.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Removed 0 multiplexer ports.
- 33.7.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 33.7.5. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.7.6. Executing OPT_DFF pass (perform DFF optimizations).
- 33.7.7. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.7.8. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.7.9. Finished OPT passes. (There is nothing left to do.)
- 33.8. Executing FSM pass (extract and optimize FSM).
- 33.8.1. Executing FSM_DETECT pass (finding FSMs in design).
- 33.8.2. Executing FSM_EXTRACT pass (extracting FSM from design).
- 33.8.3. Executing FSM_OPT pass (simple optimizations of FSMs).
- 33.8.4. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.8.5. Executing FSM_OPT pass (simple optimizations of FSMs).
- 33.8.6. Executing FSM_RECODE pass (re-assigning FSM state encoding).
- 33.8.7. Executing FSM_INFO pass (dumping all available information on FSM cells).
- 33.8.8. Executing FSM_MAP pass (mapping FSMs to basic logic).
- 33.9. Executing OPT pass (performing simple optimizations).
- 33.9.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.9.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.9.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Removed 0 multiplexer ports.
- 33.9.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 33.9.5. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.9.6. Executing OPT_DFF pass (perform DFF optimizations).
- 33.9.7. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.9.8. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.9.9. Finished OPT passes. (There is nothing left to do.)
- 33.10. Executing WREDUCE pass (reducing word size of cells).
- 33.11. Executing PEEPOPT pass (run peephole optimizers).
- 33.12. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.13. Executing ALUMACC pass (create $alu and $macc cells).
- Extracting $alu and $macc cells in module user_proj_conv:
- created 0 $alu and 0 $macc cells.
- 33.14. Executing SHARE pass (SAT-based resource sharing).
- 33.15. Executing OPT pass (performing simple optimizations).
- 33.15.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.15.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.15.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Removed 0 multiplexer ports.
- 33.15.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 33.15.5. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.15.6. Executing OPT_DFF pass (perform DFF optimizations).
- 33.15.7. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.15.8. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.15.9. Finished OPT passes. (There is nothing left to do.)
- 33.16. Executing MEMORY pass.
- 33.16.1. Executing OPT_MEM pass (optimize memories).
- Performed a total of 0 transformations.
- 33.16.2. Executing MEMORY_DFF pass (merging $dff cells to $memrd and $memwr).
- 33.16.3. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.16.4. Executing MEMORY_SHARE pass (consolidating $memrd/$memwr cells).
- 33.16.5. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.16.6. Executing MEMORY_COLLECT pass (generating $mem cells).
- 33.17. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.18. Executing OPT pass (performing simple optimizations).
- 33.18.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.18.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.18.3. Executing OPT_DFF pass (perform DFF optimizations).
- 33.18.4. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.18.5. Finished fast OPT passes.
- 33.19. Executing MEMORY_MAP pass (converting $mem cells to logic and flip-flops).
- 33.20. Executing OPT pass (performing simple optimizations).
- 33.20.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.20.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.20.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
- Running muxtree optimizer on module \user_proj_conv..
- Creating internal representation of mux trees.
- No muxes found in this module.
- Removed 0 multiplexer ports.
- 33.20.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
- Optimizing cells in module \user_proj_conv.
- Performed a total of 0 changes.
- 33.20.5. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.20.6. Executing OPT_SHARE pass.
- 33.20.7. Executing OPT_DFF pass (perform DFF optimizations).
- 33.20.8. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.20.9. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.20.10. Finished OPT passes. (There is nothing left to do.)
- 33.21. Executing TECHMAP pass (map to technology primitives).
- 33.21.1. Executing Verilog-2005 frontend: /build/bin/../share/yosys/techmap.v
- Parsing Verilog input from `/build/bin/../share/yosys/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_trunc'.
- Generating RTLIL representation for module `\_90_div'.
- Generating RTLIL representation for module `\_90_mod'.
- Generating RTLIL representation for module `\$__div_mod_floor'.
- Generating RTLIL representation for module `\_90_divfloor'.
- Generating RTLIL representation for module `\_90_modfloor'.
- 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.
- 33.21.2. Continuing TECHMAP pass.
- No more expansions possible.
- <suppressed ~67 debug messages>
- 33.22. Executing OPT pass (performing simple optimizations).
- 33.22.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.22.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.22.3. Executing OPT_DFF pass (perform DFF optimizations).
- 33.22.4. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.22.5. Finished fast OPT passes.
- 33.23. Executing ABC pass (technology mapping using ABC).
- 33.23.1. Extracting gate netlist of module `\user_proj_conv' 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.
- 33.24. Executing OPT pass (performing simple optimizations).
- 33.24.1. Executing OPT_EXPR pass (perform const folding).
- Optimizing module user_proj_conv.
- 33.24.2. Executing OPT_MERGE pass (detect identical cells).
- Finding identical cells in module `\user_proj_conv'.
- Removed a total of 0 cells.
- 33.24.3. Executing OPT_DFF pass (perform DFF optimizations).
- 33.24.4. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- 33.24.5. Finished fast OPT passes.
- 33.25. Executing HIERARCHY pass (managing design hierarchy).
- 33.25.1. Analyzing design hierarchy..
- Top module: \user_proj_conv
- 33.25.2. Analyzing design hierarchy..
- Top module: \user_proj_conv
- Removed 0 unused modules.
- 33.26. Printing statistics.
- === user_proj_conv ===
- Number of wires: 637
- Number of wire bits: 1307
- Number of public wires: 637
- Number of public wire bits: 1307
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 836
- sky130_fd_sc_hd__a211oi_2 2
- sky130_fd_sc_hd__a21bo_2 11
- sky130_fd_sc_hd__a21boi_2 3
- sky130_fd_sc_hd__a21o_2 2
- sky130_fd_sc_hd__a21oi_2 5
- sky130_fd_sc_hd__a221o_2 1
- sky130_fd_sc_hd__a22o_2 11
- sky130_fd_sc_hd__a2bb2o_2 82
- sky130_fd_sc_hd__a2bb2oi_2 6
- sky130_fd_sc_hd__a32o_2 2
- sky130_fd_sc_hd__and2_2 7
- sky130_fd_sc_hd__and2b_2 1
- sky130_fd_sc_hd__and4_2 20
- sky130_fd_sc_hd__buf_1 52
- sky130_fd_sc_hd__buf_2 26
- sky130_fd_sc_hd__conb_1 213
- sky130_fd_sc_hd__dfxtp_2 54
- sky130_fd_sc_hd__inv_2 64
- sky130_fd_sc_hd__mux2_1 2
- sky130_fd_sc_hd__nand2_2 30
- sky130_fd_sc_hd__nor2_2 12
- sky130_fd_sc_hd__nor3_2 3
- sky130_fd_sc_hd__nor4_2 1
- sky130_fd_sc_hd__o2111a_2 1
- sky130_fd_sc_hd__o211a_2 28
- sky130_fd_sc_hd__o21a_2 11
- sky130_fd_sc_hd__o21ai_2 4
- sky130_fd_sc_hd__o21ba_2 19
- sky130_fd_sc_hd__o221a_2 3
- sky130_fd_sc_hd__o22a_2 57
- sky130_fd_sc_hd__o22ai_2 1
- sky130_fd_sc_hd__o2bb2a_2 3
- sky130_fd_sc_hd__o31a_2 1
- sky130_fd_sc_hd__o41a_2 1
- sky130_fd_sc_hd__or2_2 71
- sky130_fd_sc_hd__or2b_2 5
- sky130_fd_sc_hd__or3_2 3
- sky130_fd_sc_hd__or3b_2 1
- sky130_fd_sc_hd__or4_2 16
- sky130_fd_sc_hd__or4b_2 1
- 33.27. Executing CHECK pass (checking for obvious problems).
- checking module user_proj_conv..
- found and reported 0 problems.
- 34. Executing SPLITNETS pass (splitting up multi-bit signals).
- 35. Executing OPT_CLEAN pass (remove unused cells and wires).
- Finding unused cells or wires in module \user_proj_conv..
- Removed 0 unused cells and 94 unused wires.
- <suppressed ~94 debug messages>
- 36. Executing INSBUF pass (insert buffer cells for connected wires).
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4364: \U1.kernel_mem.reset -> \io_oeb [37]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4365: \U1.img_output[0] -> \io_out [29]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4366: \U1.img_output[1] -> \io_out [30]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4367: \U1.img_output[2] -> \io_out [31]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4368: \U1.img_output[3] -> \io_out [32]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4369: \U1.img_output[4] -> \io_out [33]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4370: \U1.img_output[5] -> \io_out [34]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4371: \U1.img_output[6] -> \io_out [35]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4372: \U1.img_output[7] -> \io_out [36]
- Added user_proj_conv.$auto$insbuf.cc:79:execute$4373: \U1.img_output[8] -> \io_out [37]
- 37. Executing Verilog backend.
- Dumping module `\user_proj_conv'.
- 38. Executing CHECK pass (checking for obvious problems).
- checking module user_proj_conv..
- found and reported 0 problems.
- 39. Printing statistics.
- === user_proj_conv ===
- Number of wires: 623
- Number of wire bits: 1213
- Number of public wires: 623
- Number of public wire bits: 1213
- Number of memories: 0
- Number of memory bits: 0
- Number of processes: 0
- Number of cells: 846
- sky130_fd_sc_hd__a211oi_2 2
- sky130_fd_sc_hd__a21bo_2 11
- sky130_fd_sc_hd__a21boi_2 3
- sky130_fd_sc_hd__a21o_2 2
- sky130_fd_sc_hd__a21oi_2 5
- sky130_fd_sc_hd__a221o_2 1
- sky130_fd_sc_hd__a22o_2 11
- sky130_fd_sc_hd__a2bb2o_2 82
- sky130_fd_sc_hd__a2bb2oi_2 6
- sky130_fd_sc_hd__a32o_2 2
- sky130_fd_sc_hd__and2_2 7
- sky130_fd_sc_hd__and2b_2 1
- sky130_fd_sc_hd__and4_2 20
- sky130_fd_sc_hd__buf_1 52
- sky130_fd_sc_hd__buf_2 36
- sky130_fd_sc_hd__conb_1 213
- sky130_fd_sc_hd__dfxtp_2 54
- sky130_fd_sc_hd__inv_2 64
- sky130_fd_sc_hd__mux2_1 2
- sky130_fd_sc_hd__nand2_2 30
- sky130_fd_sc_hd__nor2_2 12
- sky130_fd_sc_hd__nor3_2 3
- sky130_fd_sc_hd__nor4_2 1
- sky130_fd_sc_hd__o2111a_2 1
- sky130_fd_sc_hd__o211a_2 28
- sky130_fd_sc_hd__o21a_2 11
- sky130_fd_sc_hd__o21ai_2 4
- sky130_fd_sc_hd__o21ba_2 19
- sky130_fd_sc_hd__o221a_2 3
- sky130_fd_sc_hd__o22a_2 57
- sky130_fd_sc_hd__o22ai_2 1
- sky130_fd_sc_hd__o2bb2a_2 3
- sky130_fd_sc_hd__o31a_2 1
- sky130_fd_sc_hd__o41a_2 1
- sky130_fd_sc_hd__or2_2 71
- sky130_fd_sc_hd__or2b_2 5
- sky130_fd_sc_hd__or3_2 3
- sky130_fd_sc_hd__or3b_2 1
- sky130_fd_sc_hd__or4_2 16
- sky130_fd_sc_hd__or4b_2 1
- Chip area for module '\user_proj_conv': 6497.481600
- Warnings: 263 unique messages, 273 total
- End of script. Logfile hash: a683a0d0e6, CPU: user 2.95s system 0.04s, MEM: 51.36 MB peak
- Yosys 0.9+3621 (git sha1 84e9fa7, gcc 8.3.1 -fPIC -Os)
- Time spent: 48% 3x abc (2 sec), 11% 6x stat (0 sec), ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement