Files
FPGA-Neural/hardware/v2/nms/synthesis/wt_direct_n4_t256/yosys.log
T
micheleandClaude Sonnet 5 8e014d8d49 V2.0.0 hardware freeze - single SDRAM
FASE #1 hardware freeze for FPGA-Neural V2, N4/P8, single external
SDRAM (Alliance Memory AS4C4M16SA-6TIN) serving weights, activations,
and results through one physical sdram_controller.v instance. Removes
the PSRAM dependency (hardware/v1/rtl/psram_controller.v +
memory_interface.v) from the V2 physical path entirely -- V1 itself
remains fully unmodified, the golden reference.

New RTL: sdram_unified_backend.v (2-way W/AR arbitration over one
SDRAM controller, real per-byte DQM write masking added to
sdram_controller.v for correct single-byte result writes with no
read-modify-write), nms_neural_multiprocessor_sdram_unified.v (the
frozen top-level). Two real bugs found and fixed via full-system
testing before being accepted (ERR-0023): a deadlock and an off-by-one
data-shift bug in the new arbitration logic.

Real results: N=4 and N=2 D-Stress bit-exact (256/256 neurons), 40
real AUTO REFRESH events interleaved with zero corruption, real
Yosys+nextpnr-ecp5 synthesis/P&R for LFE5U-45F-8CABGA381 (149/245
TRELLIS_IO, a real 45-pin reduction from the prior dual-memory
design). Timing is MARGINAL (1/8 P&R seeds >=80MHz), reported honestly
rather than masked by the best seed.

Real, sourced ball-level pinout for the SDRAM bus + clk/rst (39/149
signals, P&R-verified) using the official Lattice ECP5U-45 pinout CSV
found on disk during this step's own pre-commit review -- corrects an
earlier draft that wrongly assumed no real pinout data was available.

Chip readiness: NO. Real, disclosed blockers remain (no physical host
interface exists yet -- the RTL's own reg_* ports are a 110-pin raw
test-harness bus; clock source/PLL decision; power/configuration
component selection) -- see hardware/v2/docs/{HARDWARE_FREEZE,
CHIP_READINESS,OPEN_ITEMS}.md for the complete, itemized status.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013xXuuRUWZScuo1DeYJxs3v
2026-09-06 13:39:55 +02:00

1431 lines
105 KiB
Plaintext

