Implements M4: memory_manager.v (arbitration/buffering/forwarding/ latency hiding/double buffering, §12) + prefetch_engine.v (double-buffered tile fetch, §13), sitting on the REAL, UNMODIFIED V1 PSRAM backend chain (int8_memory_access.v -> memory_interface.v -> psram_controller.v, per §15's explicit mandate not to touch the controller). Verified fully end-to-end with Verilator: real neural_processor (M1) fed entirely by memory_manager, computing against PSRAM-resident X/W tiles (double-buffered prefetch across up to 5 tiles) and writing its result back to PSRAM -- checked via an independent PSRAM read-back, with poison bytes around the operand regions to catch addressing errors. 3/3 jobs pass (1/3/5-tile configurations). Three real RTL bugs found and fixed during integration (full diagnostic trail in errors.log ERR-0006): prefetch_engine had no single-in-flight-request discipline, letting a queued request corrupt the bank bookkeeping of a fetch already running; the fix's own !pf_busy guard had a one-cycle blind spot (pf_busy lags pf_start by a clock) that needed an explicit !pf_start term; and a state-based mux for the shared backend port was off by one cycle, silently dropping the PSRAM result write entirely. Real synthesis: 0 CHECK problems, 851 LUT4/789 FF/108 CCU2C/0 DSP (expected, no multiplication in this module). Real place&route (via a synthesis-only timing harness, needed for the same TRELLIS_IO pin- budget reason as M2's array): Fmax 165.86 MHz, PASS at 80MHz. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013xXuuRUWZScuo1DeYJxs3v
2345 lines
145 KiB
Plaintext
2345 lines
145 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)
|
|
|
|
-- Parsing `hardware/v2/rtl/memory_manager.v' using frontend ` -vlog2k' --
|
|
|
|
1. Executing Verilog-2005 frontend: hardware/v2/rtl/memory_manager.v
|
|
Parsing Verilog input from `hardware/v2/rtl/memory_manager.v' to AST representation.
|
|
Storing AST representation for module `$abstract\memory_manager'.
|
|
Successfully finished Verilog frontend.
|
|
|
|
-- Parsing `hardware/v2/rtl/prefetch_engine.v' using frontend ` -vlog2k' --
|
|
|
|
2. Executing Verilog-2005 frontend: hardware/v2/rtl/prefetch_engine.v
|
|
Parsing Verilog input from `hardware/v2/rtl/prefetch_engine.v' to AST representation.
|
|
Storing AST representation for module `$abstract\prefetch_engine'.
|
|
Successfully finished Verilog frontend.
|
|
|
|
-- Running command `synth_ecp5 -json hardware/v2/synthesis/memory_manager_p8/top.json -top memory_manager' --
|
|
|
|
3. Executing SYNTH_LATTICE pass.
|
|
|
|
3.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.
|
|
|
|
3.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.
|
|
|
|
3.3. Executing HIERARCHY pass (managing design hierarchy).
|
|
|
|
3.4. Executing AST frontend in derive mode using pre-parsed AST for module `\memory_manager'.
|
|
Generating RTLIL representation for module `\memory_manager'.
|
|
|
|
3.4.1. Analyzing design hierarchy..
|
|
Top module: \memory_manager
|
|
Parameter \DATA_WIDTH = 8
|
|
Parameter \P_IN = 8
|
|
Parameter \ADDR_WIDTH = 23
|
|
|
|
3.4.2. Executing AST frontend in derive mode using pre-parsed AST for module `\prefetch_engine'.
|
|
Parameter \DATA_WIDTH = 8
|
|
Parameter \P_IN = 8
|
|
Parameter \ADDR_WIDTH = 23
|
|
Generating RTLIL representation for module `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine'.
|
|
|
|
3.4.3. Analyzing design hierarchy..
|
|
Top module: \memory_manager
|
|
Used module: $paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine
|
|
|
|
3.4.4. Analyzing design hierarchy..
|
|
Top module: \memory_manager
|
|
Used module: $paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine
|
|
Removing unused module `$abstract\prefetch_engine'.
|
|
Removing unused module `$abstract\memory_manager'.
|
|
Removed 2 unused modules.
|
|
|
|
3.5. Executing PROC pass (convert processes to netlists).
|
|
|
|
3.5.1. Executing PROC_CLEAN pass (remove empty switches from decision trees).
|
|
Cleaned up 0 empty switches.
|
|
|
|
3.5.2. Executing PROC_RMDEAD pass (remove dead branches from decision trees).
|
|
Removed 1 dead cases from process $proc$hardware/v2/rtl/prefetch_engine.v:58$325 in module $paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.
|
|
Marked 6 switch rules as full_case in process $proc$hardware/v2/rtl/prefetch_engine.v:58$325 in module $paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.
|
|
Marked 6 switch rules as full_case in process $proc$hardware/v2/rtl/memory_manager.v:157$238 in module memory_manager.
|
|
Removed a total of 1 dead cases.
|
|
|
|
3.5.3. Executing PROC_PRUNE pass (remove redundant assignments in processes).
|
|
Removed 5 redundant assignments.
|
|
Promoted 16 assignments to connections.
|
|
|
|
3.5.4. Executing PROC_INIT pass (extract init attributes).
|
|
|
|
3.5.5. Executing PROC_ARST pass (detect async resets in processes).
|
|
|
|
3.5.6. Executing PROC_ROM pass (convert switches to ROMs).
|
|
Converted 0 switches.
|
|
<suppressed ~21 debug messages>
|
|
|
|
3.5.7. Executing PROC_MUX pass (convert decision trees to multiplexers).
|
|
Creating decoders for process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
1/20: $3$lookahead\tile_w$324[63:0]$354
|
|
2/20: $3$bitselwrite$pos$hardware/v2/rtl/prefetch_engine.v:105$322[31:0]$353
|
|
3/20: $3$lookahead\tile_x$323[63:0]$339
|
|
4/20: $3$bitselwrite$pos$hardware/v2/rtl/prefetch_engine.v:87$321[31:0]$338
|
|
5/20: $2$lookahead\tile_w$324[63:0]$337
|
|
6/20: $2$lookahead\tile_x$323[63:0]$336
|
|
7/20: $2$bitselwrite$pos$hardware/v2/rtl/prefetch_engine.v:105$322[31:0]$335
|
|
8/20: $2$bitselwrite$pos$hardware/v2/rtl/prefetch_engine.v:87$321[31:0]$334
|
|
9/20: $0\mem_req[0:0]
|
|
10/20: $0\fetch_done[0:0]
|
|
11/20: $1$lookahead\tile_w$324[63:0]$333
|
|
12/20: $1$lookahead\tile_x$323[63:0]$332
|
|
13/20: $1$bitselwrite$pos$hardware/v2/rtl/prefetch_engine.v:105$322[31:0]$331
|
|
14/20: $1$bitselwrite$pos$hardware/v2/rtl/prefetch_engine.v:87$321[31:0]$330
|
|
15/20: $0\byte_idx[3:0]
|
|
16/20: $0\fetch_busy[0:0]
|
|
17/20: $0\state[1:0]
|
|
18/20: $0\mem_wdata[7:0]
|
|
19/20: $0\mem_addr[22:0]
|
|
20/20: $0\mem_wr[0:0]
|
|
Creating decoders for process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
1/46: $5$lookahead\bank_ready$237[1:0]$292
|
|
2/46: $3$bitselwrite$pos$hardware/v2/rtl/memory_manager.v:247$227[0:0]$291
|
|
3/46: $4$lookahead\bank_ready$237[1:0]$278
|
|
4/46: $3$lookahead\bank_ready$237[1:0]$277
|
|
5/46: $2$bitselwrite$pos$hardware/v2/rtl/memory_manager.v:247$227[0:0]$276
|
|
6/46: $2$lookahead\bank_ready$237[1:0]$264
|
|
7/46: $2$bitselwrite$pos$hardware/v2/rtl/memory_manager.v:183$226[0:0]$257
|
|
8/46: $2$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$263
|
|
9/46: $2$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_DATA[63:0]$262
|
|
10/46: $2$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_ADDR[0:0]$261
|
|
11/46: $2$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$260
|
|
12/46: $2$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_DATA[63:0]$259
|
|
13/46: $2$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_ADDR[0:0]$258
|
|
14/46: $1$lookahead\bank_ready$237[1:0]$256
|
|
15/46: $0\pf_start[0:0]
|
|
16/46: $0\result_ready[0:0]
|
|
17/46: $0\job_done[0:0]
|
|
18/46: $1$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$255
|
|
19/46: $1$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_DATA[63:0]$254
|
|
20/46: $1$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_ADDR[0:0]$253
|
|
21/46: $1$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$252
|
|
22/46: $1$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_DATA[63:0]$251
|
|
23/46: $1$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_ADDR[0:0]$250
|
|
24/46: $1$bitselwrite$pos$hardware/v2/rtl/memory_manager.v:247$227[0:0]$249
|
|
25/46: $1$bitselwrite$pos$hardware/v2/rtl/memory_manager.v:183$226[0:0]$248
|
|
26/46: $0\wr_mem_wdata[7:0]
|
|
27/46: $0\wr_mem_addr[22:0]
|
|
28/46: $0\wr_mem_req[0:0]
|
|
29/46: $0\pf_pending_bank[0:0]
|
|
30/46: $0\pf_pending_w[22:0]
|
|
31/46: $0\pf_pending_x[22:0]
|
|
32/46: $0\pf_pending[0:0]
|
|
33/46: $0\pf_target_bank[0:0]
|
|
34/46: $0\pf_w_addr[22:0]
|
|
35/46: $0\pf_x_addr[22:0]
|
|
36/46: $0\current_bank[0:0]
|
|
37/46: $0\tile_idx[15:0]
|
|
38/46: $0\n_tiles_reg[15:0]
|
|
39/46: $0\result_addr_reg[22:0]
|
|
40/46: $0\w_base_reg[22:0]
|
|
41/46: $0\x_base_reg[22:0]
|
|
42/46: $0\state[2:0]
|
|
43/46: $0\tile_last[0:0]
|
|
44/46: $0\weight_data[63:0]
|
|
45/46: $0\input_data[63:0]
|
|
46/46: $0\operand_valid[0:0]
|
|
|
|
3.5.8. Executing PROC_DLATCH pass (convert process syncs to latches).
|
|
|
|
3.5.9. Executing PROC_DFF pass (convert process syncs to FFs).
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\mem_req' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1066' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\mem_wr' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1067' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\mem_addr' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1068' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\mem_wdata' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1069' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\state' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1070' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\fetch_busy' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1071' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\fetch_done' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1072' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\tile_x' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1073' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\tile_w' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1074' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.\byte_idx' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1075' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$bitselwrite$pos$hardware/v2/rtl/prefetch_engine.v:87$321' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1076' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$bitselwrite$pos$hardware/v2/rtl/prefetch_engine.v:105$322' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1077' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$lookahead\tile_x$323' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1078' with positive edge clock.
|
|
Creating register for signal `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$lookahead\tile_w$324' using process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
created $dff cell `$procdff$1079' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\job_done' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1080' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\operand_valid' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1081' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\input_data' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1082' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\weight_data' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1083' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\tile_last' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1084' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\result_ready' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1085' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\state' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1086' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\x_base_reg' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1087' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\w_base_reg' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1088' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\result_addr_reg' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1089' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\n_tiles_reg' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1090' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\tile_idx' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1091' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\current_bank' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1092' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\bank_ready' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1093' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\pf_start' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1094' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\pf_x_addr' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1095' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\pf_w_addr' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1096' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\pf_target_bank' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1097' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\pf_pending' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1098' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\pf_pending_x' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1099' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\pf_pending_w' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1100' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\pf_pending_bank' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1101' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\wr_mem_req' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1102' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\wr_mem_addr' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1103' with positive edge clock.
|
|
Creating register for signal `\memory_manager.\wr_mem_wdata' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1104' with positive edge clock.
|
|
Creating register for signal `\memory_manager.$bitselwrite$pos$hardware/v2/rtl/memory_manager.v:183$226' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1105' with positive edge clock.
|
|
Creating register for signal `\memory_manager.$bitselwrite$pos$hardware/v2/rtl/memory_manager.v:247$227' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1106' with positive edge clock.
|
|
Creating register for signal `\memory_manager.$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_ADDR' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1107' with positive edge clock.
|
|
Creating register for signal `\memory_manager.$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_DATA' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1108' with positive edge clock.
|
|
Creating register for signal `\memory_manager.$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1109' with positive edge clock.
|
|
Creating register for signal `\memory_manager.$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_ADDR' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1110' with positive edge clock.
|
|
Creating register for signal `\memory_manager.$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_DATA' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1111' with positive edge clock.
|
|
Creating register for signal `\memory_manager.$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1112' with positive edge clock.
|
|
Creating register for signal `\memory_manager.$lookahead\bank_ready$237' using process `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
created $dff cell `$procdff$1113' with positive edge clock.
|
|
|
|
3.5.10. Executing PROC_MEMWR pass (convert process memory writes to cells).
|
|
|
|
3.5.11. Executing PROC_CLEAN pass (remove empty switches from decision trees).
|
|
Found and cleaned up 7 empty switches in `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
Removing empty process `$paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.$proc$hardware/v2/rtl/prefetch_engine.v:58$325'.
|
|
Found and cleaned up 14 empty switches in `\memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
Removing empty process `memory_manager.$proc$hardware/v2/rtl/memory_manager.v:157$238'.
|
|
Cleaned up 21 empty switches.
|
|
|
|
3.5.12. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module $paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.
|
|
<suppressed ~10 debug messages>
|
|
Optimizing module memory_manager.
|
|
<suppressed ~19 debug messages>
|
|
|
|
3.6. Executing CHECK pass (checking for obvious problems).
|
|
Checking module $paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine...
|
|
Checking module memory_manager...
|
|
Found and reported 0 problems.
|
|
|
|
3.7. Executing FLATTEN pass (flatten design).
|
|
Deleting now unused module $paramod$4802f1ca3572ed92e504a0cda0b383b31954c659\prefetch_engine.
|
|
<suppressed ~1 debug messages>
|
|
|
|
3.8. Executing TRIBUF pass.
|
|
|
|
3.9. Executing DEMINOUT pass (demote inout ports to input or output).
|
|
|
|
3.10. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~10 debug messages>
|
|
|
|
3.11. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 47 unused cells and 307 unused wires.
|
|
<suppressed ~50 debug messages>
|
|
|
|
3.12. Executing CHECK pass (checking for obvious problems).
|
|
Checking module memory_manager...
|
|
Found and reported 0 problems.
|
|
|
|
3.13. Executing OPT pass (performing simple optimizations).
|
|
|
|
3.13.1. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.13.2. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 375 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 300 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 297 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 296 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
<suppressed ~237 debug messages>
|
|
Removed a total of 79 cells.
|
|
|
|
3.13.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Replacing known input bits on port B of cell $procmux$1049: \operand_valid -> 1'1
|
|
Replacing known input bits on port A of cell $procmux$1047: \operand_valid -> 1'0
|
|
Analyzing evaluation results.
|
|
dead port 1/2 on $mux $flatten\u_prefetch.$procmux$375.
|
|
dead port 2/2 on $mux $flatten\u_prefetch.$procmux$372.
|
|
dead port 1/2 on $mux $flatten\u_prefetch.$procmux$412.
|
|
dead port 1/2 on $mux $flatten\u_prefetch.$procmux$420.
|
|
dead port 1/2 on $mux $flatten\u_prefetch.$procmux$394.
|
|
dead port 2/2 on $mux $flatten\u_prefetch.$procmux$391.
|
|
dead port 1/2 on $mux $procmux$677.
|
|
dead port 1/2 on $mux $procmux$671.
|
|
dead port 1/2 on $mux $procmux$665.
|
|
dead port 1/2 on $mux $procmux$659.
|
|
dead port 1/2 on $mux $procmux$653.
|
|
dead port 1/2 on $mux $procmux$647.
|
|
dead port 1/2 on $mux $procmux$620.
|
|
dead port 1/2 on $mux $procmux$610.
|
|
dead port 2/2 on $mux $procmux$607.
|
|
dead port 1/2 on $mux $procmux$584.
|
|
dead port 2/2 on $mux $procmux$581.
|
|
Removed 17 multiplexer ports.
|
|
<suppressed ~246 debug messages>
|
|
|
|
3.13.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
New ctrl vector for $pmux cell $flatten\u_prefetch.$procmux$414: { $auto$opt_reduce.cc:137:opt_pmux$1118 $flatten\u_prefetch.$procmux$409_CMP }
|
|
New ctrl vector for $pmux cell $flatten\u_prefetch.$procmux$406: { $auto$opt_reduce.cc:137:opt_pmux$1120 $flatten\u_prefetch.$procmux$408_CMP }
|
|
Consolidated identical input bits for $mux cell $procmux$662:
|
|
Old ports: A=64'0000000000000000000000000000000000000000000000000000000000000000, B=64'1111111111111111111111111111111111111111111111111111111111111111, Y=$procmux$662_Y
|
|
New ports: A=1'0, B=1'1, Y=$procmux$662_Y [0]
|
|
New connections: $procmux$662_Y [63:1] = { $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] $procmux$662_Y [0] }
|
|
Consolidated identical input bits for $mux cell $procmux$644:
|
|
Old ports: A=64'0000000000000000000000000000000000000000000000000000000000000000, B=64'1111111111111111111111111111111111111111111111111111111111111111, Y=$procmux$644_Y
|
|
New ports: A=1'0, B=1'1, Y=$procmux$644_Y [0]
|
|
New connections: $procmux$644_Y [63:1] = { $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] $procmux$644_Y [0] }
|
|
Optimizing cells in module \memory_manager.
|
|
Consolidated identical input bits for $mux cell $procmux$713:
|
|
Old ports: A=$2$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$260, B=64'0000000000000000000000000000000000000000000000000000000000000000, Y=$0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243
|
|
New ports: A=$procmux$662_Y [0], B=1'0, Y=$0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0]
|
|
New connections: $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [63:1] = { $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] $0$memwr$\bank_x$hardware/v2/rtl/memory_manager.v:181$228_EN[63:0]$243 [0] }
|
|
Consolidated identical input bits for $mux cell $procmux$704:
|
|
Old ports: A=$2$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$263, B=64'0000000000000000000000000000000000000000000000000000000000000000, Y=$0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246
|
|
New ports: A=$procmux$644_Y [0], B=1'0, Y=$0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0]
|
|
New connections: $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [63:1] = { $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] $0$memwr$\bank_w$hardware/v2/rtl/memory_manager.v:182$229_EN[63:0]$246 [0] }
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 6 changes.
|
|
|
|
3.13.5. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 281 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 278 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 276 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
<suppressed ~15 debug messages>
|
|
Removed a total of 5 cells.
|
|
|
|
3.13.6. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.13.7. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 0 unused cells and 101 unused wires.
|
|
<suppressed ~1 debug messages>
|
|
|
|
3.13.8. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.13.9. Rerunning OPT passes. (Maybe there is more to do..)
|
|
|
|
3.13.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
Removed 0 multiplexer ports.
|
|
<suppressed ~225 debug messages>
|
|
|
|
3.13.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 0 changes.
|
|
|
|
3.13.12. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 276 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.13.13. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.13.14. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.13.15. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.13.16. Finished fast OPT passes. (There is nothing left to do.)
|
|
|
|
3.14. Executing FSM pass (extract and optimize FSM).
|
|
|
|
3.14.1. Executing FSM_DETECT pass (finding FSMs in design).
|
|
Found FSM state register memory_manager.u_prefetch.state.
|
|
Not marking memory_manager.u_prefetch.mem_wdata as FSM state register:
|
|
Users of register don't seem to benefit from recoding.
|
|
Found FSM state register memory_manager.state.
|
|
|
|
3.14.2. Executing FSM_EXTRACT pass (extracting FSM from design).
|
|
Extracting FSM `\u_prefetch.state' from module `\memory_manager'.
|
|
found $dff cell for state register: $flatten\u_prefetch.$procdff$1070
|
|
root of input selection tree: $flatten\u_prefetch.$0\state[1:0]
|
|
found reset state: 2'00 (guessed from mux tree)
|
|
found ctrl input: \rst
|
|
found ctrl input: $flatten\u_prefetch.$procmux$407_CMP
|
|
found ctrl input: $flatten\u_prefetch.$procmux$373_CMP
|
|
found ctrl input: $flatten\u_prefetch.$procmux$392_CMP
|
|
found ctrl input: $flatten\u_prefetch.$procmux$410_CMP
|
|
found state code: 2'00
|
|
found ctrl input: \mem_ready
|
|
found ctrl input: $flatten\u_prefetch.$eq$hardware/v2/rtl/prefetch_engine.v:106$364_Y
|
|
found state code: 2'11
|
|
found state code: 2'10
|
|
found ctrl input: \pf_start
|
|
found state code: 2'01
|
|
found ctrl output: $flatten\u_prefetch.$procmux$410_CMP
|
|
found ctrl output: $flatten\u_prefetch.$procmux$392_CMP
|
|
found ctrl output: $flatten\u_prefetch.$procmux$373_CMP
|
|
found ctrl output: $flatten\u_prefetch.$procmux$407_CMP
|
|
ctrl inputs: { $flatten\u_prefetch.$eq$hardware/v2/rtl/prefetch_engine.v:106$364_Y \pf_start \mem_ready \rst }
|
|
ctrl outputs: { $flatten\u_prefetch.$0\state[1:0] $flatten\u_prefetch.$procmux$373_CMP $flatten\u_prefetch.$procmux$392_CMP $flatten\u_prefetch.$procmux$407_CMP $flatten\u_prefetch.$procmux$410_CMP }
|
|
transition: 2'00 4'-0-0 -> 2'00 6'000001
|
|
transition: 2'00 4'-1-0 -> 2'01 6'010001
|
|
transition: 2'00 4'---1 -> 2'00 6'000001
|
|
transition: 2'10 4'--00 -> 2'10 6'101000
|
|
transition: 2'10 4'0-10 -> 2'10 6'101000
|
|
transition: 2'10 4'1-10 -> 2'11 6'111000
|
|
transition: 2'10 4'---1 -> 2'00 6'001000
|
|
transition: 2'01 4'--00 -> 2'01 6'010100
|
|
transition: 2'01 4'0-10 -> 2'01 6'010100
|
|
transition: 2'01 4'1-10 -> 2'10 6'100100
|
|
transition: 2'01 4'---1 -> 2'00 6'000100
|
|
transition: 2'11 4'---0 -> 2'00 6'000010
|
|
transition: 2'11 4'---1 -> 2'00 6'000010
|
|
Extracting FSM `\state' from module `\memory_manager'.
|
|
found $dff cell for state register: $procdff$1086
|
|
root of input selection tree: $0\state[2:0]
|
|
found reset state: 3'000 (guessed from mux tree)
|
|
found ctrl input: \rst
|
|
found ctrl input: $eq$hardware/v2/rtl/memory_manager.v:151$231_Y
|
|
found ctrl input: $eq$hardware/v2/rtl/memory_manager.v:151$230_Y
|
|
found ctrl input: $procmux$691_CMP
|
|
found ctrl input: $procmux$1017_CMP
|
|
found ctrl input: $procmux$1001_CMP
|
|
found ctrl input: $procmux$1062_CMP
|
|
found state code: 3'000
|
|
found ctrl input: \mem_ready
|
|
found state code: 3'101
|
|
found ctrl input: $logic_and$hardware/v2/rtl/memory_manager.v:284$320_Y
|
|
found state code: 3'100
|
|
found ctrl input: $logic_and$hardware/v2/rtl/memory_manager.v:245$290_Y
|
|
found ctrl input: $eq$hardware/v2/rtl/memory_manager.v:252$303_Y
|
|
found state code: 3'011
|
|
found ctrl input: $logic_or$hardware/v2/rtl/memory_manager.v:227$281_Y
|
|
found state code: 3'010
|
|
found ctrl input: \job_start
|
|
found state code: 3'001
|
|
found ctrl output: $eq$hardware/v2/rtl/memory_manager.v:151$231_Y
|
|
found ctrl output: $eq$hardware/v2/rtl/memory_manager.v:151$230_Y
|
|
found ctrl output: $procmux$691_CMP
|
|
found ctrl output: $procmux$1017_CMP
|
|
found ctrl output: $procmux$1001_CMP
|
|
found ctrl output: $procmux$1062_CMP
|
|
ctrl inputs: { $logic_and$hardware/v2/rtl/memory_manager.v:284$320_Y $eq$hardware/v2/rtl/memory_manager.v:252$303_Y $logic_and$hardware/v2/rtl/memory_manager.v:245$290_Y $logic_or$hardware/v2/rtl/memory_manager.v:227$281_Y \mem_ready \job_start \rst }
|
|
ctrl outputs: { $procmux$1062_CMP $procmux$1017_CMP $procmux$1001_CMP $procmux$691_CMP $0\state[2:0] $eq$hardware/v2/rtl/memory_manager.v:151$231_Y $eq$hardware/v2/rtl/memory_manager.v:151$230_Y }
|
|
transition: 3'000 7'-----00 -> 3'000 9'100000000
|
|
transition: 3'000 7'-----10 -> 3'001 9'100000100
|
|
transition: 3'000 7'------1 -> 3'000 9'100000000
|
|
transition: 3'100 7'------0 -> 3'101 9'000010101
|
|
transition: 3'100 7'------1 -> 3'000 9'000000001
|
|
transition: 3'010 7'--0---0 -> 3'010 9'010001000
|
|
transition: 3'010 7'-01---0 -> 3'010 9'010001000
|
|
transition: 3'010 7'-11---0 -> 3'011 9'010001100
|
|
transition: 3'010 7'------1 -> 3'000 9'010000000
|
|
transition: 3'001 7'---0--0 -> 3'001 9'001000100
|
|
transition: 3'001 7'---1--0 -> 3'010 9'001001000
|
|
transition: 3'001 7'------1 -> 3'000 9'001000000
|
|
transition: 3'101 7'----0-0 -> 3'101 9'000010110
|
|
transition: 3'101 7'----1-0 -> 3'000 9'000000010
|
|
transition: 3'101 7'------1 -> 3'000 9'000000010
|
|
transition: 3'011 7'0-----0 -> 3'011 9'000101100
|
|
transition: 3'011 7'1-----0 -> 3'100 9'000110000
|
|
transition: 3'011 7'------1 -> 3'000 9'000100000
|
|
|
|
3.14.3. Executing FSM_OPT pass (simple optimizations of FSMs).
|
|
Optimizing FSM `$fsm$\state$1127' from module `\memory_manager'.
|
|
Optimizing FSM `$fsm$\u_prefetch.state$1121' from module `\memory_manager'.
|
|
Merging pattern 4'---0 and 4'---1 from group (3 0 6'000010).
|
|
Merging pattern 4'---1 and 4'---0 from group (3 0 6'000010).
|
|
|
|
3.14.4. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 27 unused cells and 27 unused wires.
|
|
<suppressed ~28 debug messages>
|
|
|
|
3.14.5. Executing FSM_OPT pass (simple optimizations of FSMs).
|
|
Optimizing FSM `$fsm$\u_prefetch.state$1121' from module `\memory_manager'.
|
|
Removing unused output signal $flatten\u_prefetch.$0\state[1:0] [0].
|
|
Removing unused output signal $flatten\u_prefetch.$0\state[1:0] [1].
|
|
Optimizing FSM `$fsm$\state$1127' from module `\memory_manager'.
|
|
Removing unused output signal $0\state[2:0] [0].
|
|
Removing unused output signal $0\state[2:0] [1].
|
|
Removing unused output signal $0\state[2:0] [2].
|
|
|
|
3.14.6. Executing FSM_RECODE pass (re-assigning FSM state encoding).
|
|
Recoding FSM `$fsm$\u_prefetch.state$1121' from module `\memory_manager' using `auto' encoding:
|
|
mapping auto encoding to `one-hot` for this FSM.
|
|
00 -> ---1
|
|
10 -> --1-
|
|
01 -> -1--
|
|
11 -> 1---
|
|
Recoding FSM `$fsm$\state$1127' from module `\memory_manager' using `auto' encoding:
|
|
mapping auto encoding to `one-hot` for this FSM.
|
|
000 -> -----1
|
|
100 -> ----1-
|
|
010 -> ---1--
|
|
001 -> --1---
|
|
101 -> -1----
|
|
011 -> 1-----
|
|
|
|
3.14.7. Executing FSM_INFO pass (dumping all available information on FSM cells).
|
|
|
|
FSM `$fsm$\u_prefetch.state$1121' from module `memory_manager':
|
|
-------------------------------------
|
|
|
|
Information on FSM $fsm$\u_prefetch.state$1121 (\u_prefetch.state):
|
|
|
|
Number of input signals: 4
|
|
Number of output signals: 4
|
|
Number of state bits: 4
|
|
|
|
Input signals:
|
|
0: \rst
|
|
1: \mem_ready
|
|
2: \pf_start
|
|
3: $flatten\u_prefetch.$eq$hardware/v2/rtl/prefetch_engine.v:106$364_Y
|
|
|
|
Output signals:
|
|
0: $flatten\u_prefetch.$procmux$410_CMP
|
|
1: $flatten\u_prefetch.$procmux$407_CMP
|
|
2: $flatten\u_prefetch.$procmux$392_CMP
|
|
3: $flatten\u_prefetch.$procmux$373_CMP
|
|
|
|
State encoding:
|
|
0: 4'---1 <RESET STATE>
|
|
1: 4'--1-
|
|
2: 4'-1--
|
|
3: 4'1---
|
|
|
|
Transition Table (state_in, ctrl_in, state_out, ctrl_out):
|
|
0: 0 4'-0-0 -> 0 4'0001
|
|
1: 0 4'---1 -> 0 4'0001
|
|
2: 0 4'-1-0 -> 2 4'0001
|
|
3: 1 4'---1 -> 0 4'1000
|
|
4: 1 4'--00 -> 1 4'1000
|
|
5: 1 4'0-10 -> 1 4'1000
|
|
6: 1 4'1-10 -> 3 4'1000
|
|
7: 2 4'---1 -> 0 4'0100
|
|
8: 2 4'1-10 -> 1 4'0100
|
|
9: 2 4'--00 -> 2 4'0100
|
|
10: 2 4'0-10 -> 2 4'0100
|
|
11: 3 4'---- -> 0 4'0010
|
|
|
|
-------------------------------------
|
|
|
|
FSM `$fsm$\state$1127' from module `memory_manager':
|
|
-------------------------------------
|
|
|
|
Information on FSM $fsm$\state$1127 (\state):
|
|
|
|
Number of input signals: 7
|
|
Number of output signals: 6
|
|
Number of state bits: 6
|
|
|
|
Input signals:
|
|
0: \rst
|
|
1: \job_start
|
|
2: \mem_ready
|
|
3: $logic_or$hardware/v2/rtl/memory_manager.v:227$281_Y
|
|
4: $logic_and$hardware/v2/rtl/memory_manager.v:245$290_Y
|
|
5: $eq$hardware/v2/rtl/memory_manager.v:252$303_Y
|
|
6: $logic_and$hardware/v2/rtl/memory_manager.v:284$320_Y
|
|
|
|
Output signals:
|
|
0: $eq$hardware/v2/rtl/memory_manager.v:151$230_Y
|
|
1: $eq$hardware/v2/rtl/memory_manager.v:151$231_Y
|
|
2: $procmux$691_CMP
|
|
3: $procmux$1001_CMP
|
|
4: $procmux$1017_CMP
|
|
5: $procmux$1062_CMP
|
|
|
|
State encoding:
|
|
0: 6'-----1 <RESET STATE>
|
|
1: 6'----1-
|
|
2: 6'---1--
|
|
3: 6'--1---
|
|
4: 6'-1----
|
|
5: 6'1-----
|
|
|
|
Transition Table (state_in, ctrl_in, state_out, ctrl_out):
|
|
0: 0 7'-----00 -> 0 6'100000
|
|
1: 0 7'------1 -> 0 6'100000
|
|
2: 0 7'-----10 -> 3 6'100000
|
|
3: 1 7'------1 -> 0 6'000001
|
|
4: 1 7'------0 -> 4 6'000001
|
|
5: 2 7'------1 -> 0 6'010000
|
|
6: 2 7'--0---0 -> 2 6'010000
|
|
7: 2 7'-01---0 -> 2 6'010000
|
|
8: 2 7'-11---0 -> 5 6'010000
|
|
9: 3 7'------1 -> 0 6'001000
|
|
10: 3 7'---1--0 -> 2 6'001000
|
|
11: 3 7'---0--0 -> 3 6'001000
|
|
12: 4 7'----1-0 -> 0 6'000010
|
|
13: 4 7'------1 -> 0 6'000010
|
|
14: 4 7'----0-0 -> 4 6'000010
|
|
15: 5 7'------1 -> 0 6'000100
|
|
16: 5 7'1-----0 -> 1 6'000100
|
|
17: 5 7'0-----0 -> 5 6'000100
|
|
|
|
-------------------------------------
|
|
|
|
3.14.8. Executing FSM_MAP pass (mapping FSMs to basic logic).
|
|
Mapping FSM `$fsm$\u_prefetch.state$1121' from module `\memory_manager'.
|
|
Mapping FSM `$fsm$\state$1127' from module `\memory_manager'.
|
|
|
|
3.15. Executing OPT pass (performing simple optimizations).
|
|
|
|
3.15.1. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~11 debug messages>
|
|
|
|
3.15.2. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 299 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 295 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
<suppressed ~12 debug messages>
|
|
Removed a total of 4 cells.
|
|
|
|
3.15.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
Removed 0 multiplexer ports.
|
|
<suppressed ~208 debug messages>
|
|
|
|
3.15.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 0 changes.
|
|
|
|
3.15.5. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 295 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.15.6. Executing OPT_DFF pass (perform DFF optimizations).
|
|
Adding SRST signal on $procdff$1084 ($dff) from module memory_manager (D = $procmux$997_Y, Q = \tile_last, rval = 1'0).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1235 ($sdff) from module memory_manager (D = $procmux$997_Y, Q = \tile_last).
|
|
Adding SRST signal on $flatten\u_prefetch.$procdff$1068 ($dff) from module memory_manager (D = $flatten\u_prefetch.$procmux$538_Y, Q = \u_prefetch.mem_addr, rval = 23'00000000000000000000000).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1249 ($sdff) from module memory_manager (D = $flatten\u_prefetch.$procmux$538_Y, Q = \u_prefetch.mem_addr).
|
|
Adding SRST signal on $procdff$1083 ($dff) from module memory_manager (D = $procmux$1016_Y, Q = \weight_data, rval = 64'0000000000000000000000000000000000000000000000000000000000000000).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1263 ($sdff) from module memory_manager (D = $procmux$1016_Y, Q = \weight_data).
|
|
Adding SRST signal on $flatten\u_prefetch.$procdff$1067 ($dff) from module memory_manager (D = $flatten\u_prefetch.$procmux$560_Y, Q = \u_prefetch.mem_wr, rval = 1'0).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1277 ($sdff) from module memory_manager (D = $flatten\u_prefetch.$procmux$560_Y, Q = \u_prefetch.mem_wr).
|
|
Adding SRST signal on $procdff$1081 ($dff) from module memory_manager (D = $procmux$1054_Y, Q = \operand_valid, rval = 1'0).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1291 ($sdff) from module memory_manager (D = $procmux$1054_Y, Q = \operand_valid).
|
|
Adding SRST signal on $flatten\u_prefetch.$procdff$1066 ($dff) from module memory_manager (D = $flatten\u_prefetch.$procmux$445_Y, Q = \u_prefetch.mem_req, rval = 1'0).
|
|
Adding EN signal on $flatten\u_prefetch.$procdff$1069 ($dff) from module memory_manager (D = 8'00000000, Q = \u_prefetch.mem_wdata).
|
|
Adding SRST signal on $flatten\u_prefetch.$procdff$1071 ($dff) from module memory_manager (D = $flatten\u_prefetch.$procmux$498_Y, Q = \u_prefetch.fetch_busy, rval = 1'0).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1303 ($sdff) from module memory_manager (D = $flatten\u_prefetch.$procmux$498_Y, Q = \u_prefetch.fetch_busy).
|
|
Adding SRST signal on $procdff$1092 ($dff) from module memory_manager (D = $procmux$879_Y, Q = \current_bank, rval = 1'0).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1311 ($sdff) from module memory_manager (D = $procmux$879_Y, Q = \current_bank).
|
|
Adding SRST signal on $procdff$1091 ($dff) from module memory_manager (D = $procmux$895_Y, Q = \tile_idx, rval = 16'0000000000000000).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1321 ($sdff) from module memory_manager (D = $procmux$895_Y, Q = \tile_idx).
|
|
Adding EN signal on $procdff$1090 ($dff) from module memory_manager (D = \n_tiles, Q = \n_tiles_reg).
|
|
Adding EN signal on $procdff$1089 ($dff) from module memory_manager (D = \result_addr, Q = \result_addr_reg).
|
|
Adding EN signal on $procdff$1088 ($dff) from module memory_manager (D = \w_base, Q = \w_base_reg).
|
|
Adding EN signal on $procdff$1087 ($dff) from module memory_manager (D = \x_base, Q = \x_base_reg).
|
|
Adding SRST signal on $procdff$1093 ($dff) from module memory_manager (D = $3$lookahead\bank_ready$237[1:0]$277, Q = \bank_ready, rval = 2'00).
|
|
Adding SRST signal on $procdff$1085 ($dff) from module memory_manager (D = $procmux$690_Y, Q = \result_ready, rval = 1'0).
|
|
Adding SRST signal on $procdff$1082 ($dff) from module memory_manager (D = $procmux$1035_Y, Q = \input_data, rval = 64'0000000000000000000000000000000000000000000000000000000000000000).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1353 ($sdff) from module memory_manager (D = $procmux$1035_Y, Q = \input_data).
|
|
Adding SRST signal on $flatten\u_prefetch.$procdff$1075 ($dff) from module memory_manager (D = $flatten\u_prefetch.$procmux$483_Y, Q = \u_prefetch.byte_idx, rval = 4'0000).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1367 ($sdff) from module memory_manager (D = $flatten\u_prefetch.$procmux$483_Y, Q = \u_prefetch.byte_idx).
|
|
Adding SRST signal on $procdff$1104 ($dff) from module memory_manager (D = $procmux$732_Y, Q = \wr_mem_wdata, rval = 8'00000000).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1381 ($sdff) from module memory_manager (D = \result_data, Q = \wr_mem_wdata).
|
|
Adding SRST signal on $procdff$1103 ($dff) from module memory_manager (D = $procmux$739_Y, Q = \wr_mem_addr, rval = 23'00000000000000000000000).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1385 ($sdff) from module memory_manager (D = \result_addr_reg, Q = \wr_mem_addr).
|
|
Adding SRST signal on $procdff$1102 ($dff) from module memory_manager (D = $procmux$745_Y, Q = \wr_mem_req, rval = 1'0).
|
|
Adding EN signal on $auto$ff.cc:337:slice$1387 ($sdff) from module memory_manager (D = $procmux$745_Y, Q = \wr_mem_req).
|
|
Adding EN signal on $procdff$1101 ($dff) from module memory_manager (D = $procmux$763_Y, Q = \pf_pending_bank).
|
|
Adding EN signal on $procdff$1100 ($dff) from module memory_manager (D = $procmux$789_Y, Q = \pf_pending_w).
|
|
Adding EN signal on $procdff$1099 ($dff) from module memory_manager (D = $procmux$815_Y, Q = \pf_pending_x).
|
|
Adding SRST signal on $procdff$1098 ($dff) from module memory_manager (D = $procmux$843_Y, Q = \pf_pending, rval = 1'0).
|
|
Adding EN signal on $flatten\u_prefetch.$procdff$1074 ($dff) from module memory_manager (D = $flatten\u_prefetch.$2$lookahead\tile_w$324[63:0]$337, Q = \u_prefetch.tile_w).
|
|
Adding EN signal on $procdff$1097 ($dff) from module memory_manager (D = \pf_pending_bank, Q = \pf_target_bank).
|
|
Adding EN signal on $flatten\u_prefetch.$procdff$1073 ($dff) from module memory_manager (D = $flatten\u_prefetch.$2$lookahead\tile_x$323[63:0]$336, Q = \u_prefetch.tile_x).
|
|
Adding SRST signal on $flatten\u_prefetch.$procdff$1072 ($dff) from module memory_manager (D = $flatten\u_prefetch.$procmux$459_Y, Q = \u_prefetch.fetch_done, rval = 1'0).
|
|
Adding EN signal on $procdff$1096 ($dff) from module memory_manager (D = \pf_pending_w, Q = \pf_w_addr).
|
|
Adding EN signal on $procdff$1095 ($dff) from module memory_manager (D = \pf_pending_x, Q = \pf_x_addr).
|
|
Adding SRST signal on $procdff$1094 ($dff) from module memory_manager (D = $procmux$682_Y, Q = \pf_start, rval = 1'0).
|
|
Adding SRST signal on $procdff$1080 ($dff) from module memory_manager (D = $flatten\u_prefetch.$procmux$450_Y, Q = \job_done, rval = 1'0).
|
|
Setting constant 0-bit at position 0 on $auto$ff.cc:337:slice$1302 ($dffe) from module memory_manager.
|
|
Setting constant 0-bit at position 1 on $auto$ff.cc:337:slice$1302 ($dffe) from module memory_manager.
|
|
Setting constant 0-bit at position 2 on $auto$ff.cc:337:slice$1302 ($dffe) from module memory_manager.
|
|
Setting constant 0-bit at position 3 on $auto$ff.cc:337:slice$1302 ($dffe) from module memory_manager.
|
|
Setting constant 0-bit at position 4 on $auto$ff.cc:337:slice$1302 ($dffe) from module memory_manager.
|
|
Setting constant 0-bit at position 5 on $auto$ff.cc:337:slice$1302 ($dffe) from module memory_manager.
|
|
Setting constant 0-bit at position 6 on $auto$ff.cc:337:slice$1302 ($dffe) from module memory_manager.
|
|
Setting constant 0-bit at position 7 on $auto$ff.cc:337:slice$1302 ($dffe) from module memory_manager.
|
|
|
|
3.15.7. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 48 unused cells and 70 unused wires.
|
|
<suppressed ~49 debug messages>
|
|
|
|
3.15.8. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~16 debug messages>
|
|
|
|
3.15.9. Rerunning OPT passes. (Maybe there is more to do..)
|
|
|
|
3.15.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
Removed 0 multiplexer ports.
|
|
<suppressed ~147 debug messages>
|
|
|
|
3.15.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
New ctrl vector for $pmux cell $flatten\u_prefetch.$procmux$414: \u_prefetch.state [2]
|
|
New ctrl vector for $pmux cell $flatten\u_prefetch.$procmux$406: \u_prefetch.state [1]
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 2 changes.
|
|
|
|
3.15.12. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 350 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 290 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 278 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
<suppressed ~216 debug messages>
|
|
Removed a total of 72 cells.
|
|
|
|
3.15.13. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.15.14. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 0 unused cells and 72 unused wires.
|
|
<suppressed ~1 debug messages>
|
|
|
|
3.15.15. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.15.16. Rerunning OPT passes. (Maybe there is more to do..)
|
|
|
|
3.15.17. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
Removed 0 multiplexer ports.
|
|
<suppressed ~149 debug messages>
|
|
|
|
3.15.18. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 0 changes.
|
|
|
|
3.15.19. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 278 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.15.20. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.15.21. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.15.22. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.15.23. Finished fast OPT passes. (There is nothing left to do.)
|
|
|
|
3.16. Executing WREDUCE pass (reducing word size of cells).
|
|
Removed top 31 address bits (of 32) from memory read port memory_manager.$memrd$\bank_w$hardware/v2/rtl/memory_manager.v:232$284 (bank_w).
|
|
Removed top 31 address bits (of 32) from memory read port memory_manager.$memrd$\bank_x$hardware/v2/rtl/memory_manager.v:231$282 (bank_x).
|
|
Removed top 1 bits (of 2) from port B of cell memory_manager.$auto$opt_dff.cc:320:make_patterns_logic$1405 ($ne).
|
|
Removed top 1 bits (of 2) from port B of cell memory_manager.$auto$opt_dff.cc:320:make_patterns_logic$1401 ($ne).
|
|
Removed top 1 bits (of 2) from port B of cell memory_manager.$auto$opt_dff.cc:320:make_patterns_logic$1364 ($ne).
|
|
Removed top 1 bits (of 2) from port B of cell memory_manager.$auto$opt_dff.cc:320:make_patterns_logic$1362 ($ne).
|
|
Removed top 1 bits (of 2) from port B of cell memory_manager.$auto$opt_dff.cc:320:make_patterns_logic$1328 ($ne).
|
|
Removed top 1 bits (of 3) from port B of cell memory_manager.$auto$fsm_map.cc:77:implement_pattern_cache$1204 ($eq).
|
|
Removed top 1 bits (of 3) from port B of cell memory_manager.$auto$fsm_map.cc:77:implement_pattern_cache$1164 ($eq).
|
|
Converting cell memory_manager.$neg$hardware/v2/rtl/memory_manager.v:183$269 ($neg) from signed to unsigned.
|
|
Removed top 1 bits (of 2) from port A of cell memory_manager.$neg$hardware/v2/rtl/memory_manager.v:183$269 ($neg).
|
|
Removed top 15 bits (of 16) from port B of cell memory_manager.$eq$hardware/v2/rtl/memory_manager.v:233$286 ($eq).
|
|
Removed top 15 bits (of 16) from port B of cell memory_manager.$gt$hardware/v2/rtl/memory_manager.v:234$287 ($gt).
|
|
Removed top 19 bits (of 23) from port B of cell memory_manager.$add$hardware/v2/rtl/memory_manager.v:236$288 ($add).
|
|
Removed top 19 bits (of 23) from port B of cell memory_manager.$add$hardware/v2/rtl/memory_manager.v:237$289 ($add).
|
|
Converting cell memory_manager.$neg$hardware/v2/rtl/memory_manager.v:247$297 ($neg) from signed to unsigned.
|
|
Removed top 1 bits (of 2) from port A of cell memory_manager.$neg$hardware/v2/rtl/memory_manager.v:247$297 ($neg).
|
|
Removed top 15 bits (of 16) from port B of cell memory_manager.$add$hardware/v2/rtl/memory_manager.v:252$302 ($add).
|
|
Removed top 14 bits (of 16) from port B of cell memory_manager.$add$hardware/v2/rtl/memory_manager.v:255$304 ($add).
|
|
Removed top 14 bits (of 16) from port B of cell memory_manager.$add$hardware/v2/rtl/memory_manager.v:266$309 ($add).
|
|
Removed top 6 bits (of 23) from port Y of cell memory_manager.$add$hardware/v2/rtl/memory_manager.v:266$309 ($add).
|
|
Removed top 3 bits (of 23) from port B of cell memory_manager.$add$hardware/v2/rtl/memory_manager.v:266$311 ($add).
|
|
Removed top 15 bits (of 16) from port B of cell memory_manager.$sub$hardware/v2/rtl/memory_manager.v:277$318 ($sub).
|
|
Removed top 1 bits (of 4) from port B of cell memory_manager.$flatten\u_prefetch.$eq$hardware/v2/rtl/prefetch_engine.v:106$364 ($eq).
|
|
Removed top 25 bits (of 33) from port A of cell memory_manager.$flatten\u_prefetch.$neg$hardware/v2/rtl/prefetch_engine.v:105$361 ($neg).
|
|
Converting cell memory_manager.$flatten\u_prefetch.$neg$hardware/v2/rtl/prefetch_engine.v:105$361 ($neg) from signed to unsigned.
|
|
Removed top 1 bits (of 8) from port A of cell memory_manager.$flatten\u_prefetch.$neg$hardware/v2/rtl/prefetch_engine.v:105$361 ($neg).
|
|
Removed top 6 bits (of 23) from wire memory_manager.$add$hardware/v2/rtl/memory_manager.v:265$306_Y.
|
|
|
|
3.17. Executing PEEPOPT pass (run peephole optimizers).
|
|
|
|
3.18. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 0 unused cells and 1 unused wires.
|
|
<suppressed ~1 debug messages>
|
|
|
|
3.19. Executing SHARE pass (SAT-based resource sharing).
|
|
Found 2 cells in module memory_manager that may be considered for resource sharing.
|
|
Analyzing resource sharing options for $memrd$\bank_x$hardware/v2/rtl/memory_manager.v:275$316 ($memrd):
|
|
Found 1 activation_patterns using ctrl signal { $logic_and$hardware/v2/rtl/memory_manager.v:273$315_Y $logic_and$hardware/v2/rtl/memory_manager.v:245$290_Y \state [2] \operand_valid }.
|
|
No candidates found.
|
|
Analyzing resource sharing options for $memrd$\bank_w$hardware/v2/rtl/memory_manager.v:276$317 ($memrd):
|
|
Found 1 activation_patterns using ctrl signal { $logic_and$hardware/v2/rtl/memory_manager.v:273$315_Y $logic_and$hardware/v2/rtl/memory_manager.v:245$290_Y \state [2] \operand_valid }.
|
|
No candidates found.
|
|
|
|
3.20. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.20.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.
|
|
|
|
3.20.2. Continuing TECHMAP pass.
|
|
No more expansions possible.
|
|
<suppressed ~62 debug messages>
|
|
|
|
3.21. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.22. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.23. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.23.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.
|
|
|
|
3.23.2. Continuing TECHMAP pass.
|
|
No more expansions possible.
|
|
<suppressed ~4 debug messages>
|
|
|
|
3.24. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.24.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.
|
|
|
|
3.24.2. Continuing TECHMAP pass.
|
|
No more expansions possible.
|
|
<suppressed ~3 debug messages>
|
|
|
|
3.25. Executing ALUMACC pass (create $alu and $macc cells).
|
|
Extracting $alu and $macc cells in module memory_manager:
|
|
creating $macc model for $flatten\u_prefetch.$neg$hardware/v2/rtl/prefetch_engine.v:105$361 ($neg).
|
|
creating $macc model for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:98$352 ($add).
|
|
creating $macc model for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:98$351 ($add).
|
|
creating $macc model for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:112$367 ($add).
|
|
creating $macc model for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:112$366 ($add).
|
|
creating $macc model for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:109$365 ($add).
|
|
creating $macc model for $sub$hardware/v2/rtl/memory_manager.v:277$318 ($sub).
|
|
creating $macc model for $add$hardware/v2/rtl/memory_manager.v:266$311 ($add).
|
|
creating $macc model for $add$hardware/v2/rtl/memory_manager.v:266$309 ($add).
|
|
creating $macc model for $add$hardware/v2/rtl/memory_manager.v:265$308 ($add).
|
|
creating $macc model for $add$hardware/v2/rtl/memory_manager.v:255$304 ($add).
|
|
creating $macc model for $add$hardware/v2/rtl/memory_manager.v:252$302 ($add).
|
|
creating $macc model for $neg$hardware/v2/rtl/memory_manager.v:247$297 ($neg).
|
|
creating $macc model for $add$hardware/v2/rtl/memory_manager.v:237$289 ($add).
|
|
creating $macc model for $add$hardware/v2/rtl/memory_manager.v:236$288 ($add).
|
|
creating $macc model for $neg$hardware/v2/rtl/memory_manager.v:183$269 ($neg).
|
|
merging $macc model for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:112$366 into $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:112$367.
|
|
merging $macc model for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:98$351 into $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:98$352.
|
|
creating $alu model for $macc $add$hardware/v2/rtl/memory_manager.v:237$289.
|
|
creating $alu model for $macc $neg$hardware/v2/rtl/memory_manager.v:247$297.
|
|
creating $alu model for $macc $add$hardware/v2/rtl/memory_manager.v:252$302.
|
|
creating $alu model for $macc $add$hardware/v2/rtl/memory_manager.v:255$304.
|
|
creating $alu model for $macc $add$hardware/v2/rtl/memory_manager.v:265$308.
|
|
creating $alu model for $macc $add$hardware/v2/rtl/memory_manager.v:266$309.
|
|
creating $alu model for $macc $add$hardware/v2/rtl/memory_manager.v:266$311.
|
|
creating $alu model for $macc $sub$hardware/v2/rtl/memory_manager.v:277$318.
|
|
creating $alu model for $macc $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:109$365.
|
|
creating $alu model for $macc $add$hardware/v2/rtl/memory_manager.v:236$288.
|
|
creating $alu model for $macc $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:112$367.
|
|
creating $alu model for $macc $neg$hardware/v2/rtl/memory_manager.v:183$269.
|
|
creating $alu model for $macc $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:98$352.
|
|
creating $alu model for $macc $flatten\u_prefetch.$neg$hardware/v2/rtl/prefetch_engine.v:105$361.
|
|
creating $alu model for $lt$hardware/v2/rtl/memory_manager.v:273$314 ($lt): new $alu
|
|
creating $alu model for $lt$hardware/v2/rtl/memory_manager.v:255$305 ($lt): new $alu
|
|
creating $alu model for $gt$hardware/v2/rtl/memory_manager.v:234$287 ($gt): merged with $sub$hardware/v2/rtl/memory_manager.v:277$318.
|
|
creating $alu model for $eq$hardware/v2/rtl/memory_manager.v:233$286 ($eq): merged with $sub$hardware/v2/rtl/memory_manager.v:277$318.
|
|
creating $alu cell for $lt$hardware/v2/rtl/memory_manager.v:255$305: $auto$alumacc.cc:548:replace_alu$1493
|
|
creating $alu cell for $lt$hardware/v2/rtl/memory_manager.v:273$314: $auto$alumacc.cc:548:replace_alu$1498
|
|
creating $alu cell for $flatten\u_prefetch.$neg$hardware/v2/rtl/prefetch_engine.v:105$361: $auto$alumacc.cc:548:replace_alu$1503
|
|
creating $alu cell for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:98$352: $auto$alumacc.cc:548:replace_alu$1506
|
|
creating $alu cell for $neg$hardware/v2/rtl/memory_manager.v:183$269: $auto$alumacc.cc:548:replace_alu$1509
|
|
creating $alu cell for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:112$367: $auto$alumacc.cc:548:replace_alu$1512
|
|
creating $alu cell for $add$hardware/v2/rtl/memory_manager.v:236$288: $auto$alumacc.cc:548:replace_alu$1515
|
|
creating $alu cell for $flatten\u_prefetch.$add$hardware/v2/rtl/prefetch_engine.v:109$365: $auto$alumacc.cc:548:replace_alu$1518
|
|
creating $alu cell for $sub$hardware/v2/rtl/memory_manager.v:277$318, $gt$hardware/v2/rtl/memory_manager.v:234$287, $eq$hardware/v2/rtl/memory_manager.v:233$286: $auto$alumacc.cc:548:replace_alu$1521
|
|
creating $alu cell for $add$hardware/v2/rtl/memory_manager.v:266$311: $auto$alumacc.cc:548:replace_alu$1532
|
|
creating $alu cell for $add$hardware/v2/rtl/memory_manager.v:265$308: $auto$alumacc.cc:548:replace_alu$1535
|
|
creating $alu cell for $add$hardware/v2/rtl/memory_manager.v:266$309: $auto$alumacc.cc:548:replace_alu$1538
|
|
creating $alu cell for $add$hardware/v2/rtl/memory_manager.v:255$304: $auto$alumacc.cc:548:replace_alu$1541
|
|
creating $alu cell for $add$hardware/v2/rtl/memory_manager.v:252$302: $auto$alumacc.cc:548:replace_alu$1544
|
|
creating $alu cell for $neg$hardware/v2/rtl/memory_manager.v:247$297: $auto$alumacc.cc:548:replace_alu$1547
|
|
creating $alu cell for $add$hardware/v2/rtl/memory_manager.v:237$289: $auto$alumacc.cc:548:replace_alu$1550
|
|
created 16 $alu and 0 $macc cells.
|
|
|
|
3.26. Executing OPT pass (performing simple optimizations).
|
|
|
|
3.26.1. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~8 debug messages>
|
|
|
|
3.26.2. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 282 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.26.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
Removed 0 multiplexer ports.
|
|
<suppressed ~149 debug messages>
|
|
|
|
3.26.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 0 changes.
|
|
|
|
3.26.5. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 282 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.26.6. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.26.7. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 2 unused cells and 6 unused wires.
|
|
<suppressed ~3 debug messages>
|
|
|
|
3.26.8. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.26.9. Rerunning OPT passes. (Maybe there is more to do..)
|
|
|
|
3.26.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
Removed 0 multiplexer ports.
|
|
<suppressed ~149 debug messages>
|
|
|
|
3.26.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 0 changes.
|
|
|
|
3.26.12. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 280 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.26.13. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.26.14. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.26.15. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.26.16. Finished fast OPT passes. (There is nothing left to do.)
|
|
|
|
3.27. Executing MEMORY pass.
|
|
|
|
3.27.1. Executing OPT_MEM pass (optimize memories).
|
|
Performed a total of 0 transformations.
|
|
|
|
3.27.2. Executing OPT_MEM_PRIORITY pass (removing unnecessary memory write priority relations).
|
|
Performed a total of 0 transformations.
|
|
|
|
3.27.3. Executing OPT_MEM_FEEDBACK pass (finding memory read-to-write feedback paths).
|
|
Analyzing memory_manager.bank_w write port 0.
|
|
Analyzing memory_manager.bank_x write port 0.
|
|
|
|
3.27.4. Executing MEMORY_BMUX2ROM pass (converting muxes to ROMs).
|
|
|
|
3.27.5. Executing MEMORY_DFF pass (merging $dff cells to $memrd).
|
|
Checking read port `\bank_w'[0] in module `\memory_manager': no output FF found.
|
|
Checking read port `\bank_w'[1] in module `\memory_manager': no output FF found.
|
|
Checking read port `\bank_x'[0] in module `\memory_manager': no output FF found.
|
|
Checking read port `\bank_x'[1] in module `\memory_manager': no output FF found.
|
|
Checking read port address `\bank_w'[0] in module `\memory_manager': no address FF found.
|
|
Checking read port address `\bank_w'[1] in module `\memory_manager': merged address FF to cell.
|
|
Checking read port address `\bank_x'[0] in module `\memory_manager': no address FF found.
|
|
Checking read port address `\bank_x'[1] in module `\memory_manager': merged address FF to cell.
|
|
|
|
3.27.6. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.27.7. Executing MEMORY_SHARE pass (consolidating $memrd/$memwr cells).
|
|
Consolidating read ports of memory memory_manager.bank_w by address:
|
|
Consolidating read ports of memory memory_manager.bank_x by address:
|
|
|
|
3.27.8. Executing OPT_MEM_WIDEN pass (optimize memories where all ports are wide).
|
|
Performed a total of 0 transformations.
|
|
|
|
3.27.9. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.27.10. Executing MEMORY_COLLECT pass (generating $mem cells).
|
|
|
|
3.28. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.29. Executing MEMORY_LIBMAP pass (mapping memories to cells).
|
|
using FF mapping for memory memory_manager.bank_w
|
|
using FF mapping for memory memory_manager.bank_x
|
|
<suppressed ~152 debug messages>
|
|
|
|
3.30. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.30.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.
|
|
|
|
3.30.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.
|
|
|
|
3.30.3. Continuing TECHMAP pass.
|
|
No more expansions possible.
|
|
<suppressed ~5 debug messages>
|
|
|
|
3.31. Executing OPT pass (performing simple optimizations).
|
|
|
|
3.31.1. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~85 debug messages>
|
|
|
|
3.31.2. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 215 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 214 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 213 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
<suppressed ~6 debug messages>
|
|
Removed a total of 2 cells.
|
|
|
|
3.31.3. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.31.4. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 0 unused cells and 67 unused wires.
|
|
<suppressed ~1 debug messages>
|
|
|
|
3.31.5. Finished fast OPT passes.
|
|
|
|
3.32. Executing MEMORY_MAP pass (converting memories to logic and flip-flops).
|
|
Mapping memory \bank_w in module \memory_manager:
|
|
created 2 $dff cells and 0 static cells of width 64.
|
|
Extracted addr FF from read port 1 of memory_manager.bank_w: $\bank_w$rdreg[1]
|
|
read interface: 1 $dff and 2 $mux cells.
|
|
write interface: 2 write mux blocks.
|
|
Mapping memory \bank_x in module \memory_manager:
|
|
created 2 $dff cells and 0 static cells of width 64.
|
|
Extracted addr FF from read port 1 of memory_manager.bank_x: $\bank_x$rdreg[1]
|
|
read interface: 1 $dff and 2 $mux cells.
|
|
write interface: 2 write mux blocks.
|
|
|
|
3.33. Executing OPT pass (performing simple optimizations).
|
|
|
|
3.33.1. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~4 debug messages>
|
|
|
|
3.33.2. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 228 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 224 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
<suppressed ~12 debug messages>
|
|
Removed a total of 4 cells.
|
|
|
|
3.33.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
Removed 0 multiplexer ports.
|
|
<suppressed ~84 debug messages>
|
|
|
|
3.33.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Consolidated identical input bits for $pmux cell $flatten\u_prefetch.$procmux$560:
|
|
Old ports: A=1'0, B=2'00, Y=$flatten\u_prefetch.$procmux$560_Y
|
|
New connections: $flatten\u_prefetch.$procmux$560_Y = 1'0
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 1 changes.
|
|
|
|
3.33.5. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 223 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.33.6. Executing OPT_DFF pass (perform DFF optimizations).
|
|
Adding SRST signal on $\bank_x$rdreg[1] ($dff) from module memory_manager (D = $auto$rtlil.cc:3402:Mux$1560, Q = $\bank_x$rdreg[1]$q, rval = 1'0).
|
|
|
|
3.33.7. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 1 unused cells and 21 unused wires.
|
|
<suppressed ~2 debug messages>
|
|
|
|
3.33.8. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.33.9. Rerunning OPT passes. (Maybe there is more to do..)
|
|
|
|
3.33.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
Removed 0 multiplexer ports.
|
|
<suppressed ~81 debug messages>
|
|
|
|
3.33.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 0 changes.
|
|
|
|
3.33.12. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 222 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.33.13. Executing OPT_DFF pass (perform DFF optimizations).
|
|
Adding EN signal on $memory\bank_x[1]$1723 ($dff) from module memory_manager (D = \u_prefetch.tile_x, Q = \bank_x[1]).
|
|
Adding EN signal on $memory\bank_x[0]$1721 ($dff) from module memory_manager (D = \u_prefetch.tile_x, Q = \bank_x[0]).
|
|
Adding EN signal on $memory\bank_w[0]$1699 ($dff) from module memory_manager (D = \u_prefetch.tile_w, Q = \bank_w[0]).
|
|
Adding EN signal on $memory\bank_w[1]$1701 ($dff) from module memory_manager (D = \u_prefetch.tile_w, Q = \bank_w[1]).
|
|
Setting constant 0-bit at position 0 on $auto$ff.cc:337:slice$1278 ($sdffe) from module memory_manager.
|
|
|
|
3.33.14. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 4 unused cells and 4 unused wires.
|
|
<suppressed ~5 debug messages>
|
|
|
|
3.33.15. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~1 debug messages>
|
|
|
|
3.33.16. Rerunning OPT passes. (Maybe there is more to do..)
|
|
|
|
3.33.17. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
Removed 0 multiplexer ports.
|
|
<suppressed ~71 debug messages>
|
|
|
|
3.33.18. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 0 changes.
|
|
|
|
3.33.19. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 216 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.33.20. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.33.21. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.33.22. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.33.23. Finished fast OPT passes. (There is nothing left to do.)
|
|
|
|
3.34. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.34.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.
|
|
|
|
3.34.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.
|
|
|
|
3.34.3. Continuing TECHMAP pass.
|
|
Using extmapper simplemap for cells of type $dffe.
|
|
Using extmapper simplemap for cells of type $sdff.
|
|
Using extmapper simplemap for cells of type $not.
|
|
Using extmapper simplemap for cells of type $mux.
|
|
Using template $paramod$ce0ec84be7047712840b0952f343ee9e63ef75d1\_80_ccu2c_alu for cells of type $alu.
|
|
Using template $paramod$9e8c19db10db5b8954224cafa0587db20bab09bd\_90_alu for cells of type $alu.
|
|
Using template $paramod$2af30114e9bd4ccb04dad757b3f0a8f6bf0615b0\_80_ccu2c_alu for cells of type $alu.
|
|
Using template $paramod$3b7577489eb4433b1d5620cab7f3794743dee5ea\_80_ccu2c_alu for cells of type $alu.
|
|
Using template $paramod$6177de982a145c5b9397c76cce0d57e0a983739a\_80_ccu2c_alu for cells of type $alu.
|
|
Using template $paramod$6fc37af1c109ae54e8aed83fcd995c12d378ce93\_80_ccu2c_alu for cells of type $alu.
|
|
Using template $paramod$5a0392b4d8e708c73744507ba019664673a3d600\_80_ccu2c_alu for cells of type $alu.
|
|
Using extmapper simplemap for cells of type $or.
|
|
Using extmapper simplemap for cells of type $reduce_and.
|
|
Using template $paramod$a1665ef28c749ebcdbe9aecd466e644647b56463\_80_ccu2c_alu for cells of type $alu.
|
|
Using template $paramod$32a7b7b86c07519b7537abc18e96f0331f97914d\_90_alu for cells of type $alu.
|
|
Using template $paramod$7945baf943a7eaf2bd95deee6e66976c53d43b8d\_80_ccu2c_alu for cells of type $alu.
|
|
Using template $paramod$3e2546d640bb80c4407ce51aec1dbdbdc5bff143\_80_ccu2c_alu for cells of type $alu.
|
|
Using template $paramod$6df0329addda9228fcc2546de2aaf14ad26c98e1\_80_ccu2c_alu for cells of type $alu.
|
|
Using extmapper simplemap for cells of type $reduce_or.
|
|
Using extmapper simplemap for cells of type $ne.
|
|
Using extmapper simplemap for cells of type $reduce_bool.
|
|
Using extmapper simplemap for cells of type $sdffe.
|
|
Using extmapper simplemap for cells of type $and.
|
|
Using extmapper simplemap for cells of type $logic_not.
|
|
Using extmapper simplemap for cells of type $eq.
|
|
Using extmapper simplemap for cells of type $dff.
|
|
Using extmapper simplemap for cells of type $logic_or.
|
|
Using template $paramod$constmap:dd82805e02d0c05f7629d78043ee7bd4bcc370d0$paramod$5aa0fbdc3e385f336e95d2896ce5aed0c003c799\_90_shift_shiftx for cells of type $shift.
|
|
Using extmapper simplemap for cells of type $logic_and.
|
|
Analyzing pattern of constant bits for this cell:
|
|
Constant input on bit 0 of port A: 1'0
|
|
Creating constmapped module `$paramod$constmap:d8aefc1ccc4cc8f7577de99159ea22c4a240a5fa$paramod$5aa0fbdc3e385f336e95d2896ce5aed0c003c799\_90_shift_shiftx'.
|
|
|
|
3.34.35. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module $paramod$constmap:d8aefc1ccc4cc8f7577de99159ea22c4a240a5fa$paramod$5aa0fbdc3e385f336e95d2896ce5aed0c003c799\_90_shift_shiftx..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
dead port 2/2 on $mux $procmux$3485.
|
|
Removed 1 multiplexer ports.
|
|
<suppressed ~632 debug messages>
|
|
|
|
3.34.36. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module $paramod$constmap:d8aefc1ccc4cc8f7577de99159ea22c4a240a5fa$paramod$5aa0fbdc3e385f336e95d2896ce5aed0c003c799\_90_shift_shiftx.
|
|
<suppressed ~4 debug messages>
|
|
Removed 0 unused cells and 9 unused wires.
|
|
Using template $paramod$constmap:d8aefc1ccc4cc8f7577de99159ea22c4a240a5fa$paramod$5aa0fbdc3e385f336e95d2896ce5aed0c003c799\_90_shift_shiftx for cells of type $shift.
|
|
Using template $paramod$constmap:de554f9cc18e049d5b7dc95f0bcf8e03e57019ff$paramod$1e265d9719406ee45a570be27d6567e3eeff81e5\_90_shift_shiftx for cells of type $shiftx.
|
|
Using extmapper simplemap for cells of type $pmux.
|
|
Using template $paramod$constmap:f559a679ff835ab881c809a3c11cd4b7ac7c221b$paramod$409781814c91f00d9cc7cbbb6c4394c1e0dab276\_90_shift_shiftx for cells of type $shift.
|
|
Analyzing pattern of constant bits for this cell:
|
|
Constant input on bit 0 of port A: 1'1
|
|
Constant input on bit 1 of port A: 1'1
|
|
Constant input on bit 2 of port A: 1'1
|
|
Constant input on bit 3 of port A: 1'1
|
|
Constant input on bit 4 of port A: 1'1
|
|
Constant input on bit 5 of port A: 1'1
|
|
Constant input on bit 6 of port A: 1'1
|
|
Constant input on bit 7 of port A: 1'1
|
|
Creating constmapped module `$paramod$constmap:27fc41eec160220305c22e2c40782fd680a452dd$paramod$409781814c91f00d9cc7cbbb6c4394c1e0dab276\_90_shift_shiftx'.
|
|
|
|
3.34.47. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module $paramod$constmap:27fc41eec160220305c22e2c40782fd680a452dd$paramod$409781814c91f00d9cc7cbbb6c4394c1e0dab276\_90_shift_shiftx..
|
|
Creating internal representation of mux trees.
|
|
Evaluating internal representation of mux trees.
|
|
Analyzing evaluation results.
|
|
dead port 2/2 on $mux $procmux$4621.
|
|
dead port 2/2 on $mux $procmux$4627.
|
|
dead port 2/2 on $mux $procmux$4633.
|
|
dead port 2/2 on $mux $procmux$4639.
|
|
dead port 2/2 on $mux $procmux$4645.
|
|
dead port 2/2 on $mux $procmux$4651.
|
|
dead port 2/2 on $mux $procmux$4657.
|
|
Removed 7 multiplexer ports.
|
|
<suppressed ~645 debug messages>
|
|
|
|
3.34.48. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module $paramod$constmap:27fc41eec160220305c22e2c40782fd680a452dd$paramod$409781814c91f00d9cc7cbbb6c4394c1e0dab276\_90_shift_shiftx.
|
|
<suppressed ~27 debug messages>
|
|
Removed 0 unused cells and 12 unused wires.
|
|
Using template $paramod$constmap:27fc41eec160220305c22e2c40782fd680a452dd$paramod$409781814c91f00d9cc7cbbb6c4394c1e0dab276\_90_shift_shiftx for cells of type $shift.
|
|
Using extmapper simplemap for cells of type $xor.
|
|
Using extmapper simplemap for cells of type $pos.
|
|
Using template $paramod\_90_fa\WIDTH=32'00000000000000000000000000000010 for cells of type $fa.
|
|
Using template $paramod\_90_lcu_brent_kung\WIDTH=32'00000000000000000000000000000010 for cells of type $lcu.
|
|
Using template $paramod\_90_fa\WIDTH=32'00000000000000000000000000000100 for cells of type $fa.
|
|
Using template $paramod\_90_lcu_brent_kung\WIDTH=32'00000000000000000000000000000100 for cells of type $lcu.
|
|
No more expansions possible.
|
|
<suppressed ~1014 debug messages>
|
|
|
|
3.35. Executing OPT pass (performing simple optimizations).
|
|
|
|
3.35.1. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~3675 debug messages>
|
|
|
|
3.35.2. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 3703 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3528 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3507 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3493 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3484 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3483 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3482 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3481 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3480 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3479 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3478 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3477 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3476 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3475 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3474 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3473 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3472 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3471 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3470 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3469 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3468 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3467 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3466 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3465 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3464 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 3463 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
<suppressed ~720 debug messages>
|
|
Removed a total of 240 cells.
|
|
|
|
3.35.3. Executing OPT_DFF pass (perform DFF optimizations).
|
|
Adding SRST signal on $auto$ff.cc:337:slice$3145 ($_SDFF_PP0_) from module memory_manager (D = $auto$simplemap.cc:189:logic_reduce$4509, Q = \u_prefetch.mem_req, rval = 1'0).
|
|
Adding SRST signal on $auto$ff.cc:337:slice$2847 ($_DFFE_PP_) from module memory_manager (D = $auto$simplemap.cc:189:logic_reduce$3768, Q = \pf_pending_bank, rval = 1'0).
|
|
|
|
3.35.4. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 555 unused cells and 1183 unused wires.
|
|
<suppressed ~556 debug messages>
|
|
|
|
3.35.5. Rerunning OPT passes. (Removed registers in this run.)
|
|
|
|
3.35.6. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~6 debug messages>
|
|
|
|
3.35.7. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 2904 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.35.8. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.35.9. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.35.10. Finished fast OPT passes.
|
|
|
|
3.36. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.37. Executing DFFLEGALIZE pass (convert FFs to types supported by the target).
|
|
|
|
3.38. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 2906 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.39. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.39.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.
|
|
|
|
3.39.2. Continuing TECHMAP pass.
|
|
Using template $_SDFFE_PP0P_ for cells of type $_SDFFE_PP0P_.
|
|
Using template $_SDFF_PP0_ for cells of type $_SDFF_PP0_.
|
|
Using template $paramod$_DFF_P_\_TECHMAP_WIREINIT_Q_=1'x for cells of type $_DFF_P_.
|
|
Using template $paramod$_DFFE_PP_\_TECHMAP_WIREINIT_Q_=1'x for cells of type $_DFFE_PP_.
|
|
No more expansions possible.
|
|
<suppressed ~882 debug messages>
|
|
|
|
3.40. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.41. Executing SIMPLEMAP pass (map simple cells to gate primitives).
|
|
|
|
3.42. Executing LATTICE_GSR pass (implement FF init values).
|
|
Handling GSR in memory_manager.
|
|
|
|
3.43. Executing ATTRMVCP pass (move or copy attributes).
|
|
|
|
3.44. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 0 unused cells and 4143 unused wires.
|
|
<suppressed ~1 debug messages>
|
|
|
|
3.45. Executing CHECK pass (checking for obvious problems).
|
|
Checking module memory_manager...
|
|
Found and reported 0 problems.
|
|
|
|
3.46. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.46.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.
|
|
|
|
3.46.2. Continuing TECHMAP pass.
|
|
No more expansions possible.
|
|
<suppressed ~4 debug messages>
|
|
|
|
3.47. Executing ABC9 pass.
|
|
|
|
3.47.1. Executing ABC9_OPS pass (helper functions for ABC9).
|
|
|
|
3.47.2. Executing ABC9_OPS pass (helper functions for ABC9).
|
|
|
|
3.47.3. Executing SCC pass (detecting logic loops).
|
|
Found 0 SCCs in module memory_manager.
|
|
Found 0 SCCs.
|
|
|
|
3.47.4. Executing ABC9_OPS pass (helper functions for ABC9).
|
|
|
|
3.47.5. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.47.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.
|
|
|
|
3.47.5.2. Continuing TECHMAP pass.
|
|
No more expansions possible.
|
|
<suppressed ~166 debug messages>
|
|
|
|
3.47.6. Executing OPT pass (performing simple optimizations).
|
|
|
|
3.47.6.1. Executing OPT_EXPR pass (perform const folding).
|
|
|
|
3.47.6.2. Executing OPT_MERGE pass (detect identical cells).
|
|
Removed a total of 0 cells.
|
|
|
|
3.47.6.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Removed 0 multiplexer ports.
|
|
|
|
3.47.6.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Performed a total of 0 changes.
|
|
|
|
3.47.6.5. Executing OPT_MERGE pass (detect identical cells).
|
|
Removed a total of 0 cells.
|
|
|
|
3.47.6.6. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.47.6.7. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
|
|
3.47.6.8. Executing OPT_EXPR pass (perform const folding).
|
|
|
|
3.47.6.9. Finished fast OPT passes. (There is nothing left to do.)
|
|
|
|
3.47.7. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.47.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.
|
|
|
|
3.47.7.2. Continuing TECHMAP pass.
|
|
No more expansions possible.
|
|
<suppressed ~2 debug messages>
|
|
|
|
3.47.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.
|
|
|
|
3.47.9. Executing ABC9_OPS pass (helper functions for ABC9).
|
|
<suppressed ~2 debug messages>
|
|
|
|
3.47.10. Executing ABC9_OPS pass (helper functions for ABC9).
|
|
|
|
3.47.11. Executing ABC9_OPS pass (helper functions for ABC9).
|
|
<suppressed ~2 debug messages>
|
|
|
|
3.47.12. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.47.12.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.
|
|
|
|
3.47.12.2. Continuing TECHMAP pass.
|
|
Using template $paramod$838872d5a4bab89607f53482b205c0fd50d8b82e\CCU2C for cells of type $paramod$838872d5a4bab89607f53482b205c0fd50d8b82e\CCU2C.
|
|
Using extmapper simplemap for cells of type $or.
|
|
Using extmapper simplemap for cells of type $and.
|
|
Using extmapper simplemap for cells of type $not.
|
|
Using extmapper simplemap for cells of type $xor.
|
|
Using template $paramod\LUT2\INIT=4'1010 for cells of type LUT2.
|
|
Using template $paramod\LUT4\INIT=16'1001011010101010 for cells of type LUT4.
|
|
Using extmapper simplemap for cells of type $mux.
|
|
No more expansions possible.
|
|
<suppressed ~205 debug messages>
|
|
|
|
3.47.13. Executing OPT pass (performing simple optimizations).
|
|
|
|
3.47.13.1. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
<suppressed ~18 debug messages>
|
|
|
|
3.47.13.2. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 59 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Computing hashes of 57 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
<suppressed ~6 debug messages>
|
|
Removed a total of 2 cells.
|
|
|
|
3.47.13.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
No muxes found in this module.
|
|
Removed 0 multiplexer ports.
|
|
|
|
3.47.13.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 0 changes.
|
|
|
|
3.47.13.5. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 57 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.47.13.6. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.47.13.7. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
Removed 0 unused cells and 55 unused wires.
|
|
<suppressed ~1 debug messages>
|
|
|
|
3.47.13.8. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.47.13.9. Rerunning OPT passes. (Maybe there is more to do..)
|
|
|
|
3.47.13.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees).
|
|
Running muxtree optimizer on module \memory_manager..
|
|
Creating internal representation of mux trees.
|
|
No muxes found in this module.
|
|
Removed 0 multiplexer ports.
|
|
|
|
3.47.13.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).
|
|
Optimizing cells in module \memory_manager.
|
|
Performed a total of 0 changes.
|
|
|
|
3.47.13.12. Executing OPT_MERGE pass (detect identical cells).
|
|
Finding identical cells in module `\memory_manager'.
|
|
Computing hashes of 57 cells of `\memory_manager'.
|
|
Finding duplicate cells in `\memory_manager'.
|
|
Removed a total of 0 cells.
|
|
|
|
3.47.13.13. Executing OPT_DFF pass (perform DFF optimizations).
|
|
|
|
3.47.13.14. Executing OPT_CLEAN pass (remove unused cells and wires).
|
|
Finding unused cells or wires in module \memory_manager..
|
|
|
|
3.47.13.15. Executing OPT_EXPR pass (perform const folding).
|
|
Optimizing module memory_manager.
|
|
|
|
3.47.13.16. Finished fast OPT passes. (There is nothing left to do.)
|
|
|
|
3.47.14. Executing AIGMAP pass (map logic to AIG).
|
|
Module memory_manager: replaced 18 cells with 120 new cells, skipped 39 cells.
|
|
replaced 3 cell types:
|
|
14 $_MUX_
|
|
2 $_OR_
|
|
2 $_XOR_
|
|
not replaced 3 cell types:
|
|
4 $_AND_
|
|
4 $_NOT_
|
|
31 $specify2
|
|
|
|
3.47.15. Executing AIGMAP pass (map logic to AIG).
|
|
Module memory_manager: replaced 1493 cells with 9466 new cells, skipped 1413 cells.
|
|
replaced 4 cell types:
|
|
1105 $_MUX_
|
|
1 $_ORNOT_
|
|
327 $_OR_
|
|
60 $_XOR_
|
|
not replaced 5 cell types:
|
|
362 $_AND_
|
|
132 $_NOT_
|
|
1 $scopeinfo
|
|
789 TRELLIS_FF
|
|
129 $paramod$838872d5a4bab89607f53482b205c0fd50d8b82e\CCU2C
|
|
|
|
3.47.15.1. Executing ABC9_OPS pass (helper functions for ABC9).
|
|
|
|
3.47.15.2. Executing ABC9_OPS pass (helper functions for ABC9).
|
|
|
|
3.47.15.3. Executing XAIGER backend.
|
|
<suppressed ~11 debug messages>
|
|
Extracted 4185 AND gates and 11738 wires from module `memory_manager' to a netlist network with 896 inputs and 750 outputs.
|
|
|
|
3.47.15.4. Executing ABC9_EXE pass (technology mapping using ABC9).
|
|
|
|
3.47.15.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 = 896/ 750 and = 3196 lev = 40 (3.29) mem = 0.09 MB box = 129 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 = 896/ 750 and = 3447 lev = 24 (0.95) mem = 0.09 MB ch = 424 box = 108 bb = 0
|
|
ABC: cst = 0 cls = 382 lit = 424 unused = 3861 proof = 0
|
|
ABC: + &if -W 300 -v
|
|
ABC: K = 7. Memory (bytes): Truth = 0. Cut = 76. Obj = 156. Set = 780. CutMin = no
|
|
ABC: Node = 3447. Ch = 382. Total mem = 1.05 MB. Peak cut mem = 0.03 MB.
|
|
ABC: P: Del = 2687.00. Ar = 2021.0. Edge = 2622. Cut = 32074. T = 0.00 sec
|
|
ABC: P: Del = 2687.00. Ar = 2011.0. Edge = 2613. Cut = 32025. T = 0.00 sec
|
|
ABC: P: Del = 2687.00. Ar = 919.0. Edge = 2604. Cut = 34076. T = 0.00 sec
|
|
ABC: F: Del = 2680.00. Ar = 853.0. Edge = 2438. Cut = 33213. T = 0.00 sec
|
|
ABC: A: Del = 2680.00. Ar = 853.0. Edge = 2389. Cut = 32452. T = 0.00 sec
|
|
ABC: A: Del = 2680.00. Ar = 853.0. Edge = 2389. Cut = 32408. T = 0.00 sec
|
|
ABC: Total time = 0.02 sec
|
|
ABC: + &write -n <abc-temp-dir>/output.aig
|
|
ABC: + &mfs
|
|
ABC: + &ps -l
|
|
ABC: <abc-temp-dir>/input : i/o = 896/ 750 and = 2422 lev = 11 (0.93) mem = 0.07 MB box = 108 bb = 0
|
|
ABC: Mapping (K=7) : lut = 622 edge = 2309 lev = 4 (0.52) levB = 14 mem = 0.03 MB
|
|
ABC: LUT = 622 : 2=40 6.4 % 3=317 51.0 % 4=53 8.5 % 5=207 33.3 % 6=4 0.6 % 7=1 0.2 % Ave = 3.71
|
|
ABC: + &write -n <abc-temp-dir>/output.aig
|
|
ABC: + &verify
|
|
ABC: Networks are equivalent. Time = 0.03 sec
|
|
ABC: + time
|
|
ABC: elapse: 0.17 seconds, total: 0.17 seconds
|
|
|
|
3.47.15.6. Executing AIGER frontend.
|
|
<suppressed ~10 debug messages>
|
|
Removed 4102 unused cells and 6711 unused wires.
|
|
|
|
3.47.15.7. Executing ABC_OPS_REINTEGRATE pass (reintegrate ABC mapped design into module).
|
|
ABC RESULTS: $lut cells: 625
|
|
ABC RESULTS: $paramod$838872d5a4bab89607f53482b205c0fd50d8b82e\CCU2C cells: 108
|
|
ABC RESULTS: input signals: 38
|
|
ABC RESULTS: output signals: 59
|
|
<suppressed ~3313 debug messages>
|
|
Removing temp directory.
|
|
|
|
3.47.16. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.47.16.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.
|
|
|
|
3.47.16.2. Continuing TECHMAP pass.
|
|
Using template $paramod$838872d5a4bab89607f53482b205c0fd50d8b82e\CCU2C for cells of type $paramod$838872d5a4bab89607f53482b205c0fd50d8b82e\CCU2C.
|
|
No more expansions possible.
|
|
<suppressed ~114 debug messages>
|
|
Removed 77 unused cells and 13057 unused wires.
|
|
|
|
3.48. Executing TECHMAP pass (map to technology primitives).
|
|
|
|
3.48.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.
|
|
|
|
3.48.2. Continuing TECHMAP pass.
|
|
Using template $paramod$658b9ed803f0d3d335616d3858b53e0a2522f1e8$lut for cells of type $lut.
|
|
Using template $paramod$6e238df02989b317f10820a22773676e71120644$lut for cells of type $lut.
|
|
Using template $paramod$8adf7fbd410d2cc654c288d5be5f7508ee8809b0$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'11000100 for cells of type $lut.
|
|
Using template $paramod$e3e4230bb990723642112b292aa705ee0cbad0d4$lut for cells of type $lut.
|
|
Using template $paramod$b287726797d0722f64e731f1134f7c05af8f1578$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'10110000 for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000010\LUT=4'0010 for cells of type $lut.
|
|
Using template $paramod$8512f4fb47fa9596f76cdbe5b407a5b54df368e7$lut for cells of type $lut.
|
|
Using template $paramod$b5babc618720ace64bafddb303d6f59fd10af395$lut for cells of type $lut.
|
|
Using template $paramod$464d286cc302627c2e44b6c4a8450c9bebc28389$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000010\LUT=4'1001 for cells of type $lut.
|
|
Using template $paramod$86d1a43c2f1d620ff2cef866448dd1258c868fad$lut for cells of type $lut.
|
|
Using template $paramod$f12fe2ef5af134a926cc7292d32ee6988934ef95$lut for cells of type $lut.
|
|
Using template $paramod$251994398653c4cf8de320f1e306e535d5d2d624$lut for cells of type $lut.
|
|
Using template $paramod$ac977fdb827743bc5fe009760f4eb846eab5907d$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000010\LUT=4'1000 for cells of type $lut.
|
|
Using template $paramod$a34c3a113f6322a855b111888cced8dfe18cd967$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00101100 for cells of type $lut.
|
|
Using template $paramod$ff315d5084ed3c80e34901fe05add0db5feb0b93$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'10000000 for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000010\LUT=4'0100 for cells of type $lut.
|
|
Using template $paramod$a249737383b43f5fd82429cdb8b49973f28934bb$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'11101010 for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'10101000 for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00100011 for cells of type $lut.
|
|
Using template $paramod$d7fff18f4a1584e5dce7e6dfbc06d7e09d60216e$lut for cells of type $lut.
|
|
Using template $paramod$720c7833e3169f9dadd6b9edcfecd044664bf968$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000010\LUT=4'0110 for cells of type $lut.
|
|
Using template $paramod$4abe3dc2dfc6ad230292110951d5330af081367b$lut for cells of type $lut.
|
|
Using template $paramod$98a845e3fcf8cfe488f4d5055f2cf6fcbfd5da81$lut for cells of type $lut.
|
|
Using template $paramod$4976b5f7a7b9f6e596e742c7d9dd919d8c62448f$lut for cells of type $lut.
|
|
Using template $paramod$2b26b4922e8ee12b5b5d0f35a909c50a2c48701c$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'11100010 for cells of type $lut.
|
|
Using template $paramod$9664b2f5fd61944d7798b30cde43b99ccda87303$lut for cells of type $lut.
|
|
Using template $paramod$f81ecf3eb88491df8fecf1e071b57debc429282a$lut for cells of type $lut.
|
|
Using template $paramod$9c65fdfac74256c2eb67dd209b598e25d1f0a099$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'11111000 for cells of type $lut.
|
|
Using template $paramod$c50474b30f5187625746303b03b42bd612263de0$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000010\LUT=4'1110 for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000010\LUT=4'1011 for cells of type $lut.
|
|
Using template $paramod$a5a9d48041af65bd5d7b6a1f6014e7ed22f6b87a$lut for cells of type $lut.
|
|
Using template $paramod$6ed7ed61521c2ee3ec4e86802248d93207c213e1$lut for cells of type $lut.
|
|
Using template $paramod$b27834385f52eaf4ed276ecbffb1b05d9c8a8b56$lut for cells of type $lut.
|
|
Using template $paramod$54feebfc143584f0d3dec83621f4f6627929f2a4$lut for cells of type $lut.
|
|
Using template $paramod$09d7ff7c3d1d9901344b01d38c40f254e5edc311$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00100000 for cells of type $lut.
|
|
Using template $paramod$4a0b7d2a2849f16773696ba19d68aee3da2f49f1$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'11011100 for cells of type $lut.
|
|
Using template $paramod$77f0cd72667b23cc49e7a8bf984ad848b10003d7$lut for cells of type $lut.
|
|
Using template $paramod$2349469c9d9d0a3245a5c6f030ac99add533eb96$lut for cells of type $lut.
|
|
Using template $paramod$55f6f9cee16c7757093cb8f1db45e773789af9a7$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'10101100 for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'11001010 for cells of type $lut.
|
|
Using template $paramod$4f09540800ac966d6e31a7ccf5f32a559a8ce57a$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00001000 for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00010000 for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'01000000 for cells of type $lut.
|
|
Using template $paramod$0c822c65361ce832091b6c90f1a02f1ee0b109d4$lut for cells of type $lut.
|
|
Using template $paramod$5669c8db8e6f25f93d37029b0fad4d742a70b03a$lut for cells of type $lut.
|
|
Using template $paramod$ea2b11aca30aa162d3b93de07d97b9c1565643dd$lut for cells of type $lut.
|
|
Using template $paramod$3a16cdc423338332acc062d6121d7f50fc30fbe6$lut for cells of type $lut.
|
|
Using template $paramod$dbc9832e8c07df12a10ac142cba717a43c21c0ab$lut for cells of type $lut.
|
|
Using template $paramod$cf52221ef2d451442dd7d72d5c8ad598e89310e9$lut for cells of type $lut.
|
|
Using template $paramod$c231c665eed0e54f6cd365c2b07ecdea418a10e6$lut for cells of type $lut.
|
|
Using template $paramod$eab8c2e20ad6848564bec45c7148558972138f5b$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'11100000 for cells of type $lut.
|
|
Using template $paramod$fea512844f0598125018304dfe86621dbf348f27$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'01110000 for cells of type $lut.
|
|
Using template $paramod$f8a9198ede5f55f66707edafc5a980c0d1845964$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00000010 for cells of type $lut.
|
|
Using template $paramod$a4e96f70220c8c72bfba8aef01ed46347df8de63$lut for cells of type $lut.
|
|
Using template $paramod$183ec76ed3429a430a8be24b57f3de734985f568$lut for cells of type $lut.
|
|
Using template $paramod$d0f69fc2671bbe315699d75b65aae8328a796f77$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00000001 for cells of type $lut.
|
|
Using template $paramod$41326ad8644342a66dfb051d050f2b6fbf15015b$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'00001110 for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'11100100 for cells of type $lut.
|
|
Using template $paramod$56e6d8a28a52006bb4e50e077743f0a2163235af$lut for cells of type $lut.
|
|
Using template $paramod$9f2673a51432cc74523a76959f201c232331430c$lut for cells of type $lut.
|
|
Using template $paramod$137d5d1409eb709bcd6ab98f2ead06fef72ee46f$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000011\LUT=8'01001100 for cells of type $lut.
|
|
Using template $paramod$8829675bb8c52553aed9f101ec0d5ef0c865e5c7$lut for cells of type $lut.
|
|
Using template $paramod$9dfe2a25d99d8640a9f67a2438aaca85b684d257$lut for cells of type $lut.
|
|
Using template $paramod$5a203febca29678ab5583c0f96bc052b4d0c83a4$lut for cells of type $lut.
|
|
Using template $paramod$4133fe00eb18442862a284ccc67a95f8194d041c$lut for cells of type $lut.
|
|
Using template $paramod$lut\WIDTH=32'00000000000000000000000000000001\LUT=2'01 for cells of type $lut.
|
|
No more expansions possible.
|
|
<suppressed ~1828 debug messages>
|
|
|
|
3.49. Executing OPT_LUT_INS pass (discard unused LUT inputs).
|
|
Optimizing LUTs in memory_manager.
|
|
Optimizing lut $abc$30601$lut$aiger$o1007.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut3 (4 -> 3)
|
|
Optimizing lut $abc$30601$lut$aiger$o1096.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut1 (4 -> 2)
|
|
Optimizing lut $abc$30601$lut$aiger$o1096.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut2 (4 -> 2)
|
|
Optimizing lut $abc$30601$lut$aiger$o1036.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut2 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30675.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut3 (4 -> 1)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1372.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut4 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1372.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut5 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1372.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut6 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1372.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut7 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1283.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30604.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1299.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30607.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30610.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30612.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30663.genblk1.genblk1.genblk1.genblk1.genblk1.lut1 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30617.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30618.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger$o983.genblk1.genblk1.genblk1.genblk1.genblk1.lut1 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30621.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30624.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1401.genblk1.genblk1.genblk1.genblk1.genblk1.lut1 (4 -> 3)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1392.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30660.genblk1.genblk1.genblk1.genblk1.genblk1.lut1 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30629.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30631.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30635.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30637.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30641.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger$o998.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30642.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30647.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30648.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30652.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger$o1096.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 2)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30655.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30659.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30660.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30662.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30663.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 3)
|
|
Optimizing lut $abc$30601$lut$aiger$o1034.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30665.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger$o1036.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut1 (4 -> 3)
|
|
Optimizing lut $abc$30601$lut$aiger$o1036.genblk1.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30666.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 3)
|
|
Optimizing lut $abc$30601$lut$aiger$o1043.genblk1.genblk1.genblk1.genblk1.genblk1.lut1 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30666.genblk1.genblk1.genblk1.genblk1.genblk1.lut1 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30669.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 3)
|
|
Optimizing lut $abc$30601$lut$aiger$o1047.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30677.genblk1.genblk1.genblk1.genblk1.genblk1.lut1 (4 -> 3)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30677.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 3)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1253.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $abc$30601$lut$aiger30600$1268.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 0)
|
|
Optimizing lut $auto$abc_ops_reintegrate.cc:611:reintegrate$30679.genblk1.genblk1.genblk1.genblk1.genblk1.lut0 (4 -> 1)
|
|
Removed 0 unused cells and 1350 unused wires.
|
|
|
|
3.50. Executing AUTONAME pass.
|
|
Renamed 2900 objects in module memory_manager.
|
|
<suppressed ~2900 debug messages>
|
|
|
|
3.51. Executing HIERARCHY pass (managing design hierarchy).
|
|
Attribute `top' found on module `memory_manager'. Setting top module to memory_manager.
|
|
|
|
3.51.1. Analyzing design hierarchy..
|
|
Top module: \memory_manager
|
|
|
|
3.51.2. Analyzing design hierarchy..
|
|
Top module: \memory_manager
|
|
Removed 0 unused modules.
|
|
|
|
3.52. Printing statistics.
|
|
|
|
=== memory_manager ===
|
|
|
|
+----------Local Count, excluding submodules.
|
|
|
|
|
997 wires
|
|
3408 wire bits
|
|
997 public wires
|
|
3408 public wire bits
|
|
22 ports
|
|
272 port bits
|
|
1 cells
|
|
1 $scopeinfo
|
|
1974 submodules
|
|
108 CCU2C
|
|
7 L6MUX21
|
|
851 LUT4
|
|
219 PFUMX
|
|
789 TRELLIS_FF
|
|
|
|
=== design hierarchy ===
|
|
|
|
+----------Count including submodules.
|
|
|
|
|
1 memory_manager
|
|
|
|
+----------Count including submodules.
|
|
|
|
|
997 wires
|
|
3408 wire bits
|
|
997 public wires
|
|
3408 public wire bits
|
|
22 ports
|
|
272 port bits
|
|
- memories
|
|
- memory bits
|
|
- processes
|
|
1 cells
|
|
1 $scopeinfo
|
|
1974 submodules
|
|
108 CCU2C
|
|
7 L6MUX21
|
|
851 LUT4
|
|
219 PFUMX
|
|
789 TRELLIS_FF
|
|
|
|
3.53. Executing CHECK pass (checking for obvious problems).
|
|
Checking module memory_manager...
|
|
Found and reported 0 problems.
|
|
|
|
3.54. Executing JSON backend.
|
|
|
|
End of script. Logfile hash: bb7d874436, time: 0.82s, user: 0.63s, system: 0.03s, MEM: 76.50 MB peak
|
|
Yosys 0.68+post (git sha1 c12172fbae8af5e20f6fb52e3d4e92d56ed587b6, Release, AppleClang clang++ 21.0.0.21000101)
|
|
Time spent: 21% 23x read_verilog (0 sec), 21% 1x abc9_exe (0 sec), ...
|