/----------------------------------------------------------------------------\
| yosys -- Yosys Open SYnthesis Suite |
| Copyright (C) 2012 - 2026 Claire Xenia Wolf <claire@yosyshq.com> |
| Distributed under an ISC-like license, type "license" to see terms |
\----------------------------------------------------------------------------/
Yosys 0.68+post (git sha1 c12172fbae8af5e20f6fb52e3d4e92d56ed587b6, Release, AppleClang clang++ 21.0.0.21000101)
-- Running command `read_verilog hardware/v2/nms/rtl/nms_weight_direct.v hardware/v2/nms/synthesis/harness_nms_weight_direct.v; chparam -set N_SLOTS 4 -set MAX_TILES 256 harness_nms_weight_direct; synth_ecp5 -json hardware/v2/nms/synthesis/wt_direct_n4_t256/top.json -top harness_nms_weight_direct' --
1. Executing Verilog-2005 frontend: hardware/v2/nms/rtl/nms_weight_direct.v
Parsing Verilog input from `hardware/v2/nms/rtl/nms_weight_direct.v' to AST representation.
Generating RTLIL representation for module `\nms_weight_direct'.
Successfully finished Verilog frontend.
2. Executing Verilog-2005 frontend: hardware/v2/nms/synthesis/harness_nms_weight_direct.v
Parsing Verilog input from `hardware/v2/nms/synthesis/harness_nms_weight_direct.v' to AST representation.
Generating RTLIL representation for module `\harness_nms_weight_direct'.
Successfully finished Verilog frontend.
Parameter \N_SLOTS = 4
Parameter \MAX_TILES = 256
3. Executing AST frontend in derive mode using pre-parsed AST for module `\harness_nms_weight_direct'.
Parameter \N_SLOTS = 4
Parameter \MAX_TILES = 256
Generating RTLIL representation for module `$paramod$732dd3e4b12116a352abc787a52956ea59845b04\harness_nms_weight_direct'.
4. Executing SYNTH_LATTICE pass.
4.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/lattice/cells_sim_ecp5.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/lattice/cells_sim_ecp5.v' to AST representation.
Generating RTLIL representation for module `\LUT4'.
Generating RTLIL representation for module `\$__ABC9_LUT5'.
Generating RTLIL representation for module `\$__ABC9_LUT6'.
Generating RTLIL representation for module `\$__ABC9_LUT7'.
Generating RTLIL representation for module `\L6MUX21'.
Generating RTLIL representation for module `\TRELLIS_RAM16X2'.
Generating RTLIL representation for module `\PFUMX'.
Generating RTLIL representation for module `\TRELLIS_DPR16X4'.
Generating RTLIL representation for module `\DPR16X4C'.
Generating RTLIL representation for module `\LUT2'.
Generating RTLIL representation for module `\TRELLIS_FF'.
Generating RTLIL representation for module `\TRELLIS_IO'.
Generating RTLIL representation for module `\INV'.
Generating RTLIL representation for module `\TRELLIS_COMB'.
Generating RTLIL representation for module `\VLO'.
Generating RTLIL representation for module `\VHI'.
Generating RTLIL representation for module `\FD1P3AX'.
Generating RTLIL representation for module `\FD1P3AY'.
Generating RTLIL representation for module `\FD1P3BX'.
Generating RTLIL representation for module `\FD1P3DX'.
Generating RTLIL representation for module `\FD1P3IX'.
Generating RTLIL representation for module `\FD1P3JX'.
Generating RTLIL representation for module `\FD1S3AX'.
Generating RTLIL representation for module `\FD1S3AY'.
Generating RTLIL representation for module `\FD1S3BX'.
Generating RTLIL representation for module `\FD1S3DX'.
Generating RTLIL representation for module `\FD1S3IX'.
Generating RTLIL representation for module `\FD1S3JX'.
Generating RTLIL representation for module `\IFS1P3BX'.
Generating RTLIL representation for module `\IFS1P3DX'.
Generating RTLIL representation for module `\IFS1P3IX'.
Generating RTLIL representation for module `\IFS1P3JX'.
Generating RTLIL representation for module `\OFS1P3BX'.
Generating RTLIL representation for module `\OFS1P3DX'.
Generating RTLIL representation for module `\OFS1P3IX'.
Generating RTLIL representation for module `\OFS1P3JX'.
Generating RTLIL representation for module `\IB'.
Generating RTLIL representation for module `\IBPU'.
Generating RTLIL representation for module `\IBPD'.
Generating RTLIL representation for module `\OB'.
Generating RTLIL representation for module `\OBZ'.
Generating RTLIL representation for module `\OBZPU'.
Generating RTLIL representation for module `\OBZPD'.
Generating RTLIL representation for module `\OBCO'.
Generating RTLIL representation for module `\BB'.
Generating RTLIL representation for module `\BBPU'.
Generating RTLIL representation for module `\BBPD'.
Generating RTLIL representation for module `\ILVDS'.
Generating RTLIL representation for module `\OLVDS'.
Generating RTLIL representation for module `\CCU2C'.
Generating RTLIL representation for module `\DP16KD'.
Replacing existing blackbox module `\FD1P3AX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:2.1-2.261.
Generating RTLIL representation for module `\FD1P3AX'.
Replacing existing blackbox module `\FD1P3AY' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:3.1-3.261.
Generating RTLIL representation for module `\FD1P3AY'.
Replacing existing blackbox module `\FD1P3BX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:4.1-4.261.
Generating RTLIL representation for module `\FD1P3BX'.
Replacing existing blackbox module `\FD1P3DX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:5.1-5.261.
Generating RTLIL representation for module `\FD1P3DX'.
Replacing existing blackbox module `\FD1P3IX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:6.1-6.261.
Generating RTLIL representation for module `\FD1P3IX'.
Replacing existing blackbox module `\FD1P3JX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:7.1-7.261.
Generating RTLIL representation for module `\FD1P3JX'.
Replacing existing blackbox module `\FD1S3AX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:8.1-8.261.
Generating RTLIL representation for module `\FD1S3AX'.
Replacing existing blackbox module `\FD1S3AY' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:9.1-9.261.
Generating RTLIL representation for module `\FD1S3AY'.
Replacing existing blackbox module `\FD1S3BX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:10.1-10.261.
Generating RTLIL representation for module `\FD1S3BX'.
Replacing existing blackbox module `\FD1S3DX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:11.1-11.261.
Generating RTLIL representation for module `\FD1S3DX'.
Replacing existing blackbox module `\FD1S3IX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:12.1-12.261.
Generating RTLIL representation for module `\FD1S3IX'.
Replacing existing blackbox module `\FD1S3JX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:13.1-13.261.
Generating RTLIL representation for module `\FD1S3JX'.
Replacing existing blackbox module `\IFS1P3BX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:26.1-26.301.
Generating RTLIL representation for module `\IFS1P3BX'.
Replacing existing blackbox module `\IFS1P3DX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:27.1-27.301.
Generating RTLIL representation for module `\IFS1P3DX'.
Replacing existing blackbox module `\IFS1P3IX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:28.1-28.301.
Generating RTLIL representation for module `\IFS1P3IX'.
Replacing existing blackbox module `\IFS1P3JX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:29.1-29.301.
Generating RTLIL representation for module `\IFS1P3JX'.
Replacing existing blackbox module `\OFS1P3BX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:31.1-31.302.
Generating RTLIL representation for module `\OFS1P3BX'.
Replacing existing blackbox module `\OFS1P3DX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:32.1-32.302.
Generating RTLIL representation for module `\OFS1P3DX'.
Replacing existing blackbox module `\OFS1P3IX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:33.1-33.302.
Generating RTLIL representation for module `\OFS1P3IX'.
Replacing existing blackbox module `\OFS1P3JX' at /opt/homebrew/bin/../share/yosys/lattice/cells_ff.vh:34.1-34.302.
Generating RTLIL representation for module `\OFS1P3JX'.
Replacing existing blackbox module `\IB' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:2.1-2.157.
Generating RTLIL representation for module `\IB'.
Replacing existing blackbox module `\IBPU' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:3.1-3.157.
Generating RTLIL representation for module `\IBPU'.
Replacing existing blackbox module `\IBPD' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:4.1-4.157.
Generating RTLIL representation for module `\IBPD'.
Replacing existing blackbox module `\OB' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:5.1-5.157.
Generating RTLIL representation for module `\OB'.
Replacing existing blackbox module `\OBZ' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:6.1-6.164.
Generating RTLIL representation for module `\OBZ'.
Replacing existing blackbox module `\OBZPU' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:7.1-7.164.
Generating RTLIL representation for module `\OBZPU'.
Replacing existing blackbox module `\OBZPD' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:8.1-8.164.
Generating RTLIL representation for module `\OBZPD'.
Replacing existing blackbox module `\OBCO' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:9.1-9.90.
Generating RTLIL representation for module `\OBCO'.
Replacing existing blackbox module `\BB' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:10.1-10.179.
Generating RTLIL representation for module `\BB'.
Replacing existing blackbox module `\BBPU' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:11.1-11.179.
Generating RTLIL representation for module `\BBPU'.
Replacing existing blackbox module `\BBPD' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:12.1-12.179.
Generating RTLIL representation for module `\BBPD'.
Replacing existing blackbox module `\ILVDS' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:13.1-13.139.
Generating RTLIL representation for module `\ILVDS'.
Replacing existing blackbox module `\OLVDS' at /opt/homebrew/bin/../share/yosys/lattice/cells_io.vh:14.1-14.146.
Generating RTLIL representation for module `\OLVDS'.
Successfully finished Verilog frontend.
4.2. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/lattice/cells_bb_ecp5.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/lattice/cells_bb_ecp5.v' to AST representation.
Generating RTLIL representation for module `\GSR'.
Generating RTLIL representation for module `\PUR'.
Generating RTLIL representation for module `\SGSR'.
Generating RTLIL representation for module `\PDPW16KD'.
Generating RTLIL representation for module `\MULT18X18D'.
Generating RTLIL representation for module `\ALU54B'.
Generating RTLIL representation for module `\CLKDIVF'.
Generating RTLIL representation for module `\PCSCLKDIV'.
Generating RTLIL representation for module `\DCSC'.
Generating RTLIL representation for module `\DCCA'.
Generating RTLIL representation for module `\ECLKSYNCB'.
Generating RTLIL representation for module `\ECLKBRIDGECS'.
Generating RTLIL representation for module `\DELAYF'.
Generating RTLIL representation for module `\DELAYG'.
Generating RTLIL representation for module `\USRMCLK'.
Generating RTLIL representation for module `\DQSBUFM'.
Generating RTLIL representation for module `\DDRDLLA'.
Generating RTLIL representation for module `\DLLDELD'.
Generating RTLIL representation for module `\IDDRX1F'.
Generating RTLIL representation for module `\IDDRX2F'.
Generating RTLIL representation for module `\IDDR71B'.
Generating RTLIL representation for module `\IDDRX2DQA'.
Generating RTLIL representation for module `\ODDRX1F'.
Generating RTLIL representation for module `\ODDRX2F'.
Generating RTLIL representation for module `\ODDR71B'.
Generating RTLIL representation for module `\OSHX2A'.
Generating RTLIL representation for module `\TSHX2DQA'.
Generating RTLIL representation for module `\TSHX2DQSA'.
Generating RTLIL representation for module `\ODDRX2DQA'.
Generating RTLIL representation for module `\ODDRX2DQSB'.
Generating RTLIL representation for module `\EHXPLLL'.
Generating RTLIL representation for module `\DTR'.
Generating RTLIL representation for module `\OSCG'.
Generating RTLIL representation for module `\EXTREFB'.
Generating RTLIL representation for module `\JTAGG'.
Generating RTLIL representation for module `\DCUA'.
Successfully finished Verilog frontend.
4.3. Executing HIERARCHY pass (managing design hierarchy).
4.3.1. Analyzing design hierarchy..
Top module: \harness_nms_weight_direct
Used module: \nms_weight_direct
Parameter \DATA_WIDTH = 8
Parameter \P_IN = 8
Parameter \N_SLOTS = 4
Parameter \MAX_TILES = 256
4.3.2. Executing AST frontend in derive mode using pre-parsed AST for module `\nms_weight_direct'.
Parameter \DATA_WIDTH = 8
Parameter \P_IN = 8
Parameter \N_SLOTS = 4
Parameter \MAX_TILES = 256
Generating RTLIL representation for module `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct'.
4.3.3. Analyzing design hierarchy..
Top module: \harness_nms_weight_direct
Used module: $paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct
4.3.4. Analyzing design hierarchy..
Top module: \harness_nms_weight_direct
Used module: $paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct
Removing unused module `\nms_weight_direct'.
Removed 1 unused modules.
4.4. Executing PROC pass (convert processes to netlists).
4.4.1. Executing PROC_CLEAN pass (remove empty switches from decision trees).
Cleaned up 0 empty switches.
4.4.2. Executing PROC_RMDEAD pass (remove dead branches from decision trees).
Marked 1 switch rules as full_case in process $proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:19$48 in module harness_nms_weight_direct.
Marked 1 switch rules as full_case in process $proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:41$53 in module harness_nms_weight_direct.
Marked 1 switch rules as full_case in process $proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$311 in module $paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.
Marked 1 switch rules as full_case in process $proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$303 in module $paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.
Marked 1 switch rules as full_case in process $proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$295 in module $paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.
Marked 1 switch rules as full_case in process $proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$287 in module $paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.
Removed a total of 0 dead cases.
4.4.3. Executing PROC_PRUNE pass (remove redundant assignments in processes).
Removed 2 redundant assignments.
Promoted 14 assignments to connections.
4.4.4. Executing PROC_INIT pass (extract init attributes).
4.4.5. Executing PROC_ARST pass (detect async resets in processes).
4.4.6. Executing PROC_ROM pass (convert switches to ROMs).
Converted 0 switches.
<suppressed ~10 debug messages>
4.4.7. Executing PROC_MUX pass (convert decision trees to multiplexers).
Creating decoders for process `\harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:19$48'.
1/1: $0\lfsr[31:0]
Creating decoders for process `\harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:41$53'.
1/3: $0\chk[7:0]
2/3: $1\chk_next[7:0]
3/3: $1\k[31:0]
Creating decoders for process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$311'.
1/4: $1$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$317
2/4: $1$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_DATA[63:0]$316
3/4: $1$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_ADDR[7:0]$315
4/4: $0\GEN_SLOT[3].rd_data_reg[63:0]
Creating decoders for process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$303'.
1/4: $1$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$309
2/4: $1$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_DATA[63:0]$308
3/4: $1$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_ADDR[7:0]$307
4/4: $0\GEN_SLOT[2].rd_data_reg[63:0]
Creating decoders for process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$295'.
1/4: $1$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$301
2/4: $1$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_DATA[63:0]$300
3/4: $1$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_ADDR[7:0]$299
4/4: $0\GEN_SLOT[1].rd_data_reg[63:0]
Creating decoders for process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$287'.
1/4: $1$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$293
2/4: $1$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_DATA[63:0]$292
3/4: $1$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_ADDR[7:0]$291
4/4: $0\GEN_SLOT[0].rd_data_reg[63:0]
4.4.8. Executing PROC_DLATCH pass (convert process syncs to latches).
4.4.9. Executing PROC_DFF pass (convert process syncs to FFs).
Creating register for signal `\harness_nms_weight_direct.\lfsr' using process `\harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:19$48'.
created $dff cell `$procdff$375' with positive edge clock.
Creating register for signal `\harness_nms_weight_direct.\k' using process `\harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:41$53'.
created $dff cell `$procdff$376' with positive edge clock.
Creating register for signal `\harness_nms_weight_direct.\chk' using process `\harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:41$53'.
created $dff cell `$procdff$377' with positive edge clock.
Creating register for signal `\harness_nms_weight_direct.\chk_next' using process `\harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:41$53'.
created $dff cell `$procdff$378' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.\GEN_SLOT[3].rd_data_reg' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$311'.
created $dff cell `$procdff$379' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_ADDR' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$311'.
created $dff cell `$procdff$380' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_DATA' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$311'.
created $dff cell `$procdff$381' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$311'.
created $dff cell `$procdff$382' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.\GEN_SLOT[2].rd_data_reg' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$303'.
created $dff cell `$procdff$383' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_ADDR' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$303'.
created $dff cell `$procdff$384' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_DATA' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$303'.
created $dff cell `$procdff$385' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$303'.
created $dff cell `$procdff$386' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.\GEN_SLOT[1].rd_data_reg' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$295'.
created $dff cell `$procdff$387' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_ADDR' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$295'.
created $dff cell `$procdff$388' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_DATA' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$295'.
created $dff cell `$procdff$389' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$295'.
created $dff cell `$procdff$390' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.\GEN_SLOT[0].rd_data_reg' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$287'.
created $dff cell `$procdff$391' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_ADDR' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$287'.
created $dff cell `$procdff$392' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_DATA' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$287'.
created $dff cell `$procdff$393' with positive edge clock.
Creating register for signal `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN' using process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$287'.
created $dff cell `$procdff$394' with positive edge clock.
4.4.10. Executing PROC_MEMWR pass (convert process memory writes to cells).
4.4.11. Executing PROC_CLEAN pass (remove empty switches from decision trees).
Found and cleaned up 1 empty switch in `\harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:19$48'.
Removing empty process `harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:19$48'.
Found and cleaned up 1 empty switch in `\harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:41$53'.
Removing empty process `harness_nms_weight_direct.$proc$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:41$53'.
Found and cleaned up 2 empty switches in `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$311'.
Removing empty process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$311'.
Found and cleaned up 2 empty switches in `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$303'.
Removing empty process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$303'.
Found and cleaned up 2 empty switches in `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$295'.
Removing empty process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$295'.
Found and cleaned up 2 empty switches in `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$287'.
Removing empty process `$paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.$proc$hardware/v2/nms/rtl/nms_weight_direct.v:37$287'.
Cleaned up 10 empty switches.
4.4.12. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
<suppressed ~1 debug messages>
Optimizing module $paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.
4.5. Executing CHECK pass (checking for obvious problems).
Checking module harness_nms_weight_direct...
Checking module $paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct...
Found and reported 0 problems.
4.6. Executing FLATTEN pass (flatten design).
Deleting now unused module $paramod$01c1b177b4e21cad8cb8d0255aedb61291a7366c\nms_weight_direct.
<suppressed ~1 debug messages>
4.7. Executing TRIBUF pass.
4.8. Executing DEMINOUT pass (demote inout ports to input or output).
4.9. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.10. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
Removed 16 unused cells and 71 unused wires.
<suppressed ~19 debug messages>
4.11. Executing CHECK pass (checking for obvious problems).
Checking module harness_nms_weight_direct...
Found and reported 0 problems.
4.12. Executing OPT pass (performing simple optimizations).
4.12.1. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.12.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 40 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.12.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \harness_nms_weight_direct..
Creating internal representation of mux trees.
Evaluating internal representation of mux trees.
Replacing known input bits on port B of cell $flatten\dut.$procmux$368: { \lfsr \lfsr } -> { \lfsr [31:1] 1'1 \lfsr [31:1] 1'1 }
Replacing known input bits on port B of cell $flatten\dut.$procmux$371: \lfsr [7:0] -> { \lfsr [7:1] 1'1 }
Replacing known input bits on port B of cell $flatten\dut.$procmux$357: { \lfsr \lfsr } -> { \lfsr [31:2] 1'1 \lfsr [0] \lfsr [31:2] 1'1 \lfsr [0] }
Replacing known input bits on port B of cell $flatten\dut.$procmux$346: { \lfsr \lfsr } -> { \lfsr [31:3] 1'1 \lfsr [1:0] \lfsr [31:3] 1'1 \lfsr [1:0] }
Replacing known input bits on port B of cell $flatten\dut.$procmux$335: { \lfsr \lfsr } -> { \lfsr [31:4] 1'1 \lfsr [2:0] \lfsr [31:4] 1'1 \lfsr [2:0] }
Analyzing evaluation results.
Removed 0 multiplexer ports.
<suppressed ~36 debug messages>
4.12.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
Optimizing cells in module \harness_nms_weight_direct.
Consolidated identical input bits for $mux cell $flatten\dut.$procmux$365:
Old ports: A=64'0000000000000000000000000000000000000000000000000000000000000000, B=64'1111111111111111111111111111111111111111111111111111111111111111, Y=$flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290
New ports: A=1'0, B=1'1, Y=$flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0]
New connections: $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [63:1] = { $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] $flatten\dut.$0$memwr$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$283_EN[63:0]$290 [0] }
Consolidated identical input bits for $mux cell $flatten\dut.$procmux$354:
Old ports: A=64'0000000000000000000000000000000000000000000000000000000000000000, B=64'1111111111111111111111111111111111111111111111111111111111111111, Y=$flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298
New ports: A=1'0, B=1'1, Y=$flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0]
New connections: $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [63:1] = { $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] $flatten\dut.$0$memwr$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$284_EN[63:0]$298 [0] }
Consolidated identical input bits for $mux cell $flatten\dut.$procmux$343:
Old ports: A=64'0000000000000000000000000000000000000000000000000000000000000000, B=64'1111111111111111111111111111111111111111111111111111111111111111, Y=$flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306
New ports: A=1'0, B=1'1, Y=$flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0]
New connections: $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [63:1] = { $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] $flatten\dut.$0$memwr$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$285_EN[63:0]$306 [0] }
Consolidated identical input bits for $mux cell $flatten\dut.$procmux$332:
Old ports: A=64'0000000000000000000000000000000000000000000000000000000000000000, B=64'1111111111111111111111111111111111111111111111111111111111111111, Y=$flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314
New ports: A=1'0, B=1'1, Y=$flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0]
New connections: $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [63:1] = { $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] $flatten\dut.$0$memwr$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:39$286_EN[63:0]$314 [0] }
Optimizing cells in module \harness_nms_weight_direct.
Performed a total of 4 changes.
4.12.5. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 40 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.12.6. Executing OPT_DFF pass (perform DFF optimizations).
4.12.7. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.12.8. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.12.9. Rerunning OPT passes. (Maybe there is more to do..)
4.12.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \harness_nms_weight_direct..
Creating internal representation of mux trees.
Evaluating internal representation of mux trees.
Analyzing evaluation results.
Removed 0 multiplexer ports.
<suppressed ~36 debug messages>
4.12.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
Optimizing cells in module \harness_nms_weight_direct.
Performed a total of 0 changes.
4.12.12. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 40 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.12.13. Executing OPT_DFF pass (perform DFF optimizations).
4.12.14. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.12.15. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.12.16. Finished fast OPT passes. (There is nothing left to do.)
4.13. Executing FSM pass (extract and optimize FSM).
4.13.1. Executing FSM_DETECT pass (finding FSMs in design).
4.13.2. Executing FSM_EXTRACT pass (extracting FSM from design).
4.13.3. Executing FSM_OPT pass (simple optimizations of FSMs).
4.13.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.13.5. Executing FSM_OPT pass (simple optimizations of FSMs).
4.13.6. Executing FSM_RECODE pass (re-assigning FSM state encoding).
4.13.7. Executing FSM_INFO pass (dumping all available information on FSM cells).
4.13.8. Executing FSM_MAP pass (mapping FSMs to basic logic).
4.14. Executing OPT pass (performing simple optimizations).
4.14.1. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.14.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 40 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.14.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \harness_nms_weight_direct..
Creating internal representation of mux trees.
Evaluating internal representation of mux trees.
Analyzing evaluation results.
Removed 0 multiplexer ports.
<suppressed ~36 debug messages>
4.14.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
Optimizing cells in module \harness_nms_weight_direct.
Performed a total of 0 changes.
4.14.5. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 40 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.14.6. Executing OPT_DFF pass (perform DFF optimizations).
Adding SRST signal on $procdff$375 ($dff) from module harness_nms_weight_direct (D = { \lfsr [30:7] $xor$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:21$52_Y }, Q = { \lfsr [31:8] \lfsr [0] }, rval = 25'0000000000000000000000001).
Adding SRST signal on $procdff$377 ($dff) from module harness_nms_weight_direct (D = $xor$hardware/v2/nms/synthesis/harness_nms_weight_direct.v:47$57_Y, Q = \chk, rval = 8'00000000).
Adding EN signal on $flatten\dut.$procdff$391 ($dff) from module harness_nms_weight_direct (D = $flatten\dut.$memrd$\GEN_SLOT[0].mem$hardware/v2/nms/rtl/nms_weight_direct.v:41$294_DATA, Q = \dut.GEN_SLOT[0].rd_data_reg).
Adding EN signal on $flatten\dut.$procdff$387 ($dff) from module harness_nms_weight_direct (D = $flatten\dut.$memrd$\GEN_SLOT[1].mem$hardware/v2/nms/rtl/nms_weight_direct.v:41$302_DATA, Q = \dut.GEN_SLOT[1].rd_data_reg).
Adding EN signal on $flatten\dut.$procdff$383 ($dff) from module harness_nms_weight_direct (D = $flatten\dut.$memrd$\GEN_SLOT[2].mem$hardware/v2/nms/rtl/nms_weight_direct.v:41$310_DATA, Q = \dut.GEN_SLOT[2].rd_data_reg).
Adding EN signal on $flatten\dut.$procdff$379 ($dff) from module harness_nms_weight_direct (D = $flatten\dut.$memrd$\GEN_SLOT[3].mem$hardware/v2/nms/rtl/nms_weight_direct.v:41$318_DATA, Q = \dut.GEN_SLOT[3].rd_data_reg).
4.14.7. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
Removed 5 unused cells and 5 unused wires.
<suppressed ~6 debug messages>
4.14.8. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.14.9. Rerunning OPT passes. (Maybe there is more to do..)
4.14.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \harness_nms_weight_direct..
Creating internal representation of mux trees.
Evaluating internal representation of mux trees.
Analyzing evaluation results.
Removed 0 multiplexer ports.
<suppressed ~26 debug messages>
4.14.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
Optimizing cells in module \harness_nms_weight_direct.
Performed a total of 0 changes.
4.14.12. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 36 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.14.13. Executing OPT_DFF pass (perform DFF optimizations).
4.14.14. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.14.15. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.14.16. Finished fast OPT passes. (There is nothing left to do.)
4.15. Executing WREDUCE pass (reducing word size of cells).
Removed top 56 bits (of 64) from FF cell harness_nms_weight_direct.$auto$ff.cc:337:slice$406 ($dffe).
Removed top 56 bits (of 64) from FF cell harness_nms_weight_direct.$auto$ff.cc:337:slice$405 ($dffe).
Removed top 56 bits (of 64) from FF cell harness_nms_weight_direct.$auto$ff.cc:337:slice$404 ($dffe).
Removed top 56 bits (of 64) from FF cell harness_nms_weight_direct.$auto$ff.cc:337:slice$403 ($dffe).
Removed top 24 bits (of 32) from mux cell harness_nms_weight_direct.$procmux$320 ($mux).
Removed top 56 bits (of 256) from wire harness_nms_weight_direct.rd_data_flat.
Removed top 24 bits (of 32) from wire harness_nms_weight_direct.$0\lfsr[31:0].
4.16. Executing PEEPOPT pass (run peephole optimizers).
4.17. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
Removed 0 unused cells and 2 unused wires.
<suppressed ~1 debug messages>
4.18. Executing SHARE pass (SAT-based resource sharing).
4.19. Executing TECHMAP pass (map to technology primitives).
4.19.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/cmp2lut.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/cmp2lut.v' to AST representation.
Generating RTLIL representation for module `\_90_lut_cmp_'.
Successfully finished Verilog frontend.
4.19.2. Continuing TECHMAP pass.
No more expansions possible.
<suppressed ~6 debug messages>
4.20. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.21. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.22. Executing TECHMAP pass (map to technology primitives).
4.22.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/mul2dsp.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/mul2dsp.v' to AST representation.
Generating RTLIL representation for module `\_80_mul'.
Generating RTLIL representation for module `\_90_soft_mul'.
Successfully finished Verilog frontend.
4.22.2. Continuing TECHMAP pass.
No more expansions possible.
<suppressed ~4 debug messages>
4.23. Executing TECHMAP pass (map to technology primitives).
4.23.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/lattice/dsp_map_18x18.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/lattice/dsp_map_18x18.v' to AST representation.
Generating RTLIL representation for module `$__MUL18X18'.
Successfully finished Verilog frontend.
4.23.2. Continuing TECHMAP pass.
No more expansions possible.
<suppressed ~3 debug messages>
4.24. Executing ALUMACC pass (create $alu and $macc cells).
Extracting $alu and $macc cells in module harness_nms_weight_direct:
created 0 $alu and 0 $macc cells.
4.25. Executing OPT pass (performing simple optimizations).
4.25.1. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.25.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 36 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.25.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \harness_nms_weight_direct..
Creating internal representation of mux trees.
Evaluating internal representation of mux trees.
Analyzing evaluation results.
Removed 0 multiplexer ports.
<suppressed ~26 debug messages>
4.25.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
Optimizing cells in module \harness_nms_weight_direct.
Performed a total of 0 changes.
4.25.5. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 36 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.25.6. Executing OPT_DFF pass (perform DFF optimizations).
4.25.7. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.25.8. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.25.9. Finished fast OPT passes. (There is nothing left to do.)
4.26. Executing MEMORY pass.
4.26.1. Executing OPT_MEM pass (optimize memories).
Performed a total of 0 transformations.
4.26.2. Executing OPT_MEM_PRIORITY pass (removing unnecessary memory write priority relations).
Performed a total of 0 transformations.
4.26.3. Executing OPT_MEM_FEEDBACK pass (finding memory read-to-write feedback paths).
Analyzing harness_nms_weight_direct.dut.GEN_SLOT[0].mem write port 0.
Analyzing harness_nms_weight_direct.dut.GEN_SLOT[1].mem write port 0.
Analyzing harness_nms_weight_direct.dut.GEN_SLOT[2].mem write port 0.
Analyzing harness_nms_weight_direct.dut.GEN_SLOT[3].mem write port 0.
4.26.4. Executing MEMORY_BMUX2ROM pass (converting muxes to ROMs).
4.26.5. Executing MEMORY_DFF pass (merging $dff cells to $memrd).
Checking read port `\dut.GEN_SLOT[0].mem'[0] in module `\harness_nms_weight_direct': merging output FF to cell.
Write port 0: non-transparent.
Checking read port `\dut.GEN_SLOT[1].mem'[0] in module `\harness_nms_weight_direct': merging output FF to cell.
Write port 0: non-transparent.
Checking read port `\dut.GEN_SLOT[2].mem'[0] in module `\harness_nms_weight_direct': merging output FF to cell.
Write port 0: non-transparent.
Checking read port `\dut.GEN_SLOT[3].mem'[0] in module `\harness_nms_weight_direct': merging output FF to cell.
Write port 0: non-transparent.
4.26.6. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
Removed 4 unused cells and 32 unused wires.
<suppressed ~5 debug messages>
4.26.7. Executing MEMORY_SHARE pass (consolidating $memrd/$memwr cells).
4.26.8. Executing OPT_MEM_WIDEN pass (optimize memories where all ports are wide).
Performed a total of 0 transformations.
4.26.9. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.26.10. Executing MEMORY_COLLECT pass (generating $mem cells).
4.27. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.28. Executing MEMORY_LIBMAP pass (mapping memories to cells).
mapping memory harness_nms_weight_direct.dut.GEN_SLOT[2].mem via $__PDPW16KD_
mapping memory harness_nms_weight_direct.dut.GEN_SLOT[1].mem via $__PDPW16KD_
mapping memory harness_nms_weight_direct.dut.GEN_SLOT[3].mem via $__PDPW16KD_
mapping memory harness_nms_weight_direct.dut.GEN_SLOT[0].mem via $__PDPW16KD_
<suppressed ~2018 debug messages>
4.29. Executing TECHMAP pass (map to technology primitives).
4.29.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/lattice/lutrams_map_trellis.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/lattice/lutrams_map_trellis.v' to AST representation.
Generating RTLIL representation for module `$__TRELLIS_DPR16X4_'.
Successfully finished Verilog frontend.
4.29.2. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/lattice/brams_map_16kd.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/lattice/brams_map_16kd.v' to AST representation.
Generating RTLIL representation for module `$__DP16KD_'.
Generating RTLIL representation for module `$__PDPW16KD_'.
Successfully finished Verilog frontend.
4.29.3. Continuing TECHMAP pass.
Using template $paramod$02d10cc8049219b734b94ed56325542341e7b150$__PDPW16KD_ for cells of type $__PDPW16KD_.
No more expansions possible.
<suppressed ~36 debug messages>
4.30. Executing OPT pass (performing simple optimizations).
4.30.1. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
<suppressed ~137 debug messages>
4.30.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 52 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.30.3. Executing OPT_DFF pass (perform DFF optimizations).
4.30.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
Removed 0 unused cells and 120 unused wires.
<suppressed ~1 debug messages>
4.30.5. Finished fast OPT passes.
4.31. Executing MEMORY_MAP pass (converting memories to logic and flip-flops).
4.32. Executing OPT pass (performing simple optimizations).
4.32.1. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.32.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 52 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.32.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \harness_nms_weight_direct..
Creating internal representation of mux trees.
Evaluating internal representation of mux trees.
Analyzing evaluation results.
Removed 0 multiplexer ports.
<suppressed ~10 debug messages>
4.32.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
Optimizing cells in module \harness_nms_weight_direct.
Performed a total of 0 changes.
4.32.5. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 52 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.32.6. Executing OPT_DFF pass (perform DFF optimizations).
Setting constant 1-bit at position 3 on $auto$mem.cc:1646:emulate_read_first$485 ($dff) from module harness_nms_weight_direct.
Setting constant 1-bit at position 35 on $auto$mem.cc:1646:emulate_read_first$485 ($dff) from module harness_nms_weight_direct.
Setting constant 1-bit at position 1 on $auto$mem.cc:1646:emulate_read_first$467 ($dff) from module harness_nms_weight_direct.
Setting constant 1-bit at position 33 on $auto$mem.cc:1646:emulate_read_first$467 ($dff) from module harness_nms_weight_direct.
Setting constant 1-bit at position 2 on $auto$mem.cc:1646:emulate_read_first$449 ($dff) from module harness_nms_weight_direct.
Setting constant 1-bit at position 34 on $auto$mem.cc:1646:emulate_read_first$449 ($dff) from module harness_nms_weight_direct.
Setting constant 1-bit at position 0 on $auto$mem.cc:1647:emulate_read_first$504 ($dff) from module harness_nms_weight_direct.
Setting constant 1-bit at position 0 on $auto$mem.cc:1646:emulate_read_first$503 ($dff) from module harness_nms_weight_direct.
Setting constant 1-bit at position 32 on $auto$mem.cc:1646:emulate_read_first$503 ($dff) from module harness_nms_weight_direct.
4.32.7. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.32.8. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.32.9. Rerunning OPT passes. (Maybe there is more to do..)
4.32.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \harness_nms_weight_direct..
Creating internal representation of mux trees.
Evaluating internal representation of mux trees.
Analyzing evaluation results.
Removed 0 multiplexer ports.
<suppressed ~10 debug messages>
4.32.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
Optimizing cells in module \harness_nms_weight_direct.
Performed a total of 0 changes.
4.32.12. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 52 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.32.13. Executing OPT_DFF pass (perform DFF optimizations).
Setting constant 1-bit at position 3 on $auto$mem.cc:1169:emulate_transparency$489 ($dffe) from module harness_nms_weight_direct.
Setting constant 1-bit at position 35 on $auto$mem.cc:1169:emulate_transparency$489 ($dffe) from module harness_nms_weight_direct.
Setting constant 1-bit at position 1 on $auto$mem.cc:1169:emulate_transparency$471 ($dffe) from module harness_nms_weight_direct.
Setting constant 1-bit at position 33 on $auto$mem.cc:1169:emulate_transparency$471 ($dffe) from module harness_nms_weight_direct.
Setting constant 1-bit at position 2 on $auto$mem.cc:1169:emulate_transparency$453 ($dffe) from module harness_nms_weight_direct.
Setting constant 1-bit at position 34 on $auto$mem.cc:1169:emulate_transparency$453 ($dffe) from module harness_nms_weight_direct.
Setting constant 1-bit at position 0 on $auto$mem.cc:1169:emulate_transparency$507 ($dffe) from module harness_nms_weight_direct.
Setting constant 1-bit at position 32 on $auto$mem.cc:1169:emulate_transparency$507 ($dffe) from module harness_nms_weight_direct.
4.32.14. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.32.15. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.32.16. Rerunning OPT passes. (Maybe there is more to do..)
4.32.17. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Running muxtree optimizer on module \harness_nms_weight_direct..
Creating internal representation of mux trees.
Evaluating internal representation of mux trees.
Analyzing evaluation results.
Removed 0 multiplexer ports.
<suppressed ~10 debug messages>
4.32.18. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
Optimizing cells in module \harness_nms_weight_direct.
Performed a total of 0 changes.
4.32.19. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 52 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.32.20. Executing OPT_DFF pass (perform DFF optimizations).
4.32.21. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.32.22. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.32.23. Finished fast OPT passes. (There is nothing left to do.)
4.33. Executing TECHMAP pass (map to technology primitives).
4.33.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/techmap.v
Parsing Verilog input from `/opt/homebrew/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_brent_kung'.
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_demux'.
Generating RTLIL representation for module `\_90_lut'.
Generating RTLIL representation for module `$connect'.
Generating RTLIL representation for module `$input_port'.
Successfully finished Verilog frontend.
4.33.2. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/lattice/arith_map_ccu2c.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/lattice/arith_map_ccu2c.v' to AST representation.
Generating RTLIL representation for module `\_80_ccu2c_alu'.
Successfully finished Verilog frontend.
4.33.3. Continuing TECHMAP pass.
Using extmapper simplemap for cells of type $dffe.
Using extmapper simplemap for cells of type $dff.
Using extmapper simplemap for cells of type $mux.
Using extmapper simplemap for cells of type $and.
Using extmapper simplemap for cells of type $eq.
Using extmapper simplemap for cells of type $sdff.
Using extmapper simplemap for cells of type $xor.
No more expansions possible.
<suppressed ~120 debug messages>
4.34. Executing OPT pass (performing simple optimizations).
4.34.1. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
<suppressed ~1 debug messages>
4.34.2. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 951 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Computing hashes of 700 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Computing hashes of 576 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
<suppressed ~1125 debug messages>
Removed a total of 375 cells.
4.34.3. Executing OPT_DFF pass (perform DFF optimizations).
4.34.4. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
Removed 325 unused cells and 22 unused wires.
<suppressed ~326 debug messages>
4.34.5. Finished fast OPT passes.
4.35. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
4.36. Executing DFFLEGALIZE pass (convert FFs to types supported by the target).
4.37. Executing OPT_MERGE pass (detect identical cells).
Finding identical cells in module `\harness_nms_weight_direct'.
Computing hashes of 251 cells of `\harness_nms_weight_direct'.
Finding duplicate cells in `\harness_nms_weight_direct'.
Removed a total of 0 cells.
4.38. Executing TECHMAP pass (map to technology primitives).
4.38.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/lattice/cells_map_trellis.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/lattice/cells_map_trellis.v' to AST representation.
Generating RTLIL representation for module `$_DFF_N_'.
Generating RTLIL representation for module `$_DFF_P_'.
Generating RTLIL representation for module `$_DFFE_NN_'.
Generating RTLIL representation for module `$_DFFE_PN_'.
Generating RTLIL representation for module `$_DFFE_NP_'.
Generating RTLIL representation for module `$_DFFE_PP_'.
Generating RTLIL representation for module `$_DFF_NP0_'.
Generating RTLIL representation for module `$_DFF_NP1_'.
Generating RTLIL representation for module `$_DFF_PP0_'.
Generating RTLIL representation for module `$_DFF_PP1_'.
Generating RTLIL representation for module `$_SDFF_NP0_'.
Generating RTLIL representation for module `$_SDFF_NP1_'.
Generating RTLIL representation for module `$_SDFF_PP0_'.
Generating RTLIL representation for module `$_SDFF_PP1_'.
Generating RTLIL representation for module `$_DFFE_NP0P_'.
Generating RTLIL representation for module `$_DFFE_NP1P_'.
Generating RTLIL representation for module `$_DFFE_PP0P_'.
Generating RTLIL representation for module `$_DFFE_PP1P_'.
Generating RTLIL representation for module `$_DFFE_NP0N_'.
Generating RTLIL representation for module `$_DFFE_NP1N_'.
Generating RTLIL representation for module `$_DFFE_PP0N_'.
Generating RTLIL representation for module `$_DFFE_PP1N_'.
Generating RTLIL representation for module `$_SDFFE_NP0P_'.
Generating RTLIL representation for module `$_SDFFE_NP1P_'.
Generating RTLIL representation for module `$_SDFFE_PP0P_'.
Generating RTLIL representation for module `$_SDFFE_PP1P_'.
Generating RTLIL representation for module `$_SDFFE_NP0N_'.
Generating RTLIL representation for module `$_SDFFE_NP1N_'.
Generating RTLIL representation for module `$_SDFFE_PP0N_'.
Generating RTLIL representation for module `$_SDFFE_PP1N_'.
Generating RTLIL representation for module `$_ALDFF_NP_'.
Generating RTLIL representation for module `$_ALDFF_PP_'.
Generating RTLIL representation for module `$_ALDFFE_NPN_'.
Generating RTLIL representation for module `$_ALDFFE_NPP_'.
Generating RTLIL representation for module `$_ALDFFE_PPN_'.
Generating RTLIL representation for module `$_ALDFFE_PPP_'.
Generating RTLIL representation for module `\FD1P3AX'.
Generating RTLIL representation for module `\FD1P3AY'.
Generating RTLIL representation for module `\FD1P3BX'.
Generating RTLIL representation for module `\FD1P3DX'.
Generating RTLIL representation for module `\FD1P3IX'.
Generating RTLIL representation for module `\FD1P3JX'.
Generating RTLIL representation for module `\FD1S3AX'.
Generating RTLIL representation for module `\FD1S3AY'.
Generating RTLIL representation for module `\FD1S3BX'.
Generating RTLIL representation for module `\FD1S3DX'.
Generating RTLIL representation for module `\FD1S3IX'.
Generating RTLIL representation for module `\FD1S3JX'.
Generating RTLIL representation for module `\IFS1P3BX'.
Generating RTLIL representation for module `\IFS1P3DX'.
Generating RTLIL representation for module `\IFS1P3IX'.
Generating RTLIL representation for module `\IFS1P3JX'.
Generating RTLIL representation for module `\OFS1P3BX'.
Generating RTLIL representation for module `\OFS1P3DX'.
Generating RTLIL representation for module `\OFS1P3IX'.
Generating RTLIL representation for module `\OFS1P3JX'.
Generating RTLIL representation for module `\IB'.
Generating RTLIL representation for module `\IBPU'.
Generating RTLIL representation for module `\IBPD'.
Generating RTLIL representation for module `\OB'.
Generating RTLIL representation for module `\OBZ'.
Generating RTLIL representation for module `\OBZPU'.
Generating RTLIL representation for module `\OBZPD'.
Generating RTLIL representation for module `\OBCO'.
Generating RTLIL representation for module `\BB'.
Generating RTLIL representation for module `\BBPU'.
Generating RTLIL representation for module `\BBPD'.
Generating RTLIL representation for module `\ILVDS'.
Generating RTLIL representation for module `\OLVDS'.
Successfully finished Verilog frontend.
4.38.2. Continuing TECHMAP pass.
Using template $paramod$_DFF_P_\_TECHMAP_WIREINIT_Q_=1'x for cells of type $_DFF_P_.
Using template $_SDFF_PP0_ for cells of type $_SDFF_PP0_.
Using template $_SDFF_PP1_ for cells of type $_SDFF_PP1_.
Using template $paramod$_DFFE_PP_\_TECHMAP_WIREINIT_Q_=1'x for cells of type $_DFFE_PP_.
No more expansions possible.
<suppressed ~197 debug messages>
4.39. Executing OPT_EXPR pass (perform const folding).
Optimizing module harness_nms_weight_direct.
4.40. Executing SIMPLEMAP pass (map simple cells to gate primitives).
4.41. Executing LATTICE_GSR pass (implement FF init values).
Handling GSR in harness_nms_weight_direct.
4.42. Executing ATTRMVCP pass (move or copy attributes).
4.43. Executing OPT_CLEAN pass (remove unused cells and wires).
Finding unused cells or wires in module \harness_nms_weight_direct..
Removed 0 unused cells and 481 unused wires.
<suppressed ~1 debug messages>
4.44. Executing CHECK pass (checking for obvious problems).
Checking module harness_nms_weight_direct...
Found and reported 0 problems.
4.45. Executing TECHMAP pass (map to technology primitives).
4.45.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/lattice/latches_map.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/lattice/latches_map.v' to AST representation.
Generating RTLIL representation for module `$_DLATCH_N_'.
Generating RTLIL representation for module `$_DLATCH_P_'.
Successfully finished Verilog frontend.
4.45.2. Continuing TECHMAP pass.
No more expansions possible.
<suppressed ~4 debug messages>
4.46. Executing ABC9 pass.
4.46.1. Executing ABC9_OPS pass (helper functions for ABC9).
4.46.2. Executing ABC9_OPS pass (helper functions for ABC9).
4.46.3. Executing SCC pass (detecting logic loops).
Found 0 SCCs in module harness_nms_weight_direct.
Found 0 SCCs.
4.46.4. Executing ABC9_OPS pass (helper functions for ABC9).
4.46.5. Executing TECHMAP pass (map to technology primitives).
4.46.5.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/techmap.v
Parsing Verilog input from `/opt/homebrew/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_brent_kung'.
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_demux'.
Generating RTLIL representation for module `\_90_lut'.
Generating RTLIL representation for module `$connect'.
Generating RTLIL representation for module `$input_port'.
Successfully finished Verilog frontend.
4.46.5.2. Continuing TECHMAP pass.
No more expansions possible.
<suppressed ~165 debug messages>
4.46.6. Executing OPT pass (performing simple optimizations).
4.46.6.1. Executing OPT_EXPR pass (perform const folding).
4.46.6.2. Executing OPT_MERGE pass (detect identical cells).
Removed a total of 0 cells.
4.46.6.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
Removed 0 multiplexer ports.
4.46.6.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
Performed a total of 0 changes.
4.46.6.5. Executing OPT_MERGE pass (detect identical cells).
Removed a total of 0 cells.
4.46.6.6. Executing OPT_DFF pass (perform DFF optimizations).
4.46.6.7. Executing OPT_CLEAN pass (remove unused cells and wires).
4.46.6.8. Executing OPT_EXPR pass (perform const folding).
4.46.6.9. Finished fast OPT passes. (There is nothing left to do.)
4.46.7. Executing TECHMAP pass (map to technology primitives).
4.46.7.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/abc9_map.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/abc9_map.v' to AST representation.
Successfully finished Verilog frontend.
4.46.7.2. Continuing TECHMAP pass.
No more expansions possible.
<suppressed ~2 debug messages>
4.46.8. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/abc9_model.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/abc9_model.v' to AST representation.
Generating RTLIL representation for module `$__ABC9_DELAY'.
Generating RTLIL representation for module `$__ABC9_SCC_BREAKER'.
Generating RTLIL representation for module `$__DFF_N__$abc9_flop'.
Generating RTLIL representation for module `$__DFF_P__$abc9_flop'.
Successfully finished Verilog frontend.
4.46.9. Executing ABC9_OPS pass (helper functions for ABC9).
4.46.10. Executing ABC9_OPS pass (helper functions for ABC9).
4.46.11. Executing ABC9_OPS pass (helper functions for ABC9).
<suppressed ~2 debug messages>
4.46.12. Executing AIGMAP pass (map logic to AIG).
Module harness_nms_weight_direct: replaced 133 cells with 847 new cells, skipped 118 cells.
replaced 3 cell types:
39 $_MUX_
28 $_OR_
66 $_XOR_
not replaced 5 cell types:
4 $_AND_
5 $_NOT_
1 $scopeinfo
104 TRELLIS_FF
4 DP16KD
4.46.12.1. Executing ABC9_OPS pass (helper functions for ABC9).
4.46.12.2. Executing ABC9_OPS pass (helper functions for ABC9).
4.46.12.3. Executing XAIGER backend.
<suppressed ~5 debug messages>
Extracted 347 AND gates and 1060 wires from module `harness_nms_weight_direct' to a netlist network with 146 inputs and 92 outputs.
4.46.12.4. Executing ABC9_EXE pass (technology mapping using ABC9).
4.46.12.5. Executing ABC9.
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: + read_lut <abc-temp-dir>/input.lut
ABC: + read_box <abc-temp-dir>/input.box
ABC: + &read <abc-temp-dir>/input.xaig
ABC: + &ps
ABC: <abc-temp-dir>/input : i/o = 146/ 92 and = 343 lev = 10 (1.35) mem = 0.01 MB box = 0 bb = 0
ABC: + &scorr
ABC: Warning: The network is combinational.
ABC: + &sweep
ABC: + &dc2
ABC: + &dch -f -r
ABC: + &ps
ABC: <abc-temp-dir>/input : i/o = 146/ 92 and = 600 lev = 8 (1.10) mem = 0.01 MB ch = 62 box = 0 bb = 0
ABC: cst = 0 cls = 57 lit = 62 unused = 627 proof = 0
ABC: + &if -W 300 -v
ABC: K = 7. Memory (bytes): Truth = 0. Cut = 76. Obj = 156. Set = 780. CutMin = no
ABC: Node = 600. Ch = 57. Total mem = 0.14 MB. Peak cut mem = 0.01 MB.
ABC: P: Del = 1749.00. Ar = 166.0. Edge = 271. Cut = 9385. T = 0.00 sec
ABC: P: Del = 1749.00. Ar = 163.0. Edge = 268. Cut = 9385. T = 0.00 sec
ABC: P: Del = 1749.00. Ar = 116.0. Edge = 285. Cut = 13049. T = 0.00 sec
ABC: F: Del = 1695.00. Ar = 93.0. Edge = 289. Cut = 10950. T = 0.00 sec
ABC: A: Del = 1695.00. Ar = 93.0. Edge = 282. Cut = 9314. T = 0.00 sec
ABC: A: Del = 1695.00. Ar = 93.0. Edge = 282. Cut = 10812. T = 0.00 sec
ABC: Total time = 0.00 sec
ABC: + &write -n <abc-temp-dir>/output.aig
ABC: + &mfs
ABC: Timing manager is given but there is no GIA of boxes.
ABC: Error: Abc_FrameUpdateGia(): Transformation has failed.
ABC: + &ps -l
ABC: <abc-temp-dir>/input : i/o = 146/ 92 and = 339 lev = 8 (1.10) mem = 0.01 MB box = 0 bb = 0
ABC: Mapping (K=6) : lut = 74 edge = 282 lev = 3 (0.48) mem = 0.00 MB
ABC: LUT = 74 : 2=3 4.1 % 3=25 33.8 % 4=31 41.9 % 5=13 17.6 % 6=2 2.7 % Ave = 3.81
ABC: + &write -n <abc-temp-dir>/output.aig
ABC: + &verify
ABC: Networks are equivalent. Time = 0.01 sec
ABC: + time
ABC: elapse: 0.03 seconds, total: 0.03 seconds
4.46.12.6. Executing AIGER frontend.
<suppressed ~8 debug messages>
Removed 608 unused cells and 774 unused wires.
4.46.12.7. Executing ABC_OPS_REINTEGRATE pass (reintegrate ABC mapped design into module).
ABC RESULTS: $lut cells: 74
ABC RESULTS: input signals: 18
ABC RESULTS: output signals: 11
<suppressed ~476 debug messages>
Removing temp directory.
4.46.13. Executing TECHMAP pass (map to technology primitives).
4.46.13.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/abc9_unmap.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/abc9_unmap.v' to AST representation.
Generating RTLIL representation for module `$__DFF_x__$abc9_flop'.
Generating RTLIL representation for module `$__ABC9_SCC_BREAKER'.
Successfully finished Verilog frontend.
4.46.13.2. Continuing TECHMAP pass.
No more expansions possible.
<suppressed ~5 debug messages>
Removed 12 unused cells and 1107 unused wires.
4.47. Executing TECHMAP pass (map to technology primitives).
4.47.1. Executing Verilog-2005 frontend: /opt/homebrew/bin/../share/yosys/lattice/cells_map_trellis.v
Parsing Verilog input from `/opt/homebrew/bin/../share/yosys/lattice/cells_map_trellis.v' to AST representation.
Generating RTLIL representation for module `$_DFF_N_'.
Generating RTLIL representation for module `$_DFF_P_'.
Generating RTLIL representation for module `$_DFFE_NN_'.
Generating RTLIL representation for module `$_DFFE_PN_'.
Generating RTLIL representation for module `$_DFFE_NP_'.
Generating RTLIL representation for module `$_DFFE_PP_'.
Generating RTLIL representation for module `$_DFF_NP0_'.
Generating RTLIL representation for module `$_DFF_NP1_'.
Generating RTLIL representation for module `$_DFF_PP0_'.
Generating RTLIL representation for module `$_DFF_PP1_'.
Generating RTLIL representation for module `$_SDFF_NP0_'.
Generating RTLIL representation for module `$_SDFF_NP1_'.
Generating RTLIL representation for module `$_SDFF_PP0_'.
Generating RTLIL representation for module `$_SDFF_PP1_'.
Generating RTLIL representation for module `$_DFFE_NP0P_'.
Generating RTLIL representation for module `$_DFFE_NP1P_'.
Generating RTLIL representation for module `$_DFFE_PP0P_'.
Generating RTLIL representation for module `$_DFFE_PP1P_'.
Generating RTLIL representation for module `$_DFFE_NP0N_'.
Generating RTLIL representation for module `$_DFFE_NP1N_'.
Generating RTLIL representation for module `$_DFFE_PP0N_'.
Generating RTLIL representation for module `$_DFFE_PP1N_'.
Generating RTLIL representation for module `$_SDFFE_NP0P_'.
Generating RTLIL representation for module `$_SDFFE_NP1P_'.
Generating RTLIL representation for module `$_SDFFE_PP0P_'.
Generating RTLIL representation for module `$_SDFFE_PP1P_'.
Generating RTLIL representation for module `$_SDFFE_NP0N_'.
Generating RTLIL representation for module `$_SDFFE_NP1N_'.
Generating RTLIL representation for module `$_SDFFE_PP0N_'.
Generating RTLIL representation for module `$_SDFFE_PP1N_'.
Generating RTLIL representation for module `$_ALDFF_NP_'.
Generating RTLIL representation for module `$_ALDFF_PP_'.
Generating RTLIL representation for module `$_ALDFFE_NPN_'.
Generating RTLIL representation for module `$_ALDFFE_NPP_'.
Generating RTLIL representation for module `$_ALDFFE_PPN_'.
Generating RTLIL representation for module `$_ALDFFE_PPP_'.
Generating RTLIL representation for module `\FD1P3AX'.
Generating RTLIL representation for module `\FD1P3AY'.
Generating RTLIL representation for module `\FD1P3BX'.
Generating RTLIL representation for module `\FD1P3DX'.
Generating RTLIL representation for module `\FD1P3IX'.
Generating RTLIL representation for module `\FD1P3JX'.
Generating RTLIL representation for module `\FD1S3AX'.
Generating RTLIL representation for module `\FD1S3AY'.
Generating RTLIL representation for module `\FD1S3BX'.
Generating RTLIL representation for module `\FD1S3DX'.
Generating RTLIL representation for module `\FD1S3IX'.
Generating RTLIL representation for module `\FD1S3JX'.
Generating RTLIL representation for module `\IFS1P3BX'.
Generating RTLIL representation for module `\IFS1P3DX'.
Generating RTLIL representation for module `\IFS1P3IX'.
Generating RTLIL representation for module `\IFS1P3JX'.
Generating RTLIL representation for module `\OFS1P3BX'.
Generating RTLIL representation for module `\OFS1P3DX'.
Generating RTLIL representation for module `\OFS1P3IX'.
Generating RTLIL representation for module `\OFS1P3JX'.
Generating RTLIL representation for module `\IB'.
Generating RTLIL representation for module `\IBPU'.
Generating RTLIL representation for module `\IBPD'.
Generating RTLIL representation for module `\OB'.
Generating RTLIL representation for module `\OBZ'.
Generating RTLIL representation for module `\OBZPU'.
Generating RTLIL representation for module `\OBZPD'.
Generating RTLIL representation for module `\OBCO'.
Generating RTLIL representation for module `\BB'.
Generating RTLIL representation for module `\BBPU'.
Generating RTLIL representation for module `\BBPD'.
Generating RTLIL representation for module `\ILVDS'.
Generating RTLIL representation for module `\OLVDS'.
Generating RTLIL representation for module `$lut'.
Successfully finished Verilog frontend.
4.47.2. Continuing TECHMAP pass.
Using template $paramod$fd904e9e35cfd343a9df248824bd3f1408724879$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00110110 for cells of type $lut.
Using template $paramod$debd9b669717840687fe3e52f7822c4b59921848$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'01010011 for cells of type $lut.
Using template $paramod$5fa86a1279c620f5967326e8163848a280f59736$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'10111000 for cells of type $lut.
Using template $paramod$17f1b90a5c6d7e6613368c5e7d3f44dd634e59e2$lut for cells of type $lut.
Using template $paramod$8d41622da0aa87c171e3ad24745637a8e540bedc$lut for cells of type $lut.
Using template $paramod$052dd4f2a0b5c3ea3fb7732d8c55b033cbb84251$lut for cells of type $lut.
Using template $paramod$80bc945f6d438f16387422ec284dc12b4bb4e68f$lut for cells of type $lut.
Using template $paramod$1a64f21ea15b05b7fc930804a66f6689ebbd6394$lut for cells of type $lut.
Using template $paramod$0353e40ee9fef2fa5a7234227a0e7a0d27117ed8$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000010\LUT=4'0100 for cells of type $lut.
Using template $paramod$2d5874523c3ba4bc8820efbcc6461dc456db3550$lut for cells of type $lut.
Using template $paramod$43779580bfffd5d5a9f321249a174febf1dac288$lut for cells of type $lut.
Using template $paramod$e6049326c8634f79a905c381bb150ca718b543fa$lut for cells of type $lut.
Using template $paramod$b86b68a00733dbecb31d58a14a13683475a2002a$lut for cells of type $lut.
Using template $paramod$ba05b8a1a425003df083aea0e69541f5cbdc68f2$lut for cells of type $lut.
Using template $paramod$65d5d5c1e01bf41ee659754efba932f3d99198e5$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000010\LUT=4'1001 for cells of type $lut.
Using template $paramod$d52cb446bc89fafcaa49f2b908e540f513a4d760$lut for cells of type $lut.
Using template $paramod$b4f85a6321a00b090afc4e21d68e7b99eb94d149$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'10010000 for cells of type $lut.
Using template $paramod$992bdc10cff2c6edd722994f0e1044bc863f79f7$lut for cells of type $lut.
Using template $paramod$571404c0889eaf57f492cb5e37f8acb5df5852f9$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'10101001 for cells of type $lut.
Using template $paramod$6a34cd5b50e324824168b4186d0b04ba5e83b039$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'10010110 for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'10110000 for cells of type $lut.
Using template $paramod$2382b0dd4cb27fd4312681c40a6dd179c2a7a26a$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'11001001 for cells of type $lut.
Using template $paramod$251994398653c4cf8de320f1e306e535d5d2d624$lut for cells of type $lut.
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00110101 for cells of type $lut.
No more expansions possible.
<suppressed ~575 debug messages>
4.48. Executing OPT_LUT_INS pass (discard unused LUT inputs).
Optimizing LUTs in harness_nms_weight_direct.
Optimizing lut $abc$3700$lut$aiger3699$216.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut2 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger3699$216.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut3 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger3699$248.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut2 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger3699$248.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut3 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger$o5.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger$o6.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger3699$216.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger$o7.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger3699$280.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger3699$203.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger3699$298.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
Optimizing lut $abc$3700$lut$aiger3699$248.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
Removed 0 unused cells and 188 unused wires.
4.49. Executing AUTONAME pass.
Renamed 323 objects in module harness_nms_weight_direct.
<suppressed ~323 debug messages>
4.50. Executing HIERARCHY pass (managing design hierarchy).
Attribute `top' found on module `harness_nms_weight_direct'. Setting top module to harness_nms_weight_direct.
4.50.1. Analyzing design hierarchy..
Top module: \harness_nms_weight_direct
4.50.2. Analyzing design hierarchy..
Top module: \harness_nms_weight_direct
Removed 0 unused modules.
4.51. Printing statistics.
=== harness_nms_weight_direct ===
+----------Local Count, excluding submodules.
|
131 wires
1971 wire bits
131 public wires
1971 public wire bits
4 ports
18 port bits
5 cells
1 $scopeinfo
4 DP16KD
216 submodules
2 L6MUX21
93 LUT4
17 PFUMX
104 TRELLIS_FF
=== design hierarchy ===
+----------Count including submodules.
|
5 harness_nms_weight_direct
+----------Count including submodules.
|
131 wires
1971 wire bits
131 public wires
1971 public wire bits
4 ports
18 port bits
- memories
- memory bits
- processes
5 cells
1 $scopeinfo
4 DP16KD
216 submodules
2 L6MUX21
93 LUT4
17 PFUMX
104 TRELLIS_FF
4.52. Executing CHECK pass (checking for obvious problems).
Checking module harness_nms_weight_direct...
Found and reported 0 problems.
4.53. Executing JSON backend.
End of script. Logfile hash: d899bbffec, time: 0.39s, user: 0.33s, system: 0.01s, MEM: 38.59 MB peak
Yosys 0.68+post (git sha1 c12172fbae8af5e20f6fb52e3d4e92d56ed587b6, Release, AppleClang clang++ 21.0.0.21000101)
Time spent: 44% 21x read_verilog (0 sec), 21% 11x techmap (0 sec), ...