diff --git a/README.rst b/README.rst
index 62c2da9..3d69ae9 100644
--- a/README.rst
+++ b/README.rst
@@ -18,251 +18,18 @@
    # SPDX-License-Identifier: Apache-2.0
    -->
 
-CIIC Harness
-============
+Microwatt on Caravel
+====================
 
-|License| |Documentation Status| |Build Status|
-
-A template SoC for Google SKY130 free shuttles. It is still WIP. The
-current SoC architecture is given below.
+The Microwatt 64 bit OpenPOWER core integrated into the Caravel Google SKY130 free shuttles.
 
 .. raw:: html
 
    <p align="center">
-   <img src="/docs/source/_static/ciic_harness.png" width="75%" height="75%">
+   <img src="/docs/source/_static/microwatt-caravel.png" width="75%" height="75%">
    </p>
 
-Datasheet and detailed documentation exists here:
-https://caravel-harness.readthedocs.io/en/develop/
+Tests
+=====
 
-.. raw:: html
-
-   <!---
-   # SPDX-FileCopyrightText: 2020 Efabless Corporation
-   #
-   # Licensed under the Apache License, Version 2.0 (the "License");
-   # you may not use this file except in compliance with the License.
-   # You may obtain a copy of the License at
-   #
-   #      http://www.apache.org/licenses/LICENSE-2.0
-   #
-   # Unless required by applicable law or agreed to in writing, software
-   # distributed under the License is distributed on an "AS IS" BASIS,
-   # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   # See the License for the specific language governing permissions and
-   # limitations under the License.
-   #
-   # SPDX-License-Identifier: Apache-2.0
-   -->
-.. _getting-started:
-
-Getting Started
-===============
-
--  For information on tooling and versioning, please refer to `tool-versioning.rst <./docs/source/tool-versioning.rst>`__.
-
-Start by cloning the repo and uncompressing the files.
-
-.. code:: bash
-
-    git clone https://github.com/efabless/caravel.git
-    cd caravel
-    make uncompress
-
-Then you need to install the open\_pdks prerequisite:
-
--  `Magic VLSI Layout
-   Tool <http://opencircuitdesign.com/magic/index.html>`__ is needed to
-   run open\_pdks -- version >= 8.3.60\*
-
-   **NOTE:**
-
-      You can avoid the need for the magic prerequisite by using
-      the openlane docker to do the installation step in open\_pdks. This
-      could be done by cloning
-      `openlane <https://github.com/efabless/openlane/tree/master>`__ and
-      following the instructions given there to use the Makefile.
-
-Install the required version of the PDK by running the following
-commands:
-
-.. code:: bash
-
-    export PDK_ROOT=<The place where you want to install the pdk>
-    make pdk
-
-Then, you can learn more about the caravel chip by watching these video:
-
--  Caravel User Project Features -- https://youtu.be/zJhnmilXGPo
--  Aboard Caravel -- How to put your design on Caravel? --
-   https://youtu.be/9QV8SDelURk
--  Things to Clarify About Caravel -- What versions to use with Caravel?
-   -- https://youtu.be/-LZ522mxXMw
-
-   -  You could only use openlane:rc6
-   -  Make sure you have the commit hashes provided here inside the
-      `Makefile <https://github.com/efabless/caravel/blob/master/Makefile>`__
-
-Aboard Caravel
---------------
-
-Your area is the full user\_project\_wrapper, so feel free to add your
-project there or create a differnt macro and harden it seperately then
-insert it into the user\_project\_wrapper. For example, if your design
-is analog or you're using a different tool other than OpenLANE.
-
-If you will use OpenLANE to harden your design, go through the
-instructions in this `README <https://github.com/efabless/caravel/blob/develop/openlane/README.rst>`__.
-
-You must copy your synthesized gate-level-netlist for
-``user_project_wrapper`` to ``verilog/gl/`` and overwrite
-``user_project_wrapper.v``. Otherwise, you can point to it in
-`info.yaml <https://github.com/efabless/caravel/blob/master/info.yaml>`__.
-
-**NOTE:**
-
-    If you're using openlane to harden your design, this should
-    happen automatically.
-
-Then, you will need to put your design aboard the Caravel chip. Make
-sure you have the following:
-
--  `Magic VLSI Layout
-   Tool <http://opencircuitdesign.com/magic/index.html>`__ installed on
-   your machine. We may provide a Dockerized version later.\*
--  You have your user\_project\_wrapper.gds under ``./gds/`` in the
-   Caravel directory.
-
-**NOTE:**
-
-    You can avoid the need for the magic prerequisite by
-    using the openlane docker to run the make step. This
-    `section <#running-make-using-openlane-magic>`__ shows how.
-
-Run the following command:
-
-.. code:: bash
-
-    export PDK_ROOT=<The place where the installed pdk resides. The same PDK_ROOT used in the pdk installation step>
-    make
-
-|Expectation_DRC|
-
-Running Make using OpenLANE Magic
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To use the magic installed inside Openlane to complete the final GDS
-streaming out step, export the following:
-
-.. code:: bash
-
-    export PDK_ROOT=<The location where the pdk is installed>
-    export OPENLANE_ROOT=<the absolute path to the openlane directory cloned or to be cloned>
-    export IMAGE_NAME=<the openlane image name installed on your machine. Preferably openlane:rc6>
-    export CARAVEL_PATH=$(pwd)
-
-Then, mount the docker:
-
-.. code:: bash
-
-    docker run -it -v $CARAVEL_PATH:$CARAVEL_PATH -v $OPENLANE_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -e CARAVEL_PATH=$CARAVEL_PATH -e PDK_ROOT=$PDK_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME
-
-Finally, once inside the docker run the following commands:
-
-.. code:: bash
-
-    cd $CARAVEL_PATH
-    make
-    exit
-
-|Expectation_DRC|
-
-IMPORTANT
-^^^^^^^^^
-
-Please make sure to run ``make compress`` before commiting anything to
-your repository. Avoid having 2 versions of the
-gds/user\_project\_wrapper.gds or gds/caravel.gds one compressed and the
-other not compressed.
-
-Required Directory Structure
-----------------------------
-
--  ./gds/ : includes all the gds files used or produced from the
-   project.
--  ./def/ : includes all the def files used or produced from the
-   project.
--  ./lef/ : includes all the lef files used or produced from the
-   project.
--  ./mag/ : includes all the mag files used or produced from the
-   project.
--  ./maglef/ : includes all the maglef files used or produced from the
-   project.
--  ./spi/lvs/ : includes all the maglef files used or produced from the
-   project.
--  ./verilog/dv/ : includes all the simulation test benches and how to
-   run them.
--  ./verilog/gl/ : includes all the synthesized/elaborated netlists.
--  ./verilog/rtl/ : includes all the Verilog RTLs and source files.
--  ./openlane/\ ``<macro>``/ : includes all configuration files used to
-   run openlane on your project.
--  info.yaml: includes all the info required in `this
-   example <https://github.com/efabless/caravel/blob/master/info.yaml>`__. Please make sure that you are pointing to an
-   elaborated caravel netlist as well as a synthesized
-   gate-level-netlist for the user\_project\_wrapper
-
-Managment SoC
--------------
-
-The managment SoC runs firmware that can be used to:
-
--  Configure User Project I/O pads
--  Observe and control User Project signals (through on-chip logic
-   analyzer probes)
--  Control the User Project power supply
-
-The memory map of the management SoC can be found
-`here <https://github.com/efabless/caravel/blob/master/verilog/rtl/README>`__
-
-User Project Area
------------------
-
-This is the user space. It has limited silicon area (TBD, about 3.1mm x 3.8mm) as well as a fixed number of I/O pads (37) and power pads (10).
-
-See `the Caravel premliminary datasheet` https://caravel-harness.readthedocs.io/en/develop/ for details.
-
-The repository contains a `sample user project <https://github.com/efabless/caravel/blob/master/verilog/rtl/user_proj_example.v>`__ that contains a binary 32-bit up counter.
-
-.. raw:: html
-
-   <p align="center">
-   <img src="/docs/source/_static/counter_32.png" width="50%" height="50%">
-   </p>
-
-The firmware running on the Management Area SoC, configures the I/O pads
-used by the counter and uses the logic probes to observe/control the
-counter. Three firmware examples are provided:
-
-#. Configure the User Project I/O pads as o/p. Observe the counter value
-   in the testbench: `IO\_Ports
-   Test <https://github.com/efabless/caravel/blob/master/verilog/dv/caravel/user_proj_example/io_ports>`__.
-#. Configure the User Project I/O pads as o/p. Use the Chip LA to load
-   the counter and observe the o/p till it reaches 500:
-   `LA\_Test1 <https://github.com/efabless/caravel/blob/master/verilog/dv/caravel/user_proj_example/la_test1>`__.
-#. Configure the User Project I/O pads as o/p. Use the Chip LA to
-   control the clock source and reset signals and observe the counter
-   value for five clock cylcles:
-   `LA\_Test2 <https://github.com/efabless/caravel/blob/master/verilog/dv/caravel/user_proj_example/la_test2>`__.
-
-.. |Expectation_DRC| replace:: This should merge the GDSes using magic and you'll end up with your version of ``./gds/caravel.gds``. You should expect ^40 magic DRC violations with the current "development" state of caravel.
-
-.. |License| image:: https://img.shields.io/github/license/efabless/caravel
-   :alt: GitHub license - Apache 2.0
-   :target: https://github.com/efabless/caravel
-.. |Documentation Status| image:: https://readthedocs.org/projects/caravel-harness/badge/?version=latest
-   :alt: ReadTheDocs Badge - https://caravel-harness.rtfd.io
-   :target: https://caravel-harness.readthedocs.io/en/latest/?badge=latest
-.. |Build Status| image:: https://travis-ci.com/efabless/caravel.svg?branch=master
-   :alt: Travis Badge - https://travis-ci.org/efabless/caravel
-   :target: https://travis-ci.com/efabless/caravel
-
+- Check out verilog/dv/caravel/microwatt/README.md
diff --git a/docs/source/_static/microwatt-caravel.png b/docs/source/_static/microwatt-caravel.png
new file mode 100644
index 0000000..b09ae98
--- /dev/null
+++ b/docs/source/_static/microwatt-caravel.png
Binary files differ
diff --git a/info.yaml b/info.yaml
index 35806bf..9c86098 100644
--- a/info.yaml
+++ b/info.yaml
@@ -1,19 +1,18 @@
 --- 
 project: 
-  description: "A template SoC for Google sponsored Open MPW shuttles for SKY130."
+  description: "Microwatt 64 bit OpenPOWER core"
   foundry: "SkyWater"
-  git_url: "https://github.com/efabless/caravel.git"
-  organization: "Efabless"
-  organization_url: "http://efabless.com"
-  owner: "Tim Edwards"
+  git_url: "https://github.com/antonblanchard/microwatt-caravel.git"
+  organization: "IBM"
+  organization_url: "http://ibm.com"
+  owner: "Anton Blanchard"
   process: "SKY130"
-  project_name: "Caravel"
-  project_id: "00000000"
+  project_name: "Microwatt"
+  project_id: "00000077"
   tags: 
     - "Open MPW"
-    - "Test Harness"
-  category: "Test Harness"
+  category: "processor"
   top_level_netlist: "verilog/gl/caravel.v"
   user_level_netlist: "verilog/gl/user_project_wrapper.v"
   version: "1.00"
-  cover_image: "docs/source/_static/ciic_harness.png"
+  cover_image: "docs/source/_static/microwatt-caravel.png"
diff --git a/openlane/RAM_512x64/config.tcl b/openlane/RAM_512x64/config.tcl
index 32dcadf..8715009 100644
--- a/openlane/RAM_512x64/config.tcl
+++ b/openlane/RAM_512x64/config.tcl
@@ -43,7 +43,7 @@
 #set ::env(GLB_RT_L5_ADJUSTMENT) 0.1
 #set ::env(GLB_RT_L6_ADJUSTMENT) 0.1
 
-set ::env(DIODE_INSERTION_STRATEGY) 5
+set ::env(DIODE_INSERTION_STRATEGY) 3
 
 set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
 
diff --git a/openlane/dcache/config.tcl b/openlane/dcache/config.tcl
new file mode 100644
index 0000000..55c554d
--- /dev/null
+++ b/openlane/dcache/config.tcl
@@ -0,0 +1,52 @@
+set script_dir [file dirname [file normalize [info script]]]
+
+set ::env(DESIGN_NAME) dcache
+
+set ::env(VERILOG_FILES) "\
+	$script_dir/../../verilog/rtl/dcache.v"
+
+set ::env(CLOCK_PORT) "clk"
+set ::env(CLOCK_PERIOD) "10"
+set ::env(CLOCK_NET) $::env(CLOCK_PORT)
+
+set ::env(FP_SIZING) absolute
+set ::env(DIE_AREA) "0 0 750 750"
+
+# Settings for macros
+set ::env(DESIGN_IS_CORE) 0
+set ::env(FP_PDN_CORE_RING) 0
+set ::env(GLB_RT_MAXLAYER) 5
+
+# Tracks are ending up on met5 even with GLB_RT_MAXLAYER set
+set ::env(GLB_RT_OBS) "met5 $::env(DIE_AREA)"
+
+# Handle PDN
+set ::env(VDD_NETS) [list {vccd1} ]
+set ::env(GND_NETS) [list {vssd1} ]
+
+# Tuning
+set ::env(PL_TARGET_DENSITY) 0.56
+set ::env(CELL_PAD) 2
+
+set ::env(SYNTH_STRATEGY) "DELAY 2"
+
+set ::env(GLB_RT_L1_ADJUSTMENT) 0.99
+set ::env(GLB_RT_L2_ADJUSTMENT) 0.25
+set ::env(GLB_RT_L3_ADJUSTMENT) 0.25
+set ::env(GLB_RT_L4_ADJUSTMENT) 0.2
+set ::env(GLB_RT_L5_ADJUSTMENT) 0.1
+set ::env(GLB_RT_L6_ADJUSTMENT) 0.1
+
+set ::env(DIODE_INSERTION_STRATEGY) 5
+
+set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
+
+if {[catch {exec nproc} result] == 0} {
+	set ::env(ROUTING_CORES) $result
+} else {
+	set ::env(ROUTING_CORES) 4
+}
+
+set ::env(RUN_KLAYOUT) 0
+set ::env(RUN_KLAYOUT_DRC) 0
+set ::env(RUN_KLAYOUT_XOR) 0
diff --git a/openlane/dcache/pin_order.cfg b/openlane/dcache/pin_order.cfg
new file mode 100644
index 0000000..1aed545
--- /dev/null
+++ b/openlane/dcache/pin_order.cfg
@@ -0,0 +1,14 @@
+#N
+wishbone_in.*
+wishbone_out.*
+
+#W
+clk
+rst
+m_in.*
+m_out.*
+
+#S
+stall_out
+d_in.*
+d_out.*
diff --git a/openlane/icache/config.tcl b/openlane/icache/config.tcl
new file mode 100644
index 0000000..d9bb310
--- /dev/null
+++ b/openlane/icache/config.tcl
@@ -0,0 +1,45 @@
+set script_dir [file dirname [file normalize [info script]]]
+
+set ::env(DESIGN_NAME) icache
+
+set ::env(VERILOG_FILES) "\
+	$script_dir/../../verilog/rtl/icache.v"
+
+set ::env(CLOCK_PORT) "clk"
+set ::env(CLOCK_PERIOD) "15"
+set ::env(CLOCK_NET) $::env(CLOCK_PORT)
+
+set ::env(FP_SIZING) absolute
+set ::env(DIE_AREA) "0 0 680 680"
+
+# Settings for macros
+set ::env(DESIGN_IS_CORE) 0
+set ::env(FP_PDN_CORE_RING) 0
+set ::env(GLB_RT_MAXLAYER) 5
+
+# Tracks are ending up on met5 even with GLB_RT_MAXLAYER set
+set ::env(GLB_RT_OBS) "met5 $::env(DIE_AREA)"
+
+# Handle PDN
+set ::env(VDD_NETS) [list {vccd1} ]
+set ::env(GND_NETS) [list {vssd1} ]
+
+# Tuning
+set ::env(PL_TARGET_DENSITY) 0.56
+set ::env(CELL_PAD) 4
+
+set ::env(SYNTH_STRATEGY) "DELAY 2"
+
+set ::env(DIODE_INSERTION_STRATEGY) 5
+
+set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
+
+if {[catch {exec nproc} result] == 0} {
+	set ::env(ROUTING_CORES) $result
+} else {
+	set ::env(ROUTING_CORES) 4
+}
+
+set ::env(RUN_KLAYOUT) 0
+set ::env(RUN_KLAYOUT_DRC) 0
+set ::env(RUN_KLAYOUT_XOR) 0
diff --git a/openlane/icache/pin_order.cfg b/openlane/icache/pin_order.cfg
new file mode 100644
index 0000000..7334de4
--- /dev/null
+++ b/openlane/icache/pin_order.cfg
@@ -0,0 +1,16 @@
+#N
+wishbone_in.*
+wishbone_out.*
+
+#E
+clk
+rst
+m_in.*
+
+#S
+i_in.* 
+i_out.*
+flush_in
+inval_in
+stall_in
+stall_out
diff --git a/openlane/multiply_4/config.tcl b/openlane/multiply_4/config.tcl
new file mode 100644
index 0000000..7ea0ffe
--- /dev/null
+++ b/openlane/multiply_4/config.tcl
@@ -0,0 +1,52 @@
+set script_dir [file dirname [file normalize [info script]]]
+
+set ::env(DESIGN_NAME) multiply_4
+
+set ::env(VERILOG_FILES) "\
+	$script_dir/../../verilog/rtl/multiply_4.v"
+
+set ::env(CLOCK_PORT) "clk"
+set ::env(CLOCK_PERIOD) "30"
+set ::env(CLOCK_NET) $::env(CLOCK_PORT)
+
+set ::env(FP_SIZING) absolute
+set ::env(DIE_AREA) "0 0 1100 1100"
+
+# Settings for macros
+set ::env(DESIGN_IS_CORE) 0
+set ::env(FP_PDN_CORE_RING) 0
+set ::env(GLB_RT_MAXLAYER) 5
+
+# Tracks are ending up on met5 even with GLB_RT_MAXLAYER set
+set ::env(GLB_RT_OBS) "met5 $::env(DIE_AREA)"
+
+# Handle PDN
+set ::env(VDD_NETS) [list {vccd1} ]
+set ::env(GND_NETS) [list {vssd1} ]
+
+# Tuning
+set ::env(PL_TARGET_DENSITY) 0.55
+set ::env(CELL_PAD) 4
+
+set ::env(SYNTH_STRATEGY) "DELAY 2"
+
+set ::env(GLB_RT_L1_ADJUSTMENT) 0.99
+set ::env(GLB_RT_L2_ADJUSTMENT) 0.25
+set ::env(GLB_RT_L3_ADJUSTMENT) 0.25
+set ::env(GLB_RT_L4_ADJUSTMENT) 0.2
+set ::env(GLB_RT_L5_ADJUSTMENT) 0.1
+set ::env(GLB_RT_L6_ADJUSTMENT) 0.1
+
+set ::env(DIODE_INSERTION_STRATEGY) 5
+
+set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
+
+if {[catch {exec nproc} result] == 0} {
+	set ::env(ROUTING_CORES) $result
+} else {
+	set ::env(ROUTING_CORES) 4
+}
+
+set ::env(RUN_KLAYOUT) 0
+set ::env(RUN_KLAYOUT_DRC) 0
+set ::env(RUN_KLAYOUT_XOR) 0
diff --git a/openlane/multiply_4/pin_order.cfg b/openlane/multiply_4/pin_order.cfg
new file mode 100644
index 0000000..1f9b365
--- /dev/null
+++ b/openlane/multiply_4/pin_order.cfg
@@ -0,0 +1,6 @@
+#N
+clk
+m_in.*
+
+#E
+m_out.*
diff --git a/openlane/register_file/config.tcl b/openlane/register_file/config.tcl
new file mode 100644
index 0000000..3798972
--- /dev/null
+++ b/openlane/register_file/config.tcl
@@ -0,0 +1,52 @@
+set script_dir [file dirname [file normalize [info script]]]
+
+set ::env(DESIGN_NAME) register_file
+
+set ::env(VERILOG_FILES) "\
+	$script_dir/../../verilog/rtl/register_file.v"
+
+set ::env(CLOCK_PORT) "clk"
+set ::env(CLOCK_PERIOD) "20"
+set ::env(CLOCK_NET) $::env(CLOCK_PORT)
+
+set ::env(FP_SIZING) absolute
+set ::env(DIE_AREA) "0 0 1100 1100"
+
+# Settings for macros
+set ::env(DESIGN_IS_CORE) 0
+set ::env(FP_PDN_CORE_RING) 0
+set ::env(GLB_RT_MAXLAYER) 5
+
+# Tracks are ending up on met5 even with GLB_RT_MAXLAYER set
+set ::env(GLB_RT_OBS) "met5 $::env(DIE_AREA)"
+
+# Handle PDN
+set ::env(VDD_NETS) [list {vccd1} ]
+set ::env(GND_NETS) [list {vssd1} ]
+
+# Tuning
+set ::env(PL_TARGET_DENSITY) 0.55
+set ::env(CELL_PAD) 4
+
+set ::env(SYNTH_STRATEGY) "DELAY 2"
+
+set ::env(GLB_RT_L1_ADJUSTMENT) 0.99
+set ::env(GLB_RT_L2_ADJUSTMENT) 0.25
+set ::env(GLB_RT_L3_ADJUSTMENT) 0.25
+set ::env(GLB_RT_L4_ADJUSTMENT) 0.1
+set ::env(GLB_RT_L5_ADJUSTMENT) 0.1
+set ::env(GLB_RT_L6_ADJUSTMENT) 0.1
+
+set ::env(DIODE_INSERTION_STRATEGY) 5
+
+set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
+
+if {[catch {exec nproc} result] == 0} {
+	set ::env(ROUTING_CORES) $result
+} else {
+	set ::env(ROUTING_CORES) 4
+}
+
+set ::env(RUN_KLAYOUT) 0
+set ::env(RUN_KLAYOUT_DRC) 0
+set ::env(RUN_KLAYOUT_XOR) 0
diff --git a/openlane/register_file/pin_order.cfg b/openlane/register_file/pin_order.cfg
new file mode 100644
index 0000000..1fa4e07
--- /dev/null
+++ b/openlane/register_file/pin_order.cfg
@@ -0,0 +1,7 @@
+#N
+clk
+d_in.*
+d_out.*
+
+#W
+w_in.*
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
index e60639f..4d27b15 100644
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -25,13 +25,15 @@
 ## Source Verilog Files
 set ::env(VERILOG_FILES) "\
 	$script_dir/../../verilog/rtl/defines.v \
+	$script_dir/../../verilog/rtl/microwatt.v \
 	$script_dir/../../verilog/rtl/user_project_wrapper.v"
 
 ## Clock configurations
-set ::env(CLOCK_PORT) "user_clock2"
-set ::env(CLOCK_NET) "mprj.clk"
+# Should we switch to independent clock?
+set ::env(CLOCK_PORT) "wb_clk_i"
+set ::env(CLOCK_NET) $::env(CLOCK_PORT)
 
-set ::env(CLOCK_PERIOD) "10"
+set ::env(CLOCK_PERIOD) "35"
 
 ## Internal Macros
 ### Macro Placement
@@ -39,25 +41,63 @@
 
 ### Black-box verilog and views
 set ::env(VERILOG_FILES_BLACKBOX) "\
-	$script_dir/../../verilog/rtl/defines.v \
-	$script_dir/../../verilog/rtl/user_proj_example.v"
+        $script_dir/../../verilog/rtl/RAM_512x64.v \
+        $script_dir/../../verilog/rtl/register_file.v \
+        $script_dir/../../verilog/rtl/multiply_4.v \
+        $script_dir/../../verilog/rtl/icache.v \
+        $script_dir/../../verilog/rtl/dcache.v"
 
 set ::env(EXTRA_LEFS) "\
-	$script_dir/../../lef/user_proj_example.lef"
+        $script_dir/../../lef/RAM_512x64.lef \
+        $script_dir/../../lef/register_file.lef \
+        $script_dir/../../lef/multiply_4.lef \
+        $script_dir/../../lef/icache.lef \
+        $script_dir/../../lef/dcache.lef"
 
 set ::env(EXTRA_GDS_FILES) "\
-	$script_dir/../../gds/user_proj_example.gds"
+        $script_dir/../../gds/RAM_512x64.gds \
+        $script_dir/../../gds/register_file.gds \
+        $script_dir/../../gds/multiply_4.gds \
+        $script_dir/../../gds/icache.gds \
+        $script_dir/../../gds/dcache.gds"
 
+# Tuning
+set ::env(PL_TARGET_DENSITY) 0.20
+set ::env(CELL_PAD) 8
 
-# The following is because there are no std cells in the example wrapper project.
-set ::env(SYNTH_TOP_LEVEL) 1
-set ::env(PL_RANDOM_GLB_PLACEMENT) 1
 set ::env(PL_OPENPHYSYN_OPTIMIZATIONS) 0
-set ::env(DIODE_INSERTION_STRATEGY) 0
-set ::env(FILL_INSERTION) 0
-set ::env(TAP_DECAP_INSERTION) 0
-set ::env(CLOCK_TREE_SYNTH) 0
 
+#set ::env(SYNTH_STRATEGY) "DELAY 2"
+
+#set ::env(FP_TAPCELL_DIST) 13
+
+set ::env(GLB_RT_OBS) "met5 60.000 2720.000 2860.000 3420.000, met4 60.000 2720.000 2860.000 3420.000, met5 60.000 1740.000 740.000 2420.000, met4 60.000 1740.000 740.000 2420.000, met5 2110.000 1720.000 2860.000 2470.000, met4 2110.000 1720.000 2860.000 2470.000, met5 60.000 100.000 1160.000 1200.000, met4 60.000 100.000 1160.000 1200.000, met5 1760.000 100.000 2860.000 1200.000, met4 1760.000 100.000 2860.000 1200.000"
+
+set ::env(FP_HORIZONTAL_HALO) 70
+set ::env(FP_VERTICAL_HALO) 47.5
+
+set ::env(GLB_RT_L1_ADJUSTMENT) 0.99
+set ::env(GLB_RT_L2_ADJUSTMENT) 0.25
+set ::env(GLB_RT_L3_ADJUSTMENT) 0.25
+set ::env(GLB_RT_L4_ADJUSTMENT) 0.2
+set ::env(GLB_RT_L5_ADJUSTMENT) 0.1
+set ::env(GLB_RT_L6_ADJUSTMENT) 0.1
+
+set ::env(DIODE_INSERTION_STRATEGY) 5
+
+set ::env(GLB_RT_ALLOW_CONGESTION) 1
+
+set ::env(PL_DIAMOND_SEARCH_HEIGHT) 400
+
+if {[catch {exec nproc} result] == 0} {
+	set ::env(ROUTING_CORES) $result
+} else {
+	set ::env(ROUTING_CORES) 4
+}
+
+set ::env(RUN_KLAYOUT) 0
+set ::env(RUN_KLAYOUT_DRC) 0
+set ::env(RUN_KLAYOUT_XOR) 0
 
 # DON'T TOUCH THE FOLLOWING SECTIONS
 
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg
index cab6c9d..6a71318 100644
--- a/openlane/user_project_wrapper/macro.cfg
+++ b/openlane/user_project_wrapper/macro.cfg
@@ -1 +1,5 @@
-mprj 1175 1700 N
+microwatt_0.soc0.bram.bram0.ram_0.memory_0         60.000 2720.000 N
+microwatt_0.soc0.processor.icache_0                60.000 1740.000 N
+microwatt_0.soc0.processor.dcache_0              2110.000 1720.000 N
+microwatt_0.soc0.processor.execute1_0.multiply_0   60.000  100.000 N
+microwatt_0.soc0.processor.register_file_0       1760.000  100.000 N
diff --git a/openlane/user_project_wrapper/scripts/layout.py b/openlane/user_project_wrapper/scripts/layout.py
new file mode 100755
index 0000000..61661b7
--- /dev/null
+++ b/openlane/user_project_wrapper/scripts/layout.py
@@ -0,0 +1,73 @@
+#!/usr/bin/python3
+
+import re
+import os
+
+X=0
+Y=1
+
+# Wrapper size
+die_size   = (2920, 3520)
+
+r = re.compile('SIZE ([0-9\.]+) BY ([0-9\.]+) ;')
+
+def get_macro_size(name):
+    lef_file = os.path.dirname(os.path.abspath(__file__)) + '/../../../lef/' + name + '.lef'
+    with open(lef_file) as f:
+        for line in f:
+            m = r.search(line)
+            if m:
+                lx = float(m.group(1))
+                ly = float(m.group(2))
+                return (lx, ly)
+
+
+# Macro sizes
+#ram        = (2800,  550)
+#icache     = ( 660,  660)
+#dcache     = ( 720,  720)
+#multiply_4 = ( 800,  800)
+#regfile    = (1000, 1000)
+ram = get_macro_size('RAM_512x64')
+icache = get_macro_size('icache')
+dcache = get_macro_size('dcache')
+multiply_4 = get_macro_size('multiply_4')
+regfile = get_macro_size('register_file')
+
+horizontal_margin = 60
+vertical_margin   = 100
+
+# Macro layout
+
+# RAM at top
+ram_l    =     (horizontal_margin,                        die_size[Y]-ram[Y]-vertical_margin)
+
+# Caches in the middle
+icache_l     = (horizontal_margin,                        die_size[Y]-icache[Y]-1100)
+dcache_l     = (die_size[X]-dcache[X]-horizontal_margin,  die_size[Y]-dcache[Y]-1050)
+
+# Multiply and regfile at bottom
+multiply_4_l = (horizontal_margin,                        vertical_margin)
+regfile_l    = (die_size[X]-regfile[X]-horizontal_margin, vertical_margin)
+
+print('microwatt_0.soc0.bram.bram0.ram_0.memory_0       %8.3f %8.3f N' % ram_l)
+print('microwatt_0.soc0.processor.icache_0              %8.3f %8.3f N' % icache_l)
+print('microwatt_0.soc0.processor.dcache_0              %8.3f %8.3f N' % dcache_l)
+print('microwatt_0.soc0.processor.execute1_0.multiply_0 %8.3f %8.3f N' % multiply_4_l)
+print('microwatt_0.soc0.processor.register_file_0       %8.3f %8.3f N' % regfile_l)
+
+def print_obs(sz, base, last=False):
+    sep = ''
+    if not last:
+        sep = ', '
+    print('met5 %.3f %.3f %.3f %.3f, ' % (base[X], base[Y], base[X]+sz[X], base[Y]+sz[Y]), end='')
+    print('met4 %.3f %.3f %.3f %.3f%s' % (base[X], base[Y], base[X]+sz[X], base[Y]+sz[Y], sep), end='')
+
+print()
+print('set ::env(GLB_RT_OBS) "', end='')
+print_obs(ram, ram_l)
+print_obs(icache, icache_l)
+print_obs(dcache, dcache_l)
+print_obs(multiply_4, multiply_4_l)
+print_obs(regfile, regfile_l, last=True)
+print('"')
diff --git a/scripts/microwatt-build-caravel.sh b/scripts/microwatt-build-caravel.sh
new file mode 100755
index 0000000..d1c5639
--- /dev/null
+++ b/scripts/microwatt-build-caravel.sh
@@ -0,0 +1,9 @@
+#!/bin/bash -e
+
+cd $CARAVEL_PATH
+make uncompress
+cd openlane
+
+make user_project_wrapper
+
+docker run --rm -v $CARAVEL_PATH:$CARAVEL_PATH -v $OPENLANE_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -e CARAVEL_PATH=$CARAVEL_PATH -e PDK_ROOT=$PDK_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME sh -c "cd $CARAVEL_PATH && make"
diff --git a/scripts/microwatt-build-macros.sh b/scripts/microwatt-build-macros.sh
new file mode 100755
index 0000000..46dc226
--- /dev/null
+++ b/scripts/microwatt-build-macros.sh
@@ -0,0 +1,12 @@
+#!/bin/bash -e
+
+cd $CARAVEL_PATH
+make uncompress
+cd openlane
+
+for macro in icache dcache register_file multiply_4 RAM_512x64
+do
+	make $macro < /dev/null &
+done
+
+wait
diff --git a/scripts/microwatt-commit-caravel.py b/scripts/microwatt-commit-caravel.py
new file mode 100755
index 0000000..840e377
--- /dev/null
+++ b/scripts/microwatt-commit-caravel.py
@@ -0,0 +1,95 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import subprocess
+
+compress_size = 100*1000*1000
+gzip_compress_size_max = 200*1000*1000
+gzip_compress_cmd = [ 'gzip', '-9', '-f' ]
+xz_compress_cmd = [ 'xz', '-9', '-f' ]
+gzip_uncompress_cmd = [ 'gzip', '-d', '-f' ]
+xz_uncompress_cmd = [ 'xz', '-d', '-f' ]
+
+files = [ "def/user_project_wrapper.def",
+          "gds/user_project_wrapper.gds",
+          "lef/user_project_wrapper.lef",
+          "mag/user_project_wrapper.mag",
+          "maglef/user_project_wrapper.mag",
+          "spi/lvs/user_project_wrapper.spice",
+          "verilog/gl/user_project_wrapper.v",
+          "gds/caravel.gds"
+]
+
+# Check all the files exist
+for fname in files:
+    try:
+        s = os.stat(fname)
+    except:
+        print("%s doesn't exist" % fname)
+        sys.exit(1)
+
+
+add_files = list()
+rm_files = list()
+
+for fname in files:
+    sz = os.stat(fname).st_size
+    if sz > gzip_compress_size_max:
+        cmd = xz_compress_cmd.copy()
+        cmd.append(fname)
+        print(cmd)
+        subprocess.check_call(cmd)
+
+        rm_files.append(fname)
+        rm_files.append(fname + '.gz')
+        add_files.append(fname + '.xz')
+    elif sz > compress_size or 'gds' in fname:
+        cmd = gzip_compress_cmd.copy()
+        cmd.append(fname)
+        print(cmd)
+        subprocess.check_call(cmd)
+
+        rm_files.append(fname)
+        rm_files.append(fname + '.xz')
+        add_files.append(fname + '.gz')
+    else:
+        rm_files.append(fname + '.gz')
+        rm_files.append(fname + '.xz')
+        add_files.append(fname)
+
+
+checked_rm_files = list()
+for f in rm_files:
+    cmd = [ 'git', 'rm', f ]
+    try:
+        print(cmd)
+        subprocess.check_call(cmd)
+        checked_rm_files.append(f)
+    except:
+        pass
+
+
+cmd = [ 'git', 'add' ]
+cmd.extend(add_files)
+print(cmd)
+subprocess.check_call(cmd)
+
+cmd = [ 'git', 'commit', '-m', 'Tape out' ]
+cmd.extend(checked_rm_files)
+cmd.extend(add_files)
+print(cmd)
+subprocess.check_call(cmd)
+
+# Uncompress files now they've been checked in
+for fname in add_files:
+    if fname.endswith('.gz'):
+        cmd = gzip_uncompress_cmd.copy()
+        cmd.append(fname)
+        print(cmd)
+        subprocess.check_call(cmd)
+    elif fname.endswith('.xz'):
+        cmd = xz_uncompress_cmd.copy()
+        cmd.append(fname)
+        print(cmd)
+        subprocess.check_call(cmd)
diff --git a/scripts/microwatt-commit-macros.py b/scripts/microwatt-commit-macros.py
new file mode 100755
index 0000000..8fa3bae
--- /dev/null
+++ b/scripts/microwatt-commit-macros.py
@@ -0,0 +1,87 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import subprocess
+
+compress_size = 100*1000*1000
+gzip_compress_cmd = [ 'gzip', '-9', '-f' ]
+gzip_uncompress_cmd = [ 'gzip', '-d', '-f' ]
+
+macros = [ 'RAM_512x64',
+           'dcache',
+           'icache',
+           'multiply_4',
+           'register_file'
+]
+
+# Directories and extensions
+dirs = [ ('def', 'def'),
+         ('gds', 'gds'),
+         ('lef', 'lef'),
+         ('mag', 'mag'),
+         ('maglef', 'mag'),
+         ('spi/lvs', 'spice'),
+         ('verilog/gl', 'v')
+]
+
+# Check all the files exist
+for (dir, ext) in dirs:
+    for macro in macros:
+        fname = '%s/%s.%s' % (dir, macro, ext)
+        try:
+            s = os.stat(fname)
+        except:
+            print("%s doesn't exist" % fname)
+            sys.exit(1)
+
+
+add_files = list()
+rm_files = list()
+
+for (dir, ext) in dirs:
+    for macro in macros:
+        fname = '%s/%s.%s' % (dir, macro, ext)
+        sz = os.stat(fname).st_size
+        if sz > compress_size or 'gds' in dir:
+            cmd = gzip_compress_cmd.copy()
+            cmd.append(fname)
+            print(cmd)
+            subprocess.check_call(cmd)
+
+            rm_files.append(fname)
+            add_files.append(fname + '.gz')
+        else:
+            rm_files.append(fname + '.gz')
+            add_files.append(fname)
+
+
+checked_rm_files = list()
+for f in rm_files:
+    cmd = [ 'git', 'rm', f ]
+    try:
+        print(cmd)
+        subprocess.check_call(cmd)
+        checked_rm_files.append(f)
+    except:
+        pass
+
+
+cmd = [ 'git', 'add' ]
+cmd.extend(add_files)
+print(cmd)
+subprocess.check_call(cmd)
+
+cmd = [ 'git', 'commit', '-m', 'Build macros' ]
+cmd.extend(checked_rm_files)
+cmd.extend(add_files)
+print(cmd)
+subprocess.check_call(cmd)
+
+# Uncompress files now they've been checked in
+for fname in add_files:
+    if fname.endswith('.gz'):
+        cmd = gzip_uncompress_cmd.copy()
+        cmd.append(fname)
+        print(cmd)
+        subprocess.check_call(cmd)
diff --git a/scripts/microwatt-tape-out.sh b/scripts/microwatt-tape-out.sh
new file mode 100755
index 0000000..82efa30
--- /dev/null
+++ b/scripts/microwatt-tape-out.sh
@@ -0,0 +1,13 @@
+#!/bin/bash -e
+
+export OPENLANE_IMAGE_NAME=localhost/openlane:rc7
+export IMAGE_NAME=$OPENLANE_IMAGE_NAME
+export PDK_ROOT=/shared/anton/pdk.rc7
+export OPENLANE_ROOT=/shared/anton/openlane.rc7
+
+export CARAVEL_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"/../
+
+$CARAVEL_PATH/scripts/microwatt-build-macros.sh
+$CARAVEL_PATH/scripts/microwatt-commit-macros.py
+$CARAVEL_PATH/scripts/microwatt-build-caravel.sh
+$CARAVEL_PATH/scripts/microwatt-commit-caravel.py
diff --git a/verilog/dv/caravel/microwatt/README.md b/verilog/dv/caravel/microwatt/README.md
new file mode 100644
index 0000000..7661dd8
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/README.md
@@ -0,0 +1,46 @@
+# Microwatt Tests
+
+To run these you need icarus verilog, a riscv toolchain and a ppc64le
+toolchain. On Fedora these are available as packages:
+
+```
+sudo dnf install iverilog gcc-riscv64-linux-gnu gcc-powerpc64le-linux-gnu
+```
+
+And on Ubuntu:
+
+```
+sudo apt install iverilog gcc-riscv64-linux-gnu gcc-powerpc64le-linux-gnu
+```
+
+The test cases need a path to the PDK, eg:
+
+```
+make PDK_PATH=/home/anton/pdk/sky130A
+```
+
+## minimal
+This is probably where you should start. This is a minimal test that verifies
+that Microwatt is running. The SPI flash controller is lightly tested because
+Microwatt uses it to fetch instructions for the test case. The logic analyzer
+is also lightly tested because Microwatt uses that to signal back to the
+management engine that it is alive.
+
+## uart
+This tests the management engine handing over the TX and RX I/O pins to
+Microwatt, and Microwatt receiving a character and echoing it back.
+
+## logic_analyzer
+Microwatt has 32 LA inputs and 32 LA outputs hooked up.  This tests that
+functionality by ping ponging an LFSR sequence between the management engine
+and Microwatt. Each value in the sequence is checked before emitting the next
+one.
+
+## spi_flash
+Before starting flash is initialized with a hash of the offset. The test case
+then does reads at various offsets and checks if the values returned are
+correct.
+
+## memory_test
+A simple memory tester. Writes hashes of the offset of memory into memory,
+then reads them back.
diff --git a/verilog/dv/caravel/microwatt/external_bus_minimal/Makefile b/verilog/dv/caravel/microwatt/external_bus_minimal/Makefile
new file mode 100644
index 0000000..ccbe467
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/external_bus_minimal/Makefile
@@ -0,0 +1,59 @@
+FIRMWARE_PATH = ../..
+VERILOG_PATH = ../../../..
+RTL_PATH = $(VERILOG_PATH)/rtl
+IP_PATH = ../../../../ip
+BEHAVIOURAL_MODELS = ../../
+
+PDK_PATH?=/ef/tech/SW/sky130A
+
+RISCV_CROSS_COMPILE?=riscv64-linux-gnu-
+RISCV_CFLAGS=-static -Os -g -Wall -march=rv32imc -mabi=ilp32 -ffreestanding -nostdlib
+
+POWERPC_CROSS_COMPILE?=powerpc64le-linux-gnu-
+POWERPC_CFLAGS=-static -Os -g -Wall -std=c99 -msoft-float -mno-string -mno-multiple -mno-vsx -mno-altivec -mlittle-endian -fno-stack-protector -ffreestanding -fdata-sections -ffunction-sections -nostdlib -I../include
+
+SIM?=RTL
+
+.SUFFIXES:
+
+PATTERN = external_bus_minimal
+
+all: ${PATTERN:=.vcd}
+
+%.vvp: %_tb.v mgmt_engine.hex microwatt.hex
+ifeq ($(SIM),RTL)
+	iverilog -DFUNCTIONAL -DSIM -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(RTL_PATH) \
+	$< -o $@
+else
+	iverilog -DFUNCTIONAL -DSIM -DGL -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(VERILOG_PATH) -I $(RTL_PATH) \
+	$< -o $@
+endif
+
+%.vcd: %.vvp
+	vvp $<
+
+# Management engine code
+
+mgmt_engine.elf: mgmt_engine.c $(FIRMWARE_PATH)/sections.lds $(FIRMWARE_PATH)/start.s
+	$(RISCV_CROSS_COMPILE)gcc $(RISCV_CFLAGS) -Wl,-T,$(FIRMWARE_PATH)/sections.lds -o $@ $(FIRMWARE_PATH)/start.s $<
+
+mgmt_engine.hex: mgmt_engine.elf
+	$(RISCV_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@1000/@0000/g' $@
+
+# Microwatt code
+microwatt.elf: microwatt.c ../lib/console.c ../lib/head.S ../microwatt.lds
+	$(POWERPC_CROSS_COMPILE)gcc $(POWERPC_CFLAGS) -Wl,-T,../microwatt.lds -o $@ microwatt.c ../lib/console.c ../lib/head.S
+
+microwatt.hex: microwatt.elf
+	$(POWERPC_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@F000/@0000/g' $@
+
+clean:
+	rm -f *.vvp *.vcd *.elf *.bin *.o *.vvp *.vcd *.log *.hex
+
+.PHONY: clean hex all
diff --git a/verilog/dv/caravel/microwatt/external_bus_minimal/external_bus_minimal_tb.v b/verilog/dv/caravel/microwatt/external_bus_minimal/external_bus_minimal_tb.v
new file mode 100644
index 0000000..b2d2e27
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/external_bus_minimal/external_bus_minimal_tb.v
@@ -0,0 +1,333 @@
+`default_nettype none
+/*
+ *  Copyright (C) 2017  Clifford Wolf <clifford@clifford.at>
+ *  Copyright (C) 2018  Tim Edwards <tim@efabless.com>
+ *  Copyright (C) 2020  Anton Blanchard <anton@linux.ibm.com>
+ *
+ *  Permission to use, copy, modify, and/or distribute this software for any
+ *  purpose with or without fee is hereby granted, provided that the above
+ *  copyright notice and this permission notice appear in all copies.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+`timescale 1 ns / 1 ps
+
+`include "caravel_netlists.v"
+`include "spiflash.v"
+
+
+module external_bus_tb (
+	input clk,
+
+	input [7:0] ext_bus_in,
+	input ext_bus_pty_in,
+
+	output [7:0] ext_bus_out,
+	output ext_bus_pty_out
+);
+	localparam [7:0] CMD_READ = 8'h2;
+	localparam [7:0] CMD_WRITE = 8'h3;
+	localparam [7:0] CMD_READ_ACK = 8'h82;
+	localparam [7:0] CMD_WRITE_ACK = 8'h83;
+
+	localparam [3:0] ADDR_BYTES = 4;
+	localparam [3:0] DATA_BYTES = 8;
+
+	localparam [3:0] READ_DELAY_CYCLES = 8;
+
+	localparam [3:0] RECV_STATE_IDLE = 0;
+	localparam [3:0] RECV_STATE_WRITE_ADDR = 1;
+	localparam [3:0] RECV_STATE_WRITE_DATA = 2;
+	localparam [3:0] RECV_STATE_WRITE_SEL = 3;
+	localparam [3:0] RECV_STATE_READ_ADDR = 4;
+	localparam [3:0] RECV_STATE_READ_DELAY = 5;
+	reg [3:0] recv_state;
+
+	reg [31:0] recv_addr;
+	reg [63:0] recv_data;
+	reg [7:0] recv_sel;
+	reg [3:0] recv_count;
+	reg [127:0] tx_data;
+
+	reg [7:0] bus_out;
+
+	assign ext_bus_out = bus_out;
+	assign ext_bus_pty_out = ~^bus_out;
+
+	initial begin
+		bus_out <= 8'h0;
+		recv_state <= 0;
+		recv_addr <= 0;
+		recv_sel <= 0;
+		recv_data <= 0;
+		recv_count <= 0;
+		tx_data <= 0;
+	end
+
+	// receive on positive edge
+	always @(posedge clk) begin
+		if (ext_bus_pty_in != ~^ext_bus_in) begin
+			$display("Bad parity on bus");
+			$fatal;
+		end
+
+		case (recv_state)
+			RECV_STATE_IDLE: begin
+				//$display("Idle state");
+
+				if (ext_bus_in == CMD_WRITE) begin
+					$display("Got write command");
+					recv_state <= RECV_STATE_WRITE_ADDR;
+					recv_addr <= 0;
+					recv_sel <= 0;
+					recv_data <= 0;
+					recv_count <= ADDR_BYTES;
+				end
+				if (ext_bus_in == CMD_READ) begin
+					$display("Got read command");
+					recv_state <= RECV_STATE_READ_ADDR;
+					recv_addr <= 0;
+					recv_sel <= 0;
+					recv_data <= 0;
+					recv_count <= ADDR_BYTES;
+				end
+			end
+
+			RECV_STATE_WRITE_ADDR: begin
+				$display("RECV_STATE_WRITE_ADDR state");
+
+				recv_addr <= { ext_bus_in, recv_addr[23:8] };
+				$display("A: %02x", ext_bus_in);
+				if (recv_count == 1) begin
+					recv_state <= RECV_STATE_WRITE_SEL;
+				end else begin
+					recv_count <= recv_count - 1;
+				end
+			end
+
+			RECV_STATE_WRITE_SEL: begin
+				$display("RECV_STATE_WRITE_SEL state");
+
+				$display("S: %02x", ext_bus_in);
+				recv_sel <= ext_bus_in;
+				recv_state <= RECV_STATE_WRITE_DATA;
+				recv_count <= DATA_BYTES;
+			end
+
+			RECV_STATE_WRITE_DATA: begin
+				$display("RECV_STATE_WRITE_DATA state");
+
+				recv_data <= { ext_bus_in, recv_addr[23:8] };
+				$display("D: %02x", ext_bus_in);
+				if (recv_count == 1) begin
+					tx_data <= CMD_WRITE_ACK;
+					recv_state <= RECV_STATE_IDLE;
+				end else begin
+					recv_count <= recv_count - 1;
+				end
+			end
+
+			RECV_STATE_READ_ADDR: begin
+				$display("RECV_STATE_READ_ADDR state");
+
+				recv_addr <= { ext_bus_in, recv_addr[23:8] };
+				$display("A: %02x", ext_bus_in);
+				if (recv_count == 1) begin
+					recv_count <= READ_DELAY_CYCLES;
+					recv_state <= RECV_STATE_READ_DELAY;
+				end else begin
+					recv_count <= recv_count - 1;
+				end
+			end
+
+			RECV_STATE_READ_DELAY: begin
+				$display("RECV_STATE_READ_DELAY state");
+				if (recv_count == 1) begin
+					tx_data <= { 64'h0102030405060708, CMD_READ_ACK};
+					recv_state <= RECV_STATE_IDLE;
+				end else begin
+					recv_count <= recv_count - 1;
+				end
+			end
+
+			default: begin
+				$display("BAD state");
+				$fatal;
+			end
+		endcase
+	end
+
+	// transmit on negative edge
+	always @(negedge clk) begin
+		if (|tx_data) begin
+			$display("T: %02x", tx_data[7:0]);
+			bus_out <= tx_data[7:0];
+			tx_data <= tx_data[127:8];
+		end else begin
+			bus_out <= 8'h0;
+		end
+	end
+endmodule
+
+module external_bus_minimal_tb;
+	reg clock;
+	reg RSTB;
+	reg CSB;
+	reg power1, power2;
+
+	wire gpio;
+	wire flash_csb;
+	wire flash_clk;
+	wire flash_io0;
+	wire flash_io1;
+	wire [37:0] mprj_io;
+	wire [3:0] checkbits;
+	wire user_flash_csb;
+	wire user_flash_clk;
+	inout user_flash_io0;
+	inout user_flash_io1;
+	wire ext_bus_clk;
+	wire [7:0] ext_bus_in;
+	wire ext_bus_pty_in;
+	wire [7:0] ext_bus_out;
+	wire ext_bus_pty_out;
+
+	assign user_flash_csb = mprj_io[8];
+	assign user_flash_clk = mprj_io[9];
+	assign user_flash_io0 = mprj_io[10];
+	assign mprj_io[11] = user_flash_io1;
+
+	assign checkbits = mprj_io[17:16];
+
+	assign ext_bus_clk = mprj_io[18];
+	assign ext_bus_out[7:0] = mprj_io[26:19];
+	assign ext_bus_pty_out = mprj_io[27];
+	assign mprj_io[35:28] = ext_bus_in[7:0];
+	assign mprj_io[36] = ext_bus_pty_in;
+
+	assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
+
+	// 50 MHz clock
+	always #10 clock <= (clock === 1'b0);
+
+	initial begin
+		clock = 0;
+	end
+
+	initial begin
+		$dumpfile("external_bus_minimal.vcd");
+		$dumpvars(0, external_bus_minimal_tb);
+
+		$display("Microwatt external bus minimal test");
+
+		repeat (1000000) begin
+			@(posedge clock);
+		end
+
+		$display("Timeout, test failed");
+		$fatal;
+	end
+
+	initial begin
+		RSTB <= 1'b0;
+		CSB  <= 1'b1;		// Force CSB high
+		#1000;
+		RSTB <= 1'b1;		// Release reset
+		#170000;
+		CSB = 1'b0;		// CSB can be released
+	end
+
+	initial begin		// Power-up sequence
+		power1 <= 1'b0;
+		power2 <= 1'b0;
+		#200;
+		power1 <= 1'b1;
+		#200;
+		power2 <= 1'b1;
+	end
+
+	initial begin
+		wait(checkbits == 2'h1);
+		$display("Management engine started");
+
+		wait(checkbits == 2'h2);
+		$display("Microwatt alive!");
+
+		// Wait for Microwatt to respond with success
+		wait(checkbits == 2'h3);
+		$display("Success!");
+		$finish;
+	end
+
+	wire VDD3V3;
+	wire VDD1V8;
+	wire VSS;
+
+	assign VDD3V3 = power1;
+	assign VDD1V8 = power2;
+	assign VSS = 1'b0;
+
+	caravel uut (
+		.vddio	  (VDD3V3),
+		.vssio	  (VSS),
+		.vdda	  (VDD3V3),
+		.vssa	  (VSS),
+		.vccd	  (VDD1V8),
+		.vssd	  (VSS),
+		.vdda1    (VDD3V3),
+		.vdda2    (VDD3V3),
+		.vssa1	  (VSS),
+		.vssa2	  (VSS),
+		.vccd1	  (VDD1V8),
+		.vccd2	  (VDD1V8),
+		.vssd1	  (VSS),
+		.vssd2	  (VSS),
+		.clock	  (clock),
+		.gpio     (gpio),
+		.mprj_io  (mprj_io),
+		.flash_csb(flash_csb),
+		.flash_clk(flash_clk),
+		.flash_io0(flash_io0),
+		.flash_io1(flash_io1),
+		.resetb	  (RSTB)
+	);
+
+	spiflash #(
+		.FILENAME("mgmt_engine.hex")
+	) spiflash (
+		.csb(flash_csb),
+		.clk(flash_clk),
+		.io0(flash_io0),
+		.io1(flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+
+	spiflash #(
+		.FILENAME("microwatt.hex")
+	) spiflash_microwatt (
+		.csb(user_flash_csb),
+		.clk(user_flash_clk),
+		.io0(user_flash_io0),
+		.io1(user_flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+
+	external_bus_tb external_bus_tb (
+		.clk(ext_bus_clk),
+		.ext_bus_in(ext_bus_out),
+		.ext_bus_pty_in(ext_bus_pty_out),
+		.ext_bus_out(ext_bus_in),
+		.ext_bus_pty_out(ext_bus_pty_in)
+	);
+endmodule
+`default_nettype wire
diff --git a/verilog/dv/caravel/microwatt/external_bus_minimal/mgmt_engine.c b/verilog/dv/caravel/microwatt/external_bus_minimal/mgmt_engine.c
new file mode 100644
index 0000000..97203bc
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/external_bus_minimal/mgmt_engine.c
@@ -0,0 +1,30 @@
+#include "../../defs.h"
+#include "../../stub.c"
+
+#include "../include/microwatt_util.h"
+#include "../include/mgmt_engine_util.h"
+
+// --------------------------------------------------------
+
+void main(void)
+{
+	mgmt_engine_io_setup(false, true);
+
+	// Take microwatt out of reset
+	reg_la2_data &= ~0x00000002;
+
+	while ((reg_la0_data != LA_MICROWATT_START) && (reg_la0_data != LA_MICROWATT_SUCCESS))
+		/* Do Nothing */ ;
+
+	// Signal to TB that microwatt is alive
+	reg_mprj_datal = GPIO1_MICROWATT_START;
+
+	while (reg_la0_data != LA_MICROWATT_SUCCESS)
+		/* Do Nothing */ ;
+
+	// Signal success to the TB
+	reg_mprj_datal = GPIO1_SUCCESS;
+
+	while (1)
+		/* Do Nothing */;
+}
diff --git a/verilog/dv/caravel/microwatt/external_bus_minimal/microwatt.c b/verilog/dv/caravel/microwatt/external_bus_minimal/microwatt.c
new file mode 100644
index 0000000..ca28e1a
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/external_bus_minimal/microwatt.c
@@ -0,0 +1,25 @@
+#include <stdint.h>
+
+#include "microwatt_util.h"
+
+#define EXT_BUS_OFFSET 0x40000000
+
+int main(void)
+{
+	uint64_t *p = (uint64_t *)EXT_BUS_OFFSET;
+
+	microwatt_alive();
+
+	__asm__ __volatile__("");
+	*p = 0x5A5A5A5A5A5A5A5A;
+	__asm__ __volatile__("");
+	*p = 0x0f0f0f0f0f0f0f0f;
+	__asm__ __volatile__("");
+	*p = 0xACEACEACEACEACEA;
+	__asm__ __volatile__("");
+
+	microwatt_success();
+
+	while (1)
+		/* Do Nothing */ ;
+}
diff --git a/verilog/dv/caravel/microwatt/include/console.h b/verilog/dv/caravel/microwatt/include/console.h
new file mode 100644
index 0000000..e49d569
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/include/console.h
@@ -0,0 +1,12 @@
+#include <stddef.h>
+#include <stdbool.h>
+
+void console_init(void);
+void console_set_irq_en(bool rx_irq, bool tx_irq);
+int getchar(void);
+int putchar(int c);
+int puts(const char *str);
+
+#ifndef __USE_LIBC
+size_t strlen(const char *s);
+#endif
diff --git a/verilog/dv/caravel/microwatt/include/io.h b/verilog/dv/caravel/microwatt/include/io.h
new file mode 100644
index 0000000..d148046
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/include/io.h
@@ -0,0 +1,55 @@
+#ifndef __IO_H
+#define __IO_H
+
+#include <stdint.h>
+
+static inline uint8_t readb(unsigned long addr)
+{
+	uint8_t val;
+	__asm__ volatile("sync; lbzcix %0,0,%1" : "=r" (val) : "r" (addr) : "memory");
+	return val;
+}
+
+static inline uint16_t readw(unsigned long addr)
+{
+	uint16_t val;
+	__asm__ volatile("sync; lhzcix %0,0,%1" : "=r" (val) : "r" (addr) : "memory");
+	return val;
+}
+
+static inline uint32_t readl(unsigned long addr)
+{
+	uint32_t val;
+	__asm__ volatile("sync; lwzcix %0,0,%1" : "=r" (val) : "r" (addr) : "memory");
+	return val;
+}
+
+static inline uint64_t readq(unsigned long addr)
+{
+	uint64_t val;
+	__asm__ volatile("sync; ldcix %0,0,%1" : "=r" (val) : "r" (addr) : "memory");
+	return val;
+}
+
+static inline void writeb(uint8_t val, unsigned long addr)
+{
+	__asm__ volatile("sync; stbcix %0,0,%1" : : "r" (val), "r" (addr) : "memory");
+}
+
+static inline void writew(uint16_t val, unsigned long addr)
+{
+	__asm__ volatile("sync; sthcix %0,0,%1" : : "r" (val), "r" (addr) : "memory");
+}
+
+static inline void writel(uint32_t val, unsigned long addr)
+{
+	__asm__ volatile("sync; stwcix %0,0,%1" : : "r" (val), "r" (addr) : "memory");
+}
+
+static inline void writeq(uint64_t val, unsigned long addr)
+{
+	__asm__ volatile("sync; stdcix %0,0,%1" : : "r" (val), "r" (addr) : "memory");
+}
+
+#endif /* __IO_H */
+
diff --git a/verilog/dv/caravel/microwatt/include/mgmt_engine_util.h b/verilog/dv/caravel/microwatt/include/mgmt_engine_util.h
new file mode 100644
index 0000000..25730a2
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/include/mgmt_engine_util.h
@@ -0,0 +1,84 @@
+#include <stdbool.h>
+
+#include "../../defs.h"
+
+static void inline mgmt_engine_io_setup(bool jtag, bool external_bus)
+{
+	// Set LA[65] as output to act as a reset pin for microwatt and
+	// LA[66] as output to specify reset location (RAM or FLASH)
+	reg_la2_ena = 0xFFFFFFF9;
+
+	// Put microwatt into reset and tell it to fetch from flash
+	reg_la2_data = 0x00000002 | 0x00000004;
+
+	// Set up the housekeeping SPI to be connected internally so
+	// that external pin changes don't affect it.
+	reg_spimaster_config = 0xa002;	// Enable, prescaler = 2,
+					// connect to housekeeping SPI
+
+	// Communicate status with test case over GPIO 7 and 37
+	reg_mprj_io_16 = GPIO_MODE_MGMT_STD_OUTPUT;
+	reg_mprj_io_17 = GPIO_MODE_MGMT_STD_OUTPUT;
+
+	// Signal to the tb that we are alive
+	reg_mprj_datal = GPIO1_MGMT_ENGINE_START;
+
+	// Configure UART
+	reg_mprj_io_5 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+	reg_mprj_io_6 = GPIO_MODE_USER_STD_OUTPUT;
+
+	// 7 unused
+
+	// Configure SPI
+	reg_mprj_io_8 = GPIO_MODE_USER_STD_OUTPUT;		// CSB
+	reg_mprj_io_9 = GPIO_MODE_USER_STD_OUTPUT;		// SCK
+	reg_mprj_io_10 = GPIO_MODE_USER_STD_BIDIRECTIONAL;	// IO0/MOSI
+	reg_mprj_io_11 = GPIO_MODE_USER_STD_BIDIRECTIONAL;	// IO1/MISO
+	reg_mprj_io_12 = GPIO_MODE_USER_STD_BIDIRECTIONAL;	// IO2
+	reg_mprj_io_13 = GPIO_MODE_USER_STD_BIDIRECTIONAL;	// IO3
+
+	// Configure JTAG
+	if (jtag) {
+		// Overlaps our testbench status bits
+		reg_mprj_io_14 = GPIO_MODE_USER_STD_OUTPUT;		// TDO
+		reg_mprj_io_15 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;	// TMS
+		reg_mprj_io_16 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;	// TCK
+		reg_mprj_io_17 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;	// TDI
+	}
+
+	// Configure external bus
+	if (external_bus) {
+		reg_mprj_io_18 = GPIO_MODE_USER_STD_OUTPUT;
+		reg_mprj_io_19 = GPIO_MODE_USER_STD_OUTPUT;
+		reg_mprj_io_20 = GPIO_MODE_USER_STD_OUTPUT;
+		reg_mprj_io_21 = GPIO_MODE_USER_STD_OUTPUT;
+		reg_mprj_io_22 = GPIO_MODE_USER_STD_OUTPUT;
+		reg_mprj_io_23 = GPIO_MODE_USER_STD_OUTPUT;
+		reg_mprj_io_24 = GPIO_MODE_USER_STD_OUTPUT;
+		reg_mprj_io_25 = GPIO_MODE_USER_STD_OUTPUT;
+		reg_mprj_io_26 = GPIO_MODE_USER_STD_OUTPUT;
+		reg_mprj_io_27 = GPIO_MODE_USER_STD_OUTPUT;
+	}
+	reg_mprj_io_28 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+	reg_mprj_io_29 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+	reg_mprj_io_30 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+	reg_mprj_io_31 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+	reg_mprj_io_32 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+	reg_mprj_io_33 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+	reg_mprj_io_34 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+	reg_mprj_io_35 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+	reg_mprj_io_36 = GPIO_MODE_USER_STD_INPUT_PULLDOWN;
+
+	// 37 unused
+
+	// Now, apply the configuration
+	reg_mprj_xfer = 1;
+	while (reg_mprj_xfer == 1)
+		/* Do Nothing */;
+
+	// Configure LA bits 0-31 as inputs from Microwatt
+	reg_la0_ena = 0xFFFFFFFF;	// [31:0]
+
+	// Configure LA bits 63-32 as outputs from Microwatt
+	reg_la1_ena = 0x00000000;	// [63:32]
+}
diff --git a/verilog/dv/caravel/microwatt/include/microwatt_soc.h b/verilog/dv/caravel/microwatt/include/microwatt_soc.h
new file mode 100644
index 0000000..a224d74
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/include/microwatt_soc.h
@@ -0,0 +1,155 @@
+#ifndef __MICROWATT_SOC_H
+#define __MICROWATT_SOC_H
+
+/*
+ * Microwatt SoC memory map
+ */
+
+#define MEMORY_BASE     0x00000000  /* "Main" memory alias, either BRAM or DRAM */
+#define DRAM_BASE       0x40000000  /* DRAM if present */
+#define BRAM_BASE       0x80000000  /* Internal BRAM */
+
+#define SYSCON_BASE	0xc0000000  /* System control regs */
+#define UART_BASE	0xc0002000  /* UART */
+#define XICS_ICP_BASE   0xc0004000  /* Interrupt controller */
+#define XICS_ICS_BASE   0xc0005000  /* Interrupt controller */
+#define SPI_FCTRL_BASE  0xc0006000  /* SPI flash controller registers */
+#define DRAM_CTRL_BASE	0xc8000000  /* LiteDRAM control registers */
+#define LETH_CSR_BASE	0xc8020000  /* LiteEth CSR registers */
+#define LETH_SRAM_BASE	0xc8030000  /* LiteEth MMIO space */
+#define SPI_FLASH_BASE  0xf0000000  /* SPI Flash memory map */
+#define DRAM_INIT_BASE  0xff000000  /* Internal DRAM init firmware */
+
+/*
+ * Interrupt numbers
+ */
+#define IRQ_UART0       0
+#define IRQ_ETHERNET    1
+
+/*
+ * Register definitions for the syscon registers
+ */
+
+#define SYS_REG_SIGNATURE		0x00
+#define SYS_REG_INFO			0x08
+#define   SYS_REG_INFO_HAS_UART 		(1ull << 0)
+#define   SYS_REG_INFO_HAS_DRAM 		(1ull << 1)
+#define   SYS_REG_INFO_HAS_BRAM 		(1ull << 2)
+#define   SYS_REG_INFO_HAS_SPI_FLASH 		(1ull << 3)
+#define   SYS_REG_INFO_HAS_LITEETH 		(1ull << 4)
+#define   SYS_REG_INFO_HAS_LARGE_SYSCON	        (1ull << 5)
+#define   SYS_REG_INFO_HAS_UART1 		(1ull << 6)
+#define   SYS_REG_INFO_HAS_ARTB                 (1ull << 7)
+#define SYS_REG_BRAMINFO		0x10
+#define   SYS_REG_BRAMINFO_SIZE_MASK		0xfffffffffffffull
+#define SYS_REG_DRAMINFO		0x18
+#define   SYS_REG_DRAMINFO_SIZE_MASK		0xfffffffffffffull
+#define SYS_REG_CLKINFO			0x20
+#define   SYS_REG_CLKINFO_FREQ_MASK		0xffffffffffull
+#define SYS_REG_CTRL			0x28
+#define   SYS_REG_CTRL_DRAM_AT_0		(1ull << 0)
+#define   SYS_REG_CTRL_CORE_RESET		(1ull << 1)
+#define   SYS_REG_CTRL_SOC_RESET		(1ull << 2)
+#define SYS_REG_DRAMINITINFO		0x30
+#define SYS_REG_SPI_INFO		0x38
+#define   SYS_REG_SPI_INFO_FLASH_OFF_MASK	0xffffffff
+#define SYS_REG_UART0_INFO		0x40
+#define SYS_REG_UART1_INFO		0x48
+#define   SYS_REG_UART_IS_16550			(1ull << 32)
+
+
+/*
+ * Register definitions for the potato UART
+ */
+#define POTATO_CONSOLE_TX		0x00
+#define POTATO_CONSOLE_RX		0x08
+#define POTATO_CONSOLE_STATUS		0x10
+#define   POTATO_CONSOLE_STATUS_RX_EMPTY		0x01
+#define   POTATO_CONSOLE_STATUS_TX_EMPTY		0x02
+#define   POTATO_CONSOLE_STATUS_RX_FULL			0x04
+#define   POTATO_CONSOLE_STATUS_TX_FULL			0x08
+#define POTATO_CONSOLE_CLOCK_DIV	0x18
+#define POTATO_CONSOLE_IRQ_EN		0x20
+#define   POTATO_CONSOLE_IRQ_RX				0x01
+#define   POTATO_CONSOLE_IRQ_TX				0x02
+
+/*
+ * Register definitionss for our standard (16550 style) UART
+ */
+#define UART_REG_RX       0x00
+#define UART_REG_TX       0x00
+#define UART_REG_DLL      0x00
+#define UART_REG_IER      0x04
+#define   UART_REG_IER_RDI      0x01
+#define   UART_REG_IER_THRI     0x02
+#define   UART_REG_IER_RLSI     0x04
+#define   UART_REG_IER_MSI      0x08
+#define UART_REG_DLM      0x04
+#define UART_REG_IIR      0x08
+#define UART_REG_FCR      0x08
+#define   UART_REG_FCR_EN_FIFO  0x01
+#define   UART_REG_FCR_CLR_RCVR 0x02
+#define   UART_REG_FCR_CLR_XMIT 0x04
+#define   UART_REG_FCR_TRIG1    0x00
+#define   UART_REG_FCR_TRIG4    0x40
+#define   UART_REG_FCR_TRIG8    0x80
+#define   UART_REG_FCR_TRIG14   0xc0
+#define UART_REG_LCR      0x0c
+#define   UART_REG_LCR_5BIT	0x00
+#define   UART_REG_LCR_6BIT	0x01
+#define   UART_REG_LCR_7BIT	0x02
+#define   UART_REG_LCR_8BIT	0x03
+#define   UART_REG_LCR_STOP     0x04
+#define   UART_REG_LCR_PAR      0x08
+#define   UART_REG_LCR_EVEN_PAR 0x10
+#define   UART_REG_LCR_STIC_PAR 0x20
+#define   UART_REG_LCR_BREAK    0x40
+#define   UART_REG_LCR_DLAB     0x80
+#define UART_REG_MCR      0x10
+#define   UART_REG_MCR_DTR      0x01
+#define   UART_REG_MCR_RTS      0x02
+#define   UART_REG_MCR_OUT1     0x04
+#define   UART_REG_MCR_OUT2     0x08
+#define   UART_REG_MCR_LOOP     0x10
+#define UART_REG_LSR      0x14
+#define   UART_REG_LSR_DR       0x01
+#define   UART_REG_LSR_OE       0x02
+#define   UART_REG_LSR_PE       0x04
+#define   UART_REG_LSR_FE       0x08
+#define   UART_REG_LSR_BI       0x10
+#define   UART_REG_LSR_THRE     0x20
+#define   UART_REG_LSR_TEMT     0x40
+#define   UART_REG_LSR_FIFOE    0x80
+#define UART_REG_MSR      0x18
+#define UART_REG_SCR      0x1c
+
+
+/*
+ * Register definitions for the SPI controller
+ */
+#define SPI_REG_DATA       		0x00 /* Byte access: single wire transfer */
+#define SPI_REG_DATA_DUAL       	0x01 /* Byte access: dual wire transfer */
+#define SPI_REG_DATA_QUAD       	0x02 /* Byte access: quad wire transfer */
+#define SPI_REG_CTRL			0x04 /* Reset and manual mode control */
+#define   SPI_REG_CTRL_RESET            	0x01  /* reset all registers */
+#define   SPI_REG_CTRL_MANUAL_CS	        0x02  /* assert CS, enable manual mode */
+#define   SPI_REG_CTRL_CKDIV_SHIFT		8     /* clock div */
+#define   SPI_REG_CTRL_CKDIV_MASK		(0xff << SPI_REG_CTRL_CKDIV_SHIFT)
+#define SPI_REG_AUTO_CFG		0x08 /* Automatic map configuration */
+#define   SPI_REG_AUTO_CFG_CMD_SHIFT		0     /* Command to use for reads */
+#define   SPI_REG_AUTO_CFG_CMD_MASK		(0xff << SPI_REG_AUTO_CFG_CMD_SHIFT)
+#define   SPI_REG_AUTO_CFG_DUMMIES_SHIFT        8     /* # dummy cycles */
+#define   SPI_REG_AUTO_CFG_DUMMIES_MASK         (0x7  << SPI_REG_AUTO_CFG_DUMMIES_SHIFT)
+#define   SPI_REG_AUTO_CFG_MODE_SHIFT           11    /* SPI wire mode */
+#define   SPI_REG_AUTO_CFG_MODE_MASK            (0x3  << SPI_REG_AUTO_CFG_MODE_SHIFT)
+#define     SPI_REG_AUT_CFG_MODE_SINGLE         (0 << 11)
+#define     SPI_REG_AUT_CFG_MODE_DUAL           (2 << 11)
+#define     SPI_REG_AUT_CFG_MODE_QUAD           (3 << 11)
+#define   SPI_REG_AUTO_CFG_ADDR4                (1u << 13) /* 3 or 4 addr bytes */
+#define   SPI_REG_AUTO_CFG_CKDIV_SHIFT          16    /* clock div */
+#define   SPI_REG_AUTO_CFG_CKDIV_MASK           (0xff << SPI_REG_AUTO_CFG_CKDIV_SHIFT)
+#define   SPI_REG_AUTO_CFG_CSTOUT_SHIFT         24    /* CS timeout */
+#define   SPI_REG_AUTO_CFG_CSTOUT_MASK          (0x3f << SPI_REG_AUTO_CFG_CSTOUT_SHIFT)
+
+
+#endif /* __MICROWATT_SOC_H */
diff --git a/verilog/dv/caravel/microwatt/include/microwatt_util.h b/verilog/dv/caravel/microwatt/include/microwatt_util.h
new file mode 100644
index 0000000..cd10a8c
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/include/microwatt_util.h
@@ -0,0 +1,34 @@
+#ifndef __MICROWATT_UTIL_H
+#define __MICROWATT_UTIL_H
+
+#include "io.h"
+
+#define LA_REG			0xc8020000
+
+#define LA_MICROWATT_START	0xbadc0ffe
+#define LA_MICROWATT_SUCCESS	0x0ddf00d5
+#define LA_MICROWATT_FAILURE 	0x71077345
+
+#define GPIO1_MGMT_ENGINE_START	0x00010000
+#define GPIO1_MICROWATT_START	0x00020000
+#define GPIO1_SUCCESS		0x00030000
+#define GPIO1_FAILURE		0x00000000
+
+#ifdef __powerpc64__
+static inline void microwatt_alive(void)
+{
+	writel(LA_MICROWATT_START, LA_REG);
+}
+
+static inline void microwatt_success(void)
+{
+	writel(LA_MICROWATT_SUCCESS, LA_REG);
+}
+
+static inline void microwatt_failure(void)
+{
+	writel(LA_MICROWATT_FAILURE, LA_REG);
+}
+#endif
+
+#endif
diff --git a/verilog/dv/caravel/microwatt/lib/console.c b/verilog/dv/caravel/microwatt/lib/console.c
new file mode 100644
index 0000000..29bd749
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/lib/console.c
@@ -0,0 +1,131 @@
+#include <stdint.h>
+#include <stdbool.h>
+
+#include "console.h"
+#include "microwatt_soc.h"
+#include "io.h"
+
+#define UART_BAUDS 115200
+
+/*
+ * Core UART functions to implement for a port
+ */
+
+static uint64_t uart_base;
+
+static unsigned long uart_divisor(unsigned long uart_freq, unsigned long bauds)
+{
+	return uart_freq / (bauds * 16);
+}
+
+static bool std_uart_rx_empty(void)
+{
+	return !(readb(uart_base + UART_REG_LSR) & UART_REG_LSR_DR);
+}
+
+static uint8_t std_uart_read(void)
+{
+	return readb(uart_base + UART_REG_RX);
+}
+
+static bool std_uart_tx_full(void)
+{
+	return !(readb(uart_base + UART_REG_LSR) & UART_REG_LSR_THRE);
+}
+
+static void std_uart_write(uint8_t c)
+{
+	writeb(c, uart_base + UART_REG_TX);
+}
+
+static void std_uart_set_irq_en(bool rx_irq, bool tx_irq)
+{
+	uint8_t ier = 0;
+
+	if (tx_irq)
+		ier |= UART_REG_IER_THRI;
+	if (rx_irq)
+		ier |= UART_REG_IER_RDI;
+	writeb(ier, uart_base + UART_REG_IER);
+}
+
+static void std_uart_init(uint64_t uart_freq)
+{
+	unsigned long div = uart_divisor(uart_freq, UART_BAUDS);
+
+	writeb(UART_REG_LCR_DLAB,     uart_base + UART_REG_LCR);
+	writeb(div & 0xff,            uart_base + UART_REG_DLL);
+	writeb(div >> 8,              uart_base + UART_REG_DLM);
+	writeb(UART_REG_LCR_8BIT,     uart_base + UART_REG_LCR);
+	writeb(UART_REG_MCR_DTR |
+	       UART_REG_MCR_RTS,      uart_base + UART_REG_MCR);
+	writeb(UART_REG_FCR_EN_FIFO |
+	       UART_REG_FCR_CLR_RCVR |
+	       UART_REG_FCR_CLR_XMIT, uart_base + UART_REG_FCR);
+}
+
+int getchar(void)
+{
+	while (std_uart_rx_empty())
+		/* Do nothing */ ;
+	return std_uart_read();
+}
+
+int putchar(int c)
+{
+	while(std_uart_tx_full())
+		/* Do Nothing */;
+	std_uart_write(c);
+	return c;
+}
+
+int puts(const char *str)
+{
+	unsigned int i;
+
+	for (i = 0; *str; i++) {
+		char c = *(str++);
+		if (c == 10)
+			putchar(13);
+		putchar(c);
+	}
+	return 0;
+}
+
+#ifndef __USE_LIBC
+size_t strlen(const char *s)
+{
+	size_t len = 0;
+
+	while (*s++)
+		len++;
+
+	return len;
+}
+#endif
+
+void console_init(void)
+{
+	uint64_t sys_info;
+	uint64_t proc_freq;
+	uint64_t uart_info = 0;
+	uint64_t uart_freq = 0;
+
+	proc_freq = readq(SYSCON_BASE + SYS_REG_CLKINFO) & SYS_REG_CLKINFO_FREQ_MASK;
+	sys_info  = readq(SYSCON_BASE + SYS_REG_INFO);
+
+	if (sys_info & SYS_REG_INFO_HAS_LARGE_SYSCON) {
+		uart_info = readq(SYSCON_BASE + SYS_REG_UART0_INFO);
+		uart_freq = uart_info & 0xffffffff;
+	}
+	if (uart_freq == 0)
+		uart_freq = proc_freq;
+
+	uart_base = UART_BASE;
+	std_uart_init(proc_freq);
+}
+
+void console_set_irq_en(bool rx_irq, bool tx_irq)
+{
+	std_uart_set_irq_en(rx_irq, tx_irq);
+}
diff --git a/verilog/dv/caravel/microwatt/lib/head.S b/verilog/dv/caravel/microwatt/lib/head.S
new file mode 100644
index 0000000..029e4be
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/lib/head.S
@@ -0,0 +1,59 @@
+/* Copyright 2013-2014 IBM Corp.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * 	http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LA_REG  0xc8020000
+#define FLASH_AUTO_CFG_REG 0xc0006008
+
+/* Load an immediate 64-bit value into a register */
+#define LOAD_IMM64(r, e)			\
+	lis	r,(e)@highest;			\
+	ori	r,r,(e)@higher;			\
+	rldicr	r,r, 32, 31;			\
+	oris	r,r, (e)@h;			\
+	ori	r,r, (e)@l;
+
+	.section ".head","ax"
+	.global _start
+_start:
+	// Set SPI flash divider to 1
+	LOAD_IMM64(3, FLASH_AUTO_CFG_REG)
+	lwzcix	%r5,0,%r3
+	lis	%r0,0xF
+	andc	%r5,%r5,%r0
+	lis	%r4,0x1
+	or	%r5,%r5,%r4
+	stwcix	%r5,0,%r3
+
+	// Zero BSS
+	LOAD_IMM64(%r10,__bss_start)
+	LOAD_IMM64(%r11,__bss_end)
+	subf	%r11,%r10,%r11
+	addi	%r11,%r11,63
+	srdi.	%r11,%r11,6
+	beq	2f
+	mtctr	%r11
+1:	dcbz	0,%r10
+	addi	%r10,%r10,64
+	bdnz	1b
+
+2:	LOAD_IMM64(%r1,__stack_top)
+	li	%r0,0
+	stdu	%r0,-16(%r1)
+	LOAD_IMM64(%r12, main)
+	mtctr	%r12
+	bctrl
+	attn // terminate on exit
+	b .
diff --git a/verilog/dv/caravel/microwatt/logic_analyzer/Makefile b/verilog/dv/caravel/microwatt/logic_analyzer/Makefile
new file mode 100644
index 0000000..407840d
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/logic_analyzer/Makefile
@@ -0,0 +1,59 @@
+FIRMWARE_PATH = ../..
+VERILOG_PATH = ../../../..
+RTL_PATH = $(VERILOG_PATH)/rtl
+IP_PATH = ../../../../ip
+BEHAVIOURAL_MODELS = ../../
+
+PDK_PATH?=/ef/tech/SW/sky130A
+
+RISCV_CROSS_COMPILE?=riscv64-linux-gnu-
+RISCV_CFLAGS=-static -Os -g -Wall -march=rv32imc -mabi=ilp32 -ffreestanding -nostdlib
+
+POWERPC_CROSS_COMPILE?=powerpc64le-linux-gnu-
+POWERPC_CFLAGS=-static -Os -g -Wall -std=c99 -msoft-float -mno-string -mno-multiple -mno-vsx -mno-altivec -mlittle-endian -fno-stack-protector -ffreestanding -fdata-sections -ffunction-sections -nostdlib -I../include
+
+SIM?=RTL
+
+.SUFFIXES:
+
+PATTERN = logic_analyzer
+
+all: ${PATTERN:=.vcd}
+
+%.vvp: %_tb.v mgmt_engine.hex microwatt.hex
+ifeq ($(SIM),RTL)
+	iverilog -DFUNCTIONAL -DSIM -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(RTL_PATH) \
+	$< -o $@
+else
+	iverilog -DFUNCTIONAL -DSIM -DGL -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(VERILOG_PATH) -I $(RTL_PATH) \
+	$< -o $@
+endif
+
+%.vcd: %.vvp
+	vvp $<
+
+# Management engine code
+
+mgmt_engine.elf: mgmt_engine.c $(FIRMWARE_PATH)/sections.lds $(FIRMWARE_PATH)/start.s lfsr32.c
+	$(RISCV_CROSS_COMPILE)gcc $(RISCV_CFLAGS) -Wl,-T,$(FIRMWARE_PATH)/sections.lds -o $@ $(FIRMWARE_PATH)/start.s lfsr32.c $<
+
+mgmt_engine.hex: mgmt_engine.elf
+	$(RISCV_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@1000/@0000/g' $@
+
+# Microwatt code
+microwatt.elf: microwatt.c ../lib/console.c ../lib/head.S ../microwatt.lds lfsr32.c
+	$(POWERPC_CROSS_COMPILE)gcc $(POWERPC_CFLAGS) -Wl,-T,../microwatt.lds -o $@ microwatt.c ../lib/console.c ../lib/head.S lfsr32.c
+
+microwatt.hex: microwatt.elf
+	$(POWERPC_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@F000/@0000/g' $@
+
+clean:
+	rm -f *.vvp *.vcd *.elf *.bin *.o *.vvp *.vcd *.log *.hex
+
+.PHONY: clean hex all
diff --git a/verilog/dv/caravel/microwatt/logic_analyzer/lfsr32.c b/verilog/dv/caravel/microwatt/logic_analyzer/lfsr32.c
new file mode 100644
index 0000000..5f78425
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/logic_analyzer/lfsr32.c
@@ -0,0 +1,15 @@
+#include "lfsr32.h"
+#include <stdint.h>
+
+#define LFSR_32 ((1 << (32-1)) | (1 << (22-1)) | (1 << (2-1)) | (1 << (1-1)))
+
+uint32_t lfsr32(uint32_t prev)
+{
+	uint32_t lsb = prev & 1;
+
+	prev >>= 1;
+	if (lsb == 1)
+		prev ^= LFSR_32;
+
+	return prev;
+}
diff --git a/verilog/dv/caravel/microwatt/logic_analyzer/lfsr32.h b/verilog/dv/caravel/microwatt/logic_analyzer/lfsr32.h
new file mode 100644
index 0000000..2679a78
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/logic_analyzer/lfsr32.h
@@ -0,0 +1,10 @@
+#ifndef __LFSR32_H
+#define __LFSR32_H
+
+#include <stdint.h>
+
+#define LFSR32_INIT 0x73983355
+
+uint32_t lfsr32(uint32_t prev);
+
+#endif
diff --git a/verilog/dv/caravel/microwatt/logic_analyzer/logic_analyzer_tb.v b/verilog/dv/caravel/microwatt/logic_analyzer/logic_analyzer_tb.v
new file mode 100644
index 0000000..77393c0
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/logic_analyzer/logic_analyzer_tb.v
@@ -0,0 +1,168 @@
+`default_nettype none
+/*
+ *  Copyright (C) 2017  Clifford Wolf <clifford@clifford.at>
+ *  Copyright (C) 2018  Tim Edwards <tim@efabless.com>
+ *  Copyright (C) 2020  Anton Blanchard <anton@linux.ibm.com>
+ *
+ *  Permission to use, copy, modify, and/or distribute this software for any
+ *  purpose with or without fee is hereby granted, provided that the above
+ *  copyright notice and this permission notice appear in all copies.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+`timescale 1 ns / 1 ps
+
+`include "caravel_netlists.v"
+`include "spiflash.v"
+
+module logic_analyzer_tb;
+	reg clock;
+	reg RSTB;
+	reg CSB;
+	reg power1, power2;
+
+	wire gpio;
+	wire flash_csb;
+	wire flash_clk;
+	wire flash_io0;
+	wire flash_io1;
+	wire [37:0] mprj_io;
+	wire [3:0] checkbits;
+	wire user_flash_csb;
+	wire user_flash_clk;
+	inout user_flash_io0;
+	inout user_flash_io1;
+
+	assign user_flash_csb = mprj_io[8];
+	assign user_flash_clk = mprj_io[9];
+	assign user_flash_io0 = mprj_io[10];
+	assign mprj_io[11] = user_flash_io1;
+
+	assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
+
+	assign checkbits = mprj_io[17:16];
+
+	initial begin
+		RSTB <= 1'b0;
+		CSB  <= 1'b1;		// Force CSB high
+		#1000;
+		RSTB <= 1'b1;		// Release reset
+		#170000;
+		CSB = 1'b0;		// CSB can be released
+	end
+
+	// 50 MHz clock
+	always #10 clock <= (clock === 1'b0);
+
+	initial begin
+		clock = 0;
+	end
+
+	initial begin
+		$dumpfile("logic_analyzer.vcd");
+		$dumpvars(0, logic_analyzer_tb);
+
+		$display("Microwatt logic analyzer test");
+
+		// Set the timeout at around 10x what the test should finish
+		// in
+		repeat (1000000) begin
+			@(posedge clock);
+		end
+
+		$display("Timeout, test failed");
+		$fatal;
+	end
+
+	initial begin
+		RSTB <= 1'b0;
+		#1000;
+		RSTB <= 1'b1;	    // Release reset
+		#2000;
+	end
+
+	initial begin		// Power-up sequence
+		power1 <= 1'b0;
+		power2 <= 1'b0;
+		#200;
+		power1 <= 1'b1;
+		#200;
+		power2 <= 1'b1;
+	end
+
+	initial begin
+		wait(checkbits == 2'h1);
+		$display("Management engine started");
+
+		wait(checkbits == 2'h2);
+		$display("Microwatt alive!");
+
+		wait(checkbits == 2'h3);
+		$display("Success!");
+		$finish;
+	end
+
+	wire VDD3V3;
+	wire VDD1V8;
+	wire VSS;
+
+	assign VDD3V3 = power1;
+	assign VDD1V8 = power2;
+	assign VSS = 1'b0;
+
+	caravel uut (
+		.vddio	  (VDD3V3),
+		.vssio	  (VSS),
+		.vdda	  (VDD3V3),
+		.vssa	  (VSS),
+		.vccd	  (VDD1V8),
+		.vssd	  (VSS),
+		.vdda1    (VDD3V3),
+		.vdda2    (VDD3V3),
+		.vssa1	  (VSS),
+		.vssa2	  (VSS),
+		.vccd1	  (VDD1V8),
+		.vccd2	  (VDD1V8),
+		.vssd1	  (VSS),
+		.vssd2	  (VSS),
+		.clock	  (clock),
+		.gpio     (gpio),
+		.mprj_io  (mprj_io),
+		.flash_csb(flash_csb),
+		.flash_clk(flash_clk),
+		.flash_io0(flash_io0),
+		.flash_io1(flash_io1),
+		.resetb	  (RSTB)
+	);
+
+	spiflash #(
+		.FILENAME("mgmt_engine.hex")
+	) spiflash (
+		.csb(flash_csb),
+		.clk(flash_clk),
+		.io0(flash_io0),
+		.io1(flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+
+	spiflash #(
+		.FILENAME("microwatt.hex")
+	) spiflash_microwatt (
+		.csb(user_flash_csb),
+		.clk(user_flash_clk),
+		.io0(user_flash_io0),
+		.io1(user_flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+endmodule
+`default_nettype wire
diff --git a/verilog/dv/caravel/microwatt/logic_analyzer/mgmt_engine.c b/verilog/dv/caravel/microwatt/logic_analyzer/mgmt_engine.c
new file mode 100644
index 0000000..a8ec0ce
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/logic_analyzer/mgmt_engine.c
@@ -0,0 +1,44 @@
+#include "../../defs.h"
+#include "../../stub.c"
+
+#include "../include/microwatt_util.h"
+#include "../include/mgmt_engine_util.h"
+
+#include "lfsr32.h"
+
+// --------------------------------------------------------
+
+void main(void)
+{
+	unsigned long lfsr = LFSR32_INIT;
+
+	mgmt_engine_io_setup(false, true);
+
+	// Take microwatt out of reset
+	reg_la2_data &= ~0x00000002;
+
+	while (reg_la0_data != LA_MICROWATT_START)
+		/* Do Nothing */ ;
+
+	// Signal to TB that microwatt is alive
+	reg_mprj_datal = GPIO1_MICROWATT_START;
+
+	for (unsigned long i = 0; i < 10; i++) {
+		// Send next LFSR in the sequence to Microwatt
+		reg_la1_data = lfsr;
+
+		lfsr = lfsr32(lfsr);
+
+		// Wait for next LFSR in the sequence from Microwatt
+		while (reg_la0_data != lfsr)
+			/* Do Nothing */ ;
+
+		lfsr = lfsr32(lfsr);
+	}
+
+	// Signal success to the TB
+	reg_mprj_datal = GPIO1_SUCCESS;
+
+	while (1)
+		/* Do Nothing */;
+}
diff --git a/verilog/dv/caravel/microwatt/logic_analyzer/microwatt.c b/verilog/dv/caravel/microwatt/logic_analyzer/microwatt.c
new file mode 100644
index 0000000..18be89b
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/logic_analyzer/microwatt.c
@@ -0,0 +1,26 @@
+#include <stdint.h>
+
+#include "microwatt_util.h"
+#include "lfsr32.h"
+
+#define LA_OFFSET 0xc8020000
+
+int main(void)
+{
+	uint32_t lfsr = LFSR32_INIT;
+
+	microwatt_alive();
+
+	while (1) {
+		// Wait for next LFSR in the sequence from Microwatt
+		while (readl(LA_OFFSET) != lfsr)
+			/* Do Nothing */ ;
+
+		lfsr = lfsr32(lfsr);
+
+		// Send next LFSR in the sequence to Microwatt
+		writel(lfsr, LA_OFFSET);
+
+		lfsr = lfsr32(lfsr);
+	}
+}
diff --git a/verilog/dv/caravel/microwatt/memory_test/Makefile b/verilog/dv/caravel/microwatt/memory_test/Makefile
new file mode 100644
index 0000000..4959234
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/memory_test/Makefile
@@ -0,0 +1,59 @@
+FIRMWARE_PATH = ../..
+VERILOG_PATH = ../../../..
+RTL_PATH = $(VERILOG_PATH)/rtl
+IP_PATH = ../../../../ip
+BEHAVIOURAL_MODELS = ../../
+
+PDK_PATH?=/ef/tech/SW/sky130A
+
+RISCV_CROSS_COMPILE?=riscv64-linux-gnu-
+RISCV_CFLAGS=-static -Os -g -Wall -march=rv32imc -mabi=ilp32 -ffreestanding -nostdlib
+
+POWERPC_CROSS_COMPILE?=powerpc64le-linux-gnu-
+POWERPC_CFLAGS=-static -Os -g -Wall -std=c99 -msoft-float -mno-string -mno-multiple -mno-vsx -mno-altivec -mlittle-endian -fno-stack-protector -ffreestanding -fdata-sections -ffunction-sections -nostdlib -I../include
+
+SIM?=RTL
+
+.SUFFIXES:
+
+PATTERN = memory_test
+
+all: ${PATTERN:=.vcd}
+
+%.vvp: %_tb.v mgmt_engine.hex microwatt.hex
+ifeq ($(SIM),RTL)
+	iverilog -DFUNCTIONAL -DSIM -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(RTL_PATH) \
+	$< -o $@
+else
+	iverilog -DFUNCTIONAL -DSIM -DGL -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(VERILOG_PATH) -I $(RTL_PATH) \
+	$< -o $@
+endif
+
+%.vcd: %.vvp
+	vvp $<
+
+# Management engine code
+
+mgmt_engine.elf: mgmt_engine.c $(FIRMWARE_PATH)/sections.lds $(FIRMWARE_PATH)/start.s
+	$(RISCV_CROSS_COMPILE)gcc $(RISCV_CFLAGS) -Wl,-T,$(FIRMWARE_PATH)/sections.lds -o $@ $(FIRMWARE_PATH)/start.s $<
+
+mgmt_engine.hex: mgmt_engine.elf
+	$(RISCV_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@1000/@0000/g' $@
+
+# Microwatt code
+microwatt.elf: microwatt.c ../lib/console.c ../lib/head.S ../microwatt.lds hash.h
+	$(POWERPC_CROSS_COMPILE)gcc $(POWERPC_CFLAGS) -Wl,-T,../microwatt.lds -o $@ microwatt.c ../lib/console.c ../lib/head.S
+
+microwatt.hex: microwatt.elf
+	$(POWERPC_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@F000/@0000/g' $@
+
+clean:
+	rm -f *.vvp *.vcd *.elf *.bin *.o *.vvp *.vcd *.log *.hex
+
+.PHONY: clean hex all
diff --git a/verilog/dv/caravel/microwatt/memory_test/hash.h b/verilog/dv/caravel/microwatt/memory_test/hash.h
new file mode 100644
index 0000000..88c3d98
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/memory_test/hash.h
@@ -0,0 +1,10 @@
+#ifndef __HASH_H
+#define __HASH_H
+
+#define GOLDEN_RATIO_64 0x61C8864680B583EBull
+
+static inline uint64_t hash_64(uint64_t val, uint32_t bits)
+{
+	return val * GOLDEN_RATIO_64 >> (64 - bits);
+}
+#endif
diff --git a/verilog/dv/caravel/microwatt/memory_test/memory_test_tb.v b/verilog/dv/caravel/microwatt/memory_test/memory_test_tb.v
new file mode 100644
index 0000000..67abecc
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/memory_test/memory_test_tb.v
@@ -0,0 +1,185 @@
+`default_nettype none
+/*
+ *  Copyright (C) 2017  Clifford Wolf <clifford@clifford.at>
+ *  Copyright (C) 2018  Tim Edwards <tim@efabless.com>
+ *  Copyright (C) 2020  Anton Blanchard <anton@linux.ibm.com>
+ *
+ *  Permission to use, copy, modify, and/or distribute this software for any
+ *  purpose with or without fee is hereby granted, provided that the above
+ *  copyright notice and this permission notice appear in all copies.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+`timescale 1 ns / 1 ps
+
+`include "caravel_netlists.v"
+`include "spiflash.v"
+`include "tbuart_modified.v"
+
+module memory_test;
+	reg clock;
+	reg RSTB;
+	reg CSB;
+	reg power1, power2;
+
+	wire gpio;
+	wire flash_csb;
+	wire flash_clk;
+	wire flash_io0;
+	wire flash_io1;
+	wire [37:0] mprj_io;
+	wire [1:0] checkbits;
+	wire uart_tx;
+	wire user_flash_csb;
+	wire user_flash_clk;
+	inout user_flash_io0;
+	inout user_flash_io1;
+	inout user_flash_io2;
+	inout user_flash_io3;
+
+	assign user_flash_csb = mprj_io[8];
+	assign user_flash_clk = mprj_io[9];
+
+	// Without output enables, how can we hook up bidirectional pins?
+	assign user_flash_io0 = mprj_io[10];
+	assign mprj_io[11] = user_flash_io1;
+	assign user_flash_io2 = mprj_io[12];
+	assign user_flash_io3 = mprj_io[13];
+
+	assign checkbits = mprj_io[17:16];
+
+	assign uart_tx = mprj_io[6];
+	assign mprj_io[5] = 1'b1;
+
+	assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
+
+	// 50 MHz clock
+	always #10 clock <= (clock === 1'b0);
+
+	initial begin
+		clock = 0;
+	end
+
+	initial begin
+		$dumpfile("memory_test.vcd");
+		$dumpvars(0, memory_test);
+
+		$display("Microwatt memory test");
+
+		repeat (500000) @(posedge clock);
+		$display("Timeout");
+		$finish;
+	end
+
+	initial begin
+		RSTB <= 1'b0;
+		CSB  <= 1'b1;		// Force CSB high
+		#1000;
+		RSTB <= 1'b1;		// Release reset
+		#170000;
+		CSB = 1'b0;		// CSB can be released
+	end
+
+	initial begin		// Power-up sequence
+		power1 <= 1'b0;
+		power2 <= 1'b0;
+		#200;
+		power1 <= 1'b1;
+		#200;
+		power2 <= 1'b1;
+	end
+
+	always @(checkbits) begin
+                wait(checkbits == 2'h1);
+                $display("Management engine started");
+
+                wait(checkbits == 2'h2);
+                $display("Microwatt alive!");
+
+		wait(checkbits != 2'h2);
+
+		if(checkbits == 2'h0) begin
+			$display("Fail");
+			$finish;
+		end
+
+		if(checkbits == 2'h3) begin
+			$display("Success");
+			$finish;
+		end
+
+		$display("Unknown Failure %x", checkbits);
+		$finish;
+	end
+
+	wire VDD3V3;
+	wire VDD1V8;
+	wire VSS;
+
+	assign VDD3V3 = power1;
+	assign VDD1V8 = power2;
+	assign VSS = 1'b0;
+
+	caravel uut (
+		.vddio	  (VDD3V3),
+		.vssio	  (VSS),
+		.vdda	  (VDD3V3),
+		.vssa	  (VSS),
+		.vccd	  (VDD1V8),
+		.vssd	  (VSS),
+		.vdda1    (VDD3V3),
+		.vdda2    (VDD3V3),
+		.vssa1	  (VSS),
+		.vssa2	  (VSS),
+		.vccd1	  (VDD1V8),
+		.vccd2	  (VDD1V8),
+		.vssd1	  (VSS),
+		.vssd2	  (VSS),
+		.clock	  (clock),
+		.gpio     (gpio),
+		.mprj_io  (mprj_io),
+		.flash_csb(flash_csb),
+		.flash_clk(flash_clk),
+		.flash_io0(flash_io0),
+		.flash_io1(flash_io1),
+		.resetb	  (RSTB)
+	);
+
+	spiflash #(
+		.FILENAME("mgmt_engine.hex")
+	) spiflash (
+		.csb(flash_csb),
+		.clk(flash_clk),
+		.io0(flash_io0),
+		.io1(flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+
+	spiflash #(
+		.FILENAME("microwatt.hex")
+	) spiflash_microwatt (
+		.csb(user_flash_csb),
+		.clk(user_flash_clk),
+		.io0(user_flash_io0),
+		.io1(user_flash_io1),
+		.io2(user_flash_io2),
+		.io3(user_flash_io3)
+	);
+
+	tbuart_modified #(
+		.baud_rate(115200)
+	) tbuart (
+		.ser_rx(uart_tx)
+	);
+
+endmodule
+`default_nettype wire
diff --git a/verilog/dv/caravel/microwatt/memory_test/mgmt_engine.c b/verilog/dv/caravel/microwatt/memory_test/mgmt_engine.c
new file mode 100644
index 0000000..0711a5d
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/memory_test/mgmt_engine.c
@@ -0,0 +1,39 @@
+#include "../../defs.h"
+#include "../../stub.c"
+
+#include "../include/microwatt_util.h"
+#include "../include/mgmt_engine_util.h"
+
+// --------------------------------------------------------
+
+void main(void)
+{
+	mgmt_engine_io_setup(false, true);
+
+	// Take microwatt out of reset
+	reg_la2_data &= ~0x00000002;
+
+	while (reg_la0_data != LA_MICROWATT_START)
+		/* Do Nothing */ ;
+
+	// Signal to TB that microwatt is alive
+	reg_mprj_datal = GPIO1_MICROWATT_START;
+
+	while (1) {
+		if (reg_la0_data == LA_MICROWATT_SUCCESS) {
+			// Signal success to the TB
+			reg_mprj_datal = GPIO1_SUCCESS;
+			goto out;
+		}
+
+		if (reg_la0_data == LA_MICROWATT_FAILURE) {
+			// Signal failure to the TB
+			reg_mprj_datal = GPIO1_FAILURE;
+			goto out;
+		}
+	}
+
+out:
+	while (1)
+		/* Do Nothing */ ;
+}
diff --git a/verilog/dv/caravel/microwatt/memory_test/microwatt.c b/verilog/dv/caravel/microwatt/memory_test/microwatt.c
new file mode 100644
index 0000000..0fce0fe
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/memory_test/microwatt.c
@@ -0,0 +1,53 @@
+#include <stdint.h>
+
+#include "microwatt_util.h"
+#include "console.h"
+#include "hash.h"
+
+static void print_hex(unsigned long val)
+{
+	int i, x;
+
+	for (i = 60; i >= 0; i -= 4) {
+		x = (val >> i) & 0xf;
+		if (x >= 10)
+			putchar(x + 'a' - 10);
+		else
+			putchar(x + '0');
+	}
+}
+
+int main(void)
+{
+	console_init();
+	microwatt_alive();
+
+	// gcc will optimise away a NULL pointer access, so start at offset 1
+	for (unsigned long i = 1; i < 4096; i += 8)
+		*(unsigned long *)i = hash_64(i, 64);
+
+	for (unsigned long i = 1; i < 4096; i+=8) {
+		unsigned long exp;
+		unsigned long got;
+
+		exp = hash_64(i, 64);
+		got = *(unsigned long *)i;
+
+		if (exp != got) {
+			print_hex(exp);
+			putchar(' ');
+			print_hex(got);
+
+			/* Signal success to management engine */
+			microwatt_failure();
+			goto out;
+		}
+	}
+
+	/* Signal success to management engine */
+	microwatt_success();
+
+out:
+	while (1)
+		/* Do Nothing */ ;
+}
diff --git a/verilog/dv/caravel/microwatt/memory_test/tbuart_modified.v b/verilog/dv/caravel/microwatt/memory_test/tbuart_modified.v
new file mode 100644
index 0000000..ad9b8f9
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/memory_test/tbuart_modified.v
@@ -0,0 +1,83 @@
+`default_nettype none
+/*
+ *  PicoSoC - A simple example SoC using PicoRV32
+ *
+ *  Copyright (C) 2017  Clifford Wolf <clifford@clifford.at>
+ *
+ *  Permission to use, copy, modify, and/or distribute this software for any
+ *  purpose with or without fee is hereby granted, provided that the above
+ *  copyright notice and this permission notice appear in all copies.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+`timescale 1 ns / 1 ps
+
+/* tbuart --- mimic an external UART display, operating at 9600 baud	*/
+/* and accepting ASCII characters for display.				*/
+
+/* To do:  Match a known UART 3.3V 16x2 LCD display.  However, it	*/
+/* should be possible on a testing system to interface to the UART	*/
+/* pins on a Raspberry Pi, also running at 3.3V.			*/
+
+module tbuart_modified # (
+	parameter baud_rate = 115200
+) (
+	input  ser_rx
+);
+	reg [3:0] recv_state;
+	reg [2:0] recv_divcnt;
+	reg [7:0] recv_pattern;
+
+	reg clk;
+
+	initial begin
+		clk <= 1'b0;
+		recv_state <= 0;
+		recv_divcnt <= 0;
+		recv_pattern <= 0;
+	end
+
+	// Our simulation is in nanosecond steps and we want 5 clocks per bit,
+	// ie 10 clock transitions
+	always #(1000000000/baud_rate/10) clk <= (clk === 1'b0);
+
+	always @(posedge clk) begin
+		recv_divcnt <= recv_divcnt + 1;
+		case (recv_state)
+			0: begin
+				if (!ser_rx)
+					recv_state <= 1;
+				recv_divcnt <= 0;
+			end
+			1: begin
+				if (2*recv_divcnt > 3'd3) begin
+					recv_state <= 2;
+					recv_divcnt <= 0;
+				end
+			end
+			10: begin
+				if (recv_divcnt > 3'd3) begin
+					recv_state <= 0;
+					$write("%c", recv_pattern);
+					$fflush();
+				end
+			end
+			default: begin
+				if (recv_divcnt > 3'd3) begin
+					recv_pattern <= {ser_rx, recv_pattern[7:1]};
+					recv_state <= recv_state + 1;
+					recv_divcnt <= 0;
+				end
+			end
+		endcase
+	end
+
+endmodule
diff --git a/verilog/dv/caravel/microwatt/microwatt-nia/Cargo.toml b/verilog/dv/caravel/microwatt/microwatt-nia/Cargo.toml
new file mode 100644
index 0000000..3bf1207
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/microwatt-nia/Cargo.toml
@@ -0,0 +1,8 @@
+[package]
+name = "microwatt-nia"
+version = "0.1.0"
+authors = ["Anton Blanchard <anton@linux.ibm.com>"]
+edition = "2018"
+
+[dependencies]
+vcd = "0.6.1"
diff --git a/verilog/dv/caravel/microwatt/microwatt-nia/README.md b/verilog/dv/caravel/microwatt/microwatt-nia/README.md
new file mode 100644
index 0000000..2b9807c
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/microwatt-nia/README.md
@@ -0,0 +1,8 @@
+# microwatt-nia
+
+Parses a caravel-microwatt VCD file and prints all the Microwatt NIAs. It requires
+a rust toolchain to build. To build:
+
+```
+cargo build  --release
+```
diff --git a/verilog/dv/caravel/microwatt/microwatt-nia/src/main.rs b/verilog/dv/caravel/microwatt/microwatt-nia/src/main.rs
new file mode 100644
index 0000000..b367ac3
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/microwatt-nia/src/main.rs
@@ -0,0 +1,76 @@
+use std::env;
+use std::io::BufReader;
+use std::fs::File;
+use std::io;
+use std::io::ErrorKind::InvalidInput;
+use vcd::{ self, Value, ScopeItem };
+
+fn read_vcd<R: io::Read>(r: &mut R) -> io::Result<()> {
+    let mut parser = vcd::Parser::new(r);
+
+    let header = parser.parse_header()?;
+
+    // Find top level scope
+    let top_scope = match &header.items[0] {
+        ScopeItem::Scope(sc) => sc,
+        x => panic!("Expected Scope, found {:?}", x),
+    };
+
+    let reset = header.find_var(&[&top_scope.identifier[..], "uut", "mprj", "microwatt_0", "ext_rst"])
+                      .ok_or_else(|| io::Error::new(InvalidInput, "Could not find microwatt reset"))?.code;
+
+    let nia = header.find_var(&[&top_scope.identifier[..], "uut", "mprj", "microwatt_0", "soc0", "processor", "debug_0", "nia"])
+                    .ok_or_else(|| io::Error::new(InvalidInput, "Could not find microwatt nia signal"))?.code;
+
+    let mut nia_val : u64;
+    let mut in_reset = true;
+
+    for command_result in parser {
+        use vcd::Command::*;
+        let command = command_result?;
+        match command {
+            ChangeVector(i, v) if i == nia => {
+                if in_reset == false {
+                    nia_val = 0;
+
+                    for x in v.iter() {
+                        match x {
+                            Value::V1 => {
+                                nia_val = (nia_val << 1) | 1;
+                            }
+                            Value::V0 => {
+                                nia_val = (nia_val << 1) | 0;
+                            }
+                            _ => {
+                                panic!("NIA is X or Z state");
+                            }
+                        }
+                    }
+
+                    println!("{:#018x}", nia_val);
+                }
+            }
+
+            ChangeScalar(i, v) if i == reset => {
+                if v == Value::V0{
+                    in_reset = false;
+                }
+            }
+
+            _ => (),
+        }
+    }
+
+    Ok(())
+}
+
+fn main() -> std::io::Result<()> {
+    let filename = env::args().nth(1).expect("No VCD file given");
+    let file = File::open(filename)?;
+    // The VCD parser isn't buffering reads, this speeds things up a bunch
+    let mut reader = BufReader::new(file);
+
+    read_vcd(&mut reader).expect("Failed to parse VCD file");
+
+    Ok(())
+}
diff --git a/verilog/dv/caravel/microwatt/microwatt.lds b/verilog/dv/caravel/microwatt/microwatt.lds
new file mode 100644
index 0000000..e1fb499
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/microwatt.lds
@@ -0,0 +1,57 @@
+MEMORY {
+	FLASH(rx)	: ORIGIN = 0xf0000000, LENGTH = 0x400000	/* 4MB */
+	RAM(xrw)	: ORIGIN = 0x00000000, LENGTH = 0x0400		/* 1024 kB */
+}
+
+SECTIONS
+{
+	. = 0xf0000000;
+	_start = .;
+	.text : {
+		KEEP(*(.head))
+		*(.text)
+		*(.text.*)
+		*(.sfpr)
+		*(.eh_frame)
+		*(.rodata)
+		*(.rodata.*)
+		. = ALIGN(8);
+		_etext = .;		/* define a global symbol at end of code */
+		_sidata = _etext;	/* This is used by the startup to initialize data */
+ 	} > FLASH
+
+	.data : AT ( _sidata ) {
+		. = ALIGN(8);
+		_sdata = .;
+		_ram_start = .;
+		. = ALIGN(8);
+		*(.data)
+		*(.data*)
+		*(.sdata)
+		*(.sdata*)
+		. = ALIGN(8);
+		_edata = .;
+	} > RAM
+
+	.bss : {
+		__bss_start = .;
+		*(.dynsbss)
+		*(.sbss)
+		*(.scommon)
+		*(.dynbss)
+		*(.bss)
+		*(.common)
+		*(.bss.*)
+
+		. = . + 0x300;
+		__stack_top = .;
+
+		. = ALIGN(0x80);
+		__bss_end = .;
+	} > RAM
+
+	/DISCARD/ :
+	{
+		*(.note.gnu.build-id)
+	}
+}
diff --git a/verilog/dv/caravel/microwatt/minimal/Makefile b/verilog/dv/caravel/microwatt/minimal/Makefile
new file mode 100644
index 0000000..348256e
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/minimal/Makefile
@@ -0,0 +1,59 @@
+FIRMWARE_PATH = ../..
+VERILOG_PATH = ../../../..
+RTL_PATH = $(VERILOG_PATH)/rtl
+IP_PATH = ../../../../ip
+BEHAVIOURAL_MODELS = ../../
+
+PDK_PATH?=/ef/tech/SW/sky130A
+
+RISCV_CROSS_COMPILE?=riscv64-linux-gnu-
+RISCV_CFLAGS=-static -Os -g -Wall -march=rv32imc -mabi=ilp32 -ffreestanding -nostdlib
+
+POWERPC_CROSS_COMPILE?=powerpc64le-linux-gnu-
+POWERPC_CFLAGS=-static -Os -g -Wall -std=c99 -msoft-float -mno-string -mno-multiple -mno-vsx -mno-altivec -mlittle-endian -fno-stack-protector -ffreestanding -fdata-sections -ffunction-sections -nostdlib -I../include
+
+SIM?=RTL
+
+.SUFFIXES:
+
+PATTERN = minimal
+
+all: ${PATTERN:=.vcd}
+
+%.vvp: %_tb.v mgmt_engine.hex microwatt.hex
+ifeq ($(SIM),RTL)
+	iverilog -DFUNCTIONAL -DSIM -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(RTL_PATH) \
+	$< -o $@
+else
+	iverilog -DFUNCTIONAL -DSIM -DGL -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(VERILOG_PATH) -I $(RTL_PATH) \
+	$< -o $@
+endif
+
+%.vcd: %.vvp
+	vvp $<
+
+# Management engine code
+
+mgmt_engine.elf: mgmt_engine.c $(FIRMWARE_PATH)/sections.lds $(FIRMWARE_PATH)/start.s
+	$(RISCV_CROSS_COMPILE)gcc $(RISCV_CFLAGS) -Wl,-T,$(FIRMWARE_PATH)/sections.lds -o $@ $(FIRMWARE_PATH)/start.s $<
+
+mgmt_engine.hex: mgmt_engine.elf
+	$(RISCV_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@1000/@0000/g' $@
+
+# Microwatt code
+microwatt.elf: head.S ../microwatt.lds
+	$(POWERPC_CROSS_COMPILE)gcc $(POWERPC_CFLAGS) -Wl,-T,../microwatt.lds -o $@ head.S
+
+microwatt.hex: microwatt.elf
+	$(POWERPC_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@F000/@0000/g' $@
+
+clean:
+	rm -f *.vvp *.vcd *.elf *.bin *.o *.vvp *.vcd *.log *.hex
+
+.PHONY: clean hex all
diff --git a/verilog/dv/caravel/microwatt/minimal/head.S b/verilog/dv/caravel/microwatt/minimal/head.S
new file mode 100644
index 0000000..4d1e0c2
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/minimal/head.S
@@ -0,0 +1,34 @@
+/* Copyright 2013-2014 IBM Corp.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * 	http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LA_REG	0xc8020000
+
+/* Load an immediate 64-bit value into a register */
+#define LOAD_IMM64(r, e)			\
+	lis	r,(e)@highest;			\
+	ori	r,r,(e)@higher;			\
+	rldicr	r,r, 32, 31;			\
+	oris	r,r, (e)@h;			\
+	ori	r,r, (e)@l;
+
+	.section ".head","ax"
+	.global _start
+_start:
+	LOAD_IMM64(%r3, LA_REG)
+	LOAD_IMM64(%r4, 0xbadc0ffe)
+	stwcix %r4,0,%r3
+
+1:	b 1b
diff --git a/verilog/dv/caravel/microwatt/minimal/mgmt_engine.c b/verilog/dv/caravel/microwatt/minimal/mgmt_engine.c
new file mode 100644
index 0000000..75fd72f
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/minimal/mgmt_engine.c
@@ -0,0 +1,22 @@
+#include "../../defs.h"
+#include "../../stub.c"
+
+#include "../include/microwatt_util.h"
+#include "../include/mgmt_engine_util.h"
+
+void main(void)
+{
+	mgmt_engine_io_setup(false, true);
+
+	// Take microwatt out of reset
+	reg_la2_data &= ~0x00000002;
+
+	while (reg_la0_data != LA_MICROWATT_START)
+		/* Do Nothing */ ;
+
+	// Signal success to the tb
+	reg_mprj_datal = GPIO1_SUCCESS;
+
+	while (1)
+		/* Do Nothing */;
+}
diff --git a/verilog/dv/caravel/microwatt/minimal/minimal_tb.v b/verilog/dv/caravel/microwatt/minimal/minimal_tb.v
new file mode 100644
index 0000000..7287d46
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/minimal/minimal_tb.v
@@ -0,0 +1,160 @@
+`default_nettype none
+/*
+ *  Copyright (C) 2017  Clifford Wolf <clifford@clifford.at>
+ *  Copyright (C) 2018  Tim Edwards <tim@efabless.com>
+ *  Copyright (C) 2020  Anton Blanchard <anton@linux.ibm.com>
+ *
+ *  Permission to use, copy, modify, and/or distribute this software for any
+ *  purpose with or without fee is hereby granted, provided that the above
+ *  copyright notice and this permission notice appear in all copies.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+`timescale 1 ns / 1 ps
+
+`include "caravel_netlists.v"
+`include "spiflash.v"
+
+module minimal;
+	reg clock;
+	reg RSTB;
+	reg CSB;
+	reg power1, power2;
+
+	wire gpio;
+	wire flash_csb;
+	wire flash_clk;
+	wire flash_io0;
+	wire flash_io1;
+	wire [37:0] mprj_io;
+	wire [1:0] checkbits;
+	wire user_flash_csb;
+	wire user_flash_clk;
+	inout user_flash_io0;
+	inout user_flash_io1;
+
+	assign user_flash_csb = mprj_io[8];
+	assign user_flash_clk = mprj_io[9];
+	assign user_flash_io0 = mprj_io[10];
+	assign mprj_io[11] = user_flash_io1;
+
+	assign checkbits = mprj_io[17:16];
+
+	assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
+
+	// 50 MHz clock
+	always #10 clock <= (clock === 1'b0);
+
+	initial begin
+		clock = 0;
+	end
+
+	initial begin
+		$dumpfile("minimal.vcd");
+		$dumpvars(0, minimal);
+
+		$display("Microwatt minimal test");
+
+		// Set the timeout at around 10x what the test should finish
+		// in
+		repeat (200000) begin
+			@(posedge clock);
+		end
+
+		$display("Timeout, test failed");
+		$fatal;
+	end
+
+	initial begin
+		RSTB <= 1'b0;
+		CSB  <= 1'b1;		// Force CSB high
+		#1000;
+		RSTB <= 1'b1;		// Release reset
+		#170000;
+		CSB = 1'b0;		// CSB can be released
+	end
+
+	initial begin		// Power-up sequence
+		power1 <= 1'b0;
+		power2 <= 1'b0;
+		#200;
+		power1 <= 1'b1;
+		#200;
+		power2 <= 1'b1;
+	end
+
+	initial begin
+		wait(checkbits == 2'h1);
+		$display("Management engine started");
+
+		wait(checkbits == 2'h3);
+		$display("Microwatt alive!");
+
+		$finish;
+	end
+
+	wire VDD3V3;
+	wire VDD1V8;
+	wire VSS;
+
+	assign VDD3V3 = power1;
+	assign VDD1V8 = power2;
+	assign VSS = 1'b0;
+
+	caravel uut (
+		.vddio	  (VDD3V3),
+		.vssio	  (VSS),
+		.vdda	  (VDD3V3),
+		.vssa	  (VSS),
+		.vccd	  (VDD1V8),
+		.vssd	  (VSS),
+		.vdda1    (VDD3V3),
+		.vdda2    (VDD3V3),
+		.vssa1	  (VSS),
+		.vssa2	  (VSS),
+		.vccd1	  (VDD1V8),
+		.vccd2	  (VDD1V8),
+		.vssd1	  (VSS),
+		.vssd2	  (VSS),
+		.clock	  (clock),
+		.gpio     (gpio),
+		.mprj_io  (mprj_io),
+		.flash_csb(flash_csb),
+		.flash_clk(flash_clk),
+		.flash_io0(flash_io0),
+		.flash_io1(flash_io1),
+		.resetb	  (RSTB)
+	);
+
+	spiflash #(
+		.FILENAME("mgmt_engine.hex")
+	) spiflash (
+		.csb(flash_csb),
+		.clk(flash_clk),
+		.io0(flash_io0),
+		.io1(flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+
+	spiflash #(
+		.FILENAME("microwatt.hex")
+	) spiflash_microwatt (
+		.csb(user_flash_csb),
+		.clk(user_flash_clk),
+		.io0(user_flash_io0),
+		.io1(user_flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+
+endmodule
+`default_nettype wire
diff --git a/verilog/dv/caravel/microwatt/spi_flash/Makefile b/verilog/dv/caravel/microwatt/spi_flash/Makefile
new file mode 100644
index 0000000..379ed04
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/spi_flash/Makefile
@@ -0,0 +1,63 @@
+FIRMWARE_PATH = ../..
+VERILOG_PATH = ../../../..
+RTL_PATH = $(VERILOG_PATH)/rtl
+IP_PATH = ../../../../ip
+BEHAVIOURAL_MODELS = ../../
+
+PDK_PATH?=/ef/tech/SW/sky130A
+
+RISCV_CROSS_COMPILE?=riscv64-linux-gnu-
+RISCV_CFLAGS=-static -Os -g -Wall -march=rv32imc -mabi=ilp32 -ffreestanding -nostdlib
+
+POWERPC_CROSS_COMPILE?=powerpc64le-linux-gnu-
+POWERPC_CFLAGS=-static -Os -g -Wall -std=c99 -msoft-float -mno-string -mno-multiple -mno-vsx -mno-altivec -mlittle-endian -fno-stack-protector -ffreestanding -fdata-sections -ffunction-sections -nostdlib -I../include
+
+SIM?=RTL
+
+.SUFFIXES:
+
+PATTERN = spi_flash
+
+all: ${PATTERN:=.vcd}
+
+%.vvp: %_tb.v mgmt_engine.hex microwatt.hex
+ifeq ($(SIM),RTL)
+	iverilog -DFUNCTIONAL -DSIM -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(RTL_PATH) \
+	$< -o $@
+else
+	iverilog -DFUNCTIONAL -DSIM -DGL -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(VERILOG_PATH) -I $(RTL_PATH) \
+	$< -o $@
+endif
+
+%.vcd: %.vvp
+	vvp $<
+
+gen_hash: gen_hash.c
+	$(CC) -O2 -o $@ $<
+
+# Management engine code
+
+mgmt_engine.elf: mgmt_engine.c $(FIRMWARE_PATH)/sections.lds $(FIRMWARE_PATH)/start.s
+	$(RISCV_CROSS_COMPILE)gcc $(RISCV_CFLAGS) -Wl,-T,$(FIRMWARE_PATH)/sections.lds -o $@ $(FIRMWARE_PATH)/start.s $<
+
+mgmt_engine.hex: mgmt_engine.elf
+	$(RISCV_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@1000/@0000/g' $@
+
+# Microwatt code
+microwatt.elf: microwatt.c ../lib/console.c ../lib/head.S ../microwatt.lds lfsr32.c
+	$(POWERPC_CROSS_COMPILE)gcc $(POWERPC_CFLAGS) -Wl,-T,../microwatt.lds -o $@ microwatt.c ../lib/console.c ../lib/head.S lfsr32.c
+
+microwatt.hex: microwatt.elf gen_hash
+	$(POWERPC_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@F000/@0000/g' $@
+	./gen_hash >> $@
+
+clean:
+	rm -f *.vvp *.vcd *.elf *.bin *.o *.vvp *.vcd *.log *.hex gen_hash
+
+.PHONY: clean hex all
diff --git a/verilog/dv/caravel/microwatt/spi_flash/gen_hash.c b/verilog/dv/caravel/microwatt/spi_flash/gen_hash.c
new file mode 100644
index 0000000..34aab46
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/spi_flash/gen_hash.c
@@ -0,0 +1,22 @@
+#include <stdint.h>
+#include <stdio.h>
+#include "hash.h"
+
+#define START_OFFSET 0x2000UL
+#define END_OFFSET (16UL*1024*1024)
+
+int main(void)
+{
+	printf("@%lx\n", START_OFFSET);
+
+	for (uint64_t i = START_OFFSET; i < END_OFFSET; i += 8) {
+		uint64_t val = hash_64(i, 64);
+
+		for (unsigned long j = 0; j < 8; j++) {
+			printf("%02X ", (val >> (j*8) & 0xff));
+		}
+
+		if (i & 0xf)
+			printf("\n");
+	}
+}
diff --git a/verilog/dv/caravel/microwatt/spi_flash/hash.h b/verilog/dv/caravel/microwatt/spi_flash/hash.h
new file mode 100644
index 0000000..88c3d98
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/spi_flash/hash.h
@@ -0,0 +1,10 @@
+#ifndef __HASH_H
+#define __HASH_H
+
+#define GOLDEN_RATIO_64 0x61C8864680B583EBull
+
+static inline uint64_t hash_64(uint64_t val, uint32_t bits)
+{
+	return val * GOLDEN_RATIO_64 >> (64 - bits);
+}
+#endif
diff --git a/verilog/dv/caravel/microwatt/spi_flash/lfsr32.c b/verilog/dv/caravel/microwatt/spi_flash/lfsr32.c
new file mode 100644
index 0000000..5f78425
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/spi_flash/lfsr32.c
@@ -0,0 +1,15 @@
+#include "lfsr32.h"
+#include <stdint.h>
+
+#define LFSR_32 ((1 << (32-1)) | (1 << (22-1)) | (1 << (2-1)) | (1 << (1-1)))
+
+uint32_t lfsr32(uint32_t prev)
+{
+	uint32_t lsb = prev & 1;
+
+	prev >>= 1;
+	if (lsb == 1)
+		prev ^= LFSR_32;
+
+	return prev;
+}
diff --git a/verilog/dv/caravel/microwatt/spi_flash/lfsr32.h b/verilog/dv/caravel/microwatt/spi_flash/lfsr32.h
new file mode 100644
index 0000000..2679a78
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/spi_flash/lfsr32.h
@@ -0,0 +1,10 @@
+#ifndef __LFSR32_H
+#define __LFSR32_H
+
+#include <stdint.h>
+
+#define LFSR32_INIT 0x73983355
+
+uint32_t lfsr32(uint32_t prev);
+
+#endif
diff --git a/verilog/dv/caravel/microwatt/spi_flash/mgmt_engine.c b/verilog/dv/caravel/microwatt/spi_flash/mgmt_engine.c
new file mode 100644
index 0000000..ec3f375
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/spi_flash/mgmt_engine.c
@@ -0,0 +1,37 @@
+#include "../../defs.h"
+#include "../../stub.c"
+
+#include "../include/microwatt_util.h"
+#include "../include/mgmt_engine_util.h"
+
+void main(void)
+{
+	mgmt_engine_io_setup(false, true);
+
+	// Take microwatt out of reset
+	reg_la2_data &= ~0x00000002;
+
+	while (reg_la0_data != LA_MICROWATT_START)
+		/* Do Nothing */ ;
+
+	// Signal to TB that microwatt is alive
+	reg_mprj_datal = GPIO1_MICROWATT_START;
+
+	while (1) {
+		if (reg_la0_data == LA_MICROWATT_SUCCESS) {
+			// Signal success to the TB
+			reg_mprj_datal = GPIO1_SUCCESS;
+			goto out;
+		}
+
+		if (reg_la0_data == LA_MICROWATT_FAILURE) {
+			// Signal failure to the TB
+			reg_mprj_datal = GPIO1_FAILURE;
+			goto out;
+		}
+	}
+
+out:
+	while (1)
+		/* Do Nothing */ ;
+}
diff --git a/verilog/dv/caravel/microwatt/spi_flash/microwatt.c b/verilog/dv/caravel/microwatt/spi_flash/microwatt.c
new file mode 100644
index 0000000..ad2944b
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/spi_flash/microwatt.c
@@ -0,0 +1,67 @@
+#include <stdint.h>
+
+#include "microwatt_util.h"
+#include "console.h"
+#include "lfsr32.h"
+#include "hash.h"
+
+#define LA_OFFSET 0xc8020000
+
+#define FLASH_BASE 0xf0000000UL
+
+#define FLASH_OFFSET 0x2000
+#define FLASH_SIZE (16L*1024*1024)
+
+static void print_hex(unsigned long val)
+{
+	int i, x;
+
+	for (i = 60; i >= 0; i -= 4) {
+		x = (val >> i) & 0xf;
+		if (x >= 10)
+			putchar(x + 'a' - 10);
+		else
+			putchar(x + '0');
+	}
+}
+
+int main(void)
+{
+	uint32_t lfsr = LFSR32_INIT;
+
+	console_init();
+	microwatt_alive();
+
+	for (unsigned long i = 0; i < 16; i++) {
+		uint32_t o;
+		uint64_t exp;
+		uint64_t got;
+
+		o = lfsr % FLASH_SIZE;
+		// 16B align for now
+		o &= ~15UL;
+		if (o < FLASH_OFFSET)
+			o += FLASH_OFFSET;
+		lfsr = lfsr32(lfsr);
+
+		exp = hash_64(o, 64);
+
+		got = *(uint64_t *)(FLASH_BASE+o);
+		if (exp != got) {
+			print_hex(exp);
+			putchar(' ');
+			print_hex(got);
+			putchar('\n');
+			/* Signal success to management engine */
+			microwatt_failure();
+			goto out;
+		}
+	}
+
+	/* Signal success to management engine */
+	microwatt_success();
+
+out:
+	while (1)
+		/* Do Nothing */ ;
+}
diff --git a/verilog/dv/caravel/microwatt/spi_flash/spi_flash_tb.v b/verilog/dv/caravel/microwatt/spi_flash/spi_flash_tb.v
new file mode 100644
index 0000000..0861c93
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/spi_flash/spi_flash_tb.v
@@ -0,0 +1,185 @@
+`default_nettype none
+/*
+ *  Copyright (C) 2017  Clifford Wolf <clifford@clifford.at>
+ *  Copyright (C) 2018  Tim Edwards <tim@efabless.com>
+ *  Copyright (C) 2020  Anton Blanchard <anton@linux.ibm.com>
+ *
+ *  Permission to use, copy, modify, and/or distribute this software for any
+ *  purpose with or without fee is hereby granted, provided that the above
+ *  copyright notice and this permission notice appear in all copies.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+`timescale 1 ns / 1 ps
+
+`include "caravel_netlists.v"
+`include "spiflash.v"
+`include "tbuart_modified.v"
+
+module spi_flash;
+	reg clock;
+	reg RSTB;
+	reg CSB;
+	reg power1, power2;
+
+	wire gpio;
+	wire flash_csb;
+	wire flash_clk;
+	wire flash_io0;
+	wire flash_io1;
+	wire [37:0] mprj_io;
+	wire [1:0] checkbits;
+	wire uart_tx;
+	wire user_flash_csb;
+	wire user_flash_clk;
+	inout user_flash_io0;
+	inout user_flash_io1;
+	inout user_flash_io2;
+	inout user_flash_io3;
+
+	assign user_flash_csb = mprj_io[8];
+	assign user_flash_clk = mprj_io[9];
+
+	// Without output enables, how can we hook up bidirectional pins?
+	assign user_flash_io0 = mprj_io[10];
+	assign mprj_io[11] = user_flash_io1;
+	assign user_flash_io2 = mprj_io[12];
+	assign user_flash_io3 = mprj_io[13];
+
+	assign checkbits = mprj_io[17:16];
+
+	assign uart_tx = mprj_io[6];
+	assign mprj_io[5] = 1'b1;
+
+	assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
+
+	// 50 MHz clock
+	always #10 clock <= (clock === 1'b0);
+
+	initial begin
+		clock = 0;
+	end
+
+	initial begin
+		$dumpfile("spi_flash.vcd");
+		$dumpvars(0, spi_flash);
+
+		$display("Microwatt SPI flash test");
+
+		repeat (1000000) @(posedge clock);
+		$display("Timeout");
+		$finish;
+	end
+
+	initial begin
+		RSTB <= 1'b0;
+		CSB  <= 1'b1;		// Force CSB high
+		#1000;
+		RSTB <= 1'b1;		// Release reset
+		#170000;
+		CSB = 1'b0;		// CSB can be released
+	end
+
+	initial begin		// Power-up sequence
+		power1 <= 1'b0;
+		power2 <= 1'b0;
+		#200;
+		power1 <= 1'b1;
+		#200;
+		power2 <= 1'b1;
+	end
+
+	always @(checkbits) begin
+                wait(checkbits == 2'h1);
+                $display("Management engine started");
+
+                wait(checkbits == 2'h2);
+                $display("Microwatt alive!");
+
+		wait(checkbits != 2'h2);
+
+		if(checkbits == 2'h0) begin
+			$display("Fail");
+			$finish;
+		end
+
+		if(checkbits == 2'h3) begin
+			$display("Success");
+			$finish;
+		end
+
+		$display("Unknown Failure %x", checkbits);
+		$finish;
+	end
+
+	wire VDD3V3;
+	wire VDD1V8;
+	wire VSS;
+
+	assign VDD3V3 = power1;
+	assign VDD1V8 = power2;
+	assign VSS = 1'b0;
+
+	caravel uut (
+		.vddio	  (VDD3V3),
+		.vssio	  (VSS),
+		.vdda	  (VDD3V3),
+		.vssa	  (VSS),
+		.vccd	  (VDD1V8),
+		.vssd	  (VSS),
+		.vdda1    (VDD3V3),
+		.vdda2    (VDD3V3),
+		.vssa1	  (VSS),
+		.vssa2	  (VSS),
+		.vccd1	  (VDD1V8),
+		.vccd2	  (VDD1V8),
+		.vssd1	  (VSS),
+		.vssd2	  (VSS),
+		.clock	  (clock),
+		.gpio     (gpio),
+		.mprj_io  (mprj_io),
+		.flash_csb(flash_csb),
+		.flash_clk(flash_clk),
+		.flash_io0(flash_io0),
+		.flash_io1(flash_io1),
+		.resetb	  (RSTB)
+	);
+
+	spiflash #(
+		.FILENAME("mgmt_engine.hex")
+	) spiflash (
+		.csb(flash_csb),
+		.clk(flash_clk),
+		.io0(flash_io0),
+		.io1(flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+
+	spiflash #(
+		.FILENAME("microwatt.hex")
+	) spiflash_microwatt (
+		.csb(user_flash_csb),
+		.clk(user_flash_clk),
+		.io0(user_flash_io0),
+		.io1(user_flash_io1),
+		.io2(user_flash_io2),
+		.io3(user_flash_io3)
+	);
+
+	tbuart_modified #(
+		.baud_rate(115200)
+	) tbuart (
+		.ser_rx(uart_tx)
+	);
+
+endmodule
+`default_nettype wire
diff --git a/verilog/dv/caravel/microwatt/spi_flash/tbuart_modified.v b/verilog/dv/caravel/microwatt/spi_flash/tbuart_modified.v
new file mode 100644
index 0000000..ad9b8f9
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/spi_flash/tbuart_modified.v
@@ -0,0 +1,83 @@
+`default_nettype none
+/*
+ *  PicoSoC - A simple example SoC using PicoRV32
+ *
+ *  Copyright (C) 2017  Clifford Wolf <clifford@clifford.at>
+ *
+ *  Permission to use, copy, modify, and/or distribute this software for any
+ *  purpose with or without fee is hereby granted, provided that the above
+ *  copyright notice and this permission notice appear in all copies.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+`timescale 1 ns / 1 ps
+
+/* tbuart --- mimic an external UART display, operating at 9600 baud	*/
+/* and accepting ASCII characters for display.				*/
+
+/* To do:  Match a known UART 3.3V 16x2 LCD display.  However, it	*/
+/* should be possible on a testing system to interface to the UART	*/
+/* pins on a Raspberry Pi, also running at 3.3V.			*/
+
+module tbuart_modified # (
+	parameter baud_rate = 115200
+) (
+	input  ser_rx
+);
+	reg [3:0] recv_state;
+	reg [2:0] recv_divcnt;
+	reg [7:0] recv_pattern;
+
+	reg clk;
+
+	initial begin
+		clk <= 1'b0;
+		recv_state <= 0;
+		recv_divcnt <= 0;
+		recv_pattern <= 0;
+	end
+
+	// Our simulation is in nanosecond steps and we want 5 clocks per bit,
+	// ie 10 clock transitions
+	always #(1000000000/baud_rate/10) clk <= (clk === 1'b0);
+
+	always @(posedge clk) begin
+		recv_divcnt <= recv_divcnt + 1;
+		case (recv_state)
+			0: begin
+				if (!ser_rx)
+					recv_state <= 1;
+				recv_divcnt <= 0;
+			end
+			1: begin
+				if (2*recv_divcnt > 3'd3) begin
+					recv_state <= 2;
+					recv_divcnt <= 0;
+				end
+			end
+			10: begin
+				if (recv_divcnt > 3'd3) begin
+					recv_state <= 0;
+					$write("%c", recv_pattern);
+					$fflush();
+				end
+			end
+			default: begin
+				if (recv_divcnt > 3'd3) begin
+					recv_pattern <= {ser_rx, recv_pattern[7:1]};
+					recv_state <= recv_state + 1;
+					recv_divcnt <= 0;
+				end
+			end
+		endcase
+	end
+
+endmodule
diff --git a/verilog/dv/caravel/microwatt/uart/Makefile b/verilog/dv/caravel/microwatt/uart/Makefile
new file mode 100644
index 0000000..3aee23a
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/uart/Makefile
@@ -0,0 +1,59 @@
+FIRMWARE_PATH = ../..
+VERILOG_PATH = ../../../..
+RTL_PATH = $(VERILOG_PATH)/rtl
+IP_PATH = ../../../../ip
+BEHAVIOURAL_MODELS = ../../
+
+PDK_PATH?=/ef/tech/SW/sky130A
+
+RISCV_CROSS_COMPILE?=riscv64-linux-gnu-
+RISCV_CFLAGS=-static -Os -g -Wall -march=rv32imc -mabi=ilp32 -ffreestanding -nostdlib
+
+POWERPC_CROSS_COMPILE?=powerpc64le-linux-gnu-
+POWERPC_CFLAGS=-static -Os -g -Wall -std=c99 -msoft-float -mno-string -mno-multiple -mno-vsx -mno-altivec -mlittle-endian -fno-stack-protector -ffreestanding -fdata-sections -ffunction-sections -nostdlib -I../include
+
+SIM?=RTL
+
+.SUFFIXES:
+
+PATTERN = uart
+
+all: ${PATTERN:=.vcd}
+
+%.vvp: %_tb.v mgmt_engine.hex microwatt.hex
+ifeq ($(SIM),RTL)
+	iverilog -DFUNCTIONAL -DSIM -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(RTL_PATH) \
+	$< -o $@
+else
+	iverilog -DFUNCTIONAL -DSIM -DGL -I $(BEHAVIOURAL_MODELS) \
+	-I $(PDK_PATH) -I $(IP_PATH) -I $(VERILOG_PATH) -I $(RTL_PATH) \
+	$< -o $@
+endif
+
+%.vcd: %.vvp
+	vvp $<
+
+# Management engine code
+
+mgmt_engine.elf: mgmt_engine.c $(FIRMWARE_PATH)/sections.lds $(FIRMWARE_PATH)/start.s
+	$(RISCV_CROSS_COMPILE)gcc $(RISCV_CFLAGS) -Wl,-T,$(FIRMWARE_PATH)/sections.lds -o $@ $(FIRMWARE_PATH)/start.s $<
+
+mgmt_engine.hex: mgmt_engine.elf
+	$(RISCV_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@1000/@0000/g' $@
+
+# Microwatt code
+microwatt.elf: microwatt.c ../lib/console.c ../lib/head.S ../microwatt.lds
+	$(POWERPC_CROSS_COMPILE)gcc $(POWERPC_CFLAGS) -Wl,-T,../microwatt.lds -o $@ microwatt.c ../lib/console.c ../lib/head.S
+
+microwatt.hex: microwatt.elf
+	$(POWERPC_CROSS_COMPILE)objcopy -O verilog $< $@
+	# to fix flash base address
+	sed -i 's/@F000/@0000/g' $@
+
+clean:
+	rm -f *.vvp *.vcd *.elf *.bin *.o *.vvp *.vcd *.log *.hex
+
+.PHONY: clean hex all
diff --git a/verilog/dv/caravel/microwatt/uart/mgmt_engine.c b/verilog/dv/caravel/microwatt/uart/mgmt_engine.c
new file mode 100644
index 0000000..dcc4596
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/uart/mgmt_engine.c
@@ -0,0 +1,22 @@
+#include "../../defs.h"
+#include "../../stub.c"
+
+#include "../include/microwatt_util.h"
+#include "../include/mgmt_engine_util.h"
+
+void main(void)
+{
+	mgmt_engine_io_setup(false, true);
+
+	// Take microwatt out of reset
+	reg_la2_data &= ~0x00000002;
+
+	while (reg_la0_data != LA_MICROWATT_START)
+		/* Do Nothing */ ;
+
+	// Signal to TB that microwatt is alive
+	reg_mprj_datal = GPIO1_MICROWATT_START;
+
+	while (1)
+		/* Do Nothing */;
+}
diff --git a/verilog/dv/caravel/microwatt/uart/microwatt.c b/verilog/dv/caravel/microwatt/uart/microwatt.c
new file mode 100644
index 0000000..81ad8be
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/uart/microwatt.c
@@ -0,0 +1,19 @@
+#include <stdint.h>
+
+#include "console.h"
+#include "microwatt_util.h"
+
+int main(void)
+{
+	console_init();
+
+	microwatt_alive();
+
+	/* Echo everything we receive back */
+	while (1) {
+		unsigned char c = getchar();
+		putchar(c);
+		if (c == 13) // if CR send LF
+			putchar(10);
+	}
+}
diff --git a/verilog/dv/caravel/microwatt/uart/uart_tb.v b/verilog/dv/caravel/microwatt/uart/uart_tb.v
new file mode 100644
index 0000000..309324a
--- /dev/null
+++ b/verilog/dv/caravel/microwatt/uart/uart_tb.v
@@ -0,0 +1,249 @@
+`default_nettype none
+/*
+ *  Copyright (C) 2017  Clifford Wolf <clifford@clifford.at>
+ *  Copyright (C) 2018  Tim Edwards <tim@efabless.com>
+ *  Copyright (C) 2020  Anton Blanchard <anton@linux.ibm.com>
+ *
+ *  Permission to use, copy, modify, and/or distribute this software for any
+ *  purpose with or without fee is hereby granted, provided that the above
+ *  copyright notice and this permission notice appear in all copies.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+`timescale 1 ns / 1 ps
+
+`include "caravel_netlists.v"
+`include "spiflash.v"
+
+module tbuart_expect_seven # (
+	parameter baud_rate = 115200
+) (
+	input ser_rx
+);
+	reg [3:0] recv_state;
+	reg [2:0] recv_divcnt;
+	reg [7:0] recv_pattern;
+
+	reg clk;
+
+	initial begin
+		clk <= 1'b0;
+		recv_state <= 0;
+		recv_divcnt <= 0;
+		recv_pattern <= 0;
+	end
+
+	// Our simulation is in nanosecond steps and we want 5 clocks per bit,
+	// ie 10 clock transitions
+	always #(1000000000/baud_rate/10) clk <= (clk === 1'b0);
+
+	always @(posedge clk) begin
+		recv_divcnt <= recv_divcnt + 1;
+		case (recv_state)
+			0: begin
+				if (!ser_rx)
+					recv_state <= 1;
+				recv_divcnt <= 0;
+			end
+			1: begin
+				if (2*recv_divcnt > 3'd3) begin
+					recv_state <= 2;
+					recv_divcnt <= 0;
+				end
+			end
+			10: begin
+				if (recv_divcnt > 3'd3) begin
+					recv_state <= 0;
+					$display("Got %c from Microwatt", recv_pattern);
+					// Expecting 7 back
+					if (recv_pattern == 55) begin
+						$finish;
+					end else begin
+						$fatal;
+					end
+				end
+			end
+			default: begin
+				if (recv_divcnt > 3'd3) begin
+					recv_pattern <= {ser_rx, recv_pattern[7:1]};
+					recv_state <= recv_state + 1;
+					recv_divcnt <= 0;
+				end
+			end
+		endcase
+	end
+endmodule
+
+module uart_tb;
+	reg clock;
+	reg RSTB;
+	reg CSB;
+	reg power1, power2;
+	reg uart_rx;
+
+	wire gpio;
+	wire flash_csb;
+	wire flash_clk;
+	wire flash_io0;
+	wire flash_io1;
+	wire [37:0] mprj_io;
+	wire [1:0] checkbits;
+	wire uart_tx;
+	wire user_flash_csb;
+	wire user_flash_clk;
+	inout user_flash_io0;
+	inout user_flash_io1;
+
+	assign user_flash_csb = mprj_io[8];
+	assign user_flash_clk = mprj_io[9];
+	assign user_flash_io0 = mprj_io[10];
+	assign mprj_io[11] = user_flash_io1;
+
+	assign checkbits = mprj_io[17:16];
+	assign uart_tx = mprj_io[6];
+	assign mprj_io[5] = uart_rx;
+
+	// 50 MHz clock
+	always #10 clock <= (clock === 1'b0);
+
+	initial begin
+		clock = 0;
+	end
+
+	initial begin
+		$dumpfile("uart.vcd");
+		$dumpvars(0, uart_tb);
+
+		$display("Microwatt UART rx -> tx test");
+
+		repeat (150) begin
+			repeat (10000) @(posedge clock);
+			// Diagnostic. . . interrupts output pattern.
+		end
+		$finish;
+	end
+
+	initial begin
+                RSTB <= 1'b0;
+		CSB  <= 1'b1;		// Force CSB high
+		#1000;
+		RSTB <= 1'b1;		// Release reset
+		#170000;
+		CSB = 1'b0;		// CSB can be released
+	end
+
+	initial begin		// Power-up sequence
+		power1 <= 1'b0;
+		power2 <= 1'b0;
+		#200;
+		power1 <= 1'b1;
+		#200;
+		power2 <= 1'b1;
+	end
+
+	initial begin
+		uart_rx <= 1'b1;
+
+		wait(checkbits == 2'h1);
+		$display("Management engine started");
+
+		wait(checkbits == 2'h2);
+		$display("Microwatt alive!");
+
+		// 115200 = 8680 ns per bit
+		$display("Writing 7 to Microwatt uart");
+		uart_rx <= 1'b0;
+		#8680
+		uart_rx <= 1'b1;
+		#8680
+		uart_rx <= 1'b1;
+		#8680
+		uart_rx <= 1'b1;
+		#8680
+		uart_rx <= 1'b0;
+		#8680
+		uart_rx <= 1'b1;
+		#8680
+		uart_rx <= 1'b1;
+		#8680
+		uart_rx <= 1'b0;
+		#8680
+		uart_rx <= 1'b0;
+		#8680
+		$display("Done. Waiting for Microwatt to send 7 back");
+		uart_rx <= 1'b1;
+	end
+
+	wire VDD3V3;
+	wire VDD1V8;
+	wire VSS;
+
+	assign VDD3V3 = power1;
+	assign VDD1V8 = power2;
+	assign VSS = 1'b0;
+
+	assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
+
+	caravel uut (
+		.vddio	  (VDD3V3),
+		.vssio	  (VSS),
+		.vdda	  (VDD3V3),
+		.vssa	  (VSS),
+		.vccd	  (VDD1V8),
+		.vssd	  (VSS),
+		.vdda1    (VDD3V3),
+		.vdda2    (VDD3V3),
+		.vssa1	  (VSS),
+		.vssa2	  (VSS),
+		.vccd1	  (VDD1V8),
+		.vccd2	  (VDD1V8),
+		.vssd1	  (VSS),
+		.vssd2	  (VSS),
+		.clock	  (clock),
+		.gpio     (gpio),
+		.mprj_io  (mprj_io),
+		.flash_csb(flash_csb),
+		.flash_clk(flash_clk),
+		.flash_io0(flash_io0),
+		.flash_io1(flash_io1),
+		.resetb	  (RSTB)
+	);
+
+	spiflash #(
+		.FILENAME("mgmt_engine.hex")
+	) spiflash (
+		.csb(flash_csb),
+		.clk(flash_clk),
+		.io0(flash_io0),
+		.io1(flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+
+	spiflash #(
+		.FILENAME("microwatt.hex")
+	) spiflash_microwatt (
+		.csb(user_flash_csb),
+		.clk(user_flash_clk),
+		.io0(user_flash_io0),
+		.io1(user_flash_io1),
+		.io2(),			// not used
+		.io3()			// not used
+	);
+
+	tbuart_expect_seven #(
+		.baud_rate(115200)
+	) tbuart (
+		.ser_rx(uart_tx)
+	);
+
+endmodule
+`default_nettype wire
diff --git a/verilog/dv/caravel/spiflash.v b/verilog/dv/caravel/spiflash.v
index 29dde43..76969fb 100644
--- a/verilog/dv/caravel/spiflash.v
+++ b/verilog/dv/caravel/spiflash.v
@@ -107,6 +107,7 @@
 	initial begin
 		$display("Reading %s",  FILENAME);
 		$readmemh(FILENAME, memory);
+		$display("%s loaded into memory", FILENAME);
 	end
 
 	task spi_action;
diff --git a/verilog/rtl/RAM_512x64.v b/verilog/rtl/RAM_512x64.v
index e019739..6a58b7c 100644
--- a/verilog/rtl/RAM_512x64.v
+++ b/verilog/rtl/RAM_512x64.v
@@ -1,13 +1,7 @@
 module RAM_512x64 (
 `ifdef USE_POWER_PINS
-    inout vdda1,	// User area 1 3.3V supply
-    inout vdda2,	// User area 2 3.3V supply
-    inout vssa1,	// User area 1 analog ground
-    inout vssa2,	// User area 2 analog ground
     inout vccd1,	// User area 1 1.8V supply
-    inout vccd2,	// User area 2 1.8v supply
     inout vssd1,	// User area 1 digital ground
-    inout vssd2,	// User area 2 digital ground
 `endif
     input           CLK,
     input   [7:0]   WE,
diff --git a/verilog/rtl/caravel_netlists.v b/verilog/rtl/caravel_netlists.v
index 66e6207..478263b 100644
--- a/verilog/rtl/caravel_netlists.v
+++ b/verilog/rtl/caravel_netlists.v
@@ -48,6 +48,13 @@
     `include "gl/mgmt_protect_hv.v"
 	`include "gl/gpio_control_block.v"
 	`include "gl/sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped.v"
+
+`default_nettype wire
+	`include "gl/icache.v"
+	`include "gl/dcache.v"
+	`include "gl/register_file.v"
+	`include "gl/multiply_4.v"
+	`include "gl/RAM_512x64.v"
 	`include "gl/user_project_wrapper.v"
     `include "gl/caravel.v"
 `else
@@ -70,6 +77,12 @@
     `include "mgmt_protect_hv.v"
 	`include "gpio_control_block.v"
     `include "sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped.v"
+	`include "icache.v"
+	`include "dcache.v"
+	`include "register_file.v"
+	`include "multiply_4.v"
+	`include "RAM_512x64.v"
+	`include "microwatt.v"
 	`include "user_project_wrapper.v"
     `include "caravel.v"
 `endif
@@ -77,11 +90,6 @@
 `include "simple_por.v"
 `include "sram_1rw1r_32_256_8_sky130.v"
 
-/*------------------------------*/
-/* Include user project here	*/
-/*------------------------------*/
-`include "user_proj_example.v"
-
 // `ifdef USE_OPENRAM
 //     `include "sram_1rw1r_32_256_8_sky130.v"
 // `endif
diff --git a/verilog/rtl/dcache.v b/verilog/rtl/dcache.v
new file mode 100644
index 0000000..09d6f52
--- /dev/null
+++ b/verilog/rtl/dcache.v
@@ -0,0 +1,2299 @@
+/* Generated by Yosys 0.9+3743 (git sha1 UNKNOWN, clang 7.0.1-8+deb10u2 -fPIC -Os) */
+
+module plru_2(clk, rst, acc, acc_en, lru);
+  wire _0_;
+  wire _1_;
+  wire _2_;
+  wire _3_;
+  input acc;
+  input acc_en;
+  input clk;
+  output lru;
+  input rst;
+  reg [1:0] tree;
+  assign _0_ = ~ acc;
+  assign _1_ = acc_en ? _0_ : tree[1];
+  assign _2_ = rst ? 1'h0 : tree[0];
+  assign _3_ = rst ? 1'h0 : _1_;
+  always @(posedge clk)
+    tree <= { _3_, _2_ };
+  assign lru = tree[1];
+endmodule
+
+module cache_ram_4_64_3f29546453678b855931c174a97d6c0894b8f546(clk, rd_en, rd_addr, wr_sel, wr_addr, wr_data, rd_data);
+  reg [63:0] _00_;
+  wire [127:0] _01_;
+  wire [7:0] _02_;
+  wire [127:0] _03_;
+  wire [7:0] _04_;
+  wire [127:0] _05_;
+  wire [7:0] _06_;
+  wire [127:0] _07_;
+  wire [7:0] _08_;
+  wire [127:0] _09_;
+  wire [7:0] _10_;
+  wire [127:0] _11_;
+  wire [7:0] _12_;
+  wire [127:0] _13_;
+  wire [7:0] _14_;
+  wire [127:0] _15_;
+  wire [7:0] _16_;
+  input clk;
+  input [3:0] rd_addr;
+  output [63:0] rd_data;
+  input rd_en;
+  input [3:0] wr_addr;
+  input [63:0] wr_data;
+  input [7:0] wr_sel;
+  reg [7:0] \$mem$\25511  [15:0];
+  reg [7:0] \$mem$\25512  [15:0];
+  reg [7:0] \$mem$\25513  [15:0];
+  reg [7:0] \$mem$\25514  [15:0];
+  reg [7:0] \$mem$\25515  [15:0];
+  reg [7:0] \$mem$\25516  [15:0];
+  reg [7:0] \$mem$\25517  [15:0];
+  reg [7:0] \$mem$\25518  [15:0];
+  (* ram_style = "block" *)
+  reg [7:0] \25511  [15:0];
+  reg [7:0] _17_;
+  always @(posedge clk) begin
+    if (rd_en) _17_ <= \25511 [rd_addr];
+    if (wr_sel[0]) \25511 [wr_addr] <= wr_data[7:0];
+  end
+  assign _02_ = _17_;
+  (* ram_style = "block" *)
+  reg [7:0] \25512  [15:0];
+  reg [7:0] _18_;
+  always @(posedge clk) begin
+    if (rd_en) _18_ <= \25512 [rd_addr];
+    if (wr_sel[1]) \25512 [wr_addr] <= wr_data[15:8];
+  end
+  assign _04_ = _18_;
+  (* ram_style = "block" *)
+  reg [7:0] \25513  [15:0];
+  reg [7:0] _19_;
+  always @(posedge clk) begin
+    if (rd_en) _19_ <= \25513 [rd_addr];
+    if (wr_sel[2]) \25513 [wr_addr] <= wr_data[23:16];
+  end
+  assign _06_ = _19_;
+  (* ram_style = "block" *)
+  reg [7:0] \25514  [15:0];
+  reg [7:0] _20_;
+  always @(posedge clk) begin
+    if (rd_en) _20_ <= \25514 [rd_addr];
+    if (wr_sel[3]) \25514 [wr_addr] <= wr_data[31:24];
+  end
+  assign _08_ = _20_;
+  (* ram_style = "block" *)
+  reg [7:0] \25515  [15:0];
+  reg [7:0] _21_;
+  always @(posedge clk) begin
+    if (rd_en) _21_ <= \25515 [rd_addr];
+    if (wr_sel[4]) \25515 [wr_addr] <= wr_data[39:32];
+  end
+  assign _10_ = _21_;
+  (* ram_style = "block" *)
+  reg [7:0] \25516  [15:0];
+  reg [7:0] _22_;
+  always @(posedge clk) begin
+    if (rd_en) _22_ <= \25516 [rd_addr];
+    if (wr_sel[5]) \25516 [wr_addr] <= wr_data[47:40];
+  end
+  assign _12_ = _22_;
+  (* ram_style = "block" *)
+  reg [7:0] \25517  [15:0];
+  reg [7:0] _23_;
+  always @(posedge clk) begin
+    if (rd_en) _23_ <= \25517 [rd_addr];
+    if (wr_sel[6]) \25517 [wr_addr] <= wr_data[55:48];
+  end
+  assign _14_ = _23_;
+  (* ram_style = "block" *)
+  reg [7:0] \25518  [15:0];
+  reg [7:0] _24_;
+  always @(posedge clk) begin
+    if (rd_en) _24_ <= \25518 [rd_addr];
+    if (wr_sel[7]) \25518 [wr_addr] <= wr_data[63:56];
+  end
+  assign _16_ = _24_;
+  always @(posedge clk)
+    _00_ <= { _16_, _14_, _12_, _10_, _08_, _06_, _04_, _02_ };
+  assign rd_data = _00_;
+endmodule
+
+module dcache(
+`ifdef USE_POWER_PINS
+	vccd1, vssd1,
+`endif
+	clk, rst, d_in, m_in, wishbone_in, d_out, m_out, stall_out, wishbone_out);
+`ifdef USE_POWER_PINS
+  inout vccd1;
+  inout vssd1;
+`endif
+  wire _000_;
+  wire _001_;
+  wire [146:0] _002_;
+  wire _003_;
+  wire _004_;
+  wire _005_;
+  wire [146:0] _006_;
+  wire _007_;
+  wire [146:0] _008_;
+  wire _009_;
+  wire _010_;
+  wire _011_;
+  wire _012_;
+  wire _013_;
+  wire [1:0] _014_;
+  wire _015_;
+  wire _016_;
+  wire _017_;
+  wire _018_;
+  wire _019_;
+  wire _020_;
+  wire _021_;
+  wire _022_;
+  wire _023_;
+  wire _024_;
+  wire _025_;
+  wire _026_;
+  wire _027_;
+  wire _028_;
+  wire _029_;
+  wire _030_;
+  wire [3:0] _031_;
+  wire _032_;
+  wire _033_;
+  wire _034_;
+  wire [3:0] _035_;
+  wire [3:0] _036_;
+  wire [3:0] _037_;
+  wire _038_;
+  wire _039_;
+  wire _040_;
+  wire _041_;
+  wire _042_;
+  wire _043_;
+  wire _044_;
+  wire _045_;
+  wire _046_;
+  wire _047_;
+  wire _048_;
+  wire _049_;
+  wire _050_;
+  wire _051_;
+  wire _052_;
+  wire _053_;
+  wire _054_;
+  wire _055_;
+  wire _056_;
+  wire _057_;
+  wire _058_;
+  wire _059_;
+  wire _060_;
+  wire _061_;
+  wire _062_;
+  wire _063_;
+  wire _064_;
+  wire _065_;
+  wire _066_;
+  wire _067_;
+  wire _068_;
+  wire _069_;
+  wire _070_;
+  wire _071_;
+  wire _072_;
+  wire _073_;
+  wire _074_;
+  wire _075_;
+  wire _076_;
+  wire _077_;
+  wire _078_;
+  wire _079_;
+  wire _080_;
+  wire _081_;
+  wire _082_;
+  wire _083_;
+  wire _084_;
+  wire _085_;
+  wire _086_;
+  wire _087_;
+  wire _088_;
+  wire _089_;
+  wire _090_;
+  wire _091_;
+  wire _092_;
+  wire _093_;
+  wire _094_;
+  wire _095_;
+  wire _096_;
+  wire _097_;
+  wire _098_;
+  wire _099_;
+  wire _100_;
+  wire _101_;
+  wire _102_;
+  wire _103_;
+  wire _104_;
+  wire _105_;
+  wire _106_;
+  wire _107_;
+  wire _108_;
+  wire _109_;
+  wire [2:0] _110_;
+  wire _111_;
+  wire _112_;
+  wire _113_;
+  wire _114_;
+  wire _115_;
+  wire _116_;
+  wire _117_;
+  wire _118_;
+  wire _119_;
+  wire _120_;
+  wire _121_;
+  wire _122_;
+  wire _123_;
+  wire _124_;
+  wire _125_;
+  wire _126_;
+  wire _127_;
+  wire _128_;
+  wire _129_;
+  wire _130_;
+  wire _131_;
+  wire _132_;
+  wire _133_;
+  wire _134_;
+  wire _135_;
+  wire _136_;
+  wire [2:0] _137_;
+  wire [2:0] _138_;
+  wire [2:0] _139_;
+  wire _140_;
+  wire [3:0] _141_;
+  wire _142_;
+  wire _143_;
+  wire _144_;
+  wire _145_;
+  wire _146_;
+  wire _147_;
+  wire _148_;
+  wire _149_;
+  wire _150_;
+  wire [58:0] _151_;
+  wire _152_;
+  wire [57:0] _153_;
+  wire [58:0] _154_;
+  wire _155_;
+  wire [57:0] _156_;
+  wire [63:0] _157_;
+  wire _158_;
+  wire [7:0] _159_;
+  wire [7:0] _160_;
+  wire [7:0] _161_;
+  wire [7:0] _162_;
+  wire [7:0] _163_;
+  wire [7:0] _164_;
+  wire [7:0] _165_;
+  wire [7:0] _166_;
+  wire _167_;
+  wire _168_;
+  wire _169_;
+  wire [63:0] _170_;
+  wire _171_;
+  wire _172_;
+  wire _173_;
+  wire _174_;
+  wire _175_;
+  wire _176_;
+  wire _177_;
+  wire [63:0] _178_;
+  wire _179_;
+  wire _180_;
+  wire _181_;
+  wire _182_;
+  wire _183_;
+  wire _184_;
+  wire _185_;
+  wire _186_;
+  wire _187_;
+  wire _188_;
+  wire _189_;
+  wire _190_;
+  wire _191_;
+  wire _192_;
+  wire [1:0] _193_;
+  wire _194_;
+  wire _195_;
+  wire _196_;
+  reg _197_;
+  reg [6:0] _198_;
+  reg _199_;
+  reg [2:0] _200_;
+  wire [7:0] _201_;
+  wire [7:0] _202_;
+  wire [63:0] _203_;
+  wire [63:0] _204_;
+  wire _205_;
+  wire _206_;
+  wire _207_;
+  wire _208_;
+  wire _209_;
+  wire _210_;
+  wire _211_;
+  wire _212_;
+  wire _213_;
+  wire _214_;
+  wire _215_;
+  wire _216_;
+  wire _217_;
+  wire _218_;
+  wire _219_;
+  wire [63:0] _220_;
+  wire _221_;
+  wire _222_;
+  wire _223_;
+  wire [7:0] _224_;
+  wire _225_;
+  wire _226_;
+  wire _227_;
+  wire _228_;
+  wire _229_;
+  wire _230_;
+  wire _231_;
+  wire _232_;
+  wire _233_;
+  wire [135:0] _234_;
+  wire [2:0] _235_;
+  wire _236_;
+  wire _237_;
+  wire _238_;
+  wire _239_;
+  wire _240_;
+  wire _241_;
+  wire _242_;
+  wire _243_;
+  wire _244_;
+  wire _245_;
+  wire _246_;
+  wire _247_;
+  wire _248_;
+  wire _249_;
+  wire [1:0] _250_;
+  wire _251_;
+  wire _252_;
+  wire _253_;
+  wire [2:0] _254_;
+  wire _255_;
+  wire _256_;
+  wire _257_;
+  wire _258_;
+  wire _259_;
+  wire _260_;
+  wire _261_;
+  wire _262_;
+  wire _263_;
+  wire [1:0] _264_;
+  wire _265_;
+  wire _266_;
+  wire _267_;
+  wire _268_;
+  wire _269_;
+  wire _270_;
+  wire [2:0] _271_;
+  wire _272_;
+  wire _273_;
+  wire _274_;
+  wire _275_;
+  wire _276_;
+  wire _277_;
+  wire _278_;
+  wire _279_;
+  wire _280_;
+  wire _281_;
+  wire [2:0] _282_;
+  wire [31:0] _283_;
+  wire _284_;
+  wire _285_;
+  wire [2:0] _286_;
+  wire _287_;
+  wire _288_;
+  wire _289_;
+  wire _290_;
+  wire _291_;
+  wire _292_;
+  wire _293_;
+  wire _294_;
+  wire _295_;
+  wire _296_;
+  wire _297_;
+  wire _298_;
+  wire _299_;
+  wire [8:0] _300_;
+  wire _301_;
+  wire _302_;
+  wire _303_;
+  wire _304_;
+  wire _305_;
+  wire _306_;
+  wire [3:0] _307_;
+  wire [1:0] _308_;
+  wire _309_;
+  wire [2:0] _310_;
+  wire _311_;
+  wire _312_;
+  wire [10:0] _313_;
+  wire _314_;
+  wire _315_;
+  wire [3:0] _316_;
+  wire [7:0] _317_;
+  wire _318_;
+  wire _319_;
+  wire _320_;
+  wire _321_;
+  wire _322_;
+  wire [2:0] _323_;
+  wire [2:0] _324_;
+  wire [2:0] _325_;
+  wire [2:0] _326_;
+  wire _327_;
+  wire [6:0] _328_;
+  wire [71:0] _329_;
+  wire _330_;
+  wire _331_;
+  wire _332_;
+  wire _333_;
+  wire _334_;
+  wire _335_;
+  wire _336_;
+  wire _337_;
+  wire _338_;
+  wire _339_;
+  wire _340_;
+  wire _341_;
+  wire _342_;
+  wire _343_;
+  wire _344_;
+  wire _345_;
+  wire _346_;
+  wire [7:0] _347_;
+  wire _348_;
+  wire _349_;
+  wire _350_;
+  wire _351_;
+  wire _352_;
+  wire _353_;
+  wire _354_;
+  wire [1:0] _355_;
+  wire [1:0] _356_;
+  wire _357_;
+  wire [1:0] _358_;
+  wire _359_;
+  wire _360_;
+  wire _361_;
+  wire _362_;
+  wire _363_;
+  wire _364_;
+  wire _365_;
+  wire _366_;
+  wire [10:0] _367_;
+  wire _368_;
+  wire [1:0] _369_;
+  wire _370_;
+  wire _371_;
+  wire _372_;
+  wire [3:0] _373_;
+  wire _374_;
+  wire _375_;
+  wire _376_;
+  wire _377_;
+  wire _378_;
+  wire _379_;
+  wire [8:0] _380_;
+  wire [1:0] _381_;
+  wire _382_;
+  wire _383_;
+  wire _384_;
+  wire _385_;
+  wire [6:0] _386_;
+  wire [24:0] _387_;
+  wire [63:0] _388_;
+  wire [7:0] _389_;
+  wire _390_;
+  wire _391_;
+  wire _392_;
+  wire [48:0] _393_;
+  wire _394_;
+  wire [3:0] _395_;
+  wire _396_;
+  wire [2:0] _397_;
+  wire _398_;
+  wire _399_;
+  wire _400_;
+  wire _401_;
+  wire _402_;
+  wire _403_;
+  wire _404_;
+  wire _405_;
+  wire [2:0] _406_;
+  wire _407_;
+  wire _408_;
+  wire _409_;
+  wire _410_;
+  wire _411_;
+  wire _412_;
+  wire [133:0] _413_;
+  wire [133:0] _414_;
+  wire [3:0] _415_;
+  wire _416_;
+  wire [135:0] _417_;
+  wire _418_;
+  wire _419_;
+  wire [8:0] _420_;
+  wire [1:0] _421_;
+  wire [2:0] _422_;
+  wire [32:0] _423_;
+  wire [71:0] _424_;
+  wire [1:0] _425_;
+  wire [71:0] _426_;
+  wire _427_;
+  wire _428_;
+  wire [4:0] _429_;
+  wire [7:0] _430_;
+  wire _431_;
+  wire _432_;
+  wire _433_;
+  wire _434_;
+  reg _435_;
+  reg [135:0] _436_;
+  reg [335:0] _437_;
+  reg _438_;
+  wire [203:0] _439_;
+  wire [255:0] _440_;
+  wire [111:0] _441_;
+  wire [55:0] _442_;
+  wire [111:0] _443_;
+  wire [55:0] _444_;
+  wire [1:0] _445_;
+  wire [63:0] _446_;
+  wire _447_;
+  wire _448_;
+  wire _449_;
+  wire _450_;
+  wire _451_;
+  wire _452_;
+  wire _453_;
+  wire _454_;
+  wire _455_;
+  wire _456_;
+  wire _457_;
+  wire _458_;
+  wire [50:0] _459_;
+  wire [50:0] _460_;
+  wire _461_;
+  wire [63:0] _462_;
+  wire [63:0] _463_;
+  wire _464_;
+  wire _465_;
+  wire _466_;
+  wire _467_;
+  wire _468_;
+  wire _469_;
+  wire _470_;
+  wire _471_;
+  wire _472_;
+  wire _473_;
+  wire _474_;
+  wire _475_;
+  wire _476_;
+  wire _477_;
+  wire _478_;
+  wire _479_;
+  wire _480_;
+  wire _481_;
+  wire _482_;
+  wire _483_;
+  wire _484_;
+  wire _485_;
+  wire _486_;
+  wire [63:0] _487_;
+  wire _488_;
+  wire _489_;
+  wire _490_;
+  wire _491_;
+  wire _492_;
+  wire _493_;
+  wire _494_;
+  wire _495_;
+  wire _496_;
+  wire _497_;
+  wire _498_;
+  wire _499_;
+  wire _500_;
+  wire _501_;
+  wire _502_;
+  wire _503_;
+  wire _504_;
+  wire _505_;
+  wire _506_;
+  wire _507_;
+  wire _508_;
+  wire _509_;
+  wire _510_;
+  wire _511_;
+  wire _512_;
+  wire _513_;
+  wire _514_;
+  wire _515_;
+  wire _516_;
+  wire _517_;
+  wire _518_;
+  wire _519_;
+  wire _520_;
+  wire _521_;
+  wire _522_;
+  wire _523_;
+  wire _524_;
+  wire access_ok;
+  reg [3:0] cache_valids;
+  wire cancel_store;
+  wire clear_rsrv;
+  input clk;
+  input [142:0] d_in;
+  output [67:0] d_out;
+  reg [3:0] dtlb_valids;
+  wire [3:0] early_req_row;
+  input [131:0] m_in;
+  output [66:0] m_out;
+  wire \maybe_plrus.plrus:0.plru_acc_en ;
+  wire \maybe_plrus.plrus:0.plru_out ;
+  wire \maybe_plrus.plrus:1.plru_acc_en ;
+  wire \maybe_plrus.plrus:1.plru_out ;
+  wire \maybe_tlb_plrus.tlb_plrus:0.tlb_plru_acc_en ;
+  wire \maybe_tlb_plrus.tlb_plrus:0.tlb_plru_out ;
+  wire \maybe_tlb_plrus.tlb_plrus:1.tlb_plru_acc_en ;
+  wire \maybe_tlb_plrus.tlb_plrus:1.tlb_plru_out ;
+  wire [5:0] perm_attr;
+  wire perm_ok;
+  wire [63:0] pte;
+  reg [146:0] r0;
+  reg r0_full;
+  wire r0_stall;
+  wire r0_valid;
+  wire [55:0] ra;
+  wire \rams:0.do_write ;
+  wire [63:0] \rams:0.dout ;
+  wire [3:0] \rams:0.wr_addr ;
+  wire [63:0] \rams:0.wr_data ;
+  wire [7:0] \rams:0.wr_sel ;
+  wire [7:0] \rams:0.wr_sel_m ;
+  wire \rams:1.do_write ;
+  wire [63:0] \rams:1.dout ;
+  wire [3:0] \rams:1.wr_addr ;
+  wire [63:0] \rams:1.wr_data ;
+  wire [7:0] \rams:1.wr_sel ;
+  wire [7:0] \rams:1.wr_sel_m ;
+  wire rc_ok;
+  wire replace_way;
+  wire req_go;
+  wire req_hit_way;
+  wire [2:0] req_op;
+  wire req_same_tag;
+  reg [58:0] reservation;
+  input rst;
+  wire set_rsrv;
+  output stall_out;
+  wire tlb_hit;
+  wire tlb_hit_way;
+  wire [127:0] tlb_pte_way;
+  wire [101:0] tlb_tag_way;
+  reg [1:0] tlb_valid_way;
+  wire use_forward1_next;
+  wire use_forward2_next;
+  wire valid_ra;
+  input [65:0] wishbone_in;
+  output [106:0] wishbone_out;
+  reg [101:0] \$mem$\19357  [1:0];
+  reg [127:0] \$mem$\19360  [1:0];
+  reg [55:0] \$mem$\19363  [1:0];
+  reg [55:0] \$mem$\19364  [1:0];
+  (* ram_style = "distributed" *)
+  reg [101:0] \19357  [1:0];
+  reg [101:0] _531_;
+  always @(posedge clk) begin
+    if (_012_) _531_ <= \19357 [_011_];
+    if (_041_) \19357 [r0[19]] <= { _460_, _459_ };
+  end
+  assign tlb_tag_way = _531_;
+  (* ram_style = "distributed" *)
+  reg [127:0] \19360  [1:0];
+  reg [127:0] _532_;
+  always @(posedge clk) begin
+    if (_012_) _532_ <= \19360 [_011_];
+    if (_045_) \19360 [r0[19]] <= { _463_, _462_ };
+  end
+  assign tlb_pte_way = _532_;
+  (* ram_style = "distributed" *)
+  reg [55:0] \19363  [1:0];
+  reg [55:0] _533_;
+  always @(posedge clk) begin
+    _533_ <= \19363 [_049_];
+    if (_434_) \19363 [_437_[318]] <= { 7'h00, _437_[312:264] };
+  end
+  assign _442_ = _533_;
+  (* ram_style = "distributed" *)
+  reg [55:0] \19364  [1:0];
+  reg [55:0] _534_;
+  always @(posedge clk) begin
+    _534_ <= \19364 [_049_];
+    if (_433_) \19364 [_437_[318]] <= { 7'h00, _437_[312:264] };
+  end
+  assign _444_ = _534_;
+  assign _521_ = _110_[0] ? _437_[323] : _437_[322];
+  assign _522_ = _110_[0] ? _437_[327] : _437_[326];
+  assign _523_ = _110_[0] ? _437_[325] : _437_[324];
+  assign _524_ = _110_[0] ? _437_[329] : _437_[328];
+  assign _483_ = _110_[1] ? _523_ : _521_;
+  assign _484_ = _110_[1] ? _524_ : _522_;
+  assign _000_ = m_in[1] | m_in[3];
+  assign _001_ = ~ _000_;
+  assign _002_ = m_in[0] ? { 1'h1, m_in[3:1], 8'hff, m_in[131:4], 5'h10, _001_, 1'h1 } : { 4'h0, d_in };
+  assign _003_ = ~ _435_;
+  assign _004_ = ~ r0_full;
+  assign _005_ = _003_ | _004_;
+  assign _006_ = _005_ ? _002_ : r0;
+  assign _007_ = _005_ ? _002_[0] : r0_full;
+  assign _008_ = rst ? r0 : _006_;
+  assign _009_ = rst ? 1'h0 : _007_;
+  always @(posedge clk)
+    r0 <= _008_;
+  always @(posedge clk)
+    r0_full <= _009_;
+  assign r0_stall = r0_full & _435_;
+  assign _010_ = ~ _435_;
+  assign r0_valid = r0_full & _010_;
+  assign _011_ = m_in[0] ? m_in[16] : d_in[19];
+  assign _012_ = ~ r0_stall;
+  assign _013_ = 1'h1 - _011_;
+  assign _014_ = _012_ ? _445_ : tlb_valid_way;
+  always @(posedge clk)
+    tlb_valid_way <= _014_;
+  assign _015_ = { 31'h00000000, _198_[6] } == 32'd0;
+  assign \maybe_tlb_plrus.tlb_plrus:0.tlb_plru_acc_en  = _015_ ? _198_[4] : 1'h0;
+  assign _016_ = { 31'h00000000, _198_[6] } == 32'd1;
+  assign \maybe_tlb_plrus.tlb_plrus:1.tlb_plru_acc_en  = _016_ ? _198_[4] : 1'h0;
+  assign _017_ = tlb_tag_way[50:0] == r0[70:20];
+  assign _018_ = tlb_valid_way[0] & _017_;
+  assign _019_ = _018_ ? 1'h1 : 1'h0;
+  assign _020_ = tlb_tag_way[101:51] == r0[70:20];
+  assign _021_ = tlb_valid_way[1] & _020_;
+  assign tlb_hit_way = _021_ ? 1'h1 : 1'h0;
+  assign _022_ = _021_ ? 1'h1 : _019_;
+  assign _023_ = _022_ & r0_valid;
+  assign tlb_hit = _023_ & r0[5];
+  assign pte = tlb_hit ? _446_ : 64'h0000000000000000;
+  assign _024_ = ~ r0[5];
+  assign _025_ = r0_valid & _024_;
+  assign valid_ra = tlb_hit | _025_;
+  assign ra = tlb_hit ? { pte[55:12], r0[18:10], 3'h0 } : { r0[62:10], 3'h0 };
+  assign perm_attr = tlb_hit ? { pte[1], pte[2], pte[3], pte[5], pte[7], pte[8] } : 6'h3b;
+  assign _026_ = r0_valid & r0[143];
+  assign _027_ = r0_valid & r0[145];
+  assign _028_ = _026_ & r0[144];
+  assign _029_ = rst | _028_;
+  assign _030_ = 1'h1 - r0[19];
+  assign _031_ = tlb_hit ? { _456_, _455_, _454_, _453_ } : dtlb_valids;
+  assign _032_ = 1'h1 - r0[19];
+  assign _033_ = tlb_hit ? tlb_hit_way : _457_;
+  assign _034_ = 1'h1 - r0[19];
+  assign _035_ = _027_ ? { _473_, _472_, _471_, _470_ } : dtlb_valids;
+  assign _036_ = _026_ ? _031_ : _035_;
+  assign _037_ = _029_ ? 4'h0 : _036_;
+  always @(posedge clk)
+    dtlb_valids <= _037_;
+  assign _038_ = ~ _029_;
+  assign _039_ = ~ _026_;
+  assign _040_ = _038_ & _039_;
+  assign _041_ = _040_ & _027_;
+  assign _042_ = ~ _029_;
+  assign _043_ = ~ _026_;
+  assign _044_ = _042_ & _043_;
+  assign _045_ = _044_ & _027_;
+  assign _046_ = { 31'h00000000, _198_[2] } == 32'd0;
+  assign \maybe_plrus.plrus:0.plru_acc_en  = _046_ ? _198_[3] : 1'h0;
+  assign _047_ = { 31'h00000000, _198_[2] } == 32'd1;
+  assign \maybe_plrus.plrus:1.plru_acc_en  = _047_ ? _198_[3] : 1'h0;
+  assign _048_ = m_in[0] ? m_in[10] : d_in[13];
+  assign _049_ = r0_stall ? r0[13] : _048_;
+  assign _050_ = r0[143] | r0[145];
+  assign _051_ = ~ _050_;
+  assign _052_ = r0_valid & _051_;
+  assign _053_ = ~ _199_;
+  assign req_go = _052_ & _053_;
+  assign _054_ = 1'h1 - r0[13];
+  assign _055_ = req_go & _474_;
+  assign _056_ = _442_[48:0] == { tlb_pte_way[55:12], r0[18:14] };
+  assign _057_ = _055_ & _056_;
+  assign _058_ = _057_ & tlb_valid_way[0];
+  assign _059_ = _058_ ? 1'h1 : 1'h0;
+  assign _060_ = _058_ ? 1'h0 : 1'h0;
+  assign _061_ = 1'h1 - r0[13];
+  assign _062_ = req_go & _475_;
+  assign _063_ = _444_[48:0] == { tlb_pte_way[55:12], r0[18:14] };
+  assign _064_ = _062_ & _063_;
+  assign _065_ = _064_ & tlb_valid_way[0];
+  assign _066_ = _065_ ? 1'h1 : _059_;
+  assign _067_ = _065_ ? 1'h1 : _060_;
+  assign _068_ = { tlb_pte_way[55:12], r0[18:14] } == _437_[312:264];
+  assign _069_ = _068_ ? 1'h1 : 1'h0;
+  assign _070_ = 1'h1 - r0[13];
+  assign _071_ = req_go & _476_;
+  assign _072_ = _442_[48:0] == { tlb_pte_way[119:76], r0[18:14] };
+  assign _073_ = _071_ & _072_;
+  assign _074_ = _073_ & tlb_valid_way[1];
+  assign _075_ = _074_ ? 1'h1 : 1'h0;
+  assign _076_ = _074_ ? 1'h0 : 1'h0;
+  assign _077_ = 1'h1 - r0[13];
+  assign _078_ = req_go & _477_;
+  assign _079_ = _444_[48:0] == { tlb_pte_way[119:76], r0[18:14] };
+  assign _080_ = _078_ & _079_;
+  assign _081_ = _080_ & tlb_valid_way[1];
+  assign _082_ = _081_ ? 1'h1 : _075_;
+  assign _083_ = _081_ ? 1'h1 : _076_;
+  assign _084_ = { tlb_pte_way[119:76], r0[18:14] } == _437_[312:264];
+  assign _085_ = _084_ ? 1'h1 : 1'h0;
+  assign _086_ = 1'h1 - tlb_hit_way;
+  assign _087_ = tlb_hit ? _478_ : 1'h0;
+  assign _088_ = tlb_hit ? _479_ : 1'h0;
+  assign _089_ = tlb_hit ? _480_ : 1'h0;
+  assign _090_ = 1'h1 - r0[13];
+  assign _091_ = req_go & _481_;
+  assign _092_ = _442_[48:0] == r0[62:14];
+  assign _093_ = _091_ & _092_;
+  assign _094_ = _093_ ? 1'h1 : 1'h0;
+  assign _095_ = 1'h1 - r0[13];
+  assign _096_ = req_go & _482_;
+  assign _097_ = _444_[48:0] == r0[62:14];
+  assign _098_ = _096_ & _097_;
+  assign _099_ = _098_ ? 1'h1 : _094_;
+  assign _100_ = _098_ ? 1'h1 : 1'h0;
+  assign _101_ = r0[62:14] == _437_[312:264];
+  assign _102_ = _101_ ? 1'h1 : 1'h0;
+  assign _103_ = r0[5] ? _087_ : _099_;
+  assign _104_ = r0[5] ? _088_ : _100_;
+  assign req_same_tag = r0[5] ? _089_ : _102_;
+  assign _105_ = _437_[152:151] == 2'h1;
+  assign _106_ = { 31'h00000000, r0[13] } == { 31'h00000000, _437_[318] };
+  assign _107_ = _105_ & _106_;
+  assign _108_ = _107_ & req_same_tag;
+  assign _109_ = ~ r0[1];
+  assign _110_ = 3'h7 - r0[12:10];
+  assign _111_ = _109_ | _485_;
+  assign _112_ = _108_ ? _111_ : _103_;
+  assign req_hit_way = _108_ ? replace_way : _104_;
+  assign _113_ = { 28'h0000000, _436_[11:8] } == { 28'h0000000, r0[13:10] };
+  assign _114_ = { 31'h00000000, _436_[133] } == { 31'h00000000, req_hit_way };
+  assign _115_ = _113_ & _114_;
+  assign use_forward1_next = _115_ ? _437_[154] : 1'h0;
+  assign _116_ = { 28'h0000000, _437_[141:138] } == { 28'h0000000, r0[13:10] };
+  assign _117_ = { 31'h00000000, _437_[137] } == { 31'h00000000, req_hit_way };
+  assign _118_ = _116_ & _117_;
+  assign use_forward2_next = _118_ ? _437_[136] : 1'h0;
+  assign _119_ = 1'h1 - _437_[318];
+  assign replace_way = _437_[155] ? _486_ : _437_[313];
+  assign _120_ = r0[1] | perm_attr[1];
+  assign rc_ok = perm_attr[0] & _120_;
+  assign _121_ = r0[6] & r0[0];
+  assign _122_ = ~ perm_attr[3];
+  assign _123_ = _121_ | _122_;
+  assign _124_ = r0[1] & perm_attr[4];
+  assign _125_ = perm_attr[5] | _124_;
+  assign perm_ok = _123_ & _125_;
+  assign _126_ = valid_ra & perm_ok;
+  assign access_ok = _126_ & rc_ok;
+  assign _127_ = r0[3] | perm_attr[2];
+  assign _128_ = ~ access_ok;
+  assign _129_ = { r0[1], _127_, _112_ } == 3'h5;
+  assign _130_ = { r0[1], _127_, _112_ } == 3'h4;
+  assign _131_ = { r0[1], _127_, _112_ } == 3'h6;
+  assign _132_ = { r0[1], _127_, _112_ } == 3'h1;
+  assign _133_ = { r0[1], _127_, _112_ } == 3'h0;
+  assign _134_ = { r0[1], _127_, _112_ } == 3'h2;
+  assign _135_ = { r0[1], _127_, _112_ } == 3'h3;
+  assign _136_ = { r0[1], _127_, _112_ } == 3'h7;
+  function [2:0] \18202 ;
+    input [2:0] a;
+    input [23:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \18202  = b[2:0];
+      8'b??????1?:
+        \18202  = b[5:3];
+      8'b?????1??:
+        \18202  = b[8:6];
+      8'b????1???:
+        \18202  = b[11:9];
+      8'b???1????:
+        \18202  = b[14:12];
+      8'b??1?????:
+        \18202  = b[17:15];
+      8'b?1??????:
+        \18202  = b[20:18];
+      8'b1???????:
+        \18202  = b[23:21];
+      default:
+        \18202  = a;
+    endcase
+  endfunction
+  assign _137_ = \18202 (3'h0, 24'h27fd63, { _136_, _135_, _134_, _133_, _132_, _131_, _130_, _129_ });
+  assign _138_ = cancel_store ? 3'h2 : _137_;
+  assign _139_ = _128_ ? 3'h1 : _138_;
+  assign req_op = req_go ? _139_ : 3'h0;
+  assign _140_ = ~ r0_stall;
+  assign _141_ = m_in[0] ? m_in[10:7] : d_in[13:10];
+  assign early_req_row = _140_ ? _141_ : r0[13:10];
+  assign _142_ = r0_valid & r0[4];
+  assign _143_ = ~ reservation[0];
+  assign _144_ = r0[70:13] != reservation[58:1];
+  assign _145_ = _143_ | _144_;
+  assign _146_ = _145_ ? 1'h1 : 1'h0;
+  assign _147_ = r0[1] ? 1'h0 : _146_;
+  assign _148_ = r0[1] ? 1'h1 : 1'h0;
+  assign _149_ = r0[1] ? 1'h0 : 1'h1;
+  assign cancel_store = _142_ ? _147_ : 1'h0;
+  assign set_rsrv = _142_ ? _148_ : 1'h0;
+  assign clear_rsrv = _142_ ? _149_ : 1'h0;
+  assign _150_ = r0_valid & access_ok;
+  assign _151_ = set_rsrv ? { r0[70:13], 1'h1 } : reservation;
+  assign _152_ = clear_rsrv ? 1'h0 : _151_[0];
+  assign _153_ = clear_rsrv ? reservation[58:1] : _151_[58:1];
+  assign _154_ = _150_ ? { _153_, _152_ } : reservation;
+  assign _155_ = rst ? 1'h0 : _154_[0];
+  assign _156_ = rst ? reservation[58:1] : _154_[58:1];
+  always @(posedge clk)
+    reservation <= { _156_, _155_ };
+  assign _157_ = _437_[142] ? _437_[63:0] : _437_[127:64];
+  assign _158_ = 1'h1 - _198_[0];
+  assign _159_ = _437_[143] ? _157_[7:0] : _487_[7:0];
+  assign _160_ = _437_[144] ? _157_[15:8] : _487_[15:8];
+  assign _161_ = _437_[145] ? _157_[23:16] : _487_[23:16];
+  assign _162_ = _437_[146] ? _157_[31:24] : _487_[31:24];
+  assign _163_ = _437_[147] ? _157_[39:32] : _487_[39:32];
+  assign _164_ = _437_[148] ? _157_[47:40] : _487_[47:40];
+  assign _165_ = _437_[149] ? _157_[55:48] : _487_[55:48];
+  assign _166_ = _437_[150] ? _157_[63:56] : _487_[63:56];
+  assign _167_ = ~ _200_[2];
+  assign _168_ = 32'd0 == { 31'h00000000, _436_[133] };
+  assign _169_ = _168_ ? 1'h1 : 1'h0;
+  assign _170_ = _437_[153] ? 64'h0000000000000000 : wishbone_in[63:0];
+  assign _171_ = _437_[152:151] == 2'h1;
+  assign _172_ = _171_ & wishbone_in[64];
+  assign _173_ = { 31'h00000000, replace_way } == 32'd0;
+  assign _174_ = _172_ & _173_;
+  assign _175_ = _174_ ? 1'h1 : 1'h0;
+  assign \rams:0.do_write  = _437_[154] ? _169_ : _175_;
+  assign \rams:0.wr_addr  = _437_[154] ? _436_[11:8] : _437_[317:314];
+  assign \rams:0.wr_data  = _437_[154] ? _436_[124:61] : _170_;
+  assign \rams:0.wr_sel  = _437_[154] ? _436_[132:125] : 8'hff;
+  assign \rams:0.wr_sel_m  = \rams:0.do_write  ? \rams:0.wr_sel  : 8'h00;
+  assign _176_ = 32'd1 == { 31'h00000000, _436_[133] };
+  assign _177_ = _176_ ? 1'h1 : 1'h0;
+  assign _178_ = _437_[153] ? 64'h0000000000000000 : wishbone_in[63:0];
+  assign _179_ = _437_[152:151] == 2'h1;
+  assign _180_ = _179_ & wishbone_in[64];
+  assign _181_ = { 31'h00000000, replace_way } == 32'd1;
+  assign _182_ = _180_ & _181_;
+  assign _183_ = _182_ ? 1'h1 : 1'h0;
+  assign \rams:1.do_write  = _437_[154] ? _177_ : _183_;
+  assign \rams:1.wr_addr  = _437_[154] ? _436_[11:8] : _437_[317:314];
+  assign \rams:1.wr_data  = _437_[154] ? _436_[124:61] : _178_;
+  assign \rams:1.wr_sel  = _437_[154] ? _436_[132:125] : 8'hff;
+  assign \rams:1.wr_sel_m  = \rams:1.do_write  ? \rams:1.wr_sel  : 8'h00;
+  assign _184_ = req_op == 3'h3;
+  assign _185_ = _184_ ? 1'h1 : 1'h0;
+  assign _186_ = req_op == 3'h3;
+  assign _187_ = req_op == 3'h6;
+  assign _188_ = _186_ | _187_;
+  assign _189_ = _188_ ? 1'h1 : 1'h0;
+  assign _190_ = req_op == 3'h1;
+  assign _191_ = ~ r0[146];
+  assign _192_ = _190_ ? _191_ : 1'h0;
+  assign _193_ = _190_ ? { access_ok, r0[146] } : 2'h0;
+  assign _194_ = req_op == 3'h2;
+  assign _195_ = _194_ ? 1'h1 : 1'h0;
+  assign _196_ = r0_valid ? r0[146] : _197_;
+  always @(posedge clk)
+    _197_ <= _196_;
+  always @(posedge clk)
+    _198_ <= { r0[19], tlb_hit_way, tlb_hit, _189_, r0[13], _185_, req_hit_way };
+  always @(posedge clk)
+    _199_ <= _192_;
+  always @(posedge clk)
+    _200_ <= { _195_, _193_ };
+  assign _201_ = use_forward2_next ? _437_[135:128] : 8'h00;
+  assign _202_ = use_forward1_next ? _436_[132:125] : _201_;
+  assign _203_ = _437_[153] ? 64'h0000000000000000 : wishbone_in[63:0];
+  assign _204_ = _437_[154] ? _436_[124:61] : _203_;
+  assign _205_ = r0[143] | r0[145];
+  assign _206_ = r0_valid & _205_;
+  assign _207_ = req_op == 3'h3;
+  assign _208_ = req_op == 3'h2;
+  assign _209_ = _207_ | _208_;
+  assign _210_ = ~ r0[146];
+  assign _211_ = _213_ ? 1'h1 : 1'h0;
+  assign _212_ = _210_ ? _206_ : 1'h1;
+  assign _213_ = _209_ & _210_;
+  assign _214_ = _209_ ? _212_ : _206_;
+  assign _215_ = 32'd0 == { 31'h00000000, replace_way };
+  assign _216_ = 32'd1 == { 31'h00000000, replace_way };
+  assign _217_ = _437_[155] ? 1'h0 : _437_[155];
+  assign _218_ = _437_[155] ? replace_way : _437_[313];
+  assign _219_ = ~ r0[2];
+  assign _220_ = _219_ ? r0[134:71] : 64'h0000000000000000;
+  assign _221_ = ~ r0[3];
+  assign _222_ = r0[1] & _221_;
+  assign _223_ = r0[2] | _222_;
+  assign _224_ = _223_ ? 8'hff : r0[142:135];
+  assign _225_ = req_op == 3'h4;
+  assign _226_ = req_op == 3'h5;
+  assign _227_ = _225_ | _226_;
+  assign _228_ = req_op == 3'h7;
+  assign _229_ = _227_ | _228_;
+  assign _230_ = req_op == 3'h6;
+  assign _231_ = _229_ | _230_;
+  assign _232_ = _231_ ? 1'h1 : _435_;
+  assign _233_ = _435_ ? _435_ : _232_;
+  assign _234_ = _435_ ? _436_ : { r0[146], req_same_tag, req_hit_way, _224_, _220_, ra, r0[2], req_go, req_op };
+  assign _235_ = _234_[10:8] - 3'h1;
+  assign _236_ = _234_[2:0] == 3'h6;
+  assign _237_ = _236_ ? _234_[133] : _218_;
+  assign _238_ = _234_[2:0] == 3'h3;
+  assign _239_ = _234_[2:0] == 3'h4;
+  assign _240_ = _234_[2:0] == 3'h5;
+  assign _241_ = ~ _234_[4];
+  assign _242_ = ~ _234_[135];
+  assign _243_ = _255_ ? 1'h1 : _211_;
+  assign _244_ = _242_ ? _214_ : 1'h1;
+  assign _245_ = _234_[2:0] == 3'h6;
+  assign _246_ = _251_ ? 1'h1 : 1'h0;
+  assign _247_ = _234_[2:0] == 3'h7;
+  assign _248_ = _247_ ? 1'h1 : _217_;
+  assign _249_ = _241_ ? 1'h0 : _233_;
+  assign _250_ = _241_ ? 2'h2 : 2'h1;
+  assign _251_ = _241_ & _245_;
+  assign _252_ = _241_ ? _217_ : _248_;
+  assign _253_ = _241_ ? 1'h1 : 1'h0;
+  assign _254_ = _241_ ? 3'h1 : _437_[332:330];
+  assign _255_ = _241_ & _242_;
+  assign _256_ = _241_ ? _244_ : _214_;
+  assign _257_ = _234_[2:0] == 3'h6;
+  assign _258_ = _234_[2:0] == 3'h7;
+  assign _259_ = _257_ | _258_;
+  assign _260_ = _234_[2:0] == 3'h0;
+  assign _261_ = _234_[2:0] == 3'h1;
+  assign _262_ = _234_[2:0] == 3'h2;
+  function [0:0] \18809 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18809  = b[0:0];
+      7'b?????1?:
+        \18809  = b[1:1];
+      7'b????1??:
+        \18809  = b[2:2];
+      7'b???1???:
+        \18809  = b[3:3];
+      7'b??1????:
+        \18809  = b[4:4];
+      7'b?1?????:
+        \18809  = b[5:5];
+      7'b1??????:
+        \18809  = b[6:6];
+      default:
+        \18809  = a;
+    endcase
+  endfunction
+  assign _263_ = \18809 (1'hx, { _233_, _233_, _233_, _249_, _233_, _233_, _233_ }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [1:0] \18812 ;
+    input [1:0] a;
+    input [13:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18812  = b[1:0];
+      7'b?????1?:
+        \18812  = b[3:2];
+      7'b????1??:
+        \18812  = b[5:4];
+      7'b???1???:
+        \18812  = b[7:6];
+      7'b??1????:
+        \18812  = b[9:8];
+      7'b?1?????:
+        \18812  = b[11:10];
+      7'b1??????:
+        \18812  = b[13:12];
+      default:
+        \18812  = a;
+    endcase
+  endfunction
+  assign _264_ = \18812 (2'hx, { _437_[152:151], _437_[152:151], _437_[152:151], _250_, 4'hd, _437_[152:151] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [0:0] \18814 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18814  = b[0:0];
+      7'b?????1?:
+        \18814  = b[1:1];
+      7'b????1??:
+        \18814  = b[2:2];
+      7'b???1???:
+        \18814  = b[3:3];
+      7'b??1????:
+        \18814  = b[4:4];
+      7'b?1?????:
+        \18814  = b[5:5];
+      7'b1??????:
+        \18814  = b[6:6];
+      default:
+        \18814  = a;
+    endcase
+  endfunction
+  assign _265_ = \18814 (1'hx, { 3'h0, _246_, 3'h0 }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [0:0] \18816 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18816  = b[0:0];
+      7'b?????1?:
+        \18816  = b[1:1];
+      7'b????1??:
+        \18816  = b[2:2];
+      7'b???1???:
+        \18816  = b[3:3];
+      7'b??1????:
+        \18816  = b[4:4];
+      7'b?1?????:
+        \18816  = b[5:5];
+      7'b1??????:
+        \18816  = b[6:6];
+      default:
+        \18816  = a;
+    endcase
+  endfunction
+  assign _266_ = \18816 (1'hx, { _217_, _217_, _217_, _252_, _217_, 1'h1, _217_ }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [0:0] \18818 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18818  = b[0:0];
+      7'b?????1?:
+        \18818  = b[1:1];
+      7'b????1??:
+        \18818  = b[2:2];
+      7'b???1???:
+        \18818  = b[3:3];
+      7'b??1????:
+        \18818  = b[4:4];
+      7'b?1?????:
+        \18818  = b[5:5];
+      7'b1??????:
+        \18818  = b[6:6];
+      default:
+        \18818  = a;
+    endcase
+  endfunction
+  assign _267_ = \18818 (1'hx, { 3'h0, _253_, 3'h0 }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [0:0] \18821 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18821  = b[0:0];
+      7'b?????1?:
+        \18821  = b[1:1];
+      7'b????1??:
+        \18821  = b[2:2];
+      7'b???1???:
+        \18821  = b[3:3];
+      7'b??1????:
+        \18821  = b[4:4];
+      7'b?1?????:
+        \18821  = b[5:5];
+      7'b1??????:
+        \18821  = b[6:6];
+      default:
+        \18821  = a;
+    endcase
+  endfunction
+  assign _268_ = \18821 (1'hx, { _437_[261], _437_[261], _437_[261], 3'h7, _437_[261] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [0:0] \18824 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18824  = b[0:0];
+      7'b?????1?:
+        \18824  = b[1:1];
+      7'b????1??:
+        \18824  = b[2:2];
+      7'b???1???:
+        \18824  = b[3:3];
+      7'b??1????:
+        \18824  = b[4:4];
+      7'b?1?????:
+        \18824  = b[5:5];
+      7'b1??????:
+        \18824  = b[6:6];
+      default:
+        \18824  = a;
+    endcase
+  endfunction
+  assign _269_ = \18824 (1'hx, { _437_[262], _437_[262], _437_[262], 3'h7, _437_[262] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [0:0] \18827 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18827  = b[0:0];
+      7'b?????1?:
+        \18827  = b[1:1];
+      7'b????1??:
+        \18827  = b[2:2];
+      7'b???1???:
+        \18827  = b[3:3];
+      7'b??1????:
+        \18827  = b[4:4];
+      7'b?1?????:
+        \18827  = b[5:5];
+      7'b1??????:
+        \18827  = b[6:6];
+      default:
+        \18827  = a;
+    endcase
+  endfunction
+  assign _270_ = \18827 (1'hx, { _437_[263], _437_[263], _437_[263], 3'h4, _437_[263] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [2:0] \18830 ;
+    input [2:0] a;
+    input [20:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18830  = b[2:0];
+      7'b?????1?:
+        \18830  = b[5:3];
+      7'b????1??:
+        \18830  = b[8:6];
+      7'b???1???:
+        \18830  = b[11:9];
+      7'b??1????:
+        \18830  = b[14:12];
+      7'b?1?????:
+        \18830  = b[17:15];
+      7'b1??????:
+        \18830  = b[20:18];
+      default:
+        \18830  = a;
+    endcase
+  endfunction
+  assign _271_ = \18830 (3'hx, { _437_[332:330], _437_[332:330], _437_[332:330], _254_, _437_[332:330], _437_[332:330], _437_[332:330] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [0:0] \18832 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18832  = b[0:0];
+      7'b?????1?:
+        \18832  = b[1:1];
+      7'b????1??:
+        \18832  = b[2:2];
+      7'b???1???:
+        \18832  = b[3:3];
+      7'b??1????:
+        \18832  = b[4:4];
+      7'b?1?????:
+        \18832  = b[5:5];
+      7'b1??????:
+        \18832  = b[6:6];
+      default:
+        \18832  = a;
+    endcase
+  endfunction
+  assign _272_ = \18832 (1'hx, { _211_, _211_, _211_, _243_, _211_, _211_, _211_ }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  function [0:0] \18834 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \18834  = b[0:0];
+      7'b?????1?:
+        \18834  = b[1:1];
+      7'b????1??:
+        \18834  = b[2:2];
+      7'b???1???:
+        \18834  = b[3:3];
+      7'b??1????:
+        \18834  = b[4:4];
+      7'b?1?????:
+        \18834  = b[5:5];
+      7'b1??????:
+        \18834  = b[6:6];
+      default:
+        \18834  = a;
+    endcase
+  endfunction
+  assign _273_ = \18834 (1'hx, { _214_, _214_, _214_, _256_, _214_, _214_, _214_ }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
+  assign _274_ = _437_[152:151] == 2'h0;
+  assign _275_ = ~ _437_[262];
+  assign _276_ = ~ wishbone_in[65];
+  assign _277_ = ~ _275_;
+  assign _278_ = _276_ & _277_;
+  assign _279_ = _437_[162:160] == _437_[321:319];
+  assign _280_ = _284_ ? 1'h0 : _437_[262];
+  assign _281_ = _285_ ? 1'h1 : _275_;
+  assign _282_ = _437_[162:160] + 3'h1;
+  assign _283_ = _278_ ? { _437_[188:163], _282_, _437_[159:157] } : _437_[188:157];
+  assign _284_ = _278_ & _279_;
+  assign _285_ = _278_ & _279_;
+  assign _286_ = 3'h7 - _437_[316:314];
+  assign _287_ = _435_ & _436_[134];
+  assign _288_ = _437_[153] & _436_[4];
+  assign _289_ = ~ _437_[153];
+  assign _290_ = _436_[2:0] == 3'h4;
+  assign _291_ = _289_ & _290_;
+  assign _292_ = _288_ | _291_;
+  assign _293_ = _287_ & _292_;
+  assign _294_ = { 28'h0000000, _437_[317:314] } == { 28'h0000000, _436_[11:8] };
+  assign _295_ = _293_ & _294_;
+  assign _296_ = ~ _197_;
+  assign _297_ = _318_ ? 1'h1 : _211_;
+  assign _298_ = _296_ ? _214_ : 1'h1;
+  assign _299_ = _312_ ? 1'h0 : _233_;
+  assign _300_ = _295_ ? 9'h1ff : { _202_, use_forward1_next };
+  assign _301_ = _314_ ? 1'h1 : 1'h0;
+  assign _302_ = _295_ & _296_;
+  assign _303_ = _319_ ? _298_ : _214_;
+  assign _304_ = _437_[316:314] == _437_[321:319];
+  assign _305_ = _281_ & _304_;
+  assign _306_ = 1'h1 - _437_[318];
+  assign _307_ = _311_ ? { _520_, _519_, _518_, _517_ } : cache_valids;
+  assign _308_ = _305_ ? 2'h0 : _437_[152:151];
+  assign _309_ = _315_ ? 1'h0 : _437_[261];
+  assign _310_ = _437_[316:314] + 3'h1;
+  assign _311_ = wishbone_in[64] & _305_;
+  assign _312_ = wishbone_in[64] & _295_;
+  assign _313_ = wishbone_in[64] ? { _308_, _300_ } : { _437_[152:151], _202_, use_forward1_next };
+  assign _314_ = wishbone_in[64] & _295_;
+  assign _315_ = wishbone_in[64] & _305_;
+  assign _316_ = wishbone_in[64] ? { _437_[317], _310_ } : _437_[317:314];
+  assign _317_ = wishbone_in[64] ? { _510_, _509_, _508_, _507_, _506_, _505_, _504_, _503_ } : _437_[329:322];
+  assign _318_ = wishbone_in[64] & _302_;
+  assign _319_ = wishbone_in[64] & _295_;
+  assign _320_ = _437_[152:151] == 2'h1;
+  assign _321_ = ~ _437_[262];
+  assign _322_ = _437_[333] != _437_[334];
+  assign _323_ = _437_[332:330] + 3'h1;
+  assign _324_ = _437_[332:330] - 3'h1;
+  assign _325_ = _437_[333] ? _323_ : _324_;
+  assign _326_ = _322_ ? _325_ : _437_[332:330];
+  assign _327_ = ~ wishbone_in[65];
+  assign _328_ = _234_[3] ? _234_[11:5] : _437_[163:157];
+  assign _329_ = _348_ ? _234_[132:61] : _437_[260:189];
+  assign _330_ = _326_ < 3'h7;
+  assign _331_ = _330_ & _234_[134];
+  assign _332_ = _234_[2:0] == 3'h7;
+  assign _333_ = _234_[2:0] == 3'h6;
+  assign _334_ = _332_ | _333_;
+  assign _335_ = _331_ & _334_;
+  assign _336_ = _234_[2:0] == 3'h6;
+  assign _337_ = _346_ ? 1'h1 : 1'h0;
+  assign _338_ = _345_ ? 1'h0 : _233_;
+  assign _339_ = _335_ & _336_;
+  assign _340_ = _335_ ? 1'h1 : 1'h0;
+  assign _341_ = _335_ ? 1'h1 : 1'h0;
+  assign _342_ = _350_ ? 1'h1 : 1'h0;
+  assign _343_ = _351_ ? 1'h1 : _211_;
+  assign _344_ = _335_ ? 1'h0 : 1'h1;
+  assign _345_ = _327_ & _335_;
+  assign _346_ = _327_ & _339_;
+  assign _347_ = _327_ ? { _328_, _340_ } : { _437_[163:157], 1'h0 };
+  assign _348_ = _327_ & _234_[3];
+  assign _349_ = _327_ ? _341_ : _437_[262];
+  assign _350_ = _327_ & _335_;
+  assign _351_ = _327_ & _335_;
+  assign _352_ = _327_ ? _344_ : _321_;
+  assign _353_ = _326_ == 3'h1;
+  assign _354_ = _352_ & _353_;
+  assign _355_ = _357_ ? 2'h0 : _437_[152:151];
+  assign _356_ = _354_ ? 2'h0 : { _349_, _437_[261] };
+  assign _357_ = wishbone_in[64] & _354_;
+  assign _358_ = wishbone_in[64] ? _356_ : { _349_, _437_[261] };
+  assign _359_ = wishbone_in[64] ? 1'h1 : 1'h0;
+  assign _360_ = _437_[152:151] == 2'h2;
+  assign _361_ = ~ wishbone_in[65];
+  assign _362_ = _361_ ? 1'h0 : _437_[262];
+  assign _363_ = ~ _197_;
+  assign _364_ = _370_ ? 1'h1 : _211_;
+  assign _365_ = _363_ ? _214_ : 1'h1;
+  assign _366_ = wishbone_in[64] ? 1'h0 : _233_;
+  assign _367_ = wishbone_in[64] ? 11'h1ff : { _437_[152:151], _202_, use_forward1_next };
+  assign _368_ = wishbone_in[64] ? 1'h1 : 1'h0;
+  assign _369_ = wishbone_in[64] ? 2'h0 : { _362_, _437_[261] };
+  assign _370_ = wishbone_in[64] & _363_;
+  assign _371_ = wishbone_in[64] ? _365_ : _214_;
+  assign _372_ = _437_[152:151] == 2'h3;
+  function [3:0] \19137 ;
+    input [3:0] a;
+    input [15:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19137  = b[3:0];
+      4'b??1?:
+        \19137  = b[7:4];
+      4'b?1??:
+        \19137  = b[11:8];
+      4'b1???:
+        \19137  = b[15:12];
+      default:
+        \19137  = a;
+    endcase
+  endfunction
+  assign _373_ = \19137 (4'hx, { cache_valids, cache_valids, _307_, cache_valids }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19139 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19139  = b[0:0];
+      4'b??1?:
+        \19139  = b[1:1];
+      4'b?1??:
+        \19139  = b[2:2];
+      4'b1???:
+        \19139  = b[3:3];
+      default:
+        \19139  = a;
+    endcase
+  endfunction
+  assign _374_ = \19139 (1'hx, { _366_, _338_, _299_, _263_ }, { _372_, _360_, _320_, _274_ });
+  assign _375_ = _231_ ? req_same_tag : _436_[134];
+  assign _376_ = _435_ ? _436_[134] : _375_;
+  function [0:0] \19146 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19146  = b[0:0];
+      4'b??1?:
+        \19146  = b[1:1];
+      4'b?1??:
+        \19146  = b[2:2];
+      4'b1???:
+        \19146  = b[3:3];
+      default:
+        \19146  = a;
+    endcase
+  endfunction
+  assign _377_ = \19146 (1'hx, { _376_, _376_, _376_, 1'h1 }, { _372_, _360_, _320_, _274_ });
+  assign _378_ = _437_[154] ? 1'h1 : 1'h0;
+  function [0:0] \19151 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19151  = b[0:0];
+      4'b??1?:
+        \19151  = b[1:1];
+      4'b?1??:
+        \19151  = b[2:2];
+      4'b1???:
+        \19151  = b[3:3];
+      default:
+        \19151  = a;
+    endcase
+  endfunction
+  assign _379_ = \19151 (1'hx, { _378_, _378_, wishbone_in[64], _378_ }, { _372_, _360_, _320_, _274_ });
+  function [8:0] \19156 ;
+    input [8:0] a;
+    input [35:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19156  = b[8:0];
+      4'b??1?:
+        \19156  = b[17:9];
+      4'b?1??:
+        \19156  = b[26:18];
+      4'b1???:
+        \19156  = b[35:27];
+      default:
+        \19156  = a;
+    endcase
+  endfunction
+  assign _380_ = \19156 (9'hxxx, { _367_[8:0], _202_, use_forward1_next, _313_[8:0], _202_, use_forward1_next }, { _372_, _360_, _320_, _274_ });
+  function [1:0] \19160 ;
+    input [1:0] a;
+    input [7:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19160  = b[1:0];
+      4'b??1?:
+        \19160  = b[3:2];
+      4'b?1??:
+        \19160  = b[5:4];
+      4'b1???:
+        \19160  = b[7:6];
+      default:
+        \19160  = a;
+    endcase
+  endfunction
+  assign _381_ = \19160 (2'hx, { _367_[10:9], _355_, _313_[10:9], _264_ }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19163 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19163  = b[0:0];
+      4'b??1?:
+        \19163  = b[1:1];
+      4'b?1??:
+        \19163  = b[2:2];
+      4'b1???:
+        \19163  = b[3:3];
+      default:
+        \19163  = a;
+    endcase
+  endfunction
+  assign _382_ = \19163 (1'hx, { _437_[153], _437_[153], _437_[153], _234_[4] }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19165 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19165  = b[0:0];
+      4'b??1?:
+        \19165  = b[1:1];
+      4'b?1??:
+        \19165  = b[2:2];
+      4'b1???:
+        \19165  = b[3:3];
+      default:
+        \19165  = a;
+    endcase
+  endfunction
+  assign _383_ = \19165 (1'hx, { 1'h0, _337_, 1'h0, _265_ }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19167 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19167  = b[0:0];
+      4'b??1?:
+        \19167  = b[1:1];
+      4'b?1??:
+        \19167  = b[2:2];
+      4'b1???:
+        \19167  = b[3:3];
+      default:
+        \19167  = a;
+    endcase
+  endfunction
+  assign _384_ = \19167 (1'hx, { _217_, _217_, _217_, _266_ }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19170 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19170  = b[0:0];
+      4'b??1?:
+        \19170  = b[1:1];
+      4'b?1??:
+        \19170  = b[2:2];
+      4'b1???:
+        \19170  = b[3:3];
+      default:
+        \19170  = a;
+    endcase
+  endfunction
+  assign _385_ = \19170 (1'hx, { _368_, _347_[0], _301_, _267_ }, { _372_, _360_, _320_, _274_ });
+  function [6:0] \19176 ;
+    input [6:0] a;
+    input [27:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19176  = b[6:0];
+      4'b??1?:
+        \19176  = b[13:7];
+      4'b?1??:
+        \19176  = b[20:14];
+      4'b1???:
+        \19176  = b[27:21];
+      default:
+        \19176  = a;
+    endcase
+  endfunction
+  assign _386_ = \19176 (7'hxx, { _437_[163:157], _347_[7:1], _283_[6:0], _234_[11:5] }, { _372_, _360_, _320_, _274_ });
+  function [24:0] \19181 ;
+    input [24:0] a;
+    input [99:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19181  = b[24:0];
+      4'b??1?:
+        \19181  = b[49:25];
+      4'b?1??:
+        \19181  = b[74:50];
+      4'b1???:
+        \19181  = b[99:75];
+      default:
+        \19181  = a;
+    endcase
+  endfunction
+  assign _387_ = \19181 (25'hxxxxxxx, { _437_[188:164], _437_[188:164], _283_[31:7], _234_[36:12] }, { _372_, _360_, _320_, _274_ });
+  function [63:0] \19185 ;
+    input [63:0] a;
+    input [255:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19185  = b[63:0];
+      4'b??1?:
+        \19185  = b[127:64];
+      4'b?1??:
+        \19185  = b[191:128];
+      4'b1???:
+        \19185  = b[255:192];
+      default:
+        \19185  = a;
+    endcase
+  endfunction
+  assign _388_ = \19185 (64'hxxxxxxxxxxxxxxxx, { _437_[252:189], _329_[63:0], _437_[252:189], _234_[124:61] }, { _372_, _360_, _320_, _274_ });
+  function [7:0] \19189 ;
+    input [7:0] a;
+    input [31:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19189  = b[7:0];
+      4'b??1?:
+        \19189  = b[15:8];
+      4'b?1??:
+        \19189  = b[23:16];
+      4'b1???:
+        \19189  = b[31:24];
+      default:
+        \19189  = a;
+    endcase
+  endfunction
+  assign _389_ = \19189 (8'hxx, { _437_[260:253], _329_[71:64], _437_[260:253], _234_[132:125] }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19193 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19193  = b[0:0];
+      4'b??1?:
+        \19193  = b[1:1];
+      4'b?1??:
+        \19193  = b[2:2];
+      4'b1???:
+        \19193  = b[3:3];
+      default:
+        \19193  = a;
+    endcase
+  endfunction
+  assign _390_ = \19193 (1'hx, { _369_[0], _358_[0], _309_, _268_ }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19197 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19197  = b[0:0];
+      4'b??1?:
+        \19197  = b[1:1];
+      4'b?1??:
+        \19197  = b[2:2];
+      4'b1???:
+        \19197  = b[3:3];
+      default:
+        \19197  = a;
+    endcase
+  endfunction
+  assign _391_ = \19197 (1'hx, { _369_[1], _358_[1], _280_, _269_ }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19200 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19200  = b[0:0];
+      4'b??1?:
+        \19200  = b[1:1];
+      4'b?1??:
+        \19200  = b[2:2];
+      4'b1???:
+        \19200  = b[3:3];
+      default:
+        \19200  = a;
+    endcase
+  endfunction
+  assign _392_ = \19200 (1'hx, { _437_[263], _437_[263], _437_[263], _270_ }, { _372_, _360_, _320_, _274_ });
+  function [48:0] \19203 ;
+    input [48:0] a;
+    input [195:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19203  = b[48:0];
+      4'b??1?:
+        \19203  = b[97:49];
+      4'b?1??:
+        \19203  = b[146:98];
+      4'b1???:
+        \19203  = b[195:147];
+      default:
+        \19203  = a;
+    endcase
+  endfunction
+  assign _393_ = \19203 (49'hxxxxxxxxxxxxx, { _437_[312:264], _437_[312:264], _437_[312:264], _234_[60:12] }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19205 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19205  = b[0:0];
+      4'b??1?:
+        \19205  = b[1:1];
+      4'b?1??:
+        \19205  = b[2:2];
+      4'b1???:
+        \19205  = b[3:3];
+      default:
+        \19205  = a;
+    endcase
+  endfunction
+  assign _394_ = \19205 (1'hx, { _218_, _218_, _218_, _237_ }, { _372_, _360_, _320_, _274_ });
+  function [3:0] \19208 ;
+    input [3:0] a;
+    input [15:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19208  = b[3:0];
+      4'b??1?:
+        \19208  = b[7:4];
+      4'b?1??:
+        \19208  = b[11:8];
+      4'b1???:
+        \19208  = b[15:12];
+      default:
+        \19208  = a;
+    endcase
+  endfunction
+  assign _395_ = \19208 (4'hx, { _437_[317:314], _437_[317:314], _316_, _234_[11:8] }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19211 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19211  = b[0:0];
+      4'b??1?:
+        \19211  = b[1:1];
+      4'b?1??:
+        \19211  = b[2:2];
+      4'b1???:
+        \19211  = b[3:3];
+      default:
+        \19211  = a;
+    endcase
+  endfunction
+  assign _396_ = \19211 (1'hx, { _437_[318], _437_[318], _437_[318], _234_[11] }, { _372_, _360_, _320_, _274_ });
+  function [2:0] \19214 ;
+    input [2:0] a;
+    input [11:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19214  = b[2:0];
+      4'b??1?:
+        \19214  = b[5:3];
+      4'b?1??:
+        \19214  = b[8:6];
+      4'b1???:
+        \19214  = b[11:9];
+      default:
+        \19214  = a;
+    endcase
+  endfunction
+  assign _397_ = \19214 (3'hx, { _437_[321:319], _437_[321:319], _437_[321:319], _235_ }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19218 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19218  = b[0:0];
+      4'b??1?:
+        \19218  = b[1:1];
+      4'b?1??:
+        \19218  = b[2:2];
+      4'b1???:
+        \19218  = b[3:3];
+      default:
+        \19218  = a;
+    endcase
+  endfunction
+  assign _398_ = \19218 (1'hx, { _437_[322], _437_[322], _317_[0], 1'h0 }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19222 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19222  = b[0:0];
+      4'b??1?:
+        \19222  = b[1:1];
+      4'b?1??:
+        \19222  = b[2:2];
+      4'b1???:
+        \19222  = b[3:3];
+      default:
+        \19222  = a;
+    endcase
+  endfunction
+  assign _399_ = \19222 (1'hx, { _437_[323], _437_[323], _317_[1], 1'h0 }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19226 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19226  = b[0:0];
+      4'b??1?:
+        \19226  = b[1:1];
+      4'b?1??:
+        \19226  = b[2:2];
+      4'b1???:
+        \19226  = b[3:3];
+      default:
+        \19226  = a;
+    endcase
+  endfunction
+  assign _400_ = \19226 (1'hx, { _437_[324], _437_[324], _317_[2], 1'h0 }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19230 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19230  = b[0:0];
+      4'b??1?:
+        \19230  = b[1:1];
+      4'b?1??:
+        \19230  = b[2:2];
+      4'b1???:
+        \19230  = b[3:3];
+      default:
+        \19230  = a;
+    endcase
+  endfunction
+  assign _401_ = \19230 (1'hx, { _437_[325], _437_[325], _317_[3], 1'h0 }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19234 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19234  = b[0:0];
+      4'b??1?:
+        \19234  = b[1:1];
+      4'b?1??:
+        \19234  = b[2:2];
+      4'b1???:
+        \19234  = b[3:3];
+      default:
+        \19234  = a;
+    endcase
+  endfunction
+  assign _402_ = \19234 (1'hx, { _437_[326], _437_[326], _317_[4], 1'h0 }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19238 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19238  = b[0:0];
+      4'b??1?:
+        \19238  = b[1:1];
+      4'b?1??:
+        \19238  = b[2:2];
+      4'b1???:
+        \19238  = b[3:3];
+      default:
+        \19238  = a;
+    endcase
+  endfunction
+  assign _403_ = \19238 (1'hx, { _437_[327], _437_[327], _317_[5], 1'h0 }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19242 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19242  = b[0:0];
+      4'b??1?:
+        \19242  = b[1:1];
+      4'b?1??:
+        \19242  = b[2:2];
+      4'b1???:
+        \19242  = b[3:3];
+      default:
+        \19242  = a;
+    endcase
+  endfunction
+  assign _404_ = \19242 (1'hx, { _437_[328], _437_[328], _317_[6], 1'h0 }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19246 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19246  = b[0:0];
+      4'b??1?:
+        \19246  = b[1:1];
+      4'b?1??:
+        \19246  = b[2:2];
+      4'b1???:
+        \19246  = b[3:3];
+      default:
+        \19246  = a;
+    endcase
+  endfunction
+  assign _405_ = \19246 (1'hx, { _437_[329], _437_[329], _317_[7], 1'h0 }, { _372_, _360_, _320_, _274_ });
+  function [2:0] \19249 ;
+    input [2:0] a;
+    input [11:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19249  = b[2:0];
+      4'b??1?:
+        \19249  = b[5:3];
+      4'b?1??:
+        \19249  = b[8:6];
+      4'b1???:
+        \19249  = b[11:9];
+      default:
+        \19249  = a;
+    endcase
+  endfunction
+  assign _406_ = \19249 (3'hx, { _437_[332:330], _326_, _437_[332:330], _271_ }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19251 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19251  = b[0:0];
+      4'b??1?:
+        \19251  = b[1:1];
+      4'b?1??:
+        \19251  = b[2:2];
+      4'b1???:
+        \19251  = b[3:3];
+      default:
+        \19251  = a;
+    endcase
+  endfunction
+  assign _407_ = \19251 (1'hx, { 1'h0, _342_, 2'h0 }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19253 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19253  = b[0:0];
+      4'b??1?:
+        \19253  = b[1:1];
+      4'b?1??:
+        \19253  = b[2:2];
+      4'b1???:
+        \19253  = b[3:3];
+      default:
+        \19253  = a;
+    endcase
+  endfunction
+  assign _408_ = \19253 (1'hx, { 1'h0, _359_, 2'h0 }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19255 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19255  = b[0:0];
+      4'b??1?:
+        \19255  = b[1:1];
+      4'b?1??:
+        \19255  = b[2:2];
+      4'b1???:
+        \19255  = b[3:3];
+      default:
+        \19255  = a;
+    endcase
+  endfunction
+  assign _409_ = \19255 (1'hx, { _364_, _343_, _297_, _272_ }, { _372_, _360_, _320_, _274_ });
+  function [0:0] \19257 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \19257  = b[0:0];
+      4'b??1?:
+        \19257  = b[1:1];
+      4'b?1??:
+        \19257  = b[2:2];
+      4'b1???:
+        \19257  = b[3:3];
+      default:
+        \19257  = a;
+    endcase
+  endfunction
+  assign _410_ = \19257 (1'hx, { _371_, _214_, _303_, _273_ }, { _372_, _360_, _320_, _274_ });
+  assign _411_ = _231_ ? r0[146] : _436_[135];
+  assign _412_ = _435_ ? _436_[135] : _411_;
+  assign _413_ = _231_ ? { req_hit_way, _224_, _220_, ra, r0[2], req_go, req_op } : _436_[133:0];
+  assign _414_ = _435_ ? _436_[133:0] : _413_;
+  assign _415_ = rst ? 4'h0 : _373_;
+  assign _416_ = rst ? 1'h0 : _374_;
+  assign _417_ = rst ? _436_ : { _412_, _377_, _414_ };
+  assign _418_ = _437_[154] ? 1'h1 : 1'h0;
+  assign _419_ = rst ? _418_ : _379_;
+  assign _420_ = rst ? { _202_, use_forward1_next } : _380_;
+  assign _421_ = rst ? 2'h0 : _381_;
+  assign _422_ = rst ? _437_[155:153] : { _384_, _383_, _382_ };
+  assign _423_ = rst ? 33'h000000000 : { _387_, _386_, _385_ };
+  assign _424_ = rst ? _437_[260:189] : { _389_, _388_ };
+  assign _425_ = rst ? 2'h0 : { _391_, _390_ };
+  assign _426_ = rst ? _437_[334:263] : { _408_, _407_, _406_, _405_, _404_, _403_, _402_, _401_, _400_, _399_, _398_, _397_, _396_, _395_, _394_, _393_, _392_ };
+  assign _427_ = rst ? 1'h0 : _409_;
+  assign _428_ = rst ? 1'h0 : _410_;
+  assign _429_ = _437_[154] ? { _436_[11:8], _436_[133] } : { _437_[317:314], replace_way };
+  assign _430_ = _437_[154] ? _436_[132:125] : 8'hff;
+  assign _431_ = ~ rst;
+  assign _432_ = _431_ & _437_[155];
+  assign _433_ = _432_ & _216_;
+  assign _434_ = _432_ & _215_;
+  always @(posedge clk)
+    cache_valids <= _415_;
+  always @(posedge clk)
+    _435_ <= _416_;
+  always @(posedge clk)
+    _436_ <= _417_;
+  always @(posedge clk)
+    _437_ <= { _427_, _426_, _425_, _424_, _423_, _422_, _421_, _420_, _429_, _419_, _430_, _437_[63:0], _204_ };
+  always @(posedge clk)
+    _438_ <= _428_;
+  assign _445_ = _013_ ? dtlb_valids[3:2] : dtlb_valids[1:0];
+  assign _446_ = tlb_hit_way ? tlb_pte_way[127:64] : tlb_pte_way[63:0];
+  assign _447_ = ~ _030_;
+  assign _448_ = ~ tlb_hit_way;
+  assign _449_ = _447_ & _448_;
+  assign _450_ = _447_ & tlb_hit_way;
+  assign _451_ = _030_ & _448_;
+  assign _452_ = _030_ & tlb_hit_way;
+  assign _453_ = _449_ ? 1'h0 : dtlb_valids[0];
+  assign _454_ = _450_ ? 1'h0 : dtlb_valids[1];
+  assign _455_ = _451_ ? 1'h0 : dtlb_valids[2];
+  assign _456_ = _452_ ? 1'h0 : dtlb_valids[3];
+  assign _457_ = _032_ ? \maybe_tlb_plrus.tlb_plrus:0.tlb_plru_out  : \maybe_tlb_plrus.tlb_plrus:1.tlb_plru_out ;
+  assign _458_ = ~ _033_;
+  assign _459_ = _458_ ? r0[70:20] : tlb_tag_way[50:0];
+  assign _460_ = _033_ ? r0[70:20] : tlb_tag_way[101:51];
+  assign _461_ = ~ _033_;
+  assign _462_ = _461_ ? r0[134:71] : tlb_pte_way[63:0];
+  assign _463_ = _033_ ? r0[134:71] : tlb_pte_way[127:64];
+  assign _464_ = ~ _034_;
+  assign _465_ = ~ _033_;
+  assign _466_ = _464_ & _465_;
+  assign _467_ = _464_ & _033_;
+  assign _468_ = _034_ & _465_;
+  assign _469_ = _034_ & _033_;
+  assign _470_ = _466_ ? 1'h1 : dtlb_valids[0];
+  assign _471_ = _467_ ? 1'h1 : dtlb_valids[1];
+  assign _472_ = _468_ ? 1'h1 : dtlb_valids[2];
+  assign _473_ = _469_ ? 1'h1 : dtlb_valids[3];
+  assign _474_ = _054_ ? cache_valids[2] : cache_valids[0];
+  assign _475_ = _061_ ? cache_valids[3] : cache_valids[1];
+  assign _476_ = _070_ ? cache_valids[2] : cache_valids[0];
+  assign _477_ = _077_ ? cache_valids[3] : cache_valids[1];
+  assign _478_ = tlb_hit_way ? _082_ : _066_;
+  assign _479_ = _086_ ? _067_ : _083_;
+  assign _480_ = tlb_hit_way ? _085_ : _069_;
+  assign _481_ = _090_ ? cache_valids[2] : cache_valids[0];
+  assign _482_ = _095_ ? cache_valids[3] : cache_valids[1];
+  assign _485_ = _110_[2] ? _484_ : _483_;
+  assign _486_ = _119_ ? \maybe_plrus.plrus:0.plru_out  : \maybe_plrus.plrus:1.plru_out ;
+  assign _487_ = _158_ ? \rams:0.dout  : \rams:1.dout ;
+  assign _488_ = ~ _286_[2];
+  assign _489_ = ~ _286_[1];
+  assign _490_ = _488_ & _489_;
+  assign _491_ = _488_ & _286_[1];
+  assign _492_ = _286_[2] & _489_;
+  assign _493_ = _286_[2] & _286_[1];
+  assign _494_ = ~ _286_[0];
+  assign _495_ = _490_ & _494_;
+  assign _496_ = _490_ & _286_[0];
+  assign _497_ = _491_ & _494_;
+  assign _498_ = _491_ & _286_[0];
+  assign _499_ = _492_ & _494_;
+  assign _500_ = _492_ & _286_[0];
+  assign _501_ = _493_ & _494_;
+  assign _502_ = _493_ & _286_[0];
+  assign _503_ = _495_ ? 1'h1 : _437_[322];
+  assign _504_ = _496_ ? 1'h1 : _437_[323];
+  assign _505_ = _497_ ? 1'h1 : _437_[324];
+  assign _506_ = _498_ ? 1'h1 : _437_[325];
+  assign _507_ = _499_ ? 1'h1 : _437_[326];
+  assign _508_ = _500_ ? 1'h1 : _437_[327];
+  assign _509_ = _501_ ? 1'h1 : _437_[328];
+  assign _510_ = _502_ ? 1'h1 : _437_[329];
+  assign _511_ = ~ _306_;
+  assign _512_ = ~ _437_[313];
+  assign _513_ = _511_ & _512_;
+  assign _514_ = _511_ & _437_[313];
+  assign _515_ = _306_ & _512_;
+  assign _516_ = _306_ & _437_[313];
+  assign _517_ = _513_ ? 1'h1 : cache_valids[0];
+  assign _518_ = _514_ ? 1'h1 : cache_valids[1];
+  assign _519_ = _515_ ? 1'h1 : cache_valids[2];
+  assign _520_ = _516_ ? 1'h1 : cache_valids[3];
+  plru_2 \maybe_plrus.plrus:0.plru  (
+    .acc(_198_[0]),
+    .acc_en(\maybe_plrus.plrus:0.plru_acc_en ),
+    .clk(clk),
+    .lru(\maybe_plrus.plrus:0.plru_out ),
+    .rst(rst)
+  );
+  plru_2 \maybe_plrus.plrus:1.plru  (
+    .acc(_198_[0]),
+    .acc_en(\maybe_plrus.plrus:1.plru_acc_en ),
+    .clk(clk),
+    .lru(\maybe_plrus.plrus:1.plru_out ),
+    .rst(rst)
+  );
+  plru_2 \maybe_tlb_plrus.tlb_plrus:0.tlb_plru  (
+    .acc(_198_[5]),
+    .acc_en(\maybe_tlb_plrus.tlb_plrus:0.tlb_plru_acc_en ),
+    .clk(clk),
+    .lru(\maybe_tlb_plrus.tlb_plrus:0.tlb_plru_out ),
+    .rst(rst)
+  );
+  plru_2 \maybe_tlb_plrus.tlb_plrus:1.tlb_plru  (
+    .acc(_198_[5]),
+    .acc_en(\maybe_tlb_plrus.tlb_plrus:1.tlb_plru_acc_en ),
+    .clk(clk),
+    .lru(\maybe_tlb_plrus.tlb_plrus:1.tlb_plru_out ),
+    .rst(rst)
+  );
+  cache_ram_4_64_3f29546453678b855931c174a97d6c0894b8f546 \rams:0.way  (
+    .clk(clk),
+    .rd_addr(early_req_row),
+    .rd_data(\rams:0.dout ),
+    .rd_en(1'h1),
+    .wr_addr(\rams:0.wr_addr ),
+    .wr_data(\rams:0.wr_data ),
+    .wr_sel(\rams:0.wr_sel_m )
+  );
+  cache_ram_4_64_3f29546453678b855931c174a97d6c0894b8f546 \rams:1.way  (
+    .clk(clk),
+    .rd_addr(early_req_row),
+    .rd_data(\rams:1.dout ),
+    .rd_en(1'h1),
+    .wr_addr(\rams:1.wr_addr ),
+    .wr_data(\rams:1.wr_data ),
+    .wr_sel(\rams:1.wr_sel_m )
+  );
+  assign d_out = { _200_[1], _199_, _167_, _166_, _165_, _164_, _163_, _162_, _161_, _160_, _159_, _437_[335] };
+  assign m_out = { _166_, _165_, _164_, _163_, _162_, _161_, _160_, _159_, _200_[0], _438_, 1'h0 };
+  assign stall_out = r0_stall;
+  assign wishbone_out = _437_[263:157];
+endmodule
diff --git a/verilog/rtl/icache.v b/verilog/rtl/icache.v
new file mode 100644
index 0000000..bef804f
--- /dev/null
+++ b/verilog/rtl/icache.v
@@ -0,0 +1,1027 @@
+/* Generated by Yosys 0.9+3743 (git sha1 UNKNOWN, clang 7.0.1-8+deb10u2 -fPIC -Os) */
+
+module plru_1(clk, rst, acc, acc_en, lru);
+  wire _0_;
+  wire _1_;
+  wire _2_;
+  wire _3_;
+  input acc;
+  input acc_en;
+  input clk;
+  output lru;
+  input rst;
+  reg [1:0] tree;
+  assign _0_ = ~ acc;
+  assign _1_ = acc_en ? _0_ : tree[1];
+  assign _2_ = rst ? 1'h0 : tree[0];
+  assign _3_ = rst ? 1'h0 : _1_;
+  always @(posedge clk)
+    tree <= { _3_, _2_ };
+  assign lru = tree[1];
+endmodule
+
+module cache_ram_4_64_1489f923c4dca729178b3e3233458550d8dddf29(clk, rd_en, rd_addr, wr_sel, wr_addr, wr_data, rd_data);
+  wire [127:0] _00_;
+  wire [7:0] _01_;
+  wire [127:0] _02_;
+  wire [7:0] _03_;
+  wire [127:0] _04_;
+  wire [7:0] _05_;
+  wire [127:0] _06_;
+  wire [7:0] _07_;
+  wire [127:0] _08_;
+  wire [7:0] _09_;
+  wire [127:0] _10_;
+  wire [7:0] _11_;
+  wire [127:0] _12_;
+  wire [7:0] _13_;
+  wire [127:0] _14_;
+  wire [7:0] _15_;
+  input clk;
+  input [3:0] rd_addr;
+  output [63:0] rd_data;
+  input rd_en;
+  input [3:0] wr_addr;
+  input [63:0] wr_data;
+  input [7:0] wr_sel;
+  reg [7:0] \$mem$\20409  [15:0];
+  reg [7:0] \$mem$\20410  [15:0];
+  reg [7:0] \$mem$\20411  [15:0];
+  reg [7:0] \$mem$\20412  [15:0];
+  reg [7:0] \$mem$\20413  [15:0];
+  reg [7:0] \$mem$\20414  [15:0];
+  reg [7:0] \$mem$\20415  [15:0];
+  reg [7:0] \$mem$\20416  [15:0];
+  (* ram_style = "block" *)
+  reg [7:0] \20409  [15:0];
+  reg [7:0] _16_;
+  always @(posedge clk) begin
+    if (rd_en) _16_ <= \20409 [rd_addr];
+    if (wr_sel[0]) \20409 [wr_addr] <= wr_data[7:0];
+  end
+  assign _01_ = _16_;
+  (* ram_style = "block" *)
+  reg [7:0] \20410  [15:0];
+  reg [7:0] _17_;
+  always @(posedge clk) begin
+    if (rd_en) _17_ <= \20410 [rd_addr];
+    if (wr_sel[1]) \20410 [wr_addr] <= wr_data[15:8];
+  end
+  assign _03_ = _17_;
+  (* ram_style = "block" *)
+  reg [7:0] \20411  [15:0];
+  reg [7:0] _18_;
+  always @(posedge clk) begin
+    if (rd_en) _18_ <= \20411 [rd_addr];
+    if (wr_sel[2]) \20411 [wr_addr] <= wr_data[23:16];
+  end
+  assign _05_ = _18_;
+  (* ram_style = "block" *)
+  reg [7:0] \20412  [15:0];
+  reg [7:0] _19_;
+  always @(posedge clk) begin
+    if (rd_en) _19_ <= \20412 [rd_addr];
+    if (wr_sel[3]) \20412 [wr_addr] <= wr_data[31:24];
+  end
+  assign _07_ = _19_;
+  (* ram_style = "block" *)
+  reg [7:0] \20413  [15:0];
+  reg [7:0] _20_;
+  always @(posedge clk) begin
+    if (rd_en) _20_ <= \20413 [rd_addr];
+    if (wr_sel[4]) \20413 [wr_addr] <= wr_data[39:32];
+  end
+  assign _09_ = _20_;
+  (* ram_style = "block" *)
+  reg [7:0] \20414  [15:0];
+  reg [7:0] _21_;
+  always @(posedge clk) begin
+    if (rd_en) _21_ <= \20414 [rd_addr];
+    if (wr_sel[5]) \20414 [wr_addr] <= wr_data[47:40];
+  end
+  assign _11_ = _21_;
+  (* ram_style = "block" *)
+  reg [7:0] \20415  [15:0];
+  reg [7:0] _22_;
+  always @(posedge clk) begin
+    if (rd_en) _22_ <= \20415 [rd_addr];
+    if (wr_sel[6]) \20415 [wr_addr] <= wr_data[55:48];
+  end
+  assign _13_ = _22_;
+  (* ram_style = "block" *)
+  reg [7:0] \20416  [15:0];
+  reg [7:0] _23_;
+  always @(posedge clk) begin
+    if (rd_en) _23_ <= \20416 [rd_addr];
+    if (wr_sel[7]) \20416 [wr_addr] <= wr_data[63:56];
+  end
+  assign _15_ = _23_;
+  assign rd_data = { _15_, _13_, _11_, _09_, _07_, _05_, _03_, _01_ };
+endmodule
+
+module icache(
+`ifdef USE_POWER_PINS
+	vccd1, vssd1,
+`endif
+	clk, rst, i_in, m_in, stall_in, flush_in, inval_in, wishbone_in, i_out, stall_out, wishbone_out);
+`ifdef USE_POWER_PINS
+  inout vccd1;
+  inout vssd1;
+`endif
+
+  wire _000_;
+  wire _001_;
+  wire _002_;
+  wire _003_;
+  wire _004_;
+  wire _005_;
+  wire _006_;
+  wire _007_;
+  wire _008_;
+  wire _009_;
+  wire [1:0] _010_;
+  wire _011_;
+  wire [1:0] _012_;
+  wire _013_;
+  wire _014_;
+  wire _015_;
+  wire [1:0] _016_;
+  wire [1:0] _017_;
+  wire _018_;
+  wire _019_;
+  wire [1:0] _020_;
+  wire [1:0] _021_;
+  wire [3:0] _022_;
+  wire [3:0] _023_;
+  wire [3:0] _024_;
+  wire _025_;
+  wire _026_;
+  wire _027_;
+  wire _028_;
+  wire _029_;
+  wire _030_;
+  wire _031_;
+  wire _032_;
+  wire _033_;
+  wire _034_;
+  wire _035_;
+  wire _036_;
+  wire _037_;
+  wire _038_;
+  wire _039_;
+  wire _040_;
+  wire [2:0] _041_;
+  wire _042_;
+  wire _043_;
+  wire _044_;
+  wire _045_;
+  wire _046_;
+  wire _047_;
+  wire _048_;
+  wire _049_;
+  wire _050_;
+  wire _051_;
+  wire _052_;
+  wire _053_;
+  wire _054_;
+  wire [2:0] _055_;
+  wire _056_;
+  wire _057_;
+  wire _058_;
+  wire _059_;
+  wire _060_;
+  wire _061_;
+  wire _062_;
+  wire _063_;
+  wire _064_;
+  wire _065_;
+  wire _066_;
+  wire _067_;
+  wire _068_;
+  wire _069_;
+  wire _070_;
+  wire _071_;
+  wire _072_;
+  wire _073_;
+  wire _074_;
+  wire _075_;
+  wire _076_;
+  wire _077_;
+  wire _078_;
+  wire _079_;
+  wire _080_;
+  wire _081_;
+  wire [64:0] _082_;
+  reg [66:0] _083_;
+  wire [3:0] _084_;
+  wire _085_;
+  wire [2:0] _086_;
+  wire [33:0] _087_;
+  wire [1:0] _088_;
+  wire [58:0] _089_;
+  wire _090_;
+  wire _091_;
+  wire _092_;
+  wire _093_;
+  wire _094_;
+  wire _095_;
+  wire [199:0] _096_;
+  wire _097_;
+  wire _098_;
+  wire _099_;
+  wire [199:0] _100_;
+  wire [199:0] _101_;
+  wire [3:0] _102_;
+  wire [1:0] _103_;
+  wire _104_;
+  wire _105_;
+  wire _106_;
+  wire _107_;
+  wire _108_;
+  wire _109_;
+  wire _110_;
+  wire _111_;
+  wire [2:0] _112_;
+  wire [31:0] _113_;
+  wire _114_;
+  wire _115_;
+  wire [2:0] _116_;
+  wire _117_;
+  wire _118_;
+  wire _119_;
+  wire _120_;
+  wire _121_;
+  wire [3:0] _122_;
+  wire [1:0] _123_;
+  wire _124_;
+  wire [2:0] _125_;
+  wire _126_;
+  wire _127_;
+  wire _128_;
+  wire [3:0] _129_;
+  wire [7:0] _130_;
+  wire _131_;
+  wire _132_;
+  wire _133_;
+  wire [199:0] _134_;
+  wire [3:0] _135_;
+  wire [1:0] _136_;
+  wire [31:0] _137_;
+  wire _138_;
+  wire _139_;
+  wire _140_;
+  wire _141_;
+  wire [3:0] _142_;
+  wire [53:0] _143_;
+  wire _144_;
+  wire _145_;
+  wire _146_;
+  wire _147_;
+  wire _148_;
+  wire _149_;
+  wire _150_;
+  wire _151_;
+  wire [199:0] _152_;
+  wire [3:0] _153_;
+  wire [33:0] _154_;
+  wire [71:0] _155_;
+  wire [1:0] _156_;
+  wire _157_;
+  wire [67:0] _158_;
+  wire _159_;
+  wire _160_;
+  wire _161_;
+  wire _162_;
+  wire _163_;
+  wire _164_;
+  wire _165_;
+  wire _166_;
+  reg [177:0] _167_;
+  wire [255:0] _168_;
+  wire [63:0] _169_;
+  wire [199:0] _170_;
+  wire [49:0] _171_;
+  wire _172_;
+  wire _173_;
+  wire _174_;
+  wire _175_;
+  wire _176_;
+  wire _177_;
+  wire _178_;
+  wire _179_;
+  wire _180_;
+  wire _181_;
+  wire _182_;
+  wire _183_;
+  wire _184_;
+  wire _185_;
+  wire _186_;
+  wire _187_;
+  wire _188_;
+  wire _189_;
+  wire _190_;
+  wire _191_;
+  wire _192_;
+  wire _193_;
+  wire _194_;
+  wire _195_;
+  wire _196_;
+  wire [99:0] _197_;
+  wire _198_;
+  wire _199_;
+  wire _200_;
+  wire _201_;
+  wire [99:0] _202_;
+  wire _203_;
+  wire [63:0] _204_;
+  wire [31:0] _205_;
+  wire _206_;
+  wire _207_;
+  wire _208_;
+  wire _209_;
+  wire _210_;
+  wire _211_;
+  wire _212_;
+  wire _213_;
+  wire _214_;
+  wire _215_;
+  wire [99:0] _216_;
+  wire _217_;
+  wire [99:0] _218_;
+  wire [99:0] _219_;
+  wire [99:0] _220_;
+  wire _221_;
+  wire [99:0] _222_;
+  wire [99:0] _223_;
+  wire _224_;
+  wire _225_;
+  wire _226_;
+  wire _227_;
+  wire _228_;
+  wire _229_;
+  wire _230_;
+  wire _231_;
+  wire _232_;
+  wire _233_;
+  wire _234_;
+  wire _235_;
+  wire _236_;
+  wire _237_;
+  wire _238_;
+  wire _239_;
+  wire _240_;
+  wire _241_;
+  wire _242_;
+  wire _243_;
+  wire _244_;
+  wire _245_;
+  wire _246_;
+  wire _247_;
+  wire _248_;
+  wire _249_;
+  wire _250_;
+  wire _251_;
+  wire _252_;
+  wire _253_;
+  wire _254_;
+  wire _255_;
+  wire _256_;
+  wire _257_;
+  wire _258_;
+  wire _259_;
+  wire _260_;
+  wire _261_;
+  wire _262_;
+  wire _263_;
+  wire _264_;
+  wire _265_;
+  wire _266_;
+  wire access_ok;
+  reg [199:0] cache_tags;
+  reg [3:0] cache_valids;
+  input clk;
+  wire eaa_priv;
+  input flush_in;
+  input [69:0] i_in;
+  output [98:0] i_out;
+  input inval_in;
+  reg [3:0] itlb_valids;
+  input [130:0] m_in;
+  wire \maybe_plrus.plrus:0.plru_acc_en ;
+  wire \maybe_plrus.plrus:0.plru_out ;
+  wire \maybe_plrus.plrus:1.plru_acc_en ;
+  wire \maybe_plrus.plrus:1.plru_out ;
+  wire priv_fault;
+  wire ra_valid;
+  wire \rams:0.do_read ;
+  wire \rams:0.do_write ;
+  wire [63:0] \rams:0.dout ;
+  wire [63:0] \rams:0.wr_dat ;
+  wire \rams:1.do_read ;
+  wire \rams:1.do_write ;
+  wire [63:0] \rams:1.dout ;
+  wire [63:0] \rams:1.wr_dat ;
+  wire [55:0] real_addr;
+  wire replace_way;
+  wire req_hit_way;
+  wire req_is_hit;
+  wire req_is_miss;
+  input rst;
+  input stall_in;
+  output stall_out;
+  wire [1:0] tlb_req_index;
+  wire use_previous;
+  input [65:0] wishbone_in;
+  output [106:0] wishbone_out;
+  reg [63:0] \$mem$\8207  [3:0];
+  reg [49:0] \$mem$\8210  [3:0];
+  (* ram_style = "distributed" *)
+  reg [63:0] \8207  [3:0];
+  always @(posedge clk) begin
+    if (_032_) \8207 [_017_] <= m_in[130:67];
+  end
+  assign _169_ = \8207 [tlb_req_index];
+  (* ram_style = "distributed" *)
+  reg [49:0] \8210  [3:0];
+  always @(posedge clk) begin
+    if (_028_) \8210 [_017_] <= m_in[66:17];
+  end
+  assign _171_ = \8210 [tlb_req_index];
+  assign _257_ = _012_[0] ? itlb_valids[1] : itlb_valids[0];
+  assign _258_ = _041_[0] ? _167_[170] : _167_[169];
+  assign _259_ = _041_[0] ? _167_[174] : _167_[173];
+  assign _260_ = _055_[0] ? _167_[170] : _167_[169];
+  assign _261_ = _055_[0] ? _167_[174] : _167_[173];
+  assign _262_ = _012_[0] ? itlb_valids[3] : itlb_valids[2];
+  assign _263_ = _041_[0] ? _167_[172] : _167_[171];
+  assign _264_ = _041_[0] ? _167_[176] : _167_[175];
+  assign _265_ = _055_[0] ? _167_[172] : _167_[171];
+  assign _266_ = _055_[0] ? _167_[176] : _167_[175];
+  assign _172_ = _012_[1] ? _262_ : _257_;
+  assign _194_ = _041_[1] ? _263_ : _258_;
+  assign _195_ = _041_[1] ? _264_ : _259_;
+  assign _199_ = _055_[1] ? _265_ : _260_;
+  assign _200_ = _055_[1] ? _266_ : _261_;
+  assign _000_ = ~ _167_[164];
+  assign \rams:0.wr_dat  = _000_ ? wishbone_in[63:0] : { wishbone_in[39:32], wishbone_in[47:40], wishbone_in[55:48], wishbone_in[63:56], wishbone_in[7:0], wishbone_in[15:8], wishbone_in[23:16], wishbone_in[31:24] };
+  assign _001_ = stall_in | use_previous;
+  assign \rams:0.do_read  = ~ _001_;
+  assign _002_ = { 31'h00000000, replace_way } == 32'd0;
+  assign _003_ = wishbone_in[64] & _002_;
+  assign \rams:0.do_write  = _003_ ? 1'h1 : 1'h0;
+  assign _004_ = ~ _167_[164];
+  assign \rams:1.wr_dat  = _004_ ? wishbone_in[63:0] : { wishbone_in[39:32], wishbone_in[47:40], wishbone_in[55:48], wishbone_in[63:56], wishbone_in[7:0], wishbone_in[15:8], wishbone_in[23:16], wishbone_in[31:24] };
+  assign _005_ = stall_in | use_previous;
+  assign \rams:1.do_read  = ~ _005_;
+  assign _006_ = { 31'h00000000, replace_way } == 32'd1;
+  assign _007_ = wishbone_in[64] & _006_;
+  assign \rams:1.do_write  = _007_ ? 1'h1 : 1'h0;
+  assign _008_ = { 31'h00000000, _083_[7] } == 32'd0;
+  assign \maybe_plrus.plrus:0.plru_acc_en  = _008_ ? _083_[66] : 1'h0;
+  assign _009_ = { 31'h00000000, _083_[7] } == 32'd1;
+  assign \maybe_plrus.plrus:1.plru_acc_en  = _009_ ? _083_[66] : 1'h0;
+  assign _010_ = i_in[19:18] ^ i_in[21:20];
+  assign tlb_req_index = _010_ ^ i_in[23:22];
+  assign _011_ = _171_ == i_in[69:20];
+  assign _012_ = 2'h3 - tlb_req_index;
+  assign _013_ = _011_ ? _172_ : 1'h0;
+  assign eaa_priv = i_in[1] ? _169_[3] : 1'h1;
+  assign real_addr = i_in[1] ? { _169_[55:12], i_in[17:6] } : i_in[61:6];
+  assign ra_valid = i_in[1] ? _013_ : 1'h1;
+  assign _014_ = ~ i_in[2];
+  assign priv_fault = eaa_priv & _014_;
+  assign _015_ = ~ priv_fault;
+  assign access_ok = ra_valid & _015_;
+  assign _016_ = m_in[16:15] ^ m_in[18:17];
+  assign _017_ = _016_ ^ m_in[20:19];
+  assign _018_ = m_in[1] & m_in[2];
+  assign _019_ = rst | _018_;
+  assign _020_ = 2'h3 - _017_;
+  assign _021_ = 2'h3 - _017_;
+  assign _022_ = m_in[0] ? { _192_, _191_, _190_, _189_ } : itlb_valids;
+  assign _023_ = m_in[1] ? { _182_, _181_, _180_, _179_ } : _022_;
+  assign _024_ = _019_ ? 4'h0 : _023_;
+  always @(posedge clk)
+    itlb_valids <= _024_;
+  assign _025_ = ~ _019_;
+  assign _026_ = ~ m_in[1];
+  assign _027_ = _025_ & _026_;
+  assign _028_ = _027_ & m_in[0];
+  assign _029_ = ~ _019_;
+  assign _030_ = ~ m_in[1];
+  assign _031_ = _029_ & _030_;
+  assign _032_ = _031_ & m_in[0];
+  assign _033_ = i_in[8] != 1'h0;
+  assign _034_ = i_in[5] & _083_[66];
+  assign use_previous = _033_ ? _034_ : 1'h0;
+  assign _035_ = 1'h1 - i_in[12];
+  assign _036_ = _167_[1:0] == 2'h2;
+  assign _037_ = { 31'h00000000, i_in[12] } == { 31'h00000000, _167_[110] };
+  assign _038_ = _036_ & _037_;
+  assign _039_ = 32'd0 == { 31'h00000000, _167_[109] };
+  assign _040_ = _038_ & _039_;
+  assign _041_ = 3'h7 - i_in[11:9];
+  assign _042_ = _040_ & _196_;
+  assign _043_ = _193_ | _042_;
+  assign _044_ = i_in[0] & _043_;
+  assign _045_ = 1'h1 - i_in[12];
+  assign _046_ = _197_[49:0] == { i_in[3], real_addr[55:7] };
+  assign _047_ = _046_ ? 1'h1 : 1'h0;
+  assign _048_ = _044_ ? _047_ : 1'h0;
+  assign _049_ = 1'h1 - i_in[12];
+  assign _050_ = _167_[1:0] == 2'h2;
+  assign _051_ = { 31'h00000000, i_in[12] } == { 31'h00000000, _167_[110] };
+  assign _052_ = _050_ & _051_;
+  assign _053_ = 32'd1 == { 31'h00000000, _167_[109] };
+  assign _054_ = _052_ & _053_;
+  assign _055_ = 3'h7 - i_in[11:9];
+  assign _056_ = _054_ & _201_;
+  assign _057_ = _198_ | _056_;
+  assign _058_ = i_in[0] & _057_;
+  assign _059_ = 1'h1 - i_in[12];
+  assign _060_ = _202_[99:50] == { i_in[3], real_addr[55:7] };
+  assign _061_ = _063_ ? 1'h1 : _048_;
+  assign _062_ = _060_ ? 1'h1 : 1'h0;
+  assign _063_ = _058_ & _060_;
+  assign req_hit_way = _058_ ? _062_ : 1'h0;
+  assign _064_ = i_in[0] & access_ok;
+  assign _065_ = ~ flush_in;
+  assign _066_ = _064_ & _065_;
+  assign _067_ = ~ rst;
+  assign _068_ = _066_ & _067_;
+  assign _069_ = ~ _061_;
+  assign req_is_hit = _068_ ? _061_ : 1'h0;
+  assign req_is_miss = _068_ ? _069_ : 1'h0;
+  assign _070_ = _167_[1:0] == 2'h1;
+  assign _071_ = 1'h1 - _167_[110];
+  assign replace_way = _070_ ? _203_ : _167_[109];
+  assign _072_ = 1'h1 - _083_[0];
+  assign _073_ = _061_ & access_ok;
+  assign _074_ = ~ _073_;
+  assign _075_ = stall_in | use_previous;
+  assign _076_ = rst | flush_in;
+  assign _077_ = _076_ ? 1'h0 : _083_[66];
+  assign _078_ = req_is_hit ? req_hit_way : _083_[0];
+  assign _079_ = _075_ ? _083_[0] : _078_;
+  assign _080_ = _075_ ? _077_ : req_is_hit;
+  assign _081_ = ~ stall_in;
+  assign _082_ = _081_ ? { i_in[4], i_in[69:6] } : _083_[65:1];
+  always @(posedge clk)
+    _083_ <= { _080_, _082_, _079_ };
+  assign _084_ = inval_in ? 4'h0 : cache_valids;
+  assign _085_ = inval_in ? 1'h0 : _167_[165];
+  assign _086_ = real_addr[5:3] - 3'h1;
+  assign _087_ = req_is_miss ? { real_addr[31:3], 5'h01 } : _167_[33:0];
+  assign _088_ = req_is_miss ? 2'h3 : _167_[107:106];
+  assign _089_ = req_is_miss ? { _086_, 1'h1, i_in[3], real_addr[55:3], i_in[12] } : { _167_[168:166], _085_, _167_[164:110] };
+  assign _090_ = _167_[1:0] == 2'h0;
+  assign _091_ = _167_[1:0] == 2'h1;
+  assign _092_ = 1'h1 - i_in[12];
+  assign _093_ = 32'd0 == { 31'h00000000, replace_way };
+  assign _094_ = 1'h1 - _167_[110];
+  assign _095_ = 1'h1 - _167_[110];
+  assign _096_ = _093_ ? { _219_, _218_ } : cache_tags;
+  assign _097_ = 32'd1 == { 31'h00000000, replace_way };
+  assign _098_ = 1'h1 - _167_[110];
+  assign _099_ = 1'h1 - _167_[110];
+  assign _100_ = _097_ ? { _223_, _222_ } : _096_;
+  assign _101_ = _091_ ? _100_ : cache_tags;
+  assign _102_ = _091_ ? { _215_, _214_, _213_, _212_ } : _084_;
+  assign _103_ = _091_ ? 2'h2 : _167_[1:0];
+  assign _104_ = _091_ ? replace_way : _167_[109];
+  assign _105_ = ~ _167_[107];
+  assign _106_ = ~ wishbone_in[65];
+  assign _107_ = ~ _105_;
+  assign _108_ = _106_ & _107_;
+  assign _109_ = _167_[7:5] == _167_[168:166];
+  assign _110_ = _114_ ? 1'h0 : _167_[107];
+  assign _111_ = _115_ ? 1'h1 : _105_;
+  assign _112_ = _167_[7:5] + 3'h1;
+  assign _113_ = _108_ ? { _167_[33:8], _112_, _167_[4:2] } : _167_[33:2];
+  assign _114_ = _108_ & _109_;
+  assign _115_ = _108_ & _109_;
+  assign _116_ = 3'h7 - _167_[113:111];
+  assign _117_ = _167_[113:111] == _167_[168:166];
+  assign _118_ = _111_ & _117_;
+  assign _119_ = 1'h1 - _167_[110];
+  assign _120_ = ~ inval_in;
+  assign _121_ = _167_[165] & _120_;
+  assign _122_ = _126_ ? { _256_, _255_, _254_, _253_ } : _102_;
+  assign _123_ = _127_ ? 2'h0 : _103_;
+  assign _124_ = _128_ ? 1'h0 : _167_[106];
+  assign _125_ = _167_[113:111] + 3'h1;
+  assign _126_ = wishbone_in[64] & _118_;
+  assign _127_ = wishbone_in[64] & _118_;
+  assign _128_ = wishbone_in[64] & _118_;
+  assign _129_ = wishbone_in[64] ? { _167_[114], _125_ } : _167_[114:111];
+  assign _130_ = wishbone_in[64] ? { _246_, _245_, _244_, _243_, _242_, _241_, _240_, _239_ } : _167_[176:169];
+  assign _131_ = _167_[1:0] == 2'h1;
+  assign _132_ = _167_[1:0] == 2'h2;
+  assign _133_ = _131_ | _132_;
+  function [199:0] \8094 ;
+    input [199:0] a;
+    input [399:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8094  = b[199:0];
+      2'b1?:
+        \8094  = b[399:200];
+      default:
+        \8094  = a;
+    endcase
+  endfunction
+  assign _134_ = \8094 (200'hxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, { _101_, cache_tags }, { _133_, _090_ });
+  function [3:0] \8096 ;
+    input [3:0] a;
+    input [7:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8096  = b[3:0];
+      2'b1?:
+        \8096  = b[7:4];
+      default:
+        \8096  = a;
+    endcase
+  endfunction
+  assign _135_ = \8096 (4'hx, { _122_, _084_ }, { _133_, _090_ });
+  function [1:0] \8099 ;
+    input [1:0] a;
+    input [3:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8099  = b[1:0];
+      2'b1?:
+        \8099  = b[3:2];
+      default:
+        \8099  = a;
+    endcase
+  endfunction
+  assign _136_ = \8099 (2'hx, { _123_, _087_[1:0] }, { _133_, _090_ });
+  function [31:0] \8102 ;
+    input [31:0] a;
+    input [63:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8102  = b[31:0];
+      2'b1?:
+        \8102  = b[63:32];
+      default:
+        \8102  = a;
+    endcase
+  endfunction
+  assign _137_ = \8102 (32'hxxxxxxxx, { _113_, _087_[33:2] }, { _133_, _090_ });
+  function [0:0] \8105 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8105  = b[0:0];
+      2'b1?:
+        \8105  = b[1:1];
+      default:
+        \8105  = a;
+    endcase
+  endfunction
+  assign _138_ = \8105 (1'hx, { _124_, _088_[0] }, { _133_, _090_ });
+  function [0:0] \8108 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8108  = b[0:0];
+      2'b1?:
+        \8108  = b[1:1];
+      default:
+        \8108  = a;
+    endcase
+  endfunction
+  assign _139_ = \8108 (1'hx, { _110_, _088_[1] }, { _133_, _090_ });
+  function [0:0] \8111 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8111  = b[0:0];
+      2'b1?:
+        \8111  = b[1:1];
+      default:
+        \8111  = a;
+    endcase
+  endfunction
+  assign _140_ = \8111 (1'hx, { _104_, _167_[109] }, { _133_, _090_ });
+  function [0:0] \8115 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8115  = b[0:0];
+      2'b1?:
+        \8115  = b[1:1];
+      default:
+        \8115  = a;
+    endcase
+  endfunction
+  assign _141_ = \8115 (1'hx, { _167_[110], _089_[0] }, { _133_, _090_ });
+  function [3:0] \8118 ;
+    input [3:0] a;
+    input [7:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8118  = b[3:0];
+      2'b1?:
+        \8118  = b[7:4];
+      default:
+        \8118  = a;
+    endcase
+  endfunction
+  assign _142_ = \8118 (4'hx, { _129_, _089_[4:1] }, { _133_, _090_ });
+  function [53:0] \8124 ;
+    input [53:0] a;
+    input [107:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8124  = b[53:0];
+      2'b1?:
+        \8124  = b[107:54];
+      default:
+        \8124  = a;
+    endcase
+  endfunction
+  assign _143_ = \8124 (54'hxxxxxxxxxxxxxx, { _167_[168:166], _085_, _167_[164:115], _089_[58:5] }, { _133_, _090_ });
+  function [0:0] \8127 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8127  = b[0:0];
+      2'b1?:
+        \8127  = b[1:1];
+      default:
+        \8127  = a;
+    endcase
+  endfunction
+  assign _144_ = \8127 (1'hx, { _130_[0], 1'h0 }, { _133_, _090_ });
+  function [0:0] \8130 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8130  = b[0:0];
+      2'b1?:
+        \8130  = b[1:1];
+      default:
+        \8130  = a;
+    endcase
+  endfunction
+  assign _145_ = \8130 (1'hx, { _130_[1], 1'h0 }, { _133_, _090_ });
+  function [0:0] \8133 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8133  = b[0:0];
+      2'b1?:
+        \8133  = b[1:1];
+      default:
+        \8133  = a;
+    endcase
+  endfunction
+  assign _146_ = \8133 (1'hx, { _130_[2], 1'h0 }, { _133_, _090_ });
+  function [0:0] \8136 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8136  = b[0:0];
+      2'b1?:
+        \8136  = b[1:1];
+      default:
+        \8136  = a;
+    endcase
+  endfunction
+  assign _147_ = \8136 (1'hx, { _130_[3], 1'h0 }, { _133_, _090_ });
+  function [0:0] \8139 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8139  = b[0:0];
+      2'b1?:
+        \8139  = b[1:1];
+      default:
+        \8139  = a;
+    endcase
+  endfunction
+  assign _148_ = \8139 (1'hx, { _130_[4], 1'h0 }, { _133_, _090_ });
+  function [0:0] \8142 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8142  = b[0:0];
+      2'b1?:
+        \8142  = b[1:1];
+      default:
+        \8142  = a;
+    endcase
+  endfunction
+  assign _149_ = \8142 (1'hx, { _130_[5], 1'h0 }, { _133_, _090_ });
+  function [0:0] \8145 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8145  = b[0:0];
+      2'b1?:
+        \8145  = b[1:1];
+      default:
+        \8145  = a;
+    endcase
+  endfunction
+  assign _150_ = \8145 (1'hx, { _130_[6], 1'h0 }, { _133_, _090_ });
+  function [0:0] \8148 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \8148  = b[0:0];
+      2'b1?:
+        \8148  = b[1:1];
+      default:
+        \8148  = a;
+    endcase
+  endfunction
+  assign _151_ = \8148 (1'hx, { _130_[7], 1'h0 }, { _133_, _090_ });
+  assign _152_ = rst ? cache_tags : _134_;
+  assign _153_ = rst ? 4'h0 : _135_;
+  assign _154_ = rst ? 34'h000000000 : { _137_, _136_ };
+  assign _155_ = rst ? 72'hff0000000000000000 : _167_[105:34];
+  assign _156_ = rst ? 2'h0 : { _139_, _138_ };
+  assign _157_ = rst ? 1'h0 : _167_[108];
+  assign _158_ = rst ? _167_[176:109] : { _151_, _150_, _149_, _148_, _147_, _146_, _145_, _144_, _143_, _142_, _141_, _140_ };
+  assign _159_ = rst | flush_in;
+  assign _160_ = _159_ | m_in[0];
+  assign _161_ = ~ access_ok;
+  assign _162_ = i_in[0] & _161_;
+  assign _163_ = ~ stall_in;
+  assign _164_ = _162_ & _163_;
+  assign _165_ = _164_ ? 1'h1 : _167_[177];
+  assign _166_ = _160_ ? 1'h0 : _165_;
+  always @(posedge clk)
+    cache_tags <= _152_;
+  always @(posedge clk)
+    cache_valids <= _153_;
+  always @(posedge clk)
+    _167_ <= { _166_, _158_, _157_, _156_, _155_, _154_ };
+  assign _173_ = ~ _020_[1];
+  assign _174_ = ~ _020_[0];
+  assign _175_ = _173_ & _174_;
+  assign _176_ = _173_ & _020_[0];
+  assign _177_ = _020_[1] & _174_;
+  assign _178_ = _020_[1] & _020_[0];
+  assign _179_ = _175_ ? 1'h0 : itlb_valids[0];
+  assign _180_ = _176_ ? 1'h0 : itlb_valids[1];
+  assign _181_ = _177_ ? 1'h0 : itlb_valids[2];
+  assign _182_ = _178_ ? 1'h0 : itlb_valids[3];
+  assign _183_ = ~ _021_[1];
+  assign _184_ = ~ _021_[0];
+  assign _185_ = _183_ & _184_;
+  assign _186_ = _183_ & _021_[0];
+  assign _187_ = _021_[1] & _184_;
+  assign _188_ = _021_[1] & _021_[0];
+  assign _189_ = _185_ ? 1'h1 : itlb_valids[0];
+  assign _190_ = _186_ ? 1'h1 : itlb_valids[1];
+  assign _191_ = _187_ ? 1'h1 : itlb_valids[2];
+  assign _192_ = _188_ ? 1'h1 : itlb_valids[3];
+  assign _193_ = _035_ ? cache_valids[2] : cache_valids[0];
+  assign _196_ = _041_[2] ? _195_ : _194_;
+  assign _197_ = _045_ ? cache_tags[199:100] : cache_tags[99:0];
+  assign _198_ = _049_ ? cache_valids[3] : cache_valids[1];
+  assign _201_ = _055_[2] ? _200_ : _199_;
+  assign _202_ = _059_ ? cache_tags[199:100] : cache_tags[99:0];
+  assign _203_ = _071_ ? \maybe_plrus.plrus:0.plru_out  : \maybe_plrus.plrus:1.plru_out ;
+  assign _204_ = _072_ ? \rams:0.dout  : \rams:1.dout ;
+  assign _205_ = _083_[3] ? _204_[63:32] : _204_[31:0];
+  assign _206_ = ~ _092_;
+  assign _207_ = ~ replace_way;
+  assign _208_ = _206_ & _207_;
+  assign _209_ = _206_ & replace_way;
+  assign _210_ = _092_ & _207_;
+  assign _211_ = _092_ & replace_way;
+  assign _212_ = _208_ ? 1'h0 : _084_[0];
+  assign _213_ = _209_ ? 1'h0 : _084_[1];
+  assign _214_ = _210_ ? 1'h0 : _084_[2];
+  assign _215_ = _211_ ? 1'h0 : _084_[3];
+  assign _216_ = _094_ ? cache_tags[199:100] : cache_tags[99:0];
+  assign _217_ = ~ _095_;
+  assign _218_ = _217_ ? { _216_[99:50], _167_[164:115] } : cache_tags[99:0];
+  assign _219_ = _095_ ? { _216_[99:50], _167_[164:115] } : cache_tags[199:100];
+  assign _220_ = _098_ ? cache_tags[199:100] : cache_tags[99:0];
+  assign _221_ = ~ _099_;
+  assign _222_ = _221_ ? { _167_[164:115], _220_[49:0] } : _096_[99:0];
+  assign _223_ = _099_ ? { _167_[164:115], _220_[49:0] } : _096_[199:100];
+  assign _224_ = ~ _116_[2];
+  assign _225_ = ~ _116_[1];
+  assign _226_ = _224_ & _225_;
+  assign _227_ = _224_ & _116_[1];
+  assign _228_ = _116_[2] & _225_;
+  assign _229_ = _116_[2] & _116_[1];
+  assign _230_ = ~ _116_[0];
+  assign _231_ = _226_ & _230_;
+  assign _232_ = _226_ & _116_[0];
+  assign _233_ = _227_ & _230_;
+  assign _234_ = _227_ & _116_[0];
+  assign _235_ = _228_ & _230_;
+  assign _236_ = _228_ & _116_[0];
+  assign _237_ = _229_ & _230_;
+  assign _238_ = _229_ & _116_[0];
+  assign _239_ = _231_ ? 1'h1 : _167_[169];
+  assign _240_ = _232_ ? 1'h1 : _167_[170];
+  assign _241_ = _233_ ? 1'h1 : _167_[171];
+  assign _242_ = _234_ ? 1'h1 : _167_[172];
+  assign _243_ = _235_ ? 1'h1 : _167_[173];
+  assign _244_ = _236_ ? 1'h1 : _167_[174];
+  assign _245_ = _237_ ? 1'h1 : _167_[175];
+  assign _246_ = _238_ ? 1'h1 : _167_[176];
+  assign _247_ = ~ _119_;
+  assign _248_ = ~ replace_way;
+  assign _249_ = _247_ & _248_;
+  assign _250_ = _247_ & replace_way;
+  assign _251_ = _119_ & _248_;
+  assign _252_ = _119_ & replace_way;
+  assign _253_ = _249_ ? _121_ : _102_[0];
+  assign _254_ = _250_ ? _121_ : _102_[1];
+  assign _255_ = _251_ ? _121_ : _102_[2];
+  assign _256_ = _252_ ? _121_ : _102_[3];
+  plru_1 \maybe_plrus.plrus:0.plru  (
+    .acc(_083_[0]),
+    .acc_en(\maybe_plrus.plrus:0.plru_acc_en ),
+    .clk(clk),
+    .lru(\maybe_plrus.plrus:0.plru_out ),
+    .rst(rst)
+  );
+  plru_1 \maybe_plrus.plrus:1.plru  (
+    .acc(_083_[0]),
+    .acc_en(\maybe_plrus.plrus:1.plru_acc_en ),
+    .clk(clk),
+    .lru(\maybe_plrus.plrus:1.plru_out ),
+    .rst(rst)
+  );
+  cache_ram_4_64_1489f923c4dca729178b3e3233458550d8dddf29 \rams:0.way  (
+    .clk(clk),
+    .rd_addr(i_in[12:9]),
+    .rd_data(\rams:0.dout ),
+    .rd_en(\rams:0.do_read ),
+    .wr_addr(_167_[114:111]),
+    .wr_data(\rams:0.wr_dat ),
+    .wr_sel({ \rams:0.do_write , \rams:0.do_write , \rams:0.do_write , \rams:0.do_write , \rams:0.do_write , \rams:0.do_write , \rams:0.do_write , \rams:0.do_write  })
+  );
+  cache_ram_4_64_1489f923c4dca729178b3e3233458550d8dddf29 \rams:1.way  (
+    .clk(clk),
+    .rd_addr(i_in[12:9]),
+    .rd_data(\rams:1.dout ),
+    .rd_en(\rams:1.do_read ),
+    .wr_addr(_167_[114:111]),
+    .wr_data(\rams:1.wr_dat ),
+    .wr_sel({ \rams:1.do_write , \rams:1.do_write , \rams:1.do_write , \rams:1.do_write , \rams:1.do_write , \rams:1.do_write , \rams:1.do_write , \rams:1.do_write  })
+  );
+  assign i_out = { _205_, _083_[64:1], _167_[177], _083_[65], _083_[66] };
+  assign stall_out = _074_;
+  assign wishbone_out = _167_[108:2];
+endmodule
diff --git a/verilog/rtl/microwatt.v b/verilog/rtl/microwatt.v
new file mode 100644
index 0000000..e4df252
--- /dev/null
+++ b/verilog/rtl/microwatt.v
@@ -0,0 +1,30284 @@
+/* Generated by Yosys 0.9+3743 (git sha1 UNKNOWN, clang 7.0.1-8+deb10u2 -fPIC -Os) */
+
+/* JTAG */
+`include "tap_top.v"
+
+/* UART */
+`include "raminfr.v"
+`include "uart_receiver.v"
+`include "uart_rfifo.v"
+`include "uart_tfifo.v"
+`include "uart_transmitter.v"
+`include "uart_defines.v"
+`include "uart_regs.v"
+`include "uart_sync_flops.v"
+`include "uart_wb.v"
+`include "uart_top.v"
+
+
+
+module control_1(clk, rst, complete_in, valid_in, flush_in, busy_in, deferred, sgl_pipe_in, stop_mark_in, gpr_write_valid_in, gpr_write_in, gpr_bypassable, update_gpr_write_valid, update_gpr_write_reg, gpr_a_read_valid_in, gpr_a_read_in, gpr_b_read_valid_in, gpr_b_read_in, gpr_c_read_valid_in, gpr_c_read_in, cr_read_in, cr_write_in, cr_bypassable, valid_out, stall_out, stopped_out, gpr_bypass_a, gpr_bypass_b, gpr_bypass_c, cr_bypass);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire _05_;
+  wire [31:0] _06_;
+  wire [2:0] _07_;
+  wire [2:0] _08_;
+  wire [4:0] _09_;
+  wire _10_;
+  wire _11_;
+  wire _12_;
+  wire _13_;
+  wire _14_;
+  wire [1:0] _15_;
+  wire _16_;
+  wire _17_;
+  wire _18_;
+  wire _19_;
+  wire [1:0] _20_;
+  wire [1:0] _21_;
+  wire _22_;
+  wire [1:0] _23_;
+  wire [1:0] _24_;
+  wire _25_;
+  wire _26_;
+  wire _27_;
+  wire [1:0] _28_;
+  wire [1:0] _29_;
+  wire _30_;
+  wire _31_;
+  wire _32_;
+  wire [2:0] _33_;
+  wire _34_;
+  wire [1:0] _35_;
+  wire _36_;
+  wire _37_;
+  wire _38_;
+  wire _39_;
+  wire [1:0] _40_;
+  wire _41_;
+  wire _42_;
+  wire _43_;
+  wire [1:0] _44_;
+  wire [1:0] _45_;
+  wire _46_;
+  wire _47_;
+  wire [1:0] _48_;
+  wire [2:0] _49_;
+  wire _50_;
+  wire _51_;
+  wire _52_;
+  wire [31:0] _53_;
+  wire [2:0] _54_;
+  wire _55_;
+  wire _56_;
+  input busy_in;
+  input clk;
+  input complete_in;
+  output cr_bypass;
+  input cr_bypassable;
+  input cr_read_in;
+  wire cr_stall_out;
+  input cr_write_in;
+  wire cr_write_valid;
+  input deferred;
+  input flush_in;
+  input [6:0] gpr_a_read_in;
+  input gpr_a_read_valid_in;
+  input [6:0] gpr_b_read_in;
+  input gpr_b_read_valid_in;
+  output gpr_bypass_a;
+  output gpr_bypass_b;
+  output gpr_bypass_c;
+  input gpr_bypassable;
+  input [6:0] gpr_c_read_in;
+  input gpr_c_read_valid_in;
+  input [6:0] gpr_write_in;
+  wire gpr_write_valid;
+  input gpr_write_valid_in;
+  reg [4:0] r_int = 5'h00;
+  input rst;
+  input sgl_pipe_in;
+  wire stall_a_out;
+  wire stall_b_out;
+  wire stall_c_out;
+  output stall_out;
+  input stop_mark_in;
+  output stopped_out;
+  input [6:0] update_gpr_write_reg;
+  input update_gpr_write_valid;
+  input valid_in;
+  output valid_out;
+  always @(posedge clk)
+    r_int <= { _54_, _48_ };
+  assign _04_ = ~ flush_in;
+  assign _05_ = valid_in & _04_;
+  assign _06_ = { r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4], r_int[4:2] } - 32'd1;
+  assign _07_ = complete_in ? _06_[2:0] : r_int[4:2];
+  assign _08_ = flush_in ? 3'h1 : _07_;
+  assign _09_ = rst ? 5'h00 : { _08_, r_int[1:0] };
+  assign _10_ = rst ? 1'h0 : _05_;
+  assign _11_ = { _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4:2] } == 32'd0;
+  assign _12_ = stop_mark_in & _11_;
+  assign _13_ = _12_ ? 1'h1 : 1'h0;
+  assign _14_ = { _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4:2] } != 32'd0;
+  assign _15_ = _14_ ? 2'h1 : 2'h2;
+  assign _16_ = _14_ ? 1'h1 : 1'h0;
+  assign _17_ = stall_a_out | stall_b_out;
+  assign _18_ = _17_ | stall_c_out;
+  assign _19_ = _18_ | cr_stall_out;
+  assign _20_ = rst ? 2'h0 : r_int[1:0];
+  assign _21_ = sgl_pipe_in ? _15_ : _20_;
+  assign _22_ = sgl_pipe_in ? _16_ : _19_;
+  assign _23_ = rst ? 2'h0 : r_int[1:0];
+  assign _24_ = _10_ ? _21_ : _23_;
+  assign _25_ = _10_ ? _22_ : 1'h0;
+  assign _26_ = r_int[1:0] == 2'h0;
+  assign _27_ = { _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4:2] } == 32'd0;
+  assign _28_ = rst ? 2'h0 : r_int[1:0];
+  assign _29_ = _27_ ? 2'h2 : _28_;
+  assign _30_ = _27_ ? 1'h0 : 1'h1;
+  assign _31_ = r_int[1:0] == 2'h1;
+  assign _32_ = { _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4], _09_[4:2] } == 32'd0;
+  assign _33_ = rst ? 3'h0 : _08_;
+  assign _34_ = { _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_[2], _33_ } != 32'd0;
+  assign _35_ = _34_ ? 2'h1 : 2'h2;
+  assign _36_ = _34_ ? 1'h1 : 1'h0;
+  assign _37_ = stall_a_out | stall_b_out;
+  assign _38_ = _37_ | stall_c_out;
+  assign _39_ = _38_ | cr_stall_out;
+  assign _40_ = _42_ ? _35_ : 2'h0;
+  assign _41_ = sgl_pipe_in ? _36_ : _39_;
+  assign _42_ = _10_ & sgl_pipe_in;
+  assign _43_ = _10_ ? _41_ : 1'h0;
+  assign _44_ = rst ? 2'h0 : r_int[1:0];
+  assign _45_ = _32_ ? _40_ : _44_;
+  assign _46_ = _32_ ? _43_ : 1'h1;
+  assign _47_ = r_int[1:0] == 2'h2;
+  function [1:0] \20544 ;
+    input [1:0] a;
+    input [5:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \20544  = b[1:0];
+      3'b?1?:
+        \20544  = b[3:2];
+      3'b1??:
+        \20544  = b[5:4];
+      default:
+        \20544  = a;
+    endcase
+  endfunction
+  assign _48_ = \20544 (2'hx, { _45_, _29_, _24_ }, { _47_, _31_, _26_ });
+  assign _49_ = rst ? 3'h0 : _08_;
+  function [0:0] \20549 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \20549  = b[0:0];
+      3'b?1?:
+        \20549  = b[1:1];
+      3'b1??:
+        \20549  = b[2:2];
+      default:
+        \20549  = a;
+    endcase
+  endfunction
+  assign _50_ = \20549 (1'hx, { _46_, _30_, _25_ }, { _47_, _31_, _26_ });
+  assign _51_ = _50_ ? 1'h0 : _10_;
+  assign _52_ = ~ deferred;
+  assign _53_ = { _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_[2], _49_ } + 32'd1;
+  assign _54_ = _55_ ? _53_[2:0] : _49_;
+  assign gpr_write_valid = _51_ ? gpr_write_valid_in : 1'h0;
+  assign cr_write_valid = _51_ ? cr_write_in : 1'h0;
+  assign _55_ = _51_ & _52_;
+  assign _56_ = _50_ | deferred;
+  cr_hazard_1 cr_hazard0 (
+    .busy_in(busy_in),
+    .bypassable(cr_bypassable),
+    .clk(clk),
+    .complete_in(complete_in),
+    .cr_read_in(cr_read_in),
+    .cr_write_in(cr_write_valid),
+    .deferred(deferred),
+    .flush_in(flush_in),
+    .issuing(_51_),
+    .stall_out(cr_stall_out),
+    .use_bypass(_03_)
+  );
+  gpr_hazard_1 gpr_hazard0 (
+    .busy_in(busy_in),
+    .bypass_avail(gpr_bypassable),
+    .clk(clk),
+    .complete_in(complete_in),
+    .deferred(deferred),
+    .flush_in(flush_in),
+    .gpr_read_in(gpr_a_read_in),
+    .gpr_read_valid_in(gpr_a_read_valid_in),
+    .gpr_write_in(gpr_write_in),
+    .gpr_write_valid_in(gpr_write_valid),
+    .issuing(_51_),
+    .stall_out(stall_a_out),
+    .ugpr_write_reg(update_gpr_write_reg),
+    .ugpr_write_valid(update_gpr_write_valid),
+    .use_bypass(_00_)
+  );
+  gpr_hazard_1 gpr_hazard1 (
+    .busy_in(busy_in),
+    .bypass_avail(gpr_bypassable),
+    .clk(clk),
+    .complete_in(complete_in),
+    .deferred(deferred),
+    .flush_in(flush_in),
+    .gpr_read_in(gpr_b_read_in),
+    .gpr_read_valid_in(gpr_b_read_valid_in),
+    .gpr_write_in(gpr_write_in),
+    .gpr_write_valid_in(gpr_write_valid),
+    .issuing(_51_),
+    .stall_out(stall_b_out),
+    .ugpr_write_reg(update_gpr_write_reg),
+    .ugpr_write_valid(update_gpr_write_valid),
+    .use_bypass(_01_)
+  );
+  gpr_hazard_1 gpr_hazard2 (
+    .busy_in(busy_in),
+    .bypass_avail(gpr_bypassable),
+    .clk(clk),
+    .complete_in(complete_in),
+    .deferred(deferred),
+    .flush_in(flush_in),
+    .gpr_read_in(gpr_c_read_in),
+    .gpr_read_valid_in(gpr_c_read_valid_in),
+    .gpr_write_in(gpr_write_in),
+    .gpr_write_valid_in(gpr_write_valid),
+    .issuing(_51_),
+    .stall_out(stall_c_out),
+    .ugpr_write_reg(update_gpr_write_reg),
+    .ugpr_write_valid(update_gpr_write_valid),
+    .use_bypass(_02_)
+  );
+  assign valid_out = _51_;
+  assign stall_out = _56_;
+  assign stopped_out = _13_;
+  assign gpr_bypass_a = _00_;
+  assign gpr_bypass_b = _01_;
+  assign gpr_bypass_c = _02_;
+  assign cr_bypass = _03_;
+endmodule
+
+module core_0_602f7ae323a872754ff5ac989c2e00f60e206d8e(
+`ifdef USE_POWER_PINS
+        vccd1, vssd1,
+`endif
+ clk, rst, alt_reset, wishbone_insn_in, wishbone_data_in, dmi_addr, dmi_din, dmi_req, dmi_wr, ext_irq, wishbone_insn_out, wishbone_data_out, dmi_dout, dmi_ack, terminated_out);
+`ifdef USE_POWER_PINS
+  inout vccd1;        // User area 1 1.8V supply
+  inout vssd1;        // User area 1 digital ground
+`endif
+  wire [42:0] _00_;
+  wire [106:0] _01_;
+  wire [53:0] _02_;
+  wire _03_;
+  wire [12:0] _04_;
+  wire [9:0] _05_;
+  wire [71:0] _06_;
+  wire [12:0] _07_;
+  wire [306:0] _08_;
+  wire [14:0] _09_;
+  wire [9:0] _10_;
+  wire [106:0] _11_;
+  wire [19:0] _12_;
+  wire [63:0] _13_;
+  wire _14_;
+  wire _15_;
+  input alt_reset;
+  reg alt_reset_d;
+  input clk;
+  wire complete;
+  wire core_rst;
+  wire [36:0] cr_file_to_decode2;
+  wire dbg_core_is_stopped;
+  wire dbg_core_rst;
+  wire dbg_core_stop;
+  wire dbg_gpr_ack;
+  wire [6:0] dbg_gpr_addr;
+  wire [63:0] dbg_gpr_data;
+  wire dbg_gpr_req;
+  wire dbg_icache_rst;
+  wire dcache_stall_out;
+  wire [67:0] dcache_to_loadstore1;
+  wire [66:0] dcache_to_mmu;
+  wire decode1_busy;
+  wire decode1_flush;
+  wire [153:0] decode1_to_decode2;
+  wire [64:0] decode1_to_fetch1;
+  wire decode2_stall_out;
+  wire decode2_to_cr_file;
+  wire [379:0] decode2_to_execute1;
+  wire [23:0] decode2_to_register_file;
+  output dmi_ack;
+  input [3:0] dmi_addr;
+  input [63:0] dmi_din;
+  output [63:0] dmi_dout;
+  input dmi_req;
+  input dmi_wr;
+  wire ex1_busy_out;
+  wire ex1_icache_inval;
+  wire [68:0] execute1_to_fetch1;
+  wire [325:0] execute1_to_loadstore1;
+  wire [193:0] execute1_to_writeback;
+  input ext_irq;
+  wire fetch1_flush;
+  wire fetch1_stall_in;
+  wire [69:0] fetch1_to_icache;
+  wire flush;
+  wire icache_stall_out;
+  wire [98:0] icache_to_decode1;
+  wire [142:0] loadstore1_to_dcache;
+  wire [8:0] loadstore1_to_execute1;
+  wire [144:0] loadstore1_to_mmu;
+  wire [79:0] loadstore1_to_writeback;
+  wire [31:0] log_rd_addr;
+  wire [63:0] log_rd_data;
+  wire [31:0] log_wr_addr;
+  wire [131:0] mmu_to_dcache;
+  wire [130:0] mmu_to_icache;
+  wire [70:0] mmu_to_loadstore1;
+  wire [63:0] msr;
+  wire [191:0] register_file_to_decode2;
+  input rst;
+  reg rst_dbg = 1'h1;
+  reg rst_dcache = 1'h1;
+  reg rst_dec1 = 1'h1;
+  reg rst_dec2 = 1'h1;
+  reg rst_ex1 = 1'h1;
+  reg rst_fetch1 = 1'h1;
+  reg rst_icache = 1'h1;
+  reg rst_ls1 = 1'h1;
+  wire sim_cr_dump;
+  wire terminate;
+  output terminated_out;
+  input [65:0] wishbone_data_in;
+  output [106:0] wishbone_data_out;
+  input [65:0] wishbone_insn_in;
+  output [106:0] wishbone_insn_out;
+  wire [46:0] writeback_to_cr_file;
+  wire [71:0] writeback_to_register_file;
+  assign core_rst = dbg_core_rst | rst;
+  always @(posedge clk)
+    rst_fetch1 <= core_rst;
+  always @(posedge clk)
+    rst_icache <= core_rst;
+  always @(posedge clk)
+    rst_dcache <= core_rst;
+  always @(posedge clk)
+    rst_dec1 <= core_rst;
+  always @(posedge clk)
+    rst_dec2 <= core_rst;
+  always @(posedge clk)
+    rst_ex1 <= core_rst;
+  always @(posedge clk)
+    rst_ls1 <= core_rst;
+  always @(posedge clk)
+    rst_dbg <= rst;
+  always @(posedge clk)
+    alt_reset_d <= alt_reset;
+  assign fetch1_stall_in = icache_stall_out | decode1_busy;
+  assign fetch1_flush = flush | decode1_flush;
+  assign _03_ = dbg_icache_rst | ex1_icache_inval;
+  cr_file_0_5ba93c9db0cff93f52b521d7420e43f6eda2784f cr_file_0 (
+    .clk(clk),
+    .d_in(decode2_to_cr_file),
+    .d_out(cr_file_to_decode2),
+    .log_out(_07_),
+    .sim_dump(sim_cr_dump),
+    .w_in(writeback_to_cr_file)
+  );
+  dcache dcache_0 (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .clk(clk),
+    .d_in(loadstore1_to_dcache),
+    .d_out(dcache_to_loadstore1),
+    .m_in(mmu_to_dcache),
+    .m_out(dcache_to_mmu),
+    .rst(rst_dcache),
+    .stall_out(dcache_stall_out),
+    .wishbone_in(wishbone_data_in),
+    .wishbone_out(_11_)
+  );
+  core_debug_0 debug_0 (
+    .clk(clk),
+    .core_rst(dbg_core_rst),
+    .core_stop(dbg_core_stop),
+    .core_stopped(dbg_core_is_stopped),
+    .dbg_gpr_ack(dbg_gpr_ack),
+    .dbg_gpr_addr(dbg_gpr_addr),
+    .dbg_gpr_data(dbg_gpr_data),
+    .dbg_gpr_req(dbg_gpr_req),
+    .dmi_ack(_14_),
+    .dmi_addr(dmi_addr),
+    .dmi_din(dmi_din),
+    .dmi_dout(_13_),
+    .dmi_req(dmi_req),
+    .dmi_wr(dmi_wr),
+    .icache_rst(dbg_icache_rst),
+    .log_data({ _06_, _07_, _12_, 1'h0, _10_, 5'h00, _09_, _05_, _04_, _02_, _00_ }),
+    .log_read_addr(log_rd_addr),
+    .log_read_data(log_rd_data),
+    .log_write_addr(log_wr_addr),
+    .msr(msr),
+    .nia(fetch1_to_icache[69:6]),
+    .rst(rst_dbg),
+    .terminate(terminate),
+    .terminated_out(_15_)
+  );
+  decode1_0_5ba93c9db0cff93f52b521d7420e43f6eda2784f decode1_0 (
+    .busy_out(decode1_busy),
+    .clk(clk),
+    .d_out(decode1_to_decode2),
+    .f_in(icache_to_decode1),
+    .f_out(decode1_to_fetch1),
+    .flush_in(flush),
+    .flush_out(decode1_flush),
+    .log_out(_04_),
+    .rst(rst_dec1),
+    .stall_in(decode2_stall_out)
+  );
+  decode2_0_0e356ba505631fbf715758bed27d503f8b260e3a decode2_0 (
+    .busy_in(ex1_busy_out),
+    .c_in(cr_file_to_decode2),
+    .c_out(decode2_to_cr_file),
+    .clk(clk),
+    .complete_in(complete),
+    .d_in(decode1_to_decode2),
+    .e_out(decode2_to_execute1),
+    .flush_in(flush),
+    .log_out(_05_),
+    .r_in(register_file_to_decode2),
+    .r_out(decode2_to_register_file),
+    .rst(rst_dec2),
+    .stall_out(decode2_stall_out),
+    .stopped_out(dbg_core_is_stopped)
+  );
+  execute1_0_0e356ba505631fbf715758bed27d503f8b260e3a execute1_0 (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .busy_out(ex1_busy_out),
+    .clk(clk),
+    .dbg_msr_out(msr),
+    .e_in(decode2_to_execute1),
+    .e_out(execute1_to_writeback),
+    .ext_irq_in(ext_irq),
+    .f_out(execute1_to_fetch1),
+    .flush_out(flush),
+    .fp_in(4'h0),
+    .fp_out(_08_),
+    .icache_inval(ex1_icache_inval),
+    .l_in(loadstore1_to_execute1),
+    .l_out(execute1_to_loadstore1),
+    .log_out(_09_),
+    .log_rd_addr(log_rd_addr),
+    .log_rd_data(log_rd_data),
+    .log_wr_addr(log_wr_addr),
+    .rst(rst_ex1),
+    .terminate_out(terminate)
+  );
+  fetch1_05c2030ccbceb505e9c9c1e14c8b4fa317497e84 fetch1_0 (
+    .alt_reset_in(alt_reset_d),
+    .clk(clk),
+    .d_in(decode1_to_fetch1),
+    .e_in(execute1_to_fetch1),
+    .flush_in(fetch1_flush),
+    .i_out(fetch1_to_icache),
+    .log_out(_00_),
+    .rst(rst_fetch1),
+    .stall_in(fetch1_stall_in),
+    .stop_in(dbg_core_stop)
+  );
+  icache icache_0 (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .clk(clk),
+    .flush_in(fetch1_flush),
+    .i_in(fetch1_to_icache),
+    .i_out(icache_to_decode1),
+    .inval_in(_03_),
+    .m_in(mmu_to_icache),
+    .rst(rst_icache),
+    .stall_in(decode1_busy),
+    .stall_out(icache_stall_out),
+    .wishbone_in(wishbone_insn_in),
+    .wishbone_out(_01_)
+  );
+  loadstore1_0_5ba93c9db0cff93f52b521d7420e43f6eda2784f loadstore1_0 (
+    .clk(clk),
+    .d_in(dcache_to_loadstore1),
+    .d_out(loadstore1_to_dcache),
+    .dc_stall(dcache_stall_out),
+    .e_out(loadstore1_to_execute1),
+    .l_in(execute1_to_loadstore1),
+    .l_out(loadstore1_to_writeback),
+    .log_out(_10_),
+    .m_in(mmu_to_loadstore1),
+    .m_out(loadstore1_to_mmu),
+    .rst(rst_ls1)
+  );
+  mmu mmu_0 (
+    .clk(clk),
+    .d_in(dcache_to_mmu),
+    .d_out(mmu_to_dcache),
+    .i_out(mmu_to_icache),
+    .l_in(loadstore1_to_mmu),
+    .l_out(mmu_to_loadstore1),
+    .rst(core_rst)
+  );
+  register_file register_file_0 (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .clk(clk),
+    .d_in(decode2_to_register_file),
+    .d_out(register_file_to_decode2),
+    .w_in(writeback_to_register_file)
+  );
+  writeback writeback_0 (
+    .c_out(writeback_to_cr_file),
+    .clk(clk),
+    .complete_out(complete),
+    .e_in(execute1_to_writeback),
+    .fp_in(114'h00000000000000000000000000000),
+    .l_in(loadstore1_to_writeback),
+    .w_out(writeback_to_register_file)
+  );
+  assign wishbone_insn_out = _01_;
+  assign wishbone_data_out = _11_;
+  assign dmi_dout = _13_;
+  assign dmi_ack = _14_;
+  assign terminated_out = _15_;
+endmodule
+
+module core_debug_0(clk, rst, dmi_addr, dmi_din, dmi_req, dmi_wr, terminate, core_stopped, nia, msr, dbg_gpr_ack, dbg_gpr_data, log_data, log_read_addr, dmi_dout, dmi_ack, core_stop, core_rst, icache_rst, dbg_gpr_req, dbg_gpr_addr, log_read_data, log_write_addr, terminated_out);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire _08_;
+  wire _09_;
+  wire [63:0] _10_;
+  wire _11_;
+  wire _12_;
+  wire _13_;
+  wire _14_;
+  wire _15_;
+  wire _16_;
+  wire _17_;
+  wire _18_;
+  wire _19_;
+  wire _20_;
+  wire _21_;
+  wire _22_;
+  wire _23_;
+  wire [31:0] _24_;
+  wire [6:0] _25_;
+  wire [31:0] _26_;
+  wire _27_;
+  wire _28_;
+  wire _29_;
+  wire _30_;
+  wire _31_;
+  wire [6:0] _32_;
+  wire [31:0] _33_;
+  wire _34_;
+  wire _35_;
+  wire _36_;
+  wire _37_;
+  wire _38_;
+  wire [6:0] _39_;
+  wire [31:0] _40_;
+  wire _41_;
+  wire _42_;
+  wire [1:0] _43_;
+  wire [1:0] _44_;
+  wire _45_;
+  wire _46_;
+  wire _47_;
+  wire _48_;
+  wire _49_;
+  wire _50_;
+  wire [1:0] _51_;
+  wire [29:0] _52_;
+  wire _53_;
+  wire _54_;
+  wire _55_;
+  wire _56_;
+  wire _57_;
+  wire _58_;
+  wire _59_;
+  wire _60_;
+  wire _61_;
+  wire _62_;
+  wire _63_;
+  wire [6:0] _64_;
+  wire [31:0] _65_;
+  wire _66_;
+  wire _67_;
+  wire _68_;
+  wire _69_;
+  input clk;
+  output core_rst;
+  output core_stop;
+  input core_stopped;
+  input dbg_gpr_ack;
+  output [6:0] dbg_gpr_addr;
+  input [63:0] dbg_gpr_data;
+  output dbg_gpr_req;
+  output dmi_ack;
+  input [3:0] dmi_addr;
+  input [63:0] dmi_din;
+  output [63:0] dmi_dout;
+  reg dmi_read_log_data;
+  reg dmi_read_log_data_1;
+  input dmi_req;
+  reg dmi_req_1;
+  input dmi_wr;
+  reg do_icreset;
+  reg do_reset;
+  reg do_step;
+  reg [6:0] gspr_index;
+  output icache_rst;
+  input [255:0] log_data;
+  reg [31:0] log_dmi_addr = 32'd0;
+  input [31:0] log_read_addr;
+  output [63:0] log_read_data;
+  output [31:0] log_write_addr;
+  input [63:0] msr;
+  input [63:0] nia;
+  input rst;
+  reg stopping;
+  input terminate;
+  reg terminated;
+  output terminated_out;
+  assign _00_ = dmi_addr != 4'h5;
+  assign _01_ = _00_ ? dmi_req : dbg_gpr_ack;
+  assign _02_ = dmi_addr == 4'h5;
+  assign _03_ = _02_ ? dmi_req : 1'h0;
+  assign _04_ = dmi_addr == 4'h1;
+  assign _05_ = dmi_addr == 4'h2;
+  assign _06_ = dmi_addr == 4'h3;
+  assign _07_ = dmi_addr == 4'h5;
+  assign _08_ = dmi_addr == 4'h6;
+  assign _09_ = dmi_addr == 4'h7;
+  function [63:0] \19764 ;
+    input [63:0] a;
+    input [383:0] b;
+    input [5:0] s;
+    (* parallel_case *)
+    casez (s)
+      6'b?????1:
+        \19764  = b[63:0];
+      6'b????1?:
+        \19764  = b[127:64];
+      6'b???1??:
+        \19764  = b[191:128];
+      6'b??1???:
+        \19764  = b[255:192];
+      6'b?1????:
+        \19764  = b[319:256];
+      6'b1?????:
+        \19764  = b[383:320];
+      default:
+        \19764  = a;
+    endcase
+  endfunction
+  assign _10_ = \19764 (64'h0000000000000000, { 96'h000000000000000000000001, log_dmi_addr, dbg_gpr_data, msr, nia, 61'h0000000000000000, terminated, core_stopped, stopping }, { _09_, _08_, _07_, _06_, _05_, _04_ });
+  assign _11_ = ~ dmi_req_1;
+  assign _12_ = dmi_req & _11_;
+  assign _13_ = dmi_addr == 4'h0;
+  assign _14_ = dmi_din[1] ? 1'h1 : 1'h0;
+  assign _15_ = dmi_din[1] ? 1'h0 : terminated;
+  assign _16_ = dmi_din[0] ? 1'h1 : stopping;
+  assign _17_ = dmi_din[3] ? 1'h1 : 1'h0;
+  assign _18_ = dmi_din[3] ? 1'h0 : _15_;
+  assign _19_ = dmi_din[2] ? 1'h1 : 1'h0;
+  assign _20_ = dmi_din[4] ? 1'h0 : _16_;
+  assign _21_ = dmi_din[4] ? 1'h0 : _18_;
+  assign _22_ = dmi_addr == 4'h4;
+  assign _23_ = dmi_addr == 4'h6;
+  assign _24_ = _23_ ? dmi_din[31:0] : log_dmi_addr;
+  assign _25_ = _22_ ? dmi_din[6:0] : gspr_index;
+  assign _26_ = _22_ ? log_dmi_addr : _24_;
+  assign _27_ = _45_ ? _20_ : stopping;
+  assign _28_ = _13_ ? _17_ : 1'h0;
+  assign _29_ = _13_ ? _14_ : 1'h0;
+  assign _30_ = _13_ ? _19_ : 1'h0;
+  assign _31_ = _49_ ? _21_ : terminated;
+  assign _32_ = _13_ ? gspr_index : _25_;
+  assign _33_ = _13_ ? log_dmi_addr : _26_;
+  assign _34_ = dmi_wr & _13_;
+  assign _35_ = dmi_wr ? _28_ : 1'h0;
+  assign _36_ = dmi_wr ? _29_ : 1'h0;
+  assign _37_ = dmi_wr ? _30_ : 1'h0;
+  assign _38_ = dmi_wr & _13_;
+  assign _39_ = _50_ ? _32_ : gspr_index;
+  assign _40_ = dmi_wr ? _33_ : log_dmi_addr;
+  assign _41_ = ~ dmi_read_log_data;
+  assign _42_ = _41_ & dmi_read_log_data_1;
+  assign _43_ = log_dmi_addr[1:0] + 2'h1;
+  assign _44_ = _42_ ? _43_ : log_dmi_addr[1:0];
+  assign _45_ = _12_ & _34_;
+  assign _46_ = _12_ ? _35_ : 1'h0;
+  assign _47_ = _12_ ? _36_ : 1'h0;
+  assign _48_ = _12_ ? _37_ : 1'h0;
+  assign _49_ = _12_ & _38_;
+  assign _50_ = _12_ & dmi_wr;
+  assign _51_ = _12_ ? _40_[1:0] : _44_;
+  assign _52_ = _12_ ? _40_[31:2] : log_dmi_addr[31:2];
+  assign _53_ = dmi_addr == 4'h7;
+  assign _54_ = dmi_req & _53_;
+  assign _55_ = _54_ ? 1'h1 : 1'h0;
+  assign _56_ = terminate ? 1'h1 : _27_;
+  assign _57_ = terminate ? 1'h1 : _31_;
+  assign _58_ = rst ? dmi_req_1 : dmi_req;
+  assign _59_ = rst ? 1'h0 : _56_;
+  assign _60_ = rst ? 1'h0 : _46_;
+  assign _61_ = rst ? 1'h0 : _47_;
+  assign _62_ = rst ? 1'h0 : _48_;
+  assign _63_ = rst ? 1'h0 : _57_;
+  assign _64_ = rst ? gspr_index : _39_;
+  assign _65_ = rst ? log_dmi_addr : { _52_, _51_ };
+  assign _66_ = rst ? dmi_read_log_data : _55_;
+  assign _67_ = rst ? dmi_read_log_data_1 : dmi_read_log_data;
+  always @(posedge clk)
+    dmi_req_1 <= _58_;
+  always @(posedge clk)
+    stopping <= _59_;
+  always @(posedge clk)
+    do_step <= _60_;
+  always @(posedge clk)
+    do_reset <= _61_;
+  always @(posedge clk)
+    do_icreset <= _62_;
+  always @(posedge clk)
+    terminated <= _63_;
+  always @(posedge clk)
+    gspr_index <= _64_;
+  always @(posedge clk)
+    log_dmi_addr <= _65_;
+  always @(posedge clk)
+    dmi_read_log_data <= _66_;
+  always @(posedge clk)
+    dmi_read_log_data_1 <= _67_;
+  assign _68_ = ~ do_step;
+  assign _69_ = stopping & _68_;
+  assign dmi_dout = _10_;
+  assign dmi_ack = _01_;
+  assign core_stop = _69_;
+  assign core_rst = do_reset;
+  assign icache_rst = do_icreset;
+  assign dbg_gpr_req = _03_;
+  assign dbg_gpr_addr = gspr_index;
+  assign log_read_data = 64'h0000000000000000;
+  assign log_write_addr = 32'd1;
+  assign terminated_out = terminated;
+endmodule
+
+module cr_file_0_5ba93c9db0cff93f52b521d7420e43f6eda2784f(clk, d_in, w_in, sim_dump, d_out, log_out);
+  wire [3:0] _0_;
+  wire [3:0] _1_;
+  wire [3:0] _2_;
+  wire [3:0] _3_;
+  wire [3:0] _4_;
+  wire [3:0] _5_;
+  wire [3:0] _6_;
+  wire [3:0] _7_;
+  wire [31:0] _8_;
+  wire [4:0] _9_;
+  input clk;
+  reg [31:0] crs = 32'd0;
+  input d_in;
+  output [36:0] d_out;
+  output [12:0] log_out;
+  input sim_dump;
+  input [46:0] w_in;
+  reg [4:0] xerc = 5'h00;
+  wire [4:0] xerc_updated;
+  assign _0_ = w_in[1] ? w_in[12:9] : crs[3:0];
+  assign _1_ = w_in[2] ? w_in[16:13] : crs[7:4];
+  assign _2_ = w_in[3] ? w_in[20:17] : crs[11:8];
+  assign _3_ = w_in[4] ? w_in[24:21] : crs[15:12];
+  assign _4_ = w_in[5] ? w_in[28:25] : crs[19:16];
+  assign _5_ = w_in[6] ? w_in[32:29] : crs[23:20];
+  assign _6_ = w_in[7] ? w_in[36:33] : crs[27:24];
+  assign _7_ = w_in[8] ? w_in[40:37] : crs[31:28];
+  assign xerc_updated = w_in[41] ? w_in[46:42] : xerc;
+  assign _8_ = w_in[0] ? { _7_, _6_, _5_, _4_, _3_, _2_, _1_, _0_ } : crs;
+  always @(posedge clk)
+    crs <= _8_;
+  assign _9_ = w_in[41] ? xerc_updated : xerc;
+  always @(posedge clk)
+    xerc <= _9_;
+  assign d_out = { xerc_updated, _7_, _6_, _5_, _4_, _3_, _2_, _1_, _0_ };
+  assign log_out = 13'hzzzz;
+endmodule
+
+module cr_hazard_1(clk, busy_in, deferred, complete_in, flush_in, issuing, cr_read_in, cr_write_in, bypassable, stall_out, use_bypass);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  wire _12_;
+  wire _13_;
+  wire _14_;
+  wire _15_;
+  wire _16_;
+  wire _17_;
+  wire _18_;
+  wire _19_;
+  wire _20_;
+  input busy_in;
+  input bypassable;
+  input clk;
+  input complete_in;
+  input cr_read_in;
+  input cr_write_in;
+  input deferred;
+  input flush_in;
+  input issuing;
+  reg [3:0] r = 4'h0;
+  output stall_out;
+  output use_bypass;
+  always @(posedge clk)
+    r <= { _20_, _18_, _19_, _16_ };
+  assign _00_ = complete_in ? 1'h0 : r[0];
+  assign _01_ = r[3] ? 1'h0 : 1'h1;
+  assign _02_ = r[3] ? 1'h1 : 1'h0;
+  assign _03_ = r[2] ? _01_ : 1'h0;
+  assign _04_ = r[2] ? _02_ : 1'h0;
+  assign _05_ = r[1] ? _03_ : 1'h1;
+  assign _06_ = _08_ ? 1'h1 : _04_;
+  assign _07_ = _00_ ? _05_ : _03_;
+  assign _08_ = _00_ & r[1];
+  assign _09_ = cr_read_in ? _07_ : 1'h0;
+  assign _10_ = cr_read_in ? _06_ : 1'h0;
+  assign _11_ = ~ busy_in;
+  assign _12_ = ~ deferred;
+  assign _13_ = _12_ & issuing;
+  assign _14_ = _11_ ? 1'h0 : r[2];
+  assign _15_ = _11_ ? r[2] : _00_;
+  assign _16_ = flush_in ? 1'h0 : _15_;
+  assign _17_ = _13_ ? cr_write_in : _14_;
+  assign _18_ = flush_in ? 1'h0 : _17_;
+  assign _19_ = _11_ ? r[3] : r[1];
+  assign _20_ = _13_ ? bypassable : r[3];
+  assign stall_out = _09_;
+  assign use_bypass = _10_;
+endmodule
+
+
+module decode1_0_5ba93c9db0cff93f52b521d7420e43f6eda2784f(clk, rst, stall_in, flush_in, f_in, busy_out, flush_out, f_out, d_out, log_out);
+  wire _000_;
+  wire [153:0] _001_;
+  wire _002_;
+  wire [43:0] _003_;
+  wire _004_;
+  wire _005_;
+  wire _006_;
+  wire _007_;
+  wire _008_;
+  wire [153:0] _009_;
+  wire [43:0] _010_;
+  wire [153:0] _011_;
+  wire _012_;
+  wire [152:0] _013_;
+  wire [43:0] _014_;
+  wire [43:0] _015_;
+  wire _016_;
+  wire [152:0] _017_;
+  wire _018_;
+  wire [152:0] _019_;
+  wire [43:0] _020_;
+  wire [43:0] _021_;
+  wire [153:0] _022_;
+  wire [153:0] _023_;
+  wire [43:0] _024_;
+  wire [43:0] _025_;
+  wire [5:0] _026_;
+  wire [10:0] _027_;
+  wire _028_;
+  wire [5:0] _029_;
+  wire _030_;
+  wire [9:0] _031_;
+  wire _032_;
+  wire _033_;
+  wire _034_;
+  wire _035_;
+  wire _036_;
+  wire _037_;
+  wire _038_;
+  wire _039_;
+  wire _040_;
+  wire _041_;
+  wire _042_;
+  wire _043_;
+  wire _044_;
+  wire _045_;
+  wire _046_;
+  wire _047_;
+  wire _048_;
+  wire [6:0] _049_;
+  wire [4:0] _050_;
+  wire [4:0] _051_;
+  wire [6:0] _052_;
+  wire [9:0] _053_;
+  wire _054_;
+  wire _055_;
+  wire _056_;
+  wire _057_;
+  wire _058_;
+  wire _059_;
+  wire _060_;
+  wire _061_;
+  wire _062_;
+  wire [1:0] _063_;
+  wire _064_;
+  wire [1:0] _065_;
+  wire [1:0] _066_;
+  wire [1:0] _067_;
+  wire [1:0] _068_;
+  wire _069_;
+  wire _070_;
+  wire [6:0] _071_;
+  wire _072_;
+  wire _073_;
+  wire [9:0] _074_;
+  wire _075_;
+  wire [2:0] _076_;
+  wire _077_;
+  wire _078_;
+  wire [6:0] _079_;
+  wire _080_;
+  wire _081_;
+  wire [6:0] _082_;
+  wire [6:0] _083_;
+  wire [13:0] _084_;
+  wire _085_;
+  wire [3:0] _086_;
+  wire _087_;
+  wire [31:0] _088_;
+  wire _089_;
+  wire [41:0] _090_;
+  wire _091_;
+  wire [1:0] _092_;
+  wire _093_;
+  wire _094_;
+  wire [1:0] _095_;
+  wire _096_;
+  wire _097_;
+  wire [6:0] _098_;
+  wire [6:0] _099_;
+  wire [40:0] _100_;
+  wire _101_;
+  wire _102_;
+  wire [1:0] _103_;
+  wire [38:0] _104_;
+  wire [1:0] _105_;
+  wire [23:0] _106_;
+  wire _107_;
+  wire _108_;
+  wire _109_;
+  wire _110_;
+  wire [41:0] _111_;
+  wire [61:0] _112_;
+  wire [61:0] _113_;
+  wire _114_;
+  wire _115_;
+  wire _116_;
+  wire _117_;
+  wire _118_;
+  wire [1:0] _119_;
+  wire [1:0] _120_;
+  wire _121_;
+  wire _122_;
+  wire [37:0] _123_;
+  wire [2623:0] _124_;
+  wire [40:0] _125_;
+  wire [2047:0] _126_;
+  wire _127_;
+  wire [2623:0] _128_;
+  wire [40:0] _129_;
+  wire [41983:0] _130_;
+  wire [40:0] _131_;
+  wire [1023:0] _132_;
+  wire _133_;
+  wire [327:0] _134_;
+  wire [40:0] _135_;
+  wire [655:0] _136_;
+  wire [40:0] _137_;
+  wire [163:0] _138_;
+  wire [40:0] _139_;
+  wire [163:0] _140_;
+  wire [40:0] _141_;
+  output busy_out;
+  input clk;
+  output [153:0] d_out;
+  input [98:0] f_in;
+  output [64:0] f_out;
+  input flush_in;
+  output flush_out;
+  output [12:0] log_out;
+  reg [153:0] r;
+  reg [43:0] ri;
+  input rst;
+  reg [153:0] s;
+  reg [43:0] si;
+  input stall_in;
+  reg [40:0] \$mem$\8810  [63:0];
+  reg [0:0] \$mem$\8812  [2047:0];
+  reg [40:0] \$mem$\8814  [63:0];
+  reg [40:0] \$mem$\8816  [1023:0];
+  reg [0:0] \$mem$\8818  [1023:0];
+  reg [40:0] \$mem$\8820  [7:0];
+  reg [40:0] \$mem$\8822  [15:0];
+  reg [40:0] \$mem$\8824  [3:0];
+  reg [40:0] \$mem$\8826  [3:0];
+  reg [40:0] \8810  [63:0];
+  initial begin
+    \8810 [0] = 41'h00000000000;
+    \8810 [1] = 41'h00000000000;
+    \8810 [2] = 41'h00000000000;
+    \8810 [3] = 41'h00000000000;
+    \8810 [4] = 41'h00000000000;
+    \8810 [5] = 41'h00000000000;
+    \8810 [6] = 41'h00000000000;
+    \8810 [7] = 41'h00000000000;
+    \8810 [8] = 41'h00240021a8a;
+    \8810 [9] = 41'h00040021a8a;
+    \8810 [10] = 41'h00a30021a8a;
+    \8810 [11] = 41'h00830021a8a;
+    \8810 [12] = 41'h00240101a86;
+    \8810 [13] = 41'h00040101a86;
+    \8810 [14] = 41'h00a30101a86;
+    \8810 [15] = 41'h00830101a86;
+    \8810 [16] = 41'h00000000000;
+    \8810 [17] = 41'h00000000000;
+    \8810 [18] = 41'h00220009a82;
+    \8810 [19] = 41'h00020009a82;
+    \8810 [20] = 41'h00320041a7e;
+    \8810 [21] = 41'h00120041a7e;
+    \8810 [22] = 41'h00220041a7e;
+    \8810 [23] = 41'h00020041a7e;
+    \8810 [24] = 41'h00210009a82;
+    \8810 [25] = 41'h00010009a82;
+    \8810 [26] = 41'h00230009a82;
+    \8810 [27] = 41'h00030009a82;
+    \8810 [28] = 41'h00210041a7e;
+    \8810 [29] = 41'h00010041a7e;
+    \8810 [30] = 41'h00230041a7e;
+    \8810 [31] = 41'h00030041a7e;
+    \8810 [32] = 41'h00000000000;
+    \8810 [33] = 41'h00000000000;
+    \8810 [34] = 41'h0200008a80d;
+    \8810 [35] = 41'h0200008900d;
+    \8810 [36] = 41'h0000008a8f1;
+    \8810 [37] = 41'h000000890f1;
+    \8810 [38] = 41'h0000008a8b9;
+    \8810 [39] = 41'h000000890b9;
+    \8810 [40] = 41'h048000888c9;
+    \8810 [41] = 41'h00000000000;
+    \8810 [42] = 41'h0480008e0c9;
+    \8810 [43] = 41'h0480008e1c9;
+    \8810 [44] = 41'h00000000000;
+    \8810 [45] = 41'h08000003015;
+    \8810 [46] = 41'h000000000d5;
+    \8810 [47] = 41'h080002c3b19;
+    \8810 [48] = 41'h00000042209;
+    \8810 [49] = 41'h00000041a09;
+    \8810 [50] = 41'h02008041909;
+    \8810 [51] = 41'h00008041909;
+    \8810 [52] = 41'h01006c01925;
+    \8810 [53] = 41'h00006c01125;
+    \8810 [54] = 41'h00000000000;
+    \8810 [55] = 41'h0000e841909;
+    \8810 [56] = 41'h010000419ad;
+    \8810 [57] = 41'h00000000000;
+    \8810 [58] = 41'h00000000000;
+    \8810 [59] = 41'h00000000000;
+    \8810 [60] = 41'h108000019ed;
+    \8810 [61] = 41'h100000019ed;
+    \8810 [62] = 41'h00000000000;
+    \8810 [63] = 41'h10000000011;
+  end
+  assign _125_ = \8810 [_026_];
+  reg [0:0] \8812  [2047:0];
+  initial begin
+    \8812 [0] = 1'h0;
+    \8812 [1] = 1'h0;
+    \8812 [2] = 1'h0;
+    \8812 [3] = 1'h0;
+    \8812 [4] = 1'h0;
+    \8812 [5] = 1'h0;
+    \8812 [6] = 1'h0;
+    \8812 [7] = 1'h0;
+    \8812 [8] = 1'h0;
+    \8812 [9] = 1'h0;
+    \8812 [10] = 1'h0;
+    \8812 [11] = 1'h0;
+    \8812 [12] = 1'h0;
+    \8812 [13] = 1'h0;
+    \8812 [14] = 1'h0;
+    \8812 [15] = 1'h0;
+    \8812 [16] = 1'h0;
+    \8812 [17] = 1'h0;
+    \8812 [18] = 1'h0;
+    \8812 [19] = 1'h0;
+    \8812 [20] = 1'h0;
+    \8812 [21] = 1'h0;
+    \8812 [22] = 1'h0;
+    \8812 [23] = 1'h0;
+    \8812 [24] = 1'h0;
+    \8812 [25] = 1'h0;
+    \8812 [26] = 1'h0;
+    \8812 [27] = 1'h0;
+    \8812 [28] = 1'h0;
+    \8812 [29] = 1'h0;
+    \8812 [30] = 1'h0;
+    \8812 [31] = 1'h0;
+    \8812 [32] = 1'h0;
+    \8812 [33] = 1'h0;
+    \8812 [34] = 1'h0;
+    \8812 [35] = 1'h0;
+    \8812 [36] = 1'h0;
+    \8812 [37] = 1'h0;
+    \8812 [38] = 1'h0;
+    \8812 [39] = 1'h0;
+    \8812 [40] = 1'h0;
+    \8812 [41] = 1'h0;
+    \8812 [42] = 1'h0;
+    \8812 [43] = 1'h0;
+    \8812 [44] = 1'h0;
+    \8812 [45] = 1'h0;
+    \8812 [46] = 1'h0;
+    \8812 [47] = 1'h0;
+    \8812 [48] = 1'h0;
+    \8812 [49] = 1'h0;
+    \8812 [50] = 1'h0;
+    \8812 [51] = 1'h0;
+    \8812 [52] = 1'h0;
+    \8812 [53] = 1'h0;
+    \8812 [54] = 1'h0;
+    \8812 [55] = 1'h0;
+    \8812 [56] = 1'h0;
+    \8812 [57] = 1'h0;
+    \8812 [58] = 1'h0;
+    \8812 [59] = 1'h0;
+    \8812 [60] = 1'h0;
+    \8812 [61] = 1'h0;
+    \8812 [62] = 1'h0;
+    \8812 [63] = 1'h0;
+    \8812 [64] = 1'h0;
+    \8812 [65] = 1'h0;
+    \8812 [66] = 1'h0;
+    \8812 [67] = 1'h0;
+    \8812 [68] = 1'h0;
+    \8812 [69] = 1'h0;
+    \8812 [70] = 1'h0;
+    \8812 [71] = 1'h0;
+    \8812 [72] = 1'h0;
+    \8812 [73] = 1'h0;
+    \8812 [74] = 1'h0;
+    \8812 [75] = 1'h0;
+    \8812 [76] = 1'h0;
+    \8812 [77] = 1'h0;
+    \8812 [78] = 1'h0;
+    \8812 [79] = 1'h0;
+    \8812 [80] = 1'h0;
+    \8812 [81] = 1'h0;
+    \8812 [82] = 1'h0;
+    \8812 [83] = 1'h0;
+    \8812 [84] = 1'h0;
+    \8812 [85] = 1'h0;
+    \8812 [86] = 1'h0;
+    \8812 [87] = 1'h0;
+    \8812 [88] = 1'h0;
+    \8812 [89] = 1'h0;
+    \8812 [90] = 1'h0;
+    \8812 [91] = 1'h0;
+    \8812 [92] = 1'h0;
+    \8812 [93] = 1'h0;
+    \8812 [94] = 1'h0;
+    \8812 [95] = 1'h0;
+    \8812 [96] = 1'h0;
+    \8812 [97] = 1'h0;
+    \8812 [98] = 1'h0;
+    \8812 [99] = 1'h0;
+    \8812 [100] = 1'h0;
+    \8812 [101] = 1'h0;
+    \8812 [102] = 1'h0;
+    \8812 [103] = 1'h0;
+    \8812 [104] = 1'h0;
+    \8812 [105] = 1'h0;
+    \8812 [106] = 1'h0;
+    \8812 [107] = 1'h0;
+    \8812 [108] = 1'h0;
+    \8812 [109] = 1'h0;
+    \8812 [110] = 1'h0;
+    \8812 [111] = 1'h0;
+    \8812 [112] = 1'h0;
+    \8812 [113] = 1'h0;
+    \8812 [114] = 1'h0;
+    \8812 [115] = 1'h0;
+    \8812 [116] = 1'h0;
+    \8812 [117] = 1'h0;
+    \8812 [118] = 1'h0;
+    \8812 [119] = 1'h0;
+    \8812 [120] = 1'h0;
+    \8812 [121] = 1'h0;
+    \8812 [122] = 1'h0;
+    \8812 [123] = 1'h0;
+    \8812 [124] = 1'h0;
+    \8812 [125] = 1'h0;
+    \8812 [126] = 1'h0;
+    \8812 [127] = 1'h0;
+    \8812 [128] = 1'h0;
+    \8812 [129] = 1'h0;
+    \8812 [130] = 1'h0;
+    \8812 [131] = 1'h0;
+    \8812 [132] = 1'h0;
+    \8812 [133] = 1'h0;
+    \8812 [134] = 1'h0;
+    \8812 [135] = 1'h0;
+    \8812 [136] = 1'h0;
+    \8812 [137] = 1'h0;
+    \8812 [138] = 1'h0;
+    \8812 [139] = 1'h0;
+    \8812 [140] = 1'h0;
+    \8812 [141] = 1'h0;
+    \8812 [142] = 1'h0;
+    \8812 [143] = 1'h0;
+    \8812 [144] = 1'h0;
+    \8812 [145] = 1'h0;
+    \8812 [146] = 1'h0;
+    \8812 [147] = 1'h0;
+    \8812 [148] = 1'h0;
+    \8812 [149] = 1'h0;
+    \8812 [150] = 1'h0;
+    \8812 [151] = 1'h0;
+    \8812 [152] = 1'h0;
+    \8812 [153] = 1'h0;
+    \8812 [154] = 1'h0;
+    \8812 [155] = 1'h0;
+    \8812 [156] = 1'h0;
+    \8812 [157] = 1'h0;
+    \8812 [158] = 1'h0;
+    \8812 [159] = 1'h0;
+    \8812 [160] = 1'h0;
+    \8812 [161] = 1'h0;
+    \8812 [162] = 1'h0;
+    \8812 [163] = 1'h0;
+    \8812 [164] = 1'h0;
+    \8812 [165] = 1'h0;
+    \8812 [166] = 1'h0;
+    \8812 [167] = 1'h0;
+    \8812 [168] = 1'h0;
+    \8812 [169] = 1'h0;
+    \8812 [170] = 1'h0;
+    \8812 [171] = 1'h0;
+    \8812 [172] = 1'h0;
+    \8812 [173] = 1'h0;
+    \8812 [174] = 1'h0;
+    \8812 [175] = 1'h0;
+    \8812 [176] = 1'h0;
+    \8812 [177] = 1'h0;
+    \8812 [178] = 1'h0;
+    \8812 [179] = 1'h0;
+    \8812 [180] = 1'h0;
+    \8812 [181] = 1'h0;
+    \8812 [182] = 1'h0;
+    \8812 [183] = 1'h0;
+    \8812 [184] = 1'h0;
+    \8812 [185] = 1'h0;
+    \8812 [186] = 1'h0;
+    \8812 [187] = 1'h0;
+    \8812 [188] = 1'h0;
+    \8812 [189] = 1'h0;
+    \8812 [190] = 1'h0;
+    \8812 [191] = 1'h0;
+    \8812 [192] = 1'h0;
+    \8812 [193] = 1'h0;
+    \8812 [194] = 1'h0;
+    \8812 [195] = 1'h0;
+    \8812 [196] = 1'h0;
+    \8812 [197] = 1'h0;
+    \8812 [198] = 1'h0;
+    \8812 [199] = 1'h0;
+    \8812 [200] = 1'h0;
+    \8812 [201] = 1'h0;
+    \8812 [202] = 1'h0;
+    \8812 [203] = 1'h0;
+    \8812 [204] = 1'h0;
+    \8812 [205] = 1'h0;
+    \8812 [206] = 1'h0;
+    \8812 [207] = 1'h0;
+    \8812 [208] = 1'h0;
+    \8812 [209] = 1'h0;
+    \8812 [210] = 1'h0;
+    \8812 [211] = 1'h0;
+    \8812 [212] = 1'h0;
+    \8812 [213] = 1'h0;
+    \8812 [214] = 1'h0;
+    \8812 [215] = 1'h0;
+    \8812 [216] = 1'h0;
+    \8812 [217] = 1'h0;
+    \8812 [218] = 1'h0;
+    \8812 [219] = 1'h0;
+    \8812 [220] = 1'h0;
+    \8812 [221] = 1'h0;
+    \8812 [222] = 1'h0;
+    \8812 [223] = 1'h0;
+    \8812 [224] = 1'h0;
+    \8812 [225] = 1'h0;
+    \8812 [226] = 1'h0;
+    \8812 [227] = 1'h0;
+    \8812 [228] = 1'h0;
+    \8812 [229] = 1'h0;
+    \8812 [230] = 1'h0;
+    \8812 [231] = 1'h0;
+    \8812 [232] = 1'h0;
+    \8812 [233] = 1'h0;
+    \8812 [234] = 1'h0;
+    \8812 [235] = 1'h0;
+    \8812 [236] = 1'h0;
+    \8812 [237] = 1'h0;
+    \8812 [238] = 1'h0;
+    \8812 [239] = 1'h0;
+    \8812 [240] = 1'h0;
+    \8812 [241] = 1'h0;
+    \8812 [242] = 1'h0;
+    \8812 [243] = 1'h0;
+    \8812 [244] = 1'h0;
+    \8812 [245] = 1'h0;
+    \8812 [246] = 1'h0;
+    \8812 [247] = 1'h0;
+    \8812 [248] = 1'h0;
+    \8812 [249] = 1'h0;
+    \8812 [250] = 1'h0;
+    \8812 [251] = 1'h0;
+    \8812 [252] = 1'h0;
+    \8812 [253] = 1'h0;
+    \8812 [254] = 1'h0;
+    \8812 [255] = 1'h0;
+    \8812 [256] = 1'h0;
+    \8812 [257] = 1'h0;
+    \8812 [258] = 1'h0;
+    \8812 [259] = 1'h0;
+    \8812 [260] = 1'h0;
+    \8812 [261] = 1'h0;
+    \8812 [262] = 1'h0;
+    \8812 [263] = 1'h0;
+    \8812 [264] = 1'h0;
+    \8812 [265] = 1'h0;
+    \8812 [266] = 1'h0;
+    \8812 [267] = 1'h0;
+    \8812 [268] = 1'h0;
+    \8812 [269] = 1'h0;
+    \8812 [270] = 1'h0;
+    \8812 [271] = 1'h0;
+    \8812 [272] = 1'h0;
+    \8812 [273] = 1'h0;
+    \8812 [274] = 1'h0;
+    \8812 [275] = 1'h0;
+    \8812 [276] = 1'h0;
+    \8812 [277] = 1'h0;
+    \8812 [278] = 1'h0;
+    \8812 [279] = 1'h0;
+    \8812 [280] = 1'h0;
+    \8812 [281] = 1'h0;
+    \8812 [282] = 1'h0;
+    \8812 [283] = 1'h0;
+    \8812 [284] = 1'h0;
+    \8812 [285] = 1'h0;
+    \8812 [286] = 1'h0;
+    \8812 [287] = 1'h0;
+    \8812 [288] = 1'h0;
+    \8812 [289] = 1'h0;
+    \8812 [290] = 1'h0;
+    \8812 [291] = 1'h0;
+    \8812 [292] = 1'h0;
+    \8812 [293] = 1'h0;
+    \8812 [294] = 1'h0;
+    \8812 [295] = 1'h0;
+    \8812 [296] = 1'h0;
+    \8812 [297] = 1'h0;
+    \8812 [298] = 1'h0;
+    \8812 [299] = 1'h0;
+    \8812 [300] = 1'h0;
+    \8812 [301] = 1'h0;
+    \8812 [302] = 1'h0;
+    \8812 [303] = 1'h0;
+    \8812 [304] = 1'h0;
+    \8812 [305] = 1'h0;
+    \8812 [306] = 1'h0;
+    \8812 [307] = 1'h0;
+    \8812 [308] = 1'h0;
+    \8812 [309] = 1'h0;
+    \8812 [310] = 1'h0;
+    \8812 [311] = 1'h0;
+    \8812 [312] = 1'h0;
+    \8812 [313] = 1'h0;
+    \8812 [314] = 1'h0;
+    \8812 [315] = 1'h0;
+    \8812 [316] = 1'h0;
+    \8812 [317] = 1'h0;
+    \8812 [318] = 1'h0;
+    \8812 [319] = 1'h0;
+    \8812 [320] = 1'h0;
+    \8812 [321] = 1'h0;
+    \8812 [322] = 1'h0;
+    \8812 [323] = 1'h0;
+    \8812 [324] = 1'h0;
+    \8812 [325] = 1'h0;
+    \8812 [326] = 1'h0;
+    \8812 [327] = 1'h0;
+    \8812 [328] = 1'h0;
+    \8812 [329] = 1'h0;
+    \8812 [330] = 1'h0;
+    \8812 [331] = 1'h0;
+    \8812 [332] = 1'h0;
+    \8812 [333] = 1'h0;
+    \8812 [334] = 1'h0;
+    \8812 [335] = 1'h0;
+    \8812 [336] = 1'h0;
+    \8812 [337] = 1'h0;
+    \8812 [338] = 1'h0;
+    \8812 [339] = 1'h0;
+    \8812 [340] = 1'h0;
+    \8812 [341] = 1'h0;
+    \8812 [342] = 1'h0;
+    \8812 [343] = 1'h0;
+    \8812 [344] = 1'h0;
+    \8812 [345] = 1'h0;
+    \8812 [346] = 1'h0;
+    \8812 [347] = 1'h0;
+    \8812 [348] = 1'h0;
+    \8812 [349] = 1'h0;
+    \8812 [350] = 1'h0;
+    \8812 [351] = 1'h0;
+    \8812 [352] = 1'h0;
+    \8812 [353] = 1'h0;
+    \8812 [354] = 1'h0;
+    \8812 [355] = 1'h0;
+    \8812 [356] = 1'h0;
+    \8812 [357] = 1'h0;
+    \8812 [358] = 1'h0;
+    \8812 [359] = 1'h0;
+    \8812 [360] = 1'h0;
+    \8812 [361] = 1'h0;
+    \8812 [362] = 1'h0;
+    \8812 [363] = 1'h0;
+    \8812 [364] = 1'h0;
+    \8812 [365] = 1'h0;
+    \8812 [366] = 1'h0;
+    \8812 [367] = 1'h0;
+    \8812 [368] = 1'h0;
+    \8812 [369] = 1'h0;
+    \8812 [370] = 1'h0;
+    \8812 [371] = 1'h0;
+    \8812 [372] = 1'h0;
+    \8812 [373] = 1'h0;
+    \8812 [374] = 1'h0;
+    \8812 [375] = 1'h0;
+    \8812 [376] = 1'h0;
+    \8812 [377] = 1'h0;
+    \8812 [378] = 1'h0;
+    \8812 [379] = 1'h0;
+    \8812 [380] = 1'h0;
+    \8812 [381] = 1'h0;
+    \8812 [382] = 1'h0;
+    \8812 [383] = 1'h0;
+    \8812 [384] = 1'h1;
+    \8812 [385] = 1'h1;
+    \8812 [386] = 1'h1;
+    \8812 [387] = 1'h1;
+    \8812 [388] = 1'h1;
+    \8812 [389] = 1'h1;
+    \8812 [390] = 1'h1;
+    \8812 [391] = 1'h1;
+    \8812 [392] = 1'h1;
+    \8812 [393] = 1'h1;
+    \8812 [394] = 1'h1;
+    \8812 [395] = 1'h1;
+    \8812 [396] = 1'h1;
+    \8812 [397] = 1'h1;
+    \8812 [398] = 1'h1;
+    \8812 [399] = 1'h1;
+    \8812 [400] = 1'h1;
+    \8812 [401] = 1'h1;
+    \8812 [402] = 1'h1;
+    \8812 [403] = 1'h1;
+    \8812 [404] = 1'h1;
+    \8812 [405] = 1'h1;
+    \8812 [406] = 1'h1;
+    \8812 [407] = 1'h1;
+    \8812 [408] = 1'h1;
+    \8812 [409] = 1'h1;
+    \8812 [410] = 1'h1;
+    \8812 [411] = 1'h1;
+    \8812 [412] = 1'h1;
+    \8812 [413] = 1'h1;
+    \8812 [414] = 1'h1;
+    \8812 [415] = 1'h1;
+    \8812 [416] = 1'h0;
+    \8812 [417] = 1'h0;
+    \8812 [418] = 1'h0;
+    \8812 [419] = 1'h0;
+    \8812 [420] = 1'h0;
+    \8812 [421] = 1'h0;
+    \8812 [422] = 1'h0;
+    \8812 [423] = 1'h0;
+    \8812 [424] = 1'h0;
+    \8812 [425] = 1'h0;
+    \8812 [426] = 1'h0;
+    \8812 [427] = 1'h0;
+    \8812 [428] = 1'h0;
+    \8812 [429] = 1'h0;
+    \8812 [430] = 1'h0;
+    \8812 [431] = 1'h0;
+    \8812 [432] = 1'h0;
+    \8812 [433] = 1'h0;
+    \8812 [434] = 1'h0;
+    \8812 [435] = 1'h0;
+    \8812 [436] = 1'h0;
+    \8812 [437] = 1'h0;
+    \8812 [438] = 1'h0;
+    \8812 [439] = 1'h0;
+    \8812 [440] = 1'h0;
+    \8812 [441] = 1'h0;
+    \8812 [442] = 1'h0;
+    \8812 [443] = 1'h0;
+    \8812 [444] = 1'h0;
+    \8812 [445] = 1'h0;
+    \8812 [446] = 1'h0;
+    \8812 [447] = 1'h0;
+    \8812 [448] = 1'h1;
+    \8812 [449] = 1'h1;
+    \8812 [450] = 1'h1;
+    \8812 [451] = 1'h1;
+    \8812 [452] = 1'h1;
+    \8812 [453] = 1'h1;
+    \8812 [454] = 1'h1;
+    \8812 [455] = 1'h1;
+    \8812 [456] = 1'h1;
+    \8812 [457] = 1'h1;
+    \8812 [458] = 1'h1;
+    \8812 [459] = 1'h1;
+    \8812 [460] = 1'h1;
+    \8812 [461] = 1'h1;
+    \8812 [462] = 1'h1;
+    \8812 [463] = 1'h1;
+    \8812 [464] = 1'h1;
+    \8812 [465] = 1'h1;
+    \8812 [466] = 1'h1;
+    \8812 [467] = 1'h1;
+    \8812 [468] = 1'h1;
+    \8812 [469] = 1'h1;
+    \8812 [470] = 1'h1;
+    \8812 [471] = 1'h1;
+    \8812 [472] = 1'h1;
+    \8812 [473] = 1'h1;
+    \8812 [474] = 1'h1;
+    \8812 [475] = 1'h1;
+    \8812 [476] = 1'h1;
+    \8812 [477] = 1'h1;
+    \8812 [478] = 1'h1;
+    \8812 [479] = 1'h1;
+    \8812 [480] = 1'h1;
+    \8812 [481] = 1'h1;
+    \8812 [482] = 1'h1;
+    \8812 [483] = 1'h1;
+    \8812 [484] = 1'h1;
+    \8812 [485] = 1'h1;
+    \8812 [486] = 1'h1;
+    \8812 [487] = 1'h1;
+    \8812 [488] = 1'h1;
+    \8812 [489] = 1'h1;
+    \8812 [490] = 1'h1;
+    \8812 [491] = 1'h1;
+    \8812 [492] = 1'h1;
+    \8812 [493] = 1'h1;
+    \8812 [494] = 1'h1;
+    \8812 [495] = 1'h1;
+    \8812 [496] = 1'h1;
+    \8812 [497] = 1'h1;
+    \8812 [498] = 1'h1;
+    \8812 [499] = 1'h1;
+    \8812 [500] = 1'h1;
+    \8812 [501] = 1'h1;
+    \8812 [502] = 1'h1;
+    \8812 [503] = 1'h1;
+    \8812 [504] = 1'h1;
+    \8812 [505] = 1'h1;
+    \8812 [506] = 1'h1;
+    \8812 [507] = 1'h1;
+    \8812 [508] = 1'h1;
+    \8812 [509] = 1'h1;
+    \8812 [510] = 1'h1;
+    \8812 [511] = 1'h1;
+    \8812 [512] = 1'h0;
+    \8812 [513] = 1'h0;
+    \8812 [514] = 1'h0;
+    \8812 [515] = 1'h0;
+    \8812 [516] = 1'h0;
+    \8812 [517] = 1'h0;
+    \8812 [518] = 1'h0;
+    \8812 [519] = 1'h0;
+    \8812 [520] = 1'h0;
+    \8812 [521] = 1'h0;
+    \8812 [522] = 1'h0;
+    \8812 [523] = 1'h0;
+    \8812 [524] = 1'h0;
+    \8812 [525] = 1'h0;
+    \8812 [526] = 1'h0;
+    \8812 [527] = 1'h0;
+    \8812 [528] = 1'h0;
+    \8812 [529] = 1'h0;
+    \8812 [530] = 1'h0;
+    \8812 [531] = 1'h0;
+    \8812 [532] = 1'h0;
+    \8812 [533] = 1'h0;
+    \8812 [534] = 1'h0;
+    \8812 [535] = 1'h0;
+    \8812 [536] = 1'h0;
+    \8812 [537] = 1'h0;
+    \8812 [538] = 1'h0;
+    \8812 [539] = 1'h0;
+    \8812 [540] = 1'h0;
+    \8812 [541] = 1'h0;
+    \8812 [542] = 1'h0;
+    \8812 [543] = 1'h0;
+    \8812 [544] = 1'h0;
+    \8812 [545] = 1'h0;
+    \8812 [546] = 1'h0;
+    \8812 [547] = 1'h0;
+    \8812 [548] = 1'h0;
+    \8812 [549] = 1'h0;
+    \8812 [550] = 1'h0;
+    \8812 [551] = 1'h0;
+    \8812 [552] = 1'h0;
+    \8812 [553] = 1'h0;
+    \8812 [554] = 1'h0;
+    \8812 [555] = 1'h0;
+    \8812 [556] = 1'h0;
+    \8812 [557] = 1'h0;
+    \8812 [558] = 1'h0;
+    \8812 [559] = 1'h0;
+    \8812 [560] = 1'h0;
+    \8812 [561] = 1'h0;
+    \8812 [562] = 1'h0;
+    \8812 [563] = 1'h0;
+    \8812 [564] = 1'h0;
+    \8812 [565] = 1'h0;
+    \8812 [566] = 1'h0;
+    \8812 [567] = 1'h0;
+    \8812 [568] = 1'h0;
+    \8812 [569] = 1'h0;
+    \8812 [570] = 1'h0;
+    \8812 [571] = 1'h0;
+    \8812 [572] = 1'h0;
+    \8812 [573] = 1'h0;
+    \8812 [574] = 1'h0;
+    \8812 [575] = 1'h0;
+    \8812 [576] = 1'h0;
+    \8812 [577] = 1'h0;
+    \8812 [578] = 1'h0;
+    \8812 [579] = 1'h0;
+    \8812 [580] = 1'h0;
+    \8812 [581] = 1'h0;
+    \8812 [582] = 1'h0;
+    \8812 [583] = 1'h0;
+    \8812 [584] = 1'h0;
+    \8812 [585] = 1'h0;
+    \8812 [586] = 1'h0;
+    \8812 [587] = 1'h0;
+    \8812 [588] = 1'h0;
+    \8812 [589] = 1'h0;
+    \8812 [590] = 1'h0;
+    \8812 [591] = 1'h0;
+    \8812 [592] = 1'h0;
+    \8812 [593] = 1'h0;
+    \8812 [594] = 1'h0;
+    \8812 [595] = 1'h0;
+    \8812 [596] = 1'h0;
+    \8812 [597] = 1'h0;
+    \8812 [598] = 1'h0;
+    \8812 [599] = 1'h0;
+    \8812 [600] = 1'h0;
+    \8812 [601] = 1'h0;
+    \8812 [602] = 1'h0;
+    \8812 [603] = 1'h0;
+    \8812 [604] = 1'h0;
+    \8812 [605] = 1'h0;
+    \8812 [606] = 1'h0;
+    \8812 [607] = 1'h0;
+    \8812 [608] = 1'h0;
+    \8812 [609] = 1'h0;
+    \8812 [610] = 1'h0;
+    \8812 [611] = 1'h0;
+    \8812 [612] = 1'h0;
+    \8812 [613] = 1'h0;
+    \8812 [614] = 1'h0;
+    \8812 [615] = 1'h0;
+    \8812 [616] = 1'h0;
+    \8812 [617] = 1'h0;
+    \8812 [618] = 1'h0;
+    \8812 [619] = 1'h0;
+    \8812 [620] = 1'h0;
+    \8812 [621] = 1'h0;
+    \8812 [622] = 1'h0;
+    \8812 [623] = 1'h0;
+    \8812 [624] = 1'h0;
+    \8812 [625] = 1'h0;
+    \8812 [626] = 1'h0;
+    \8812 [627] = 1'h0;
+    \8812 [628] = 1'h0;
+    \8812 [629] = 1'h0;
+    \8812 [630] = 1'h0;
+    \8812 [631] = 1'h0;
+    \8812 [632] = 1'h0;
+    \8812 [633] = 1'h0;
+    \8812 [634] = 1'h0;
+    \8812 [635] = 1'h0;
+    \8812 [636] = 1'h0;
+    \8812 [637] = 1'h0;
+    \8812 [638] = 1'h0;
+    \8812 [639] = 1'h0;
+    \8812 [640] = 1'h0;
+    \8812 [641] = 1'h0;
+    \8812 [642] = 1'h0;
+    \8812 [643] = 1'h0;
+    \8812 [644] = 1'h0;
+    \8812 [645] = 1'h0;
+    \8812 [646] = 1'h0;
+    \8812 [647] = 1'h0;
+    \8812 [648] = 1'h0;
+    \8812 [649] = 1'h0;
+    \8812 [650] = 1'h0;
+    \8812 [651] = 1'h0;
+    \8812 [652] = 1'h0;
+    \8812 [653] = 1'h0;
+    \8812 [654] = 1'h0;
+    \8812 [655] = 1'h0;
+    \8812 [656] = 1'h0;
+    \8812 [657] = 1'h0;
+    \8812 [658] = 1'h0;
+    \8812 [659] = 1'h0;
+    \8812 [660] = 1'h0;
+    \8812 [661] = 1'h0;
+    \8812 [662] = 1'h0;
+    \8812 [663] = 1'h0;
+    \8812 [664] = 1'h0;
+    \8812 [665] = 1'h0;
+    \8812 [666] = 1'h0;
+    \8812 [667] = 1'h0;
+    \8812 [668] = 1'h0;
+    \8812 [669] = 1'h0;
+    \8812 [670] = 1'h0;
+    \8812 [671] = 1'h0;
+    \8812 [672] = 1'h0;
+    \8812 [673] = 1'h0;
+    \8812 [674] = 1'h0;
+    \8812 [675] = 1'h0;
+    \8812 [676] = 1'h0;
+    \8812 [677] = 1'h0;
+    \8812 [678] = 1'h0;
+    \8812 [679] = 1'h0;
+    \8812 [680] = 1'h0;
+    \8812 [681] = 1'h0;
+    \8812 [682] = 1'h0;
+    \8812 [683] = 1'h0;
+    \8812 [684] = 1'h0;
+    \8812 [685] = 1'h0;
+    \8812 [686] = 1'h0;
+    \8812 [687] = 1'h0;
+    \8812 [688] = 1'h0;
+    \8812 [689] = 1'h0;
+    \8812 [690] = 1'h0;
+    \8812 [691] = 1'h0;
+    \8812 [692] = 1'h0;
+    \8812 [693] = 1'h0;
+    \8812 [694] = 1'h0;
+    \8812 [695] = 1'h0;
+    \8812 [696] = 1'h0;
+    \8812 [697] = 1'h0;
+    \8812 [698] = 1'h0;
+    \8812 [699] = 1'h0;
+    \8812 [700] = 1'h0;
+    \8812 [701] = 1'h0;
+    \8812 [702] = 1'h0;
+    \8812 [703] = 1'h0;
+    \8812 [704] = 1'h0;
+    \8812 [705] = 1'h0;
+    \8812 [706] = 1'h0;
+    \8812 [707] = 1'h0;
+    \8812 [708] = 1'h0;
+    \8812 [709] = 1'h0;
+    \8812 [710] = 1'h0;
+    \8812 [711] = 1'h0;
+    \8812 [712] = 1'h0;
+    \8812 [713] = 1'h0;
+    \8812 [714] = 1'h0;
+    \8812 [715] = 1'h0;
+    \8812 [716] = 1'h0;
+    \8812 [717] = 1'h0;
+    \8812 [718] = 1'h0;
+    \8812 [719] = 1'h0;
+    \8812 [720] = 1'h0;
+    \8812 [721] = 1'h0;
+    \8812 [722] = 1'h0;
+    \8812 [723] = 1'h0;
+    \8812 [724] = 1'h0;
+    \8812 [725] = 1'h0;
+    \8812 [726] = 1'h0;
+    \8812 [727] = 1'h0;
+    \8812 [728] = 1'h0;
+    \8812 [729] = 1'h0;
+    \8812 [730] = 1'h0;
+    \8812 [731] = 1'h0;
+    \8812 [732] = 1'h0;
+    \8812 [733] = 1'h0;
+    \8812 [734] = 1'h0;
+    \8812 [735] = 1'h0;
+    \8812 [736] = 1'h0;
+    \8812 [737] = 1'h0;
+    \8812 [738] = 1'h0;
+    \8812 [739] = 1'h0;
+    \8812 [740] = 1'h0;
+    \8812 [741] = 1'h0;
+    \8812 [742] = 1'h0;
+    \8812 [743] = 1'h0;
+    \8812 [744] = 1'h0;
+    \8812 [745] = 1'h0;
+    \8812 [746] = 1'h0;
+    \8812 [747] = 1'h0;
+    \8812 [748] = 1'h0;
+    \8812 [749] = 1'h0;
+    \8812 [750] = 1'h0;
+    \8812 [751] = 1'h0;
+    \8812 [752] = 1'h0;
+    \8812 [753] = 1'h0;
+    \8812 [754] = 1'h0;
+    \8812 [755] = 1'h0;
+    \8812 [756] = 1'h0;
+    \8812 [757] = 1'h0;
+    \8812 [758] = 1'h0;
+    \8812 [759] = 1'h0;
+    \8812 [760] = 1'h0;
+    \8812 [761] = 1'h0;
+    \8812 [762] = 1'h0;
+    \8812 [763] = 1'h0;
+    \8812 [764] = 1'h0;
+    \8812 [765] = 1'h0;
+    \8812 [766] = 1'h0;
+    \8812 [767] = 1'h0;
+    \8812 [768] = 1'h0;
+    \8812 [769] = 1'h0;
+    \8812 [770] = 1'h0;
+    \8812 [771] = 1'h0;
+    \8812 [772] = 1'h0;
+    \8812 [773] = 1'h0;
+    \8812 [774] = 1'h0;
+    \8812 [775] = 1'h0;
+    \8812 [776] = 1'h0;
+    \8812 [777] = 1'h0;
+    \8812 [778] = 1'h0;
+    \8812 [779] = 1'h0;
+    \8812 [780] = 1'h0;
+    \8812 [781] = 1'h0;
+    \8812 [782] = 1'h0;
+    \8812 [783] = 1'h0;
+    \8812 [784] = 1'h0;
+    \8812 [785] = 1'h0;
+    \8812 [786] = 1'h0;
+    \8812 [787] = 1'h0;
+    \8812 [788] = 1'h0;
+    \8812 [789] = 1'h0;
+    \8812 [790] = 1'h0;
+    \8812 [791] = 1'h0;
+    \8812 [792] = 1'h0;
+    \8812 [793] = 1'h0;
+    \8812 [794] = 1'h0;
+    \8812 [795] = 1'h0;
+    \8812 [796] = 1'h0;
+    \8812 [797] = 1'h0;
+    \8812 [798] = 1'h0;
+    \8812 [799] = 1'h0;
+    \8812 [800] = 1'h0;
+    \8812 [801] = 1'h0;
+    \8812 [802] = 1'h0;
+    \8812 [803] = 1'h0;
+    \8812 [804] = 1'h0;
+    \8812 [805] = 1'h0;
+    \8812 [806] = 1'h0;
+    \8812 [807] = 1'h0;
+    \8812 [808] = 1'h0;
+    \8812 [809] = 1'h0;
+    \8812 [810] = 1'h0;
+    \8812 [811] = 1'h0;
+    \8812 [812] = 1'h0;
+    \8812 [813] = 1'h0;
+    \8812 [814] = 1'h0;
+    \8812 [815] = 1'h0;
+    \8812 [816] = 1'h0;
+    \8812 [817] = 1'h0;
+    \8812 [818] = 1'h0;
+    \8812 [819] = 1'h0;
+    \8812 [820] = 1'h0;
+    \8812 [821] = 1'h0;
+    \8812 [822] = 1'h0;
+    \8812 [823] = 1'h0;
+    \8812 [824] = 1'h0;
+    \8812 [825] = 1'h0;
+    \8812 [826] = 1'h0;
+    \8812 [827] = 1'h0;
+    \8812 [828] = 1'h0;
+    \8812 [829] = 1'h0;
+    \8812 [830] = 1'h0;
+    \8812 [831] = 1'h0;
+    \8812 [832] = 1'h0;
+    \8812 [833] = 1'h0;
+    \8812 [834] = 1'h0;
+    \8812 [835] = 1'h0;
+    \8812 [836] = 1'h0;
+    \8812 [837] = 1'h0;
+    \8812 [838] = 1'h0;
+    \8812 [839] = 1'h0;
+    \8812 [840] = 1'h0;
+    \8812 [841] = 1'h0;
+    \8812 [842] = 1'h0;
+    \8812 [843] = 1'h0;
+    \8812 [844] = 1'h0;
+    \8812 [845] = 1'h0;
+    \8812 [846] = 1'h0;
+    \8812 [847] = 1'h0;
+    \8812 [848] = 1'h0;
+    \8812 [849] = 1'h0;
+    \8812 [850] = 1'h0;
+    \8812 [851] = 1'h0;
+    \8812 [852] = 1'h0;
+    \8812 [853] = 1'h0;
+    \8812 [854] = 1'h0;
+    \8812 [855] = 1'h0;
+    \8812 [856] = 1'h0;
+    \8812 [857] = 1'h0;
+    \8812 [858] = 1'h0;
+    \8812 [859] = 1'h0;
+    \8812 [860] = 1'h0;
+    \8812 [861] = 1'h0;
+    \8812 [862] = 1'h0;
+    \8812 [863] = 1'h0;
+    \8812 [864] = 1'h0;
+    \8812 [865] = 1'h0;
+    \8812 [866] = 1'h0;
+    \8812 [867] = 1'h0;
+    \8812 [868] = 1'h0;
+    \8812 [869] = 1'h0;
+    \8812 [870] = 1'h0;
+    \8812 [871] = 1'h0;
+    \8812 [872] = 1'h0;
+    \8812 [873] = 1'h0;
+    \8812 [874] = 1'h0;
+    \8812 [875] = 1'h0;
+    \8812 [876] = 1'h0;
+    \8812 [877] = 1'h0;
+    \8812 [878] = 1'h0;
+    \8812 [879] = 1'h0;
+    \8812 [880] = 1'h0;
+    \8812 [881] = 1'h0;
+    \8812 [882] = 1'h0;
+    \8812 [883] = 1'h0;
+    \8812 [884] = 1'h0;
+    \8812 [885] = 1'h0;
+    \8812 [886] = 1'h0;
+    \8812 [887] = 1'h0;
+    \8812 [888] = 1'h0;
+    \8812 [889] = 1'h0;
+    \8812 [890] = 1'h0;
+    \8812 [891] = 1'h0;
+    \8812 [892] = 1'h0;
+    \8812 [893] = 1'h0;
+    \8812 [894] = 1'h0;
+    \8812 [895] = 1'h0;
+    \8812 [896] = 1'h0;
+    \8812 [897] = 1'h0;
+    \8812 [898] = 1'h0;
+    \8812 [899] = 1'h0;
+    \8812 [900] = 1'h0;
+    \8812 [901] = 1'h0;
+    \8812 [902] = 1'h0;
+    \8812 [903] = 1'h0;
+    \8812 [904] = 1'h0;
+    \8812 [905] = 1'h0;
+    \8812 [906] = 1'h0;
+    \8812 [907] = 1'h0;
+    \8812 [908] = 1'h0;
+    \8812 [909] = 1'h0;
+    \8812 [910] = 1'h0;
+    \8812 [911] = 1'h0;
+    \8812 [912] = 1'h0;
+    \8812 [913] = 1'h0;
+    \8812 [914] = 1'h0;
+    \8812 [915] = 1'h0;
+    \8812 [916] = 1'h0;
+    \8812 [917] = 1'h0;
+    \8812 [918] = 1'h0;
+    \8812 [919] = 1'h0;
+    \8812 [920] = 1'h0;
+    \8812 [921] = 1'h0;
+    \8812 [922] = 1'h0;
+    \8812 [923] = 1'h0;
+    \8812 [924] = 1'h0;
+    \8812 [925] = 1'h0;
+    \8812 [926] = 1'h0;
+    \8812 [927] = 1'h0;
+    \8812 [928] = 1'h0;
+    \8812 [929] = 1'h0;
+    \8812 [930] = 1'h0;
+    \8812 [931] = 1'h0;
+    \8812 [932] = 1'h0;
+    \8812 [933] = 1'h0;
+    \8812 [934] = 1'h0;
+    \8812 [935] = 1'h0;
+    \8812 [936] = 1'h0;
+    \8812 [937] = 1'h0;
+    \8812 [938] = 1'h0;
+    \8812 [939] = 1'h0;
+    \8812 [940] = 1'h0;
+    \8812 [941] = 1'h0;
+    \8812 [942] = 1'h0;
+    \8812 [943] = 1'h0;
+    \8812 [944] = 1'h0;
+    \8812 [945] = 1'h0;
+    \8812 [946] = 1'h0;
+    \8812 [947] = 1'h0;
+    \8812 [948] = 1'h0;
+    \8812 [949] = 1'h0;
+    \8812 [950] = 1'h0;
+    \8812 [951] = 1'h0;
+    \8812 [952] = 1'h0;
+    \8812 [953] = 1'h0;
+    \8812 [954] = 1'h0;
+    \8812 [955] = 1'h0;
+    \8812 [956] = 1'h0;
+    \8812 [957] = 1'h0;
+    \8812 [958] = 1'h0;
+    \8812 [959] = 1'h0;
+    \8812 [960] = 1'h0;
+    \8812 [961] = 1'h0;
+    \8812 [962] = 1'h0;
+    \8812 [963] = 1'h0;
+    \8812 [964] = 1'h0;
+    \8812 [965] = 1'h0;
+    \8812 [966] = 1'h0;
+    \8812 [967] = 1'h0;
+    \8812 [968] = 1'h0;
+    \8812 [969] = 1'h0;
+    \8812 [970] = 1'h0;
+    \8812 [971] = 1'h0;
+    \8812 [972] = 1'h0;
+    \8812 [973] = 1'h0;
+    \8812 [974] = 1'h0;
+    \8812 [975] = 1'h0;
+    \8812 [976] = 1'h0;
+    \8812 [977] = 1'h0;
+    \8812 [978] = 1'h0;
+    \8812 [979] = 1'h0;
+    \8812 [980] = 1'h0;
+    \8812 [981] = 1'h0;
+    \8812 [982] = 1'h0;
+    \8812 [983] = 1'h0;
+    \8812 [984] = 1'h0;
+    \8812 [985] = 1'h0;
+    \8812 [986] = 1'h0;
+    \8812 [987] = 1'h0;
+    \8812 [988] = 1'h0;
+    \8812 [989] = 1'h0;
+    \8812 [990] = 1'h0;
+    \8812 [991] = 1'h0;
+    \8812 [992] = 1'h0;
+    \8812 [993] = 1'h0;
+    \8812 [994] = 1'h0;
+    \8812 [995] = 1'h0;
+    \8812 [996] = 1'h0;
+    \8812 [997] = 1'h0;
+    \8812 [998] = 1'h0;
+    \8812 [999] = 1'h0;
+    \8812 [1000] = 1'h0;
+    \8812 [1001] = 1'h0;
+    \8812 [1002] = 1'h0;
+    \8812 [1003] = 1'h0;
+    \8812 [1004] = 1'h0;
+    \8812 [1005] = 1'h0;
+    \8812 [1006] = 1'h0;
+    \8812 [1007] = 1'h0;
+    \8812 [1008] = 1'h0;
+    \8812 [1009] = 1'h0;
+    \8812 [1010] = 1'h0;
+    \8812 [1011] = 1'h0;
+    \8812 [1012] = 1'h0;
+    \8812 [1013] = 1'h0;
+    \8812 [1014] = 1'h0;
+    \8812 [1015] = 1'h0;
+    \8812 [1016] = 1'h0;
+    \8812 [1017] = 1'h0;
+    \8812 [1018] = 1'h0;
+    \8812 [1019] = 1'h0;
+    \8812 [1020] = 1'h0;
+    \8812 [1021] = 1'h0;
+    \8812 [1022] = 1'h0;
+    \8812 [1023] = 1'h0;
+    \8812 [1024] = 1'h0;
+    \8812 [1025] = 1'h0;
+    \8812 [1026] = 1'h0;
+    \8812 [1027] = 1'h0;
+    \8812 [1028] = 1'h0;
+    \8812 [1029] = 1'h0;
+    \8812 [1030] = 1'h0;
+    \8812 [1031] = 1'h0;
+    \8812 [1032] = 1'h0;
+    \8812 [1033] = 1'h0;
+    \8812 [1034] = 1'h0;
+    \8812 [1035] = 1'h0;
+    \8812 [1036] = 1'h0;
+    \8812 [1037] = 1'h0;
+    \8812 [1038] = 1'h0;
+    \8812 [1039] = 1'h0;
+    \8812 [1040] = 1'h0;
+    \8812 [1041] = 1'h0;
+    \8812 [1042] = 1'h0;
+    \8812 [1043] = 1'h0;
+    \8812 [1044] = 1'h0;
+    \8812 [1045] = 1'h0;
+    \8812 [1046] = 1'h0;
+    \8812 [1047] = 1'h0;
+    \8812 [1048] = 1'h0;
+    \8812 [1049] = 1'h0;
+    \8812 [1050] = 1'h0;
+    \8812 [1051] = 1'h0;
+    \8812 [1052] = 1'h0;
+    \8812 [1053] = 1'h0;
+    \8812 [1054] = 1'h0;
+    \8812 [1055] = 1'h0;
+    \8812 [1056] = 1'h0;
+    \8812 [1057] = 1'h0;
+    \8812 [1058] = 1'h0;
+    \8812 [1059] = 1'h0;
+    \8812 [1060] = 1'h0;
+    \8812 [1061] = 1'h0;
+    \8812 [1062] = 1'h0;
+    \8812 [1063] = 1'h0;
+    \8812 [1064] = 1'h0;
+    \8812 [1065] = 1'h0;
+    \8812 [1066] = 1'h0;
+    \8812 [1067] = 1'h0;
+    \8812 [1068] = 1'h0;
+    \8812 [1069] = 1'h0;
+    \8812 [1070] = 1'h0;
+    \8812 [1071] = 1'h0;
+    \8812 [1072] = 1'h0;
+    \8812 [1073] = 1'h0;
+    \8812 [1074] = 1'h0;
+    \8812 [1075] = 1'h0;
+    \8812 [1076] = 1'h0;
+    \8812 [1077] = 1'h0;
+    \8812 [1078] = 1'h0;
+    \8812 [1079] = 1'h0;
+    \8812 [1080] = 1'h0;
+    \8812 [1081] = 1'h0;
+    \8812 [1082] = 1'h0;
+    \8812 [1083] = 1'h0;
+    \8812 [1084] = 1'h0;
+    \8812 [1085] = 1'h0;
+    \8812 [1086] = 1'h0;
+    \8812 [1087] = 1'h0;
+    \8812 [1088] = 1'h0;
+    \8812 [1089] = 1'h0;
+    \8812 [1090] = 1'h0;
+    \8812 [1091] = 1'h0;
+    \8812 [1092] = 1'h0;
+    \8812 [1093] = 1'h0;
+    \8812 [1094] = 1'h0;
+    \8812 [1095] = 1'h0;
+    \8812 [1096] = 1'h0;
+    \8812 [1097] = 1'h0;
+    \8812 [1098] = 1'h0;
+    \8812 [1099] = 1'h0;
+    \8812 [1100] = 1'h0;
+    \8812 [1101] = 1'h0;
+    \8812 [1102] = 1'h0;
+    \8812 [1103] = 1'h0;
+    \8812 [1104] = 1'h0;
+    \8812 [1105] = 1'h0;
+    \8812 [1106] = 1'h0;
+    \8812 [1107] = 1'h0;
+    \8812 [1108] = 1'h0;
+    \8812 [1109] = 1'h0;
+    \8812 [1110] = 1'h0;
+    \8812 [1111] = 1'h0;
+    \8812 [1112] = 1'h0;
+    \8812 [1113] = 1'h0;
+    \8812 [1114] = 1'h0;
+    \8812 [1115] = 1'h0;
+    \8812 [1116] = 1'h0;
+    \8812 [1117] = 1'h0;
+    \8812 [1118] = 1'h0;
+    \8812 [1119] = 1'h0;
+    \8812 [1120] = 1'h0;
+    \8812 [1121] = 1'h0;
+    \8812 [1122] = 1'h0;
+    \8812 [1123] = 1'h0;
+    \8812 [1124] = 1'h0;
+    \8812 [1125] = 1'h0;
+    \8812 [1126] = 1'h0;
+    \8812 [1127] = 1'h0;
+    \8812 [1128] = 1'h0;
+    \8812 [1129] = 1'h0;
+    \8812 [1130] = 1'h0;
+    \8812 [1131] = 1'h0;
+    \8812 [1132] = 1'h0;
+    \8812 [1133] = 1'h0;
+    \8812 [1134] = 1'h0;
+    \8812 [1135] = 1'h0;
+    \8812 [1136] = 1'h0;
+    \8812 [1137] = 1'h0;
+    \8812 [1138] = 1'h0;
+    \8812 [1139] = 1'h0;
+    \8812 [1140] = 1'h0;
+    \8812 [1141] = 1'h0;
+    \8812 [1142] = 1'h0;
+    \8812 [1143] = 1'h0;
+    \8812 [1144] = 1'h0;
+    \8812 [1145] = 1'h0;
+    \8812 [1146] = 1'h0;
+    \8812 [1147] = 1'h0;
+    \8812 [1148] = 1'h0;
+    \8812 [1149] = 1'h0;
+    \8812 [1150] = 1'h0;
+    \8812 [1151] = 1'h0;
+    \8812 [1152] = 1'h0;
+    \8812 [1153] = 1'h0;
+    \8812 [1154] = 1'h0;
+    \8812 [1155] = 1'h0;
+    \8812 [1156] = 1'h0;
+    \8812 [1157] = 1'h0;
+    \8812 [1158] = 1'h0;
+    \8812 [1159] = 1'h0;
+    \8812 [1160] = 1'h0;
+    \8812 [1161] = 1'h0;
+    \8812 [1162] = 1'h0;
+    \8812 [1163] = 1'h0;
+    \8812 [1164] = 1'h0;
+    \8812 [1165] = 1'h0;
+    \8812 [1166] = 1'h0;
+    \8812 [1167] = 1'h0;
+    \8812 [1168] = 1'h0;
+    \8812 [1169] = 1'h0;
+    \8812 [1170] = 1'h0;
+    \8812 [1171] = 1'h0;
+    \8812 [1172] = 1'h0;
+    \8812 [1173] = 1'h0;
+    \8812 [1174] = 1'h0;
+    \8812 [1175] = 1'h0;
+    \8812 [1176] = 1'h0;
+    \8812 [1177] = 1'h0;
+    \8812 [1178] = 1'h0;
+    \8812 [1179] = 1'h0;
+    \8812 [1180] = 1'h0;
+    \8812 [1181] = 1'h0;
+    \8812 [1182] = 1'h0;
+    \8812 [1183] = 1'h0;
+    \8812 [1184] = 1'h0;
+    \8812 [1185] = 1'h0;
+    \8812 [1186] = 1'h0;
+    \8812 [1187] = 1'h0;
+    \8812 [1188] = 1'h0;
+    \8812 [1189] = 1'h0;
+    \8812 [1190] = 1'h0;
+    \8812 [1191] = 1'h0;
+    \8812 [1192] = 1'h0;
+    \8812 [1193] = 1'h0;
+    \8812 [1194] = 1'h0;
+    \8812 [1195] = 1'h0;
+    \8812 [1196] = 1'h0;
+    \8812 [1197] = 1'h0;
+    \8812 [1198] = 1'h0;
+    \8812 [1199] = 1'h0;
+    \8812 [1200] = 1'h0;
+    \8812 [1201] = 1'h0;
+    \8812 [1202] = 1'h0;
+    \8812 [1203] = 1'h0;
+    \8812 [1204] = 1'h0;
+    \8812 [1205] = 1'h0;
+    \8812 [1206] = 1'h0;
+    \8812 [1207] = 1'h0;
+    \8812 [1208] = 1'h0;
+    \8812 [1209] = 1'h0;
+    \8812 [1210] = 1'h0;
+    \8812 [1211] = 1'h0;
+    \8812 [1212] = 1'h0;
+    \8812 [1213] = 1'h0;
+    \8812 [1214] = 1'h0;
+    \8812 [1215] = 1'h0;
+    \8812 [1216] = 1'h0;
+    \8812 [1217] = 1'h0;
+    \8812 [1218] = 1'h0;
+    \8812 [1219] = 1'h0;
+    \8812 [1220] = 1'h0;
+    \8812 [1221] = 1'h0;
+    \8812 [1222] = 1'h0;
+    \8812 [1223] = 1'h0;
+    \8812 [1224] = 1'h0;
+    \8812 [1225] = 1'h0;
+    \8812 [1226] = 1'h0;
+    \8812 [1227] = 1'h0;
+    \8812 [1228] = 1'h0;
+    \8812 [1229] = 1'h0;
+    \8812 [1230] = 1'h0;
+    \8812 [1231] = 1'h0;
+    \8812 [1232] = 1'h0;
+    \8812 [1233] = 1'h0;
+    \8812 [1234] = 1'h0;
+    \8812 [1235] = 1'h0;
+    \8812 [1236] = 1'h0;
+    \8812 [1237] = 1'h0;
+    \8812 [1238] = 1'h0;
+    \8812 [1239] = 1'h0;
+    \8812 [1240] = 1'h0;
+    \8812 [1241] = 1'h0;
+    \8812 [1242] = 1'h0;
+    \8812 [1243] = 1'h0;
+    \8812 [1244] = 1'h0;
+    \8812 [1245] = 1'h0;
+    \8812 [1246] = 1'h0;
+    \8812 [1247] = 1'h0;
+    \8812 [1248] = 1'h0;
+    \8812 [1249] = 1'h0;
+    \8812 [1250] = 1'h0;
+    \8812 [1251] = 1'h0;
+    \8812 [1252] = 1'h0;
+    \8812 [1253] = 1'h0;
+    \8812 [1254] = 1'h0;
+    \8812 [1255] = 1'h0;
+    \8812 [1256] = 1'h0;
+    \8812 [1257] = 1'h0;
+    \8812 [1258] = 1'h0;
+    \8812 [1259] = 1'h0;
+    \8812 [1260] = 1'h0;
+    \8812 [1261] = 1'h0;
+    \8812 [1262] = 1'h0;
+    \8812 [1263] = 1'h0;
+    \8812 [1264] = 1'h0;
+    \8812 [1265] = 1'h0;
+    \8812 [1266] = 1'h0;
+    \8812 [1267] = 1'h0;
+    \8812 [1268] = 1'h0;
+    \8812 [1269] = 1'h0;
+    \8812 [1270] = 1'h0;
+    \8812 [1271] = 1'h0;
+    \8812 [1272] = 1'h0;
+    \8812 [1273] = 1'h0;
+    \8812 [1274] = 1'h0;
+    \8812 [1275] = 1'h0;
+    \8812 [1276] = 1'h0;
+    \8812 [1277] = 1'h0;
+    \8812 [1278] = 1'h0;
+    \8812 [1279] = 1'h0;
+    \8812 [1280] = 1'h0;
+    \8812 [1281] = 1'h0;
+    \8812 [1282] = 1'h0;
+    \8812 [1283] = 1'h0;
+    \8812 [1284] = 1'h0;
+    \8812 [1285] = 1'h0;
+    \8812 [1286] = 1'h0;
+    \8812 [1287] = 1'h0;
+    \8812 [1288] = 1'h0;
+    \8812 [1289] = 1'h0;
+    \8812 [1290] = 1'h0;
+    \8812 [1291] = 1'h0;
+    \8812 [1292] = 1'h0;
+    \8812 [1293] = 1'h0;
+    \8812 [1294] = 1'h0;
+    \8812 [1295] = 1'h0;
+    \8812 [1296] = 1'h0;
+    \8812 [1297] = 1'h0;
+    \8812 [1298] = 1'h0;
+    \8812 [1299] = 1'h0;
+    \8812 [1300] = 1'h0;
+    \8812 [1301] = 1'h0;
+    \8812 [1302] = 1'h0;
+    \8812 [1303] = 1'h0;
+    \8812 [1304] = 1'h0;
+    \8812 [1305] = 1'h0;
+    \8812 [1306] = 1'h0;
+    \8812 [1307] = 1'h0;
+    \8812 [1308] = 1'h0;
+    \8812 [1309] = 1'h0;
+    \8812 [1310] = 1'h0;
+    \8812 [1311] = 1'h0;
+    \8812 [1312] = 1'h0;
+    \8812 [1313] = 1'h0;
+    \8812 [1314] = 1'h0;
+    \8812 [1315] = 1'h0;
+    \8812 [1316] = 1'h0;
+    \8812 [1317] = 1'h0;
+    \8812 [1318] = 1'h0;
+    \8812 [1319] = 1'h0;
+    \8812 [1320] = 1'h0;
+    \8812 [1321] = 1'h0;
+    \8812 [1322] = 1'h0;
+    \8812 [1323] = 1'h0;
+    \8812 [1324] = 1'h0;
+    \8812 [1325] = 1'h0;
+    \8812 [1326] = 1'h0;
+    \8812 [1327] = 1'h0;
+    \8812 [1328] = 1'h0;
+    \8812 [1329] = 1'h0;
+    \8812 [1330] = 1'h0;
+    \8812 [1331] = 1'h0;
+    \8812 [1332] = 1'h0;
+    \8812 [1333] = 1'h0;
+    \8812 [1334] = 1'h0;
+    \8812 [1335] = 1'h0;
+    \8812 [1336] = 1'h0;
+    \8812 [1337] = 1'h0;
+    \8812 [1338] = 1'h0;
+    \8812 [1339] = 1'h0;
+    \8812 [1340] = 1'h0;
+    \8812 [1341] = 1'h0;
+    \8812 [1342] = 1'h0;
+    \8812 [1343] = 1'h0;
+    \8812 [1344] = 1'h0;
+    \8812 [1345] = 1'h0;
+    \8812 [1346] = 1'h0;
+    \8812 [1347] = 1'h0;
+    \8812 [1348] = 1'h0;
+    \8812 [1349] = 1'h0;
+    \8812 [1350] = 1'h0;
+    \8812 [1351] = 1'h0;
+    \8812 [1352] = 1'h0;
+    \8812 [1353] = 1'h0;
+    \8812 [1354] = 1'h0;
+    \8812 [1355] = 1'h0;
+    \8812 [1356] = 1'h0;
+    \8812 [1357] = 1'h0;
+    \8812 [1358] = 1'h0;
+    \8812 [1359] = 1'h0;
+    \8812 [1360] = 1'h0;
+    \8812 [1361] = 1'h0;
+    \8812 [1362] = 1'h0;
+    \8812 [1363] = 1'h0;
+    \8812 [1364] = 1'h0;
+    \8812 [1365] = 1'h0;
+    \8812 [1366] = 1'h0;
+    \8812 [1367] = 1'h0;
+    \8812 [1368] = 1'h0;
+    \8812 [1369] = 1'h0;
+    \8812 [1370] = 1'h0;
+    \8812 [1371] = 1'h0;
+    \8812 [1372] = 1'h0;
+    \8812 [1373] = 1'h0;
+    \8812 [1374] = 1'h0;
+    \8812 [1375] = 1'h0;
+    \8812 [1376] = 1'h0;
+    \8812 [1377] = 1'h0;
+    \8812 [1378] = 1'h0;
+    \8812 [1379] = 1'h0;
+    \8812 [1380] = 1'h0;
+    \8812 [1381] = 1'h0;
+    \8812 [1382] = 1'h0;
+    \8812 [1383] = 1'h0;
+    \8812 [1384] = 1'h0;
+    \8812 [1385] = 1'h0;
+    \8812 [1386] = 1'h0;
+    \8812 [1387] = 1'h0;
+    \8812 [1388] = 1'h0;
+    \8812 [1389] = 1'h0;
+    \8812 [1390] = 1'h0;
+    \8812 [1391] = 1'h0;
+    \8812 [1392] = 1'h0;
+    \8812 [1393] = 1'h0;
+    \8812 [1394] = 1'h0;
+    \8812 [1395] = 1'h0;
+    \8812 [1396] = 1'h0;
+    \8812 [1397] = 1'h0;
+    \8812 [1398] = 1'h0;
+    \8812 [1399] = 1'h0;
+    \8812 [1400] = 1'h0;
+    \8812 [1401] = 1'h0;
+    \8812 [1402] = 1'h0;
+    \8812 [1403] = 1'h0;
+    \8812 [1404] = 1'h0;
+    \8812 [1405] = 1'h0;
+    \8812 [1406] = 1'h0;
+    \8812 [1407] = 1'h0;
+    \8812 [1408] = 1'h0;
+    \8812 [1409] = 1'h0;
+    \8812 [1410] = 1'h0;
+    \8812 [1411] = 1'h0;
+    \8812 [1412] = 1'h0;
+    \8812 [1413] = 1'h0;
+    \8812 [1414] = 1'h0;
+    \8812 [1415] = 1'h0;
+    \8812 [1416] = 1'h0;
+    \8812 [1417] = 1'h0;
+    \8812 [1418] = 1'h0;
+    \8812 [1419] = 1'h0;
+    \8812 [1420] = 1'h0;
+    \8812 [1421] = 1'h0;
+    \8812 [1422] = 1'h0;
+    \8812 [1423] = 1'h0;
+    \8812 [1424] = 1'h0;
+    \8812 [1425] = 1'h0;
+    \8812 [1426] = 1'h0;
+    \8812 [1427] = 1'h0;
+    \8812 [1428] = 1'h0;
+    \8812 [1429] = 1'h0;
+    \8812 [1430] = 1'h0;
+    \8812 [1431] = 1'h0;
+    \8812 [1432] = 1'h0;
+    \8812 [1433] = 1'h0;
+    \8812 [1434] = 1'h0;
+    \8812 [1435] = 1'h0;
+    \8812 [1436] = 1'h0;
+    \8812 [1437] = 1'h0;
+    \8812 [1438] = 1'h0;
+    \8812 [1439] = 1'h0;
+    \8812 [1440] = 1'h0;
+    \8812 [1441] = 1'h0;
+    \8812 [1442] = 1'h0;
+    \8812 [1443] = 1'h0;
+    \8812 [1444] = 1'h0;
+    \8812 [1445] = 1'h0;
+    \8812 [1446] = 1'h0;
+    \8812 [1447] = 1'h0;
+    \8812 [1448] = 1'h0;
+    \8812 [1449] = 1'h0;
+    \8812 [1450] = 1'h0;
+    \8812 [1451] = 1'h0;
+    \8812 [1452] = 1'h0;
+    \8812 [1453] = 1'h0;
+    \8812 [1454] = 1'h0;
+    \8812 [1455] = 1'h0;
+    \8812 [1456] = 1'h0;
+    \8812 [1457] = 1'h0;
+    \8812 [1458] = 1'h0;
+    \8812 [1459] = 1'h0;
+    \8812 [1460] = 1'h0;
+    \8812 [1461] = 1'h0;
+    \8812 [1462] = 1'h0;
+    \8812 [1463] = 1'h0;
+    \8812 [1464] = 1'h0;
+    \8812 [1465] = 1'h0;
+    \8812 [1466] = 1'h0;
+    \8812 [1467] = 1'h0;
+    \8812 [1468] = 1'h0;
+    \8812 [1469] = 1'h0;
+    \8812 [1470] = 1'h0;
+    \8812 [1471] = 1'h0;
+    \8812 [1472] = 1'h0;
+    \8812 [1473] = 1'h0;
+    \8812 [1474] = 1'h0;
+    \8812 [1475] = 1'h0;
+    \8812 [1476] = 1'h0;
+    \8812 [1477] = 1'h0;
+    \8812 [1478] = 1'h0;
+    \8812 [1479] = 1'h0;
+    \8812 [1480] = 1'h0;
+    \8812 [1481] = 1'h0;
+    \8812 [1482] = 1'h0;
+    \8812 [1483] = 1'h0;
+    \8812 [1484] = 1'h0;
+    \8812 [1485] = 1'h0;
+    \8812 [1486] = 1'h0;
+    \8812 [1487] = 1'h0;
+    \8812 [1488] = 1'h0;
+    \8812 [1489] = 1'h0;
+    \8812 [1490] = 1'h0;
+    \8812 [1491] = 1'h0;
+    \8812 [1492] = 1'h0;
+    \8812 [1493] = 1'h0;
+    \8812 [1494] = 1'h0;
+    \8812 [1495] = 1'h0;
+    \8812 [1496] = 1'h0;
+    \8812 [1497] = 1'h0;
+    \8812 [1498] = 1'h0;
+    \8812 [1499] = 1'h0;
+    \8812 [1500] = 1'h0;
+    \8812 [1501] = 1'h0;
+    \8812 [1502] = 1'h0;
+    \8812 [1503] = 1'h0;
+    \8812 [1504] = 1'h0;
+    \8812 [1505] = 1'h0;
+    \8812 [1506] = 1'h0;
+    \8812 [1507] = 1'h0;
+    \8812 [1508] = 1'h0;
+    \8812 [1509] = 1'h0;
+    \8812 [1510] = 1'h0;
+    \8812 [1511] = 1'h0;
+    \8812 [1512] = 1'h0;
+    \8812 [1513] = 1'h0;
+    \8812 [1514] = 1'h0;
+    \8812 [1515] = 1'h0;
+    \8812 [1516] = 1'h0;
+    \8812 [1517] = 1'h0;
+    \8812 [1518] = 1'h0;
+    \8812 [1519] = 1'h0;
+    \8812 [1520] = 1'h0;
+    \8812 [1521] = 1'h0;
+    \8812 [1522] = 1'h0;
+    \8812 [1523] = 1'h0;
+    \8812 [1524] = 1'h0;
+    \8812 [1525] = 1'h0;
+    \8812 [1526] = 1'h0;
+    \8812 [1527] = 1'h0;
+    \8812 [1528] = 1'h0;
+    \8812 [1529] = 1'h0;
+    \8812 [1530] = 1'h0;
+    \8812 [1531] = 1'h0;
+    \8812 [1532] = 1'h0;
+    \8812 [1533] = 1'h0;
+    \8812 [1534] = 1'h0;
+    \8812 [1535] = 1'h0;
+    \8812 [1536] = 1'h0;
+    \8812 [1537] = 1'h0;
+    \8812 [1538] = 1'h0;
+    \8812 [1539] = 1'h0;
+    \8812 [1540] = 1'h0;
+    \8812 [1541] = 1'h0;
+    \8812 [1542] = 1'h0;
+    \8812 [1543] = 1'h0;
+    \8812 [1544] = 1'h0;
+    \8812 [1545] = 1'h0;
+    \8812 [1546] = 1'h0;
+    \8812 [1547] = 1'h0;
+    \8812 [1548] = 1'h0;
+    \8812 [1549] = 1'h0;
+    \8812 [1550] = 1'h0;
+    \8812 [1551] = 1'h0;
+    \8812 [1552] = 1'h0;
+    \8812 [1553] = 1'h0;
+    \8812 [1554] = 1'h0;
+    \8812 [1555] = 1'h0;
+    \8812 [1556] = 1'h0;
+    \8812 [1557] = 1'h0;
+    \8812 [1558] = 1'h0;
+    \8812 [1559] = 1'h0;
+    \8812 [1560] = 1'h0;
+    \8812 [1561] = 1'h0;
+    \8812 [1562] = 1'h0;
+    \8812 [1563] = 1'h0;
+    \8812 [1564] = 1'h0;
+    \8812 [1565] = 1'h0;
+    \8812 [1566] = 1'h0;
+    \8812 [1567] = 1'h0;
+    \8812 [1568] = 1'h0;
+    \8812 [1569] = 1'h0;
+    \8812 [1570] = 1'h0;
+    \8812 [1571] = 1'h0;
+    \8812 [1572] = 1'h0;
+    \8812 [1573] = 1'h0;
+    \8812 [1574] = 1'h0;
+    \8812 [1575] = 1'h0;
+    \8812 [1576] = 1'h0;
+    \8812 [1577] = 1'h0;
+    \8812 [1578] = 1'h0;
+    \8812 [1579] = 1'h0;
+    \8812 [1580] = 1'h0;
+    \8812 [1581] = 1'h0;
+    \8812 [1582] = 1'h0;
+    \8812 [1583] = 1'h0;
+    \8812 [1584] = 1'h0;
+    \8812 [1585] = 1'h0;
+    \8812 [1586] = 1'h0;
+    \8812 [1587] = 1'h0;
+    \8812 [1588] = 1'h0;
+    \8812 [1589] = 1'h0;
+    \8812 [1590] = 1'h0;
+    \8812 [1591] = 1'h0;
+    \8812 [1592] = 1'h0;
+    \8812 [1593] = 1'h0;
+    \8812 [1594] = 1'h0;
+    \8812 [1595] = 1'h0;
+    \8812 [1596] = 1'h0;
+    \8812 [1597] = 1'h0;
+    \8812 [1598] = 1'h0;
+    \8812 [1599] = 1'h0;
+    \8812 [1600] = 1'h0;
+    \8812 [1601] = 1'h0;
+    \8812 [1602] = 1'h0;
+    \8812 [1603] = 1'h0;
+    \8812 [1604] = 1'h0;
+    \8812 [1605] = 1'h0;
+    \8812 [1606] = 1'h0;
+    \8812 [1607] = 1'h0;
+    \8812 [1608] = 1'h0;
+    \8812 [1609] = 1'h0;
+    \8812 [1610] = 1'h0;
+    \8812 [1611] = 1'h0;
+    \8812 [1612] = 1'h0;
+    \8812 [1613] = 1'h0;
+    \8812 [1614] = 1'h0;
+    \8812 [1615] = 1'h0;
+    \8812 [1616] = 1'h0;
+    \8812 [1617] = 1'h0;
+    \8812 [1618] = 1'h0;
+    \8812 [1619] = 1'h0;
+    \8812 [1620] = 1'h0;
+    \8812 [1621] = 1'h0;
+    \8812 [1622] = 1'h0;
+    \8812 [1623] = 1'h0;
+    \8812 [1624] = 1'h0;
+    \8812 [1625] = 1'h0;
+    \8812 [1626] = 1'h0;
+    \8812 [1627] = 1'h0;
+    \8812 [1628] = 1'h0;
+    \8812 [1629] = 1'h0;
+    \8812 [1630] = 1'h0;
+    \8812 [1631] = 1'h0;
+    \8812 [1632] = 1'h0;
+    \8812 [1633] = 1'h0;
+    \8812 [1634] = 1'h0;
+    \8812 [1635] = 1'h0;
+    \8812 [1636] = 1'h0;
+    \8812 [1637] = 1'h0;
+    \8812 [1638] = 1'h0;
+    \8812 [1639] = 1'h0;
+    \8812 [1640] = 1'h0;
+    \8812 [1641] = 1'h0;
+    \8812 [1642] = 1'h0;
+    \8812 [1643] = 1'h0;
+    \8812 [1644] = 1'h0;
+    \8812 [1645] = 1'h0;
+    \8812 [1646] = 1'h0;
+    \8812 [1647] = 1'h0;
+    \8812 [1648] = 1'h0;
+    \8812 [1649] = 1'h0;
+    \8812 [1650] = 1'h0;
+    \8812 [1651] = 1'h0;
+    \8812 [1652] = 1'h0;
+    \8812 [1653] = 1'h0;
+    \8812 [1654] = 1'h0;
+    \8812 [1655] = 1'h0;
+    \8812 [1656] = 1'h0;
+    \8812 [1657] = 1'h0;
+    \8812 [1658] = 1'h0;
+    \8812 [1659] = 1'h0;
+    \8812 [1660] = 1'h0;
+    \8812 [1661] = 1'h0;
+    \8812 [1662] = 1'h0;
+    \8812 [1663] = 1'h0;
+    \8812 [1664] = 1'h0;
+    \8812 [1665] = 1'h0;
+    \8812 [1666] = 1'h0;
+    \8812 [1667] = 1'h0;
+    \8812 [1668] = 1'h0;
+    \8812 [1669] = 1'h0;
+    \8812 [1670] = 1'h0;
+    \8812 [1671] = 1'h0;
+    \8812 [1672] = 1'h0;
+    \8812 [1673] = 1'h0;
+    \8812 [1674] = 1'h0;
+    \8812 [1675] = 1'h0;
+    \8812 [1676] = 1'h0;
+    \8812 [1677] = 1'h0;
+    \8812 [1678] = 1'h0;
+    \8812 [1679] = 1'h0;
+    \8812 [1680] = 1'h0;
+    \8812 [1681] = 1'h0;
+    \8812 [1682] = 1'h0;
+    \8812 [1683] = 1'h0;
+    \8812 [1684] = 1'h0;
+    \8812 [1685] = 1'h0;
+    \8812 [1686] = 1'h0;
+    \8812 [1687] = 1'h0;
+    \8812 [1688] = 1'h0;
+    \8812 [1689] = 1'h0;
+    \8812 [1690] = 1'h0;
+    \8812 [1691] = 1'h0;
+    \8812 [1692] = 1'h0;
+    \8812 [1693] = 1'h0;
+    \8812 [1694] = 1'h0;
+    \8812 [1695] = 1'h0;
+    \8812 [1696] = 1'h0;
+    \8812 [1697] = 1'h0;
+    \8812 [1698] = 1'h0;
+    \8812 [1699] = 1'h0;
+    \8812 [1700] = 1'h0;
+    \8812 [1701] = 1'h0;
+    \8812 [1702] = 1'h0;
+    \8812 [1703] = 1'h0;
+    \8812 [1704] = 1'h0;
+    \8812 [1705] = 1'h0;
+    \8812 [1706] = 1'h0;
+    \8812 [1707] = 1'h0;
+    \8812 [1708] = 1'h0;
+    \8812 [1709] = 1'h0;
+    \8812 [1710] = 1'h0;
+    \8812 [1711] = 1'h0;
+    \8812 [1712] = 1'h0;
+    \8812 [1713] = 1'h0;
+    \8812 [1714] = 1'h0;
+    \8812 [1715] = 1'h0;
+    \8812 [1716] = 1'h0;
+    \8812 [1717] = 1'h0;
+    \8812 [1718] = 1'h0;
+    \8812 [1719] = 1'h0;
+    \8812 [1720] = 1'h0;
+    \8812 [1721] = 1'h0;
+    \8812 [1722] = 1'h0;
+    \8812 [1723] = 1'h0;
+    \8812 [1724] = 1'h0;
+    \8812 [1725] = 1'h0;
+    \8812 [1726] = 1'h0;
+    \8812 [1727] = 1'h0;
+    \8812 [1728] = 1'h0;
+    \8812 [1729] = 1'h0;
+    \8812 [1730] = 1'h0;
+    \8812 [1731] = 1'h0;
+    \8812 [1732] = 1'h0;
+    \8812 [1733] = 1'h0;
+    \8812 [1734] = 1'h0;
+    \8812 [1735] = 1'h0;
+    \8812 [1736] = 1'h0;
+    \8812 [1737] = 1'h0;
+    \8812 [1738] = 1'h0;
+    \8812 [1739] = 1'h0;
+    \8812 [1740] = 1'h0;
+    \8812 [1741] = 1'h0;
+    \8812 [1742] = 1'h0;
+    \8812 [1743] = 1'h0;
+    \8812 [1744] = 1'h0;
+    \8812 [1745] = 1'h0;
+    \8812 [1746] = 1'h0;
+    \8812 [1747] = 1'h0;
+    \8812 [1748] = 1'h0;
+    \8812 [1749] = 1'h0;
+    \8812 [1750] = 1'h0;
+    \8812 [1751] = 1'h0;
+    \8812 [1752] = 1'h0;
+    \8812 [1753] = 1'h0;
+    \8812 [1754] = 1'h0;
+    \8812 [1755] = 1'h0;
+    \8812 [1756] = 1'h0;
+    \8812 [1757] = 1'h0;
+    \8812 [1758] = 1'h0;
+    \8812 [1759] = 1'h0;
+    \8812 [1760] = 1'h0;
+    \8812 [1761] = 1'h0;
+    \8812 [1762] = 1'h0;
+    \8812 [1763] = 1'h0;
+    \8812 [1764] = 1'h0;
+    \8812 [1765] = 1'h0;
+    \8812 [1766] = 1'h0;
+    \8812 [1767] = 1'h0;
+    \8812 [1768] = 1'h0;
+    \8812 [1769] = 1'h0;
+    \8812 [1770] = 1'h0;
+    \8812 [1771] = 1'h0;
+    \8812 [1772] = 1'h0;
+    \8812 [1773] = 1'h0;
+    \8812 [1774] = 1'h0;
+    \8812 [1775] = 1'h0;
+    \8812 [1776] = 1'h0;
+    \8812 [1777] = 1'h0;
+    \8812 [1778] = 1'h0;
+    \8812 [1779] = 1'h0;
+    \8812 [1780] = 1'h0;
+    \8812 [1781] = 1'h0;
+    \8812 [1782] = 1'h0;
+    \8812 [1783] = 1'h0;
+    \8812 [1784] = 1'h0;
+    \8812 [1785] = 1'h0;
+    \8812 [1786] = 1'h0;
+    \8812 [1787] = 1'h0;
+    \8812 [1788] = 1'h0;
+    \8812 [1789] = 1'h0;
+    \8812 [1790] = 1'h0;
+    \8812 [1791] = 1'h0;
+    \8812 [1792] = 1'h0;
+    \8812 [1793] = 1'h0;
+    \8812 [1794] = 1'h0;
+    \8812 [1795] = 1'h0;
+    \8812 [1796] = 1'h0;
+    \8812 [1797] = 1'h0;
+    \8812 [1798] = 1'h0;
+    \8812 [1799] = 1'h0;
+    \8812 [1800] = 1'h0;
+    \8812 [1801] = 1'h0;
+    \8812 [1802] = 1'h0;
+    \8812 [1803] = 1'h0;
+    \8812 [1804] = 1'h0;
+    \8812 [1805] = 1'h0;
+    \8812 [1806] = 1'h0;
+    \8812 [1807] = 1'h0;
+    \8812 [1808] = 1'h0;
+    \8812 [1809] = 1'h0;
+    \8812 [1810] = 1'h0;
+    \8812 [1811] = 1'h0;
+    \8812 [1812] = 1'h0;
+    \8812 [1813] = 1'h0;
+    \8812 [1814] = 1'h0;
+    \8812 [1815] = 1'h0;
+    \8812 [1816] = 1'h0;
+    \8812 [1817] = 1'h0;
+    \8812 [1818] = 1'h0;
+    \8812 [1819] = 1'h0;
+    \8812 [1820] = 1'h0;
+    \8812 [1821] = 1'h0;
+    \8812 [1822] = 1'h0;
+    \8812 [1823] = 1'h0;
+    \8812 [1824] = 1'h0;
+    \8812 [1825] = 1'h0;
+    \8812 [1826] = 1'h0;
+    \8812 [1827] = 1'h0;
+    \8812 [1828] = 1'h0;
+    \8812 [1829] = 1'h0;
+    \8812 [1830] = 1'h0;
+    \8812 [1831] = 1'h0;
+    \8812 [1832] = 1'h0;
+    \8812 [1833] = 1'h0;
+    \8812 [1834] = 1'h0;
+    \8812 [1835] = 1'h0;
+    \8812 [1836] = 1'h0;
+    \8812 [1837] = 1'h0;
+    \8812 [1838] = 1'h0;
+    \8812 [1839] = 1'h0;
+    \8812 [1840] = 1'h0;
+    \8812 [1841] = 1'h0;
+    \8812 [1842] = 1'h0;
+    \8812 [1843] = 1'h0;
+    \8812 [1844] = 1'h0;
+    \8812 [1845] = 1'h0;
+    \8812 [1846] = 1'h0;
+    \8812 [1847] = 1'h0;
+    \8812 [1848] = 1'h0;
+    \8812 [1849] = 1'h0;
+    \8812 [1850] = 1'h0;
+    \8812 [1851] = 1'h0;
+    \8812 [1852] = 1'h0;
+    \8812 [1853] = 1'h0;
+    \8812 [1854] = 1'h0;
+    \8812 [1855] = 1'h0;
+    \8812 [1856] = 1'h0;
+    \8812 [1857] = 1'h0;
+    \8812 [1858] = 1'h0;
+    \8812 [1859] = 1'h0;
+    \8812 [1860] = 1'h0;
+    \8812 [1861] = 1'h0;
+    \8812 [1862] = 1'h0;
+    \8812 [1863] = 1'h0;
+    \8812 [1864] = 1'h0;
+    \8812 [1865] = 1'h0;
+    \8812 [1866] = 1'h0;
+    \8812 [1867] = 1'h0;
+    \8812 [1868] = 1'h0;
+    \8812 [1869] = 1'h0;
+    \8812 [1870] = 1'h0;
+    \8812 [1871] = 1'h0;
+    \8812 [1872] = 1'h0;
+    \8812 [1873] = 1'h0;
+    \8812 [1874] = 1'h0;
+    \8812 [1875] = 1'h0;
+    \8812 [1876] = 1'h0;
+    \8812 [1877] = 1'h0;
+    \8812 [1878] = 1'h0;
+    \8812 [1879] = 1'h0;
+    \8812 [1880] = 1'h0;
+    \8812 [1881] = 1'h0;
+    \8812 [1882] = 1'h0;
+    \8812 [1883] = 1'h0;
+    \8812 [1884] = 1'h0;
+    \8812 [1885] = 1'h0;
+    \8812 [1886] = 1'h0;
+    \8812 [1887] = 1'h0;
+    \8812 [1888] = 1'h0;
+    \8812 [1889] = 1'h0;
+    \8812 [1890] = 1'h0;
+    \8812 [1891] = 1'h0;
+    \8812 [1892] = 1'h0;
+    \8812 [1893] = 1'h0;
+    \8812 [1894] = 1'h0;
+    \8812 [1895] = 1'h0;
+    \8812 [1896] = 1'h0;
+    \8812 [1897] = 1'h0;
+    \8812 [1898] = 1'h0;
+    \8812 [1899] = 1'h0;
+    \8812 [1900] = 1'h0;
+    \8812 [1901] = 1'h0;
+    \8812 [1902] = 1'h0;
+    \8812 [1903] = 1'h0;
+    \8812 [1904] = 1'h0;
+    \8812 [1905] = 1'h0;
+    \8812 [1906] = 1'h0;
+    \8812 [1907] = 1'h0;
+    \8812 [1908] = 1'h0;
+    \8812 [1909] = 1'h0;
+    \8812 [1910] = 1'h0;
+    \8812 [1911] = 1'h0;
+    \8812 [1912] = 1'h0;
+    \8812 [1913] = 1'h0;
+    \8812 [1914] = 1'h0;
+    \8812 [1915] = 1'h0;
+    \8812 [1916] = 1'h0;
+    \8812 [1917] = 1'h0;
+    \8812 [1918] = 1'h0;
+    \8812 [1919] = 1'h0;
+    \8812 [1920] = 1'h0;
+    \8812 [1921] = 1'h0;
+    \8812 [1922] = 1'h0;
+    \8812 [1923] = 1'h0;
+    \8812 [1924] = 1'h0;
+    \8812 [1925] = 1'h0;
+    \8812 [1926] = 1'h0;
+    \8812 [1927] = 1'h0;
+    \8812 [1928] = 1'h0;
+    \8812 [1929] = 1'h0;
+    \8812 [1930] = 1'h0;
+    \8812 [1931] = 1'h0;
+    \8812 [1932] = 1'h0;
+    \8812 [1933] = 1'h0;
+    \8812 [1934] = 1'h0;
+    \8812 [1935] = 1'h0;
+    \8812 [1936] = 1'h0;
+    \8812 [1937] = 1'h0;
+    \8812 [1938] = 1'h0;
+    \8812 [1939] = 1'h0;
+    \8812 [1940] = 1'h0;
+    \8812 [1941] = 1'h0;
+    \8812 [1942] = 1'h0;
+    \8812 [1943] = 1'h0;
+    \8812 [1944] = 1'h0;
+    \8812 [1945] = 1'h0;
+    \8812 [1946] = 1'h0;
+    \8812 [1947] = 1'h0;
+    \8812 [1948] = 1'h0;
+    \8812 [1949] = 1'h0;
+    \8812 [1950] = 1'h0;
+    \8812 [1951] = 1'h0;
+    \8812 [1952] = 1'h0;
+    \8812 [1953] = 1'h0;
+    \8812 [1954] = 1'h0;
+    \8812 [1955] = 1'h0;
+    \8812 [1956] = 1'h0;
+    \8812 [1957] = 1'h0;
+    \8812 [1958] = 1'h0;
+    \8812 [1959] = 1'h0;
+    \8812 [1960] = 1'h0;
+    \8812 [1961] = 1'h0;
+    \8812 [1962] = 1'h0;
+    \8812 [1963] = 1'h0;
+    \8812 [1964] = 1'h0;
+    \8812 [1965] = 1'h0;
+    \8812 [1966] = 1'h0;
+    \8812 [1967] = 1'h0;
+    \8812 [1968] = 1'h0;
+    \8812 [1969] = 1'h0;
+    \8812 [1970] = 1'h0;
+    \8812 [1971] = 1'h0;
+    \8812 [1972] = 1'h0;
+    \8812 [1973] = 1'h0;
+    \8812 [1974] = 1'h0;
+    \8812 [1975] = 1'h0;
+    \8812 [1976] = 1'h0;
+    \8812 [1977] = 1'h0;
+    \8812 [1978] = 1'h0;
+    \8812 [1979] = 1'h0;
+    \8812 [1980] = 1'h0;
+    \8812 [1981] = 1'h0;
+    \8812 [1982] = 1'h0;
+    \8812 [1983] = 1'h0;
+    \8812 [1984] = 1'h0;
+    \8812 [1985] = 1'h0;
+    \8812 [1986] = 1'h0;
+    \8812 [1987] = 1'h0;
+    \8812 [1988] = 1'h0;
+    \8812 [1989] = 1'h0;
+    \8812 [1990] = 1'h0;
+    \8812 [1991] = 1'h0;
+    \8812 [1992] = 1'h0;
+    \8812 [1993] = 1'h0;
+    \8812 [1994] = 1'h0;
+    \8812 [1995] = 1'h0;
+    \8812 [1996] = 1'h0;
+    \8812 [1997] = 1'h0;
+    \8812 [1998] = 1'h0;
+    \8812 [1999] = 1'h0;
+    \8812 [2000] = 1'h0;
+    \8812 [2001] = 1'h0;
+    \8812 [2002] = 1'h0;
+    \8812 [2003] = 1'h0;
+    \8812 [2004] = 1'h0;
+    \8812 [2005] = 1'h0;
+    \8812 [2006] = 1'h0;
+    \8812 [2007] = 1'h0;
+    \8812 [2008] = 1'h0;
+    \8812 [2009] = 1'h0;
+    \8812 [2010] = 1'h0;
+    \8812 [2011] = 1'h0;
+    \8812 [2012] = 1'h0;
+    \8812 [2013] = 1'h0;
+    \8812 [2014] = 1'h0;
+    \8812 [2015] = 1'h0;
+    \8812 [2016] = 1'h0;
+    \8812 [2017] = 1'h0;
+    \8812 [2018] = 1'h0;
+    \8812 [2019] = 1'h0;
+    \8812 [2020] = 1'h0;
+    \8812 [2021] = 1'h0;
+    \8812 [2022] = 1'h0;
+    \8812 [2023] = 1'h0;
+    \8812 [2024] = 1'h0;
+    \8812 [2025] = 1'h0;
+    \8812 [2026] = 1'h0;
+    \8812 [2027] = 1'h0;
+    \8812 [2028] = 1'h0;
+    \8812 [2029] = 1'h0;
+    \8812 [2030] = 1'h0;
+    \8812 [2031] = 1'h0;
+    \8812 [2032] = 1'h0;
+    \8812 [2033] = 1'h0;
+    \8812 [2034] = 1'h0;
+    \8812 [2035] = 1'h0;
+    \8812 [2036] = 1'h0;
+    \8812 [2037] = 1'h0;
+    \8812 [2038] = 1'h0;
+    \8812 [2039] = 1'h0;
+    \8812 [2040] = 1'h0;
+    \8812 [2041] = 1'h0;
+    \8812 [2042] = 1'h0;
+    \8812 [2043] = 1'h0;
+    \8812 [2044] = 1'h0;
+    \8812 [2045] = 1'h0;
+    \8812 [2046] = 1'h0;
+    \8812 [2047] = 1'h0;
+  end
+  assign _127_ = \8812 [_027_];
+  reg [40:0] \8814  [63:0];
+  initial begin
+    \8814 [0] = 41'h00000000000;
+    \8814 [1] = 41'h00000000000;
+    \8814 [2] = 41'h00000000000;
+    \8814 [3] = 41'h00000000000;
+    \8814 [4] = 41'h00000000000;
+    \8814 [5] = 41'h00000000000;
+    \8814 [6] = 41'h00000000000;
+    \8814 [7] = 41'h00000000000;
+    \8814 [8] = 41'h00000000000;
+    \8814 [9] = 41'h00000000000;
+    \8814 [10] = 41'h00000000000;
+    \8814 [11] = 41'h00000000000;
+    \8814 [12] = 41'h050000509ad;
+    \8814 [13] = 41'h00000000000;
+    \8814 [14] = 41'h040000509b1;
+    \8814 [15] = 41'h050000509b1;
+    \8814 [16] = 41'h00000000000;
+    \8814 [17] = 41'h00000000000;
+    \8814 [18] = 41'h00000000000;
+    \8814 [19] = 41'h00000000000;
+    \8814 [20] = 41'h00000000000;
+    \8814 [21] = 41'h00000000000;
+    \8814 [22] = 41'h00000000000;
+    \8814 [23] = 41'h00000000000;
+    \8814 [24] = 41'h00000000000;
+    \8814 [25] = 41'h00000000000;
+    \8814 [26] = 41'h00000000000;
+    \8814 [27] = 41'h00000000000;
+    \8814 [28] = 41'h00000000000;
+    \8814 [29] = 41'h00000000000;
+    \8814 [30] = 41'h00000000000;
+    \8814 [31] = 41'h00000000000;
+    \8814 [32] = 41'h00000000000;
+    \8814 [33] = 41'h00000000000;
+    \8814 [34] = 41'h00000000000;
+    \8814 [35] = 41'h00000000000;
+    \8814 [36] = 41'h00000000000;
+    \8814 [37] = 41'h00000000000;
+    \8814 [38] = 41'h00000000000;
+    \8814 [39] = 41'h00000000000;
+    \8814 [40] = 41'h00000000000;
+    \8814 [41] = 41'h00000000000;
+    \8814 [42] = 41'h00000000000;
+    \8814 [43] = 41'h00000000000;
+    \8814 [44] = 41'h00000000000;
+    \8814 [45] = 41'h00000000000;
+    \8814 [46] = 41'h00000000000;
+    \8814 [47] = 41'h00000000000;
+    \8814 [48] = 41'h00000000000;
+    \8814 [49] = 41'h00000000000;
+    \8814 [50] = 41'h00000000000;
+    \8814 [51] = 41'h00000000000;
+    \8814 [52] = 41'h00000000000;
+    \8814 [53] = 41'h00000000000;
+    \8814 [54] = 41'h00000000000;
+    \8814 [55] = 41'h00000000000;
+    \8814 [56] = 41'h00000000000;
+    \8814 [57] = 41'h00000000000;
+    \8814 [58] = 41'h00000000000;
+    \8814 [59] = 41'h00000000000;
+    \8814 [60] = 41'h00000000000;
+    \8814 [61] = 41'h00000000000;
+    \8814 [62] = 41'h00000000000;
+    \8814 [63] = 41'h00000000000;
+  end
+  assign _129_ = \8814 [_029_];
+  reg [40:0] \8816  [1023:0];
+  initial begin
+    \8816 [0] = 41'h00000000000;
+    \8816 [1] = 41'h00000000000;
+    \8816 [2] = 41'h00000000000;
+    \8816 [3] = 41'h00000000000;
+    \8816 [4] = 41'h00000000000;
+    \8816 [5] = 41'h00000000000;
+    \8816 [6] = 41'h00000000000;
+    \8816 [7] = 41'h00000000000;
+    \8816 [8] = 41'h00000000000;
+    \8816 [9] = 41'h00000000a52;
+    \8816 [10] = 41'h00040008a82;
+    \8816 [11] = 41'h00000000000;
+    \8816 [12] = 41'h00000000000;
+    \8816 [13] = 41'h00000000000;
+    \8816 [14] = 41'h00000000000;
+    \8816 [15] = 41'h00000000000;
+    \8816 [16] = 41'h00000240a75;
+    \8816 [17] = 41'h00000000000;
+    \8816 [18] = 41'h00000000000;
+    \8816 [19] = 41'h00000000000;
+    \8816 [20] = 41'h05800040955;
+    \8816 [21] = 41'h00000000000;
+    \8816 [22] = 41'h05000040955;
+    \8816 [23] = 41'h00000000000;
+    \8816 [24] = 41'h00000000000;
+    \8816 [25] = 41'h00000000000;
+    \8816 [26] = 41'h00000000000;
+    \8816 [27] = 41'h00000000000;
+    \8816 [28] = 41'h00000000000;
+    \8816 [29] = 41'h00000000000;
+    \8816 [30] = 41'h00000000000;
+    \8816 [31] = 41'h00000000000;
+    \8816 [32] = 41'h00000000000;
+    \8816 [33] = 41'h00000000000;
+    \8816 [34] = 41'h00000000000;
+    \8816 [35] = 41'h00000000000;
+    \8816 [36] = 41'h00000000000;
+    \8816 [37] = 41'h0403008805d;
+    \8816 [38] = 41'h00000000000;
+    \8816 [39] = 41'h00000000000;
+    \8816 [40] = 41'h00030020a8a;
+    \8816 [41] = 41'h1000000006d;
+    \8816 [42] = 41'h00010008a82;
+    \8816 [43] = 41'h00000000000;
+    \8816 [44] = 41'h00000000000;
+    \8816 [45] = 41'h00000000000;
+    \8816 [46] = 41'h00000000000;
+    \8816 [47] = 41'h00000000000;
+    \8816 [48] = 41'h00000240a75;
+    \8816 [49] = 41'h00000000000;
+    \8816 [50] = 41'h00000000000;
+    \8816 [51] = 41'h00000000000;
+    \8816 [52] = 41'h04800040955;
+    \8816 [53] = 41'h00000000000;
+    \8816 [54] = 41'h04000040955;
+    \8816 [55] = 41'h00000000000;
+    \8816 [56] = 41'h00000000000;
+    \8816 [57] = 41'h00000000000;
+    \8816 [58] = 41'h00000000000;
+    \8816 [59] = 41'h00000000000;
+    \8816 [60] = 41'h00000000000;
+    \8816 [61] = 41'h00000000000;
+    \8816 [62] = 41'h00000000000;
+    \8816 [63] = 41'h00000000000;
+    \8816 [64] = 41'h00000000000;
+    \8816 [65] = 41'h00000000000;
+    \8816 [66] = 41'h00000000000;
+    \8816 [67] = 41'h00000000000;
+    \8816 [68] = 41'h00000000000;
+    \8816 [69] = 41'h0401008805d;
+    \8816 [70] = 41'h00000000000;
+    \8816 [71] = 41'h00000000000;
+    \8816 [72] = 41'h00000000000;
+    \8816 [73] = 41'h00000000000;
+    \8816 [74] = 41'h00020008a82;
+    \8816 [75] = 41'h00000000000;
+    \8816 [76] = 41'h00000000000;
+    \8816 [77] = 41'h00000000000;
+    \8816 [78] = 41'h00000000000;
+    \8816 [79] = 41'h00000000000;
+    \8816 [80] = 41'h00000240a75;
+    \8816 [81] = 41'h00000000000;
+    \8816 [82] = 41'h00000000000;
+    \8816 [83] = 41'h00000000000;
+    \8816 [84] = 41'h05800040959;
+    \8816 [85] = 41'h00000000000;
+    \8816 [86] = 41'h05000040959;
+    \8816 [87] = 41'h00000000000;
+    \8816 [88] = 41'h00000000000;
+    \8816 [89] = 41'h00000000000;
+    \8816 [90] = 41'h00000000000;
+    \8816 [91] = 41'h00000000000;
+    \8816 [92] = 41'h00000000000;
+    \8816 [93] = 41'h00000000000;
+    \8816 [94] = 41'h00000000000;
+    \8816 [95] = 41'h00000000000;
+    \8816 [96] = 41'h00000000000;
+    \8816 [97] = 41'h00000000000;
+    \8816 [98] = 41'h00000000000;
+    \8816 [99] = 41'h00000000000;
+    \8816 [100] = 41'h00000000000;
+    \8816 [101] = 41'h0402008805d;
+    \8816 [102] = 41'h00000000000;
+    \8816 [103] = 41'h00000000000;
+    \8816 [104] = 41'h00000000000;
+    \8816 [105] = 41'h000a0008a82;
+    \8816 [106] = 41'h00030008a82;
+    \8816 [107] = 41'h00000000000;
+    \8816 [108] = 41'h00000000000;
+    \8816 [109] = 41'h00000000000;
+    \8816 [110] = 41'h00000000000;
+    \8816 [111] = 41'h00000000000;
+    \8816 [112] = 41'h00000240a75;
+    \8816 [113] = 41'h00000000000;
+    \8816 [114] = 41'h00000000000;
+    \8816 [115] = 41'h00000000000;
+    \8816 [116] = 41'h04800040959;
+    \8816 [117] = 41'h00000000000;
+    \8816 [118] = 41'h04000040959;
+    \8816 [119] = 41'h00000000000;
+    \8816 [120] = 41'h00000000000;
+    \8816 [121] = 41'h00000000000;
+    \8816 [122] = 41'h00000000000;
+    \8816 [123] = 41'h00000000000;
+    \8816 [124] = 41'h00000000000;
+    \8816 [125] = 41'h00000000000;
+    \8816 [126] = 41'h00000000000;
+    \8816 [127] = 41'h00000000000;
+    \8816 [128] = 41'h00000000000;
+    \8816 [129] = 41'h00000000000;
+    \8816 [130] = 41'h00000000000;
+    \8816 [131] = 41'h00000000000;
+    \8816 [132] = 41'h0400008d861;
+    \8816 [133] = 41'h0400008d861;
+    \8816 [134] = 41'h00000000000;
+    \8816 [135] = 41'h00000000000;
+    \8816 [136] = 41'h00030100a86;
+    \8816 [137] = 41'h00000000000;
+    \8816 [138] = 41'h00040040a7e;
+    \8816 [139] = 41'h00000000000;
+    \8816 [140] = 41'h00000000000;
+    \8816 [141] = 41'h00000000000;
+    \8816 [142] = 41'h00000000000;
+    \8816 [143] = 41'h00000000000;
+    \8816 [144] = 41'h00000240a75;
+    \8816 [145] = 41'h00000000000;
+    \8816 [146] = 41'h00000000000;
+    \8816 [147] = 41'h00000000000;
+    \8816 [148] = 41'h00000000000;
+    \8816 [149] = 41'h00000000000;
+    \8816 [150] = 41'h00000000000;
+    \8816 [151] = 41'h00000000000;
+    \8816 [152] = 41'h00000000000;
+    \8816 [153] = 41'h00000000000;
+    \8816 [154] = 41'h00000000000;
+    \8816 [155] = 41'h00000000000;
+    \8816 [156] = 41'h00000000000;
+    \8816 [157] = 41'h00000000000;
+    \8816 [158] = 41'h00000000000;
+    \8816 [159] = 41'h00000000000;
+    \8816 [160] = 41'h00000000000;
+    \8816 [161] = 41'h00000000000;
+    \8816 [162] = 41'h00000000000;
+    \8816 [163] = 41'h00000000000;
+    \8816 [164] = 41'h00000000000;
+    \8816 [165] = 41'h00000000000;
+    \8816 [166] = 41'h00000000000;
+    \8816 [167] = 41'h00000000000;
+    \8816 [168] = 41'h00130100a86;
+    \8816 [169] = 41'h10000000005;
+    \8816 [170] = 41'h00010040a7e;
+    \8816 [171] = 41'h00000000000;
+    \8816 [172] = 41'h00000000000;
+    \8816 [173] = 41'h00000000000;
+    \8816 [174] = 41'h00000000000;
+    \8816 [175] = 41'h00000000000;
+    \8816 [176] = 41'h00000240a75;
+    \8816 [177] = 41'h00000000000;
+    \8816 [178] = 41'h00000000000;
+    \8816 [179] = 41'h00000000000;
+    \8816 [180] = 41'h00000000000;
+    \8816 [181] = 41'h00000000000;
+    \8816 [182] = 41'h00000000000;
+    \8816 [183] = 41'h00000000000;
+    \8816 [184] = 41'h00000000000;
+    \8816 [185] = 41'h00000000000;
+    \8816 [186] = 41'h00000000000;
+    \8816 [187] = 41'h00000000000;
+    \8816 [188] = 41'h00000000000;
+    \8816 [189] = 41'h00000000000;
+    \8816 [190] = 41'h00000000000;
+    \8816 [191] = 41'h00000000000;
+    \8816 [192] = 41'h00000000000;
+    \8816 [193] = 41'h00000000000;
+    \8816 [194] = 41'h00000000000;
+    \8816 [195] = 41'h00000000000;
+    \8816 [196] = 41'h0500808d8e1;
+    \8816 [197] = 41'h0500808d8e1;
+    \8816 [198] = 41'h00000000000;
+    \8816 [199] = 41'h0580808e0e1;
+    \8816 [200] = 41'h00000000000;
+    \8816 [201] = 41'h00000000000;
+    \8816 [202] = 41'h00020040a7e;
+    \8816 [203] = 41'h00000000000;
+    \8816 [204] = 41'h00000000000;
+    \8816 [205] = 41'h00000000000;
+    \8816 [206] = 41'h00000000000;
+    \8816 [207] = 41'h00000000000;
+    \8816 [208] = 41'h00000240a75;
+    \8816 [209] = 41'h00000000000;
+    \8816 [210] = 41'h00000000000;
+    \8816 [211] = 41'h00000000000;
+    \8816 [212] = 41'h00000000000;
+    \8816 [213] = 41'h00000000000;
+    \8816 [214] = 41'h00000000000;
+    \8816 [215] = 41'h00000000000;
+    \8816 [216] = 41'h00000000000;
+    \8816 [217] = 41'h00000000000;
+    \8816 [218] = 41'h00000000000;
+    \8816 [219] = 41'h00000000000;
+    \8816 [220] = 41'h00000000000;
+    \8816 [221] = 41'h00000000000;
+    \8816 [222] = 41'h00000000000;
+    \8816 [223] = 41'h00000000000;
+    \8816 [224] = 41'h00000000000;
+    \8816 [225] = 41'h00000000000;
+    \8816 [226] = 41'h00000000000;
+    \8816 [227] = 41'h00000000000;
+    \8816 [228] = 41'h00000000000;
+    \8816 [229] = 41'h050080888e1;
+    \8816 [230] = 41'h00000000000;
+    \8816 [231] = 41'h058080888e1;
+    \8816 [232] = 41'h00000000000;
+    \8816 [233] = 41'h000a0040a7e;
+    \8816 [234] = 41'h00030040a7e;
+    \8816 [235] = 41'h00000000000;
+    \8816 [236] = 41'h00000000000;
+    \8816 [237] = 41'h00000000000;
+    \8816 [238] = 41'h00000000000;
+    \8816 [239] = 41'h00000000000;
+    \8816 [240] = 41'h00000240a75;
+    \8816 [241] = 41'h00000000000;
+    \8816 [242] = 41'h00000000000;
+    \8816 [243] = 41'h00000000000;
+    \8816 [244] = 41'h0180004099d;
+    \8816 [245] = 41'h04000040909;
+    \8816 [246] = 41'h0100004099d;
+    \8816 [247] = 41'h00000000000;
+    \8816 [248] = 41'h00000000000;
+    \8816 [249] = 41'h00000000000;
+    \8816 [250] = 41'h00000000000;
+    \8816 [251] = 41'h00000000000;
+    \8816 [252] = 41'h00000000000;
+    \8816 [253] = 41'h00000000000;
+    \8816 [254] = 41'h00000000000;
+    \8816 [255] = 41'h00000000000;
+    \8816 [256] = 41'h00000000000;
+    \8816 [257] = 41'h00000000000;
+    \8816 [258] = 41'h00000000000;
+    \8816 [259] = 41'h00000000000;
+    \8816 [260] = 41'h00000000000;
+    \8816 [261] = 41'h00000000000;
+    \8816 [262] = 41'h00000000000;
+    \8816 [263] = 41'h00000000000;
+    \8816 [264] = 41'h00240020a8a;
+    \8816 [265] = 41'h00000000000;
+    \8816 [266] = 41'h00000000000;
+    \8816 [267] = 41'h00000000000;
+    \8816 [268] = 41'h0000004003d;
+    \8816 [269] = 41'h00000000005;
+    \8816 [270] = 41'h00000000000;
+    \8816 [271] = 41'h00000000000;
+    \8816 [272] = 41'h00000240a75;
+    \8816 [273] = 41'h00000000000;
+    \8816 [274] = 41'h00000000000;
+    \8816 [275] = 41'h00000000000;
+    \8816 [276] = 41'h058000409ad;
+    \8816 [277] = 41'h0400a045109;
+    \8816 [278] = 41'h050000409ad;
+    \8816 [279] = 41'h0400a845109;
+    \8816 [280] = 41'h00000000000;
+    \8816 [281] = 41'h00000000000;
+    \8816 [282] = 41'h00000000000;
+    \8816 [283] = 41'h00000000000;
+    \8816 [284] = 41'h00000000000;
+    \8816 [285] = 41'h00000000000;
+    \8816 [286] = 41'h00000000000;
+    \8816 [287] = 41'h00000000000;
+    \8816 [288] = 41'h00000000000;
+    \8816 [289] = 41'h00000000000;
+    \8816 [290] = 41'h00000000000;
+    \8816 [291] = 41'h00000000000;
+    \8816 [292] = 41'h00000000000;
+    \8816 [293] = 41'h00000000000;
+    \8816 [294] = 41'h00000000000;
+    \8816 [295] = 41'h00000000000;
+    \8816 [296] = 41'h00040020a8a;
+    \8816 [297] = 41'h02420008a82;
+    \8816 [298] = 41'h00000000000;
+    \8816 [299] = 41'h00000000000;
+    \8816 [300] = 41'h00000000000;
+    \8816 [301] = 41'h00000000005;
+    \8816 [302] = 41'h00000000000;
+    \8816 [303] = 41'h00000000000;
+    \8816 [304] = 41'h00000240a75;
+    \8816 [305] = 41'h00000000000;
+    \8816 [306] = 41'h00000000000;
+    \8816 [307] = 41'h00000000000;
+    \8816 [308] = 41'h00000000000;
+    \8816 [309] = 41'h0400a040109;
+    \8816 [310] = 41'h00000000000;
+    \8816 [311] = 41'h0400a840109;
+    \8816 [312] = 41'h00000000000;
+    \8816 [313] = 41'h00000000000;
+    \8816 [314] = 41'h00000000000;
+    \8816 [315] = 41'h00000000000;
+    \8816 [316] = 41'h00000000000;
+    \8816 [317] = 41'h00000000000;
+    \8816 [318] = 41'h00000000000;
+    \8816 [319] = 41'h00000000000;
+    \8816 [320] = 41'h00000000000;
+    \8816 [321] = 41'h00000000000;
+    \8816 [322] = 41'h00000000000;
+    \8816 [323] = 41'h00000000000;
+    \8816 [324] = 41'h00000000000;
+    \8816 [325] = 41'h00000000000;
+    \8816 [326] = 41'h00000000000;
+    \8816 [327] = 41'h00000000000;
+    \8816 [328] = 41'h00a30020a8a;
+    \8816 [329] = 41'h02410008a82;
+    \8816 [330] = 41'h00000000000;
+    \8816 [331] = 41'h00000000000;
+    \8816 [332] = 41'h00000000000;
+    \8816 [333] = 41'h00000000005;
+    \8816 [334] = 41'h00000000000;
+    \8816 [335] = 41'h00000000000;
+    \8816 [336] = 41'h00000240a75;
+    \8816 [337] = 41'h00000000000;
+    \8816 [338] = 41'h00000000000;
+    \8816 [339] = 41'h00000000000;
+    \8816 [340] = 41'h00000000000;
+    \8816 [341] = 41'h00000000000;
+    \8816 [342] = 41'h00000000000;
+    \8816 [343] = 41'h00000000000;
+    \8816 [344] = 41'h00000000000;
+    \8816 [345] = 41'h00000000000;
+    \8816 [346] = 41'h00000000000;
+    \8816 [347] = 41'h00000000000;
+    \8816 [348] = 41'h00000000000;
+    \8816 [349] = 41'h00000000000;
+    \8816 [350] = 41'h00000000000;
+    \8816 [351] = 41'h00000000000;
+    \8816 [352] = 41'h00000000000;
+    \8816 [353] = 41'h00000000000;
+    \8816 [354] = 41'h00000000000;
+    \8816 [355] = 41'h00000000000;
+    \8816 [356] = 41'h00000000000;
+    \8816 [357] = 41'h00000000000;
+    \8816 [358] = 41'h00000000000;
+    \8816 [359] = 41'h00000000000;
+    \8816 [360] = 41'h00830020a8a;
+    \8816 [361] = 41'h000b0008a82;
+    \8816 [362] = 41'h00000000000;
+    \8816 [363] = 41'h000c0008a82;
+    \8816 [364] = 41'h00000000000;
+    \8816 [365] = 41'h00000000005;
+    \8816 [366] = 41'h00000000000;
+    \8816 [367] = 41'h00000000000;
+    \8816 [368] = 41'h00000240a75;
+    \8816 [369] = 41'h00000000000;
+    \8816 [370] = 41'h00000000000;
+    \8816 [371] = 41'h00000000000;
+    \8816 [372] = 41'h00000000000;
+    \8816 [373] = 41'h0400a040909;
+    \8816 [374] = 41'h00000000000;
+    \8816 [375] = 41'h0400a840909;
+    \8816 [376] = 41'h00000000000;
+    \8816 [377] = 41'h00000000000;
+    \8816 [378] = 41'h00000000000;
+    \8816 [379] = 41'h00000000000;
+    \8816 [380] = 41'h00000000000;
+    \8816 [381] = 41'h00000000000;
+    \8816 [382] = 41'h00000000000;
+    \8816 [383] = 41'h00000000000;
+    \8816 [384] = 41'h00000000000;
+    \8816 [385] = 41'h00000000000;
+    \8816 [386] = 41'h00000000000;
+    \8816 [387] = 41'h00000000000;
+    \8816 [388] = 41'h00000000000;
+    \8816 [389] = 41'h00000000000;
+    \8816 [390] = 41'h00000000000;
+    \8816 [391] = 41'h00000000000;
+    \8816 [392] = 41'h00240100a86;
+    \8816 [393] = 41'h00000000000;
+    \8816 [394] = 41'h00000000000;
+    \8816 [395] = 41'h00000000000;
+    \8816 [396] = 41'h00000000000;
+    \8816 [397] = 41'h00000000005;
+    \8816 [398] = 41'h00000000000;
+    \8816 [399] = 41'h00000000000;
+    \8816 [400] = 41'h00000240a75;
+    \8816 [401] = 41'h00000000000;
+    \8816 [402] = 41'h00000000000;
+    \8816 [403] = 41'h00000000000;
+    \8816 [404] = 41'h00000000000;
+    \8816 [405] = 41'h00000000000;
+    \8816 [406] = 41'h00000000000;
+    \8816 [407] = 41'h04006840109;
+    \8816 [408] = 41'h00000000000;
+    \8816 [409] = 41'h00000000000;
+    \8816 [410] = 41'h00000000000;
+    \8816 [411] = 41'h00000000000;
+    \8816 [412] = 41'h00000000000;
+    \8816 [413] = 41'h00000000000;
+    \8816 [414] = 41'h00000000000;
+    \8816 [415] = 41'h00000000000;
+    \8816 [416] = 41'h00000000000;
+    \8816 [417] = 41'h00000000000;
+    \8816 [418] = 41'h00000000000;
+    \8816 [419] = 41'h00000000000;
+    \8816 [420] = 41'h00000000000;
+    \8816 [421] = 41'h00000000000;
+    \8816 [422] = 41'h00000000000;
+    \8816 [423] = 41'h00000000000;
+    \8816 [424] = 41'h00040100a86;
+    \8816 [425] = 41'h10000000005;
+    \8816 [426] = 41'h00000000000;
+    \8816 [427] = 41'h00000000000;
+    \8816 [428] = 41'h00000000000;
+    \8816 [429] = 41'h00000000005;
+    \8816 [430] = 41'h00000000000;
+    \8816 [431] = 41'h00000000000;
+    \8816 [432] = 41'h00000240a75;
+    \8816 [433] = 41'h00000000000;
+    \8816 [434] = 41'h00000000000;
+    \8816 [435] = 41'h00000000000;
+    \8816 [436] = 41'h058000409b5;
+    \8816 [437] = 41'h00000000000;
+    \8816 [438] = 41'h050000409b1;
+    \8816 [439] = 41'h00000000000;
+    \8816 [440] = 41'h00000000000;
+    \8816 [441] = 41'h00000000000;
+    \8816 [442] = 41'h00000000000;
+    \8816 [443] = 41'h00000000000;
+    \8816 [444] = 41'h00000000000;
+    \8816 [445] = 41'h00000000000;
+    \8816 [446] = 41'h00000000000;
+    \8816 [447] = 41'h0000040008d;
+    \8816 [448] = 41'h00000000000;
+    \8816 [449] = 41'h00000000000;
+    \8816 [450] = 41'h00000000000;
+    \8816 [451] = 41'h00000000000;
+    \8816 [452] = 41'h00000000000;
+    \8816 [453] = 41'h04000088035;
+    \8816 [454] = 41'h00000000000;
+    \8816 [455] = 41'h00000000000;
+    \8816 [456] = 41'h00a30100a86;
+    \8816 [457] = 41'h00000000000;
+    \8816 [458] = 41'h00000000000;
+    \8816 [459] = 41'h00000000000;
+    \8816 [460] = 41'h00000000000;
+    \8816 [461] = 41'h00000000005;
+    \8816 [462] = 41'h00000000000;
+    \8816 [463] = 41'h00000000000;
+    \8816 [464] = 41'h00000240a75;
+    \8816 [465] = 41'h00000000000;
+    \8816 [466] = 41'h00000000000;
+    \8816 [467] = 41'h00000000000;
+    \8816 [468] = 41'h00000000000;
+    \8816 [469] = 41'h00000000000;
+    \8816 [470] = 41'h00000000000;
+    \8816 [471] = 41'h04006840909;
+    \8816 [472] = 41'h00000000000;
+    \8816 [473] = 41'h00000000000;
+    \8816 [474] = 41'h00000000000;
+    \8816 [475] = 41'h00000000000;
+    \8816 [476] = 41'h00000000000;
+    \8816 [477] = 41'h00000000000;
+    \8816 [478] = 41'h00000000000;
+    \8816 [479] = 41'h00000000000;
+    \8816 [480] = 41'h00000000000;
+    \8816 [481] = 41'h00000000000;
+    \8816 [482] = 41'h00000000000;
+    \8816 [483] = 41'h00000000000;
+    \8816 [484] = 41'h040000888e1;
+    \8816 [485] = 41'h04800088035;
+    \8816 [486] = 41'h00000000000;
+    \8816 [487] = 41'h048000888e1;
+    \8816 [488] = 41'h00830100a86;
+    \8816 [489] = 41'h000b0040a7e;
+    \8816 [490] = 41'h00000000000;
+    \8816 [491] = 41'h000c0040a7e;
+    \8816 [492] = 41'h00000000000;
+    \8816 [493] = 41'h00000000005;
+    \8816 [494] = 41'h00000000000;
+    \8816 [495] = 41'h00000000000;
+    \8816 [496] = 41'h00000240a75;
+    \8816 [497] = 41'h00000000000;
+    \8816 [498] = 41'h00000000000;
+    \8816 [499] = 41'h00000000000;
+    \8816 [500] = 41'h048000409b5;
+    \8816 [501] = 41'h04008040909;
+    \8816 [502] = 41'h040000409b1;
+    \8816 [503] = 41'h0400e840909;
+    \8816 [504] = 41'h00000000000;
+    \8816 [505] = 41'h00000000000;
+    \8816 [506] = 41'h00000000000;
+    \8816 [507] = 41'h00000000000;
+    \8816 [508] = 41'h00000000000;
+    \8816 [509] = 41'h00000000000;
+    \8816 [510] = 41'h00000000000;
+    \8816 [511] = 41'h00000000000;
+    \8816 [512] = 41'h00000000000;
+    \8816 [513] = 41'h00000000000;
+    \8816 [514] = 41'h00000000000;
+    \8816 [515] = 41'h00000488829;
+    \8816 [516] = 41'h00000000000;
+    \8816 [517] = 41'h000400880bd;
+    \8816 [518] = 41'h00000000000;
+    \8816 [519] = 41'h00000000000;
+    \8816 [520] = 41'h00000000000;
+    \8816 [521] = 41'h00000000000;
+    \8816 [522] = 41'h00000000000;
+    \8816 [523] = 41'h00000000000;
+    \8816 [524] = 41'h00000000000;
+    \8816 [525] = 41'h000000000ea;
+    \8816 [526] = 41'h00000000000;
+    \8816 [527] = 41'h00000000000;
+    \8816 [528] = 41'h00000240a75;
+    \8816 [529] = 41'h00000000000;
+    \8816 [530] = 41'h00000000000;
+    \8816 [531] = 41'h00000000000;
+    \8816 [532] = 41'h05800040955;
+    \8816 [533] = 41'h00000000000;
+    \8816 [534] = 41'h05000040955;
+    \8816 [535] = 41'h00000000000;
+    \8816 [536] = 41'h00000000000;
+    \8816 [537] = 41'h00000000000;
+    \8816 [538] = 41'h00000000000;
+    \8816 [539] = 41'h00000000000;
+    \8816 [540] = 41'h00000000000;
+    \8816 [541] = 41'h00000000000;
+    \8816 [542] = 41'h00000000000;
+    \8816 [543] = 41'h00000000000;
+    \8816 [544] = 41'h00000000000;
+    \8816 [545] = 41'h00000000000;
+    \8816 [546] = 41'h00000000000;
+    \8816 [547] = 41'h0400108880d;
+    \8816 [548] = 41'h00000000000;
+    \8816 [549] = 41'h00000000000;
+    \8816 [550] = 41'h00000000000;
+    \8816 [551] = 41'h00000000000;
+    \8816 [552] = 41'h00000000000;
+    \8816 [553] = 41'h00000000000;
+    \8816 [554] = 41'h00000000000;
+    \8816 [555] = 41'h00000000000;
+    \8816 [556] = 41'h000000c80a9;
+    \8816 [557] = 41'h00000000000;
+    \8816 [558] = 41'h00000000000;
+    \8816 [559] = 41'h00000000000;
+    \8816 [560] = 41'h00000240a75;
+    \8816 [561] = 41'h00000000000;
+    \8816 [562] = 41'h00000000000;
+    \8816 [563] = 41'h00000000000;
+    \8816 [564] = 41'h04800040955;
+    \8816 [565] = 41'h00000000000;
+    \8816 [566] = 41'h04000040955;
+    \8816 [567] = 41'h00000000000;
+    \8816 [568] = 41'h00000000000;
+    \8816 [569] = 41'h00000000000;
+    \8816 [570] = 41'h00000000000;
+    \8816 [571] = 41'h00000000000;
+    \8816 [572] = 41'h00000000000;
+    \8816 [573] = 41'h00000000000;
+    \8816 [574] = 41'h00000000000;
+    \8816 [575] = 41'h00000000000;
+    \8816 [576] = 41'h00000000000;
+    \8816 [577] = 41'h00000000000;
+    \8816 [578] = 41'h00000000000;
+    \8816 [579] = 41'h040000888b9;
+    \8816 [580] = 41'h00000000000;
+    \8816 [581] = 41'h00000000000;
+    \8816 [582] = 41'h00000000000;
+    \8816 [583] = 41'h00000000000;
+    \8816 [584] = 41'h00220008a82;
+    \8816 [585] = 41'h00000000000;
+    \8816 [586] = 41'h00000000000;
+    \8816 [587] = 41'h00000000000;
+    \8816 [588] = 41'h00000000000;
+    \8816 [589] = 41'h00000000000;
+    \8816 [590] = 41'h00000000000;
+    \8816 [591] = 41'h00000000000;
+    \8816 [592] = 41'h00000240a75;
+    \8816 [593] = 41'h00000000000;
+    \8816 [594] = 41'h00000000000;
+    \8816 [595] = 41'h00000000000;
+    \8816 [596] = 41'h05800040959;
+    \8816 [597] = 41'h00000000000;
+    \8816 [598] = 41'h05000040959;
+    \8816 [599] = 41'h00000000000;
+    \8816 [600] = 41'h00000000000;
+    \8816 [601] = 41'h00000000000;
+    \8816 [602] = 41'h00000000000;
+    \8816 [603] = 41'h00000000000;
+    \8816 [604] = 41'h00000000000;
+    \8816 [605] = 41'h00000000000;
+    \8816 [606] = 41'h00000000000;
+    \8816 [607] = 41'h00000000000;
+    \8816 [608] = 41'h00000000000;
+    \8816 [609] = 41'h00000000000;
+    \8816 [610] = 41'h00000000000;
+    \8816 [611] = 41'h040008888b9;
+    \8816 [612] = 41'h00000000000;
+    \8816 [613] = 41'h00000000000;
+    \8816 [614] = 41'h00000000000;
+    \8816 [615] = 41'h00000000000;
+    \8816 [616] = 41'h00020008a82;
+    \8816 [617] = 41'h00000000000;
+    \8816 [618] = 41'h00000000000;
+    \8816 [619] = 41'h00000000000;
+    \8816 [620] = 41'h00000000000;
+    \8816 [621] = 41'h00000000000;
+    \8816 [622] = 41'h00000000000;
+    \8816 [623] = 41'h00000000000;
+    \8816 [624] = 41'h00000240a75;
+    \8816 [625] = 41'h00000000000;
+    \8816 [626] = 41'h00000000000;
+    \8816 [627] = 41'h00000000000;
+    \8816 [628] = 41'h04800040959;
+    \8816 [629] = 41'h00000000000;
+    \8816 [630] = 41'h04000040959;
+    \8816 [631] = 41'h00000000000;
+    \8816 [632] = 41'h00000000000;
+    \8816 [633] = 41'h00000000000;
+    \8816 [634] = 41'h00000000000;
+    \8816 [635] = 41'h00000000000;
+    \8816 [636] = 41'h00000000000;
+    \8816 [637] = 41'h00000000000;
+    \8816 [638] = 41'h00000000000;
+    \8816 [639] = 41'h00000000000;
+    \8816 [640] = 41'h00000000000;
+    \8816 [641] = 41'h00000000000;
+    \8816 [642] = 41'h00000000000;
+    \8816 [643] = 41'h00000000000;
+    \8816 [644] = 41'h00000000000;
+    \8816 [645] = 41'h000300880bd;
+    \8816 [646] = 41'h00000000000;
+    \8816 [647] = 41'h00000000000;
+    \8816 [648] = 41'h00320040a7e;
+    \8816 [649] = 41'h00000000000;
+    \8816 [650] = 41'h00330040a7e;
+    \8816 [651] = 41'h00000000000;
+    \8816 [652] = 41'h00000000000;
+    \8816 [653] = 41'h00000000000;
+    \8816 [654] = 41'h00000000000;
+    \8816 [655] = 41'h00000000000;
+    \8816 [656] = 41'h00000240a75;
+    \8816 [657] = 41'h00000000000;
+    \8816 [658] = 41'h00000000000;
+    \8816 [659] = 41'h00000000000;
+    \8816 [660] = 41'h00000000000;
+    \8816 [661] = 41'h00000000000;
+    \8816 [662] = 41'h00000000000;
+    \8816 [663] = 41'h00000000000;
+    \8816 [664] = 41'h00000000000;
+    \8816 [665] = 41'h00000000000;
+    \8816 [666] = 41'h00000000000;
+    \8816 [667] = 41'h00000000000;
+    \8816 [668] = 41'h00000000000;
+    \8816 [669] = 41'h00000000000;
+    \8816 [670] = 41'h00000000000;
+    \8816 [671] = 41'h00000000000;
+    \8816 [672] = 41'h00000000000;
+    \8816 [673] = 41'h00000000000;
+    \8816 [674] = 41'h00000000000;
+    \8816 [675] = 41'h00000000000;
+    \8816 [676] = 41'h00000000000;
+    \8816 [677] = 41'h00000000000;
+    \8816 [678] = 41'h00000000000;
+    \8816 [679] = 41'h00000000000;
+    \8816 [680] = 41'h00120040a7e;
+    \8816 [681] = 41'h00000000000;
+    \8816 [682] = 41'h00130040a7e;
+    \8816 [683] = 41'h00000000000;
+    \8816 [684] = 41'h00000048399;
+    \8816 [685] = 41'h00000000000;
+    \8816 [686] = 41'h00000000000;
+    \8816 [687] = 41'h00000000000;
+    \8816 [688] = 41'h00000240a75;
+    \8816 [689] = 41'h00000000000;
+    \8816 [690] = 41'h00000000000;
+    \8816 [691] = 41'h00000000000;
+    \8816 [692] = 41'h00000000000;
+    \8816 [693] = 41'h00000000000;
+    \8816 [694] = 41'h00000000000;
+    \8816 [695] = 41'h00000000000;
+    \8816 [696] = 41'h00000000000;
+    \8816 [697] = 41'h00000000000;
+    \8816 [698] = 41'h00000000000;
+    \8816 [699] = 41'h00000000000;
+    \8816 [700] = 41'h00000000000;
+    \8816 [701] = 41'h00000000000;
+    \8816 [702] = 41'h00000000000;
+    \8816 [703] = 41'h00000000000;
+    \8816 [704] = 41'h00000000000;
+    \8816 [705] = 41'h00000000000;
+    \8816 [706] = 41'h00000000000;
+    \8816 [707] = 41'h040000888f1;
+    \8816 [708] = 41'h00000000000;
+    \8816 [709] = 41'h000000880f5;
+    \8816 [710] = 41'h00000000000;
+    \8816 [711] = 41'h00000000000;
+    \8816 [712] = 41'h00220040a7e;
+    \8816 [713] = 41'h00000000000;
+    \8816 [714] = 41'h00000000000;
+    \8816 [715] = 41'h00000000000;
+    \8816 [716] = 41'h00000000000;
+    \8816 [717] = 41'h000000088ea;
+    \8816 [718] = 41'h00000000000;
+    \8816 [719] = 41'h00000000000;
+    \8816 [720] = 41'h00000240a75;
+    \8816 [721] = 41'h00000000000;
+    \8816 [722] = 41'h00000000000;
+    \8816 [723] = 41'h00000000000;
+    \8816 [724] = 41'h00000000000;
+    \8816 [725] = 41'h00000000000;
+    \8816 [726] = 41'h00000000000;
+    \8816 [727] = 41'h00000000000;
+    \8816 [728] = 41'h00000000000;
+    \8816 [729] = 41'h00000000000;
+    \8816 [730] = 41'h00000000000;
+    \8816 [731] = 41'h00000000000;
+    \8816 [732] = 41'h00000000000;
+    \8816 [733] = 41'h00000000000;
+    \8816 [734] = 41'h00000000000;
+    \8816 [735] = 41'h00000000000;
+    \8816 [736] = 41'h00000000000;
+    \8816 [737] = 41'h00000000000;
+    \8816 [738] = 41'h00000000000;
+    \8816 [739] = 41'h040010888f1;
+    \8816 [740] = 41'h00000000000;
+    \8816 [741] = 41'h000008880f5;
+    \8816 [742] = 41'h00000000000;
+    \8816 [743] = 41'h00000000000;
+    \8816 [744] = 41'h00020040a7e;
+    \8816 [745] = 41'h10000000049;
+    \8816 [746] = 41'h00000000000;
+    \8816 [747] = 41'h00000000000;
+    \8816 [748] = 41'h00000000000;
+    \8816 [749] = 41'h000000088ea;
+    \8816 [750] = 41'h00000000000;
+    \8816 [751] = 41'h00000000000;
+    \8816 [752] = 41'h00000240a75;
+    \8816 [753] = 41'h00000000000;
+    \8816 [754] = 41'h00000000000;
+    \8816 [755] = 41'h00000000000;
+    \8816 [756] = 41'h0080004099d;
+    \8816 [757] = 41'h04000040909;
+    \8816 [758] = 41'h0000004099d;
+    \8816 [759] = 41'h00000000000;
+    \8816 [760] = 41'h00000000000;
+    \8816 [761] = 41'h00000000000;
+    \8816 [762] = 41'h00000000000;
+    \8816 [763] = 41'h00000000000;
+    \8816 [764] = 41'h00000000000;
+    \8816 [765] = 41'h00000000000;
+    \8816 [766] = 41'h00000000000;
+    \8816 [767] = 41'h00000000000;
+    \8816 [768] = 41'h00000000000;
+    \8816 [769] = 41'h00000000000;
+    \8816 [770] = 41'h00000000000;
+    \8816 [771] = 41'h00000088021;
+    \8816 [772] = 41'h00000000000;
+    \8816 [773] = 41'h00000000000;
+    \8816 [774] = 41'h00000000000;
+    \8816 [775] = 41'h00000000000;
+    \8816 [776] = 41'h00210008a82;
+    \8816 [777] = 41'h1000000004d;
+    \8816 [778] = 41'h00000000000;
+    \8816 [779] = 41'h00000000000;
+    \8816 [780] = 41'h00000000000;
+    \8816 [781] = 41'h00000000000;
+    \8816 [782] = 41'h00000000000;
+    \8816 [783] = 41'h00000000000;
+    \8816 [784] = 41'h00000240a75;
+    \8816 [785] = 41'h00000000000;
+    \8816 [786] = 41'h00000000000;
+    \8816 [787] = 41'h00000000000;
+    \8816 [788] = 41'h058000409ad;
+    \8816 [789] = 41'h0400a045109;
+    \8816 [790] = 41'h050000409ad;
+    \8816 [791] = 41'h0400a845109;
+    \8816 [792] = 41'h00000000000;
+    \8816 [793] = 41'h00000000000;
+    \8816 [794] = 41'h00000000000;
+    \8816 [795] = 41'h00000000000;
+    \8816 [796] = 41'h00000000000;
+    \8816 [797] = 41'h00000000000;
+    \8816 [798] = 41'h00000000000;
+    \8816 [799] = 41'h0000040092d;
+    \8816 [800] = 41'h00000000000;
+    \8816 [801] = 41'h00000000000;
+    \8816 [802] = 41'h00000000000;
+    \8816 [803] = 41'h00000000000;
+    \8816 [804] = 41'h00000000000;
+    \8816 [805] = 41'h00000000000;
+    \8816 [806] = 41'h00000000000;
+    \8816 [807] = 41'h00000000000;
+    \8816 [808] = 41'h00010008a82;
+    \8816 [809] = 41'h02440008a82;
+    \8816 [810] = 41'h00000000000;
+    \8816 [811] = 41'h00000000000;
+    \8816 [812] = 41'h00000000000;
+    \8816 [813] = 41'h00000000000;
+    \8816 [814] = 41'h00000000000;
+    \8816 [815] = 41'h00000000000;
+    \8816 [816] = 41'h00000240a75;
+    \8816 [817] = 41'h00000000000;
+    \8816 [818] = 41'h00000000000;
+    \8816 [819] = 41'h00000000000;
+    \8816 [820] = 41'h00000000000;
+    \8816 [821] = 41'h0400a040109;
+    \8816 [822] = 41'h00000000000;
+    \8816 [823] = 41'h0400a840109;
+    \8816 [824] = 41'h00000000000;
+    \8816 [825] = 41'h00000000000;
+    \8816 [826] = 41'h00000000000;
+    \8816 [827] = 41'h00000000000;
+    \8816 [828] = 41'h00000000000;
+    \8816 [829] = 41'h00000000000;
+    \8816 [830] = 41'h00000000000;
+    \8816 [831] = 41'h00000400931;
+    \8816 [832] = 41'h00000000000;
+    \8816 [833] = 41'h00000000000;
+    \8816 [834] = 41'h00000000000;
+    \8816 [835] = 41'h00000000000;
+    \8816 [836] = 41'h00000000000;
+    \8816 [837] = 41'h000400880c1;
+    \8816 [838] = 41'h00000000000;
+    \8816 [839] = 41'h00000000000;
+    \8816 [840] = 41'h00230008a82;
+    \8816 [841] = 41'h00000000000;
+    \8816 [842] = 41'h00240008a82;
+    \8816 [843] = 41'h00000000000;
+    \8816 [844] = 41'h00000000000;
+    \8816 [845] = 41'h100000080a5;
+    \8816 [846] = 41'h00000000000;
+    \8816 [847] = 41'h00000000000;
+    \8816 [848] = 41'h00000240a75;
+    \8816 [849] = 41'h00000000000;
+    \8816 [850] = 41'h00000000000;
+    \8816 [851] = 41'h00000000000;
+    \8816 [852] = 41'h00000000000;
+    \8816 [853] = 41'h0400c040909;
+    \8816 [854] = 41'h00000000000;
+    \8816 [855] = 41'h00000000000;
+    \8816 [856] = 41'h00000000000;
+    \8816 [857] = 41'h00000000000;
+    \8816 [858] = 41'h00000000000;
+    \8816 [859] = 41'h00000000000;
+    \8816 [860] = 41'h00000000000;
+    \8816 [861] = 41'h00000000000;
+    \8816 [862] = 41'h00000000000;
+    \8816 [863] = 41'h00000000000;
+    \8816 [864] = 41'h00000000000;
+    \8816 [865] = 41'h00000000000;
+    \8816 [866] = 41'h00000000000;
+    \8816 [867] = 41'h00000000000;
+    \8816 [868] = 41'h00000000000;
+    \8816 [869] = 41'h000300880c1;
+    \8816 [870] = 41'h00000000000;
+    \8816 [871] = 41'h00000000000;
+    \8816 [872] = 41'h00030008a82;
+    \8816 [873] = 41'h02430008a82;
+    \8816 [874] = 41'h00040008a82;
+    \8816 [875] = 41'h00000000000;
+    \8816 [876] = 41'h00000000000;
+    \8816 [877] = 41'h108000080a5;
+    \8816 [878] = 41'h00000000000;
+    \8816 [879] = 41'h000004080a1;
+    \8816 [880] = 41'h00000240a75;
+    \8816 [881] = 41'h00000000000;
+    \8816 [882] = 41'h00000000000;
+    \8816 [883] = 41'h00000000000;
+    \8816 [884] = 41'h00000000000;
+    \8816 [885] = 41'h0400a040909;
+    \8816 [886] = 41'h00000000000;
+    \8816 [887] = 41'h0400a840909;
+    \8816 [888] = 41'h00000000000;
+    \8816 [889] = 41'h00000000000;
+    \8816 [890] = 41'h00000000000;
+    \8816 [891] = 41'h00000000000;
+    \8816 [892] = 41'h00000000000;
+    \8816 [893] = 41'h00000000000;
+    \8816 [894] = 41'h00000000000;
+    \8816 [895] = 41'h000002400d9;
+    \8816 [896] = 41'h00000000000;
+    \8816 [897] = 41'h00000000000;
+    \8816 [898] = 41'h00000000000;
+    \8816 [899] = 41'h040010888b9;
+    \8816 [900] = 41'h00000000000;
+    \8816 [901] = 41'h000100880bd;
+    \8816 [902] = 41'h00000000000;
+    \8816 [903] = 41'h00000000000;
+    \8816 [904] = 41'h00210040a7e;
+    \8816 [905] = 41'h00000000000;
+    \8816 [906] = 41'h00000000000;
+    \8816 [907] = 41'h00420040a7e;
+    \8816 [908] = 41'h00000000000;
+    \8816 [909] = 41'h00000000000;
+    \8816 [910] = 41'h00000000000;
+    \8816 [911] = 41'h00000000000;
+    \8816 [912] = 41'h00000240a75;
+    \8816 [913] = 41'h00000000000;
+    \8816 [914] = 41'h00000000000;
+    \8816 [915] = 41'h00000000000;
+    \8816 [916] = 41'h00000000000;
+    \8816 [917] = 41'h00000000000;
+    \8816 [918] = 41'h00000000000;
+    \8816 [919] = 41'h04006840109;
+    \8816 [920] = 41'h00000000000;
+    \8816 [921] = 41'h00000000000;
+    \8816 [922] = 41'h00000000000;
+    \8816 [923] = 41'h00000000000;
+    \8816 [924] = 41'h00000000000;
+    \8816 [925] = 41'h00000000000;
+    \8816 [926] = 41'h00000000000;
+    \8816 [927] = 41'h00000000000;
+    \8816 [928] = 41'h00000000000;
+    \8816 [929] = 41'h00000000000;
+    \8816 [930] = 41'h00000000000;
+    \8816 [931] = 41'h00000000000;
+    \8816 [932] = 41'h00000000000;
+    \8816 [933] = 41'h00000000000;
+    \8816 [934] = 41'h00000000000;
+    \8816 [935] = 41'h00000000000;
+    \8816 [936] = 41'h00010040a7e;
+    \8816 [937] = 41'h10000000041;
+    \8816 [938] = 41'h00000000000;
+    \8816 [939] = 41'h00440040a7e;
+    \8816 [940] = 41'h10000040095;
+    \8816 [941] = 41'h00000000000;
+    \8816 [942] = 41'h00000000000;
+    \8816 [943] = 41'h00000000000;
+    \8816 [944] = 41'h00000240a75;
+    \8816 [945] = 41'h00000000000;
+    \8816 [946] = 41'h00000000000;
+    \8816 [947] = 41'h00000000000;
+    \8816 [948] = 41'h058000409b5;
+    \8816 [949] = 41'h000000409f9;
+    \8816 [950] = 41'h050000409b1;
+    \8816 [951] = 41'h00000000000;
+    \8816 [952] = 41'h00000000000;
+    \8816 [953] = 41'h00000000000;
+    \8816 [954] = 41'h00000000000;
+    \8816 [955] = 41'h100000009ed;
+    \8816 [956] = 41'h00000000000;
+    \8816 [957] = 41'h00000000000;
+    \8816 [958] = 41'h00000000000;
+    \8816 [959] = 41'h00000000000;
+    \8816 [960] = 41'h00000000000;
+    \8816 [961] = 41'h00000000000;
+    \8816 [962] = 41'h00000000000;
+    \8816 [963] = 41'h0400088880d;
+    \8816 [964] = 41'h00000000000;
+    \8816 [965] = 41'h04000088035;
+    \8816 [966] = 41'h00000000000;
+    \8816 [967] = 41'h00000000000;
+    \8816 [968] = 41'h00230040a7e;
+    \8816 [969] = 41'h10000000045;
+    \8816 [970] = 41'h00240040a7e;
+    \8816 [971] = 41'h00410040a7e;
+    \8816 [972] = 41'h00000000000;
+    \8816 [973] = 41'h00000000000;
+    \8816 [974] = 41'h00000000000;
+    \8816 [975] = 41'h00000000000;
+    \8816 [976] = 41'h00000240a75;
+    \8816 [977] = 41'h00000000000;
+    \8816 [978] = 41'h00000000000;
+    \8816 [979] = 41'h00000000000;
+    \8816 [980] = 41'h00000000000;
+    \8816 [981] = 41'h00000000000;
+    \8816 [982] = 41'h00000000000;
+    \8816 [983] = 41'h04006840909;
+    \8816 [984] = 41'h00000000000;
+    \8816 [985] = 41'h00000000000;
+    \8816 [986] = 41'h00000000000;
+    \8816 [987] = 41'h00000000000;
+    \8816 [988] = 41'h00000000000;
+    \8816 [989] = 41'h00000000000;
+    \8816 [990] = 41'h00000000000;
+    \8816 [991] = 41'h00006c00925;
+    \8816 [992] = 41'h00000000000;
+    \8816 [993] = 41'h10000000005;
+    \8816 [994] = 41'h00000000000;
+    \8816 [995] = 41'h0400008880d;
+    \8816 [996] = 41'h040000888dd;
+    \8816 [997] = 41'h04800088035;
+    \8816 [998] = 41'h00000000000;
+    \8816 [999] = 41'h048000888dd;
+    \8816 [1000] = 41'h00030040a7e;
+    \8816 [1001] = 41'h10000000071;
+    \8816 [1002] = 41'h00040040a7e;
+    \8816 [1003] = 41'h00430040a7e;
+    \8816 [1004] = 41'h00000240091;
+    \8816 [1005] = 41'h00000000000;
+    \8816 [1006] = 41'h00000000000;
+    \8816 [1007] = 41'h00000000000;
+    \8816 [1008] = 41'h10000240a75;
+    \8816 [1009] = 41'h00000000000;
+    \8816 [1010] = 41'h00000000000;
+    \8816 [1011] = 41'h00000000000;
+    \8816 [1012] = 41'h048000409b5;
+    \8816 [1013] = 41'h04008040909;
+    \8816 [1014] = 41'h040000409b1;
+    \8816 [1015] = 41'h0400e840909;
+    \8816 [1016] = 41'h00000000000;
+    \8816 [1017] = 41'h00000000000;
+    \8816 [1018] = 41'h00000000000;
+    \8816 [1019] = 41'h108000009ed;
+    \8816 [1020] = 41'h00000000000;
+    \8816 [1021] = 41'h00000000000;
+    \8816 [1022] = 41'h00000000000;
+    \8816 [1023] = 41'h01006c00925;
+  end
+  assign _131_ = \8816 [_031_];
+  reg [0:0] \8818  [1023:0];
+  initial begin
+    \8818 [0] = 1'h0;
+    \8818 [1] = 1'h0;
+    \8818 [2] = 1'h0;
+    \8818 [3] = 1'h0;
+    \8818 [4] = 1'h0;
+    \8818 [5] = 1'h0;
+    \8818 [6] = 1'h0;
+    \8818 [7] = 1'h0;
+    \8818 [8] = 1'h0;
+    \8818 [9] = 1'h0;
+    \8818 [10] = 1'h0;
+    \8818 [11] = 1'h0;
+    \8818 [12] = 1'h0;
+    \8818 [13] = 1'h0;
+    \8818 [14] = 1'h0;
+    \8818 [15] = 1'h0;
+    \8818 [16] = 1'h0;
+    \8818 [17] = 1'h0;
+    \8818 [18] = 1'h0;
+    \8818 [19] = 1'h0;
+    \8818 [20] = 1'h0;
+    \8818 [21] = 1'h0;
+    \8818 [22] = 1'h0;
+    \8818 [23] = 1'h0;
+    \8818 [24] = 1'h0;
+    \8818 [25] = 1'h0;
+    \8818 [26] = 1'h0;
+    \8818 [27] = 1'h0;
+    \8818 [28] = 1'h0;
+    \8818 [29] = 1'h0;
+    \8818 [30] = 1'h0;
+    \8818 [31] = 1'h0;
+    \8818 [32] = 1'h0;
+    \8818 [33] = 1'h0;
+    \8818 [34] = 1'h0;
+    \8818 [35] = 1'h0;
+    \8818 [36] = 1'h0;
+    \8818 [37] = 1'h0;
+    \8818 [38] = 1'h0;
+    \8818 [39] = 1'h0;
+    \8818 [40] = 1'h0;
+    \8818 [41] = 1'h0;
+    \8818 [42] = 1'h0;
+    \8818 [43] = 1'h0;
+    \8818 [44] = 1'h0;
+    \8818 [45] = 1'h0;
+    \8818 [46] = 1'h0;
+    \8818 [47] = 1'h0;
+    \8818 [48] = 1'h0;
+    \8818 [49] = 1'h0;
+    \8818 [50] = 1'h0;
+    \8818 [51] = 1'h0;
+    \8818 [52] = 1'h0;
+    \8818 [53] = 1'h0;
+    \8818 [54] = 1'h0;
+    \8818 [55] = 1'h0;
+    \8818 [56] = 1'h0;
+    \8818 [57] = 1'h0;
+    \8818 [58] = 1'h0;
+    \8818 [59] = 1'h0;
+    \8818 [60] = 1'h0;
+    \8818 [61] = 1'h0;
+    \8818 [62] = 1'h0;
+    \8818 [63] = 1'h0;
+    \8818 [64] = 1'h0;
+    \8818 [65] = 1'h0;
+    \8818 [66] = 1'h0;
+    \8818 [67] = 1'h0;
+    \8818 [68] = 1'h0;
+    \8818 [69] = 1'h0;
+    \8818 [70] = 1'h0;
+    \8818 [71] = 1'h0;
+    \8818 [72] = 1'h0;
+    \8818 [73] = 1'h0;
+    \8818 [74] = 1'h0;
+    \8818 [75] = 1'h0;
+    \8818 [76] = 1'h0;
+    \8818 [77] = 1'h0;
+    \8818 [78] = 1'h0;
+    \8818 [79] = 1'h0;
+    \8818 [80] = 1'h0;
+    \8818 [81] = 1'h0;
+    \8818 [82] = 1'h0;
+    \8818 [83] = 1'h0;
+    \8818 [84] = 1'h0;
+    \8818 [85] = 1'h0;
+    \8818 [86] = 1'h0;
+    \8818 [87] = 1'h0;
+    \8818 [88] = 1'h0;
+    \8818 [89] = 1'h0;
+    \8818 [90] = 1'h0;
+    \8818 [91] = 1'h0;
+    \8818 [92] = 1'h0;
+    \8818 [93] = 1'h0;
+    \8818 [94] = 1'h0;
+    \8818 [95] = 1'h0;
+    \8818 [96] = 1'h0;
+    \8818 [97] = 1'h0;
+    \8818 [98] = 1'h0;
+    \8818 [99] = 1'h0;
+    \8818 [100] = 1'h0;
+    \8818 [101] = 1'h0;
+    \8818 [102] = 1'h0;
+    \8818 [103] = 1'h0;
+    \8818 [104] = 1'h0;
+    \8818 [105] = 1'h0;
+    \8818 [106] = 1'h0;
+    \8818 [107] = 1'h0;
+    \8818 [108] = 1'h0;
+    \8818 [109] = 1'h0;
+    \8818 [110] = 1'h0;
+    \8818 [111] = 1'h0;
+    \8818 [112] = 1'h0;
+    \8818 [113] = 1'h0;
+    \8818 [114] = 1'h0;
+    \8818 [115] = 1'h0;
+    \8818 [116] = 1'h0;
+    \8818 [117] = 1'h0;
+    \8818 [118] = 1'h0;
+    \8818 [119] = 1'h0;
+    \8818 [120] = 1'h0;
+    \8818 [121] = 1'h0;
+    \8818 [122] = 1'h0;
+    \8818 [123] = 1'h0;
+    \8818 [124] = 1'h0;
+    \8818 [125] = 1'h0;
+    \8818 [126] = 1'h0;
+    \8818 [127] = 1'h0;
+    \8818 [128] = 1'h0;
+    \8818 [129] = 1'h0;
+    \8818 [130] = 1'h0;
+    \8818 [131] = 1'h0;
+    \8818 [132] = 1'h0;
+    \8818 [133] = 1'h0;
+    \8818 [134] = 1'h0;
+    \8818 [135] = 1'h0;
+    \8818 [136] = 1'h0;
+    \8818 [137] = 1'h0;
+    \8818 [138] = 1'h0;
+    \8818 [139] = 1'h0;
+    \8818 [140] = 1'h0;
+    \8818 [141] = 1'h0;
+    \8818 [142] = 1'h0;
+    \8818 [143] = 1'h0;
+    \8818 [144] = 1'h0;
+    \8818 [145] = 1'h0;
+    \8818 [146] = 1'h0;
+    \8818 [147] = 1'h0;
+    \8818 [148] = 1'h0;
+    \8818 [149] = 1'h0;
+    \8818 [150] = 1'h0;
+    \8818 [151] = 1'h0;
+    \8818 [152] = 1'h0;
+    \8818 [153] = 1'h0;
+    \8818 [154] = 1'h0;
+    \8818 [155] = 1'h0;
+    \8818 [156] = 1'h0;
+    \8818 [157] = 1'h0;
+    \8818 [158] = 1'h0;
+    \8818 [159] = 1'h0;
+    \8818 [160] = 1'h0;
+    \8818 [161] = 1'h0;
+    \8818 [162] = 1'h0;
+    \8818 [163] = 1'h0;
+    \8818 [164] = 1'h0;
+    \8818 [165] = 1'h0;
+    \8818 [166] = 1'h0;
+    \8818 [167] = 1'h0;
+    \8818 [168] = 1'h0;
+    \8818 [169] = 1'h0;
+    \8818 [170] = 1'h0;
+    \8818 [171] = 1'h0;
+    \8818 [172] = 1'h0;
+    \8818 [173] = 1'h0;
+    \8818 [174] = 1'h0;
+    \8818 [175] = 1'h0;
+    \8818 [176] = 1'h0;
+    \8818 [177] = 1'h0;
+    \8818 [178] = 1'h0;
+    \8818 [179] = 1'h0;
+    \8818 [180] = 1'h0;
+    \8818 [181] = 1'h0;
+    \8818 [182] = 1'h0;
+    \8818 [183] = 1'h0;
+    \8818 [184] = 1'h0;
+    \8818 [185] = 1'h0;
+    \8818 [186] = 1'h0;
+    \8818 [187] = 1'h0;
+    \8818 [188] = 1'h0;
+    \8818 [189] = 1'h0;
+    \8818 [190] = 1'h0;
+    \8818 [191] = 1'h0;
+    \8818 [192] = 1'h0;
+    \8818 [193] = 1'h0;
+    \8818 [194] = 1'h0;
+    \8818 [195] = 1'h0;
+    \8818 [196] = 1'h0;
+    \8818 [197] = 1'h0;
+    \8818 [198] = 1'h0;
+    \8818 [199] = 1'h0;
+    \8818 [200] = 1'h0;
+    \8818 [201] = 1'h0;
+    \8818 [202] = 1'h0;
+    \8818 [203] = 1'h0;
+    \8818 [204] = 1'h0;
+    \8818 [205] = 1'h0;
+    \8818 [206] = 1'h0;
+    \8818 [207] = 1'h0;
+    \8818 [208] = 1'h0;
+    \8818 [209] = 1'h0;
+    \8818 [210] = 1'h0;
+    \8818 [211] = 1'h0;
+    \8818 [212] = 1'h0;
+    \8818 [213] = 1'h0;
+    \8818 [214] = 1'h0;
+    \8818 [215] = 1'h0;
+    \8818 [216] = 1'h0;
+    \8818 [217] = 1'h0;
+    \8818 [218] = 1'h0;
+    \8818 [219] = 1'h0;
+    \8818 [220] = 1'h0;
+    \8818 [221] = 1'h0;
+    \8818 [222] = 1'h0;
+    \8818 [223] = 1'h0;
+    \8818 [224] = 1'h0;
+    \8818 [225] = 1'h0;
+    \8818 [226] = 1'h0;
+    \8818 [227] = 1'h0;
+    \8818 [228] = 1'h0;
+    \8818 [229] = 1'h0;
+    \8818 [230] = 1'h0;
+    \8818 [231] = 1'h0;
+    \8818 [232] = 1'h0;
+    \8818 [233] = 1'h0;
+    \8818 [234] = 1'h0;
+    \8818 [235] = 1'h0;
+    \8818 [236] = 1'h0;
+    \8818 [237] = 1'h0;
+    \8818 [238] = 1'h0;
+    \8818 [239] = 1'h0;
+    \8818 [240] = 1'h0;
+    \8818 [241] = 1'h0;
+    \8818 [242] = 1'h0;
+    \8818 [243] = 1'h0;
+    \8818 [244] = 1'h0;
+    \8818 [245] = 1'h0;
+    \8818 [246] = 1'h0;
+    \8818 [247] = 1'h0;
+    \8818 [248] = 1'h0;
+    \8818 [249] = 1'h0;
+    \8818 [250] = 1'h0;
+    \8818 [251] = 1'h0;
+    \8818 [252] = 1'h0;
+    \8818 [253] = 1'h0;
+    \8818 [254] = 1'h0;
+    \8818 [255] = 1'h0;
+    \8818 [256] = 1'h0;
+    \8818 [257] = 1'h0;
+    \8818 [258] = 1'h0;
+    \8818 [259] = 1'h0;
+    \8818 [260] = 1'h0;
+    \8818 [261] = 1'h0;
+    \8818 [262] = 1'h0;
+    \8818 [263] = 1'h0;
+    \8818 [264] = 1'h0;
+    \8818 [265] = 1'h0;
+    \8818 [266] = 1'h0;
+    \8818 [267] = 1'h0;
+    \8818 [268] = 1'h0;
+    \8818 [269] = 1'h0;
+    \8818 [270] = 1'h0;
+    \8818 [271] = 1'h0;
+    \8818 [272] = 1'h0;
+    \8818 [273] = 1'h0;
+    \8818 [274] = 1'h0;
+    \8818 [275] = 1'h0;
+    \8818 [276] = 1'h0;
+    \8818 [277] = 1'h0;
+    \8818 [278] = 1'h0;
+    \8818 [279] = 1'h0;
+    \8818 [280] = 1'h0;
+    \8818 [281] = 1'h0;
+    \8818 [282] = 1'h0;
+    \8818 [283] = 1'h0;
+    \8818 [284] = 1'h0;
+    \8818 [285] = 1'h0;
+    \8818 [286] = 1'h0;
+    \8818 [287] = 1'h0;
+    \8818 [288] = 1'h0;
+    \8818 [289] = 1'h0;
+    \8818 [290] = 1'h0;
+    \8818 [291] = 1'h0;
+    \8818 [292] = 1'h0;
+    \8818 [293] = 1'h0;
+    \8818 [294] = 1'h0;
+    \8818 [295] = 1'h0;
+    \8818 [296] = 1'h0;
+    \8818 [297] = 1'h0;
+    \8818 [298] = 1'h0;
+    \8818 [299] = 1'h0;
+    \8818 [300] = 1'h0;
+    \8818 [301] = 1'h0;
+    \8818 [302] = 1'h0;
+    \8818 [303] = 1'h0;
+    \8818 [304] = 1'h0;
+    \8818 [305] = 1'h0;
+    \8818 [306] = 1'h0;
+    \8818 [307] = 1'h0;
+    \8818 [308] = 1'h0;
+    \8818 [309] = 1'h0;
+    \8818 [310] = 1'h0;
+    \8818 [311] = 1'h0;
+    \8818 [312] = 1'h0;
+    \8818 [313] = 1'h0;
+    \8818 [314] = 1'h0;
+    \8818 [315] = 1'h1;
+    \8818 [316] = 1'h0;
+    \8818 [317] = 1'h0;
+    \8818 [318] = 1'h0;
+    \8818 [319] = 1'h0;
+    \8818 [320] = 1'h0;
+    \8818 [321] = 1'h0;
+    \8818 [322] = 1'h0;
+    \8818 [323] = 1'h0;
+    \8818 [324] = 1'h0;
+    \8818 [325] = 1'h0;
+    \8818 [326] = 1'h0;
+    \8818 [327] = 1'h0;
+    \8818 [328] = 1'h0;
+    \8818 [329] = 1'h0;
+    \8818 [330] = 1'h0;
+    \8818 [331] = 1'h0;
+    \8818 [332] = 1'h0;
+    \8818 [333] = 1'h0;
+    \8818 [334] = 1'h0;
+    \8818 [335] = 1'h0;
+    \8818 [336] = 1'h0;
+    \8818 [337] = 1'h0;
+    \8818 [338] = 1'h0;
+    \8818 [339] = 1'h0;
+    \8818 [340] = 1'h0;
+    \8818 [341] = 1'h0;
+    \8818 [342] = 1'h0;
+    \8818 [343] = 1'h0;
+    \8818 [344] = 1'h0;
+    \8818 [345] = 1'h0;
+    \8818 [346] = 1'h0;
+    \8818 [347] = 1'h0;
+    \8818 [348] = 1'h0;
+    \8818 [349] = 1'h0;
+    \8818 [350] = 1'h0;
+    \8818 [351] = 1'h0;
+    \8818 [352] = 1'h0;
+    \8818 [353] = 1'h0;
+    \8818 [354] = 1'h0;
+    \8818 [355] = 1'h0;
+    \8818 [356] = 1'h0;
+    \8818 [357] = 1'h0;
+    \8818 [358] = 1'h0;
+    \8818 [359] = 1'h0;
+    \8818 [360] = 1'h0;
+    \8818 [361] = 1'h0;
+    \8818 [362] = 1'h0;
+    \8818 [363] = 1'h0;
+    \8818 [364] = 1'h0;
+    \8818 [365] = 1'h0;
+    \8818 [366] = 1'h0;
+    \8818 [367] = 1'h0;
+    \8818 [368] = 1'h0;
+    \8818 [369] = 1'h0;
+    \8818 [370] = 1'h0;
+    \8818 [371] = 1'h0;
+    \8818 [372] = 1'h0;
+    \8818 [373] = 1'h0;
+    \8818 [374] = 1'h0;
+    \8818 [375] = 1'h0;
+    \8818 [376] = 1'h0;
+    \8818 [377] = 1'h0;
+    \8818 [378] = 1'h0;
+    \8818 [379] = 1'h0;
+    \8818 [380] = 1'h0;
+    \8818 [381] = 1'h0;
+    \8818 [382] = 1'h0;
+    \8818 [383] = 1'h0;
+    \8818 [384] = 1'h0;
+    \8818 [385] = 1'h0;
+    \8818 [386] = 1'h0;
+    \8818 [387] = 1'h0;
+    \8818 [388] = 1'h0;
+    \8818 [389] = 1'h0;
+    \8818 [390] = 1'h0;
+    \8818 [391] = 1'h0;
+    \8818 [392] = 1'h0;
+    \8818 [393] = 1'h0;
+    \8818 [394] = 1'h0;
+    \8818 [395] = 1'h0;
+    \8818 [396] = 1'h0;
+    \8818 [397] = 1'h0;
+    \8818 [398] = 1'h0;
+    \8818 [399] = 1'h0;
+    \8818 [400] = 1'h0;
+    \8818 [401] = 1'h0;
+    \8818 [402] = 1'h0;
+    \8818 [403] = 1'h0;
+    \8818 [404] = 1'h0;
+    \8818 [405] = 1'h0;
+    \8818 [406] = 1'h0;
+    \8818 [407] = 1'h0;
+    \8818 [408] = 1'h0;
+    \8818 [409] = 1'h0;
+    \8818 [410] = 1'h0;
+    \8818 [411] = 1'h0;
+    \8818 [412] = 1'h0;
+    \8818 [413] = 1'h0;
+    \8818 [414] = 1'h0;
+    \8818 [415] = 1'h0;
+    \8818 [416] = 1'h0;
+    \8818 [417] = 1'h0;
+    \8818 [418] = 1'h0;
+    \8818 [419] = 1'h0;
+    \8818 [420] = 1'h0;
+    \8818 [421] = 1'h0;
+    \8818 [422] = 1'h0;
+    \8818 [423] = 1'h0;
+    \8818 [424] = 1'h0;
+    \8818 [425] = 1'h0;
+    \8818 [426] = 1'h0;
+    \8818 [427] = 1'h0;
+    \8818 [428] = 1'h0;
+    \8818 [429] = 1'h0;
+    \8818 [430] = 1'h0;
+    \8818 [431] = 1'h0;
+    \8818 [432] = 1'h0;
+    \8818 [433] = 1'h0;
+    \8818 [434] = 1'h0;
+    \8818 [435] = 1'h0;
+    \8818 [436] = 1'h0;
+    \8818 [437] = 1'h0;
+    \8818 [438] = 1'h0;
+    \8818 [439] = 1'h0;
+    \8818 [440] = 1'h0;
+    \8818 [441] = 1'h0;
+    \8818 [442] = 1'h0;
+    \8818 [443] = 1'h0;
+    \8818 [444] = 1'h0;
+    \8818 [445] = 1'h0;
+    \8818 [446] = 1'h0;
+    \8818 [447] = 1'h1;
+    \8818 [448] = 1'h0;
+    \8818 [449] = 1'h0;
+    \8818 [450] = 1'h0;
+    \8818 [451] = 1'h0;
+    \8818 [452] = 1'h0;
+    \8818 [453] = 1'h0;
+    \8818 [454] = 1'h0;
+    \8818 [455] = 1'h0;
+    \8818 [456] = 1'h0;
+    \8818 [457] = 1'h0;
+    \8818 [458] = 1'h0;
+    \8818 [459] = 1'h0;
+    \8818 [460] = 1'h0;
+    \8818 [461] = 1'h0;
+    \8818 [462] = 1'h0;
+    \8818 [463] = 1'h0;
+    \8818 [464] = 1'h0;
+    \8818 [465] = 1'h0;
+    \8818 [466] = 1'h0;
+    \8818 [467] = 1'h0;
+    \8818 [468] = 1'h0;
+    \8818 [469] = 1'h0;
+    \8818 [470] = 1'h0;
+    \8818 [471] = 1'h0;
+    \8818 [472] = 1'h0;
+    \8818 [473] = 1'h0;
+    \8818 [474] = 1'h0;
+    \8818 [475] = 1'h0;
+    \8818 [476] = 1'h0;
+    \8818 [477] = 1'h0;
+    \8818 [478] = 1'h0;
+    \8818 [479] = 1'h0;
+    \8818 [480] = 1'h0;
+    \8818 [481] = 1'h0;
+    \8818 [482] = 1'h0;
+    \8818 [483] = 1'h0;
+    \8818 [484] = 1'h0;
+    \8818 [485] = 1'h0;
+    \8818 [486] = 1'h0;
+    \8818 [487] = 1'h0;
+    \8818 [488] = 1'h0;
+    \8818 [489] = 1'h0;
+    \8818 [490] = 1'h0;
+    \8818 [491] = 1'h0;
+    \8818 [492] = 1'h0;
+    \8818 [493] = 1'h0;
+    \8818 [494] = 1'h1;
+    \8818 [495] = 1'h1;
+    \8818 [496] = 1'h0;
+    \8818 [497] = 1'h0;
+    \8818 [498] = 1'h0;
+    \8818 [499] = 1'h0;
+    \8818 [500] = 1'h0;
+    \8818 [501] = 1'h0;
+    \8818 [502] = 1'h0;
+    \8818 [503] = 1'h0;
+    \8818 [504] = 1'h0;
+    \8818 [505] = 1'h0;
+    \8818 [506] = 1'h0;
+    \8818 [507] = 1'h0;
+    \8818 [508] = 1'h0;
+    \8818 [509] = 1'h0;
+    \8818 [510] = 1'h0;
+    \8818 [511] = 1'h1;
+    \8818 [512] = 1'h0;
+    \8818 [513] = 1'h0;
+    \8818 [514] = 1'h0;
+    \8818 [515] = 1'h0;
+    \8818 [516] = 1'h0;
+    \8818 [517] = 1'h0;
+    \8818 [518] = 1'h0;
+    \8818 [519] = 1'h0;
+    \8818 [520] = 1'h0;
+    \8818 [521] = 1'h0;
+    \8818 [522] = 1'h0;
+    \8818 [523] = 1'h0;
+    \8818 [524] = 1'h0;
+    \8818 [525] = 1'h0;
+    \8818 [526] = 1'h0;
+    \8818 [527] = 1'h0;
+    \8818 [528] = 1'h0;
+    \8818 [529] = 1'h0;
+    \8818 [530] = 1'h0;
+    \8818 [531] = 1'h0;
+    \8818 [532] = 1'h0;
+    \8818 [533] = 1'h0;
+    \8818 [534] = 1'h0;
+    \8818 [535] = 1'h0;
+    \8818 [536] = 1'h0;
+    \8818 [537] = 1'h0;
+    \8818 [538] = 1'h0;
+    \8818 [539] = 1'h0;
+    \8818 [540] = 1'h0;
+    \8818 [541] = 1'h0;
+    \8818 [542] = 1'h0;
+    \8818 [543] = 1'h0;
+    \8818 [544] = 1'h0;
+    \8818 [545] = 1'h0;
+    \8818 [546] = 1'h0;
+    \8818 [547] = 1'h0;
+    \8818 [548] = 1'h0;
+    \8818 [549] = 1'h0;
+    \8818 [550] = 1'h0;
+    \8818 [551] = 1'h0;
+    \8818 [552] = 1'h0;
+    \8818 [553] = 1'h0;
+    \8818 [554] = 1'h0;
+    \8818 [555] = 1'h0;
+    \8818 [556] = 1'h0;
+    \8818 [557] = 1'h0;
+    \8818 [558] = 1'h0;
+    \8818 [559] = 1'h0;
+    \8818 [560] = 1'h0;
+    \8818 [561] = 1'h0;
+    \8818 [562] = 1'h0;
+    \8818 [563] = 1'h0;
+    \8818 [564] = 1'h0;
+    \8818 [565] = 1'h0;
+    \8818 [566] = 1'h0;
+    \8818 [567] = 1'h0;
+    \8818 [568] = 1'h0;
+    \8818 [569] = 1'h0;
+    \8818 [570] = 1'h0;
+    \8818 [571] = 1'h0;
+    \8818 [572] = 1'h0;
+    \8818 [573] = 1'h0;
+    \8818 [574] = 1'h0;
+    \8818 [575] = 1'h0;
+    \8818 [576] = 1'h0;
+    \8818 [577] = 1'h0;
+    \8818 [578] = 1'h0;
+    \8818 [579] = 1'h0;
+    \8818 [580] = 1'h0;
+    \8818 [581] = 1'h0;
+    \8818 [582] = 1'h0;
+    \8818 [583] = 1'h0;
+    \8818 [584] = 1'h0;
+    \8818 [585] = 1'h0;
+    \8818 [586] = 1'h0;
+    \8818 [587] = 1'h0;
+    \8818 [588] = 1'h0;
+    \8818 [589] = 1'h0;
+    \8818 [590] = 1'h0;
+    \8818 [591] = 1'h0;
+    \8818 [592] = 1'h0;
+    \8818 [593] = 1'h0;
+    \8818 [594] = 1'h0;
+    \8818 [595] = 1'h0;
+    \8818 [596] = 1'h0;
+    \8818 [597] = 1'h0;
+    \8818 [598] = 1'h0;
+    \8818 [599] = 1'h0;
+    \8818 [600] = 1'h0;
+    \8818 [601] = 1'h0;
+    \8818 [602] = 1'h0;
+    \8818 [603] = 1'h0;
+    \8818 [604] = 1'h0;
+    \8818 [605] = 1'h0;
+    \8818 [606] = 1'h0;
+    \8818 [607] = 1'h0;
+    \8818 [608] = 1'h0;
+    \8818 [609] = 1'h0;
+    \8818 [610] = 1'h0;
+    \8818 [611] = 1'h0;
+    \8818 [612] = 1'h0;
+    \8818 [613] = 1'h0;
+    \8818 [614] = 1'h0;
+    \8818 [615] = 1'h0;
+    \8818 [616] = 1'h0;
+    \8818 [617] = 1'h0;
+    \8818 [618] = 1'h0;
+    \8818 [619] = 1'h0;
+    \8818 [620] = 1'h0;
+    \8818 [621] = 1'h0;
+    \8818 [622] = 1'h0;
+    \8818 [623] = 1'h0;
+    \8818 [624] = 1'h0;
+    \8818 [625] = 1'h0;
+    \8818 [626] = 1'h0;
+    \8818 [627] = 1'h0;
+    \8818 [628] = 1'h0;
+    \8818 [629] = 1'h0;
+    \8818 [630] = 1'h0;
+    \8818 [631] = 1'h0;
+    \8818 [632] = 1'h0;
+    \8818 [633] = 1'h0;
+    \8818 [634] = 1'h0;
+    \8818 [635] = 1'h0;
+    \8818 [636] = 1'h0;
+    \8818 [637] = 1'h0;
+    \8818 [638] = 1'h0;
+    \8818 [639] = 1'h0;
+    \8818 [640] = 1'h0;
+    \8818 [641] = 1'h0;
+    \8818 [642] = 1'h0;
+    \8818 [643] = 1'h0;
+    \8818 [644] = 1'h0;
+    \8818 [645] = 1'h0;
+    \8818 [646] = 1'h0;
+    \8818 [647] = 1'h0;
+    \8818 [648] = 1'h0;
+    \8818 [649] = 1'h0;
+    \8818 [650] = 1'h0;
+    \8818 [651] = 1'h0;
+    \8818 [652] = 1'h0;
+    \8818 [653] = 1'h0;
+    \8818 [654] = 1'h0;
+    \8818 [655] = 1'h0;
+    \8818 [656] = 1'h0;
+    \8818 [657] = 1'h0;
+    \8818 [658] = 1'h0;
+    \8818 [659] = 1'h0;
+    \8818 [660] = 1'h0;
+    \8818 [661] = 1'h0;
+    \8818 [662] = 1'h0;
+    \8818 [663] = 1'h0;
+    \8818 [664] = 1'h0;
+    \8818 [665] = 1'h0;
+    \8818 [666] = 1'h0;
+    \8818 [667] = 1'h0;
+    \8818 [668] = 1'h0;
+    \8818 [669] = 1'h0;
+    \8818 [670] = 1'h0;
+    \8818 [671] = 1'h0;
+    \8818 [672] = 1'h0;
+    \8818 [673] = 1'h0;
+    \8818 [674] = 1'h0;
+    \8818 [675] = 1'h0;
+    \8818 [676] = 1'h0;
+    \8818 [677] = 1'h0;
+    \8818 [678] = 1'h0;
+    \8818 [679] = 1'h0;
+    \8818 [680] = 1'h0;
+    \8818 [681] = 1'h0;
+    \8818 [682] = 1'h0;
+    \8818 [683] = 1'h0;
+    \8818 [684] = 1'h0;
+    \8818 [685] = 1'h0;
+    \8818 [686] = 1'h0;
+    \8818 [687] = 1'h0;
+    \8818 [688] = 1'h0;
+    \8818 [689] = 1'h0;
+    \8818 [690] = 1'h0;
+    \8818 [691] = 1'h0;
+    \8818 [692] = 1'h0;
+    \8818 [693] = 1'h0;
+    \8818 [694] = 1'h0;
+    \8818 [695] = 1'h0;
+    \8818 [696] = 1'h0;
+    \8818 [697] = 1'h0;
+    \8818 [698] = 1'h0;
+    \8818 [699] = 1'h0;
+    \8818 [700] = 1'h0;
+    \8818 [701] = 1'h0;
+    \8818 [702] = 1'h0;
+    \8818 [703] = 1'h0;
+    \8818 [704] = 1'h0;
+    \8818 [705] = 1'h0;
+    \8818 [706] = 1'h0;
+    \8818 [707] = 1'h0;
+    \8818 [708] = 1'h0;
+    \8818 [709] = 1'h0;
+    \8818 [710] = 1'h0;
+    \8818 [711] = 1'h0;
+    \8818 [712] = 1'h0;
+    \8818 [713] = 1'h0;
+    \8818 [714] = 1'h0;
+    \8818 [715] = 1'h0;
+    \8818 [716] = 1'h0;
+    \8818 [717] = 1'h0;
+    \8818 [718] = 1'h0;
+    \8818 [719] = 1'h0;
+    \8818 [720] = 1'h0;
+    \8818 [721] = 1'h0;
+    \8818 [722] = 1'h0;
+    \8818 [723] = 1'h0;
+    \8818 [724] = 1'h0;
+    \8818 [725] = 1'h0;
+    \8818 [726] = 1'h0;
+    \8818 [727] = 1'h0;
+    \8818 [728] = 1'h0;
+    \8818 [729] = 1'h0;
+    \8818 [730] = 1'h0;
+    \8818 [731] = 1'h0;
+    \8818 [732] = 1'h0;
+    \8818 [733] = 1'h0;
+    \8818 [734] = 1'h0;
+    \8818 [735] = 1'h0;
+    \8818 [736] = 1'h0;
+    \8818 [737] = 1'h0;
+    \8818 [738] = 1'h0;
+    \8818 [739] = 1'h0;
+    \8818 [740] = 1'h0;
+    \8818 [741] = 1'h0;
+    \8818 [742] = 1'h0;
+    \8818 [743] = 1'h0;
+    \8818 [744] = 1'h0;
+    \8818 [745] = 1'h0;
+    \8818 [746] = 1'h0;
+    \8818 [747] = 1'h0;
+    \8818 [748] = 1'h0;
+    \8818 [749] = 1'h0;
+    \8818 [750] = 1'h0;
+    \8818 [751] = 1'h0;
+    \8818 [752] = 1'h0;
+    \8818 [753] = 1'h0;
+    \8818 [754] = 1'h0;
+    \8818 [755] = 1'h0;
+    \8818 [756] = 1'h0;
+    \8818 [757] = 1'h0;
+    \8818 [758] = 1'h0;
+    \8818 [759] = 1'h0;
+    \8818 [760] = 1'h0;
+    \8818 [761] = 1'h0;
+    \8818 [762] = 1'h0;
+    \8818 [763] = 1'h0;
+    \8818 [764] = 1'h0;
+    \8818 [765] = 1'h0;
+    \8818 [766] = 1'h0;
+    \8818 [767] = 1'h0;
+    \8818 [768] = 1'h0;
+    \8818 [769] = 1'h0;
+    \8818 [770] = 1'h0;
+    \8818 [771] = 1'h0;
+    \8818 [772] = 1'h0;
+    \8818 [773] = 1'h0;
+    \8818 [774] = 1'h0;
+    \8818 [775] = 1'h0;
+    \8818 [776] = 1'h0;
+    \8818 [777] = 1'h0;
+    \8818 [778] = 1'h0;
+    \8818 [779] = 1'h0;
+    \8818 [780] = 1'h0;
+    \8818 [781] = 1'h0;
+    \8818 [782] = 1'h0;
+    \8818 [783] = 1'h0;
+    \8818 [784] = 1'h0;
+    \8818 [785] = 1'h0;
+    \8818 [786] = 1'h0;
+    \8818 [787] = 1'h0;
+    \8818 [788] = 1'h0;
+    \8818 [789] = 1'h0;
+    \8818 [790] = 1'h0;
+    \8818 [791] = 1'h0;
+    \8818 [792] = 1'h0;
+    \8818 [793] = 1'h0;
+    \8818 [794] = 1'h0;
+    \8818 [795] = 1'h0;
+    \8818 [796] = 1'h0;
+    \8818 [797] = 1'h0;
+    \8818 [798] = 1'h0;
+    \8818 [799] = 1'h0;
+    \8818 [800] = 1'h0;
+    \8818 [801] = 1'h0;
+    \8818 [802] = 1'h0;
+    \8818 [803] = 1'h0;
+    \8818 [804] = 1'h0;
+    \8818 [805] = 1'h0;
+    \8818 [806] = 1'h0;
+    \8818 [807] = 1'h0;
+    \8818 [808] = 1'h0;
+    \8818 [809] = 1'h0;
+    \8818 [810] = 1'h0;
+    \8818 [811] = 1'h0;
+    \8818 [812] = 1'h0;
+    \8818 [813] = 1'h0;
+    \8818 [814] = 1'h0;
+    \8818 [815] = 1'h0;
+    \8818 [816] = 1'h0;
+    \8818 [817] = 1'h0;
+    \8818 [818] = 1'h0;
+    \8818 [819] = 1'h0;
+    \8818 [820] = 1'h0;
+    \8818 [821] = 1'h0;
+    \8818 [822] = 1'h0;
+    \8818 [823] = 1'h0;
+    \8818 [824] = 1'h0;
+    \8818 [825] = 1'h0;
+    \8818 [826] = 1'h0;
+    \8818 [827] = 1'h0;
+    \8818 [828] = 1'h0;
+    \8818 [829] = 1'h0;
+    \8818 [830] = 1'h0;
+    \8818 [831] = 1'h0;
+    \8818 [832] = 1'h0;
+    \8818 [833] = 1'h0;
+    \8818 [834] = 1'h0;
+    \8818 [835] = 1'h0;
+    \8818 [836] = 1'h0;
+    \8818 [837] = 1'h0;
+    \8818 [838] = 1'h0;
+    \8818 [839] = 1'h0;
+    \8818 [840] = 1'h0;
+    \8818 [841] = 1'h0;
+    \8818 [842] = 1'h0;
+    \8818 [843] = 1'h0;
+    \8818 [844] = 1'h0;
+    \8818 [845] = 1'h0;
+    \8818 [846] = 1'h0;
+    \8818 [847] = 1'h0;
+    \8818 [848] = 1'h0;
+    \8818 [849] = 1'h0;
+    \8818 [850] = 1'h0;
+    \8818 [851] = 1'h0;
+    \8818 [852] = 1'h0;
+    \8818 [853] = 1'h0;
+    \8818 [854] = 1'h0;
+    \8818 [855] = 1'h0;
+    \8818 [856] = 1'h0;
+    \8818 [857] = 1'h0;
+    \8818 [858] = 1'h0;
+    \8818 [859] = 1'h0;
+    \8818 [860] = 1'h0;
+    \8818 [861] = 1'h0;
+    \8818 [862] = 1'h0;
+    \8818 [863] = 1'h0;
+    \8818 [864] = 1'h0;
+    \8818 [865] = 1'h0;
+    \8818 [866] = 1'h0;
+    \8818 [867] = 1'h0;
+    \8818 [868] = 1'h0;
+    \8818 [869] = 1'h0;
+    \8818 [870] = 1'h0;
+    \8818 [871] = 1'h0;
+    \8818 [872] = 1'h0;
+    \8818 [873] = 1'h0;
+    \8818 [874] = 1'h0;
+    \8818 [875] = 1'h0;
+    \8818 [876] = 1'h0;
+    \8818 [877] = 1'h0;
+    \8818 [878] = 1'h0;
+    \8818 [879] = 1'h0;
+    \8818 [880] = 1'h0;
+    \8818 [881] = 1'h0;
+    \8818 [882] = 1'h0;
+    \8818 [883] = 1'h0;
+    \8818 [884] = 1'h0;
+    \8818 [885] = 1'h0;
+    \8818 [886] = 1'h0;
+    \8818 [887] = 1'h0;
+    \8818 [888] = 1'h0;
+    \8818 [889] = 1'h0;
+    \8818 [890] = 1'h0;
+    \8818 [891] = 1'h0;
+    \8818 [892] = 1'h0;
+    \8818 [893] = 1'h0;
+    \8818 [894] = 1'h0;
+    \8818 [895] = 1'h0;
+    \8818 [896] = 1'h0;
+    \8818 [897] = 1'h0;
+    \8818 [898] = 1'h0;
+    \8818 [899] = 1'h0;
+    \8818 [900] = 1'h0;
+    \8818 [901] = 1'h0;
+    \8818 [902] = 1'h0;
+    \8818 [903] = 1'h0;
+    \8818 [904] = 1'h0;
+    \8818 [905] = 1'h0;
+    \8818 [906] = 1'h0;
+    \8818 [907] = 1'h0;
+    \8818 [908] = 1'h0;
+    \8818 [909] = 1'h0;
+    \8818 [910] = 1'h0;
+    \8818 [911] = 1'h0;
+    \8818 [912] = 1'h0;
+    \8818 [913] = 1'h0;
+    \8818 [914] = 1'h0;
+    \8818 [915] = 1'h0;
+    \8818 [916] = 1'h0;
+    \8818 [917] = 1'h0;
+    \8818 [918] = 1'h0;
+    \8818 [919] = 1'h0;
+    \8818 [920] = 1'h0;
+    \8818 [921] = 1'h0;
+    \8818 [922] = 1'h0;
+    \8818 [923] = 1'h0;
+    \8818 [924] = 1'h0;
+    \8818 [925] = 1'h0;
+    \8818 [926] = 1'h0;
+    \8818 [927] = 1'h0;
+    \8818 [928] = 1'h1;
+    \8818 [929] = 1'h1;
+    \8818 [930] = 1'h1;
+    \8818 [931] = 1'h1;
+    \8818 [932] = 1'h1;
+    \8818 [933] = 1'h1;
+    \8818 [934] = 1'h1;
+    \8818 [935] = 1'h1;
+    \8818 [936] = 1'h1;
+    \8818 [937] = 1'h1;
+    \8818 [938] = 1'h1;
+    \8818 [939] = 1'h1;
+    \8818 [940] = 1'h1;
+    \8818 [941] = 1'h1;
+    \8818 [942] = 1'h1;
+    \8818 [943] = 1'h1;
+    \8818 [944] = 1'h1;
+    \8818 [945] = 1'h1;
+    \8818 [946] = 1'h1;
+    \8818 [947] = 1'h1;
+    \8818 [948] = 1'h1;
+    \8818 [949] = 1'h1;
+    \8818 [950] = 1'h1;
+    \8818 [951] = 1'h1;
+    \8818 [952] = 1'h1;
+    \8818 [953] = 1'h1;
+    \8818 [954] = 1'h1;
+    \8818 [955] = 1'h1;
+    \8818 [956] = 1'h1;
+    \8818 [957] = 1'h1;
+    \8818 [958] = 1'h1;
+    \8818 [959] = 1'h1;
+    \8818 [960] = 1'h0;
+    \8818 [961] = 1'h0;
+    \8818 [962] = 1'h0;
+    \8818 [963] = 1'h0;
+    \8818 [964] = 1'h0;
+    \8818 [965] = 1'h0;
+    \8818 [966] = 1'h0;
+    \8818 [967] = 1'h0;
+    \8818 [968] = 1'h0;
+    \8818 [969] = 1'h0;
+    \8818 [970] = 1'h0;
+    \8818 [971] = 1'h0;
+    \8818 [972] = 1'h0;
+    \8818 [973] = 1'h0;
+    \8818 [974] = 1'h0;
+    \8818 [975] = 1'h0;
+    \8818 [976] = 1'h0;
+    \8818 [977] = 1'h1;
+    \8818 [978] = 1'h1;
+    \8818 [979] = 1'h0;
+    \8818 [980] = 1'h0;
+    \8818 [981] = 1'h0;
+    \8818 [982] = 1'h1;
+    \8818 [983] = 1'h1;
+    \8818 [984] = 1'h1;
+    \8818 [985] = 1'h1;
+    \8818 [986] = 1'h0;
+    \8818 [987] = 1'h1;
+    \8818 [988] = 1'h0;
+    \8818 [989] = 1'h0;
+    \8818 [990] = 1'h1;
+    \8818 [991] = 1'h0;
+    \8818 [992] = 1'h0;
+    \8818 [993] = 1'h0;
+    \8818 [994] = 1'h0;
+    \8818 [995] = 1'h0;
+    \8818 [996] = 1'h0;
+    \8818 [997] = 1'h0;
+    \8818 [998] = 1'h0;
+    \8818 [999] = 1'h0;
+    \8818 [1000] = 1'h0;
+    \8818 [1001] = 1'h0;
+    \8818 [1002] = 1'h0;
+    \8818 [1003] = 1'h0;
+    \8818 [1004] = 1'h0;
+    \8818 [1005] = 1'h0;
+    \8818 [1006] = 1'h0;
+    \8818 [1007] = 1'h0;
+    \8818 [1008] = 1'h0;
+    \8818 [1009] = 1'h0;
+    \8818 [1010] = 1'h0;
+    \8818 [1011] = 1'h0;
+    \8818 [1012] = 1'h0;
+    \8818 [1013] = 1'h0;
+    \8818 [1014] = 1'h0;
+    \8818 [1015] = 1'h0;
+    \8818 [1016] = 1'h0;
+    \8818 [1017] = 1'h0;
+    \8818 [1018] = 1'h0;
+    \8818 [1019] = 1'h0;
+    \8818 [1020] = 1'h0;
+    \8818 [1021] = 1'h0;
+    \8818 [1022] = 1'h0;
+    \8818 [1023] = 1'h1;
+  end
+  assign _133_ = \8818 [_074_];
+  reg [40:0] \8820  [7:0];
+  initial begin
+    \8820 [0] = 41'h10000000079;
+    \8820 [1] = 41'h00000000000;
+    \8820 [2] = 41'h00000006bc5;
+    \8820 [3] = 41'h080002c6b1d;
+    \8820 [4] = 41'h00000000000;
+    \8820 [5] = 41'h00000000000;
+    \8820 [6] = 41'h04000044409;
+    \8820 [7] = 41'h00000600039;
+  end
+  assign _135_ = \8820 [_076_];
+  reg [40:0] \8822  [15:0];
+  initial begin
+    \8822 [0] = 41'h00000000000;
+    \8822 [1] = 41'h00000000000;
+    \8822 [2] = 41'h00000000000;
+    \8822 [3] = 41'h00000000000;
+    \8822 [4] = 41'h00000000000;
+    \8822 [5] = 41'h00000000000;
+    \8822 [6] = 41'h040000888d1;
+    \8822 [7] = 41'h040000888cd;
+    \8822 [8] = 41'h0400008d9c9;
+    \8822 [9] = 41'h0400008d9c9;
+    \8822 [10] = 41'h0400008d8c9;
+    \8822 [11] = 41'h0400008d8c9;
+    \8822 [12] = 41'h0400008d8d1;
+    \8822 [13] = 41'h0400008d8d1;
+    \8822 [14] = 41'h0400008d8cd;
+    \8822 [15] = 41'h0400008d8cd;
+  end
+  assign _137_ = \8822 [_086_];
+  reg [40:0] \8824  [3:0];
+  initial begin
+    \8824 [0] = 41'h00000000000;
+    \8824 [1] = 41'h00130044a7e;
+    \8824 [2] = 41'h00240044a7e;
+    \8824 [3] = 41'h00040044a7e;
+  end
+  assign _139_ = \8824 [_092_];
+  reg [40:0] \8826  [3:0];
+  initial begin
+    \8826 [0] = 41'h00000000000;
+    \8826 [1] = 41'h00000000000;
+    \8826 [2] = 41'h0024000ca82;
+    \8826 [3] = 41'h0004000ca82;
+  end
+  assign _141_ = \8826 [_095_];
+  assign _000_ = ~ stall_in;
+  assign _001_ = _000_ ? s : r;
+  assign _002_ = _000_ ? 1'h0 : s[0];
+  assign _003_ = _000_ ? si : ri;
+  assign _004_ = _110_ & r[0];
+  assign _005_ = _004_ & stall_in;
+  assign _006_ = ~ r[0];
+  assign _007_ = ~ stall_in;
+  assign _008_ = _006_ | _007_;
+  assign _009_ = _008_ ? { _101_, _100_, _099_, _098_, f_in[98:3], f_in[1], _110_ } : r;
+  assign _010_ = _008_ ? { _105_, _111_ } : ri;
+  assign _011_ = s[0] ? _001_ : _009_;
+  assign _012_ = s[0] ? _002_ : _005_;
+  assign _013_ = s[0] ? s[153:1] : { _101_, _100_, _099_, _098_, f_in[98:3], f_in[1] };
+  assign _014_ = s[0] ? _003_ : _010_;
+  assign _015_ = s[0] ? si : { _105_, _111_ };
+  assign _016_ = flush_in ? 1'h0 : _011_[0];
+  assign _017_ = flush_in ? r[153:1] : _011_[153:1];
+  assign _018_ = flush_in ? 1'h0 : _012_;
+  assign _019_ = flush_in ? s[153:1] : _013_;
+  assign _020_ = flush_in ? ri : _014_;
+  assign _021_ = flush_in ? si : _015_;
+  assign _022_ = rst ? 154'h000000000000000000000000000000000000000 : { _017_, _016_ };
+  assign _023_ = rst ? 154'h000000000000000000000000000000000000000 : { _019_, _018_ };
+  assign _024_ = rst ? 44'h00000000000 : _020_;
+  assign _025_ = rst ? 44'h00000000000 : _021_;
+  always @(posedge clk)
+    r <= _022_;
+  always @(posedge clk)
+    s <= _023_;
+  always @(posedge clk)
+    ri <= _024_;
+  always @(posedge clk)
+    si <= _025_;
+  assign _026_ = 6'h3f - f_in[98:93];
+  assign _027_ = 11'h7ff - { f_in[72:67], f_in[77:73] };
+  assign _028_ = ~ _127_;
+  assign _029_ = 6'h3f - f_in[72:67];
+  assign _030_ = { 25'h0000000, f_in[98:93] } == 31'h00000004;
+  assign _031_ = 10'h3ff - f_in[77:68];
+  assign _032_ = { f_in[82:78], f_in[87:83] } == 10'h008;
+  assign _033_ = { f_in[82:78], f_in[87:83] } == 10'h009;
+  assign _034_ = { f_in[82:78], f_in[87:83] } == 10'h01a;
+  assign _035_ = { f_in[82:78], f_in[87:83] } == 10'h01b;
+  assign _036_ = { f_in[82:78], f_in[87:83] } == 10'h13a;
+  assign _037_ = { f_in[82:78], f_in[87:83] } == 10'h13b;
+  assign _038_ = { f_in[82:78], f_in[87:83] } == 10'h110;
+  assign _039_ = { f_in[82:78], f_in[87:83] } == 10'h111;
+  assign _040_ = { f_in[82:78], f_in[87:83] } == 10'h112;
+  assign _041_ = { f_in[82:78], f_in[87:83] } == 10'h113;
+  assign _042_ = { f_in[82:78], f_in[87:83] } == 10'h103;
+  assign _043_ = _041_ | _042_;
+  assign _044_ = { f_in[82:78], f_in[87:83] } == 10'h130;
+  assign _045_ = { f_in[82:78], f_in[87:83] } == 10'h131;
+  assign _046_ = { f_in[82:78], f_in[87:83] } == 10'h001;
+  assign _047_ = { f_in[82:78], f_in[87:83] } == 10'h32f;
+  function [0:0] \8524 ;
+    input [0:0] a;
+    input [13:0] b;
+    input [13:0] s;
+    (* parallel_case *)
+    casez (s)
+      14'b?????????????1:
+        \8524  = b[0:0];
+      14'b????????????1?:
+        \8524  = b[1:1];
+      14'b???????????1??:
+        \8524  = b[2:2];
+      14'b??????????1???:
+        \8524  = b[3:3];
+      14'b?????????1????:
+        \8524  = b[4:4];
+      14'b????????1?????:
+        \8524  = b[5:5];
+      14'b???????1??????:
+        \8524  = b[6:6];
+      14'b??????1???????:
+        \8524  = b[7:7];
+      14'b?????1????????:
+        \8524  = b[8:8];
+      14'b????1?????????:
+        \8524  = b[9:9];
+      14'b???1??????????:
+        \8524  = b[10:10];
+      14'b??1???????????:
+        \8524  = b[11:11];
+      14'b?1????????????:
+        \8524  = b[12:12];
+      14'b1?????????????:
+        \8524  = b[13:13];
+      default:
+        \8524  = a;
+    endcase
+  endfunction
+  assign _048_ = \8524 (1'h0, 14'h3fff, { _047_, _046_, _045_, _044_, _043_, _040_, _039_, _038_, _037_, _036_, _035_, _034_, _033_, _032_ });
+  function [6:0] \8530 ;
+    input [6:0] a;
+    input [97:0] b;
+    input [13:0] s;
+    (* parallel_case *)
+    casez (s)
+      14'b?????????????1:
+        \8530  = b[6:0];
+      14'b????????????1?:
+        \8530  = b[13:7];
+      14'b???????????1??:
+        \8530  = b[20:14];
+      14'b??????????1???:
+        \8530  = b[27:21];
+      14'b?????????1????:
+        \8530  = b[34:28];
+      14'b????????1?????:
+        \8530  = b[41:35];
+      14'b???????1??????:
+        \8530  = b[48:42];
+      14'b??????1???????:
+        \8530  = b[55:49];
+      14'b?????1????????:
+        \8530  = b[62:56];
+      14'b????1?????????:
+        \8530  = b[69:63];
+      14'b???1??????????:
+        \8530  = b[76:70];
+      14'b??1???????????:
+        \8530  = b[83:77];
+      14'b?1????????????:
+        \8530  = b[90:84];
+      14'b1?????????????:
+        \8530  = b[97:91];
+      default:
+        \8530  = a;
+    endcase
+  endfunction
+  assign _049_ = \8530 (7'h00, 98'hxxxxxxxxxxxxxxxxxxxxxxxxx, { _047_, _046_, _045_, _044_, _043_, _040_, _039_, _038_, _037_, _036_, _035_, _034_, _033_, _032_ });
+  function [4:0] \8546 ;
+    input [4:0] a;
+    input [69:0] b;
+    input [13:0] s;
+    (* parallel_case *)
+    casez (s)
+      14'b?????????????1:
+        \8546  = b[4:0];
+      14'b????????????1?:
+        \8546  = b[9:5];
+      14'b???????????1??:
+        \8546  = b[14:10];
+      14'b??????????1???:
+        \8546  = b[19:15];
+      14'b?????????1????:
+        \8546  = b[24:20];
+      14'b????????1?????:
+        \8546  = b[29:25];
+      14'b???????1??????:
+        \8546  = b[34:30];
+      14'b??????1???????:
+        \8546  = b[39:35];
+      14'b?????1????????:
+        \8546  = b[44:40];
+      14'b????1?????????:
+        \8546  = b[49:45];
+      14'b???1??????????:
+        \8546  = b[54:50];
+      14'b??1???????????:
+        \8546  = b[59:55];
+      14'b?1????????????:
+        \8546  = b[64:60];
+      14'b1?????????????:
+        \8546  = b[69:65];
+      default:
+        \8546  = a;
+    endcase
+  endfunction
+  assign _050_ = \8546 (5'h00, 70'h1ac5a928398a418820, { _047_, _046_, _045_, _044_, _043_, _040_, _039_, _038_, _037_, _036_, _035_, _034_, _033_, _032_ });
+  assign _051_ = _048_ ? _050_ : 5'hxx;
+  assign _052_ = _048_ ? { 2'h1, _051_ } : _049_;
+  assign _053_ = f_in[77:68] & 10'h37f;
+  assign _054_ = _053_ == 10'h153;
+  assign _055_ = ~ _052_[5];
+  assign _056_ = { f_in[82:78], f_in[87:83] } == 10'h013;
+  assign _057_ = { f_in[82:78], f_in[87:83] } == 10'h012;
+  assign _058_ = _056_ | _057_;
+  assign _059_ = { f_in[82:78], f_in[87:83] } == 10'h030;
+  assign _060_ = _058_ | _059_;
+  assign _061_ = { f_in[82:78], f_in[87:83] } == 10'h2d0;
+  assign _062_ = _060_ | _061_;
+  function [1:0] \8589 ;
+    input [1:0] a;
+    input [1:0] b;
+    input [0:0] s;
+    (* parallel_case *)
+    casez (s)
+      1'b1:
+        \8589  = b[1:0];
+      default:
+        \8589  = a;
+    endcase
+  endfunction
+  assign _063_ = \8589 (2'h0, 2'h2, _062_);
+  function [0:0] \8591 ;
+    input [0:0] a;
+    input [0:0] b;
+    input [0:0] s;
+    (* parallel_case *)
+    casez (s)
+      1'b1:
+        \8591  = b[0:0];
+      default:
+        \8591  = a;
+    endcase
+  endfunction
+  assign _064_ = \8591 (1'h0, 1'h1, _062_);
+  assign _065_ = _055_ ? _063_ : 2'h0;
+  assign _066_ = _055_ ? { 1'h1, _064_ } : 2'h0;
+  assign _067_ = _054_ ? _065_ : 2'h0;
+  assign _068_ = _054_ ? _066_ : 2'h0;
+  assign _069_ = { 25'h0000000, f_in[98:93] } == 31'h0000001f;
+  assign _070_ = ~ f_in[90];
+  assign _071_ = _070_ ? 7'h21 : 7'h00;
+  assign _072_ = { 25'h0000000, f_in[98:93] } == 31'h00000010;
+  assign _073_ = { 25'h0000000, f_in[98:93] } == 31'h00000012;
+  assign _074_ = 10'h3ff - { f_in[72:68], f_in[77:73] };
+  assign _075_ = ~ _133_;
+  assign _076_ = 3'h7 - { f_in[72], f_in[70:69] };
+  assign _077_ = ~ f_in[69];
+  assign _078_ = ~ f_in[90];
+  assign _079_ = _078_ ? 7'h21 : 7'h00;
+  assign _080_ = ~ f_in[77];
+  assign _081_ = ~ f_in[73];
+  assign _082_ = _081_ ? 7'h21 : 7'h2d;
+  assign _083_ = _080_ ? 7'h20 : _082_;
+  assign _084_ = _077_ ? { _083_, _079_ } : 14'h1123;
+  assign _085_ = { 25'h0000000, f_in[98:93] } == 31'h00000013;
+  assign _086_ = 4'hf - f_in[71:68];
+  assign _087_ = { 25'h0000000, f_in[98:93] } == 31'h0000001e;
+  assign _088_ = f_in[98:67] & 32'd4294967295;
+  assign _089_ = _088_ == 32'd1610612736;
+  assign _090_ = _089_ ? 42'h0000000000b : 42'h00000000000;
+  assign _091_ = { 25'h0000000, f_in[98:93] } == 31'h00000030;
+  assign _092_ = 2'h3 - f_in[68:67];
+  assign _093_ = { 25'h0000000, f_in[98:93] } == 31'h0000003a;
+  assign _094_ = { 25'h0000000, f_in[98:93] } == 31'h0000003b;
+  assign _095_ = 2'h3 - f_in[68:67];
+  assign _096_ = { 25'h0000000, f_in[98:93] } == 31'h0000003e;
+  assign _097_ = { 25'h0000000, f_in[98:93] } == 31'h0000003f;
+  function [6:0] \8714 ;
+    input [6:0] a;
+    input [76:0] b;
+    input [10:0] s;
+    (* parallel_case *)
+    casez (s)
+      11'b??????????1:
+        \8714  = b[6:0];
+      11'b?????????1?:
+        \8714  = b[13:7];
+      11'b????????1??:
+        \8714  = b[20:14];
+      11'b???????1???:
+        \8714  = b[27:21];
+      11'b??????1????:
+        \8714  = b[34:28];
+      11'b?????1?????:
+        \8714  = b[41:35];
+      11'b????1??????:
+        \8714  = b[48:42];
+      11'b???1???????:
+        \8714  = b[55:49];
+      11'b??1????????:
+        \8714  = b[62:56];
+      11'b?1?????????:
+        \8714  = b[69:63];
+      11'b1??????????:
+        \8714  = b[76:70];
+      default:
+        \8714  = a;
+    endcase
+  endfunction
+  assign _098_ = \8714 (7'h00, { 42'h00000000000, _084_[6:0], 7'h00, _071_, _052_, 7'h00 }, { _097_, _096_, _094_, _093_, _091_, _087_, _085_, _073_, _072_, _069_, _030_ });
+  function [6:0] \8717 ;
+    input [6:0] a;
+    input [76:0] b;
+    input [10:0] s;
+    (* parallel_case *)
+    casez (s)
+      11'b??????????1:
+        \8717  = b[6:0];
+      11'b?????????1?:
+        \8717  = b[13:7];
+      11'b????????1??:
+        \8717  = b[20:14];
+      11'b???????1???:
+        \8717  = b[27:21];
+      11'b??????1????:
+        \8717  = b[34:28];
+      11'b?????1?????:
+        \8717  = b[41:35];
+      11'b????1??????:
+        \8717  = b[48:42];
+      11'b???1???????:
+        \8717  = b[55:49];
+      11'b??1????????:
+        \8717  = b[62:56];
+      11'b?1?????????:
+        \8717  = b[69:63];
+      11'b1??????????:
+        \8717  = b[76:70];
+      default:
+        \8717  = a;
+    endcase
+  endfunction
+  assign _099_ = \8717 (7'h00, { 42'h00000000000, _084_[13:7], 28'h0000000 }, { _097_, _096_, _094_, _093_, _091_, _087_, _085_, _073_, _072_, _069_, _030_ });
+  function [40:0] \8718 ;
+    input [40:0] a;
+    input [450:0] b;
+    input [10:0] s;
+    (* parallel_case *)
+    casez (s)
+      11'b??????????1:
+        \8718  = b[40:0];
+      11'b?????????1?:
+        \8718  = b[81:41];
+      11'b????????1??:
+        \8718  = b[122:82];
+      11'b???????1???:
+        \8718  = b[163:123];
+      11'b??????1????:
+        \8718  = b[204:164];
+      11'b?????1?????:
+        \8718  = b[245:205];
+      11'b????1??????:
+        \8718  = b[286:246];
+      11'b???1???????:
+        \8718  = b[327:287];
+      11'b??1????????:
+        \8718  = b[368:328];
+      11'b?1?????????:
+        \8718  = b[409:369];
+      11'b1??????????:
+        \8718  = b[450:410];
+      default:
+        \8718  = a;
+    endcase
+  endfunction
+  assign _100_ = \8718 (_125_, { _125_, _141_, _125_, _139_, _125_, _137_, _135_, _125_, _125_, _131_, _129_ }, { _097_, _096_, _094_, _093_, _091_, _087_, _085_, _073_, _072_, _069_, _030_ });
+  function [0:0] \8719 ;
+    input [0:0] a;
+    input [10:0] b;
+    input [10:0] s;
+    (* parallel_case *)
+    casez (s)
+      11'b??????????1:
+        \8719  = b[0:0];
+      11'b?????????1?:
+        \8719  = b[1:1];
+      11'b????????1??:
+        \8719  = b[2:2];
+      11'b???????1???:
+        \8719  = b[3:3];
+      11'b??????1????:
+        \8719  = b[4:4];
+      11'b?????1?????:
+        \8719  = b[5:5];
+      11'b????1??????:
+        \8719  = b[6:6];
+      11'b???1???????:
+        \8719  = b[7:7];
+      11'b??1????????:
+        \8719  = b[8:8];
+      11'b?1?????????:
+        \8719  = b[9:9];
+      11'b1??????????:
+        \8719  = b[10:10];
+      default:
+        \8719  = a;
+    endcase
+  endfunction
+  assign _101_ = \8719 (1'h0, { 8'h01, f_in[82], 2'h0 }, { _097_, _096_, _094_, _093_, _091_, _087_, _085_, _073_, _072_, _069_, _030_ });
+  function [0:0] \8723 ;
+    input [0:0] a;
+    input [10:0] b;
+    input [10:0] s;
+    (* parallel_case *)
+    casez (s)
+      11'b??????????1:
+        \8723  = b[0:0];
+      11'b?????????1?:
+        \8723  = b[1:1];
+      11'b????????1??:
+        \8723  = b[2:2];
+      11'b???????1???:
+        \8723  = b[3:3];
+      11'b??????1????:
+        \8723  = b[4:4];
+      11'b?????1?????:
+        \8723  = b[5:5];
+      11'b????1??????:
+        \8723  = b[6:6];
+      11'b???1???????:
+        \8723  = b[7:7];
+      11'b??1????????:
+        \8723  = b[8:8];
+      11'b?1?????????:
+        \8723  = b[9:9];
+      11'b1??????????:
+        \8723  = b[10:10];
+      default:
+        \8723  = a;
+    endcase
+  endfunction
+  assign _102_ = \8723 (1'h0, { 4'h0, _090_[0], 1'h0, _075_, 3'h0, _028_ }, { _097_, _096_, _094_, _093_, _091_, _087_, _085_, _073_, _072_, _069_, _030_ });
+  function [1:0] \8726 ;
+    input [1:0] a;
+    input [21:0] b;
+    input [10:0] s;
+    (* parallel_case *)
+    casez (s)
+      11'b??????????1:
+        \8726  = b[1:0];
+      11'b?????????1?:
+        \8726  = b[3:2];
+      11'b????????1??:
+        \8726  = b[5:4];
+      11'b???????1???:
+        \8726  = b[7:6];
+      11'b??????1????:
+        \8726  = b[9:8];
+      11'b?????1?????:
+        \8726  = b[11:10];
+      11'b????1??????:
+        \8726  = b[13:12];
+      11'b???1???????:
+        \8726  = b[15:14];
+      11'b??1????????:
+        \8726  = b[17:16];
+      11'b?1?????????:
+        \8726  = b[19:18];
+      11'b1??????????:
+        \8726  = b[21:20];
+      default:
+        \8726  = a;
+    endcase
+  endfunction
+  assign _103_ = \8726 (2'h0, { 8'h00, _090_[2:1], 8'h00, _067_, 2'h0 }, { _097_, _096_, _094_, _093_, _091_, _087_, _085_, _073_, _072_, _069_, _030_ });
+  function [38:0] \8729 ;
+    input [38:0] a;
+    input [428:0] b;
+    input [10:0] s;
+    (* parallel_case *)
+    casez (s)
+      11'b??????????1:
+        \8729  = b[38:0];
+      11'b?????????1?:
+        \8729  = b[77:39];
+      11'b????????1??:
+        \8729  = b[116:78];
+      11'b???????1???:
+        \8729  = b[155:117];
+      11'b??????1????:
+        \8729  = b[194:156];
+      11'b?????1?????:
+        \8729  = b[233:195];
+      11'b????1??????:
+        \8729  = b[272:234];
+      11'b???1???????:
+        \8729  = b[311:273];
+      11'b??1????????:
+        \8729  = b[350:312];
+      11'b?1?????????:
+        \8729  = b[389:351];
+      11'b1??????????:
+        \8729  = b[428:390];
+      default:
+        \8729  = a;
+    endcase
+  endfunction
+  assign _104_ = \8729 (39'h0000000000, { 156'h000000000000000000000000000000000000000, _090_[41:3], 234'h00000000000000000000000000000000000000000000000000000000000 }, { _097_, _096_, _094_, _093_, _091_, _087_, _085_, _073_, _072_, _069_, _030_ });
+  function [1:0] \8731 ;
+    input [1:0] a;
+    input [21:0] b;
+    input [10:0] s;
+    (* parallel_case *)
+    casez (s)
+      11'b??????????1:
+        \8731  = b[1:0];
+      11'b?????????1?:
+        \8731  = b[3:2];
+      11'b????????1??:
+        \8731  = b[5:4];
+      11'b???????1???:
+        \8731  = b[7:6];
+      11'b??????1????:
+        \8731  = b[9:8];
+      11'b?????1?????:
+        \8731  = b[11:10];
+      11'b????1??????:
+        \8731  = b[13:12];
+      11'b???1???????:
+        \8731  = b[15:14];
+      11'b??1????????:
+        \8731  = b[17:16];
+      11'b?1?????????:
+        \8731  = b[19:18];
+      11'b1??????????:
+        \8731  = b[21:20];
+      default:
+        \8731  = a;
+    endcase
+  endfunction
+  assign _105_ = \8731 (2'h0, { 18'h00000, _068_, 2'h0 }, { _097_, _096_, _094_, _093_, _091_, _087_, _085_, _073_, _072_, _069_, _030_ });
+  function [23:0] \8740 ;
+    input [23:0] a;
+    input [263:0] b;
+    input [10:0] s;
+    (* parallel_case *)
+    casez (s)
+      11'b??????????1:
+        \8740  = b[23:0];
+      11'b?????????1?:
+        \8740  = b[47:24];
+      11'b????????1??:
+        \8740  = b[71:48];
+      11'b???????1???:
+        \8740  = b[95:72];
+      11'b??????1????:
+        \8740  = b[119:96];
+      11'b?????1?????:
+        \8740  = b[143:120];
+      11'b????1??????:
+        \8740  = b[167:144];
+      11'b???1???????:
+        \8740  = b[191:168];
+      11'b??1????????:
+        \8740  = b[215:192];
+      11'b?1?????????:
+        \8740  = b[239:216];
+      11'b1??????????:
+        \8740  = b[263:240];
+      default:
+        \8740  = a;
+    endcase
+  endfunction
+  assign _106_ = \8740 (24'h000000, { 168'h000000000000000000000000000000000000000000, f_in[92:69], f_in[82], f_in[82], f_in[82], f_in[82], f_in[82], f_in[82], f_in[82], f_in[82], f_in[82], f_in[82], f_in[82:69], 48'h000000000000 }, { _097_, _096_, _094_, _093_, _091_, _087_, _085_, _073_, _072_, _069_, _030_ });
+  assign _107_ = ri[8:3] == 6'h3f;
+  assign _108_ = ri[0] & _107_;
+  assign _109_ = _108_ ? 1'h0 : 1'h1;
+  assign _110_ = f_in[2] ? _109_ : f_in[0];
+  assign _111_ = f_in[2] ? 42'h000000001fd : { _104_, _103_, _102_ };
+  assign _112_ = f_in[68] ? 62'h0000000000000000 : f_in[66:5];
+  assign _113_ = _112_ + { _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_[23], _106_ };
+  assign _114_ = _101_ & f_in[0];
+  assign _115_ = ~ flush_in;
+  assign _116_ = _114_ & _115_;
+  assign _117_ = ~ s[0];
+  assign _118_ = _116_ & _117_;
+  assign _119_ = ri[42] ? ri[2:1] : r[113:112];
+  assign _120_ = ri[0] ? ri[2:1] : _119_;
+  assign _121_ = ri[0] ? ri[41] : r[152];
+  assign _122_ = ri[43] ? 1'h1 : _121_;
+  assign _123_ = ri[0] ? ri[40:3] : r[151:114];
+  assign busy_out = s[0];
+  assign flush_out = _118_;
+  assign f_out = { _113_, 2'h0, _118_ };
+  assign d_out = { r[153], _122_, _123_, _120_, r[111:0] };
+  assign log_out = 13'hzzzz;
+endmodule
+
+module decode2_0_0e356ba505631fbf715758bed27d503f8b260e3a(clk, rst, complete_in, busy_in, flush_in, d_in, r_in, c_in, stall_out, stopped_out, e_out, r_out, c_out, log_out);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire [379:0] _05_;
+  wire _06_;
+  wire [6:0] _07_;
+  wire _08_;
+  wire _09_;
+  wire [6:0] _10_;
+  wire _11_;
+  wire [6:0] _12_;
+  wire _13_;
+  wire _14_;
+  wire [6:0] _15_;
+  wire _16_;
+  wire [6:0] _17_;
+  wire _18_;
+  wire _19_;
+  wire [6:0] _20_;
+  wire _21_;
+  wire _22_;
+  wire [6:0] _23_;
+  wire _24_;
+  wire _25_;
+  wire _26_;
+  wire _27_;
+  wire _28_;
+  wire _29_;
+  wire _30_;
+  wire [71:0] _31_;
+  wire [71:0] _32_;
+  wire [71:0] _33_;
+  wire _34_;
+  wire _35_;
+  wire _36_;
+  wire _37_;
+  wire _38_;
+  wire _39_;
+  wire _40_;
+  wire _41_;
+  wire _42_;
+  wire _43_;
+  wire _44_;
+  wire _45_;
+  wire _46_;
+  wire _47_;
+  wire _48_;
+  wire [71:0] _49_;
+  wire _50_;
+  wire _51_;
+  wire _52_;
+  wire _53_;
+  wire _54_;
+  wire [71:0] _55_;
+  wire _56_;
+  wire _57_;
+  wire _58_;
+  wire _59_;
+  wire _60_;
+  wire [7:0] _61_;
+  wire _62_;
+  wire _63_;
+  wire _64_;
+  wire _65_;
+  wire _66_;
+  wire _67_;
+  wire _68_;
+  wire _69_;
+  wire [3:0] _70_;
+  wire _71_;
+  wire _72_;
+  wire _73_;
+  wire _74_;
+  wire _75_;
+  wire _76_;
+  wire _77_;
+  wire _78_;
+  wire _79_;
+  wire _80_;
+  wire _81_;
+  wire _82_;
+  wire _83_;
+  wire _84_;
+  wire _85_;
+  wire _86_;
+  wire _87_;
+  wire _88_;
+  wire _89_;
+  wire _90_;
+  wire _91_;
+  input busy_in;
+  input [36:0] c_in;
+  output c_out;
+  input clk;
+  input complete_in;
+  wire control_valid_out;
+  wire cr_bypass;
+  wire cr_bypass_avail;
+  wire cr_write_valid;
+  input [153:0] d_in;
+  wire deferred;
+  output [379:0] e_out;
+  input flush_in;
+  wire gpr_a_bypass;
+  wire gpr_b_bypass;
+  wire gpr_bypassable;
+  wire gpr_c_bypass;
+  output [9:0] log_out;
+  reg [379:0] r;
+  input [191:0] r_in;
+  output [23:0] r_out;
+  wire [379:0] rin;
+  input rst;
+  output stall_out;
+  output stopped_out;
+  wire [6:0] update_gpr_write_reg;
+  wire update_gpr_write_valid;
+  assign deferred = r[0] & busy_in;
+  assign _02_ = rst | flush_in;
+  assign _03_ = ~ deferred;
+  assign _04_ = _02_ | _03_;
+  assign _05_ = _04_ ? rin : r;
+  always @(posedge clk)
+    r <= _05_;
+  assign _06_ = d_in[122:120] == 3'h3;
+  assign _07_ = _06_ ? d_in[104:98] : _10_;
+  assign _08_ = d_in[122:120] == 3'h5;
+  assign _09_ = _08_ & 1'h0;
+  assign _10_ = _09_ ? { 2'h2, d_in[86:82] } : { 2'h0, d_in[86:82] };
+  assign _11_ = d_in[126:123] == 4'hd;
+  assign _12_ = _11_ ? d_in[111:105] : _15_;
+  assign _13_ = d_in[126:123] == 4'he;
+  assign _14_ = _13_ & 1'h0;
+  assign _15_ = _14_ ? { 2'h2, d_in[81:77] } : { 2'h0, d_in[81:77] };
+  assign _16_ = d_in[129:127] == 3'h2;
+  assign _17_ = _16_ ? { 2'h0, d_in[76:72] } : _20_;
+  assign _18_ = d_in[129:127] == 3'h3;
+  assign _19_ = _18_ & 1'h0;
+  assign _20_ = _19_ ? { 2'h2, d_in[76:72] } : _23_;
+  assign _21_ = d_in[129:127] == 3'h4;
+  assign _22_ = _21_ & 1'h0;
+  assign _23_ = _22_ ? { 2'h2, d_in[91:87] } : { 2'h0, d_in[91:87] };
+  assign _24_ = d_in[122:120] == 3'h1;
+  assign _25_ = d_in[122:120] == 3'h2;
+  assign _26_ = d_in[86:82] != 5'h00;
+  assign _27_ = _25_ & _26_;
+  assign _28_ = _24_ | _27_;
+  assign _29_ = d_in[122:120] == 3'h3;
+  assign _30_ = d_in[122:120] == 3'h4;
+  assign _31_ = _30_ ? { d_in[65:2], 8'h00 } : 72'h000000000000000000;
+  assign _32_ = _29_ ? { r_in[63:0], d_in[104:98], d_in[103] } : _31_;
+  assign _33_ = _28_ ? { r_in[63:0], 2'h0, d_in[86:82], 1'h1 } : _32_;
+  assign _34_ = d_in[126:123] == 4'h1;
+  assign _35_ = d_in[126:123] == 4'he;
+  assign _36_ = d_in[126:123] == 4'h2;
+  assign _37_ = d_in[126:123] == 4'h3;
+  assign _38_ = d_in[126:123] == 4'h4;
+  assign _39_ = d_in[126:123] == 4'h5;
+  assign _40_ = d_in[126:123] == 4'h6;
+  assign _41_ = d_in[126:123] == 4'h7;
+  assign _42_ = d_in[126:123] == 4'h9;
+  assign _43_ = d_in[126:123] == 4'h8;
+  assign _44_ = d_in[126:123] == 4'ha;
+  assign _45_ = d_in[126:123] == 4'hb;
+  assign _46_ = d_in[126:123] == 4'hc;
+  assign _47_ = d_in[126:123] == 4'hd;
+  assign _48_ = d_in[126:123] == 4'h0;
+  function [71:0] \9268 ;
+    input [71:0] a;
+    input [1079:0] b;
+    input [14:0] s;
+    (* parallel_case *)
+    casez (s)
+      15'b??????????????1:
+        \9268  = b[71:0];
+      15'b?????????????1?:
+        \9268  = b[143:72];
+      15'b????????????1??:
+        \9268  = b[215:144];
+      15'b???????????1???:
+        \9268  = b[287:216];
+      15'b??????????1????:
+        \9268  = b[359:288];
+      15'b?????????1?????:
+        \9268  = b[431:360];
+      15'b????????1??????:
+        \9268  = b[503:432];
+      15'b???????1???????:
+        \9268  = b[575:504];
+      15'b??????1????????:
+        \9268  = b[647:576];
+      15'b?????1?????????:
+        \9268  = b[719:648];
+      15'b????1??????????:
+        \9268  = b[791:720];
+      15'b???1???????????:
+        \9268  = b[863:792];
+      15'b??1????????????:
+        \9268  = b[935:864];
+      15'b?1?????????????:
+        \9268  = b[1007:936];
+      15'b1??????????????:
+        \9268  = b[1079:1008];
+      default:
+        \9268  = a;
+    endcase
+  endfunction
+  assign _49_ = \9268 (72'hxxxxxxxxxxxxxxxxxx, { 72'h000000000000000000, r_in[127:64], d_in[111:105], d_in[110], 59'h000000000000000, d_in[81:77], 66'h00000000000000000, d_in[67], d_in[81:77], 80'h00ffffffffffffffff00, d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81:72], d_in[86:82], d_in[66], 24'h000400, d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81:68], 10'h000, d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81:68], 10'h000, d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91], d_in[91:68], 42'h00000000000, d_in[81:66], 24'h000000, d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81:66], 24'h000000, d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81], d_in[81:66], 56'h00000000000000, d_in[81:66], 80'h00000000000000000000, r_in[127:64], 2'h0, d_in[81:77], 1'h1 }, { _48_, _47_, _46_, _45_, _44_, _43_, _42_, _41_, _40_, _39_, _38_, _37_, _36_, _35_, _34_ });
+  assign _50_ = d_in[129:127] == 3'h1;
+  assign _51_ = d_in[129:127] == 3'h2;
+  assign _52_ = d_in[129:127] == 3'h4;
+  assign _53_ = d_in[129:127] == 3'h3;
+  assign _54_ = d_in[129:127] == 3'h0;
+  function [71:0] \9324 ;
+    input [71:0] a;
+    input [359:0] b;
+    input [4:0] s;
+    (* parallel_case *)
+    casez (s)
+      5'b????1:
+        \9324  = b[71:0];
+      5'b???1?:
+        \9324  = b[143:72];
+      5'b??1??:
+        \9324  = b[215:144];
+      5'b?1???:
+        \9324  = b[287:216];
+      5'b1????:
+        \9324  = b[359:288];
+      default:
+        \9324  = a;
+    endcase
+  endfunction
+  assign _55_ = \9324 (72'hxxxxxxxxxxxxxxxxxx, { 216'h000000000000000000000000000000000000000000000000000000, r_in[191:128], 2'h0, d_in[76:72], 1'h1, r_in[191:128], 2'h0, d_in[91:87], 1'h1 }, { _54_, _53_, _52_, _51_, _50_ });
+  assign _56_ = d_in[132:130] == 3'h1;
+  assign _57_ = d_in[132:130] == 3'h2;
+  assign _58_ = d_in[132:130] == 3'h4;
+  assign _59_ = d_in[132:130] == 3'h3;
+  assign _60_ = d_in[132:130] == 3'h0;
+  function [7:0] \9385 ;
+    input [7:0] a;
+    input [39:0] b;
+    input [4:0] s;
+    (* parallel_case *)
+    casez (s)
+      5'b????1:
+        \9385  = b[7:0];
+      5'b???1?:
+        \9385  = b[15:8];
+      5'b??1??:
+        \9385  = b[23:16];
+      5'b?1???:
+        \9385  = b[31:24];
+      5'b1????:
+        \9385  = b[39:32];
+      default:
+        \9385  = a;
+    endcase
+  endfunction
+  assign _61_ = \9385 (8'hxx, { 8'h00, d_in[104:98], d_in[103], 10'h000, d_in[86:82], 3'h4, d_in[91:87], 1'h1 }, { _60_, _59_, _58_, _57_, _56_ });
+  assign _62_ = _33_[0] & d_in[0];
+  assign _63_ = _49_[0] & d_in[0];
+  assign _64_ = _55_[0] & d_in[0];
+  assign _65_ = d_in[142:140] == 3'h1;
+  assign _66_ = d_in[142:140] == 3'h2;
+  assign _67_ = d_in[142:140] == 3'h3;
+  assign _68_ = d_in[142:140] == 3'h4;
+  assign _69_ = d_in[142:140] == 3'h0;
+  function [3:0] \9414 ;
+    input [3:0] a;
+    input [19:0] b;
+    input [4:0] s;
+    (* parallel_case *)
+    casez (s)
+      5'b????1:
+        \9414  = b[3:0];
+      5'b???1?:
+        \9414  = b[7:4];
+      5'b??1??:
+        \9414  = b[11:8];
+      5'b?1???:
+        \9414  = b[15:12];
+      5'b1????:
+        \9414  = b[19:16];
+      default:
+        \9414  = a;
+    endcase
+  endfunction
+  assign _70_ = \9414 (4'hx, 20'h08421, { _69_, _68_, _67_, _66_, _65_ });
+  assign _71_ = d_in[150:149] == 2'h2;
+  assign _72_ = d_in[150:149] == 2'h1;
+  assign _73_ = d_in[150:149] == 2'h0;
+  function [0:0] \9463 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \9463  = b[0:0];
+      3'b?1?:
+        \9463  = b[1:1];
+      3'b1??:
+        \9463  = b[2:2];
+      default:
+        \9463  = a;
+    endcase
+  endfunction
+  assign _74_ = \9463 (1'hx, { 2'h1, d_in[66] }, { _73_, _72_, _71_ });
+  assign _75_ = d_in[119:114] == 6'h2d;
+  assign _76_ = d_in[119:114] == 6'h2c;
+  assign _77_ = _75_ | _76_;
+  assign _78_ = ~ _77_;
+  assign _79_ = d_in[150:149] == 2'h2;
+  function [0:0] \9493 ;
+    input [0:0] a;
+    input [0:0] b;
+    input [0:0] s;
+    (* parallel_case *)
+    casez (s)
+      1'b1:
+        \9493  = b[0:0];
+      default:
+        \9493  = a;
+    endcase
+  endfunction
+  assign _80_ = \9493 (1'h0, d_in[76], _79_);
+  assign _81_ = _78_ ? _80_ : 1'h0;
+  assign _82_ = d_in[151] ? d_in[66] : 1'h0;
+  assign _83_ = d_in[113:112] == 2'h1;
+  assign _84_ = 1'h1 & _83_;
+  assign gpr_bypassable = _84_ ? 1'h1 : 1'h0;
+  assign update_gpr_write_valid = _82_ ? 1'h1 : d_in[145];
+  assign update_gpr_write_reg = _82_ ? 7'h20 : _33_[7:1];
+  assign _85_ = d_in[150:149] == 2'h2;
+  assign _86_ = d_in[150:149] == 2'h1;
+  assign _87_ = d_in[150:149] == 2'h0;
+  function [0:0] \9604 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \9604  = b[0:0];
+      3'b?1?:
+        \9604  = b[1:1];
+      3'b1??:
+        \9604  = b[2:2];
+      default:
+        \9604  = a;
+    endcase
+  endfunction
+  assign _88_ = \9604 (1'hx, { 2'h1, d_in[66] }, { _87_, _86_, _85_ });
+  assign cr_write_valid = d_in[134] | _88_;
+  assign _89_ = d_in[113:112] == 2'h1;
+  assign _90_ = 1'h1 & _89_;
+  assign cr_bypass_avail = _90_ ? d_in[134] : 1'h0;
+  assign _91_ = rst | flush_in;
+  assign rin = _91_ ? 380'h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 : { d_in[153], d_in[146:143], _70_, d_in[97:66], d_in[148:147], d_in[134], 1'h0, d_in[139:135], _81_, _74_, _82_, c_in[36:32], cr_bypass, c_in[31:0], gpr_c_bypass, gpr_b_bypass, gpr_a_bypass, _55_[71:8], _49_[71:8], _33_[71:8], _49_[7:1], _33_[7:1], _61_[7:1], d_in[65:2], d_in[119:112], control_valid_out };
+  control_1 control_0 (
+    .busy_in(busy_in),
+    .clk(clk),
+    .complete_in(complete_in),
+    .cr_bypass(cr_bypass),
+    .cr_bypassable(cr_bypass_avail),
+    .cr_read_in(d_in[133]),
+    .cr_write_in(cr_write_valid),
+    .deferred(deferred),
+    .flush_in(flush_in),
+    .gpr_a_read_in(_33_[7:1]),
+    .gpr_a_read_valid_in(_33_[0]),
+    .gpr_b_read_in(_49_[7:1]),
+    .gpr_b_read_valid_in(_49_[0]),
+    .gpr_bypass_a(gpr_a_bypass),
+    .gpr_bypass_b(gpr_b_bypass),
+    .gpr_bypass_c(gpr_c_bypass),
+    .gpr_bypassable(gpr_bypassable),
+    .gpr_c_read_in(_55_[7:1]),
+    .gpr_c_read_valid_in(_55_[0]),
+    .gpr_write_in(_61_[7:1]),
+    .gpr_write_valid_in(_61_[0]),
+    .rst(rst),
+    .sgl_pipe_in(d_in[152]),
+    .stall_out(_00_),
+    .stop_mark_in(d_in[1]),
+    .stopped_out(_01_),
+    .update_gpr_write_reg(update_gpr_write_reg),
+    .update_gpr_write_valid(update_gpr_write_valid),
+    .valid_in(d_in[0]),
+    .valid_out(control_valid_out)
+  );
+  assign stall_out = _00_;
+  assign stopped_out = _01_;
+  assign e_out = r;
+  assign r_out = { _17_, _64_, _12_, _63_, _07_, _62_ };
+  assign c_out = d_in[133];
+  assign log_out = 10'hzzz;
+endmodule
+
+module divider(clk, rst, d_in, d_out);
+  wire [128:0] _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire _05_;
+  wire [63:0] _06_;
+  wire [6:0] _07_;
+  wire _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  wire [6:0] _12_;
+  wire _13_;
+  wire [6:0] _14_;
+  wire [128:0] _15_;
+  wire [63:0] _16_;
+  wire [6:0] _17_;
+  wire _18_;
+  wire [128:0] _19_;
+  wire [63:0] _20_;
+  wire [6:0] _21_;
+  wire _22_;
+  wire [128:0] _23_;
+  wire [63:0] _24_;
+  wire _25_;
+  wire [6:0] _26_;
+  wire _27_;
+  wire _28_;
+  wire [128:0] _29_;
+  wire [63:0] _30_;
+  wire [63:0] _31_;
+  wire _32_;
+  wire [6:0] _33_;
+  wire _34_;
+  wire _35_;
+  wire _36_;
+  wire _37_;
+  wire _38_;
+  wire _39_;
+  wire [128:0] _40_;
+  wire [63:0] _41_;
+  wire [63:0] _42_;
+  wire _43_;
+  wire [6:0] _44_;
+  wire _45_;
+  wire _46_;
+  wire _47_;
+  wire _48_;
+  wire _49_;
+  wire _50_;
+  wire [64:0] _51_;
+  wire _52_;
+  wire _53_;
+  wire _54_;
+  wire _55_;
+  wire _56_;
+  wire _57_;
+  wire _58_;
+  wire _59_;
+  wire _60_;
+  wire _61_;
+  wire [63:0] _62_;
+  wire _63_;
+  wire _64_;
+  reg [65:0] _65_;
+  input clk;
+  reg [6:0] count;
+  input [133:0] d_in;
+  output [65:0] d_out;
+  reg [128:0] dend;
+  wire did_ovf;
+  reg [63:0] div;
+  reg is_32bit;
+  reg is_modulus;
+  reg is_signed;
+  reg neg_result;
+  wire [63:0] oresult;
+  reg overflow;
+  reg ovf32;
+  reg [63:0] quot;
+  wire [63:0] result;
+  input rst;
+  reg running;
+  wire [64:0] sresult;
+  assign _00_ = d_in[131] ? { 1'h0, d_in[64:1], 64'h0000000000000000 } : { 65'h00000000000000000, d_in[64:1] };
+  assign _01_ = count == 7'h3f;
+  assign _02_ = _25_ ? 1'h0 : running;
+  assign _03_ = dend[127:64] >= div;
+  assign _04_ = dend[128] | _03_;
+  assign _05_ = ovf32 | quot[31];
+  assign _06_ = dend[127:64] - div;
+  assign _07_ = count + 7'h01;
+  assign _08_ = dend[128:57] == 72'h000000000000000000;
+  assign _09_ = count[6:3] != 4'h7;
+  assign _10_ = _08_ & _09_;
+  assign _11_ = | { ovf32, quot[31:24] };
+  assign _12_ = count + 7'h08;
+  assign _13_ = ovf32 | quot[31];
+  assign _14_ = count + 7'h01;
+  assign _15_ = _10_ ? { dend[120:0], 8'h00 } : { dend[127:0], 1'h0 };
+  assign _16_ = _10_ ? { quot[55:0], 8'h00 } : { quot[62:0], 1'h0 };
+  assign _17_ = _10_ ? _12_ : _14_;
+  assign _18_ = _10_ ? _11_ : _13_;
+  assign _19_ = _04_ ? { _06_, dend[63:0], 1'h0 } : _15_;
+  assign _20_ = _04_ ? { quot[62:0], 1'h1 } : _16_;
+  assign _21_ = _04_ ? _07_ : _17_;
+  assign _22_ = _04_ ? _05_ : _18_;
+  assign _23_ = running ? _19_ : dend;
+  assign _24_ = running ? _20_ : quot;
+  assign _25_ = running & _01_;
+  assign _26_ = running ? _21_ : 7'h00;
+  assign _27_ = running ? quot[63] : overflow;
+  assign _28_ = running ? _22_ : ovf32;
+  assign _29_ = d_in[0] ? _00_ : _23_;
+  assign _30_ = d_in[0] ? d_in[128:65] : div;
+  assign _31_ = d_in[0] ? 64'h0000000000000000 : _24_;
+  assign _32_ = d_in[0] ? 1'h1 : _02_;
+  assign _33_ = d_in[0] ? 7'h7f : _26_;
+  assign _34_ = d_in[0] ? d_in[133] : neg_result;
+  assign _35_ = d_in[0] ? d_in[132] : is_modulus;
+  assign _36_ = d_in[0] ? d_in[130] : is_32bit;
+  assign _37_ = d_in[0] ? d_in[129] : is_signed;
+  assign _38_ = d_in[0] ? 1'h0 : _27_;
+  assign _39_ = d_in[0] ? 1'h0 : _28_;
+  assign _40_ = rst ? 129'h000000000000000000000000000000000 : _29_;
+  assign _41_ = rst ? 64'h0000000000000000 : _30_;
+  assign _42_ = rst ? 64'h0000000000000000 : _31_;
+  assign _43_ = rst ? 1'h0 : _32_;
+  assign _44_ = rst ? 7'h00 : _33_;
+  assign _45_ = rst ? neg_result : _34_;
+  assign _46_ = rst ? is_modulus : _35_;
+  assign _47_ = rst ? is_32bit : _36_;
+  assign _48_ = rst ? is_signed : _37_;
+  assign _49_ = rst ? overflow : _38_;
+  assign _50_ = rst ? ovf32 : _39_;
+  always @(posedge clk)
+    dend <= _40_;
+  always @(posedge clk)
+    div <= _41_;
+  always @(posedge clk)
+    quot <= _42_;
+  always @(posedge clk)
+    running <= _43_;
+  always @(posedge clk)
+    count <= _44_;
+  always @(posedge clk)
+    neg_result <= _45_;
+  always @(posedge clk)
+    is_modulus <= _46_;
+  always @(posedge clk)
+    is_32bit <= _47_;
+  always @(posedge clk)
+    is_signed <= _48_;
+  always @(posedge clk)
+    overflow <= _49_;
+  always @(posedge clk)
+    ovf32 <= _50_;
+  assign result = is_modulus ? dend[128:65] : quot;
+  assign _51_ = - $signed({ 1'h0, result });
+  assign sresult = neg_result ? _51_ : { 1'h0, result };
+  assign _52_ = ~ is_32bit;
+  assign _53_ = sresult[64] ^ sresult[63];
+  assign _54_ = is_signed & _53_;
+  assign _55_ = overflow | _54_;
+  assign _56_ = sresult[32] != sresult[31];
+  assign _57_ = ovf32 | _56_;
+  assign _58_ = _57_ ? 1'h1 : 1'h0;
+  assign _59_ = is_signed ? _58_ : ovf32;
+  assign did_ovf = _52_ ? _55_ : _59_;
+  assign _60_ = ~ is_modulus;
+  assign _61_ = is_32bit & _60_;
+  assign _62_ = _61_ ? { 32'h00000000, sresult[31:0] } : sresult[63:0];
+  assign oresult = did_ovf ? 64'h0000000000000000 : _62_;
+  assign _63_ = count == 7'h40;
+  assign _64_ = _63_ ? 1'h1 : 1'h0;
+  always @(posedge clk)
+    _65_ <= { did_ovf, oresult, _64_ };
+  assign d_out = _65_;
+endmodule
+
+module dmi_dtm_jtag_8_64(sys_clk, sys_reset, dmi_din, dmi_ack, jtag_tck, jtag_tdi, jtag_tms, jtag_trst, dmi_addr, dmi_dout, dmi_req, dmi_wr, jtag_tdo);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  wire _12_;
+  wire _13_;
+  wire _14_;
+  wire _15_;
+  wire [1:0] _16_;
+  wire [1:0] _17_;
+  wire [71:0] _18_;
+  wire _19_;
+  wire _20_;
+  wire _21_;
+  wire _22_;
+  wire [63:0] _23_;
+  wire [63:0] _24_;
+  wire [63:0] _25_;
+  wire [63:0] _26_;
+  wire [7:0] _27_;
+  wire [1:0] _28_;
+  wire _29_;
+  wire [73:0] _30_;
+  wire [73:0] _31_;
+  wire [73:0] _32_;
+  wire _33_;
+  wire capture;
+  input dmi_ack;
+  reg dmi_ack_0;
+  reg dmi_ack_1;
+  output [7:0] dmi_addr;
+  input [63:0] dmi_din;
+  output [63:0] dmi_dout;
+  output dmi_req;
+  output dmi_wr;
+  wire jtag_bsy;
+  reg jtag_req;
+  reg jtag_req_0;
+  reg jtag_req_1;
+  input jtag_tck;
+  input jtag_tdi;
+  output jtag_tdo;
+  input jtag_tms;
+  input jtag_trst;
+  wire op_valid;
+  reg [73:0] request;
+  wire [1:0] rsp_op;
+  wire sel;
+  wire shift;
+  reg [73:0] shiftr;
+  input sys_clk;
+  input sys_reset;
+  wire tdi;
+  wire update;
+  assign _06_ = sys_reset ? 1'h0 : jtag_req;
+  assign _07_ = sys_reset ? 1'h0 : jtag_req_0;
+  always @(posedge sys_clk)
+    jtag_req_0 <= _06_;
+  always @(posedge sys_clk)
+    jtag_req_1 <= _07_;
+  always @(posedge jtag_tck, posedge jtag_trst)
+    if (jtag_trst) dmi_ack_0 <= 1'h0;
+    else dmi_ack_0 <= dmi_ack;
+  always @(posedge jtag_tck, posedge jtag_trst)
+    if (jtag_trst) dmi_ack_1 <= 1'h0;
+    else dmi_ack_1 <= dmi_ack_0;
+  assign jtag_bsy = jtag_req | dmi_ack_1;
+  assign _08_ = shiftr[1:0] == 2'h1;
+  assign _09_ = shiftr[1:0] == 2'h2;
+  function [0:0] \6934 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \6934  = b[0:0];
+      2'b1?:
+        \6934  = b[1:1];
+      default:
+        \6934  = a;
+    endcase
+  endfunction
+  assign op_valid = \6934 (1'h0, 2'h3, { _09_, _08_ });
+  assign rsp_op = jtag_bsy ? 2'h3 : 2'h0;
+  assign _10_ = request[1:0] == 2'h2;
+  assign _11_ = _10_ ? 1'h1 : 1'h0;
+  assign _12_ = jtag_trst | sys_reset;
+  assign _13_ = update & op_valid;
+  assign _14_ = ~ jtag_bsy;
+  assign _15_ = _20_ ? 1'h1 : jtag_req;
+  assign _16_ = shift ? shiftr[2:1] : shiftr[1:0];
+  assign _17_ = _13_ ? 2'h3 : _16_;
+  assign _18_ = shift ? { tdi, shiftr[73:3] } : shiftr[73:2];
+  assign _19_ = _13_ & _14_;
+  assign _20_ = _13_ & _14_;
+  assign _21_ = jtag_req & dmi_ack_1;
+  assign _22_ = request[1:0] == 2'h1;
+  assign _23_ = _19_ ? shiftr[65:2] : request[65:2];
+  assign _24_ = _22_ ? dmi_din : _23_;
+  assign _25_ = _19_ ? shiftr[65:2] : request[65:2];
+  assign _26_ = _21_ ? _24_ : _25_;
+  assign _27_ = _19_ ? shiftr[73:66] : request[73:66];
+  assign _28_ = _19_ ? shiftr[1:0] : request[1:0];
+  assign _29_ = _21_ ? 1'h0 : _15_;
+  assign _30_ = capture ? { request[73:2], rsp_op } : { _18_, _17_ };
+  assign _31_ = sel ? _30_ : shiftr;
+  always @(posedge jtag_tck, posedge _12_)
+    if (_12_) shiftr <= 74'h0000000000000000000;
+    else shiftr <= _31_;
+  assign _32_ = sel ? { _27_, _26_, _28_ } : request;
+  always @(posedge jtag_tck, posedge _12_)
+    if (_12_) request <= 74'h0000000000000000000;
+    else request <= _32_;
+  assign _33_ = sel ? _29_ : jtag_req;
+  always @(posedge jtag_tck, posedge _12_)
+    if (_12_) jtag_req <= 1'h0;
+    else jtag_req <= _33_;
+  tap_top tap_top0 (
+    .bs_chain_tdi_i(1'h0),
+    .capture_dr_o(capture),
+    .debug_select_o(sel),
+    .debug_tdi_i(shiftr[0]),
+    .extest_select_o(_03_),
+    .mbist_select_o(_05_),
+    .mbist_tdi_i(1'h0),
+    .pause_dr_o(_02_),
+    .sample_preload_select_o(_04_),
+    .shift_dr_o(shift),
+    .tck_pad_i(jtag_tck),
+    .tdi_pad_i(jtag_tdi),
+    .tdo_o(tdi),
+    .tdo_pad_o(_00_),
+    .tdo_padoe_o(_01_),
+    .tms_pad_i(jtag_tms),
+    .trst_pad_i(jtag_trst),
+    .update_dr_o(update)
+  );
+  assign dmi_addr = request[73:66];
+  assign dmi_dout = request[65:2];
+  assign dmi_req = jtag_req_1;
+  assign dmi_wr = _11_;
+  assign jtag_tdo = _00_;
+endmodule
+
+module execute1_0_0e356ba505631fbf715758bed27d503f8b260e3a(
+`ifdef USE_POWER_PINS
+        vccd1, vssd1,
+`endif
+ clk, rst, e_in, l_in, fp_in, ext_irq_in, log_rd_data, log_wr_addr, flush_out, busy_out, l_out, f_out, fp_out, e_out, dbg_msr_out, icache_inval, terminate_out, log_out, log_rd_addr);
+`ifdef USE_POWER_PINS
+  inout vccd1;        // User area 1 1.8V supply
+  inout vssd1;        // User area 1 digital ground
+`endif
+  wire _0000_;
+  wire _0001_;
+  wire _0002_;
+  wire _0003_;
+  wire _0004_;
+  wire _0005_;
+  wire [455:0] _0006_;
+  wire [127:0] _0007_;
+  wire [63:0] _0008_;
+  wire [63:0] _0009_;
+  wire _0010_;
+  wire [63:0] _0011_;
+  wire [4:0] _0012_;
+  wire _0013_;
+  wire _0014_;
+  wire [3:0] _0015_;
+  wire [3:0] _0016_;
+  wire [3:0] _0017_;
+  wire [3:0] _0018_;
+  wire [3:0] _0019_;
+  wire [3:0] _0020_;
+  wire [3:0] _0021_;
+  wire [3:0] _0022_;
+  wire _0023_;
+  wire [63:0] _0024_;
+  wire [63:0] _0025_;
+  wire _0026_;
+  wire _0027_;
+  wire _0028_;
+  wire _0029_;
+  wire _0030_;
+  wire [64:0] _0031_;
+  wire [64:0] _0032_;
+  wire _0033_;
+  wire _0034_;
+  wire _0035_;
+  wire _0036_;
+  wire _0037_;
+  wire [63:0] _0038_;
+  wire [63:0] _0039_;
+  wire _0040_;
+  wire [63:0] _0041_;
+  wire [63:0] _0042_;
+  wire _0043_;
+  wire _0044_;
+  wire _0045_;
+  wire [63:0] _0046_;
+  wire [127:0] _0047_;
+  wire _0048_;
+  wire [127:0] _0049_;
+  wire [127:0] _0050_;
+  wire _0051_;
+  wire _0052_;
+  wire _0053_;
+  wire _0054_;
+  wire _0055_;
+  wire _0056_;
+  wire _0057_;
+  wire _0058_;
+  wire [63:0] _0059_;
+  wire [127:0] _0060_;
+  wire [127:0] _0061_;
+  wire _0062_;
+  wire [63:0] _0063_;
+  wire [63:0] _0064_;
+  wire [63:0] _0065_;
+  wire _0066_;
+  wire [63:0] _0067_;
+  wire _0068_;
+  wire [63:0] _0069_;
+  wire _0070_;
+  wire _0071_;
+  wire _0072_;
+  wire _0073_;
+  wire [63:0] _0074_;
+  wire _0075_;
+  wire _0076_;
+  wire _0077_;
+  wire _0078_;
+  wire _0079_;
+  wire _0080_;
+  wire _0081_;
+  wire _0082_;
+  wire [63:0] _0083_;
+  wire [63:0] _0084_;
+  wire _0085_;
+  wire _0086_;
+  wire [5:0] _0087_;
+  wire _0088_;
+  wire _0089_;
+  wire _0090_;
+  wire _0091_;
+  wire _0092_;
+  wire _0093_;
+  wire _0094_;
+  wire _0095_;
+  wire _0096_;
+  wire _0097_;
+  wire _0098_;
+  wire _0099_;
+  wire _0100_;
+  wire _0101_;
+  wire _0102_;
+  wire _0103_;
+  wire _0104_;
+  wire _0105_;
+  wire _0106_;
+  wire _0107_;
+  wire _0108_;
+  wire _0109_;
+  wire _0110_;
+  wire _0111_;
+  wire [5:0] _0112_;
+  wire _0113_;
+  wire _0114_;
+  wire _0115_;
+  wire _0116_;
+  wire _0117_;
+  wire _0118_;
+  wire _0119_;
+  wire _0120_;
+  wire _0121_;
+  wire _0122_;
+  wire _0123_;
+  wire _0124_;
+  wire _0125_;
+  wire _0126_;
+  wire _0127_;
+  wire [63:0] _0128_;
+  wire _0129_;
+  wire _0130_;
+  wire _0131_;
+  wire _0132_;
+  wire _0133_;
+  wire _0134_;
+  wire _0135_;
+  wire _0136_;
+  wire _0137_;
+  wire _0138_;
+  wire _0139_;
+  wire _0140_;
+  wire _0141_;
+  wire _0142_;
+  wire _0143_;
+  wire _0144_;
+  wire _0145_;
+  wire _0146_;
+  wire _0147_;
+  wire _0148_;
+  wire _0149_;
+  wire _0150_;
+  wire _0151_;
+  wire [115:0] _0152_;
+  wire _0153_;
+  wire [1:0] _0154_;
+  wire [1:0] _0155_;
+  wire [1:0] _0156_;
+  wire _0157_;
+  wire [72:0] _0158_;
+  wire [193:0] _0159_;
+  wire _0160_;
+  wire _0161_;
+  wire _0162_;
+  wire _0163_;
+  wire _0164_;
+  wire _0165_;
+  wire _0166_;
+  wire _0167_;
+  wire _0168_;
+  wire [193:0] _0169_;
+  wire _0170_;
+  wire _0171_;
+  wire _0172_;
+  wire [31:0] _0173_;
+  wire _0174_;
+  wire _0175_;
+  wire [31:0] _0176_;
+  wire _0177_;
+  wire _0178_;
+  wire _0179_;
+  wire _0180_;
+  wire _0181_;
+  wire _0182_;
+  wire _0183_;
+  wire _0184_;
+  wire _0185_;
+  wire _0186_;
+  wire _0187_;
+  wire _0188_;
+  wire _0189_;
+  wire _0190_;
+  wire [4:0] _0191_;
+  wire [4:0] _0192_;
+  wire _0193_;
+  wire [3:0] _0194_;
+  wire _0195_;
+  wire _0196_;
+  wire _0197_;
+  wire _0198_;
+  wire _0199_;
+  wire _0200_;
+  wire _0201_;
+  wire _0202_;
+  wire [7:0] _0203_;
+  wire [4:0] _0204_;
+  wire _0205_;
+  wire _0206_;
+  wire _0207_;
+  wire [40:0] _0208_;
+  wire [63:0] _0209_;
+  wire _0210_;
+  wire _0211_;
+  wire [74:0] _0212_;
+  wire [40:0] _0213_;
+  wire [77:0] _0214_;
+  wire [63:0] _0215_;
+  wire _0216_;
+  wire _0217_;
+  wire _0218_;
+  wire _0219_;
+  wire _0220_;
+  wire _0221_;
+  wire _0222_;
+  wire _0223_;
+  wire _0224_;
+  wire _0225_;
+  wire [3:0] _0226_;
+  wire _0227_;
+  wire _0228_;
+  wire _0229_;
+  wire [3:0] _0230_;
+  wire _0231_;
+  wire _0232_;
+  wire _0233_;
+  wire [3:0] _0234_;
+  wire _0235_;
+  wire _0236_;
+  wire _0237_;
+  wire [3:0] _0238_;
+  wire _0239_;
+  wire _0240_;
+  wire _0241_;
+  wire [3:0] _0242_;
+  wire _0243_;
+  wire _0244_;
+  wire _0245_;
+  wire [3:0] _0246_;
+  wire _0247_;
+  wire _0248_;
+  wire _0249_;
+  wire [3:0] _0250_;
+  wire _0251_;
+  wire _0252_;
+  wire _0253_;
+  wire [3:0] _0254_;
+  wire _0255_;
+  wire _0256_;
+  wire _0257_;
+  wire [3:0] _0258_;
+  wire _0259_;
+  wire _0260_;
+  wire _0261_;
+  wire [3:0] _0262_;
+  wire _0263_;
+  wire _0264_;
+  wire _0265_;
+  wire [3:0] _0266_;
+  wire _0267_;
+  wire _0268_;
+  wire _0269_;
+  wire [3:0] _0270_;
+  wire _0271_;
+  wire _0272_;
+  wire _0273_;
+  wire [3:0] _0274_;
+  wire _0275_;
+  wire _0276_;
+  wire _0277_;
+  wire [3:0] _0278_;
+  wire _0279_;
+  wire _0280_;
+  wire _0281_;
+  wire [3:0] _0282_;
+  wire _0283_;
+  wire [3:0] _0284_;
+  wire _0285_;
+  wire _0286_;
+  wire _0287_;
+  wire _0288_;
+  wire _0289_;
+  wire _0290_;
+  wire _0291_;
+  wire _0292_;
+  wire _0293_;
+  wire _0294_;
+  wire _0295_;
+  wire _0296_;
+  wire _0297_;
+  wire _0298_;
+  wire _0299_;
+  wire _0300_;
+  wire _0301_;
+  wire _0302_;
+  wire [7:0] _0303_;
+  wire _0304_;
+  wire _0305_;
+  wire _0306_;
+  wire _0307_;
+  wire _0308_;
+  wire _0309_;
+  wire _0310_;
+  wire _0311_;
+  wire _0312_;
+  wire _0313_;
+  wire _0314_;
+  wire _0315_;
+  wire _0316_;
+  wire _0317_;
+  wire _0318_;
+  wire _0319_;
+  wire _0320_;
+  wire _0321_;
+  wire _0322_;
+  wire _0323_;
+  wire _0324_;
+  wire _0325_;
+  wire _0326_;
+  wire _0327_;
+  wire _0328_;
+  wire [7:0] _0329_;
+  wire _0330_;
+  wire _0331_;
+  wire _0332_;
+  wire _0333_;
+  wire _0334_;
+  wire _0335_;
+  wire _0336_;
+  wire _0337_;
+  wire _0338_;
+  wire _0339_;
+  wire _0340_;
+  wire _0341_;
+  wire _0342_;
+  wire _0343_;
+  wire _0344_;
+  wire _0345_;
+  wire _0346_;
+  wire _0347_;
+  wire _0348_;
+  wire _0349_;
+  wire _0350_;
+  wire [63:0] _0351_;
+  wire [6:0] _0352_;
+  wire [63:0] _0353_;
+  wire _0354_;
+  wire [31:0] _0355_;
+  wire _0356_;
+  wire _0357_;
+  wire _0358_;
+  wire _0359_;
+  wire _0360_;
+  wire _0361_;
+  wire _0362_;
+  wire _0363_;
+  wire _0364_;
+  wire _0365_;
+  wire _0366_;
+  wire _0367_;
+  wire _0368_;
+  wire [63:0] _0369_;
+  wire [6:0] _0370_;
+  wire [63:0] _0371_;
+  wire _0372_;
+  wire [31:0] _0373_;
+  wire _0374_;
+  wire _0375_;
+  wire _0376_;
+  wire _0377_;
+  wire _0378_;
+  wire _0379_;
+  wire _0380_;
+  wire _0381_;
+  wire _0382_;
+  wire _0383_;
+  wire _0384_;
+  wire _0385_;
+  wire _0386_;
+  wire _0387_;
+  wire [1:0] _0388_;
+  wire _0389_;
+  wire _0390_;
+  wire _0391_;
+  wire [31:0] _0392_;
+  wire [63:0] _0393_;
+  wire _0394_;
+  wire _0395_;
+  wire _0396_;
+  wire _0397_;
+  wire _0398_;
+  wire _0399_;
+  wire _0400_;
+  wire _0401_;
+  wire _0402_;
+  wire _0403_;
+  wire [7:0] _0404_;
+  wire _0405_;
+  wire [3:0] _0406_;
+  wire _0407_;
+  wire [3:0] _0408_;
+  wire _0409_;
+  wire [3:0] _0410_;
+  wire _0411_;
+  wire [3:0] _0412_;
+  wire _0413_;
+  wire [3:0] _0414_;
+  wire _0415_;
+  wire [3:0] _0416_;
+  wire _0417_;
+  wire [3:0] _0418_;
+  wire _0419_;
+  wire [3:0] _0420_;
+  wire [31:0] _0421_;
+  wire [31:0] _0422_;
+  wire [31:0] _0423_;
+  wire [31:0] _0424_;
+  wire [31:0] _0425_;
+  wire [31:0] _0426_;
+  wire _0427_;
+  wire _0428_;
+  wire _0429_;
+  wire _0430_;
+  wire _0431_;
+  wire _0432_;
+  wire _0433_;
+  wire _0434_;
+  wire [7:0] _0435_;
+  wire _0436_;
+  wire _0437_;
+  wire _0438_;
+  wire _0439_;
+  wire _0440_;
+  wire _0441_;
+  wire _0442_;
+  wire _0443_;
+  wire _0444_;
+  wire _0445_;
+  wire _0446_;
+  wire _0447_;
+  wire _0448_;
+  wire _0449_;
+  wire _0450_;
+  wire _0451_;
+  wire _0452_;
+  wire _0453_;
+  wire _0454_;
+  wire _0455_;
+  wire _0456_;
+  wire _0457_;
+  wire _0458_;
+  wire _0459_;
+  wire _0460_;
+  wire _0461_;
+  wire _0462_;
+  wire _0463_;
+  wire _0464_;
+  wire _0465_;
+  wire _0466_;
+  wire _0467_;
+  wire _0468_;
+  wire _0469_;
+  wire _0470_;
+  wire _0471_;
+  wire _0472_;
+  wire _0473_;
+  wire _0474_;
+  wire _0475_;
+  wire _0476_;
+  wire _0477_;
+  wire _0478_;
+  wire _0479_;
+  wire _0480_;
+  wire _0481_;
+  wire _0482_;
+  wire _0483_;
+  wire _0484_;
+  wire _0485_;
+  wire _0486_;
+  wire _0487_;
+  wire _0488_;
+  wire _0489_;
+  wire _0490_;
+  wire _0491_;
+  wire _0492_;
+  wire _0493_;
+  wire _0494_;
+  wire _0495_;
+  wire _0496_;
+  wire _0497_;
+  wire _0498_;
+  wire _0499_;
+  wire [40:0] _0500_;
+  wire _0501_;
+  wire _0502_;
+  wire _0503_;
+  wire _0504_;
+  wire _0505_;
+  wire _0506_;
+  wire _0507_;
+  wire _0508_;
+  wire _0509_;
+  wire [7:0] _0510_;
+  wire _0511_;
+  wire _0512_;
+  wire _0513_;
+  wire _0514_;
+  wire [63:0] _0515_;
+  wire [63:0] _0516_;
+  wire _0517_;
+  wire _0518_;
+  wire _0519_;
+  wire [45:0] _0520_;
+  wire _0521_;
+  wire _0522_;
+  wire _0523_;
+  wire _0524_;
+  wire _0525_;
+  wire _0526_;
+  wire [31:0] _0527_;
+  wire _0528_;
+  wire _0529_;
+  wire [31:0] _0530_;
+  wire _0531_;
+  wire [31:0] _0532_;
+  wire [31:0] _0533_;
+  wire [31:0] _0534_;
+  wire [63:0] _0535_;
+  wire _0536_;
+  wire _0537_;
+  wire _0538_;
+  wire _0539_;
+  wire _0540_;
+  wire [2:0] _0541_;
+  wire _0542_;
+  wire _0543_;
+  wire [2:0] _0544_;
+  wire _0545_;
+  wire _0546_;
+  wire _0547_;
+  wire _0548_;
+  wire _0549_;
+  wire _0550_;
+  wire _0551_;
+  wire _0552_;
+  wire [2:0] _0553_;
+  wire _0554_;
+  wire _0555_;
+  wire _0556_;
+  wire _0557_;
+  wire _0558_;
+  wire _0559_;
+  wire _0560_;
+  wire _0561_;
+  wire [2:0] _0562_;
+  wire _0563_;
+  wire _0564_;
+  wire _0565_;
+  wire _0566_;
+  wire _0567_;
+  wire _0568_;
+  wire _0569_;
+  wire _0570_;
+  wire [2:0] _0571_;
+  wire _0572_;
+  wire _0573_;
+  wire _0574_;
+  wire _0575_;
+  wire _0576_;
+  wire _0577_;
+  wire _0578_;
+  wire _0579_;
+  wire [2:0] _0580_;
+  wire _0581_;
+  wire _0582_;
+  wire _0583_;
+  wire _0584_;
+  wire _0585_;
+  wire _0586_;
+  wire _0587_;
+  wire _0588_;
+  wire [2:0] _0589_;
+  wire _0590_;
+  wire _0591_;
+  wire _0592_;
+  wire _0593_;
+  wire _0594_;
+  wire _0595_;
+  wire _0596_;
+  wire [2:0] _0597_;
+  wire _0598_;
+  wire _0599_;
+  wire _0600_;
+  wire _0601_;
+  wire [2:0] _0602_;
+  wire _0603_;
+  wire [3:0] _0604_;
+  wire _0605_;
+  wire [3:0] _0606_;
+  wire _0607_;
+  wire [3:0] _0608_;
+  wire _0609_;
+  wire [3:0] _0610_;
+  wire _0611_;
+  wire [3:0] _0612_;
+  wire _0613_;
+  wire [3:0] _0614_;
+  wire _0615_;
+  wire [3:0] _0616_;
+  wire _0617_;
+  wire [3:0] _0618_;
+  wire [63:0] _0619_;
+  wire _0620_;
+  wire _0621_;
+  wire _0622_;
+  wire _0623_;
+  wire [2:0] _0624_;
+  wire _0625_;
+  wire _0626_;
+  wire [2:0] _0627_;
+  wire _0628_;
+  wire _0629_;
+  wire _0630_;
+  wire _0631_;
+  wire _0632_;
+  wire _0633_;
+  wire _0634_;
+  wire _0635_;
+  wire [2:0] _0636_;
+  wire _0637_;
+  wire _0638_;
+  wire _0639_;
+  wire _0640_;
+  wire _0641_;
+  wire _0642_;
+  wire _0643_;
+  wire _0644_;
+  wire [2:0] _0645_;
+  wire _0646_;
+  wire _0647_;
+  wire _0648_;
+  wire _0649_;
+  wire _0650_;
+  wire _0651_;
+  wire _0652_;
+  wire _0653_;
+  wire [2:0] _0654_;
+  wire _0655_;
+  wire _0656_;
+  wire _0657_;
+  wire _0658_;
+  wire _0659_;
+  wire _0660_;
+  wire _0661_;
+  wire _0662_;
+  wire [2:0] _0663_;
+  wire _0664_;
+  wire _0665_;
+  wire _0666_;
+  wire _0667_;
+  wire _0668_;
+  wire _0669_;
+  wire _0670_;
+  wire _0671_;
+  wire [2:0] _0672_;
+  wire _0673_;
+  wire _0674_;
+  wire _0675_;
+  wire _0676_;
+  wire _0677_;
+  wire _0678_;
+  wire _0679_;
+  wire [2:0] _0680_;
+  wire _0681_;
+  wire _0682_;
+  wire _0683_;
+  wire _0684_;
+  wire [2:0] _0685_;
+  wire _0686_;
+  wire _0687_;
+  wire _0688_;
+  wire _0689_;
+  wire _0690_;
+  wire _0691_;
+  wire _0692_;
+  wire _0693_;
+  wire [7:0] _0694_;
+  wire [7:0] _0695_;
+  wire _0696_;
+  wire _0697_;
+  wire [27:0] _0698_;
+  wire [2:0] _0699_;
+  wire [1:0] _0700_;
+  wire _0701_;
+  wire _0702_;
+  wire [9:0] _0703_;
+  wire [1:0] _0704_;
+  wire _0705_;
+  wire [43:0] _0706_;
+  wire [2:0] _0707_;
+  wire _0708_;
+  wire _0709_;
+  wire [5:0] _0710_;
+  wire _0711_;
+  wire _0712_;
+  wire _0713_;
+  wire [63:0] _0714_;
+  wire [31:0] _0715_;
+  wire _0716_;
+  wire [63:0] _0717_;
+  wire [5:0] _0718_;
+  wire [31:0] _0719_;
+  wire [63:0] _0720_;
+  wire _0721_;
+  wire _0722_;
+  wire _0723_;
+  wire [193:0] _0724_;
+  wire _0725_;
+  wire _0726_;
+  wire _0727_;
+  wire _0728_;
+  wire _0729_;
+  wire _0730_;
+  wire _0731_;
+  wire _0732_;
+  wire _0733_;
+  wire _0734_;
+  wire _0735_;
+  wire [31:0] _0736_;
+  wire [31:0] _0737_;
+  wire [31:0] _0738_;
+  wire _0739_;
+  wire _0740_;
+  wire [62:0] _0741_;
+  wire _0742_;
+  wire _0743_;
+  wire _0744_;
+  wire _0745_;
+  wire _0746_;
+  wire _0747_;
+  wire _0748_;
+  wire _0749_;
+  wire _0750_;
+  wire _0751_;
+  wire _0752_;
+  wire _0753_;
+  wire _0754_;
+  wire _0755_;
+  wire [63:0] _0756_;
+  wire _0757_;
+  wire _0758_;
+  wire [1:0] _0759_;
+  wire [1:0] _0760_;
+  wire [5:0] _0761_;
+  wire _0762_;
+  wire [1:0] _0763_;
+  wire _0764_;
+  wire [5:0] _0765_;
+  wire [4:0] _0766_;
+  wire [3:0] _0767_;
+  wire [28:0] _0768_;
+  wire _0769_;
+  wire [2:0] _0770_;
+  wire _0771_;
+  wire _0772_;
+  wire _0773_;
+  wire _0774_;
+  wire [2:0] _0775_;
+  wire [6:0] _0776_;
+  wire [63:0] _0777_;
+  wire _0778_;
+  wire [7:0] _0779_;
+  wire [31:0] _0780_;
+  wire [5:0] _0781_;
+  wire [71:0] _0782_;
+  wire _0783_;
+  wire _0784_;
+  wire _0785_;
+  wire _0786_;
+  wire _0787_;
+  wire [63:0] _0788_;
+  wire _0789_;
+  wire _0790_;
+  wire _0791_;
+  wire _0792_;
+  wire _0793_;
+  wire [31:0] _0794_;
+  wire _0795_;
+  wire [2:0] _0796_;
+  wire [3:0] _0797_;
+  wire [3:0] _0798_;
+  wire [3:0] _0799_;
+  wire [3:0] _0800_;
+  wire [3:0] _0801_;
+  wire [3:0] _0802_;
+  wire [3:0] _0803_;
+  wire [3:0] _0804_;
+  wire [3:0] _0805_;
+  wire [3:0] _0806_;
+  wire [3:0] _0807_;
+  wire [3:0] _0808_;
+  wire [3:0] _0809_;
+  wire [3:0] _0810_;
+  wire [3:0] _0811_;
+  wire _0812_;
+  wire _0813_;
+  wire _0814_;
+  wire _0815_;
+  wire _0816_;
+  wire _0817_;
+  wire _0818_;
+  wire _0819_;
+  wire _0820_;
+  wire [63:0] _0821_;
+  wire _0822_;
+  wire [63:0] _0823_;
+  wire [63:0] _0824_;
+  wire [63:0] _0825_;
+  wire _0826_;
+  wire _0827_;
+  wire _0828_;
+  wire _0829_;
+  wire [63:0] _0830_;
+  wire _0831_;
+  wire _0832_;
+  wire [71:0] _0833_;
+  wire _0834_;
+  wire [64:0] _0835_;
+  wire _0836_;
+  wire _0837_;
+  wire _0838_;
+  wire [64:0] _0839_;
+  wire _0840_;
+  wire _0841_;
+  wire _0842_;
+  wire _0843_;
+  wire _0844_;
+  wire _0845_;
+  wire _0846_;
+  wire _0847_;
+  wire _0848_;
+  wire _0849_;
+  wire _0850_;
+  wire [191:0] _0851_;
+  wire _0852_;
+  wire _0853_;
+  wire _0854_;
+  wire [264:0] _0855_;
+  wire [31:0] _0856_;
+  wire [63:0] _0857_;
+  wire _0858_;
+  wire _0859_;
+  wire _0860_;
+  wire _0861_;
+  wire _0862_;
+  wire _0863_;
+  wire _0864_;
+  wire [191:0] _0865_;
+  wire _0866_;
+  wire _0867_;
+  wire _0868_;
+  wire [264:0] _0869_;
+  wire [31:0] _0870_;
+  wire [63:0] _0871_;
+  wire _0872_;
+  wire _0873_;
+  wire _0874_;
+  wire _0875_;
+  wire _0876_;
+  wire _0877_;
+  wire _0878_;
+  wire [191:0] _0879_;
+  wire _0880_;
+  wire _0881_;
+  wire _0882_;
+  wire _0883_;
+  wire [198:0] _0884_;
+  wire [63:0] _0885_;
+  wire [1:0] _0886_;
+  wire [31:0] _0887_;
+  wire [63:0] _0888_;
+  wire _0889_;
+  wire _0890_;
+  wire _0891_;
+  wire _0892_;
+  wire _0893_;
+  wire _0894_;
+  wire _0895_;
+  wire [191:0] _0896_;
+  wire _0897_;
+  wire _0898_;
+  wire [264:0] _0899_;
+  wire [31:0] _0900_;
+  wire [63:0] _0901_;
+  wire _0902_;
+  wire _0903_;
+  wire _0904_;
+  wire _0905_;
+  wire _0906_;
+  wire _0907_;
+  wire _0908_;
+  wire [191:0] _0909_;
+  wire _0910_;
+  wire _0911_;
+  wire _0912_;
+  wire [198:0] _0913_;
+  wire [63:0] _0914_;
+  wire [1:0] _0915_;
+  wire [31:0] _0916_;
+  wire [63:0] _0917_;
+  wire _0918_;
+  wire _0919_;
+  wire _0920_;
+  wire _0921_;
+  wire _0922_;
+  wire _0923_;
+  wire _0924_;
+  wire [63:0] _0925_;
+  wire [1:0] _0926_;
+  wire [1:0] _0927_;
+  wire [1:0] _0928_;
+  wire [1:0] _0929_;
+  wire [3:0] _0930_;
+  wire _0931_;
+  wire [2:0] _0932_;
+  wire [46:0] _0933_;
+  wire _0934_;
+  wire [63:0] _0935_;
+  wire _0936_;
+  wire _0937_;
+  wire _0938_;
+  wire _0939_;
+  wire [31:0] _0940_;
+  wire [63:0] _0941_;
+  wire _0942_;
+  wire _0943_;
+  wire _0944_;
+  wire _0945_;
+  wire _0946_;
+  wire _0947_;
+  wire _0948_;
+  wire _0949_;
+  wire _0950_;
+  wire _0951_;
+  wire _0952_;
+  wire _0953_;
+  wire _0954_;
+  wire [63:0] _0955_;
+  wire [63:0] _0956_;
+  wire _0957_;
+  wire _0958_;
+  wire _0959_;
+  wire [2:0] _0960_;
+  wire _0961_;
+  wire [1:0] _0962_;
+  wire [6:0] _0963_;
+  wire [6:0] _0964_;
+  wire [5:0] _0965_;
+  wire [5:0] _0966_;
+  wire _0967_;
+  wire _0968_;
+  wire _0969_;
+  wire _0970_;
+  wire _0971_;
+  wire [1:0] _0972_;
+  wire [6:0] _0973_;
+  wire [6:0] _0974_;
+  wire [5:0] _0975_;
+  wire [5:0] _0976_;
+  wire _0977_;
+  wire _0978_;
+  wire _0979_;
+  wire _0980_;
+  wire _0981_;
+  wire _0982_;
+  wire _0983_;
+  wire _0984_;
+  wire _0985_;
+  wire _0986_;
+  wire _0987_;
+  wire _0988_;
+  wire _0989_;
+  wire _0990_;
+  wire _0991_;
+  wire _0992_;
+  wire [63:0] _0993_;
+  wire _0994_;
+  wire _0995_;
+  wire _0996_;
+  wire [1:0] _0997_;
+  wire [6:0] _0998_;
+  wire [6:0] _0999_;
+  wire [5:0] _1000_;
+  wire [5:0] _1001_;
+  wire [63:0] _1002_;
+  wire _1003_;
+  wire [1:0] _1004_;
+  wire [6:0] _1005_;
+  wire [5:0] _1006_;
+  wire _1007_;
+  wire _1008_;
+  wire _1009_;
+  wire _1010_;
+  wire _1011_;
+  wire _1012_;
+  wire _1013_;
+  wire _1014_;
+  wire _1015_;
+  wire _1016_;
+  wire _1017_;
+  wire _1018_;
+  wire _1019_;
+  wire _1020_;
+  wire [2:0] _1021_;
+  wire [63:0] _1022_;
+  wire _1023_;
+  wire [1:0] _1024_;
+  wire [6:0] _1025_;
+  wire _1026_;
+  wire _1027_;
+  wire [4:0] _1028_;
+  wire _1029_;
+  wire _1030_;
+  wire _1031_;
+  wire _1032_;
+  wire _1033_;
+  wire _1034_;
+  wire _1035_;
+  wire _1036_;
+  wire _1037_;
+  wire _1038_;
+  wire _1039_;
+  wire _1040_;
+  wire _1041_;
+  wire _1042_;
+  wire [2:0] _1043_;
+  wire [63:0] _1044_;
+  wire _1045_;
+  wire _1046_;
+  wire _1047_;
+  wire _1048_;
+  wire [6:0] _1049_;
+  wire [6:0] _1050_;
+  wire [5:0] _1051_;
+  wire [5:0] _1052_;
+  wire _1053_;
+  wire _1054_;
+  wire _1055_;
+  wire _1056_;
+  wire _1057_;
+  wire _1058_;
+  wire _1059_;
+  wire _1060_;
+  wire _1061_;
+  wire _1062_;
+  wire _1063_;
+  wire _1064_;
+  wire _1065_;
+  wire _1066_;
+  wire [2:0] _1067_;
+  wire _1068_;
+  wire [64:0] _1069_;
+  wire [64:0] _1070_;
+  wire [64:0] _1071_;
+  wire [64:0] _1072_;
+  wire [64:0] _1073_;
+  wire [64:0] _1074_;
+  wire [18:0] _1075_;
+  wire [18:0] _1076_;
+  wire [18:0] _1077_;
+  wire [18:0] _1078_;
+  wire [18:0] _1079_;
+  wire [18:0] _1080_;
+  wire [63:0] _1081_;
+  wire _1082_;
+  wire _1083_;
+  wire _1084_;
+  wire [63:0] _1085_;
+  wire [63:0] _1086_;
+  wire [4:0] _1087_;
+  wire _1088_;
+  wire [63:0] _1089_;
+  wire [63:0] _1090_;
+  wire [63:0] _1091_;
+  wire _1092_;
+  wire _1093_;
+  wire _1094_;
+  wire [63:0] _1095_;
+  wire [63:0] _1096_;
+  wire [63:0] _1097_;
+  wire [6:0] _1098_;
+  wire [6:0] _1099_;
+  wire _1100_;
+  wire _1101_;
+  wire _1102_;
+  wire [40:0] _1103_;
+  wire _1104_;
+  wire _1105_;
+  wire _1106_;
+  wire _1107_;
+  wire _1108_;
+  wire [63:0] _1109_;
+  wire _1110_;
+  wire _1111_;
+  wire _1112_;
+  wire _1113_;
+  wire [1:0] _1114_;
+  wire _1115_;
+  wire _1116_;
+  wire _1117_;
+  wire _1118_;
+  wire [63:0] _1119_;
+  wire _1120_;
+  wire _1121_;
+  wire _1122_;
+  wire [1:0] _1123_;
+  wire _1124_;
+  wire _1125_;
+  wire _1126_;
+  wire _1127_;
+  wire [63:0] _1128_;
+  wire _1129_;
+  wire _1130_;
+  wire _1131_;
+  wire [1:0] _1132_;
+  wire _1133_;
+  wire _1134_;
+  wire _1135_;
+  wire _1136_;
+  wire [63:0] _1137_;
+  wire _1138_;
+  wire _1139_;
+  wire _1140_;
+  wire [1:0] _1141_;
+  wire _1142_;
+  wire _1143_;
+  wire _1144_;
+  wire _1145_;
+  wire _1146_;
+  wire _1147_;
+  wire _1148_;
+  wire _1149_;
+  wire _1150_;
+  wire [7:0] _1151_;
+  wire [63:0] _1152_;
+  wire _1153_;
+  wire _1154_;
+  wire [4:0] _1155_;
+  wire _1156_;
+  wire _1157_;
+  wire _1158_;
+  wire _1159_;
+  wire _1160_;
+  wire _1161_;
+  wire _1162_;
+  wire _1163_;
+  wire _1164_;
+  wire _1165_;
+  wire _1166_;
+  wire [63:0] _1167_;
+  wire _1168_;
+  wire _1169_;
+  wire _1170_;
+  wire _1171_;
+  wire _1172_;
+  wire _1173_;
+  wire _1174_;
+  wire _1175_;
+  wire _1176_;
+  wire _1177_;
+  wire _1178_;
+  wire _1179_;
+  wire _1180_;
+  wire _1181_;
+  wire _1182_;
+  wire _1183_;
+  wire _1184_;
+  wire _1185_;
+  wire _1186_;
+  wire _1187_;
+  wire _1188_;
+  wire _1189_;
+  wire _1190_;
+  wire _1191_;
+  wire _1192_;
+  wire _1193_;
+  wire _1194_;
+  wire _1195_;
+  wire _1196_;
+  wire _1197_;
+  wire _1198_;
+  wire _1199_;
+  wire _1200_;
+  wire _1201_;
+  wire _1202_;
+  wire _1203_;
+  wire _1204_;
+  wire _1205_;
+  wire _1206_;
+  wire _1207_;
+  wire _1208_;
+  wire _1209_;
+  wire _1210_;
+  wire _1211_;
+  wire _1212_;
+  wire _1213_;
+  wire _1214_;
+  wire _1215_;
+  wire _1216_;
+  wire _1217_;
+  wire _1218_;
+  wire _1219_;
+  wire _1220_;
+  wire _1221_;
+  wire _1222_;
+  wire _1223_;
+  wire _1224_;
+  wire _1225_;
+  wire _1226_;
+  wire _1227_;
+  wire _1228_;
+  wire _1229_;
+  wire _1230_;
+  wire _1231_;
+  wire _1232_;
+  wire _1233_;
+  wire _1234_;
+  wire _1235_;
+  wire _1236_;
+  wire _1237_;
+  wire _1238_;
+  wire _1239_;
+  wire _1240_;
+  wire _1241_;
+  wire _1242_;
+  wire _1243_;
+  wire _1244_;
+  wire _1245_;
+  wire _1246_;
+  wire _1247_;
+  wire _1248_;
+  wire _1249_;
+  wire _1250_;
+  wire _1251_;
+  wire _1252_;
+  wire _1253_;
+  wire _1254_;
+  wire _1255_;
+  wire _1256_;
+  wire _1257_;
+  wire _1258_;
+  wire _1259_;
+  wire _1260_;
+  wire _1261_;
+  wire _1262_;
+  wire _1263_;
+  wire _1264_;
+  wire _1265_;
+  wire _1266_;
+  wire _1267_;
+  wire _1268_;
+  wire _1269_;
+  wire _1270_;
+  wire _1271_;
+  wire _1272_;
+  wire _1273_;
+  wire _1274_;
+  wire _1275_;
+  wire _1276_;
+  wire _1277_;
+  wire _1278_;
+  wire _1279_;
+  wire _1280_;
+  wire _1281_;
+  wire _1282_;
+  wire _1283_;
+  wire _1284_;
+  wire _1285_;
+  wire _1286_;
+  wire _1287_;
+  wire _1288_;
+  wire _1289_;
+  wire _1290_;
+  wire _1291_;
+  wire _1292_;
+  wire _1293_;
+  wire _1294_;
+  wire _1295_;
+  wire _1296_;
+  wire _1297_;
+  wire _1298_;
+  wire _1299_;
+  wire _1300_;
+  wire _1301_;
+  wire _1302_;
+  wire _1303_;
+  wire _1304_;
+  wire _1305_;
+  wire _1306_;
+  wire _1307_;
+  wire _1308_;
+  wire _1309_;
+  wire _1310_;
+  wire _1311_;
+  wire _1312_;
+  wire _1313_;
+  wire _1314_;
+  wire _1315_;
+  wire _1316_;
+  wire _1317_;
+  wire _1318_;
+  wire _1319_;
+  wire _1320_;
+  wire _1321_;
+  wire _1322_;
+  wire _1323_;
+  wire _1324_;
+  wire _1325_;
+  wire _1326_;
+  wire _1327_;
+  wire _1328_;
+  wire _1329_;
+  wire _1330_;
+  wire _1331_;
+  wire _1332_;
+  wire _1333_;
+  wire _1334_;
+  wire _1335_;
+  wire _1336_;
+  wire _1337_;
+  wire _1338_;
+  wire _1339_;
+  wire _1340_;
+  wire _1341_;
+  wire _1342_;
+  wire _1343_;
+  wire _1344_;
+  wire _1345_;
+  wire _1346_;
+  wire _1347_;
+  wire _1348_;
+  wire _1349_;
+  wire _1350_;
+  wire _1351_;
+  wire _1352_;
+  wire _1353_;
+  wire _1354_;
+  wire _1355_;
+  wire _1356_;
+  wire _1357_;
+  wire _1358_;
+  wire _1359_;
+  wire _1360_;
+  wire _1361_;
+  wire _1362_;
+  wire _1363_;
+  wire _1364_;
+  wire _1365_;
+  wire _1366_;
+  wire _1367_;
+  wire _1368_;
+  wire _1369_;
+  wire _1370_;
+  wire _1371_;
+  wire _1372_;
+  wire _1373_;
+  wire _1374_;
+  wire _1375_;
+  wire _1376_;
+  wire _1377_;
+  wire _1378_;
+  wire _1379_;
+  wire _1380_;
+  wire _1381_;
+  wire _1382_;
+  wire _1383_;
+  wire _1384_;
+  wire _1385_;
+  wire _1386_;
+  wire _1387_;
+  wire _1388_;
+  wire _1389_;
+  wire _1390_;
+  wire _1391_;
+  wire _1392_;
+  wire _1393_;
+  wire _1394_;
+  wire [63:0] a_in;
+  wire [63:0] b_in;
+  output busy_out;
+  wire [63:0] c_in;
+  input clk;
+  wire [63:0] countzero_result;
+  wire [31:0] cr_in;
+  reg [320:0] ctrl = 321'h000000000000000000000000000000000000000000000000000000000000000000000000000000000;
+  output [63:0] dbg_msr_out;
+  wire [65:0] divider_to_x;
+  input [379:0] e_in;
+  output [193:0] e_out;
+  input ext_irq_in;
+  output [68:0] f_out;
+  output flush_out;
+  input [3:0] fp_in;
+  output [306:0] fp_out;
+  output icache_inval;
+  input [8:0] l_in;
+  output [325:0] l_out;
+  output [14:0] log_out;
+  output [31:0] log_rd_addr;
+  input [63:0] log_rd_data;
+  input [31:0] log_wr_addr;
+  wire [63:0] logical_result;
+  wire [129:0] multiply_to_x;
+  reg [455:0] r;
+  wire [63:0] random_cond;
+  wire random_err;
+  wire [63:0] random_raw;
+  wire right_shift;
+  wire rot_clear_left;
+  wire rot_clear_right;
+  wire rot_sign_ext;
+  wire rotator_carry;
+  wire [63:0] rotator_result;
+  input rst;
+  output terminate_out;
+  wire valid_in;
+  reg [0:0] \$mem$\14259  [63:0];
+  reg [0:0] \14259  [63:0];
+  initial begin
+    \14259 [0] = 1'h0;
+    \14259 [1] = 1'h0;
+    \14259 [2] = 1'h0;
+    \14259 [3] = 1'h0;
+    \14259 [4] = 1'h0;
+    \14259 [5] = 1'h1;
+    \14259 [6] = 1'h0;
+    \14259 [7] = 1'h0;
+    \14259 [8] = 1'h0;
+    \14259 [9] = 1'h0;
+    \14259 [10] = 1'h0;
+    \14259 [11] = 1'h0;
+    \14259 [12] = 1'h0;
+    \14259 [13] = 1'h0;
+    \14259 [14] = 1'h1;
+    \14259 [15] = 1'h0;
+    \14259 [16] = 1'h0;
+    \14259 [17] = 1'h0;
+    \14259 [18] = 1'h0;
+    \14259 [19] = 1'h0;
+    \14259 [20] = 1'h0;
+    \14259 [21] = 1'h0;
+    \14259 [22] = 1'h1;
+    \14259 [23] = 1'h0;
+    \14259 [24] = 1'h0;
+    \14259 [25] = 1'h0;
+    \14259 [26] = 1'h1;
+    \14259 [27] = 1'h0;
+    \14259 [28] = 1'h0;
+    \14259 [29] = 1'h0;
+    \14259 [30] = 1'h0;
+    \14259 [31] = 1'h0;
+    \14259 [32] = 1'h0;
+    \14259 [33] = 1'h0;
+    \14259 [34] = 1'h0;
+    \14259 [35] = 1'h0;
+    \14259 [36] = 1'h0;
+    \14259 [37] = 1'h0;
+    \14259 [38] = 1'h0;
+    \14259 [39] = 1'h0;
+    \14259 [40] = 1'h0;
+    \14259 [41] = 1'h0;
+    \14259 [42] = 1'h0;
+    \14259 [43] = 1'h0;
+    \14259 [44] = 1'h0;
+    \14259 [45] = 1'h0;
+    \14259 [46] = 1'h0;
+    \14259 [47] = 1'h0;
+    \14259 [48] = 1'h0;
+    \14259 [49] = 1'h0;
+    \14259 [50] = 1'h0;
+    \14259 [51] = 1'h0;
+    \14259 [52] = 1'h0;
+    \14259 [53] = 1'h0;
+    \14259 [54] = 1'h0;
+    \14259 [55] = 1'h0;
+    \14259 [56] = 1'h0;
+    \14259 [57] = 1'h0;
+    \14259 [58] = 1'h0;
+    \14259 [59] = 1'h1;
+    \14259 [60] = 1'h0;
+    \14259 [61] = 1'h0;
+    \14259 [62] = 1'h0;
+    \14259 [63] = 1'h0;
+  end
+  assign _1168_ = \14259 [_0112_];
+  assign _1251_ = _0355_[0] ? cr_in[1] : cr_in[0];
+  assign _1252_ = _0355_[0] ? cr_in[5] : cr_in[4];
+  assign _1253_ = _0355_[0] ? cr_in[9] : cr_in[8];
+  assign _1254_ = _0355_[0] ? cr_in[13] : cr_in[12];
+  assign _1255_ = _0355_[0] ? cr_in[17] : cr_in[16];
+  assign _1256_ = _0355_[0] ? cr_in[21] : cr_in[20];
+  assign _1257_ = _0355_[0] ? cr_in[25] : cr_in[24];
+  assign _1258_ = _0355_[0] ? cr_in[29] : cr_in[28];
+  assign _1259_ = _0355_[2] ? _1170_ : _1169_;
+  assign _1260_ = _0355_[2] ? _1174_ : _1173_;
+  assign _1261_ = _0373_[0] ? cr_in[1] : cr_in[0];
+  assign _1262_ = _0373_[0] ? cr_in[5] : cr_in[4];
+  assign _1263_ = _0373_[0] ? cr_in[9] : cr_in[8];
+  assign _1264_ = _0373_[0] ? cr_in[13] : cr_in[12];
+  assign _1265_ = _0373_[0] ? cr_in[17] : cr_in[16];
+  assign _1266_ = _0373_[0] ? cr_in[21] : cr_in[20];
+  assign _1267_ = _0373_[0] ? cr_in[25] : cr_in[24];
+  assign _1268_ = _0373_[0] ? cr_in[29] : cr_in[28];
+  assign _1269_ = _0373_[2] ? _1181_ : _1180_;
+  assign _1270_ = _0373_[2] ? _1185_ : _1184_;
+  assign _1271_ = _0392_[0] ? cr_in[1] : cr_in[0];
+  assign _1272_ = _0392_[0] ? cr_in[5] : cr_in[4];
+  assign _1273_ = _0392_[0] ? cr_in[9] : cr_in[8];
+  assign _1274_ = _0392_[0] ? cr_in[13] : cr_in[12];
+  assign _1275_ = _0392_[0] ? cr_in[17] : cr_in[16];
+  assign _1276_ = _0392_[0] ? cr_in[21] : cr_in[20];
+  assign _1277_ = _0392_[0] ? cr_in[25] : cr_in[24];
+  assign _1278_ = _0392_[0] ? cr_in[29] : cr_in[28];
+  assign _1279_ = _0392_[2] ? _1192_ : _1191_;
+  assign _1280_ = _0392_[2] ? _1196_ : _1195_;
+  assign _1281_ = _0422_[0] ? cr_in[1] : cr_in[0];
+  assign _1282_ = _0422_[0] ? cr_in[5] : cr_in[4];
+  assign _1283_ = _0422_[0] ? cr_in[9] : cr_in[8];
+  assign _1284_ = _0422_[0] ? cr_in[13] : cr_in[12];
+  assign _1285_ = _0422_[0] ? cr_in[17] : cr_in[16];
+  assign _1286_ = _0422_[0] ? cr_in[21] : cr_in[20];
+  assign _1287_ = _0422_[0] ? cr_in[25] : cr_in[24];
+  assign _1288_ = _0422_[0] ? cr_in[29] : cr_in[28];
+  assign _1289_ = _0422_[2] ? _1203_ : _1202_;
+  assign _1290_ = _0422_[2] ? _1207_ : _1206_;
+  assign _1291_ = _0423_[0] ? cr_in[1] : cr_in[0];
+  assign _1292_ = _0423_[0] ? cr_in[5] : cr_in[4];
+  assign _1293_ = _0423_[0] ? cr_in[9] : cr_in[8];
+  assign _1294_ = _0423_[0] ? cr_in[13] : cr_in[12];
+  assign _1295_ = _0423_[0] ? cr_in[17] : cr_in[16];
+  assign _1296_ = _0423_[0] ? cr_in[21] : cr_in[20];
+  assign _1297_ = _0423_[0] ? cr_in[25] : cr_in[24];
+  assign _1298_ = _0423_[0] ? cr_in[29] : cr_in[28];
+  assign _1299_ = _0423_[2] ? _1214_ : _1213_;
+  assign _1300_ = _0423_[2] ? _1218_ : _1217_;
+  assign _1301_ = _0424_[0] ? e_in[341] : e_in[340];
+  assign _1302_ = _0424_[0] ? e_in[345] : e_in[344];
+  assign _1303_ = _0737_[0] ? cr_in[1] : cr_in[0];
+  assign _1304_ = _0737_[0] ? cr_in[5] : cr_in[4];
+  assign _1305_ = _0737_[0] ? cr_in[9] : cr_in[8];
+  assign _1306_ = _0737_[0] ? cr_in[13] : cr_in[12];
+  assign _1307_ = _0737_[0] ? cr_in[17] : cr_in[16];
+  assign _1308_ = _0737_[0] ? cr_in[21] : cr_in[20];
+  assign _1309_ = _0737_[0] ? cr_in[25] : cr_in[24];
+  assign _1310_ = _0737_[0] ? cr_in[29] : cr_in[28];
+  assign _1311_ = _0737_[2] ? _1230_ : _1229_;
+  assign _1312_ = _0737_[2] ? _1234_ : _1233_;
+  assign _1313_ = _0738_[0] ? cr_in[1] : cr_in[0];
+  assign _1314_ = _0738_[0] ? cr_in[5] : cr_in[4];
+  assign _1315_ = _0738_[0] ? cr_in[9] : cr_in[8];
+  assign _1316_ = _0738_[0] ? cr_in[13] : cr_in[12];
+  assign _1317_ = _0738_[0] ? cr_in[17] : cr_in[16];
+  assign _1318_ = _0738_[0] ? cr_in[21] : cr_in[20];
+  assign _1319_ = _0738_[0] ? cr_in[25] : cr_in[24];
+  assign _1320_ = _0738_[0] ? cr_in[29] : cr_in[28];
+  assign _1321_ = _0738_[2] ? _1241_ : _1240_;
+  assign _1322_ = _0738_[2] ? _1245_ : _1244_;
+  assign _1323_ = _0355_[0] ? cr_in[3] : cr_in[2];
+  assign _1324_ = _0355_[0] ? cr_in[7] : cr_in[6];
+  assign _1325_ = _0355_[0] ? cr_in[11] : cr_in[10];
+  assign _1326_ = _0355_[0] ? cr_in[15] : cr_in[14];
+  assign _1327_ = _0355_[0] ? cr_in[19] : cr_in[18];
+  assign _1328_ = _0355_[0] ? cr_in[23] : cr_in[22];
+  assign _1329_ = _0355_[0] ? cr_in[27] : cr_in[26];
+  assign _1330_ = _0355_[0] ? cr_in[31] : cr_in[30];
+  assign _1331_ = _0355_[2] ? _1172_ : _1171_;
+  assign _1332_ = _0355_[2] ? _1176_ : _1175_;
+  assign _1333_ = _0373_[0] ? cr_in[3] : cr_in[2];
+  assign _1334_ = _0373_[0] ? cr_in[7] : cr_in[6];
+  assign _1335_ = _0373_[0] ? cr_in[11] : cr_in[10];
+  assign _1336_ = _0373_[0] ? cr_in[15] : cr_in[14];
+  assign _1337_ = _0373_[0] ? cr_in[19] : cr_in[18];
+  assign _1338_ = _0373_[0] ? cr_in[23] : cr_in[22];
+  assign _1339_ = _0373_[0] ? cr_in[27] : cr_in[26];
+  assign _1340_ = _0373_[0] ? cr_in[31] : cr_in[30];
+  assign _1341_ = _0373_[2] ? _1183_ : _1182_;
+  assign _1342_ = _0373_[2] ? _1187_ : _1186_;
+  assign _1343_ = _0392_[0] ? cr_in[3] : cr_in[2];
+  assign _1344_ = _0392_[0] ? cr_in[7] : cr_in[6];
+  assign _1345_ = _0392_[0] ? cr_in[11] : cr_in[10];
+  assign _1346_ = _0392_[0] ? cr_in[15] : cr_in[14];
+  assign _1347_ = _0392_[0] ? cr_in[19] : cr_in[18];
+  assign _1348_ = _0392_[0] ? cr_in[23] : cr_in[22];
+  assign _1349_ = _0392_[0] ? cr_in[27] : cr_in[26];
+  assign _1350_ = _0392_[0] ? cr_in[31] : cr_in[30];
+  assign _1351_ = _0392_[2] ? _1194_ : _1193_;
+  assign _1352_ = _0392_[2] ? _1198_ : _1197_;
+  assign _1353_ = _0422_[0] ? cr_in[3] : cr_in[2];
+  assign _1354_ = _0422_[0] ? cr_in[7] : cr_in[6];
+  assign _1355_ = _0422_[0] ? cr_in[11] : cr_in[10];
+  assign _1356_ = _0422_[0] ? cr_in[15] : cr_in[14];
+  assign _1357_ = _0422_[0] ? cr_in[19] : cr_in[18];
+  assign _1358_ = _0422_[0] ? cr_in[23] : cr_in[22];
+  assign _1359_ = _0422_[0] ? cr_in[27] : cr_in[26];
+  assign _1360_ = _0422_[0] ? cr_in[31] : cr_in[30];
+  assign _1361_ = _0422_[2] ? _1205_ : _1204_;
+  assign _1362_ = _0422_[2] ? _1209_ : _1208_;
+  assign _1363_ = _0423_[0] ? cr_in[3] : cr_in[2];
+  assign _1364_ = _0423_[0] ? cr_in[7] : cr_in[6];
+  assign _1365_ = _0423_[0] ? cr_in[11] : cr_in[10];
+  assign _1366_ = _0423_[0] ? cr_in[15] : cr_in[14];
+  assign _1367_ = _0423_[0] ? cr_in[19] : cr_in[18];
+  assign _1368_ = _0423_[0] ? cr_in[23] : cr_in[22];
+  assign _1369_ = _0423_[0] ? cr_in[27] : cr_in[26];
+  assign _1370_ = _0423_[0] ? cr_in[31] : cr_in[30];
+  assign _1371_ = _0423_[2] ? _1216_ : _1215_;
+  assign _1372_ = _0423_[2] ? _1220_ : _1219_;
+  assign _1373_ = _0424_[0] ? e_in[343] : e_in[342];
+  assign _1374_ = _0424_[0] ? e_in[347] : e_in[346];
+  assign _1375_ = _0737_[0] ? cr_in[3] : cr_in[2];
+  assign _1376_ = _0737_[0] ? cr_in[7] : cr_in[6];
+  assign _1377_ = _0737_[0] ? cr_in[11] : cr_in[10];
+  assign _1378_ = _0737_[0] ? cr_in[15] : cr_in[14];
+  assign _1379_ = _0737_[0] ? cr_in[19] : cr_in[18];
+  assign _1380_ = _0737_[0] ? cr_in[23] : cr_in[22];
+  assign _1381_ = _0737_[0] ? cr_in[27] : cr_in[26];
+  assign _1382_ = _0737_[0] ? cr_in[31] : cr_in[30];
+  assign _1383_ = _0737_[2] ? _1232_ : _1231_;
+  assign _1384_ = _0737_[2] ? _1236_ : _1235_;
+  assign _1385_ = _0738_[0] ? cr_in[3] : cr_in[2];
+  assign _1386_ = _0738_[0] ? cr_in[7] : cr_in[6];
+  assign _1387_ = _0738_[0] ? cr_in[11] : cr_in[10];
+  assign _1388_ = _0738_[0] ? cr_in[15] : cr_in[14];
+  assign _1389_ = _0738_[0] ? cr_in[19] : cr_in[18];
+  assign _1390_ = _0738_[0] ? cr_in[23] : cr_in[22];
+  assign _1391_ = _0738_[0] ? cr_in[27] : cr_in[26];
+  assign _1392_ = _0738_[0] ? cr_in[31] : cr_in[30];
+  assign _1393_ = _0738_[2] ? _1243_ : _1242_;
+  assign _1394_ = _0738_[2] ? _1247_ : _1246_;
+  assign _1169_ = _0355_[1] ? _1323_ : _1251_;
+  assign _1170_ = _0355_[1] ? _1324_ : _1252_;
+  assign _1171_ = _0355_[1] ? _1325_ : _1253_;
+  assign _1172_ = _0355_[1] ? _1326_ : _1254_;
+  assign _1173_ = _0355_[1] ? _1327_ : _1255_;
+  assign _1174_ = _0355_[1] ? _1328_ : _1256_;
+  assign _1175_ = _0355_[1] ? _1329_ : _1257_;
+  assign _1176_ = _0355_[1] ? _1330_ : _1258_;
+  assign _1177_ = _0355_[3] ? _1331_ : _1259_;
+  assign _1178_ = _0355_[3] ? _1332_ : _1260_;
+  assign _1180_ = _0373_[1] ? _1333_ : _1261_;
+  assign _1181_ = _0373_[1] ? _1334_ : _1262_;
+  assign _1182_ = _0373_[1] ? _1335_ : _1263_;
+  assign _1183_ = _0373_[1] ? _1336_ : _1264_;
+  assign _1184_ = _0373_[1] ? _1337_ : _1265_;
+  assign _1185_ = _0373_[1] ? _1338_ : _1266_;
+  assign _1186_ = _0373_[1] ? _1339_ : _1267_;
+  assign _1187_ = _0373_[1] ? _1340_ : _1268_;
+  assign _1188_ = _0373_[3] ? _1341_ : _1269_;
+  assign _1189_ = _0373_[3] ? _1342_ : _1270_;
+  assign _1191_ = _0392_[1] ? _1343_ : _1271_;
+  assign _1192_ = _0392_[1] ? _1344_ : _1272_;
+  assign _1193_ = _0392_[1] ? _1345_ : _1273_;
+  assign _1194_ = _0392_[1] ? _1346_ : _1274_;
+  assign _1195_ = _0392_[1] ? _1347_ : _1275_;
+  assign _1196_ = _0392_[1] ? _1348_ : _1276_;
+  assign _1197_ = _0392_[1] ? _1349_ : _1277_;
+  assign _1198_ = _0392_[1] ? _1350_ : _1278_;
+  assign _1199_ = _0392_[3] ? _1351_ : _1279_;
+  assign _1200_ = _0392_[3] ? _1352_ : _1280_;
+  assign _1202_ = _0422_[1] ? _1353_ : _1281_;
+  assign _1203_ = _0422_[1] ? _1354_ : _1282_;
+  assign _1204_ = _0422_[1] ? _1355_ : _1283_;
+  assign _1205_ = _0422_[1] ? _1356_ : _1284_;
+  assign _1206_ = _0422_[1] ? _1357_ : _1285_;
+  assign _1207_ = _0422_[1] ? _1358_ : _1286_;
+  assign _1208_ = _0422_[1] ? _1359_ : _1287_;
+  assign _1209_ = _0422_[1] ? _1360_ : _1288_;
+  assign _1210_ = _0422_[3] ? _1361_ : _1289_;
+  assign _1211_ = _0422_[3] ? _1362_ : _1290_;
+  assign _1213_ = _0423_[1] ? _1363_ : _1291_;
+  assign _1214_ = _0423_[1] ? _1364_ : _1292_;
+  assign _1215_ = _0423_[1] ? _1365_ : _1293_;
+  assign _1216_ = _0423_[1] ? _1366_ : _1294_;
+  assign _1217_ = _0423_[1] ? _1367_ : _1295_;
+  assign _1218_ = _0423_[1] ? _1368_ : _1296_;
+  assign _1219_ = _0423_[1] ? _1369_ : _1297_;
+  assign _1220_ = _0423_[1] ? _1370_ : _1298_;
+  assign _1221_ = _0423_[3] ? _1371_ : _1299_;
+  assign _1222_ = _0423_[3] ? _1372_ : _1300_;
+  assign _1224_ = _0424_[1] ? _1373_ : _1301_;
+  assign _1225_ = _0424_[1] ? _1374_ : _1302_;
+  assign _1229_ = _0737_[1] ? _1375_ : _1303_;
+  assign _1230_ = _0737_[1] ? _1376_ : _1304_;
+  assign _1231_ = _0737_[1] ? _1377_ : _1305_;
+  assign _1232_ = _0737_[1] ? _1378_ : _1306_;
+  assign _1233_ = _0737_[1] ? _1379_ : _1307_;
+  assign _1234_ = _0737_[1] ? _1380_ : _1308_;
+  assign _1235_ = _0737_[1] ? _1381_ : _1309_;
+  assign _1236_ = _0737_[1] ? _1382_ : _1310_;
+  assign _1237_ = _0737_[3] ? _1383_ : _1311_;
+  assign _1238_ = _0737_[3] ? _1384_ : _1312_;
+  assign _1240_ = _0738_[1] ? _1385_ : _1313_;
+  assign _1241_ = _0738_[1] ? _1386_ : _1314_;
+  assign _1242_ = _0738_[1] ? _1387_ : _1315_;
+  assign _1243_ = _0738_[1] ? _1388_ : _1316_;
+  assign _1244_ = _0738_[1] ? _1389_ : _1317_;
+  assign _1245_ = _0738_[1] ? _1390_ : _1318_;
+  assign _1246_ = _0738_[1] ? _1391_ : _1319_;
+  assign _1247_ = _0738_[1] ? _1392_ : _1320_;
+  assign _1248_ = _0738_[3] ? _1393_ : _1321_;
+  assign _1249_ = _0738_[3] ? _1394_ : _1322_;
+  assign _0012_ = r[116] ? r[121:117] : e_in[326:322];
+  assign _0013_ = 1'h1 & e_in[321];
+  assign _0014_ = _0013_ & r[75];
+  assign _0015_ = r[76] ? r[87:84] : e_in[292:289];
+  assign _0016_ = r[77] ? r[91:88] : e_in[296:293];
+  assign _0017_ = r[78] ? r[95:92] : e_in[300:297];
+  assign _0018_ = r[79] ? r[99:96] : e_in[304:301];
+  assign _0019_ = r[80] ? r[103:100] : e_in[308:305];
+  assign _0020_ = r[81] ? r[107:104] : e_in[312:309];
+  assign _0021_ = r[82] ? r[111:108] : e_in[316:313];
+  assign _0022_ = r[83] ? r[115:112] : e_in[320:317];
+  assign cr_in = _0014_ ? { _0022_, _0021_, _0020_, _0019_, _0018_, _0017_, _0016_, _0015_ } : e_in[320:289];
+  assign _0023_ = ~ e_in[330];
+  assign _0024_ = ~ a_in;
+  assign _0025_ = _0023_ ? a_in : _0024_;
+  assign _0026_ = e_in[333:332] == 2'h0;
+  assign _0027_ = e_in[333:332] == 2'h1;
+  assign _0028_ = e_in[333:332] == 2'h2;
+  assign _0029_ = e_in[333:332] == 2'h3;
+  function [0:0] \10097 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \10097  = b[0:0];
+      4'b??1?:
+        \10097  = b[1:1];
+      4'b?1??:
+        \10097  = b[2:2];
+      4'b1???:
+        \10097  = b[3:3];
+      default:
+        \10097  = a;
+    endcase
+  endfunction
+  assign _0030_ = \10097 (1'hx, { 1'h1, _0012_[2], _0012_[0], 1'h0 }, { _0029_, _0028_, _0027_, _0026_ });
+  assign _0031_ = { 1'h0, _0025_ } + { 1'h0, b_in };
+  assign _0032_ = _0031_ + { 64'h0000000000000000, _0030_ };
+  assign _0033_ = e_in[337] ? a_in[31] : a_in[63];
+  assign _0034_ = e_in[337] ? b_in[31] : b_in[63];
+  assign _0035_ = e_in[338] ? _0033_ : 1'h0;
+  assign _0036_ = e_in[338] ? _0034_ : 1'h0;
+  assign _0037_ = ~ _0035_;
+  assign _0038_ = - $signed(a_in);
+  assign _0039_ = _0037_ ? a_in : _0038_;
+  assign _0040_ = ~ _0036_;
+  assign _0041_ = - $signed(b_in);
+  assign _0042_ = _0040_ ? b_in : _0041_;
+  assign _0043_ = e_in[8:3] == 6'h27;
+  assign _0044_ = _0043_ ? 1'h1 : 1'h0;
+  assign _0045_ = ~ e_in[365];
+  assign _0046_ = e_in[338] ? { c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63], c_in[63] } : 64'h0000000000000000;
+  assign _0047_ = _0045_ ? { _0046_, c_in } : 128'h00000000000000000000000000000000;
+  assign _0048_ = _0035_ ^ _0036_;
+  assign _0049_ = ~ _0047_;
+  assign _0050_ = _0048_ ? _0049_ : _0047_;
+  assign _0051_ = _0035_ ^ _0036_;
+  assign _0052_ = ~ _0044_;
+  assign _0053_ = _0036_ & _0052_;
+  assign _0054_ = _0035_ ^ _0053_;
+  assign _0055_ = ~ e_in[337];
+  assign _0056_ = e_in[8:3] == 6'h16;
+  assign _0057_ = _0056_ ? 1'h1 : 1'h0;
+  assign _0058_ = e_in[8:3] == 6'h16;
+  assign _0059_ = _0058_ ? { _0039_[31:0], 32'h00000000 } : { 32'h00000000, _0039_[31:0] };
+  assign _0060_ = _0055_ ? { _0042_, _0039_ } : { 32'h00000000, _0042_[31:0], 32'h00000000, _0039_[31:0] };
+  assign _0061_ = _0055_ ? { _0042_, _0039_ } : { 32'h00000000, _0042_[31:0], _0059_ };
+  assign _0062_ = _0055_ ? _0057_ : 1'h0;
+  assign _0063_ = ctrl[63:0] + 64'h0000000000000001;
+  assign _0064_ = ctrl[127:64] - 64'h0000000000000001;
+  assign _0065_ = ext_irq_in ? 64'h0000000000000500 : r[262:199];
+  assign _0066_ = ext_irq_in ? 1'h1 : 1'h0;
+  assign _0067_ = ctrl[127] ? 64'h0000000000000900 : _0065_;
+  assign _0068_ = ctrl[127] ? 1'h1 : _0066_;
+  assign _0069_ = ctrl[143] ? _0067_ : r[262:199];
+  assign _0070_ = ctrl[143] ? _0068_ : 1'h0;
+  assign _0071_ = ~ ctrl[142];
+  assign _0072_ = ~ ctrl[128];
+  assign _0073_ = ~ ctrl[191];
+  assign _0074_ = e_in[72:9] + 64'h0000000000000004;
+  assign _0075_ = e_in[8:3] == 6'h38;
+  assign right_shift = _0075_ ? 1'h1 : 1'h0;
+  assign _0076_ = e_in[8:3] == 6'h32;
+  assign _0077_ = e_in[8:3] == 6'h33;
+  assign _0078_ = _0076_ | _0077_;
+  assign rot_clear_left = _0078_ ? 1'h1 : 1'h0;
+  assign _0079_ = e_in[8:3] == 6'h32;
+  assign _0080_ = e_in[8:3] == 6'h34;
+  assign _0081_ = _0079_ | _0080_;
+  assign rot_clear_right = _0081_ ? 1'h1 : 1'h0;
+  assign _0082_ = e_in[8:3] == 6'h18;
+  assign rot_sign_ext = _0082_ ? 1'h1 : 1'h0;
+  assign _0083_ = valid_in ? e_in[72:9] : r[423:360];
+  assign _0084_ = valid_in ? e_in[72:9] : r[423:360];
+  assign _0085_ = ~ ctrl[191];
+  assign _0086_ = valid_in & ctrl[138];
+  assign _0087_ = valid_in ? e_in[8:3] : r[272:267];
+  assign _0088_ = ctrl[256] == 1'h1;
+  assign _0089_ = 1'h0 | r[266];
+  assign _0090_ = valid_in & _0089_;
+  assign _0091_ = r[272:267] == 6'h1f;
+  assign _0092_ = r[272:267] == 6'h1b;
+  assign _0093_ = _0091_ | _0092_;
+  assign _0094_ = r[272:267] == 6'h1c;
+  assign _0095_ = _0093_ | _0094_;
+  assign _0096_ = r[272:267] == 6'h12;
+  assign _0097_ = _0095_ | _0096_;
+  assign _0098_ = r[272:267] == 6'h11;
+  assign _0099_ = _0097_ | _0098_;
+  assign _0100_ = r[272:267] == 6'h10;
+  assign _0101_ = _0099_ | _0100_;
+  assign _0102_ = r[272:267] == 6'h20;
+  assign _0103_ = r[272:267] == 6'h14;
+  assign _0104_ = _0102_ | _0103_;
+  assign _0105_ = r[272:267] == 6'h13;
+  assign _0106_ = _0104_ | _0105_;
+  assign _0107_ = _0106_ ? 1'h1 : 1'h0;
+  assign _0108_ = _0101_ ? 1'h0 : _0107_;
+  assign _0109_ = _0101_ ? 1'h1 : 1'h0;
+  assign _0110_ = _0070_ & valid_in;
+  assign _0111_ = valid_in & ctrl[142];
+  assign _0112_ = 6'h3f - e_in[8:3];
+  assign _0113_ = _1168_ == 1'h1;
+  assign _0114_ = e_in[8:3] == 6'h26;
+  assign _0115_ = e_in[8:3] == 6'h2a;
+  assign _0116_ = _0114_ | _0115_;
+  assign _0117_ = _0116_ ? e_in[359] : 1'h0;
+  assign _0118_ = _0113_ ? 1'h1 : _0117_;
+  assign _0119_ = _0111_ & _0118_;
+  assign _0120_ = 1'h1 & valid_in;
+  assign _0121_ = e_in[8:3] == 6'h21;
+  assign _0122_ = e_in[8:3] == 6'h22;
+  assign _0123_ = _0121_ | _0122_;
+  assign _0124_ = _0120_ & _0123_;
+  assign _0125_ = e_in[2:1] == 2'h1;
+  assign _0126_ = valid_in & _0125_;
+  assign _0127_ = e_in[8:3] == 6'h00;
+  assign _0128_ = e_in[340] ? 64'h0000000000000c00 : _0069_;
+  assign _0129_ = e_in[340] ? 1'h1 : 1'h0;
+  assign _0130_ = e_in[340] ? 1'h1 : 1'h0;
+  assign _0131_ = e_in[340] ? 1'h0 : 1'h1;
+  assign _0132_ = e_in[8:3] == 6'h35;
+  assign _0133_ = e_in[349:340] == 10'h100;
+  assign _0134_ = _0133_ ? 1'h1 : 1'h0;
+  assign _0135_ = _0133_ ? 1'h0 : 1'h1;
+  assign _0136_ = e_in[8:3] == 6'h04;
+  assign _0137_ = e_in[8:3] == 6'h01;
+  assign _0138_ = e_in[8:3] == 6'h10;
+  assign _0139_ = _0137_ | _0138_;
+  assign _0140_ = e_in[8:3] == 6'h11;
+  assign _0141_ = _0139_ | _0140_;
+  assign _0142_ = e_in[8:3] == 6'h12;
+  assign _0143_ = _0141_ | _0142_;
+  assign _0144_ = e_in[8:3] == 6'h13;
+  assign _0145_ = _0143_ | _0144_;
+  assign _0146_ = e_in[8:3] == 6'h1c;
+  assign _0147_ = _0145_ | _0146_;
+  assign _0148_ = _0032_[32] ^ _0025_[32];
+  assign _0149_ = _0148_ ^ b_in[32];
+  assign _0150_ = e_in[8:3] == 6'h02;
+  assign _0151_ = e_in[333:332] != 2'h2;
+  assign _0152_ = _0151_ ? { 105'h000000000000000000000000000, e_in[79:73], 1'h0, _0085_, 2'h1 } : { 105'h000000000000000000000000000, e_in[79:73], 1'h0, _0085_, 2'h1 };
+  assign _0153_ = _0151_ ? 1'h1 : 1'h1;
+  assign _0154_ = r[116] ? r[118:117] : e_in[323:322];
+  assign _0155_ = _0151_ ? { _0149_, _0032_[64] } : _0154_;
+  assign _0156_ = _0151_ ? _0012_[3:2] : { _0149_, _0032_[64] };
+  assign _0157_ = r[116] ? r[121] : e_in[326];
+  assign _0158_ = _0151_ ? { _0083_, 8'h44, _0012_[4] } : { _0083_, 8'h44, _0157_ };
+  assign _0159_ = e_in[334] ? { _0158_, _0156_, _0155_, _0153_, _0152_ } : { _0083_, 8'h44, _0012_, 106'h000000000000000000000000000, e_in[79:73], 1'h0, _0085_, 2'h1 };
+  assign _0160_ = _0032_[64] ^ _0032_[63];
+  assign _0161_ = _0025_[63] ^ b_in[63];
+  assign _0162_ = ~ _0161_;
+  assign _0163_ = _0160_ & _0162_;
+  assign _0164_ = _0149_ ^ _0032_[31];
+  assign _0165_ = _0025_[31] ^ b_in[31];
+  assign _0166_ = ~ _0165_;
+  assign _0167_ = _0164_ & _0166_;
+  assign _0168_ = _0163_ ? 1'h1 : _0159_[121];
+  assign _0169_ = e_in[329] ? { _0159_[193:122], _0168_, _0167_, _0163_, _0159_[118:117], 1'h1, _0159_[115:0] } : _0159_;
+  assign _0170_ = e_in[8:3] == 6'h09;
+  assign _0171_ = ~ e_in[337];
+  assign _0172_ = _0170_ ? e_in[360] : _0171_;
+  assign _0173_ = a_in[31:0] ^ b_in[31:0];
+  assign _0174_ = | _0173_;
+  assign _0175_ = ~ _0174_;
+  assign _0176_ = a_in[63:32] ^ b_in[63:32];
+  assign _0177_ = | _0176_;
+  assign _0178_ = ~ _0177_;
+  assign _0179_ = ~ _0172_;
+  assign _0180_ = _0179_ | _0178_;
+  assign _0181_ = _0175_ & _0180_;
+  assign _0182_ = _0172_ ? a_in[63] : a_in[31];
+  assign _0183_ = _0172_ ? b_in[63] : b_in[31];
+  assign _0184_ = _0182_ != _0183_;
+  assign _0185_ = ~ _0172_;
+  assign _0186_ = _0185_ & _0149_;
+  assign _0187_ = _0172_ & _0032_[64];
+  assign _0188_ = _0186_ | _0187_;
+  assign _0189_ = ~ _0188_;
+  assign _0190_ = ~ _0188_;
+  assign _0191_ = _0184_ ? { _0182_, _0183_, 1'h0, _0183_, _0182_ } : { _0188_, _0189_, 1'h0, _0188_, _0190_ };
+  assign _0192_ = _0181_ ? 5'h04 : _0191_;
+  assign _0193_ = e_in[8:3] == 6'h09;
+  assign _0194_ = e_in[338] ? { _0192_[4:2], _0012_[4] } : { _0192_[1:0], _0192_[2], _0012_[4] };
+  assign _0195_ = e_in[364:362] == 3'h0;
+  assign _0196_ = e_in[364:362] == 3'h1;
+  assign _0197_ = e_in[364:362] == 3'h2;
+  assign _0198_ = e_in[364:362] == 3'h3;
+  assign _0199_ = e_in[364:362] == 3'h4;
+  assign _0200_ = e_in[364:362] == 3'h5;
+  assign _0201_ = e_in[364:362] == 3'h6;
+  assign _0202_ = e_in[364:362] == 3'h7;
+  function [7:0] \10795 ;
+    input [7:0] a;
+    input [63:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \10795  = b[7:0];
+      8'b??????1?:
+        \10795  = b[15:8];
+      8'b?????1??:
+        \10795  = b[23:16];
+      8'b????1???:
+        \10795  = b[31:24];
+      8'b???1????:
+        \10795  = b[39:32];
+      8'b??1?????:
+        \10795  = b[47:40];
+      8'b?1??????:
+        \10795  = b[55:48];
+      8'b1???????:
+        \10795  = b[63:56];
+      default:
+        \10795  = a;
+    endcase
+  endfunction
+  assign _0203_ = \10795 (8'h00, 64'h0102040810204080, { _0202_, _0201_, _0200_, _0199_, _0198_, _0197_, _0196_, _0195_ });
+  assign _0204_ = _0192_ & e_in[364:360];
+  assign _0205_ = | _0204_;
+  assign _0206_ = _0205_ ? 1'h1 : 1'h0;
+  assign _0207_ = _0193_ ? 1'h0 : 1'h1;
+  assign _0208_ = _0193_ ? { _0194_, _0194_, _0194_, _0194_, _0194_, _0194_, _0194_, _0194_, _0203_, 1'h1 } : 41'h00000000000;
+  assign _0209_ = _0193_ ? _0069_ : 64'h0000000000000700;
+  assign _0210_ = _0193_ ? 1'h0 : _0206_;
+  assign _0211_ = _0150_ ? 1'h0 : _0207_;
+  assign _0212_ = _0150_ ? _0169_[74:0] : { 64'h0000000000000000, e_in[79:73], 1'h0, _0085_, 2'h1 };
+  assign _0213_ = _0150_ ? _0169_[115:75] : _0208_;
+  assign _0214_ = _0150_ ? _0169_[193:116] : { _0083_, 8'h44, _0012_, 1'h0 };
+  assign _0215_ = _0150_ ? _0069_ : _0209_;
+  assign _0216_ = _0150_ ? 1'h1 : 1'h0;
+  assign _0217_ = _0150_ ? 1'h0 : _0210_;
+  assign _0218_ = e_in[8:3] == 6'h02;
+  assign _0219_ = e_in[8:3] == 6'h09;
+  assign _0220_ = _0218_ | _0219_;
+  assign _0221_ = e_in[8:3] == 6'h3b;
+  assign _0222_ = _0220_ | _0221_;
+  assign _0223_ = a_in[4] ^ b_in[4];
+  assign _0224_ = _0223_ ^ _0032_[4];
+  assign _0225_ = ~ _0224_;
+  assign _0226_ = _0225_ ? 4'h6 : 4'h0;
+  assign _0227_ = a_in[8] ^ b_in[8];
+  assign _0228_ = _0227_ ^ _0032_[8];
+  assign _0229_ = ~ _0228_;
+  assign _0230_ = _0229_ ? 4'h6 : 4'h0;
+  assign _0231_ = a_in[12] ^ b_in[12];
+  assign _0232_ = _0231_ ^ _0032_[12];
+  assign _0233_ = ~ _0232_;
+  assign _0234_ = _0233_ ? 4'h6 : 4'h0;
+  assign _0235_ = a_in[16] ^ b_in[16];
+  assign _0236_ = _0235_ ^ _0032_[16];
+  assign _0237_ = ~ _0236_;
+  assign _0238_ = _0237_ ? 4'h6 : 4'h0;
+  assign _0239_ = a_in[20] ^ b_in[20];
+  assign _0240_ = _0239_ ^ _0032_[20];
+  assign _0241_ = ~ _0240_;
+  assign _0242_ = _0241_ ? 4'h6 : 4'h0;
+  assign _0243_ = a_in[24] ^ b_in[24];
+  assign _0244_ = _0243_ ^ _0032_[24];
+  assign _0245_ = ~ _0244_;
+  assign _0246_ = _0245_ ? 4'h6 : 4'h0;
+  assign _0247_ = a_in[28] ^ b_in[28];
+  assign _0248_ = _0247_ ^ _0032_[28];
+  assign _0249_ = ~ _0248_;
+  assign _0250_ = _0249_ ? 4'h6 : 4'h0;
+  assign _0251_ = a_in[32] ^ b_in[32];
+  assign _0252_ = _0251_ ^ _0032_[32];
+  assign _0253_ = ~ _0252_;
+  assign _0254_ = _0253_ ? 4'h6 : 4'h0;
+  assign _0255_ = a_in[36] ^ b_in[36];
+  assign _0256_ = _0255_ ^ _0032_[36];
+  assign _0257_ = ~ _0256_;
+  assign _0258_ = _0257_ ? 4'h6 : 4'h0;
+  assign _0259_ = a_in[40] ^ b_in[40];
+  assign _0260_ = _0259_ ^ _0032_[40];
+  assign _0261_ = ~ _0260_;
+  assign _0262_ = _0261_ ? 4'h6 : 4'h0;
+  assign _0263_ = a_in[44] ^ b_in[44];
+  assign _0264_ = _0263_ ^ _0032_[44];
+  assign _0265_ = ~ _0264_;
+  assign _0266_ = _0265_ ? 4'h6 : 4'h0;
+  assign _0267_ = a_in[48] ^ b_in[48];
+  assign _0268_ = _0267_ ^ _0032_[48];
+  assign _0269_ = ~ _0268_;
+  assign _0270_ = _0269_ ? 4'h6 : 4'h0;
+  assign _0271_ = a_in[52] ^ b_in[52];
+  assign _0272_ = _0271_ ^ _0032_[52];
+  assign _0273_ = ~ _0272_;
+  assign _0274_ = _0273_ ? 4'h6 : 4'h0;
+  assign _0275_ = a_in[56] ^ b_in[56];
+  assign _0276_ = _0275_ ^ _0032_[56];
+  assign _0277_ = ~ _0276_;
+  assign _0278_ = _0277_ ? 4'h6 : 4'h0;
+  assign _0279_ = a_in[60] ^ b_in[60];
+  assign _0280_ = _0279_ ^ _0032_[60];
+  assign _0281_ = ~ _0280_;
+  assign _0282_ = _0281_ ? 4'h6 : 4'h0;
+  assign _0283_ = ~ _0032_[64];
+  assign _0284_ = _0283_ ? 4'h6 : 4'h0;
+  assign _0285_ = e_in[8:3] == 6'h3e;
+  assign _0286_ = a_in[7:0] >= b_in[7:0];
+  assign _0287_ = a_in[7:0] <= b_in[15:8];
+  assign _0288_ = _0286_ & _0287_;
+  assign _0289_ = a_in[7:0] >= b_in[23:16];
+  assign _0290_ = e_in[360] & _0289_;
+  assign _0291_ = a_in[7:0] <= b_in[31:24];
+  assign _0292_ = _0290_ & _0291_;
+  assign _0293_ = _0292_ ? 1'h1 : 1'h0;
+  assign _0294_ = _0288_ ? 1'h1 : _0293_;
+  assign _0295_ = e_in[364:362] == 3'h0;
+  assign _0296_ = e_in[364:362] == 3'h1;
+  assign _0297_ = e_in[364:362] == 3'h2;
+  assign _0298_ = e_in[364:362] == 3'h3;
+  assign _0299_ = e_in[364:362] == 3'h4;
+  assign _0300_ = e_in[364:362] == 3'h5;
+  assign _0301_ = e_in[364:362] == 3'h6;
+  assign _0302_ = e_in[364:362] == 3'h7;
+  function [7:0] \11101 ;
+    input [7:0] a;
+    input [63:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \11101  = b[7:0];
+      8'b??????1?:
+        \11101  = b[15:8];
+      8'b?????1??:
+        \11101  = b[23:16];
+      8'b????1???:
+        \11101  = b[31:24];
+      8'b???1????:
+        \11101  = b[39:32];
+      8'b??1?????:
+        \11101  = b[47:40];
+      8'b?1??????:
+        \11101  = b[55:48];
+      8'b1???????:
+        \11101  = b[63:56];
+      default:
+        \11101  = a;
+    endcase
+  endfunction
+  assign _0303_ = \11101 (8'h00, 64'h0102040810204080, { _0302_, _0301_, _0300_, _0299_, _0298_, _0297_, _0296_, _0295_ });
+  assign _0304_ = e_in[8:3] == 6'h0c;
+  assign _0305_ = a_in[7:0] == b_in[7:0];
+  assign _0306_ = _0305_ ? 1'h1 : 1'h0;
+  assign _0307_ = a_in[7:0] == b_in[15:8];
+  assign _0308_ = _0307_ ? 1'h1 : _0306_;
+  assign _0309_ = a_in[7:0] == b_in[23:16];
+  assign _0310_ = _0309_ ? 1'h1 : _0308_;
+  assign _0311_ = a_in[7:0] == b_in[31:24];
+  assign _0312_ = _0311_ ? 1'h1 : _0310_;
+  assign _0313_ = a_in[7:0] == b_in[39:32];
+  assign _0314_ = _0313_ ? 1'h1 : _0312_;
+  assign _0315_ = a_in[7:0] == b_in[47:40];
+  assign _0316_ = _0315_ ? 1'h1 : _0314_;
+  assign _0317_ = a_in[7:0] == b_in[55:48];
+  assign _0318_ = _0317_ ? 1'h1 : _0316_;
+  assign _0319_ = a_in[7:0] == b_in[63:56];
+  assign _0320_ = _0319_ ? 1'h1 : _0318_;
+  assign _0321_ = e_in[364:362] == 3'h0;
+  assign _0322_ = e_in[364:362] == 3'h1;
+  assign _0323_ = e_in[364:362] == 3'h2;
+  assign _0324_ = e_in[364:362] == 3'h3;
+  assign _0325_ = e_in[364:362] == 3'h4;
+  assign _0326_ = e_in[364:362] == 3'h5;
+  assign _0327_ = e_in[364:362] == 3'h6;
+  assign _0328_ = e_in[364:362] == 3'h7;
+  function [7:0] \11204 ;
+    input [7:0] a;
+    input [63:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \11204  = b[7:0];
+      8'b??????1?:
+        \11204  = b[15:8];
+      8'b?????1??:
+        \11204  = b[23:16];
+      8'b????1???:
+        \11204  = b[31:24];
+      8'b???1????:
+        \11204  = b[39:32];
+      8'b??1?????:
+        \11204  = b[47:40];
+      8'b?1??????:
+        \11204  = b[55:48];
+      8'b1???????:
+        \11204  = b[63:56];
+      default:
+        \11204  = a;
+    endcase
+  endfunction
+  assign _0329_ = \11204 (8'h00, 64'h0102040810204080, { _0328_, _0327_, _0326_, _0325_, _0324_, _0323_, _0322_, _0321_ });
+  assign _0330_ = e_in[8:3] == 6'h0b;
+  assign _0331_ = e_in[8:3] == 6'h03;
+  assign _0332_ = e_in[8:3] == 6'h2e;
+  assign _0333_ = _0331_ | _0332_;
+  assign _0334_ = e_in[8:3] == 6'h3c;
+  assign _0335_ = _0333_ | _0334_;
+  assign _0336_ = e_in[8:3] == 6'h2f;
+  assign _0337_ = _0335_ | _0336_;
+  assign _0338_ = e_in[8:3] == 6'h30;
+  assign _0339_ = _0337_ | _0338_;
+  assign _0340_ = e_in[8:3] == 6'h0a;
+  assign _0341_ = _0339_ | _0340_;
+  assign _0342_ = e_in[8:3] == 6'h17;
+  assign _0343_ = _0341_ | _0342_;
+  assign _0344_ = e_in[8:3] == 6'h08;
+  assign _0345_ = _0343_ | _0344_;
+  assign _0346_ = e_in[8:3] == 6'h3d;
+  assign _0347_ = _0345_ | _0346_;
+  assign _0348_ = ctrl[137] ? 1'h1 : _0086_;
+  assign _0349_ = e_in[8:3] == 6'h05;
+  assign _0350_ = ~ e_in[362];
+  assign _0351_ = a_in - 64'h0000000000000001;
+  assign _0352_ = _0350_ ? 7'h21 : e_in[79:73];
+  assign _0353_ = _0350_ ? _0351_ : 64'h0000000000000000;
+  assign _0354_ = _0350_ ? 1'h1 : 1'h0;
+  assign _0355_ = 32'd31 - { 27'h0000000, e_in[359:355] };
+  assign _0356_ = _1179_ == e_in[363];
+  assign _0357_ = _0356_ ? 1'h1 : 1'h0;
+  assign _0358_ = a_in != 64'h0000000000000001;
+  assign _0359_ = _0358_ ? 1'h1 : 1'h0;
+  assign _0360_ = _0359_ ^ e_in[361];
+  assign _0361_ = e_in[362] | _0360_;
+  assign _0362_ = e_in[364] | _0357_;
+  assign _0363_ = _0361_ & _0362_;
+  assign _0364_ = ctrl[137] ? 1'h1 : _0086_;
+  assign _0365_ = e_in[8:3] == 6'h06;
+  assign _0366_ = ~ e_in[362];
+  assign _0367_ = ~ e_in[349];
+  assign _0368_ = _0366_ & _0367_;
+  assign _0369_ = a_in - 64'h0000000000000001;
+  assign _0370_ = _0368_ ? 7'h21 : e_in[79:73];
+  assign _0371_ = _0368_ ? _0369_ : 64'h0000000000000000;
+  assign _0372_ = _0368_ ? 1'h1 : 1'h0;
+  assign _0373_ = 32'd31 - { 27'h0000000, e_in[359:355] };
+  assign _0374_ = _1190_ == e_in[363];
+  assign _0375_ = _0374_ ? 1'h1 : 1'h0;
+  assign _0376_ = a_in != 64'h0000000000000001;
+  assign _0377_ = _0376_ ? 1'h1 : 1'h0;
+  assign _0378_ = _0377_ ^ e_in[361];
+  assign _0379_ = e_in[362] | _0378_;
+  assign _0380_ = e_in[364] | _0375_;
+  assign _0381_ = _0379_ & _0380_;
+  assign _0382_ = ctrl[137] ? 1'h1 : _0086_;
+  assign _0383_ = e_in[8:3] == 6'h07;
+  assign _0384_ = a_in[5] | a_in[14];
+  assign _0385_ = ~ a_in[14];
+  assign _0386_ = ~ a_in[0];
+  assign _0387_ = ~ a_in[63];
+  assign _0388_ = a_in[14] ? 2'h3 : a_in[5:4];
+  assign _0389_ = a_in[14] ? 1'h1 : a_in[15];
+  assign _0390_ = e_in[8:3] == 6'h31;
+  assign _0391_ = e_in[8:3] == 6'h0d;
+  assign _0392_ = 32'd31 - { 27'h0000000, e_in[349:345] };
+  assign _0393_ = _1201_ ? a_in : b_in;
+  assign _0394_ = e_in[8:3] == 6'h1d;
+  assign _0395_ = ~ e_in[340];
+  assign _0396_ = e_in[364:362] == 3'h0;
+  assign _0397_ = e_in[364:362] == 3'h1;
+  assign _0398_ = e_in[364:362] == 3'h2;
+  assign _0399_ = e_in[364:362] == 3'h3;
+  assign _0400_ = e_in[364:362] == 3'h4;
+  assign _0401_ = e_in[364:362] == 3'h5;
+  assign _0402_ = e_in[364:362] == 3'h6;
+  assign _0403_ = e_in[364:362] == 3'h7;
+  function [7:0] \11507 ;
+    input [7:0] a;
+    input [63:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \11507  = b[7:0];
+      8'b??????1?:
+        \11507  = b[15:8];
+      8'b?????1??:
+        \11507  = b[23:16];
+      8'b????1???:
+        \11507  = b[31:24];
+      8'b???1????:
+        \11507  = b[39:32];
+      8'b??1?????:
+        \11507  = b[47:40];
+      8'b?1??????:
+        \11507  = b[55:48];
+      8'b1???????:
+        \11507  = b[63:56];
+      default:
+        \11507  = a;
+    endcase
+  endfunction
+  assign _0404_ = \11507 (8'h00, 64'h0102040810204080, { _0403_, _0402_, _0401_, _0400_, _0399_, _0398_, _0397_, _0396_ });
+  assign _0405_ = 32'd0 == { 29'h00000000, e_in[359:357] };
+  assign _0406_ = _0405_ ? cr_in[31:28] : 4'h0;
+  assign _0407_ = 32'd1 == { 29'h00000000, e_in[359:357] };
+  assign _0408_ = _0407_ ? cr_in[27:24] : _0406_;
+  assign _0409_ = 32'd2 == { 29'h00000000, e_in[359:357] };
+  assign _0410_ = _0409_ ? cr_in[23:20] : _0408_;
+  assign _0411_ = 32'd3 == { 29'h00000000, e_in[359:357] };
+  assign _0412_ = _0411_ ? cr_in[19:16] : _0410_;
+  assign _0413_ = 32'd4 == { 29'h00000000, e_in[359:357] };
+  assign _0414_ = _0413_ ? cr_in[15:12] : _0412_;
+  assign _0415_ = 32'd5 == { 29'h00000000, e_in[359:357] };
+  assign _0416_ = _0415_ ? cr_in[11:8] : _0414_;
+  assign _0417_ = 32'd6 == { 29'h00000000, e_in[359:357] };
+  assign _0418_ = _0417_ ? cr_in[7:4] : _0416_;
+  assign _0419_ = 32'd7 == { 29'h00000000, e_in[359:357] };
+  assign _0420_ = _0419_ ? cr_in[3:0] : _0418_;
+  assign _0421_ = 32'd31 - { 27'h0000000, e_in[364:360] };
+  assign _0422_ = 32'd31 - { 27'h0000000, e_in[359:355] };
+  assign _0423_ = 32'd31 - { 27'h0000000, e_in[354:350] };
+  assign _0424_ = 32'd5 + { 30'h00000000, _1212_, _1223_ };
+  assign _0425_ = 32'd31 - { 27'h0000000, _0421_[4:0] };
+  assign _0426_ = $signed(_0425_) / $signed(32'd4);
+  assign _0427_ = _0426_[2:0] == 3'h0;
+  assign _0428_ = _0426_[2:0] == 3'h1;
+  assign _0429_ = _0426_[2:0] == 3'h2;
+  assign _0430_ = _0426_[2:0] == 3'h3;
+  assign _0431_ = _0426_[2:0] == 3'h4;
+  assign _0432_ = _0426_[2:0] == 3'h5;
+  assign _0433_ = _0426_[2:0] == 3'h6;
+  assign _0434_ = _0426_[2:0] == 3'h7;
+  function [7:0] \11635 ;
+    input [7:0] a;
+    input [63:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \11635  = b[7:0];
+      8'b??????1?:
+        \11635  = b[15:8];
+      8'b?????1??:
+        \11635  = b[23:16];
+      8'b????1???:
+        \11635  = b[31:24];
+      8'b???1????:
+        \11635  = b[39:32];
+      8'b??1?????:
+        \11635  = b[47:40];
+      8'b?1??????:
+        \11635  = b[55:48];
+      8'b1???????:
+        \11635  = b[63:56];
+      default:
+        \11635  = a;
+    endcase
+  endfunction
+  assign _0435_ = \11635 (8'h00, 64'h0102040810204080, { _0434_, _0433_, _0432_, _0431_, _0430_, _0429_, _0428_, _0427_ });
+  assign _0436_ = 32'd0 == { 27'h0000000, _0421_[4:0] };
+  assign _0437_ = _0436_ ? _1228_ : cr_in[0];
+  assign _0438_ = 32'd1 == { 27'h0000000, _0421_[4:0] };
+  assign _0439_ = _0438_ ? _1228_ : cr_in[1];
+  assign _0440_ = 32'd2 == { 27'h0000000, _0421_[4:0] };
+  assign _0441_ = _0440_ ? _1228_ : cr_in[2];
+  assign _0442_ = 32'd3 == { 27'h0000000, _0421_[4:0] };
+  assign _0443_ = _0442_ ? _1228_ : cr_in[3];
+  assign _0444_ = 32'd4 == { 27'h0000000, _0421_[4:0] };
+  assign _0445_ = _0444_ ? _1228_ : cr_in[4];
+  assign _0446_ = 32'd5 == { 27'h0000000, _0421_[4:0] };
+  assign _0447_ = _0446_ ? _1228_ : cr_in[5];
+  assign _0448_ = 32'd6 == { 27'h0000000, _0421_[4:0] };
+  assign _0449_ = _0448_ ? _1228_ : cr_in[6];
+  assign _0450_ = 32'd7 == { 27'h0000000, _0421_[4:0] };
+  assign _0451_ = _0450_ ? _1228_ : cr_in[7];
+  assign _0452_ = 32'd8 == { 27'h0000000, _0421_[4:0] };
+  assign _0453_ = _0452_ ? _1228_ : cr_in[8];
+  assign _0454_ = 32'd9 == { 27'h0000000, _0421_[4:0] };
+  assign _0455_ = _0454_ ? _1228_ : cr_in[9];
+  assign _0456_ = 32'd10 == { 27'h0000000, _0421_[4:0] };
+  assign _0457_ = _0456_ ? _1228_ : cr_in[10];
+  assign _0458_ = 32'd11 == { 27'h0000000, _0421_[4:0] };
+  assign _0459_ = _0458_ ? _1228_ : cr_in[11];
+  assign _0460_ = 32'd12 == { 27'h0000000, _0421_[4:0] };
+  assign _0461_ = _0460_ ? _1228_ : cr_in[12];
+  assign _0462_ = 32'd13 == { 27'h0000000, _0421_[4:0] };
+  assign _0463_ = _0462_ ? _1228_ : cr_in[13];
+  assign _0464_ = 32'd14 == { 27'h0000000, _0421_[4:0] };
+  assign _0465_ = _0464_ ? _1228_ : cr_in[14];
+  assign _0466_ = 32'd15 == { 27'h0000000, _0421_[4:0] };
+  assign _0467_ = _0466_ ? _1228_ : cr_in[15];
+  assign _0468_ = 32'd16 == { 27'h0000000, _0421_[4:0] };
+  assign _0469_ = _0468_ ? _1228_ : cr_in[16];
+  assign _0470_ = 32'd17 == { 27'h0000000, _0421_[4:0] };
+  assign _0471_ = _0470_ ? _1228_ : cr_in[17];
+  assign _0472_ = 32'd18 == { 27'h0000000, _0421_[4:0] };
+  assign _0473_ = _0472_ ? _1228_ : cr_in[18];
+  assign _0474_ = 32'd19 == { 27'h0000000, _0421_[4:0] };
+  assign _0475_ = _0474_ ? _1228_ : cr_in[19];
+  assign _0476_ = 32'd20 == { 27'h0000000, _0421_[4:0] };
+  assign _0477_ = _0476_ ? _1228_ : cr_in[20];
+  assign _0478_ = 32'd21 == { 27'h0000000, _0421_[4:0] };
+  assign _0479_ = _0478_ ? _1228_ : cr_in[21];
+  assign _0480_ = 32'd22 == { 27'h0000000, _0421_[4:0] };
+  assign _0481_ = _0480_ ? _1228_ : cr_in[22];
+  assign _0482_ = 32'd23 == { 27'h0000000, _0421_[4:0] };
+  assign _0483_ = _0482_ ? _1228_ : cr_in[23];
+  assign _0484_ = 32'd24 == { 27'h0000000, _0421_[4:0] };
+  assign _0485_ = _0484_ ? _1228_ : cr_in[24];
+  assign _0486_ = 32'd25 == { 27'h0000000, _0421_[4:0] };
+  assign _0487_ = _0486_ ? _1228_ : cr_in[25];
+  assign _0488_ = 32'd26 == { 27'h0000000, _0421_[4:0] };
+  assign _0489_ = _0488_ ? _1228_ : cr_in[26];
+  assign _0490_ = 32'd27 == { 27'h0000000, _0421_[4:0] };
+  assign _0491_ = _0490_ ? _1228_ : cr_in[27];
+  assign _0492_ = 32'd28 == { 27'h0000000, _0421_[4:0] };
+  assign _0493_ = _0492_ ? _1228_ : cr_in[28];
+  assign _0494_ = 32'd29 == { 27'h0000000, _0421_[4:0] };
+  assign _0495_ = _0494_ ? _1228_ : cr_in[29];
+  assign _0496_ = 32'd30 == { 27'h0000000, _0421_[4:0] };
+  assign _0497_ = _0496_ ? _1228_ : cr_in[30];
+  assign _0498_ = 32'd31 == { 27'h0000000, _0421_[4:0] };
+  assign _0499_ = _0498_ ? _1228_ : cr_in[31];
+  assign _0500_ = _0395_ ? { _0420_, _0420_, _0420_, _0420_, _0420_, _0420_, _0420_, _0420_, _0404_, 1'h1 } : { _0499_, _0497_, _0495_, _0493_, _0491_, _0489_, _0487_, _0485_, _0483_, _0481_, _0479_, _0477_, _0475_, _0473_, _0471_, _0469_, _0467_, _0465_, _0463_, _0461_, _0459_, _0457_, _0455_, _0453_, _0451_, _0449_, _0447_, _0445_, _0443_, _0441_, _0439_, _0437_, _0435_, 1'h1 };
+  assign _0501_ = e_in[8:3] == 6'h0e;
+  assign _0502_ = e_in[364:362] == 3'h0;
+  assign _0503_ = e_in[364:362] == 3'h1;
+  assign _0504_ = e_in[364:362] == 3'h2;
+  assign _0505_ = e_in[364:362] == 3'h3;
+  assign _0506_ = e_in[364:362] == 3'h4;
+  assign _0507_ = e_in[364:362] == 3'h5;
+  assign _0508_ = e_in[364:362] == 3'h6;
+  assign _0509_ = e_in[364:362] == 3'h7;
+  function [7:0] \11890 ;
+    input [7:0] a;
+    input [63:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \11890  = b[7:0];
+      8'b??????1?:
+        \11890  = b[15:8];
+      8'b?????1??:
+        \11890  = b[23:16];
+      8'b????1???:
+        \11890  = b[31:24];
+      8'b???1????:
+        \11890  = b[39:32];
+      8'b??1?????:
+        \11890  = b[47:40];
+      8'b?1??????:
+        \11890  = b[55:48];
+      8'b1???????:
+        \11890  = b[63:56];
+      default:
+        \11890  = a;
+    endcase
+  endfunction
+  assign _0510_ = \11890 (8'h00, 64'h0102040810204080, { _0509_, _0508_, _0507_, _0506_, _0505_, _0504_, _0503_, _0502_ });
+  assign _0511_ = e_in[8:3] == 6'h23;
+  assign _0512_ = ~ random_err;
+  assign _0513_ = e_in[356:355] == 2'h0;
+  assign _0514_ = e_in[356:355] == 2'h2;
+  function [63:0] \11910 ;
+    input [63:0] a;
+    input [127:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \11910  = b[63:0];
+      2'b1?:
+        \11910  = b[127:64];
+      default:
+        \11910  = a;
+    endcase
+  endfunction
+  assign _0515_ = \11910 (random_cond, { random_raw, 32'h00000000, random_cond[31:0] }, { _0514_, _0513_ });
+  assign _0516_ = _0512_ ? _0515_ : 64'hffffffffffffffff;
+  assign _0517_ = e_in[8:3] == 6'h0f;
+  assign _0518_ = e_in[8:3] == 6'h25;
+  assign _0519_ = { 22'h000000, e_in[354:350], e_in[359:355] } == 32'd1;
+  assign _0520_ = _0519_ ? { 32'h00000000, _0012_[4], _0012_[2], _0012_[0], 9'h000, _0012_[3], _0012_[1] } : a_in[63:18];
+  assign _0521_ = { e_in[354:350], e_in[359:355] } == 10'h10c;
+  assign _0522_ = { e_in[354:350], e_in[359:355] } == 10'h10d;
+  assign _0523_ = { e_in[354:350], e_in[359:355] } == 10'h016;
+  assign _0524_ = { e_in[354:350], e_in[359:355] } == 10'h01c;
+  assign _0525_ = { e_in[354:350], e_in[359:355] } == 10'h11f;
+  assign _0526_ = { e_in[354:350], e_in[359:355] } == 10'h2d4;
+  assign _0527_ = r[455:424] + 32'd1;
+  assign _0528_ = { e_in[354:350], e_in[359:355] } == 10'h2d5;
+  assign _0529_ = ctrl[142] ? 1'h1 : 1'h0;
+  function [31:0] \12020 ;
+    input [31:0] a;
+    input [223:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \12020  = b[31:0];
+      7'b?????1?:
+        \12020  = b[63:32];
+      7'b????1??:
+        \12020  = b[95:64];
+      7'b???1???:
+        \12020  = b[127:96];
+      7'b??1????:
+        \12020  = b[159:128];
+      7'b?1?????:
+        \12020  = b[191:160];
+      7'b1??????:
+        \12020  = b[223:192];
+      default:
+        \12020  = a;
+    endcase
+  endfunction
+  assign _0530_ = \12020 (r[455:424], { _0527_, r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424] }, { _0528_, _0526_, _0525_, _0524_, _0523_, _0522_, _0521_ });
+  function [0:0] \12022 ;
+    input [0:0] a;
+    input [6:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \12022  = b[0:0];
+      7'b?????1?:
+        \12022  = b[1:1];
+      7'b????1??:
+        \12022  = b[2:2];
+      7'b???1???:
+        \12022  = b[3:3];
+      7'b??1????:
+        \12022  = b[4:4];
+      7'b?1?????:
+        \12022  = b[5:5];
+      7'b1??????:
+        \12022  = b[6:6];
+      default:
+        \12022  = a;
+    endcase
+  endfunction
+  assign _0531_ = \12022 (_0529_, 7'h00, { _0528_, _0526_, _0525_, _0524_, _0523_, _0522_, _0521_ });
+  function [31:0] \12029 ;
+    input [31:0] a;
+    input [223:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \12029  = b[31:0];
+      7'b?????1?:
+        \12029  = b[63:32];
+      7'b????1??:
+        \12029  = b[95:64];
+      7'b???1???:
+        \12029  = b[127:96];
+      7'b??1????:
+        \12029  = b[159:128];
+      7'b?1?????:
+        \12029  = b[191:160];
+      7'b1??????:
+        \12029  = b[223:192];
+      default:
+        \12029  = a;
+    endcase
+  endfunction
+  assign _0532_ = \12029 (c_in[31:0], { log_rd_data[31:0], r[455:424], 32'h00630100, ctrl[223:192], ctrl[95:0] }, { _0528_, _0526_, _0525_, _0524_, _0523_, _0522_, _0521_ });
+  function [31:0] \12036 ;
+    input [31:0] a;
+    input [223:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \12036  = b[31:0];
+      7'b?????1?:
+        \12036  = b[63:32];
+      7'b????1??:
+        \12036  = b[95:64];
+      7'b???1???:
+        \12036  = b[127:96];
+      7'b??1????:
+        \12036  = b[159:128];
+      7'b?1?????:
+        \12036  = b[191:160];
+      7'b1??????:
+        \12036  = b[223:192];
+      default:
+        \12036  = a;
+    endcase
+  endfunction
+  assign _0533_ = \12036 (c_in[63:32], { log_rd_data[63:32], log_wr_addr, 32'h00000000, ctrl[255:224], ctrl[127:96], 32'h00000000, ctrl[63:32] }, { _0528_, _0526_, _0525_, _0524_, _0523_, _0522_, _0521_ });
+  assign _0534_ = e_in[85] ? r[455:424] : _0530_;
+  assign _0535_ = e_in[85] ? { _0520_, a_in[17:0] } : { _0533_, _0532_ };
+  assign _0536_ = e_in[85] ? 1'h0 : _0531_;
+  assign _0537_ = e_in[8:3] == 6'h26;
+  assign _0538_ = ~ e_in[359];
+  assign _0539_ = e_in[358] ? 1'h0 : 1'h1;
+  assign _0540_ = e_in[358] ? 1'h0 : 1'h1;
+  assign _0541_ = e_in[358] ? 3'h0 : 3'hx;
+  assign _0542_ = _0548_ ? 1'h0 : _0539_;
+  assign _0543_ = _0549_ ? 1'h0 : _0540_;
+  assign _0544_ = _0550_ ? 3'h1 : _0541_;
+  assign _0545_ = e_in[357] & _0539_;
+  assign _0546_ = e_in[357] & _0539_;
+  assign _0547_ = e_in[357] & _0539_;
+  assign _0548_ = _0539_ & _0545_;
+  assign _0549_ = _0539_ & _0546_;
+  assign _0550_ = _0539_ & _0547_;
+  assign _0551_ = _0557_ ? 1'h0 : _0542_;
+  assign _0552_ = _0558_ ? 1'h0 : _0543_;
+  assign _0553_ = _0559_ ? 3'h2 : _0544_;
+  assign _0554_ = e_in[356] & _0542_;
+  assign _0555_ = e_in[356] & _0542_;
+  assign _0556_ = e_in[356] & _0542_;
+  assign _0557_ = _0542_ & _0554_;
+  assign _0558_ = _0542_ & _0555_;
+  assign _0559_ = _0542_ & _0556_;
+  assign _0560_ = _0566_ ? 1'h0 : _0551_;
+  assign _0561_ = _0567_ ? 1'h0 : _0552_;
+  assign _0562_ = _0568_ ? 3'h3 : _0553_;
+  assign _0563_ = e_in[355] & _0551_;
+  assign _0564_ = e_in[355] & _0551_;
+  assign _0565_ = e_in[355] & _0551_;
+  assign _0566_ = _0551_ & _0563_;
+  assign _0567_ = _0551_ & _0564_;
+  assign _0568_ = _0551_ & _0565_;
+  assign _0569_ = _0575_ ? 1'h0 : _0560_;
+  assign _0570_ = _0576_ ? 1'h0 : _0561_;
+  assign _0571_ = _0577_ ? 3'h4 : _0562_;
+  assign _0572_ = e_in[354] & _0560_;
+  assign _0573_ = e_in[354] & _0560_;
+  assign _0574_ = e_in[354] & _0560_;
+  assign _0575_ = _0560_ & _0572_;
+  assign _0576_ = _0560_ & _0573_;
+  assign _0577_ = _0560_ & _0574_;
+  assign _0578_ = _0584_ ? 1'h0 : _0569_;
+  assign _0579_ = _0585_ ? 1'h0 : _0570_;
+  assign _0580_ = _0586_ ? 3'h5 : _0571_;
+  assign _0581_ = e_in[353] & _0569_;
+  assign _0582_ = e_in[353] & _0569_;
+  assign _0583_ = e_in[353] & _0569_;
+  assign _0584_ = _0569_ & _0581_;
+  assign _0585_ = _0569_ & _0582_;
+  assign _0586_ = _0569_ & _0583_;
+  assign _0587_ = _0593_ ? 1'h0 : _0578_;
+  assign _0588_ = _0594_ ? 1'h0 : _0579_;
+  assign _0589_ = _0595_ ? 3'h6 : _0580_;
+  assign _0590_ = e_in[352] & _0578_;
+  assign _0591_ = e_in[352] & _0578_;
+  assign _0592_ = e_in[352] & _0578_;
+  assign _0593_ = _0578_ & _0590_;
+  assign _0594_ = _0578_ & _0591_;
+  assign _0595_ = _0578_ & _0592_;
+  assign _0596_ = _0600_ ? 1'h0 : _0588_;
+  assign _0597_ = _0601_ ? 3'h7 : _0589_;
+  assign _0598_ = e_in[351] & _0587_;
+  assign _0599_ = e_in[351] & _0587_;
+  assign _0600_ = _0587_ & _0598_;
+  assign _0601_ = _0587_ & _0599_;
+  assign _0602_ = _0596_ ? 3'h7 : _0597_;
+  assign _0603_ = { 29'h00000000, _0602_ } == 32'd0;
+  assign _0604_ = _0603_ ? cr_in[31:28] : 4'h0;
+  assign _0605_ = { 29'h00000000, _0602_ } == 32'd1;
+  assign _0606_ = _0605_ ? cr_in[27:24] : 4'h0;
+  assign _0607_ = { 29'h00000000, _0602_ } == 32'd2;
+  assign _0608_ = _0607_ ? cr_in[23:20] : 4'h0;
+  assign _0609_ = { 29'h00000000, _0602_ } == 32'd3;
+  assign _0610_ = _0609_ ? cr_in[19:16] : 4'h0;
+  assign _0611_ = { 29'h00000000, _0602_ } == 32'd4;
+  assign _0612_ = _0611_ ? cr_in[15:12] : 4'h0;
+  assign _0613_ = { 29'h00000000, _0602_ } == 32'd5;
+  assign _0614_ = _0613_ ? cr_in[11:8] : 4'h0;
+  assign _0615_ = { 29'h00000000, _0602_ } == 32'd6;
+  assign _0616_ = _0615_ ? cr_in[7:4] : 4'h0;
+  assign _0617_ = { 29'h00000000, _0602_ } == 32'd7;
+  assign _0618_ = _0617_ ? cr_in[3:0] : 4'h0;
+  assign _0619_ = _0538_ ? { 32'h00000000, cr_in } : { 32'h00000000, _0604_, _0606_, _0608_, _0610_, _0612_, _0614_, _0616_, _0618_ };
+  assign _0620_ = e_in[8:3] == 6'h24;
+  assign _0621_ = ~ e_in[359];
+  assign _0622_ = e_in[358] ? 1'h0 : 1'h1;
+  assign _0623_ = e_in[358] ? 1'h0 : 1'h1;
+  assign _0624_ = e_in[358] ? 3'h0 : 3'hx;
+  assign _0625_ = _0631_ ? 1'h0 : _0622_;
+  assign _0626_ = _0632_ ? 1'h0 : _0623_;
+  assign _0627_ = _0633_ ? 3'h1 : _0624_;
+  assign _0628_ = e_in[357] & _0622_;
+  assign _0629_ = e_in[357] & _0622_;
+  assign _0630_ = e_in[357] & _0622_;
+  assign _0631_ = _0622_ & _0628_;
+  assign _0632_ = _0622_ & _0629_;
+  assign _0633_ = _0622_ & _0630_;
+  assign _0634_ = _0640_ ? 1'h0 : _0625_;
+  assign _0635_ = _0641_ ? 1'h0 : _0626_;
+  assign _0636_ = _0642_ ? 3'h2 : _0627_;
+  assign _0637_ = e_in[356] & _0625_;
+  assign _0638_ = e_in[356] & _0625_;
+  assign _0639_ = e_in[356] & _0625_;
+  assign _0640_ = _0625_ & _0637_;
+  assign _0641_ = _0625_ & _0638_;
+  assign _0642_ = _0625_ & _0639_;
+  assign _0643_ = _0649_ ? 1'h0 : _0634_;
+  assign _0644_ = _0650_ ? 1'h0 : _0635_;
+  assign _0645_ = _0651_ ? 3'h3 : _0636_;
+  assign _0646_ = e_in[355] & _0634_;
+  assign _0647_ = e_in[355] & _0634_;
+  assign _0648_ = e_in[355] & _0634_;
+  assign _0649_ = _0634_ & _0646_;
+  assign _0650_ = _0634_ & _0647_;
+  assign _0651_ = _0634_ & _0648_;
+  assign _0652_ = _0658_ ? 1'h0 : _0643_;
+  assign _0653_ = _0659_ ? 1'h0 : _0644_;
+  assign _0654_ = _0660_ ? 3'h4 : _0645_;
+  assign _0655_ = e_in[354] & _0643_;
+  assign _0656_ = e_in[354] & _0643_;
+  assign _0657_ = e_in[354] & _0643_;
+  assign _0658_ = _0643_ & _0655_;
+  assign _0659_ = _0643_ & _0656_;
+  assign _0660_ = _0643_ & _0657_;
+  assign _0661_ = _0667_ ? 1'h0 : _0652_;
+  assign _0662_ = _0668_ ? 1'h0 : _0653_;
+  assign _0663_ = _0669_ ? 3'h5 : _0654_;
+  assign _0664_ = e_in[353] & _0652_;
+  assign _0665_ = e_in[353] & _0652_;
+  assign _0666_ = e_in[353] & _0652_;
+  assign _0667_ = _0652_ & _0664_;
+  assign _0668_ = _0652_ & _0665_;
+  assign _0669_ = _0652_ & _0666_;
+  assign _0670_ = _0676_ ? 1'h0 : _0661_;
+  assign _0671_ = _0677_ ? 1'h0 : _0662_;
+  assign _0672_ = _0678_ ? 3'h6 : _0663_;
+  assign _0673_ = e_in[352] & _0661_;
+  assign _0674_ = e_in[352] & _0661_;
+  assign _0675_ = e_in[352] & _0661_;
+  assign _0676_ = _0661_ & _0673_;
+  assign _0677_ = _0661_ & _0674_;
+  assign _0678_ = _0661_ & _0675_;
+  assign _0679_ = _0683_ ? 1'h0 : _0671_;
+  assign _0680_ = _0684_ ? 3'h7 : _0672_;
+  assign _0681_ = e_in[351] & _0670_;
+  assign _0682_ = e_in[351] & _0670_;
+  assign _0683_ = _0670_ & _0681_;
+  assign _0684_ = _0670_ & _0682_;
+  assign _0685_ = _0679_ ? 3'h7 : _0680_;
+  assign _0686_ = _0685_ == 3'h0;
+  assign _0687_ = _0685_ == 3'h1;
+  assign _0688_ = _0685_ == 3'h2;
+  assign _0689_ = _0685_ == 3'h3;
+  assign _0690_ = _0685_ == 3'h4;
+  assign _0691_ = _0685_ == 3'h5;
+  assign _0692_ = _0685_ == 3'h6;
+  assign _0693_ = _0685_ == 3'h7;
+  function [7:0] \12398 ;
+    input [7:0] a;
+    input [63:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \12398  = b[7:0];
+      8'b??????1?:
+        \12398  = b[15:8];
+      8'b?????1??:
+        \12398  = b[23:16];
+      8'b????1???:
+        \12398  = b[31:24];
+      8'b???1????:
+        \12398  = b[39:32];
+      8'b??1?????:
+        \12398  = b[47:40];
+      8'b?1??????:
+        \12398  = b[55:48];
+      8'b1???????:
+        \12398  = b[63:56];
+      default:
+        \12398  = a;
+    endcase
+  endfunction
+  assign _0694_ = \12398 (8'h00, 64'h0102040810204080, { _0693_, _0692_, _0691_, _0690_, _0689_, _0688_, _0687_, _0686_ });
+  assign _0695_ = _0621_ ? e_in[358:351] : _0694_;
+  assign _0696_ = e_in[8:3] == 6'h28;
+  assign _0697_ = ~ e_in[337];
+  assign _0698_ = _0697_ ? c_in[59:32] : ctrl[187:160];
+  assign _0699_ = _0697_ ? c_in[63:61] : ctrl[191:189];
+  assign _0700_ = c_in[14] ? 2'h3 : c_in[5:4];
+  assign _0701_ = c_in[14] ? 1'h1 : c_in[15];
+  assign _0702_ = e_in[355] ? c_in[1] : c_in[1];
+  assign _0703_ = e_in[355] ? ctrl[139:130] : { c_in[11:6], _0700_, c_in[3:2] };
+  assign _0704_ = e_in[355] ? ctrl[142:141] : c_in[14:13];
+  assign _0705_ = e_in[355] ? c_in[15] : _0701_;
+  assign _0706_ = e_in[355] ? ctrl[187:144] : { _0698_, c_in[31:16] };
+  assign _0707_ = e_in[355] ? ctrl[191:189] : _0699_;
+  assign _0708_ = e_in[8:3] == 6'h29;
+  assign _0709_ = { 22'h000000, e_in[354:350], e_in[359:355] } == 32'd1;
+  assign _0710_ = _0709_ ? { c_in[31], c_in[19], c_in[30], c_in[18], c_in[29], 1'h1 } : { _0012_, 1'h0 };
+  assign _0711_ = { e_in[354:350], e_in[359:355] } == 10'h016;
+  assign _0712_ = { e_in[354:350], e_in[359:355] } == 10'h2d4;
+  assign _0713_ = ctrl[142] ? 1'h1 : 1'h0;
+  function [63:0] \12499 ;
+    input [63:0] a;
+    input [127:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \12499  = b[63:0];
+      2'b1?:
+        \12499  = b[127:64];
+      default:
+        \12499  = a;
+    endcase
+  endfunction
+  assign _0714_ = \12499 (_0064_, { _0064_, c_in }, { _0712_, _0711_ });
+  function [31:0] \12500 ;
+    input [31:0] a;
+    input [63:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \12500  = b[31:0];
+      2'b1?:
+        \12500  = b[63:32];
+      default:
+        \12500  = a;
+    endcase
+  endfunction
+  assign _0715_ = \12500 (r[455:424], { c_in[31:0], r[455:424] }, { _0712_, _0711_ });
+  function [0:0] \12502 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \12502  = b[0:0];
+      2'b1?:
+        \12502  = b[1:1];
+      default:
+        \12502  = a;
+    endcase
+  endfunction
+  assign _0716_ = \12502 (_0713_, 2'h0, { _0712_, _0711_ });
+  assign _0717_ = e_in[78] ? _0064_ : _0714_;
+  assign _0718_ = e_in[78] ? _0710_ : { _0012_, 1'h0 };
+  assign _0719_ = e_in[78] ? r[455:424] : _0715_;
+  assign _0720_ = e_in[78] ? c_in : 64'h0000000000000000;
+  assign _0721_ = e_in[78] ? 1'h1 : 1'h0;
+  assign _0722_ = e_in[78] ? 1'h0 : _0716_;
+  assign _0723_ = e_in[8:3] == 6'h2a;
+  assign _0724_ = e_in[334] ? { _0083_, 8'h44, _0012_[4:2], rotator_carry, rotator_carry, 106'h200000000000000000000000000, e_in[79:73], 1'h0, _0085_, 2'h1 } : { _0083_, 8'h44, _0012_, 106'h000000000000000000000000000, e_in[79:73], 1'h0, _0085_, 2'h1 };
+  assign _0725_ = e_in[8:3] == 6'h32;
+  assign _0726_ = e_in[8:3] == 6'h33;
+  assign _0727_ = _0725_ | _0726_;
+  assign _0728_ = e_in[8:3] == 6'h34;
+  assign _0729_ = _0727_ | _0728_;
+  assign _0730_ = e_in[8:3] == 6'h37;
+  assign _0731_ = _0729_ | _0730_;
+  assign _0732_ = e_in[8:3] == 6'h38;
+  assign _0733_ = _0731_ | _0732_;
+  assign _0734_ = e_in[8:3] == 6'h18;
+  assign _0735_ = _0733_ | _0734_;
+  assign _0736_ = $signed({ 29'h00000000, e_in[359:357] }) * $signed(32'd4);
+  assign _0737_ = 32'd31 - { 27'h0000000, _0736_[4:0] };
+  assign _0738_ = 32'd30 - { 27'h0000000, _0736_[4:0] };
+  assign _0739_ = _1250_ ? 1'h1 : 1'h0;
+  assign _0740_ = _1239_ ? 1'h1 : _0739_;
+  assign _0741_ = _1239_ ? 63'h7fffffffffffffff : 63'h0000000000000000;
+  assign _0742_ = e_in[8:3] == 6'h36;
+  assign _0743_ = e_in[8:3] == 6'h1e;
+  assign _0744_ = e_in[8:3] == 6'h1b;
+  assign _0745_ = e_in[8:3] == 6'h2b;
+  assign _0746_ = e_in[8:3] == 6'h2c;
+  assign _0747_ = _0745_ | _0746_;
+  assign _0748_ = e_in[8:3] == 6'h2d;
+  assign _0749_ = _0747_ | _0748_;
+  assign _0750_ = e_in[8:3] == 6'h15;
+  assign _0751_ = e_in[8:3] == 6'h16;
+  assign _0752_ = _0750_ | _0751_;
+  assign _0753_ = e_in[8:3] == 6'h27;
+  assign _0754_ = _0752_ | _0753_;
+  function [0:0] \12621 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12621  = b[0:0];
+      30'b????????????????????????????1?:
+        \12621  = b[1:1];
+      30'b???????????????????????????1??:
+        \12621  = b[2:2];
+      30'b??????????????????????????1???:
+        \12621  = b[3:3];
+      30'b?????????????????????????1????:
+        \12621  = b[4:4];
+      30'b????????????????????????1?????:
+        \12621  = b[5:5];
+      30'b???????????????????????1??????:
+        \12621  = b[6:6];
+      30'b??????????????????????1???????:
+        \12621  = b[7:7];
+      30'b?????????????????????1????????:
+        \12621  = b[8:8];
+      30'b????????????????????1?????????:
+        \12621  = b[9:9];
+      30'b???????????????????1??????????:
+        \12621  = b[10:10];
+      30'b??????????????????1???????????:
+        \12621  = b[11:11];
+      30'b?????????????????1????????????:
+        \12621  = b[12:12];
+      30'b????????????????1?????????????:
+        \12621  = b[13:13];
+      30'b???????????????1??????????????:
+        \12621  = b[14:14];
+      30'b??????????????1???????????????:
+        \12621  = b[15:15];
+      30'b?????????????1????????????????:
+        \12621  = b[16:16];
+      30'b????????????1?????????????????:
+        \12621  = b[17:17];
+      30'b???????????1??????????????????:
+        \12621  = b[18:18];
+      30'b??????????1???????????????????:
+        \12621  = b[19:19];
+      30'b?????????1????????????????????:
+        \12621  = b[20:20];
+      30'b????????1?????????????????????:
+        \12621  = b[21:21];
+      30'b???????1??????????????????????:
+        \12621  = b[22:22];
+      30'b??????1???????????????????????:
+        \12621  = b[23:23];
+      30'b?????1????????????????????????:
+        \12621  = b[24:24];
+      30'b????1?????????????????????????:
+        \12621  = b[25:25];
+      30'b???1??????????????????????????:
+        \12621  = b[26:26];
+      30'b??1???????????????????????????:
+        \12621  = b[27:27];
+      30'b?1????????????????????????????:
+        \12621  = b[28:28];
+      30'b1?????????????????????????????:
+        \12621  = b[29:29];
+      default:
+        \12621  = a;
+    endcase
+  endfunction
+  assign _0755_ = \12621 (1'h0, 30'h08000000, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [63:0] \12622 ;
+    input [63:0] a;
+    input [1919:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12622  = b[63:0];
+      30'b????????????????????????????1?:
+        \12622  = b[127:64];
+      30'b???????????????????????????1??:
+        \12622  = b[191:128];
+      30'b??????????????????????????1???:
+        \12622  = b[255:192];
+      30'b?????????????????????????1????:
+        \12622  = b[319:256];
+      30'b????????????????????????1?????:
+        \12622  = b[383:320];
+      30'b???????????????????????1??????:
+        \12622  = b[447:384];
+      30'b??????????????????????1???????:
+        \12622  = b[511:448];
+      30'b?????????????????????1????????:
+        \12622  = b[575:512];
+      30'b????????????????????1?????????:
+        \12622  = b[639:576];
+      30'b???????????????????1??????????:
+        \12622  = b[703:640];
+      30'b??????????????????1???????????:
+        \12622  = b[767:704];
+      30'b?????????????????1????????????:
+        \12622  = b[831:768];
+      30'b????????????????1?????????????:
+        \12622  = b[895:832];
+      30'b???????????????1??????????????:
+        \12622  = b[959:896];
+      30'b??????????????1???????????????:
+        \12622  = b[1023:960];
+      30'b?????????????1????????????????:
+        \12622  = b[1087:1024];
+      30'b????????????1?????????????????:
+        \12622  = b[1151:1088];
+      30'b???????????1??????????????????:
+        \12622  = b[1215:1152];
+      30'b??????????1???????????????????:
+        \12622  = b[1279:1216];
+      30'b?????????1????????????????????:
+        \12622  = b[1343:1280];
+      30'b????????1?????????????????????:
+        \12622  = b[1407:1344];
+      30'b???????1??????????????????????:
+        \12622  = b[1471:1408];
+      30'b??????1???????????????????????:
+        \12622  = b[1535:1472];
+      30'b?????1????????????????????????:
+        \12622  = b[1599:1536];
+      30'b????1?????????????????????????:
+        \12622  = b[1663:1600];
+      30'b???1??????????????????????????:
+        \12622  = b[1727:1664];
+      30'b??1???????????????????????????:
+        \12622  = b[1791:1728];
+      30'b?1????????????????????????????:
+        \12622  = b[1855:1792];
+      30'b1?????????????????????????????:
+        \12622  = b[1919:1856];
+      default:
+        \12622  = a;
+    endcase
+  endfunction
+  assign _0756_ = \12622 (_0064_, { _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0717_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_, _0064_ }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12625 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12625  = b[0:0];
+      30'b????????????????????????????1?:
+        \12625  = b[1:1];
+      30'b???????????????????????????1??:
+        \12625  = b[2:2];
+      30'b??????????????????????????1???:
+        \12625  = b[3:3];
+      30'b?????????????????????????1????:
+        \12625  = b[4:4];
+      30'b????????????????????????1?????:
+        \12625  = b[5:5];
+      30'b???????????????????????1??????:
+        \12625  = b[6:6];
+      30'b??????????????????????1???????:
+        \12625  = b[7:7];
+      30'b?????????????????????1????????:
+        \12625  = b[8:8];
+      30'b????????????????????1?????????:
+        \12625  = b[9:9];
+      30'b???????????????????1??????????:
+        \12625  = b[10:10];
+      30'b??????????????????1???????????:
+        \12625  = b[11:11];
+      30'b?????????????????1????????????:
+        \12625  = b[12:12];
+      30'b????????????????1?????????????:
+        \12625  = b[13:13];
+      30'b???????????????1??????????????:
+        \12625  = b[14:14];
+      30'b??????????????1???????????????:
+        \12625  = b[15:15];
+      30'b?????????????1????????????????:
+        \12625  = b[16:16];
+      30'b????????????1?????????????????:
+        \12625  = b[17:17];
+      30'b???????????1??????????????????:
+        \12625  = b[18:18];
+      30'b??????????1???????????????????:
+        \12625  = b[19:19];
+      30'b?????????1????????????????????:
+        \12625  = b[20:20];
+      30'b????????1?????????????????????:
+        \12625  = b[21:21];
+      30'b???????1??????????????????????:
+        \12625  = b[22:22];
+      30'b??????1???????????????????????:
+        \12625  = b[23:23];
+      30'b?????1????????????????????????:
+        \12625  = b[24:24];
+      30'b????1?????????????????????????:
+        \12625  = b[25:25];
+      30'b???1??????????????????????????:
+        \12625  = b[26:26];
+      30'b??1???????????????????????????:
+        \12625  = b[27:27];
+      30'b?1????????????????????????????:
+        \12625  = b[28:28];
+      30'b1?????????????????????????????:
+        \12625  = b[29:29];
+      default:
+        \12625  = a;
+    endcase
+  endfunction
+  assign _0757_ = \12625 (ctrl[128], { ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], a_in[0], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128], ctrl[128] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12628 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12628  = b[0:0];
+      30'b????????????????????????????1?:
+        \12628  = b[1:1];
+      30'b???????????????????????????1??:
+        \12628  = b[2:2];
+      30'b??????????????????????????1???:
+        \12628  = b[3:3];
+      30'b?????????????????????????1????:
+        \12628  = b[4:4];
+      30'b????????????????????????1?????:
+        \12628  = b[5:5];
+      30'b???????????????????????1??????:
+        \12628  = b[6:6];
+      30'b??????????????????????1???????:
+        \12628  = b[7:7];
+      30'b?????????????????????1????????:
+        \12628  = b[8:8];
+      30'b????????????????????1?????????:
+        \12628  = b[9:9];
+      30'b???????????????????1??????????:
+        \12628  = b[10:10];
+      30'b??????????????????1???????????:
+        \12628  = b[11:11];
+      30'b?????????????????1????????????:
+        \12628  = b[12:12];
+      30'b????????????????1?????????????:
+        \12628  = b[13:13];
+      30'b???????????????1??????????????:
+        \12628  = b[14:14];
+      30'b??????????????1???????????????:
+        \12628  = b[15:15];
+      30'b?????????????1????????????????:
+        \12628  = b[16:16];
+      30'b????????????1?????????????????:
+        \12628  = b[17:17];
+      30'b???????????1??????????????????:
+        \12628  = b[18:18];
+      30'b??????????1???????????????????:
+        \12628  = b[19:19];
+      30'b?????????1????????????????????:
+        \12628  = b[20:20];
+      30'b????????1?????????????????????:
+        \12628  = b[21:21];
+      30'b???????1??????????????????????:
+        \12628  = b[22:22];
+      30'b??????1???????????????????????:
+        \12628  = b[23:23];
+      30'b?????1????????????????????????:
+        \12628  = b[24:24];
+      30'b????1?????????????????????????:
+        \12628  = b[25:25];
+      30'b???1??????????????????????????:
+        \12628  = b[26:26];
+      30'b??1???????????????????????????:
+        \12628  = b[27:27];
+      30'b?1????????????????????????????:
+        \12628  = b[28:28];
+      30'b1?????????????????????????????:
+        \12628  = b[29:29];
+      default:
+        \12628  = a;
+    endcase
+  endfunction
+  assign _0758_ = \12628 (ctrl[129], { ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], _0702_, ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], a_in[1], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129], ctrl[129] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [1:0] \12632 ;
+    input [1:0] a;
+    input [59:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12632  = b[1:0];
+      30'b????????????????????????????1?:
+        \12632  = b[3:2];
+      30'b???????????????????????????1??:
+        \12632  = b[5:4];
+      30'b??????????????????????????1???:
+        \12632  = b[7:6];
+      30'b?????????????????????????1????:
+        \12632  = b[9:8];
+      30'b????????????????????????1?????:
+        \12632  = b[11:10];
+      30'b???????????????????????1??????:
+        \12632  = b[13:12];
+      30'b??????????????????????1???????:
+        \12632  = b[15:14];
+      30'b?????????????????????1????????:
+        \12632  = b[17:16];
+      30'b????????????????????1?????????:
+        \12632  = b[19:18];
+      30'b???????????????????1??????????:
+        \12632  = b[21:20];
+      30'b??????????????????1???????????:
+        \12632  = b[23:22];
+      30'b?????????????????1????????????:
+        \12632  = b[25:24];
+      30'b????????????????1?????????????:
+        \12632  = b[27:26];
+      30'b???????????????1??????????????:
+        \12632  = b[29:28];
+      30'b??????????????1???????????????:
+        \12632  = b[31:30];
+      30'b?????????????1????????????????:
+        \12632  = b[33:32];
+      30'b????????????1?????????????????:
+        \12632  = b[35:34];
+      30'b???????????1??????????????????:
+        \12632  = b[37:36];
+      30'b??????????1???????????????????:
+        \12632  = b[39:38];
+      30'b?????????1????????????????????:
+        \12632  = b[41:40];
+      30'b????????1?????????????????????:
+        \12632  = b[43:42];
+      30'b???????1??????????????????????:
+        \12632  = b[45:44];
+      30'b??????1???????????????????????:
+        \12632  = b[47:46];
+      30'b?????1????????????????????????:
+        \12632  = b[49:48];
+      30'b????1?????????????????????????:
+        \12632  = b[51:50];
+      30'b???1??????????????????????????:
+        \12632  = b[53:52];
+      30'b??1???????????????????????????:
+        \12632  = b[55:54];
+      30'b?1????????????????????????????:
+        \12632  = b[57:56];
+      30'b1?????????????????????????????:
+        \12632  = b[59:58];
+      default:
+        \12632  = a;
+    endcase
+  endfunction
+  assign _0759_ = \12632 (ctrl[131:130], { ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], _0703_[1:0], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], a_in[3:2], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130], ctrl[131:130] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [1:0] \12635 ;
+    input [1:0] a;
+    input [59:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12635  = b[1:0];
+      30'b????????????????????????????1?:
+        \12635  = b[3:2];
+      30'b???????????????????????????1??:
+        \12635  = b[5:4];
+      30'b??????????????????????????1???:
+        \12635  = b[7:6];
+      30'b?????????????????????????1????:
+        \12635  = b[9:8];
+      30'b????????????????????????1?????:
+        \12635  = b[11:10];
+      30'b???????????????????????1??????:
+        \12635  = b[13:12];
+      30'b??????????????????????1???????:
+        \12635  = b[15:14];
+      30'b?????????????????????1????????:
+        \12635  = b[17:16];
+      30'b????????????????????1?????????:
+        \12635  = b[19:18];
+      30'b???????????????????1??????????:
+        \12635  = b[21:20];
+      30'b??????????????????1???????????:
+        \12635  = b[23:22];
+      30'b?????????????????1????????????:
+        \12635  = b[25:24];
+      30'b????????????????1?????????????:
+        \12635  = b[27:26];
+      30'b???????????????1??????????????:
+        \12635  = b[29:28];
+      30'b??????????????1???????????????:
+        \12635  = b[31:30];
+      30'b?????????????1????????????????:
+        \12635  = b[33:32];
+      30'b????????????1?????????????????:
+        \12635  = b[35:34];
+      30'b???????????1??????????????????:
+        \12635  = b[37:36];
+      30'b??????????1???????????????????:
+        \12635  = b[39:38];
+      30'b?????????1????????????????????:
+        \12635  = b[41:40];
+      30'b????????1?????????????????????:
+        \12635  = b[43:42];
+      30'b???????1??????????????????????:
+        \12635  = b[45:44];
+      30'b??????1???????????????????????:
+        \12635  = b[47:46];
+      30'b?????1????????????????????????:
+        \12635  = b[49:48];
+      30'b????1?????????????????????????:
+        \12635  = b[51:50];
+      30'b???1??????????????????????????:
+        \12635  = b[53:52];
+      30'b??1???????????????????????????:
+        \12635  = b[55:54];
+      30'b?1????????????????????????????:
+        \12635  = b[57:56];
+      30'b1?????????????????????????????:
+        \12635  = b[59:58];
+      default:
+        \12635  = a;
+    endcase
+  endfunction
+  assign _0760_ = \12635 (ctrl[133:132], { ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], _0703_[3:2], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], _0388_, ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132], ctrl[133:132] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [5:0] \12639 ;
+    input [5:0] a;
+    input [179:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12639  = b[5:0];
+      30'b????????????????????????????1?:
+        \12639  = b[11:6];
+      30'b???????????????????????????1??:
+        \12639  = b[17:12];
+      30'b??????????????????????????1???:
+        \12639  = b[23:18];
+      30'b?????????????????????????1????:
+        \12639  = b[29:24];
+      30'b????????????????????????1?????:
+        \12639  = b[35:30];
+      30'b???????????????????????1??????:
+        \12639  = b[41:36];
+      30'b??????????????????????1???????:
+        \12639  = b[47:42];
+      30'b?????????????????????1????????:
+        \12639  = b[53:48];
+      30'b????????????????????1?????????:
+        \12639  = b[59:54];
+      30'b???????????????????1??????????:
+        \12639  = b[65:60];
+      30'b??????????????????1???????????:
+        \12639  = b[71:66];
+      30'b?????????????????1????????????:
+        \12639  = b[77:72];
+      30'b????????????????1?????????????:
+        \12639  = b[83:78];
+      30'b???????????????1??????????????:
+        \12639  = b[89:84];
+      30'b??????????????1???????????????:
+        \12639  = b[95:90];
+      30'b?????????????1????????????????:
+        \12639  = b[101:96];
+      30'b????????????1?????????????????:
+        \12639  = b[107:102];
+      30'b???????????1??????????????????:
+        \12639  = b[113:108];
+      30'b??????????1???????????????????:
+        \12639  = b[119:114];
+      30'b?????????1????????????????????:
+        \12639  = b[125:120];
+      30'b????????1?????????????????????:
+        \12639  = b[131:126];
+      30'b???????1??????????????????????:
+        \12639  = b[137:132];
+      30'b??????1???????????????????????:
+        \12639  = b[143:138];
+      30'b?????1????????????????????????:
+        \12639  = b[149:144];
+      30'b????1?????????????????????????:
+        \12639  = b[155:150];
+      30'b???1??????????????????????????:
+        \12639  = b[161:156];
+      30'b??1???????????????????????????:
+        \12639  = b[167:162];
+      30'b?1????????????????????????????:
+        \12639  = b[173:168];
+      30'b1?????????????????????????????:
+        \12639  = b[179:174];
+      default:
+        \12639  = a;
+    endcase
+  endfunction
+  assign _0761_ = \12639 (ctrl[139:134], { ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], _0703_[9:4], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], a_in[11:6], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134], ctrl[139:134] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12642 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12642  = b[0:0];
+      30'b????????????????????????????1?:
+        \12642  = b[1:1];
+      30'b???????????????????????????1??:
+        \12642  = b[2:2];
+      30'b??????????????????????????1???:
+        \12642  = b[3:3];
+      30'b?????????????????????????1????:
+        \12642  = b[4:4];
+      30'b????????????????????????1?????:
+        \12642  = b[5:5];
+      30'b???????????????????????1??????:
+        \12642  = b[6:6];
+      30'b??????????????????????1???????:
+        \12642  = b[7:7];
+      30'b?????????????????????1????????:
+        \12642  = b[8:8];
+      30'b????????????????????1?????????:
+        \12642  = b[9:9];
+      30'b???????????????????1??????????:
+        \12642  = b[10:10];
+      30'b??????????????????1???????????:
+        \12642  = b[11:11];
+      30'b?????????????????1????????????:
+        \12642  = b[12:12];
+      30'b????????????????1?????????????:
+        \12642  = b[13:13];
+      30'b???????????????1??????????????:
+        \12642  = b[14:14];
+      30'b??????????????1???????????????:
+        \12642  = b[15:15];
+      30'b?????????????1????????????????:
+        \12642  = b[16:16];
+      30'b????????????1?????????????????:
+        \12642  = b[17:17];
+      30'b???????????1??????????????????:
+        \12642  = b[18:18];
+      30'b??????????1???????????????????:
+        \12642  = b[19:19];
+      30'b?????????1????????????????????:
+        \12642  = b[20:20];
+      30'b????????1?????????????????????:
+        \12642  = b[21:21];
+      30'b???????1??????????????????????:
+        \12642  = b[22:22];
+      30'b??????1???????????????????????:
+        \12642  = b[23:23];
+      30'b?????1????????????????????????:
+        \12642  = b[24:24];
+      30'b????1?????????????????????????:
+        \12642  = b[25:25];
+      30'b???1??????????????????????????:
+        \12642  = b[26:26];
+      30'b??1???????????????????????????:
+        \12642  = b[27:27];
+      30'b?1????????????????????????????:
+        \12642  = b[28:28];
+      30'b1?????????????????????????????:
+        \12642  = b[29:29];
+      default:
+        \12642  = a;
+    endcase
+  endfunction
+  assign _0762_ = \12642 (ctrl[140], { ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], a_in[12], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140], ctrl[140] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [1:0] \12645 ;
+    input [1:0] a;
+    input [59:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12645  = b[1:0];
+      30'b????????????????????????????1?:
+        \12645  = b[3:2];
+      30'b???????????????????????????1??:
+        \12645  = b[5:4];
+      30'b??????????????????????????1???:
+        \12645  = b[7:6];
+      30'b?????????????????????????1????:
+        \12645  = b[9:8];
+      30'b????????????????????????1?????:
+        \12645  = b[11:10];
+      30'b???????????????????????1??????:
+        \12645  = b[13:12];
+      30'b??????????????????????1???????:
+        \12645  = b[15:14];
+      30'b?????????????????????1????????:
+        \12645  = b[17:16];
+      30'b????????????????????1?????????:
+        \12645  = b[19:18];
+      30'b???????????????????1??????????:
+        \12645  = b[21:20];
+      30'b??????????????????1???????????:
+        \12645  = b[23:22];
+      30'b?????????????????1????????????:
+        \12645  = b[25:24];
+      30'b????????????????1?????????????:
+        \12645  = b[27:26];
+      30'b???????????????1??????????????:
+        \12645  = b[29:28];
+      30'b??????????????1???????????????:
+        \12645  = b[31:30];
+      30'b?????????????1????????????????:
+        \12645  = b[33:32];
+      30'b????????????1?????????????????:
+        \12645  = b[35:34];
+      30'b???????????1??????????????????:
+        \12645  = b[37:36];
+      30'b??????????1???????????????????:
+        \12645  = b[39:38];
+      30'b?????????1????????????????????:
+        \12645  = b[41:40];
+      30'b????????1?????????????????????:
+        \12645  = b[43:42];
+      30'b???????1??????????????????????:
+        \12645  = b[45:44];
+      30'b??????1???????????????????????:
+        \12645  = b[47:46];
+      30'b?????1????????????????????????:
+        \12645  = b[49:48];
+      30'b????1?????????????????????????:
+        \12645  = b[51:50];
+      30'b???1??????????????????????????:
+        \12645  = b[53:52];
+      30'b??1???????????????????????????:
+        \12645  = b[55:54];
+      30'b?1????????????????????????????:
+        \12645  = b[57:56];
+      30'b1?????????????????????????????:
+        \12645  = b[59:58];
+      default:
+        \12645  = a;
+    endcase
+  endfunction
+  assign _0763_ = \12645 (ctrl[142:141], { ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], _0704_, ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], a_in[14:13], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141], ctrl[142:141] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12647 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12647  = b[0:0];
+      30'b????????????????????????????1?:
+        \12647  = b[1:1];
+      30'b???????????????????????????1??:
+        \12647  = b[2:2];
+      30'b??????????????????????????1???:
+        \12647  = b[3:3];
+      30'b?????????????????????????1????:
+        \12647  = b[4:4];
+      30'b????????????????????????1?????:
+        \12647  = b[5:5];
+      30'b???????????????????????1??????:
+        \12647  = b[6:6];
+      30'b??????????????????????1???????:
+        \12647  = b[7:7];
+      30'b?????????????????????1????????:
+        \12647  = b[8:8];
+      30'b????????????????????1?????????:
+        \12647  = b[9:9];
+      30'b???????????????????1??????????:
+        \12647  = b[10:10];
+      30'b??????????????????1???????????:
+        \12647  = b[11:11];
+      30'b?????????????????1????????????:
+        \12647  = b[12:12];
+      30'b????????????????1?????????????:
+        \12647  = b[13:13];
+      30'b???????????????1??????????????:
+        \12647  = b[14:14];
+      30'b??????????????1???????????????:
+        \12647  = b[15:15];
+      30'b?????????????1????????????????:
+        \12647  = b[16:16];
+      30'b????????????1?????????????????:
+        \12647  = b[17:17];
+      30'b???????????1??????????????????:
+        \12647  = b[18:18];
+      30'b??????????1???????????????????:
+        \12647  = b[19:19];
+      30'b?????????1????????????????????:
+        \12647  = b[20:20];
+      30'b????????1?????????????????????:
+        \12647  = b[21:21];
+      30'b???????1??????????????????????:
+        \12647  = b[22:22];
+      30'b??????1???????????????????????:
+        \12647  = b[23:23];
+      30'b?????1????????????????????????:
+        \12647  = b[24:24];
+      30'b????1?????????????????????????:
+        \12647  = b[25:25];
+      30'b???1??????????????????????????:
+        \12647  = b[26:26];
+      30'b??1???????????????????????????:
+        \12647  = b[27:27];
+      30'b?1????????????????????????????:
+        \12647  = b[28:28];
+      30'b1?????????????????????????????:
+        \12647  = b[29:29];
+      default:
+        \12647  = a;
+    endcase
+  endfunction
+  assign _0764_ = \12647 (ctrl[143], { ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], _0705_, ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], _0389_, ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143], ctrl[143] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [5:0] \12650 ;
+    input [5:0] a;
+    input [179:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12650  = b[5:0];
+      30'b????????????????????????????1?:
+        \12650  = b[11:6];
+      30'b???????????????????????????1??:
+        \12650  = b[17:12];
+      30'b??????????????????????????1???:
+        \12650  = b[23:18];
+      30'b?????????????????????????1????:
+        \12650  = b[29:24];
+      30'b????????????????????????1?????:
+        \12650  = b[35:30];
+      30'b???????????????????????1??????:
+        \12650  = b[41:36];
+      30'b??????????????????????1???????:
+        \12650  = b[47:42];
+      30'b?????????????????????1????????:
+        \12650  = b[53:48];
+      30'b????????????????????1?????????:
+        \12650  = b[59:54];
+      30'b???????????????????1??????????:
+        \12650  = b[65:60];
+      30'b??????????????????1???????????:
+        \12650  = b[71:66];
+      30'b?????????????????1????????????:
+        \12650  = b[77:72];
+      30'b????????????????1?????????????:
+        \12650  = b[83:78];
+      30'b???????????????1??????????????:
+        \12650  = b[89:84];
+      30'b??????????????1???????????????:
+        \12650  = b[95:90];
+      30'b?????????????1????????????????:
+        \12650  = b[101:96];
+      30'b????????????1?????????????????:
+        \12650  = b[107:102];
+      30'b???????????1??????????????????:
+        \12650  = b[113:108];
+      30'b??????????1???????????????????:
+        \12650  = b[119:114];
+      30'b?????????1????????????????????:
+        \12650  = b[125:120];
+      30'b????????1?????????????????????:
+        \12650  = b[131:126];
+      30'b???????1??????????????????????:
+        \12650  = b[137:132];
+      30'b??????1???????????????????????:
+        \12650  = b[143:138];
+      30'b?????1????????????????????????:
+        \12650  = b[149:144];
+      30'b????1?????????????????????????:
+        \12650  = b[155:150];
+      30'b???1??????????????????????????:
+        \12650  = b[161:156];
+      30'b??1???????????????????????????:
+        \12650  = b[167:162];
+      30'b?1????????????????????????????:
+        \12650  = b[173:168];
+      30'b1?????????????????????????????:
+        \12650  = b[179:174];
+      default:
+        \12650  = a;
+    endcase
+  endfunction
+  assign _0765_ = \12650 (ctrl[149:144], { ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], _0706_[5:0], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144], ctrl[149:144] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [4:0] \12653 ;
+    input [4:0] a;
+    input [149:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12653  = b[4:0];
+      30'b????????????????????????????1?:
+        \12653  = b[9:5];
+      30'b???????????????????????????1??:
+        \12653  = b[14:10];
+      30'b??????????????????????????1???:
+        \12653  = b[19:15];
+      30'b?????????????????????????1????:
+        \12653  = b[24:20];
+      30'b????????????????????????1?????:
+        \12653  = b[29:25];
+      30'b???????????????????????1??????:
+        \12653  = b[34:30];
+      30'b??????????????????????1???????:
+        \12653  = b[39:35];
+      30'b?????????????????????1????????:
+        \12653  = b[44:40];
+      30'b????????????????????1?????????:
+        \12653  = b[49:45];
+      30'b???????????????????1??????????:
+        \12653  = b[54:50];
+      30'b??????????????????1???????????:
+        \12653  = b[59:55];
+      30'b?????????????????1????????????:
+        \12653  = b[64:60];
+      30'b????????????????1?????????????:
+        \12653  = b[69:65];
+      30'b???????????????1??????????????:
+        \12653  = b[74:70];
+      30'b??????????????1???????????????:
+        \12653  = b[79:75];
+      30'b?????????????1????????????????:
+        \12653  = b[84:80];
+      30'b????????????1?????????????????:
+        \12653  = b[89:85];
+      30'b???????????1??????????????????:
+        \12653  = b[94:90];
+      30'b??????????1???????????????????:
+        \12653  = b[99:95];
+      30'b?????????1????????????????????:
+        \12653  = b[104:100];
+      30'b????????1?????????????????????:
+        \12653  = b[109:105];
+      30'b???????1??????????????????????:
+        \12653  = b[114:110];
+      30'b??????1???????????????????????:
+        \12653  = b[119:115];
+      30'b?????1????????????????????????:
+        \12653  = b[124:120];
+      30'b????1?????????????????????????:
+        \12653  = b[129:125];
+      30'b???1??????????????????????????:
+        \12653  = b[134:130];
+      30'b??1???????????????????????????:
+        \12653  = b[139:135];
+      30'b?1????????????????????????????:
+        \12653  = b[144:140];
+      30'b1?????????????????????????????:
+        \12653  = b[149:145];
+      default:
+        \12653  = a;
+    endcase
+  endfunction
+  assign _0766_ = \12653 (ctrl[154:150], { ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], _0706_[10:6], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], a_in[26:22], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150], ctrl[154:150] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12656 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12656  = b[3:0];
+      30'b????????????????????????????1?:
+        \12656  = b[7:4];
+      30'b???????????????????????????1??:
+        \12656  = b[11:8];
+      30'b??????????????????????????1???:
+        \12656  = b[15:12];
+      30'b?????????????????????????1????:
+        \12656  = b[19:16];
+      30'b????????????????????????1?????:
+        \12656  = b[23:20];
+      30'b???????????????????????1??????:
+        \12656  = b[27:24];
+      30'b??????????????????????1???????:
+        \12656  = b[31:28];
+      30'b?????????????????????1????????:
+        \12656  = b[35:32];
+      30'b????????????????????1?????????:
+        \12656  = b[39:36];
+      30'b???????????????????1??????????:
+        \12656  = b[43:40];
+      30'b??????????????????1???????????:
+        \12656  = b[47:44];
+      30'b?????????????????1????????????:
+        \12656  = b[51:48];
+      30'b????????????????1?????????????:
+        \12656  = b[55:52];
+      30'b???????????????1??????????????:
+        \12656  = b[59:56];
+      30'b??????????????1???????????????:
+        \12656  = b[63:60];
+      30'b?????????????1????????????????:
+        \12656  = b[67:64];
+      30'b????????????1?????????????????:
+        \12656  = b[71:68];
+      30'b???????????1??????????????????:
+        \12656  = b[75:72];
+      30'b??????????1???????????????????:
+        \12656  = b[79:76];
+      30'b?????????1????????????????????:
+        \12656  = b[83:80];
+      30'b????????1?????????????????????:
+        \12656  = b[87:84];
+      30'b???????1??????????????????????:
+        \12656  = b[91:88];
+      30'b??????1???????????????????????:
+        \12656  = b[95:92];
+      30'b?????1????????????????????????:
+        \12656  = b[99:96];
+      30'b????1?????????????????????????:
+        \12656  = b[103:100];
+      30'b???1??????????????????????????:
+        \12656  = b[107:104];
+      30'b??1???????????????????????????:
+        \12656  = b[111:108];
+      30'b?1????????????????????????????:
+        \12656  = b[115:112];
+      30'b1?????????????????????????????:
+        \12656  = b[119:116];
+      default:
+        \12656  = a;
+    endcase
+  endfunction
+  assign _0767_ = \12656 (ctrl[158:155], { ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], _0706_[14:11], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155], ctrl[158:155] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [28:0] \12660 ;
+    input [28:0] a;
+    input [869:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12660  = b[28:0];
+      30'b????????????????????????????1?:
+        \12660  = b[57:29];
+      30'b???????????????????????????1??:
+        \12660  = b[86:58];
+      30'b??????????????????????????1???:
+        \12660  = b[115:87];
+      30'b?????????????????????????1????:
+        \12660  = b[144:116];
+      30'b????????????????????????1?????:
+        \12660  = b[173:145];
+      30'b???????????????????????1??????:
+        \12660  = b[202:174];
+      30'b??????????????????????1???????:
+        \12660  = b[231:203];
+      30'b?????????????????????1????????:
+        \12660  = b[260:232];
+      30'b????????????????????1?????????:
+        \12660  = b[289:261];
+      30'b???????????????????1??????????:
+        \12660  = b[318:290];
+      30'b??????????????????1???????????:
+        \12660  = b[347:319];
+      30'b?????????????????1????????????:
+        \12660  = b[376:348];
+      30'b????????????????1?????????????:
+        \12660  = b[405:377];
+      30'b???????????????1??????????????:
+        \12660  = b[434:406];
+      30'b??????????????1???????????????:
+        \12660  = b[463:435];
+      30'b?????????????1????????????????:
+        \12660  = b[492:464];
+      30'b????????????1?????????????????:
+        \12660  = b[521:493];
+      30'b???????????1??????????????????:
+        \12660  = b[550:522];
+      30'b??????????1???????????????????:
+        \12660  = b[579:551];
+      30'b?????????1????????????????????:
+        \12660  = b[608:580];
+      30'b????????1?????????????????????:
+        \12660  = b[637:609];
+      30'b???????1??????????????????????:
+        \12660  = b[666:638];
+      30'b??????1???????????????????????:
+        \12660  = b[695:667];
+      30'b?????1????????????????????????:
+        \12660  = b[724:696];
+      30'b????1?????????????????????????:
+        \12660  = b[753:725];
+      30'b???1??????????????????????????:
+        \12660  = b[782:754];
+      30'b??1???????????????????????????:
+        \12660  = b[811:783];
+      30'b?1????????????????????????????:
+        \12660  = b[840:812];
+      30'b1?????????????????????????????:
+        \12660  = b[869:841];
+      default:
+        \12660  = a;
+    endcase
+  endfunction
+  assign _0768_ = \12660 (ctrl[187:159], { ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], _0706_[43:15], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], a_in[59:31], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159], ctrl[187:159] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12663 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12663  = b[0:0];
+      30'b????????????????????????????1?:
+        \12663  = b[1:1];
+      30'b???????????????????????????1??:
+        \12663  = b[2:2];
+      30'b??????????????????????????1???:
+        \12663  = b[3:3];
+      30'b?????????????????????????1????:
+        \12663  = b[4:4];
+      30'b????????????????????????1?????:
+        \12663  = b[5:5];
+      30'b???????????????????????1??????:
+        \12663  = b[6:6];
+      30'b??????????????????????1???????:
+        \12663  = b[7:7];
+      30'b?????????????????????1????????:
+        \12663  = b[8:8];
+      30'b????????????????????1?????????:
+        \12663  = b[9:9];
+      30'b???????????????????1??????????:
+        \12663  = b[10:10];
+      30'b??????????????????1???????????:
+        \12663  = b[11:11];
+      30'b?????????????????1????????????:
+        \12663  = b[12:12];
+      30'b????????????????1?????????????:
+        \12663  = b[13:13];
+      30'b???????????????1??????????????:
+        \12663  = b[14:14];
+      30'b??????????????1???????????????:
+        \12663  = b[15:15];
+      30'b?????????????1????????????????:
+        \12663  = b[16:16];
+      30'b????????????1?????????????????:
+        \12663  = b[17:17];
+      30'b???????????1??????????????????:
+        \12663  = b[18:18];
+      30'b??????????1???????????????????:
+        \12663  = b[19:19];
+      30'b?????????1????????????????????:
+        \12663  = b[20:20];
+      30'b????????1?????????????????????:
+        \12663  = b[21:21];
+      30'b???????1??????????????????????:
+        \12663  = b[22:22];
+      30'b??????1???????????????????????:
+        \12663  = b[23:23];
+      30'b?????1????????????????????????:
+        \12663  = b[24:24];
+      30'b????1?????????????????????????:
+        \12663  = b[25:25];
+      30'b???1??????????????????????????:
+        \12663  = b[26:26];
+      30'b??1???????????????????????????:
+        \12663  = b[27:27];
+      30'b?1????????????????????????????:
+        \12663  = b[28:28];
+      30'b1?????????????????????????????:
+        \12663  = b[29:29];
+      default:
+        \12663  = a;
+    endcase
+  endfunction
+  assign _0769_ = \12663 (ctrl[188], { ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], a_in[60], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188], ctrl[188] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [2:0] \12666 ;
+    input [2:0] a;
+    input [89:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12666  = b[2:0];
+      30'b????????????????????????????1?:
+        \12666  = b[5:3];
+      30'b???????????????????????????1??:
+        \12666  = b[8:6];
+      30'b??????????????????????????1???:
+        \12666  = b[11:9];
+      30'b?????????????????????????1????:
+        \12666  = b[14:12];
+      30'b????????????????????????1?????:
+        \12666  = b[17:15];
+      30'b???????????????????????1??????:
+        \12666  = b[20:18];
+      30'b??????????????????????1???????:
+        \12666  = b[23:21];
+      30'b?????????????????????1????????:
+        \12666  = b[26:24];
+      30'b????????????????????1?????????:
+        \12666  = b[29:27];
+      30'b???????????????????1??????????:
+        \12666  = b[32:30];
+      30'b??????????????????1???????????:
+        \12666  = b[35:33];
+      30'b?????????????????1????????????:
+        \12666  = b[38:36];
+      30'b????????????????1?????????????:
+        \12666  = b[41:39];
+      30'b???????????????1??????????????:
+        \12666  = b[44:42];
+      30'b??????????????1???????????????:
+        \12666  = b[47:45];
+      30'b?????????????1????????????????:
+        \12666  = b[50:48];
+      30'b????????????1?????????????????:
+        \12666  = b[53:51];
+      30'b???????????1??????????????????:
+        \12666  = b[56:54];
+      30'b??????????1???????????????????:
+        \12666  = b[59:57];
+      30'b?????????1????????????????????:
+        \12666  = b[62:60];
+      30'b????????1?????????????????????:
+        \12666  = b[65:63];
+      30'b???????1??????????????????????:
+        \12666  = b[68:66];
+      30'b??????1???????????????????????:
+        \12666  = b[71:69];
+      30'b?????1????????????????????????:
+        \12666  = b[74:72];
+      30'b????1?????????????????????????:
+        \12666  = b[77:75];
+      30'b???1??????????????????????????:
+        \12666  = b[80:78];
+      30'b??1???????????????????????????:
+        \12666  = b[83:81];
+      30'b?1????????????????????????????:
+        \12666  = b[86:84];
+      30'b1?????????????????????????????:
+        \12666  = b[89:87];
+      default:
+        \12666  = a;
+    endcase
+  endfunction
+  assign _0770_ = \12666 (ctrl[191:189], { ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], _0707_, ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], a_in[63:61], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189], ctrl[191:189] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12668 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12668  = b[0:0];
+      30'b????????????????????????????1?:
+        \12668  = b[1:1];
+      30'b???????????????????????????1??:
+        \12668  = b[2:2];
+      30'b??????????????????????????1???:
+        \12668  = b[3:3];
+      30'b?????????????????????????1????:
+        \12668  = b[4:4];
+      30'b????????????????????????1?????:
+        \12668  = b[5:5];
+      30'b???????????????????????1??????:
+        \12668  = b[6:6];
+      30'b??????????????????????1???????:
+        \12668  = b[7:7];
+      30'b?????????????????????1????????:
+        \12668  = b[8:8];
+      30'b????????????????????1?????????:
+        \12668  = b[9:9];
+      30'b???????????????????1??????????:
+        \12668  = b[10:10];
+      30'b??????????????????1???????????:
+        \12668  = b[11:11];
+      30'b?????????????????1????????????:
+        \12668  = b[12:12];
+      30'b????????????????1?????????????:
+        \12668  = b[13:13];
+      30'b???????????????1??????????????:
+        \12668  = b[14:14];
+      30'b??????????????1???????????????:
+        \12668  = b[15:15];
+      30'b?????????????1????????????????:
+        \12668  = b[16:16];
+      30'b????????????1?????????????????:
+        \12668  = b[17:17];
+      30'b???????????1??????????????????:
+        \12668  = b[18:18];
+      30'b??????????1???????????????????:
+        \12668  = b[19:19];
+      30'b?????????1????????????????????:
+        \12668  = b[20:20];
+      30'b????????1?????????????????????:
+        \12668  = b[21:21];
+      30'b???????1??????????????????????:
+        \12668  = b[22:22];
+      30'b??????1???????????????????????:
+        \12668  = b[23:23];
+      30'b?????1????????????????????????:
+        \12668  = b[24:24];
+      30'b????1?????????????????????????:
+        \12668  = b[25:25];
+      30'b???1??????????????????????????:
+        \12668  = b[26:26];
+      30'b??1???????????????????????????:
+        \12668  = b[27:27];
+      30'b?1????????????????????????????:
+        \12668  = b[28:28];
+      30'b1?????????????????????????????:
+        \12668  = b[29:29];
+      default:
+        \12668  = a;
+    endcase
+  endfunction
+  assign _0771_ = \12668 (1'h0, { 25'h0000000, _0211_, 4'h0 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12669 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12669  = b[0:0];
+      30'b????????????????????????????1?:
+        \12669  = b[1:1];
+      30'b???????????????????????????1??:
+        \12669  = b[2:2];
+      30'b??????????????????????????1???:
+        \12669  = b[3:3];
+      30'b?????????????????????????1????:
+        \12669  = b[4:4];
+      30'b????????????????????????1?????:
+        \12669  = b[5:5];
+      30'b???????????????????????1??????:
+        \12669  = b[6:6];
+      30'b??????????????????????1???????:
+        \12669  = b[7:7];
+      30'b?????????????????????1????????:
+        \12669  = b[8:8];
+      30'b????????????????????1?????????:
+        \12669  = b[9:9];
+      30'b???????????????????1??????????:
+        \12669  = b[10:10];
+      30'b??????????????????1???????????:
+        \12669  = b[11:11];
+      30'b?????????????????1????????????:
+        \12669  = b[12:12];
+      30'b????????????????1?????????????:
+        \12669  = b[13:13];
+      30'b???????????????1??????????????:
+        \12669  = b[14:14];
+      30'b??????????????1???????????????:
+        \12669  = b[15:15];
+      30'b?????????????1????????????????:
+        \12669  = b[16:16];
+      30'b????????????1?????????????????:
+        \12669  = b[17:17];
+      30'b???????????1??????????????????:
+        \12669  = b[18:18];
+      30'b??????????1???????????????????:
+        \12669  = b[19:19];
+      30'b?????????1????????????????????:
+        \12669  = b[20:20];
+      30'b????????1?????????????????????:
+        \12669  = b[21:21];
+      30'b???????1??????????????????????:
+        \12669  = b[22:22];
+      30'b??????1???????????????????????:
+        \12669  = b[23:23];
+      30'b?????1????????????????????????:
+        \12669  = b[24:24];
+      30'b????1?????????????????????????:
+        \12669  = b[25:25];
+      30'b???1??????????????????????????:
+        \12669  = b[26:26];
+      30'b??1???????????????????????????:
+        \12669  = b[27:27];
+      30'b?1????????????????????????????:
+        \12669  = b[28:28];
+      30'b1?????????????????????????????:
+        \12669  = b[29:29];
+      default:
+        \12669  = a;
+    endcase
+  endfunction
+  assign _0772_ = \12669 (1'h0, 30'h10000000, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12670 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12670  = b[0:0];
+      30'b????????????????????????????1?:
+        \12670  = b[1:1];
+      30'b???????????????????????????1??:
+        \12670  = b[2:2];
+      30'b??????????????????????????1???:
+        \12670  = b[3:3];
+      30'b?????????????????????????1????:
+        \12670  = b[4:4];
+      30'b????????????????????????1?????:
+        \12670  = b[5:5];
+      30'b???????????????????????1??????:
+        \12670  = b[6:6];
+      30'b??????????????????????1???????:
+        \12670  = b[7:7];
+      30'b?????????????????????1????????:
+        \12670  = b[8:8];
+      30'b????????????????????1?????????:
+        \12670  = b[9:9];
+      30'b???????????????????1??????????:
+        \12670  = b[10:10];
+      30'b??????????????????1???????????:
+        \12670  = b[11:11];
+      30'b?????????????????1????????????:
+        \12670  = b[12:12];
+      30'b????????????????1?????????????:
+        \12670  = b[13:13];
+      30'b???????????????1??????????????:
+        \12670  = b[14:14];
+      30'b??????????????1???????????????:
+        \12670  = b[15:15];
+      30'b?????????????1????????????????:
+        \12670  = b[16:16];
+      30'b????????????1?????????????????:
+        \12670  = b[17:17];
+      30'b???????????1??????????????????:
+        \12670  = b[18:18];
+      30'b??????????1???????????????????:
+        \12670  = b[19:19];
+      30'b?????????1????????????????????:
+        \12670  = b[20:20];
+      30'b????????1?????????????????????:
+        \12670  = b[21:21];
+      30'b???????1??????????????????????:
+        \12670  = b[22:22];
+      30'b??????1???????????????????????:
+        \12670  = b[23:23];
+      30'b?????1????????????????????????:
+        \12670  = b[24:24];
+      30'b????1?????????????????????????:
+        \12670  = b[25:25];
+      30'b???1??????????????????????????:
+        \12670  = b[26:26];
+      30'b??1???????????????????????????:
+        \12670  = b[27:27];
+      30'b?1????????????????????????????:
+        \12670  = b[28:28];
+      30'b1?????????????????????????????:
+        \12670  = b[29:29];
+      default:
+        \12670  = a;
+    endcase
+  endfunction
+  assign _0773_ = \12670 (1'h0, 30'h20000000, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12673 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12673  = b[0:0];
+      30'b????????????????????????????1?:
+        \12673  = b[1:1];
+      30'b???????????????????????????1??:
+        \12673  = b[2:2];
+      30'b??????????????????????????1???:
+        \12673  = b[3:3];
+      30'b?????????????????????????1????:
+        \12673  = b[4:4];
+      30'b????????????????????????1?????:
+        \12673  = b[5:5];
+      30'b???????????????????????1??????:
+        \12673  = b[6:6];
+      30'b??????????????????????1???????:
+        \12673  = b[7:7];
+      30'b?????????????????????1????????:
+        \12673  = b[8:8];
+      30'b????????????????????1?????????:
+        \12673  = b[9:9];
+      30'b???????????????????1??????????:
+        \12673  = b[10:10];
+      30'b??????????????????1???????????:
+        \12673  = b[11:11];
+      30'b?????????????????1????????????:
+        \12673  = b[12:12];
+      30'b????????????????1?????????????:
+        \12673  = b[13:13];
+      30'b???????????????1??????????????:
+        \12673  = b[14:14];
+      30'b??????????????1???????????????:
+        \12673  = b[15:15];
+      30'b?????????????1????????????????:
+        \12673  = b[16:16];
+      30'b????????????1?????????????????:
+        \12673  = b[17:17];
+      30'b???????????1??????????????????:
+        \12673  = b[18:18];
+      30'b??????????1???????????????????:
+        \12673  = b[19:19];
+      30'b?????????1????????????????????:
+        \12673  = b[20:20];
+      30'b????????1?????????????????????:
+        \12673  = b[21:21];
+      30'b???????1??????????????????????:
+        \12673  = b[22:22];
+      30'b??????1???????????????????????:
+        \12673  = b[23:23];
+      30'b?????1????????????????????????:
+        \12673  = b[24:24];
+      30'b????1?????????????????????????:
+        \12673  = b[25:25];
+      30'b???1??????????????????????????:
+        \12673  = b[26:26];
+      30'b??1???????????????????????????:
+        \12673  = b[27:27];
+      30'b?1????????????????????????????:
+        \12673  = b[28:28];
+      30'b1?????????????????????????????:
+        \12673  = b[29:29];
+      default:
+        \12673  = a;
+    endcase
+  endfunction
+  assign _0774_ = \12673 (1'h1, { 5'h07, _0724_[0], 19'h7feff, _0212_[0], 4'hf }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [2:0] \12679 ;
+    input [2:0] a;
+    input [89:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12679  = b[2:0];
+      30'b????????????????????????????1?:
+        \12679  = b[5:3];
+      30'b???????????????????????????1??:
+        \12679  = b[8:6];
+      30'b??????????????????????????1???:
+        \12679  = b[11:9];
+      30'b?????????????????????????1????:
+        \12679  = b[14:12];
+      30'b????????????????????????1?????:
+        \12679  = b[17:15];
+      30'b???????????????????????1??????:
+        \12679  = b[20:18];
+      30'b??????????????????????1???????:
+        \12679  = b[23:21];
+      30'b?????????????????????1????????:
+        \12679  = b[26:24];
+      30'b????????????????????1?????????:
+        \12679  = b[29:27];
+      30'b???????????????????1??????????:
+        \12679  = b[32:30];
+      30'b??????????????????1???????????:
+        \12679  = b[35:33];
+      30'b?????????????????1????????????:
+        \12679  = b[38:36];
+      30'b????????????????1?????????????:
+        \12679  = b[41:39];
+      30'b???????????????1??????????????:
+        \12679  = b[44:42];
+      30'b??????????????1???????????????:
+        \12679  = b[47:45];
+      30'b?????????????1????????????????:
+        \12679  = b[50:48];
+      30'b????????????1?????????????????:
+        \12679  = b[53:51];
+      30'b???????????1??????????????????:
+        \12679  = b[56:54];
+      30'b??????????1???????????????????:
+        \12679  = b[59:57];
+      30'b?????????1????????????????????:
+        \12679  = b[62:60];
+      30'b????????1?????????????????????:
+        \12679  = b[65:63];
+      30'b???????1??????????????????????:
+        \12679  = b[68:66];
+      30'b??????1???????????????????????:
+        \12679  = b[71:69];
+      30'b?????1????????????????????????:
+        \12679  = b[74:72];
+      30'b????1?????????????????????????:
+        \12679  = b[77:75];
+      30'b???1??????????????????????????:
+        \12679  = b[80:78];
+      30'b??1???????????????????????????:
+        \12679  = b[83:81];
+      30'b?1????????????????????????????:
+        \12679  = b[86:84];
+      30'b1?????????????????????????????:
+        \12679  = b[89:87];
+      default:
+        \12679  = a;
+    endcase
+  endfunction
+  assign _0775_ = \12679 ({ 1'h0, _0085_, 1'h0 }, { 1'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 1'h0, _0724_[3:1], 1'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 1'h0, _0212_[3:1], 1'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 2'h0, _0085_, 1'h0 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [6:0] \12682 ;
+    input [6:0] a;
+    input [209:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12682  = b[6:0];
+      30'b????????????????????????????1?:
+        \12682  = b[13:7];
+      30'b???????????????????????????1??:
+        \12682  = b[20:14];
+      30'b??????????????????????????1???:
+        \12682  = b[27:21];
+      30'b?????????????????????????1????:
+        \12682  = b[34:28];
+      30'b????????????????????????1?????:
+        \12682  = b[41:35];
+      30'b???????????????????????1??????:
+        \12682  = b[48:42];
+      30'b??????????????????????1???????:
+        \12682  = b[55:49];
+      30'b?????????????????????1????????:
+        \12682  = b[62:56];
+      30'b????????????????????1?????????:
+        \12682  = b[69:63];
+      30'b???????????????????1??????????:
+        \12682  = b[76:70];
+      30'b??????????????????1???????????:
+        \12682  = b[83:77];
+      30'b?????????????????1????????????:
+        \12682  = b[90:84];
+      30'b????????????????1?????????????:
+        \12682  = b[97:91];
+      30'b???????????????1??????????????:
+        \12682  = b[104:98];
+      30'b??????????????1???????????????:
+        \12682  = b[111:105];
+      30'b?????????????1????????????????:
+        \12682  = b[118:112];
+      30'b????????????1?????????????????:
+        \12682  = b[125:119];
+      30'b???????????1??????????????????:
+        \12682  = b[132:126];
+      30'b??????????1???????????????????:
+        \12682  = b[139:133];
+      30'b?????????1????????????????????:
+        \12682  = b[146:140];
+      30'b????????1?????????????????????:
+        \12682  = b[153:147];
+      30'b???????1??????????????????????:
+        \12682  = b[160:154];
+      30'b??????1???????????????????????:
+        \12682  = b[167:161];
+      30'b?????1????????????????????????:
+        \12682  = b[174:168];
+      30'b????1?????????????????????????:
+        \12682  = b[181:175];
+      30'b???1??????????????????????????:
+        \12682  = b[188:182];
+      30'b??1???????????????????????????:
+        \12682  = b[195:189];
+      30'b?1????????????????????????????:
+        \12682  = b[202:196];
+      30'b1?????????????????????????????:
+        \12682  = b[209:203];
+      default:
+        \12682  = a;
+    endcase
+  endfunction
+  assign _0776_ = \12682 (e_in[79:73], { e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], _0724_[10:4], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], _0370_, _0352_, e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73], _0212_[10:4], e_in[79:73], e_in[79:73], e_in[79:73], e_in[79:73] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [63:0] \12686 ;
+    input [63:0] a;
+    input [1919:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12686  = b[63:0];
+      30'b????????????????????????????1?:
+        \12686  = b[127:64];
+      30'b???????????????????????????1??:
+        \12686  = b[191:128];
+      30'b??????????????????????????1???:
+        \12686  = b[255:192];
+      30'b?????????????????????????1????:
+        \12686  = b[319:256];
+      30'b????????????????????????1?????:
+        \12686  = b[383:320];
+      30'b???????????????????????1??????:
+        \12686  = b[447:384];
+      30'b??????????????????????1???????:
+        \12686  = b[511:448];
+      30'b?????????????????????1????????:
+        \12686  = b[575:512];
+      30'b????????????????????1?????????:
+        \12686  = b[639:576];
+      30'b???????????????????1??????????:
+        \12686  = b[703:640];
+      30'b??????????????????1???????????:
+        \12686  = b[767:704];
+      30'b?????????????????1????????????:
+        \12686  = b[831:768];
+      30'b????????????????1?????????????:
+        \12686  = b[895:832];
+      30'b???????????????1??????????????:
+        \12686  = b[959:896];
+      30'b??????????????1???????????????:
+        \12686  = b[1023:960];
+      30'b?????????????1????????????????:
+        \12686  = b[1087:1024];
+      30'b????????????1?????????????????:
+        \12686  = b[1151:1088];
+      30'b???????????1??????????????????:
+        \12686  = b[1215:1152];
+      30'b??????????1???????????????????:
+        \12686  = b[1279:1216];
+      30'b?????????1????????????????????:
+        \12686  = b[1343:1280];
+      30'b????????1?????????????????????:
+        \12686  = b[1407:1344];
+      30'b???????1??????????????????????:
+        \12686  = b[1471:1408];
+      30'b??????1???????????????????????:
+        \12686  = b[1535:1472];
+      30'b?????1????????????????????????:
+        \12686  = b[1599:1536];
+      30'b????1?????????????????????????:
+        \12686  = b[1663:1600];
+      30'b???1??????????????????????????:
+        \12686  = b[1727:1664];
+      30'b??1???????????????????????????:
+        \12686  = b[1791:1728];
+      30'b?1????????????????????????????:
+        \12686  = b[1855:1792];
+      30'b1?????????????????????????????:
+        \12686  = b[1919:1856];
+      default:
+        \12686  = a;
+    endcase
+  endfunction
+  assign _0777_ = \12686 (64'h0000000000000000, { 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000, _0724_[74:11], 1216'h0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, _0212_[74:11], 256'h0000000000000000000000000000000000000000000000000000000000000000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12691 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12691  = b[0:0];
+      30'b????????????????????????????1?:
+        \12691  = b[1:1];
+      30'b???????????????????????????1??:
+        \12691  = b[2:2];
+      30'b??????????????????????????1???:
+        \12691  = b[3:3];
+      30'b?????????????????????????1????:
+        \12691  = b[4:4];
+      30'b????????????????????????1?????:
+        \12691  = b[5:5];
+      30'b???????????????????????1??????:
+        \12691  = b[6:6];
+      30'b??????????????????????1???????:
+        \12691  = b[7:7];
+      30'b?????????????????????1????????:
+        \12691  = b[8:8];
+      30'b????????????????????1?????????:
+        \12691  = b[9:9];
+      30'b???????????????????1??????????:
+        \12691  = b[10:10];
+      30'b??????????????????1???????????:
+        \12691  = b[11:11];
+      30'b?????????????????1????????????:
+        \12691  = b[12:12];
+      30'b????????????????1?????????????:
+        \12691  = b[13:13];
+      30'b???????????????1??????????????:
+        \12691  = b[14:14];
+      30'b??????????????1???????????????:
+        \12691  = b[15:15];
+      30'b?????????????1????????????????:
+        \12691  = b[16:16];
+      30'b????????????1?????????????????:
+        \12691  = b[17:17];
+      30'b???????????1??????????????????:
+        \12691  = b[18:18];
+      30'b??????????1???????????????????:
+        \12691  = b[19:19];
+      30'b?????????1????????????????????:
+        \12691  = b[20:20];
+      30'b????????1?????????????????????:
+        \12691  = b[21:21];
+      30'b???????1??????????????????????:
+        \12691  = b[22:22];
+      30'b??????1???????????????????????:
+        \12691  = b[23:23];
+      30'b?????1????????????????????????:
+        \12691  = b[24:24];
+      30'b????1?????????????????????????:
+        \12691  = b[25:25];
+      30'b???1??????????????????????????:
+        \12691  = b[26:26];
+      30'b??1???????????????????????????:
+        \12691  = b[27:27];
+      30'b?1????????????????????????????:
+        \12691  = b[28:28];
+      30'b1?????????????????????????????:
+        \12691  = b[29:29];
+      default:
+        \12691  = a;
+    endcase
+  endfunction
+  assign _0778_ = \12691 (1'h0, { 5'h00, _0724_[75], 8'h21, _0500_[0], 10'h006, _0213_[0], 4'h0 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [7:0] \12696 ;
+    input [7:0] a;
+    input [239:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12696  = b[7:0];
+      30'b????????????????????????????1?:
+        \12696  = b[15:8];
+      30'b???????????????????????????1??:
+        \12696  = b[23:16];
+      30'b??????????????????????????1???:
+        \12696  = b[31:24];
+      30'b?????????????????????????1????:
+        \12696  = b[39:32];
+      30'b????????????????????????1?????:
+        \12696  = b[47:40];
+      30'b???????????????????????1??????:
+        \12696  = b[55:48];
+      30'b??????????????????????1???????:
+        \12696  = b[63:56];
+      30'b?????????????????????1????????:
+        \12696  = b[71:64];
+      30'b????????????????????1?????????:
+        \12696  = b[79:72];
+      30'b???????????????????1??????????:
+        \12696  = b[87:80];
+      30'b??????????????????1???????????:
+        \12696  = b[95:88];
+      30'b?????????????????1????????????:
+        \12696  = b[103:96];
+      30'b????????????????1?????????????:
+        \12696  = b[111:104];
+      30'b???????????????1??????????????:
+        \12696  = b[119:112];
+      30'b??????????????1???????????????:
+        \12696  = b[127:120];
+      30'b?????????????1????????????????:
+        \12696  = b[135:128];
+      30'b????????????1?????????????????:
+        \12696  = b[143:136];
+      30'b???????????1??????????????????:
+        \12696  = b[151:144];
+      30'b??????????1???????????????????:
+        \12696  = b[159:152];
+      30'b?????????1????????????????????:
+        \12696  = b[167:160];
+      30'b????????1?????????????????????:
+        \12696  = b[175:168];
+      30'b???????1??????????????????????:
+        \12696  = b[183:176];
+      30'b??????1???????????????????????:
+        \12696  = b[191:184];
+      30'b?????1????????????????????????:
+        \12696  = b[199:192];
+      30'b????1?????????????????????????:
+        \12696  = b[207:200];
+      30'b???1??????????????????????????:
+        \12696  = b[215:208];
+      30'b??1???????????????????????????:
+        \12696  = b[223:216];
+      30'b?1????????????????????????????:
+        \12696  = b[231:224];
+      30'b1?????????????????????????????:
+        \12696  = b[239:232];
+      default:
+        \12696  = a;
+    endcase
+  endfunction
+  assign _0779_ = \12696 (8'h00, { 40'h0000000000, _0724_[83:76], 16'h0000, _0695_, 32'h00000000, _0510_, _0500_[8:1], 56'h00000000000000, _0329_, _0303_, 8'h00, _0213_[8:1], 32'h00000000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [31:0] \12701 ;
+    input [31:0] a;
+    input [959:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12701  = b[31:0];
+      30'b????????????????????????????1?:
+        \12701  = b[63:32];
+      30'b???????????????????????????1??:
+        \12701  = b[95:64];
+      30'b??????????????????????????1???:
+        \12701  = b[127:96];
+      30'b?????????????????????????1????:
+        \12701  = b[159:128];
+      30'b????????????????????????1?????:
+        \12701  = b[191:160];
+      30'b???????????????????????1??????:
+        \12701  = b[223:192];
+      30'b??????????????????????1???????:
+        \12701  = b[255:224];
+      30'b?????????????????????1????????:
+        \12701  = b[287:256];
+      30'b????????????????????1?????????:
+        \12701  = b[319:288];
+      30'b???????????????????1??????????:
+        \12701  = b[351:320];
+      30'b??????????????????1???????????:
+        \12701  = b[383:352];
+      30'b?????????????????1????????????:
+        \12701  = b[415:384];
+      30'b????????????????1?????????????:
+        \12701  = b[447:416];
+      30'b???????????????1??????????????:
+        \12701  = b[479:448];
+      30'b??????????????1???????????????:
+        \12701  = b[511:480];
+      30'b?????????????1????????????????:
+        \12701  = b[543:512];
+      30'b????????????1?????????????????:
+        \12701  = b[575:544];
+      30'b???????????1??????????????????:
+        \12701  = b[607:576];
+      30'b??????????1???????????????????:
+        \12701  = b[639:608];
+      30'b?????????1????????????????????:
+        \12701  = b[671:640];
+      30'b????????1?????????????????????:
+        \12701  = b[703:672];
+      30'b???????1??????????????????????:
+        \12701  = b[735:704];
+      30'b??????1???????????????????????:
+        \12701  = b[767:736];
+      30'b?????1????????????????????????:
+        \12701  = b[799:768];
+      30'b????1?????????????????????????:
+        \12701  = b[831:800];
+      30'b???1??????????????????????????:
+        \12701  = b[863:832];
+      30'b??1???????????????????????????:
+        \12701  = b[895:864];
+      30'b?1????????????????????????????:
+        \12701  = b[927:896];
+      30'b1?????????????????????????????:
+        \12701  = b[959:928];
+      default:
+        \12701  = a;
+    endcase
+  endfunction
+  assign _0780_ = \12701 (32'd0, { 160'h0000000000000000000000000000000000000000, _0724_[115:84], 64'h0000000000000000, c_in[31:0], 128'h00000000000000000000000000000000, _0012_[2], _0012_[0], _0012_[3], _0012_[1], _0012_[2], _0012_[0], _0012_[3], _0012_[1], _0012_[2], _0012_[0], _0012_[3], _0012_[1], _0012_[2], _0012_[0], _0012_[3], _0012_[1], _0012_[2], _0012_[0], _0012_[3], _0012_[1], _0012_[2], _0012_[0], _0012_[3], _0012_[1], _0012_[2], _0012_[0], _0012_[3], _0012_[1], _0012_[2], _0012_[0], _0012_[3], _0012_[1], _0500_[40:9], 225'h000000000000000000000000000000000000000000000000000000000, _0320_, 3'h0, _0320_, 3'h0, _0320_, 3'h0, _0320_, 3'h0, _0320_, 3'h0, _0320_, 3'h0, _0320_, 3'h0, _0320_, 3'h0, _0294_, 3'h0, _0294_, 3'h0, _0294_, 3'h0, _0294_, 3'h0, _0294_, 3'h0, _0294_, 3'h0, _0294_, 3'h0, _0294_, 34'h000000000, _0213_[40:9], 128'h00000000000000000000000000000000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [5:0] \12706 ;
+    input [5:0] a;
+    input [179:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12706  = b[5:0];
+      30'b????????????????????????????1?:
+        \12706  = b[11:6];
+      30'b???????????????????????????1??:
+        \12706  = b[17:12];
+      30'b??????????????????????????1???:
+        \12706  = b[23:18];
+      30'b?????????????????????????1????:
+        \12706  = b[29:24];
+      30'b????????????????????????1?????:
+        \12706  = b[35:30];
+      30'b???????????????????????1??????:
+        \12706  = b[41:36];
+      30'b??????????????????????1???????:
+        \12706  = b[47:42];
+      30'b?????????????????????1????????:
+        \12706  = b[53:48];
+      30'b????????????????????1?????????:
+        \12706  = b[59:54];
+      30'b???????????????????1??????????:
+        \12706  = b[65:60];
+      30'b??????????????????1???????????:
+        \12706  = b[71:66];
+      30'b?????????????????1????????????:
+        \12706  = b[77:72];
+      30'b????????????????1?????????????:
+        \12706  = b[83:78];
+      30'b???????????????1??????????????:
+        \12706  = b[89:84];
+      30'b??????????????1???????????????:
+        \12706  = b[95:90];
+      30'b?????????????1????????????????:
+        \12706  = b[101:96];
+      30'b????????????1?????????????????:
+        \12706  = b[107:102];
+      30'b???????????1??????????????????:
+        \12706  = b[113:108];
+      30'b??????????1???????????????????:
+        \12706  = b[119:114];
+      30'b?????????1????????????????????:
+        \12706  = b[125:120];
+      30'b????????1?????????????????????:
+        \12706  = b[131:126];
+      30'b???????1??????????????????????:
+        \12706  = b[137:132];
+      30'b??????1???????????????????????:
+        \12706  = b[143:138];
+      30'b?????1????????????????????????:
+        \12706  = b[149:144];
+      30'b????1?????????????????????????:
+        \12706  = b[155:150];
+      30'b???1??????????????????????????:
+        \12706  = b[161:156];
+      30'b??1???????????????????????????:
+        \12706  = b[167:162];
+      30'b?1????????????????????????????:
+        \12706  = b[173:168];
+      30'b1?????????????????????????????:
+        \12706  = b[179:174];
+      default:
+        \12706  = a;
+    endcase
+  endfunction
+  assign _0781_ = \12706 ({ _0012_, 1'h0 }, { _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0724_[121:116], _0718_, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0214_[5:0], _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0, _0012_, 1'h0 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [71:0] \12710 ;
+    input [71:0] a;
+    input [2159:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12710  = b[71:0];
+      30'b????????????????????????????1?:
+        \12710  = b[143:72];
+      30'b???????????????????????????1??:
+        \12710  = b[215:144];
+      30'b??????????????????????????1???:
+        \12710  = b[287:216];
+      30'b?????????????????????????1????:
+        \12710  = b[359:288];
+      30'b????????????????????????1?????:
+        \12710  = b[431:360];
+      30'b???????????????????????1??????:
+        \12710  = b[503:432];
+      30'b??????????????????????1???????:
+        \12710  = b[575:504];
+      30'b?????????????????????1????????:
+        \12710  = b[647:576];
+      30'b????????????????????1?????????:
+        \12710  = b[719:648];
+      30'b???????????????????1??????????:
+        \12710  = b[791:720];
+      30'b??????????????????1???????????:
+        \12710  = b[863:792];
+      30'b?????????????????1????????????:
+        \12710  = b[935:864];
+      30'b????????????????1?????????????:
+        \12710  = b[1007:936];
+      30'b???????????????1??????????????:
+        \12710  = b[1079:1008];
+      30'b??????????????1???????????????:
+        \12710  = b[1151:1080];
+      30'b?????????????1????????????????:
+        \12710  = b[1223:1152];
+      30'b????????????1?????????????????:
+        \12710  = b[1295:1224];
+      30'b???????????1??????????????????:
+        \12710  = b[1367:1296];
+      30'b??????????1???????????????????:
+        \12710  = b[1439:1368];
+      30'b?????????1????????????????????:
+        \12710  = b[1511:1440];
+      30'b????????1?????????????????????:
+        \12710  = b[1583:1512];
+      30'b???????1??????????????????????:
+        \12710  = b[1655:1584];
+      30'b??????1???????????????????????:
+        \12710  = b[1727:1656];
+      30'b?????1????????????????????????:
+        \12710  = b[1799:1728];
+      30'b????1?????????????????????????:
+        \12710  = b[1871:1800];
+      30'b???1??????????????????????????:
+        \12710  = b[1943:1872];
+      30'b??1???????????????????????????:
+        \12710  = b[2015:1944];
+      30'b?1????????????????????????????:
+        \12710  = b[2087:2016];
+      30'b1?????????????????????????????:
+        \12710  = b[2159:2088];
+      default:
+        \12710  = a;
+    endcase
+  endfunction
+  assign _0782_ = \12710 ({ _0083_, 8'h44 }, { _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0724_[193:122], _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0214_[77:6], _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44, _0083_, 8'h44 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12711 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12711  = b[0:0];
+      30'b????????????????????????????1?:
+        \12711  = b[1:1];
+      30'b???????????????????????????1??:
+        \12711  = b[2:2];
+      30'b??????????????????????????1???:
+        \12711  = b[3:3];
+      30'b?????????????????????????1????:
+        \12711  = b[4:4];
+      30'b????????????????????????1?????:
+        \12711  = b[5:5];
+      30'b???????????????????????1??????:
+        \12711  = b[6:6];
+      30'b??????????????????????1???????:
+        \12711  = b[7:7];
+      30'b?????????????????????1????????:
+        \12711  = b[8:8];
+      30'b????????????????????1?????????:
+        \12711  = b[9:9];
+      30'b???????????????????1??????????:
+        \12711  = b[10:10];
+      30'b??????????????????1???????????:
+        \12711  = b[11:11];
+      30'b?????????????????1????????????:
+        \12711  = b[12:12];
+      30'b????????????????1?????????????:
+        \12711  = b[13:13];
+      30'b???????????????1??????????????:
+        \12711  = b[14:14];
+      30'b??????????????1???????????????:
+        \12711  = b[15:15];
+      30'b?????????????1????????????????:
+        \12711  = b[16:16];
+      30'b????????????1?????????????????:
+        \12711  = b[17:17];
+      30'b???????????1??????????????????:
+        \12711  = b[18:18];
+      30'b??????????1???????????????????:
+        \12711  = b[19:19];
+      30'b?????????1????????????????????:
+        \12711  = b[20:20];
+      30'b????????1?????????????????????:
+        \12711  = b[21:21];
+      30'b???????1??????????????????????:
+        \12711  = b[22:22];
+      30'b??????1???????????????????????:
+        \12711  = b[23:23];
+      30'b?????1????????????????????????:
+        \12711  = b[24:24];
+      30'b????1?????????????????????????:
+        \12711  = b[25:25];
+      30'b???1??????????????????????????:
+        \12711  = b[26:26];
+      30'b??1???????????????????????????:
+        \12711  = b[27:27];
+      30'b?1????????????????????????????:
+        \12711  = b[28:28];
+      30'b1?????????????????????????????:
+        \12711  = b[29:29];
+      default:
+        \12711  = a;
+    endcase
+  endfunction
+  assign _0783_ = \12711 (1'h0, 30'h04000000, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12712 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12712  = b[0:0];
+      30'b????????????????????????????1?:
+        \12712  = b[1:1];
+      30'b???????????????????????????1??:
+        \12712  = b[2:2];
+      30'b??????????????????????????1???:
+        \12712  = b[3:3];
+      30'b?????????????????????????1????:
+        \12712  = b[4:4];
+      30'b????????????????????????1?????:
+        \12712  = b[5:5];
+      30'b???????????????????????1??????:
+        \12712  = b[6:6];
+      30'b??????????????????????1???????:
+        \12712  = b[7:7];
+      30'b?????????????????????1????????:
+        \12712  = b[8:8];
+      30'b????????????????????1?????????:
+        \12712  = b[9:9];
+      30'b???????????????????1??????????:
+        \12712  = b[10:10];
+      30'b??????????????????1???????????:
+        \12712  = b[11:11];
+      30'b?????????????????1????????????:
+        \12712  = b[12:12];
+      30'b????????????????1?????????????:
+        \12712  = b[13:13];
+      30'b???????????????1??????????????:
+        \12712  = b[14:14];
+      30'b??????????????1???????????????:
+        \12712  = b[15:15];
+      30'b?????????????1????????????????:
+        \12712  = b[16:16];
+      30'b????????????1?????????????????:
+        \12712  = b[17:17];
+      30'b???????????1??????????????????:
+        \12712  = b[18:18];
+      30'b??????????1???????????????????:
+        \12712  = b[19:19];
+      30'b?????????1????????????????????:
+        \12712  = b[20:20];
+      30'b????????1?????????????????????:
+        \12712  = b[21:21];
+      30'b???????1??????????????????????:
+        \12712  = b[22:22];
+      30'b??????1???????????????????????:
+        \12712  = b[23:23];
+      30'b?????1????????????????????????:
+        \12712  = b[24:24];
+      30'b????1?????????????????????????:
+        \12712  = b[25:25];
+      30'b???1??????????????????????????:
+        \12712  = b[26:26];
+      30'b??1???????????????????????????:
+        \12712  = b[27:27];
+      30'b?1????????????????????????????:
+        \12712  = b[28:28];
+      30'b1?????????????????????????????:
+        \12712  = b[29:29];
+      default:
+        \12712  = a;
+    endcase
+  endfunction
+  assign _0784_ = \12712 (ctrl[133], { ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], _0384_, ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133], ctrl[133] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12713 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12713  = b[0:0];
+      30'b????????????????????????????1?:
+        \12713  = b[1:1];
+      30'b???????????????????????????1??:
+        \12713  = b[2:2];
+      30'b??????????????????????????1???:
+        \12713  = b[3:3];
+      30'b?????????????????????????1????:
+        \12713  = b[4:4];
+      30'b????????????????????????1?????:
+        \12713  = b[5:5];
+      30'b???????????????????????1??????:
+        \12713  = b[6:6];
+      30'b??????????????????????1???????:
+        \12713  = b[7:7];
+      30'b?????????????????????1????????:
+        \12713  = b[8:8];
+      30'b????????????????????1?????????:
+        \12713  = b[9:9];
+      30'b???????????????????1??????????:
+        \12713  = b[10:10];
+      30'b??????????????????1???????????:
+        \12713  = b[11:11];
+      30'b?????????????????1????????????:
+        \12713  = b[12:12];
+      30'b????????????????1?????????????:
+        \12713  = b[13:13];
+      30'b???????????????1??????????????:
+        \12713  = b[14:14];
+      30'b??????????????1???????????????:
+        \12713  = b[15:15];
+      30'b?????????????1????????????????:
+        \12713  = b[16:16];
+      30'b????????????1?????????????????:
+        \12713  = b[17:17];
+      30'b???????????1??????????????????:
+        \12713  = b[18:18];
+      30'b??????????1???????????????????:
+        \12713  = b[19:19];
+      30'b?????????1????????????????????:
+        \12713  = b[20:20];
+      30'b????????1?????????????????????:
+        \12713  = b[21:21];
+      30'b???????1??????????????????????:
+        \12713  = b[22:22];
+      30'b??????1???????????????????????:
+        \12713  = b[23:23];
+      30'b?????1????????????????????????:
+        \12713  = b[24:24];
+      30'b????1?????????????????????????:
+        \12713  = b[25:25];
+      30'b???1??????????????????????????:
+        \12713  = b[26:26];
+      30'b??1???????????????????????????:
+        \12713  = b[27:27];
+      30'b?1????????????????????????????:
+        \12713  = b[28:28];
+      30'b1?????????????????????????????:
+        \12713  = b[29:29];
+      default:
+        \12713  = a;
+    endcase
+  endfunction
+  assign _0785_ = \12713 (_0071_, { _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0385_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_, _0071_ }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12714 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12714  = b[0:0];
+      30'b????????????????????????????1?:
+        \12714  = b[1:1];
+      30'b???????????????????????????1??:
+        \12714  = b[2:2];
+      30'b??????????????????????????1???:
+        \12714  = b[3:3];
+      30'b?????????????????????????1????:
+        \12714  = b[4:4];
+      30'b????????????????????????1?????:
+        \12714  = b[5:5];
+      30'b???????????????????????1??????:
+        \12714  = b[6:6];
+      30'b??????????????????????1???????:
+        \12714  = b[7:7];
+      30'b?????????????????????1????????:
+        \12714  = b[8:8];
+      30'b????????????????????1?????????:
+        \12714  = b[9:9];
+      30'b???????????????????1??????????:
+        \12714  = b[10:10];
+      30'b??????????????????1???????????:
+        \12714  = b[11:11];
+      30'b?????????????????1????????????:
+        \12714  = b[12:12];
+      30'b????????????????1?????????????:
+        \12714  = b[13:13];
+      30'b???????????????1??????????????:
+        \12714  = b[14:14];
+      30'b??????????????1???????????????:
+        \12714  = b[15:15];
+      30'b?????????????1????????????????:
+        \12714  = b[16:16];
+      30'b????????????1?????????????????:
+        \12714  = b[17:17];
+      30'b???????????1??????????????????:
+        \12714  = b[18:18];
+      30'b??????????1???????????????????:
+        \12714  = b[19:19];
+      30'b?????????1????????????????????:
+        \12714  = b[20:20];
+      30'b????????1?????????????????????:
+        \12714  = b[21:21];
+      30'b???????1??????????????????????:
+        \12714  = b[22:22];
+      30'b??????1???????????????????????:
+        \12714  = b[23:23];
+      30'b?????1????????????????????????:
+        \12714  = b[24:24];
+      30'b????1?????????????????????????:
+        \12714  = b[25:25];
+      30'b???1??????????????????????????:
+        \12714  = b[26:26];
+      30'b??1???????????????????????????:
+        \12714  = b[27:27];
+      30'b?1????????????????????????????:
+        \12714  = b[28:28];
+      30'b1?????????????????????????????:
+        \12714  = b[29:29];
+      default:
+        \12714  = a;
+    endcase
+  endfunction
+  assign _0786_ = \12714 (_0072_, { _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0386_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_, _0072_ }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12715 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12715  = b[0:0];
+      30'b????????????????????????????1?:
+        \12715  = b[1:1];
+      30'b???????????????????????????1??:
+        \12715  = b[2:2];
+      30'b??????????????????????????1???:
+        \12715  = b[3:3];
+      30'b?????????????????????????1????:
+        \12715  = b[4:4];
+      30'b????????????????????????1?????:
+        \12715  = b[5:5];
+      30'b???????????????????????1??????:
+        \12715  = b[6:6];
+      30'b??????????????????????1???????:
+        \12715  = b[7:7];
+      30'b?????????????????????1????????:
+        \12715  = b[8:8];
+      30'b????????????????????1?????????:
+        \12715  = b[9:9];
+      30'b???????????????????1??????????:
+        \12715  = b[10:10];
+      30'b??????????????????1???????????:
+        \12715  = b[11:11];
+      30'b?????????????????1????????????:
+        \12715  = b[12:12];
+      30'b????????????????1?????????????:
+        \12715  = b[13:13];
+      30'b???????????????1??????????????:
+        \12715  = b[14:14];
+      30'b??????????????1???????????????:
+        \12715  = b[15:15];
+      30'b?????????????1????????????????:
+        \12715  = b[16:16];
+      30'b????????????1?????????????????:
+        \12715  = b[17:17];
+      30'b???????????1??????????????????:
+        \12715  = b[18:18];
+      30'b??????????1???????????????????:
+        \12715  = b[19:19];
+      30'b?????????1????????????????????:
+        \12715  = b[20:20];
+      30'b????????1?????????????????????:
+        \12715  = b[21:21];
+      30'b???????1??????????????????????:
+        \12715  = b[22:22];
+      30'b??????1???????????????????????:
+        \12715  = b[23:23];
+      30'b?????1????????????????????????:
+        \12715  = b[24:24];
+      30'b????1?????????????????????????:
+        \12715  = b[25:25];
+      30'b???1??????????????????????????:
+        \12715  = b[26:26];
+      30'b??1???????????????????????????:
+        \12715  = b[27:27];
+      30'b?1????????????????????????????:
+        \12715  = b[28:28];
+      30'b1?????????????????????????????:
+        \12715  = b[29:29];
+      default:
+        \12715  = a;
+    endcase
+  endfunction
+  assign _0787_ = \12715 (_0073_, { _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0387_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_, _0073_ }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [63:0] \12716 ;
+    input [63:0] a;
+    input [1919:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12716  = b[63:0];
+      30'b????????????????????????????1?:
+        \12716  = b[127:64];
+      30'b???????????????????????????1??:
+        \12716  = b[191:128];
+      30'b??????????????????????????1???:
+        \12716  = b[255:192];
+      30'b?????????????????????????1????:
+        \12716  = b[319:256];
+      30'b????????????????????????1?????:
+        \12716  = b[383:320];
+      30'b???????????????????????1??????:
+        \12716  = b[447:384];
+      30'b??????????????????????1???????:
+        \12716  = b[511:448];
+      30'b?????????????????????1????????:
+        \12716  = b[575:512];
+      30'b????????????????????1?????????:
+        \12716  = b[639:576];
+      30'b???????????????????1??????????:
+        \12716  = b[703:640];
+      30'b??????????????????1???????????:
+        \12716  = b[767:704];
+      30'b?????????????????1????????????:
+        \12716  = b[831:768];
+      30'b????????????????1?????????????:
+        \12716  = b[895:832];
+      30'b???????????????1??????????????:
+        \12716  = b[959:896];
+      30'b??????????????1???????????????:
+        \12716  = b[1023:960];
+      30'b?????????????1????????????????:
+        \12716  = b[1087:1024];
+      30'b????????????1?????????????????:
+        \12716  = b[1151:1088];
+      30'b???????????1??????????????????:
+        \12716  = b[1215:1152];
+      30'b??????????1???????????????????:
+        \12716  = b[1279:1216];
+      30'b?????????1????????????????????:
+        \12716  = b[1343:1280];
+      30'b????????1?????????????????????:
+        \12716  = b[1407:1344];
+      30'b???????1??????????????????????:
+        \12716  = b[1471:1408];
+      30'b??????1???????????????????????:
+        \12716  = b[1535:1472];
+      30'b?????1????????????????????????:
+        \12716  = b[1599:1536];
+      30'b????1?????????????????????????:
+        \12716  = b[1663:1600];
+      30'b???1??????????????????????????:
+        \12716  = b[1727:1664];
+      30'b??1???????????????????????????:
+        \12716  = b[1791:1728];
+      30'b?1????????????????????????????:
+        \12716  = b[1855:1792];
+      30'b1?????????????????????????????:
+        \12716  = b[1919:1856];
+      default:
+        \12716  = a;
+    endcase
+  endfunction
+  assign _0788_ = \12716 (_0069_, { _0069_, _0069_, _0069_, _0074_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0069_, _0215_, _0069_, _0069_, _0128_, _0069_ }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12717 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12717  = b[0:0];
+      30'b????????????????????????????1?:
+        \12717  = b[1:1];
+      30'b???????????????????????????1??:
+        \12717  = b[2:2];
+      30'b??????????????????????????1???:
+        \12717  = b[3:3];
+      30'b?????????????????????????1????:
+        \12717  = b[4:4];
+      30'b????????????????????????1?????:
+        \12717  = b[5:5];
+      30'b???????????????????????1??????:
+        \12717  = b[6:6];
+      30'b??????????????????????1???????:
+        \12717  = b[7:7];
+      30'b?????????????????????1????????:
+        \12717  = b[8:8];
+      30'b????????????????????1?????????:
+        \12717  = b[9:9];
+      30'b???????????????????1??????????:
+        \12717  = b[10:10];
+      30'b??????????????????1???????????:
+        \12717  = b[11:11];
+      30'b?????????????????1????????????:
+        \12717  = b[12:12];
+      30'b????????????????1?????????????:
+        \12717  = b[13:13];
+      30'b???????????????1??????????????:
+        \12717  = b[14:14];
+      30'b??????????????1???????????????:
+        \12717  = b[15:15];
+      30'b?????????????1????????????????:
+        \12717  = b[16:16];
+      30'b????????????1?????????????????:
+        \12717  = b[17:17];
+      30'b???????????1??????????????????:
+        \12717  = b[18:18];
+      30'b??????????1???????????????????:
+        \12717  = b[19:19];
+      30'b?????????1????????????????????:
+        \12717  = b[20:20];
+      30'b????????1?????????????????????:
+        \12717  = b[21:21];
+      30'b???????1??????????????????????:
+        \12717  = b[22:22];
+      30'b??????1???????????????????????:
+        \12717  = b[23:23];
+      30'b?????1????????????????????????:
+        \12717  = b[24:24];
+      30'b????1?????????????????????????:
+        \12717  = b[25:25];
+      30'b???1??????????????????????????:
+        \12717  = b[26:26];
+      30'b??1???????????????????????????:
+        \12717  = b[27:27];
+      30'b?1????????????????????????????:
+        \12717  = b[28:28];
+      30'b1?????????????????????????????:
+        \12717  = b[29:29];
+      default:
+        \12717  = a;
+    endcase
+  endfunction
+  assign _0789_ = \12717 (1'h0, 30'h30002000, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12718 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12718  = b[0:0];
+      30'b????????????????????????????1?:
+        \12718  = b[1:1];
+      30'b???????????????????????????1??:
+        \12718  = b[2:2];
+      30'b??????????????????????????1???:
+        \12718  = b[3:3];
+      30'b?????????????????????????1????:
+        \12718  = b[4:4];
+      30'b????????????????????????1?????:
+        \12718  = b[5:5];
+      30'b???????????????????????1??????:
+        \12718  = b[6:6];
+      30'b??????????????????????1???????:
+        \12718  = b[7:7];
+      30'b?????????????????????1????????:
+        \12718  = b[8:8];
+      30'b????????????????????1?????????:
+        \12718  = b[9:9];
+      30'b???????????????????1??????????:
+        \12718  = b[10:10];
+      30'b??????????????????1???????????:
+        \12718  = b[11:11];
+      30'b?????????????????1????????????:
+        \12718  = b[12:12];
+      30'b????????????????1?????????????:
+        \12718  = b[13:13];
+      30'b???????????????1??????????????:
+        \12718  = b[14:14];
+      30'b??????????????1???????????????:
+        \12718  = b[15:15];
+      30'b?????????????1????????????????:
+        \12718  = b[16:16];
+      30'b????????????1?????????????????:
+        \12718  = b[17:17];
+      30'b???????????1??????????????????:
+        \12718  = b[18:18];
+      30'b??????????1???????????????????:
+        \12718  = b[19:19];
+      30'b?????????1????????????????????:
+        \12718  = b[20:20];
+      30'b????????1?????????????????????:
+        \12718  = b[21:21];
+      30'b???????1??????????????????????:
+        \12718  = b[22:22];
+      30'b??????1???????????????????????:
+        \12718  = b[23:23];
+      30'b?????1????????????????????????:
+        \12718  = b[24:24];
+      30'b????1?????????????????????????:
+        \12718  = b[25:25];
+      30'b???1??????????????????????????:
+        \12718  = b[26:26];
+      30'b??1???????????????????????????:
+        \12718  = b[27:27];
+      30'b?1????????????????????????????:
+        \12718  = b[28:28];
+      30'b1?????????????????????????????:
+        \12718  = b[29:29];
+      default:
+        \12718  = a;
+    endcase
+  endfunction
+  assign _0790_ = \12718 (1'h1, { 27'h0000000, _0134_, 2'h0 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12719 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12719  = b[0:0];
+      30'b????????????????????????????1?:
+        \12719  = b[1:1];
+      30'b???????????????????????????1??:
+        \12719  = b[2:2];
+      30'b??????????????????????????1???:
+        \12719  = b[3:3];
+      30'b?????????????????????????1????:
+        \12719  = b[4:4];
+      30'b????????????????????????1?????:
+        \12719  = b[5:5];
+      30'b???????????????????????1??????:
+        \12719  = b[6:6];
+      30'b??????????????????????1???????:
+        \12719  = b[7:7];
+      30'b?????????????????????1????????:
+        \12719  = b[8:8];
+      30'b????????????????????1?????????:
+        \12719  = b[9:9];
+      30'b???????????????????1??????????:
+        \12719  = b[10:10];
+      30'b??????????????????1???????????:
+        \12719  = b[11:11];
+      30'b?????????????????1????????????:
+        \12719  = b[12:12];
+      30'b????????????????1?????????????:
+        \12719  = b[13:13];
+      30'b???????????????1??????????????:
+        \12719  = b[14:14];
+      30'b??????????????1???????????????:
+        \12719  = b[15:15];
+      30'b?????????????1????????????????:
+        \12719  = b[16:16];
+      30'b????????????1?????????????????:
+        \12719  = b[17:17];
+      30'b???????????1??????????????????:
+        \12719  = b[18:18];
+      30'b??????????1???????????????????:
+        \12719  = b[19:19];
+      30'b?????????1????????????????????:
+        \12719  = b[20:20];
+      30'b????????1?????????????????????:
+        \12719  = b[21:21];
+      30'b???????1??????????????????????:
+        \12719  = b[22:22];
+      30'b??????1???????????????????????:
+        \12719  = b[23:23];
+      30'b?????1????????????????????????:
+        \12719  = b[24:24];
+      30'b????1?????????????????????????:
+        \12719  = b[25:25];
+      30'b???1??????????????????????????:
+        \12719  = b[26:26];
+      30'b??1???????????????????????????:
+        \12719  = b[27:27];
+      30'b?1????????????????????????????:
+        \12719  = b[28:28];
+      30'b1?????????????????????????????:
+        \12719  = b[29:29];
+      default:
+        \12719  = a;
+    endcase
+  endfunction
+  assign _0791_ = \12719 (1'h0, 30'h10000000, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12720 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12720  = b[0:0];
+      30'b????????????????????????????1?:
+        \12720  = b[1:1];
+      30'b???????????????????????????1??:
+        \12720  = b[2:2];
+      30'b??????????????????????????1???:
+        \12720  = b[3:3];
+      30'b?????????????????????????1????:
+        \12720  = b[4:4];
+      30'b????????????????????????1?????:
+        \12720  = b[5:5];
+      30'b???????????????????????1??????:
+        \12720  = b[6:6];
+      30'b??????????????????????1???????:
+        \12720  = b[7:7];
+      30'b?????????????????????1????????:
+        \12720  = b[8:8];
+      30'b????????????????????1?????????:
+        \12720  = b[9:9];
+      30'b???????????????????1??????????:
+        \12720  = b[10:10];
+      30'b??????????????????1???????????:
+        \12720  = b[11:11];
+      30'b?????????????????1????????????:
+        \12720  = b[12:12];
+      30'b????????????????1?????????????:
+        \12720  = b[13:13];
+      30'b???????????????1??????????????:
+        \12720  = b[14:14];
+      30'b??????????????1???????????????:
+        \12720  = b[15:15];
+      30'b?????????????1????????????????:
+        \12720  = b[16:16];
+      30'b????????????1?????????????????:
+        \12720  = b[17:17];
+      30'b???????????1??????????????????:
+        \12720  = b[18:18];
+      30'b??????????1???????????????????:
+        \12720  = b[19:19];
+      30'b?????????1????????????????????:
+        \12720  = b[20:20];
+      30'b????????1?????????????????????:
+        \12720  = b[21:21];
+      30'b???????1??????????????????????:
+        \12720  = b[22:22];
+      30'b??????1???????????????????????:
+        \12720  = b[23:23];
+      30'b?????1????????????????????????:
+        \12720  = b[24:24];
+      30'b????1?????????????????????????:
+        \12720  = b[25:25];
+      30'b???1??????????????????????????:
+        \12720  = b[26:26];
+      30'b??1???????????????????????????:
+        \12720  = b[27:27];
+      30'b?1????????????????????????????:
+        \12720  = b[28:28];
+      30'b1?????????????????????????????:
+        \12720  = b[29:29];
+      default:
+        \12720  = a;
+    endcase
+  endfunction
+  assign _0792_ = \12720 (1'h0, 30'h20000000, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12721 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12721  = b[0:0];
+      30'b????????????????????????????1?:
+        \12721  = b[1:1];
+      30'b???????????????????????????1??:
+        \12721  = b[2:2];
+      30'b??????????????????????????1???:
+        \12721  = b[3:3];
+      30'b?????????????????????????1????:
+        \12721  = b[4:4];
+      30'b????????????????????????1?????:
+        \12721  = b[5:5];
+      30'b???????????????????????1??????:
+        \12721  = b[6:6];
+      30'b??????????????????????1???????:
+        \12721  = b[7:7];
+      30'b?????????????????????1????????:
+        \12721  = b[8:8];
+      30'b????????????????????1?????????:
+        \12721  = b[9:9];
+      30'b???????????????????1??????????:
+        \12721  = b[10:10];
+      30'b??????????????????1???????????:
+        \12721  = b[11:11];
+      30'b?????????????????1????????????:
+        \12721  = b[12:12];
+      30'b????????????????1?????????????:
+        \12721  = b[13:13];
+      30'b???????????????1??????????????:
+        \12721  = b[14:14];
+      30'b??????????????1???????????????:
+        \12721  = b[15:15];
+      30'b?????????????1????????????????:
+        \12721  = b[16:16];
+      30'b????????????1?????????????????:
+        \12721  = b[17:17];
+      30'b???????????1??????????????????:
+        \12721  = b[18:18];
+      30'b??????????1???????????????????:
+        \12721  = b[19:19];
+      30'b?????????1????????????????????:
+        \12721  = b[20:20];
+      30'b????????1?????????????????????:
+        \12721  = b[21:21];
+      30'b???????1??????????????????????:
+        \12721  = b[22:22];
+      30'b??????1???????????????????????:
+        \12721  = b[23:23];
+      30'b?????1????????????????????????:
+        \12721  = b[24:24];
+      30'b????1?????????????????????????:
+        \12721  = b[25:25];
+      30'b???1??????????????????????????:
+        \12721  = b[26:26];
+      30'b??1???????????????????????????:
+        \12721  = b[27:27];
+      30'b?1????????????????????????????:
+        \12721  = b[28:28];
+      30'b1?????????????????????????????:
+        \12721  = b[29:29];
+      default:
+        \12721  = a;
+    endcase
+  endfunction
+  assign _0793_ = \12721 (1'h0, 30'h00002000, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [31:0] \12722 ;
+    input [31:0] a;
+    input [959:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12722  = b[31:0];
+      30'b????????????????????????????1?:
+        \12722  = b[63:32];
+      30'b???????????????????????????1??:
+        \12722  = b[95:64];
+      30'b??????????????????????????1???:
+        \12722  = b[127:96];
+      30'b?????????????????????????1????:
+        \12722  = b[159:128];
+      30'b????????????????????????1?????:
+        \12722  = b[191:160];
+      30'b???????????????????????1??????:
+        \12722  = b[223:192];
+      30'b??????????????????????1???????:
+        \12722  = b[255:224];
+      30'b?????????????????????1????????:
+        \12722  = b[287:256];
+      30'b????????????????????1?????????:
+        \12722  = b[319:288];
+      30'b???????????????????1??????????:
+        \12722  = b[351:320];
+      30'b??????????????????1???????????:
+        \12722  = b[383:352];
+      30'b?????????????????1????????????:
+        \12722  = b[415:384];
+      30'b????????????????1?????????????:
+        \12722  = b[447:416];
+      30'b???????????????1??????????????:
+        \12722  = b[479:448];
+      30'b??????????????1???????????????:
+        \12722  = b[511:480];
+      30'b?????????????1????????????????:
+        \12722  = b[543:512];
+      30'b????????????1?????????????????:
+        \12722  = b[575:544];
+      30'b???????????1??????????????????:
+        \12722  = b[607:576];
+      30'b??????????1???????????????????:
+        \12722  = b[639:608];
+      30'b?????????1????????????????????:
+        \12722  = b[671:640];
+      30'b????????1?????????????????????:
+        \12722  = b[703:672];
+      30'b???????1??????????????????????:
+        \12722  = b[735:704];
+      30'b??????1???????????????????????:
+        \12722  = b[767:736];
+      30'b?????1????????????????????????:
+        \12722  = b[799:768];
+      30'b????1?????????????????????????:
+        \12722  = b[831:800];
+      30'b???1??????????????????????????:
+        \12722  = b[863:832];
+      30'b??1???????????????????????????:
+        \12722  = b[895:864];
+      30'b?1????????????????????????????:
+        \12722  = b[927:896];
+      30'b1?????????????????????????????:
+        \12722  = b[959:928];
+      default:
+        \12722  = a;
+    endcase
+  endfunction
+  assign _0794_ = \12722 (r[455:424], { r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], _0719_, r[455:424], r[455:424], r[455:424], _0534_, r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424], r[455:424] }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12736 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12736  = b[0:0];
+      30'b????????????????????????????1?:
+        \12736  = b[1:1];
+      30'b???????????????????????????1??:
+        \12736  = b[2:2];
+      30'b??????????????????????????1???:
+        \12736  = b[3:3];
+      30'b?????????????????????????1????:
+        \12736  = b[4:4];
+      30'b????????????????????????1?????:
+        \12736  = b[5:5];
+      30'b???????????????????????1??????:
+        \12736  = b[6:6];
+      30'b??????????????????????1???????:
+        \12736  = b[7:7];
+      30'b?????????????????????1????????:
+        \12736  = b[8:8];
+      30'b????????????????????1?????????:
+        \12736  = b[9:9];
+      30'b???????????????????1??????????:
+        \12736  = b[10:10];
+      30'b??????????????????1???????????:
+        \12736  = b[11:11];
+      30'b?????????????????1????????????:
+        \12736  = b[12:12];
+      30'b????????????????1?????????????:
+        \12736  = b[13:13];
+      30'b???????????????1??????????????:
+        \12736  = b[14:14];
+      30'b??????????????1???????????????:
+        \12736  = b[15:15];
+      30'b?????????????1????????????????:
+        \12736  = b[16:16];
+      30'b????????????1?????????????????:
+        \12736  = b[17:17];
+      30'b???????????1??????????????????:
+        \12736  = b[18:18];
+      30'b??????????1???????????????????:
+        \12736  = b[19:19];
+      30'b?????????1????????????????????:
+        \12736  = b[20:20];
+      30'b????????1?????????????????????:
+        \12736  = b[21:21];
+      30'b???????1??????????????????????:
+        \12736  = b[22:22];
+      30'b??????1???????????????????????:
+        \12736  = b[23:23];
+      30'b?????1????????????????????????:
+        \12736  = b[24:24];
+      30'b????1?????????????????????????:
+        \12736  = b[25:25];
+      30'b???1??????????????????????????:
+        \12736  = b[26:26];
+      30'b??1???????????????????????????:
+        \12736  = b[27:27];
+      30'b?1????????????????????????????:
+        \12736  = b[28:28];
+      30'b1?????????????????????????????:
+        \12736  = b[29:29];
+      default:
+        \12736  = a;
+    endcase
+  endfunction
+  assign _0795_ = \12736 (1'h0, { 4'h0, _0740_, rotator_result[0], _0720_[0], 2'h0, _0619_[0], _0535_[0], ctrl[128], _0516_[0], 2'h0, _0393_[0], 2'h0, _0371_[0], _0353_[0], 1'h0, logical_result[0], 2'h0, _0226_[0], _0032_[0], 4'h0 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [2:0] \12751 ;
+    input [2:0] a;
+    input [89:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12751  = b[2:0];
+      30'b????????????????????????????1?:
+        \12751  = b[5:3];
+      30'b???????????????????????????1??:
+        \12751  = b[8:6];
+      30'b??????????????????????????1???:
+        \12751  = b[11:9];
+      30'b?????????????????????????1????:
+        \12751  = b[14:12];
+      30'b????????????????????????1?????:
+        \12751  = b[17:15];
+      30'b???????????????????????1??????:
+        \12751  = b[20:18];
+      30'b??????????????????????1???????:
+        \12751  = b[23:21];
+      30'b?????????????????????1????????:
+        \12751  = b[26:24];
+      30'b????????????????????1?????????:
+        \12751  = b[29:27];
+      30'b???????????????????1??????????:
+        \12751  = b[32:30];
+      30'b??????????????????1???????????:
+        \12751  = b[35:33];
+      30'b?????????????????1????????????:
+        \12751  = b[38:36];
+      30'b????????????????1?????????????:
+        \12751  = b[41:39];
+      30'b???????????????1??????????????:
+        \12751  = b[44:42];
+      30'b??????????????1???????????????:
+        \12751  = b[47:45];
+      30'b?????????????1????????????????:
+        \12751  = b[50:48];
+      30'b????????????1?????????????????:
+        \12751  = b[53:51];
+      30'b???????????1??????????????????:
+        \12751  = b[56:54];
+      30'b??????????1???????????????????:
+        \12751  = b[59:57];
+      30'b?????????1????????????????????:
+        \12751  = b[62:60];
+      30'b????????1?????????????????????:
+        \12751  = b[65:63];
+      30'b???????1??????????????????????:
+        \12751  = b[68:66];
+      30'b??????1???????????????????????:
+        \12751  = b[71:69];
+      30'b?????1????????????????????????:
+        \12751  = b[74:72];
+      30'b????1?????????????????????????:
+        \12751  = b[77:75];
+      30'b???1??????????????????????????:
+        \12751  = b[80:78];
+      30'b??1???????????????????????????:
+        \12751  = b[83:81];
+      30'b?1????????????????????????????:
+        \12751  = b[86:84];
+      30'b1?????????????????????????????:
+        \12751  = b[89:87];
+      default:
+        \12751  = a;
+    endcase
+  endfunction
+  assign _0796_ = \12751 (3'h0, { 12'h000, _0741_[2:0], rotator_result[3:1], _0720_[3:1], 6'h00, _0619_[3:1], _0535_[3:1], ctrl[131:129], _0516_[3:1], 6'h00, _0393_[3:1], 6'h00, _0371_[3:1], _0353_[3:1], 3'h0, logical_result[3:1], 6'h00, _0226_[3:1], _0032_[3:1], 12'h000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12765 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12765  = b[3:0];
+      30'b????????????????????????????1?:
+        \12765  = b[7:4];
+      30'b???????????????????????????1??:
+        \12765  = b[11:8];
+      30'b??????????????????????????1???:
+        \12765  = b[15:12];
+      30'b?????????????????????????1????:
+        \12765  = b[19:16];
+      30'b????????????????????????1?????:
+        \12765  = b[23:20];
+      30'b???????????????????????1??????:
+        \12765  = b[27:24];
+      30'b??????????????????????1???????:
+        \12765  = b[31:28];
+      30'b?????????????????????1????????:
+        \12765  = b[35:32];
+      30'b????????????????????1?????????:
+        \12765  = b[39:36];
+      30'b???????????????????1??????????:
+        \12765  = b[43:40];
+      30'b??????????????????1???????????:
+        \12765  = b[47:44];
+      30'b?????????????????1????????????:
+        \12765  = b[51:48];
+      30'b????????????????1?????????????:
+        \12765  = b[55:52];
+      30'b???????????????1??????????????:
+        \12765  = b[59:56];
+      30'b??????????????1???????????????:
+        \12765  = b[63:60];
+      30'b?????????????1????????????????:
+        \12765  = b[67:64];
+      30'b????????????1?????????????????:
+        \12765  = b[71:68];
+      30'b???????????1??????????????????:
+        \12765  = b[75:72];
+      30'b??????????1???????????????????:
+        \12765  = b[79:76];
+      30'b?????????1????????????????????:
+        \12765  = b[83:80];
+      30'b????????1?????????????????????:
+        \12765  = b[87:84];
+      30'b???????1??????????????????????:
+        \12765  = b[91:88];
+      30'b??????1???????????????????????:
+        \12765  = b[95:92];
+      30'b?????1????????????????????????:
+        \12765  = b[99:96];
+      30'b????1?????????????????????????:
+        \12765  = b[103:100];
+      30'b???1??????????????????????????:
+        \12765  = b[107:104];
+      30'b??1???????????????????????????:
+        \12765  = b[111:108];
+      30'b?1????????????????????????????:
+        \12765  = b[115:112];
+      30'b1?????????????????????????????:
+        \12765  = b[119:116];
+      default:
+        \12765  = a;
+    endcase
+  endfunction
+  assign _0797_ = \12765 (4'h0, { 16'h0000, _0741_[6:3], rotator_result[7:4], _0720_[7:4], 8'h00, _0619_[7:4], _0535_[7:4], ctrl[135:132], _0516_[7:4], 8'h00, _0393_[7:4], 8'h00, _0371_[7:4], _0353_[7:4], 4'h0, logical_result[7:4], 8'h00, _0230_, _0032_[7:4], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12779 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12779  = b[3:0];
+      30'b????????????????????????????1?:
+        \12779  = b[7:4];
+      30'b???????????????????????????1??:
+        \12779  = b[11:8];
+      30'b??????????????????????????1???:
+        \12779  = b[15:12];
+      30'b?????????????????????????1????:
+        \12779  = b[19:16];
+      30'b????????????????????????1?????:
+        \12779  = b[23:20];
+      30'b???????????????????????1??????:
+        \12779  = b[27:24];
+      30'b??????????????????????1???????:
+        \12779  = b[31:28];
+      30'b?????????????????????1????????:
+        \12779  = b[35:32];
+      30'b????????????????????1?????????:
+        \12779  = b[39:36];
+      30'b???????????????????1??????????:
+        \12779  = b[43:40];
+      30'b??????????????????1???????????:
+        \12779  = b[47:44];
+      30'b?????????????????1????????????:
+        \12779  = b[51:48];
+      30'b????????????????1?????????????:
+        \12779  = b[55:52];
+      30'b???????????????1??????????????:
+        \12779  = b[59:56];
+      30'b??????????????1???????????????:
+        \12779  = b[63:60];
+      30'b?????????????1????????????????:
+        \12779  = b[67:64];
+      30'b????????????1?????????????????:
+        \12779  = b[71:68];
+      30'b???????????1??????????????????:
+        \12779  = b[75:72];
+      30'b??????????1???????????????????:
+        \12779  = b[79:76];
+      30'b?????????1????????????????????:
+        \12779  = b[83:80];
+      30'b????????1?????????????????????:
+        \12779  = b[87:84];
+      30'b???????1??????????????????????:
+        \12779  = b[91:88];
+      30'b??????1???????????????????????:
+        \12779  = b[95:92];
+      30'b?????1????????????????????????:
+        \12779  = b[99:96];
+      30'b????1?????????????????????????:
+        \12779  = b[103:100];
+      30'b???1??????????????????????????:
+        \12779  = b[107:104];
+      30'b??1???????????????????????????:
+        \12779  = b[111:108];
+      30'b?1????????????????????????????:
+        \12779  = b[115:112];
+      30'b1?????????????????????????????:
+        \12779  = b[119:116];
+      default:
+        \12779  = a;
+    endcase
+  endfunction
+  assign _0798_ = \12779 (4'h0, { 16'h0000, _0741_[10:7], rotator_result[11:8], _0720_[11:8], 8'h00, _0619_[11:8], _0535_[11:8], ctrl[139:136], _0516_[11:8], 8'h00, _0393_[11:8], 8'h00, _0371_[11:8], _0353_[11:8], 4'h0, logical_result[11:8], 8'h00, _0234_, _0032_[11:8], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12793 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12793  = b[3:0];
+      30'b????????????????????????????1?:
+        \12793  = b[7:4];
+      30'b???????????????????????????1??:
+        \12793  = b[11:8];
+      30'b??????????????????????????1???:
+        \12793  = b[15:12];
+      30'b?????????????????????????1????:
+        \12793  = b[19:16];
+      30'b????????????????????????1?????:
+        \12793  = b[23:20];
+      30'b???????????????????????1??????:
+        \12793  = b[27:24];
+      30'b??????????????????????1???????:
+        \12793  = b[31:28];
+      30'b?????????????????????1????????:
+        \12793  = b[35:32];
+      30'b????????????????????1?????????:
+        \12793  = b[39:36];
+      30'b???????????????????1??????????:
+        \12793  = b[43:40];
+      30'b??????????????????1???????????:
+        \12793  = b[47:44];
+      30'b?????????????????1????????????:
+        \12793  = b[51:48];
+      30'b????????????????1?????????????:
+        \12793  = b[55:52];
+      30'b???????????????1??????????????:
+        \12793  = b[59:56];
+      30'b??????????????1???????????????:
+        \12793  = b[63:60];
+      30'b?????????????1????????????????:
+        \12793  = b[67:64];
+      30'b????????????1?????????????????:
+        \12793  = b[71:68];
+      30'b???????????1??????????????????:
+        \12793  = b[75:72];
+      30'b??????????1???????????????????:
+        \12793  = b[79:76];
+      30'b?????????1????????????????????:
+        \12793  = b[83:80];
+      30'b????????1?????????????????????:
+        \12793  = b[87:84];
+      30'b???????1??????????????????????:
+        \12793  = b[91:88];
+      30'b??????1???????????????????????:
+        \12793  = b[95:92];
+      30'b?????1????????????????????????:
+        \12793  = b[99:96];
+      30'b????1?????????????????????????:
+        \12793  = b[103:100];
+      30'b???1??????????????????????????:
+        \12793  = b[107:104];
+      30'b??1???????????????????????????:
+        \12793  = b[111:108];
+      30'b?1????????????????????????????:
+        \12793  = b[115:112];
+      30'b1?????????????????????????????:
+        \12793  = b[119:116];
+      default:
+        \12793  = a;
+    endcase
+  endfunction
+  assign _0799_ = \12793 (4'h0, { 16'h0000, _0741_[14:11], rotator_result[15:12], _0720_[15:12], 8'h00, _0619_[15:12], _0535_[15:12], ctrl[143:140], _0516_[15:12], 8'h00, _0393_[15:12], 8'h00, _0371_[15:12], _0353_[15:12], 4'h0, logical_result[15:12], 8'h00, _0238_, _0032_[15:12], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12807 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12807  = b[3:0];
+      30'b????????????????????????????1?:
+        \12807  = b[7:4];
+      30'b???????????????????????????1??:
+        \12807  = b[11:8];
+      30'b??????????????????????????1???:
+        \12807  = b[15:12];
+      30'b?????????????????????????1????:
+        \12807  = b[19:16];
+      30'b????????????????????????1?????:
+        \12807  = b[23:20];
+      30'b???????????????????????1??????:
+        \12807  = b[27:24];
+      30'b??????????????????????1???????:
+        \12807  = b[31:28];
+      30'b?????????????????????1????????:
+        \12807  = b[35:32];
+      30'b????????????????????1?????????:
+        \12807  = b[39:36];
+      30'b???????????????????1??????????:
+        \12807  = b[43:40];
+      30'b??????????????????1???????????:
+        \12807  = b[47:44];
+      30'b?????????????????1????????????:
+        \12807  = b[51:48];
+      30'b????????????????1?????????????:
+        \12807  = b[55:52];
+      30'b???????????????1??????????????:
+        \12807  = b[59:56];
+      30'b??????????????1???????????????:
+        \12807  = b[63:60];
+      30'b?????????????1????????????????:
+        \12807  = b[67:64];
+      30'b????????????1?????????????????:
+        \12807  = b[71:68];
+      30'b???????????1??????????????????:
+        \12807  = b[75:72];
+      30'b??????????1???????????????????:
+        \12807  = b[79:76];
+      30'b?????????1????????????????????:
+        \12807  = b[83:80];
+      30'b????????1?????????????????????:
+        \12807  = b[87:84];
+      30'b???????1??????????????????????:
+        \12807  = b[91:88];
+      30'b??????1???????????????????????:
+        \12807  = b[95:92];
+      30'b?????1????????????????????????:
+        \12807  = b[99:96];
+      30'b????1?????????????????????????:
+        \12807  = b[103:100];
+      30'b???1??????????????????????????:
+        \12807  = b[107:104];
+      30'b??1???????????????????????????:
+        \12807  = b[111:108];
+      30'b?1????????????????????????????:
+        \12807  = b[115:112];
+      30'b1?????????????????????????????:
+        \12807  = b[119:116];
+      default:
+        \12807  = a;
+    endcase
+  endfunction
+  assign _0800_ = \12807 (4'h0, { 16'h0000, _0741_[18:15], rotator_result[19:16], _0720_[19:16], 8'h00, _0619_[19:16], _0535_[19:16], ctrl[147:144], _0516_[19:16], 8'h00, _0393_[19:16], 8'h00, _0371_[19:16], _0353_[19:16], 4'h0, logical_result[19:16], 8'h00, _0242_, _0032_[19:16], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12821 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12821  = b[3:0];
+      30'b????????????????????????????1?:
+        \12821  = b[7:4];
+      30'b???????????????????????????1??:
+        \12821  = b[11:8];
+      30'b??????????????????????????1???:
+        \12821  = b[15:12];
+      30'b?????????????????????????1????:
+        \12821  = b[19:16];
+      30'b????????????????????????1?????:
+        \12821  = b[23:20];
+      30'b???????????????????????1??????:
+        \12821  = b[27:24];
+      30'b??????????????????????1???????:
+        \12821  = b[31:28];
+      30'b?????????????????????1????????:
+        \12821  = b[35:32];
+      30'b????????????????????1?????????:
+        \12821  = b[39:36];
+      30'b???????????????????1??????????:
+        \12821  = b[43:40];
+      30'b??????????????????1???????????:
+        \12821  = b[47:44];
+      30'b?????????????????1????????????:
+        \12821  = b[51:48];
+      30'b????????????????1?????????????:
+        \12821  = b[55:52];
+      30'b???????????????1??????????????:
+        \12821  = b[59:56];
+      30'b??????????????1???????????????:
+        \12821  = b[63:60];
+      30'b?????????????1????????????????:
+        \12821  = b[67:64];
+      30'b????????????1?????????????????:
+        \12821  = b[71:68];
+      30'b???????????1??????????????????:
+        \12821  = b[75:72];
+      30'b??????????1???????????????????:
+        \12821  = b[79:76];
+      30'b?????????1????????????????????:
+        \12821  = b[83:80];
+      30'b????????1?????????????????????:
+        \12821  = b[87:84];
+      30'b???????1??????????????????????:
+        \12821  = b[91:88];
+      30'b??????1???????????????????????:
+        \12821  = b[95:92];
+      30'b?????1????????????????????????:
+        \12821  = b[99:96];
+      30'b????1?????????????????????????:
+        \12821  = b[103:100];
+      30'b???1??????????????????????????:
+        \12821  = b[107:104];
+      30'b??1???????????????????????????:
+        \12821  = b[111:108];
+      30'b?1????????????????????????????:
+        \12821  = b[115:112];
+      30'b1?????????????????????????????:
+        \12821  = b[119:116];
+      default:
+        \12821  = a;
+    endcase
+  endfunction
+  assign _0801_ = \12821 (4'h0, { 16'h0000, _0741_[22:19], rotator_result[23:20], _0720_[23:20], 8'h00, _0619_[23:20], _0535_[23:20], ctrl[151:148], _0516_[23:20], 8'h00, _0393_[23:20], 8'h00, _0371_[23:20], _0353_[23:20], 4'h0, logical_result[23:20], 8'h00, _0246_, _0032_[23:20], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12835 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12835  = b[3:0];
+      30'b????????????????????????????1?:
+        \12835  = b[7:4];
+      30'b???????????????????????????1??:
+        \12835  = b[11:8];
+      30'b??????????????????????????1???:
+        \12835  = b[15:12];
+      30'b?????????????????????????1????:
+        \12835  = b[19:16];
+      30'b????????????????????????1?????:
+        \12835  = b[23:20];
+      30'b???????????????????????1??????:
+        \12835  = b[27:24];
+      30'b??????????????????????1???????:
+        \12835  = b[31:28];
+      30'b?????????????????????1????????:
+        \12835  = b[35:32];
+      30'b????????????????????1?????????:
+        \12835  = b[39:36];
+      30'b???????????????????1??????????:
+        \12835  = b[43:40];
+      30'b??????????????????1???????????:
+        \12835  = b[47:44];
+      30'b?????????????????1????????????:
+        \12835  = b[51:48];
+      30'b????????????????1?????????????:
+        \12835  = b[55:52];
+      30'b???????????????1??????????????:
+        \12835  = b[59:56];
+      30'b??????????????1???????????????:
+        \12835  = b[63:60];
+      30'b?????????????1????????????????:
+        \12835  = b[67:64];
+      30'b????????????1?????????????????:
+        \12835  = b[71:68];
+      30'b???????????1??????????????????:
+        \12835  = b[75:72];
+      30'b??????????1???????????????????:
+        \12835  = b[79:76];
+      30'b?????????1????????????????????:
+        \12835  = b[83:80];
+      30'b????????1?????????????????????:
+        \12835  = b[87:84];
+      30'b???????1??????????????????????:
+        \12835  = b[91:88];
+      30'b??????1???????????????????????:
+        \12835  = b[95:92];
+      30'b?????1????????????????????????:
+        \12835  = b[99:96];
+      30'b????1?????????????????????????:
+        \12835  = b[103:100];
+      30'b???1??????????????????????????:
+        \12835  = b[107:104];
+      30'b??1???????????????????????????:
+        \12835  = b[111:108];
+      30'b?1????????????????????????????:
+        \12835  = b[115:112];
+      30'b1?????????????????????????????:
+        \12835  = b[119:116];
+      default:
+        \12835  = a;
+    endcase
+  endfunction
+  assign _0802_ = \12835 (4'h0, { 16'h0000, _0741_[26:23], rotator_result[27:24], _0720_[27:24], 8'h00, _0619_[27:24], _0535_[27:24], ctrl[155:152], _0516_[27:24], 8'h00, _0393_[27:24], 8'h00, _0371_[27:24], _0353_[27:24], 4'h0, logical_result[27:24], 8'h00, _0250_, _0032_[27:24], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12849 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12849  = b[3:0];
+      30'b????????????????????????????1?:
+        \12849  = b[7:4];
+      30'b???????????????????????????1??:
+        \12849  = b[11:8];
+      30'b??????????????????????????1???:
+        \12849  = b[15:12];
+      30'b?????????????????????????1????:
+        \12849  = b[19:16];
+      30'b????????????????????????1?????:
+        \12849  = b[23:20];
+      30'b???????????????????????1??????:
+        \12849  = b[27:24];
+      30'b??????????????????????1???????:
+        \12849  = b[31:28];
+      30'b?????????????????????1????????:
+        \12849  = b[35:32];
+      30'b????????????????????1?????????:
+        \12849  = b[39:36];
+      30'b???????????????????1??????????:
+        \12849  = b[43:40];
+      30'b??????????????????1???????????:
+        \12849  = b[47:44];
+      30'b?????????????????1????????????:
+        \12849  = b[51:48];
+      30'b????????????????1?????????????:
+        \12849  = b[55:52];
+      30'b???????????????1??????????????:
+        \12849  = b[59:56];
+      30'b??????????????1???????????????:
+        \12849  = b[63:60];
+      30'b?????????????1????????????????:
+        \12849  = b[67:64];
+      30'b????????????1?????????????????:
+        \12849  = b[71:68];
+      30'b???????????1??????????????????:
+        \12849  = b[75:72];
+      30'b??????????1???????????????????:
+        \12849  = b[79:76];
+      30'b?????????1????????????????????:
+        \12849  = b[83:80];
+      30'b????????1?????????????????????:
+        \12849  = b[87:84];
+      30'b???????1??????????????????????:
+        \12849  = b[91:88];
+      30'b??????1???????????????????????:
+        \12849  = b[95:92];
+      30'b?????1????????????????????????:
+        \12849  = b[99:96];
+      30'b????1?????????????????????????:
+        \12849  = b[103:100];
+      30'b???1??????????????????????????:
+        \12849  = b[107:104];
+      30'b??1???????????????????????????:
+        \12849  = b[111:108];
+      30'b?1????????????????????????????:
+        \12849  = b[115:112];
+      30'b1?????????????????????????????:
+        \12849  = b[119:116];
+      default:
+        \12849  = a;
+    endcase
+  endfunction
+  assign _0803_ = \12849 (4'h0, { 16'h0000, _0741_[30:27], rotator_result[31:28], _0720_[31:28], 8'h00, _0619_[31:28], _0535_[31:28], ctrl[159:156], _0516_[31:28], 8'h00, _0393_[31:28], 8'h00, _0371_[31:28], _0353_[31:28], 4'h0, logical_result[31:28], 8'h00, _0254_, _0032_[31:28], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12863 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12863  = b[3:0];
+      30'b????????????????????????????1?:
+        \12863  = b[7:4];
+      30'b???????????????????????????1??:
+        \12863  = b[11:8];
+      30'b??????????????????????????1???:
+        \12863  = b[15:12];
+      30'b?????????????????????????1????:
+        \12863  = b[19:16];
+      30'b????????????????????????1?????:
+        \12863  = b[23:20];
+      30'b???????????????????????1??????:
+        \12863  = b[27:24];
+      30'b??????????????????????1???????:
+        \12863  = b[31:28];
+      30'b?????????????????????1????????:
+        \12863  = b[35:32];
+      30'b????????????????????1?????????:
+        \12863  = b[39:36];
+      30'b???????????????????1??????????:
+        \12863  = b[43:40];
+      30'b??????????????????1???????????:
+        \12863  = b[47:44];
+      30'b?????????????????1????????????:
+        \12863  = b[51:48];
+      30'b????????????????1?????????????:
+        \12863  = b[55:52];
+      30'b???????????????1??????????????:
+        \12863  = b[59:56];
+      30'b??????????????1???????????????:
+        \12863  = b[63:60];
+      30'b?????????????1????????????????:
+        \12863  = b[67:64];
+      30'b????????????1?????????????????:
+        \12863  = b[71:68];
+      30'b???????????1??????????????????:
+        \12863  = b[75:72];
+      30'b??????????1???????????????????:
+        \12863  = b[79:76];
+      30'b?????????1????????????????????:
+        \12863  = b[83:80];
+      30'b????????1?????????????????????:
+        \12863  = b[87:84];
+      30'b???????1??????????????????????:
+        \12863  = b[91:88];
+      30'b??????1???????????????????????:
+        \12863  = b[95:92];
+      30'b?????1????????????????????????:
+        \12863  = b[99:96];
+      30'b????1?????????????????????????:
+        \12863  = b[103:100];
+      30'b???1??????????????????????????:
+        \12863  = b[107:104];
+      30'b??1???????????????????????????:
+        \12863  = b[111:108];
+      30'b?1????????????????????????????:
+        \12863  = b[115:112];
+      30'b1?????????????????????????????:
+        \12863  = b[119:116];
+      default:
+        \12863  = a;
+    endcase
+  endfunction
+  assign _0804_ = \12863 (4'h0, { 16'h0000, _0741_[34:31], rotator_result[35:32], _0720_[35:32], 8'h00, _0619_[35:32], _0535_[35:32], ctrl[163:160], _0516_[35:32], 8'h00, _0393_[35:32], 8'h00, _0371_[35:32], _0353_[35:32], 4'h0, logical_result[35:32], 8'h00, _0258_, _0032_[35:32], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12877 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12877  = b[3:0];
+      30'b????????????????????????????1?:
+        \12877  = b[7:4];
+      30'b???????????????????????????1??:
+        \12877  = b[11:8];
+      30'b??????????????????????????1???:
+        \12877  = b[15:12];
+      30'b?????????????????????????1????:
+        \12877  = b[19:16];
+      30'b????????????????????????1?????:
+        \12877  = b[23:20];
+      30'b???????????????????????1??????:
+        \12877  = b[27:24];
+      30'b??????????????????????1???????:
+        \12877  = b[31:28];
+      30'b?????????????????????1????????:
+        \12877  = b[35:32];
+      30'b????????????????????1?????????:
+        \12877  = b[39:36];
+      30'b???????????????????1??????????:
+        \12877  = b[43:40];
+      30'b??????????????????1???????????:
+        \12877  = b[47:44];
+      30'b?????????????????1????????????:
+        \12877  = b[51:48];
+      30'b????????????????1?????????????:
+        \12877  = b[55:52];
+      30'b???????????????1??????????????:
+        \12877  = b[59:56];
+      30'b??????????????1???????????????:
+        \12877  = b[63:60];
+      30'b?????????????1????????????????:
+        \12877  = b[67:64];
+      30'b????????????1?????????????????:
+        \12877  = b[71:68];
+      30'b???????????1??????????????????:
+        \12877  = b[75:72];
+      30'b??????????1???????????????????:
+        \12877  = b[79:76];
+      30'b?????????1????????????????????:
+        \12877  = b[83:80];
+      30'b????????1?????????????????????:
+        \12877  = b[87:84];
+      30'b???????1??????????????????????:
+        \12877  = b[91:88];
+      30'b??????1???????????????????????:
+        \12877  = b[95:92];
+      30'b?????1????????????????????????:
+        \12877  = b[99:96];
+      30'b????1?????????????????????????:
+        \12877  = b[103:100];
+      30'b???1??????????????????????????:
+        \12877  = b[107:104];
+      30'b??1???????????????????????????:
+        \12877  = b[111:108];
+      30'b?1????????????????????????????:
+        \12877  = b[115:112];
+      30'b1?????????????????????????????:
+        \12877  = b[119:116];
+      default:
+        \12877  = a;
+    endcase
+  endfunction
+  assign _0805_ = \12877 (4'h0, { 16'h0000, _0741_[38:35], rotator_result[39:36], _0720_[39:36], 8'h00, _0619_[39:36], _0535_[39:36], ctrl[167:164], _0516_[39:36], 8'h00, _0393_[39:36], 8'h00, _0371_[39:36], _0353_[39:36], 4'h0, logical_result[39:36], 8'h00, _0262_, _0032_[39:36], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12891 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12891  = b[3:0];
+      30'b????????????????????????????1?:
+        \12891  = b[7:4];
+      30'b???????????????????????????1??:
+        \12891  = b[11:8];
+      30'b??????????????????????????1???:
+        \12891  = b[15:12];
+      30'b?????????????????????????1????:
+        \12891  = b[19:16];
+      30'b????????????????????????1?????:
+        \12891  = b[23:20];
+      30'b???????????????????????1??????:
+        \12891  = b[27:24];
+      30'b??????????????????????1???????:
+        \12891  = b[31:28];
+      30'b?????????????????????1????????:
+        \12891  = b[35:32];
+      30'b????????????????????1?????????:
+        \12891  = b[39:36];
+      30'b???????????????????1??????????:
+        \12891  = b[43:40];
+      30'b??????????????????1???????????:
+        \12891  = b[47:44];
+      30'b?????????????????1????????????:
+        \12891  = b[51:48];
+      30'b????????????????1?????????????:
+        \12891  = b[55:52];
+      30'b???????????????1??????????????:
+        \12891  = b[59:56];
+      30'b??????????????1???????????????:
+        \12891  = b[63:60];
+      30'b?????????????1????????????????:
+        \12891  = b[67:64];
+      30'b????????????1?????????????????:
+        \12891  = b[71:68];
+      30'b???????????1??????????????????:
+        \12891  = b[75:72];
+      30'b??????????1???????????????????:
+        \12891  = b[79:76];
+      30'b?????????1????????????????????:
+        \12891  = b[83:80];
+      30'b????????1?????????????????????:
+        \12891  = b[87:84];
+      30'b???????1??????????????????????:
+        \12891  = b[91:88];
+      30'b??????1???????????????????????:
+        \12891  = b[95:92];
+      30'b?????1????????????????????????:
+        \12891  = b[99:96];
+      30'b????1?????????????????????????:
+        \12891  = b[103:100];
+      30'b???1??????????????????????????:
+        \12891  = b[107:104];
+      30'b??1???????????????????????????:
+        \12891  = b[111:108];
+      30'b?1????????????????????????????:
+        \12891  = b[115:112];
+      30'b1?????????????????????????????:
+        \12891  = b[119:116];
+      default:
+        \12891  = a;
+    endcase
+  endfunction
+  assign _0806_ = \12891 (4'h0, { 16'h0000, _0741_[42:39], rotator_result[43:40], _0720_[43:40], 8'h00, _0619_[43:40], _0535_[43:40], ctrl[171:168], _0516_[43:40], 8'h00, _0393_[43:40], 8'h00, _0371_[43:40], _0353_[43:40], 4'h0, logical_result[43:40], 8'h00, _0266_, _0032_[43:40], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12905 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12905  = b[3:0];
+      30'b????????????????????????????1?:
+        \12905  = b[7:4];
+      30'b???????????????????????????1??:
+        \12905  = b[11:8];
+      30'b??????????????????????????1???:
+        \12905  = b[15:12];
+      30'b?????????????????????????1????:
+        \12905  = b[19:16];
+      30'b????????????????????????1?????:
+        \12905  = b[23:20];
+      30'b???????????????????????1??????:
+        \12905  = b[27:24];
+      30'b??????????????????????1???????:
+        \12905  = b[31:28];
+      30'b?????????????????????1????????:
+        \12905  = b[35:32];
+      30'b????????????????????1?????????:
+        \12905  = b[39:36];
+      30'b???????????????????1??????????:
+        \12905  = b[43:40];
+      30'b??????????????????1???????????:
+        \12905  = b[47:44];
+      30'b?????????????????1????????????:
+        \12905  = b[51:48];
+      30'b????????????????1?????????????:
+        \12905  = b[55:52];
+      30'b???????????????1??????????????:
+        \12905  = b[59:56];
+      30'b??????????????1???????????????:
+        \12905  = b[63:60];
+      30'b?????????????1????????????????:
+        \12905  = b[67:64];
+      30'b????????????1?????????????????:
+        \12905  = b[71:68];
+      30'b???????????1??????????????????:
+        \12905  = b[75:72];
+      30'b??????????1???????????????????:
+        \12905  = b[79:76];
+      30'b?????????1????????????????????:
+        \12905  = b[83:80];
+      30'b????????1?????????????????????:
+        \12905  = b[87:84];
+      30'b???????1??????????????????????:
+        \12905  = b[91:88];
+      30'b??????1???????????????????????:
+        \12905  = b[95:92];
+      30'b?????1????????????????????????:
+        \12905  = b[99:96];
+      30'b????1?????????????????????????:
+        \12905  = b[103:100];
+      30'b???1??????????????????????????:
+        \12905  = b[107:104];
+      30'b??1???????????????????????????:
+        \12905  = b[111:108];
+      30'b?1????????????????????????????:
+        \12905  = b[115:112];
+      30'b1?????????????????????????????:
+        \12905  = b[119:116];
+      default:
+        \12905  = a;
+    endcase
+  endfunction
+  assign _0807_ = \12905 (4'h0, { 16'h0000, _0741_[46:43], rotator_result[47:44], _0720_[47:44], 8'h00, _0619_[47:44], _0535_[47:44], ctrl[175:172], _0516_[47:44], 8'h00, _0393_[47:44], 8'h00, _0371_[47:44], _0353_[47:44], 4'h0, logical_result[47:44], 8'h00, _0270_, _0032_[47:44], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12919 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12919  = b[3:0];
+      30'b????????????????????????????1?:
+        \12919  = b[7:4];
+      30'b???????????????????????????1??:
+        \12919  = b[11:8];
+      30'b??????????????????????????1???:
+        \12919  = b[15:12];
+      30'b?????????????????????????1????:
+        \12919  = b[19:16];
+      30'b????????????????????????1?????:
+        \12919  = b[23:20];
+      30'b???????????????????????1??????:
+        \12919  = b[27:24];
+      30'b??????????????????????1???????:
+        \12919  = b[31:28];
+      30'b?????????????????????1????????:
+        \12919  = b[35:32];
+      30'b????????????????????1?????????:
+        \12919  = b[39:36];
+      30'b???????????????????1??????????:
+        \12919  = b[43:40];
+      30'b??????????????????1???????????:
+        \12919  = b[47:44];
+      30'b?????????????????1????????????:
+        \12919  = b[51:48];
+      30'b????????????????1?????????????:
+        \12919  = b[55:52];
+      30'b???????????????1??????????????:
+        \12919  = b[59:56];
+      30'b??????????????1???????????????:
+        \12919  = b[63:60];
+      30'b?????????????1????????????????:
+        \12919  = b[67:64];
+      30'b????????????1?????????????????:
+        \12919  = b[71:68];
+      30'b???????????1??????????????????:
+        \12919  = b[75:72];
+      30'b??????????1???????????????????:
+        \12919  = b[79:76];
+      30'b?????????1????????????????????:
+        \12919  = b[83:80];
+      30'b????????1?????????????????????:
+        \12919  = b[87:84];
+      30'b???????1??????????????????????:
+        \12919  = b[91:88];
+      30'b??????1???????????????????????:
+        \12919  = b[95:92];
+      30'b?????1????????????????????????:
+        \12919  = b[99:96];
+      30'b????1?????????????????????????:
+        \12919  = b[103:100];
+      30'b???1??????????????????????????:
+        \12919  = b[107:104];
+      30'b??1???????????????????????????:
+        \12919  = b[111:108];
+      30'b?1????????????????????????????:
+        \12919  = b[115:112];
+      30'b1?????????????????????????????:
+        \12919  = b[119:116];
+      default:
+        \12919  = a;
+    endcase
+  endfunction
+  assign _0808_ = \12919 (4'h0, { 16'h0000, _0741_[50:47], rotator_result[51:48], _0720_[51:48], 8'h00, _0619_[51:48], _0535_[51:48], ctrl[179:176], _0516_[51:48], 8'h00, _0393_[51:48], 8'h00, _0371_[51:48], _0353_[51:48], 4'h0, logical_result[51:48], 8'h00, _0274_, _0032_[51:48], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12933 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12933  = b[3:0];
+      30'b????????????????????????????1?:
+        \12933  = b[7:4];
+      30'b???????????????????????????1??:
+        \12933  = b[11:8];
+      30'b??????????????????????????1???:
+        \12933  = b[15:12];
+      30'b?????????????????????????1????:
+        \12933  = b[19:16];
+      30'b????????????????????????1?????:
+        \12933  = b[23:20];
+      30'b???????????????????????1??????:
+        \12933  = b[27:24];
+      30'b??????????????????????1???????:
+        \12933  = b[31:28];
+      30'b?????????????????????1????????:
+        \12933  = b[35:32];
+      30'b????????????????????1?????????:
+        \12933  = b[39:36];
+      30'b???????????????????1??????????:
+        \12933  = b[43:40];
+      30'b??????????????????1???????????:
+        \12933  = b[47:44];
+      30'b?????????????????1????????????:
+        \12933  = b[51:48];
+      30'b????????????????1?????????????:
+        \12933  = b[55:52];
+      30'b???????????????1??????????????:
+        \12933  = b[59:56];
+      30'b??????????????1???????????????:
+        \12933  = b[63:60];
+      30'b?????????????1????????????????:
+        \12933  = b[67:64];
+      30'b????????????1?????????????????:
+        \12933  = b[71:68];
+      30'b???????????1??????????????????:
+        \12933  = b[75:72];
+      30'b??????????1???????????????????:
+        \12933  = b[79:76];
+      30'b?????????1????????????????????:
+        \12933  = b[83:80];
+      30'b????????1?????????????????????:
+        \12933  = b[87:84];
+      30'b???????1??????????????????????:
+        \12933  = b[91:88];
+      30'b??????1???????????????????????:
+        \12933  = b[95:92];
+      30'b?????1????????????????????????:
+        \12933  = b[99:96];
+      30'b????1?????????????????????????:
+        \12933  = b[103:100];
+      30'b???1??????????????????????????:
+        \12933  = b[107:104];
+      30'b??1???????????????????????????:
+        \12933  = b[111:108];
+      30'b?1????????????????????????????:
+        \12933  = b[115:112];
+      30'b1?????????????????????????????:
+        \12933  = b[119:116];
+      default:
+        \12933  = a;
+    endcase
+  endfunction
+  assign _0809_ = \12933 (4'h0, { 16'h0000, _0741_[54:51], rotator_result[55:52], _0720_[55:52], 8'h00, _0619_[55:52], _0535_[55:52], ctrl[183:180], _0516_[55:52], 8'h00, _0393_[55:52], 8'h00, _0371_[55:52], _0353_[55:52], 4'h0, logical_result[55:52], 8'h00, _0278_, _0032_[55:52], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12947 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12947  = b[3:0];
+      30'b????????????????????????????1?:
+        \12947  = b[7:4];
+      30'b???????????????????????????1??:
+        \12947  = b[11:8];
+      30'b??????????????????????????1???:
+        \12947  = b[15:12];
+      30'b?????????????????????????1????:
+        \12947  = b[19:16];
+      30'b????????????????????????1?????:
+        \12947  = b[23:20];
+      30'b???????????????????????1??????:
+        \12947  = b[27:24];
+      30'b??????????????????????1???????:
+        \12947  = b[31:28];
+      30'b?????????????????????1????????:
+        \12947  = b[35:32];
+      30'b????????????????????1?????????:
+        \12947  = b[39:36];
+      30'b???????????????????1??????????:
+        \12947  = b[43:40];
+      30'b??????????????????1???????????:
+        \12947  = b[47:44];
+      30'b?????????????????1????????????:
+        \12947  = b[51:48];
+      30'b????????????????1?????????????:
+        \12947  = b[55:52];
+      30'b???????????????1??????????????:
+        \12947  = b[59:56];
+      30'b??????????????1???????????????:
+        \12947  = b[63:60];
+      30'b?????????????1????????????????:
+        \12947  = b[67:64];
+      30'b????????????1?????????????????:
+        \12947  = b[71:68];
+      30'b???????????1??????????????????:
+        \12947  = b[75:72];
+      30'b??????????1???????????????????:
+        \12947  = b[79:76];
+      30'b?????????1????????????????????:
+        \12947  = b[83:80];
+      30'b????????1?????????????????????:
+        \12947  = b[87:84];
+      30'b???????1??????????????????????:
+        \12947  = b[91:88];
+      30'b??????1???????????????????????:
+        \12947  = b[95:92];
+      30'b?????1????????????????????????:
+        \12947  = b[99:96];
+      30'b????1?????????????????????????:
+        \12947  = b[103:100];
+      30'b???1??????????????????????????:
+        \12947  = b[107:104];
+      30'b??1???????????????????????????:
+        \12947  = b[111:108];
+      30'b?1????????????????????????????:
+        \12947  = b[115:112];
+      30'b1?????????????????????????????:
+        \12947  = b[119:116];
+      default:
+        \12947  = a;
+    endcase
+  endfunction
+  assign _0810_ = \12947 (4'h0, { 16'h0000, _0741_[58:55], rotator_result[59:56], _0720_[59:56], 8'h00, _0619_[59:56], _0535_[59:56], ctrl[187:184], _0516_[59:56], 8'h00, _0393_[59:56], 8'h00, _0371_[59:56], _0353_[59:56], 4'h0, logical_result[59:56], 8'h00, _0282_, _0032_[59:56], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [3:0] \12961 ;
+    input [3:0] a;
+    input [119:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12961  = b[3:0];
+      30'b????????????????????????????1?:
+        \12961  = b[7:4];
+      30'b???????????????????????????1??:
+        \12961  = b[11:8];
+      30'b??????????????????????????1???:
+        \12961  = b[15:12];
+      30'b?????????????????????????1????:
+        \12961  = b[19:16];
+      30'b????????????????????????1?????:
+        \12961  = b[23:20];
+      30'b???????????????????????1??????:
+        \12961  = b[27:24];
+      30'b??????????????????????1???????:
+        \12961  = b[31:28];
+      30'b?????????????????????1????????:
+        \12961  = b[35:32];
+      30'b????????????????????1?????????:
+        \12961  = b[39:36];
+      30'b???????????????????1??????????:
+        \12961  = b[43:40];
+      30'b??????????????????1???????????:
+        \12961  = b[47:44];
+      30'b?????????????????1????????????:
+        \12961  = b[51:48];
+      30'b????????????????1?????????????:
+        \12961  = b[55:52];
+      30'b???????????????1??????????????:
+        \12961  = b[59:56];
+      30'b??????????????1???????????????:
+        \12961  = b[63:60];
+      30'b?????????????1????????????????:
+        \12961  = b[67:64];
+      30'b????????????1?????????????????:
+        \12961  = b[71:68];
+      30'b???????????1??????????????????:
+        \12961  = b[75:72];
+      30'b??????????1???????????????????:
+        \12961  = b[79:76];
+      30'b?????????1????????????????????:
+        \12961  = b[83:80];
+      30'b????????1?????????????????????:
+        \12961  = b[87:84];
+      30'b???????1??????????????????????:
+        \12961  = b[91:88];
+      30'b??????1???????????????????????:
+        \12961  = b[95:92];
+      30'b?????1????????????????????????:
+        \12961  = b[99:96];
+      30'b????1?????????????????????????:
+        \12961  = b[103:100];
+      30'b???1??????????????????????????:
+        \12961  = b[107:104];
+      30'b??1???????????????????????????:
+        \12961  = b[111:108];
+      30'b?1????????????????????????????:
+        \12961  = b[115:112];
+      30'b1?????????????????????????????:
+        \12961  = b[119:116];
+      default:
+        \12961  = a;
+    endcase
+  endfunction
+  assign _0811_ = \12961 (4'h0, { 16'h0000, _0741_[62:59], rotator_result[63:60], _0720_[63:60], 8'h00, _0619_[63:60], _0535_[63:60], ctrl[191:188], _0516_[63:60], 8'h00, _0393_[63:60], 8'h00, _0371_[63:60], _0353_[63:60], 4'h0, logical_result[63:60], 8'h00, _0284_, _0032_[63:60], 16'h0000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \12973 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \12973  = b[0:0];
+      30'b????????????????????????????1?:
+        \12973  = b[1:1];
+      30'b???????????????????????????1??:
+        \12973  = b[2:2];
+      30'b??????????????????????????1???:
+        \12973  = b[3:3];
+      30'b?????????????????????????1????:
+        \12973  = b[4:4];
+      30'b????????????????????????1?????:
+        \12973  = b[5:5];
+      30'b???????????????????????1??????:
+        \12973  = b[6:6];
+      30'b??????????????????????1???????:
+        \12973  = b[7:7];
+      30'b?????????????????????1????????:
+        \12973  = b[8:8];
+      30'b????????????????????1?????????:
+        \12973  = b[9:9];
+      30'b???????????????????1??????????:
+        \12973  = b[10:10];
+      30'b??????????????????1???????????:
+        \12973  = b[11:11];
+      30'b?????????????????1????????????:
+        \12973  = b[12:12];
+      30'b????????????????1?????????????:
+        \12973  = b[13:13];
+      30'b???????????????1??????????????:
+        \12973  = b[14:14];
+      30'b??????????????1???????????????:
+        \12973  = b[15:15];
+      30'b?????????????1????????????????:
+        \12973  = b[16:16];
+      30'b????????????1?????????????????:
+        \12973  = b[17:17];
+      30'b???????????1??????????????????:
+        \12973  = b[18:18];
+      30'b??????????1???????????????????:
+        \12973  = b[19:19];
+      30'b?????????1????????????????????:
+        \12973  = b[20:20];
+      30'b????????1?????????????????????:
+        \12973  = b[21:21];
+      30'b???????1??????????????????????:
+        \12973  = b[22:22];
+      30'b??????1???????????????????????:
+        \12973  = b[23:23];
+      30'b?????1????????????????????????:
+        \12973  = b[24:24];
+      30'b????1?????????????????????????:
+        \12973  = b[25:25];
+      30'b???1??????????????????????????:
+        \12973  = b[26:26];
+      30'b??1???????????????????????????:
+        \12973  = b[27:27];
+      30'b?1????????????????????????????:
+        \12973  = b[28:28];
+      30'b1?????????????????????????????:
+        \12973  = b[29:29];
+      default:
+        \12973  = a;
+    endcase
+  endfunction
+  assign _0812_ = \12973 (1'h0, { 6'h01, _0721_, 11'h1e4, _0372_, _0354_, 5'h09, _0216_, 4'h0 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \13003 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \13003  = b[0:0];
+      30'b????????????????????????????1?:
+        \13003  = b[1:1];
+      30'b???????????????????????????1??:
+        \13003  = b[2:2];
+      30'b??????????????????????????1???:
+        \13003  = b[3:3];
+      30'b?????????????????????????1????:
+        \13003  = b[4:4];
+      30'b????????????????????????1?????:
+        \13003  = b[5:5];
+      30'b???????????????????????1??????:
+        \13003  = b[6:6];
+      30'b??????????????????????1???????:
+        \13003  = b[7:7];
+      30'b?????????????????????1????????:
+        \13003  = b[8:8];
+      30'b????????????????????1?????????:
+        \13003  = b[9:9];
+      30'b???????????????????1??????????:
+        \13003  = b[10:10];
+      30'b??????????????????1???????????:
+        \13003  = b[11:11];
+      30'b?????????????????1????????????:
+        \13003  = b[12:12];
+      30'b????????????????1?????????????:
+        \13003  = b[13:13];
+      30'b???????????????1??????????????:
+        \13003  = b[14:14];
+      30'b??????????????1???????????????:
+        \13003  = b[15:15];
+      30'b?????????????1????????????????:
+        \13003  = b[16:16];
+      30'b????????????1?????????????????:
+        \13003  = b[17:17];
+      30'b???????????1??????????????????:
+        \13003  = b[18:18];
+      30'b??????????1???????????????????:
+        \13003  = b[19:19];
+      30'b?????????1????????????????????:
+        \13003  = b[20:20];
+      30'b????????1?????????????????????:
+        \13003  = b[21:21];
+      30'b???????1??????????????????????:
+        \13003  = b[22:22];
+      30'b??????1???????????????????????:
+        \13003  = b[23:23];
+      30'b?????1????????????????????????:
+        \13003  = b[24:24];
+      30'b????1?????????????????????????:
+        \13003  = b[25:25];
+      30'b???1??????????????????????????:
+        \13003  = b[26:26];
+      30'b??1???????????????????????????:
+        \13003  = b[27:27];
+      30'b?1????????????????????????????:
+        \13003  = b[28:28];
+      30'b1?????????????????????????????:
+        \13003  = b[29:29];
+      default:
+        \13003  = a;
+    endcase
+  endfunction
+  assign _0813_ = \13003 (1'h0, { 25'h0000000, _0217_, 2'h0, _0129_, 1'h0 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \13005 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \13005  = b[0:0];
+      30'b????????????????????????????1?:
+        \13005  = b[1:1];
+      30'b???????????????????????????1??:
+        \13005  = b[2:2];
+      30'b??????????????????????????1???:
+        \13005  = b[3:3];
+      30'b?????????????????????????1????:
+        \13005  = b[4:4];
+      30'b????????????????????????1?????:
+        \13005  = b[5:5];
+      30'b???????????????????????1??????:
+        \13005  = b[6:6];
+      30'b??????????????????????1???????:
+        \13005  = b[7:7];
+      30'b?????????????????????1????????:
+        \13005  = b[8:8];
+      30'b????????????????????1?????????:
+        \13005  = b[9:9];
+      30'b???????????????????1??????????:
+        \13005  = b[10:10];
+      30'b??????????????????1???????????:
+        \13005  = b[11:11];
+      30'b?????????????????1????????????:
+        \13005  = b[12:12];
+      30'b????????????????1?????????????:
+        \13005  = b[13:13];
+      30'b???????????????1??????????????:
+        \13005  = b[14:14];
+      30'b??????????????1???????????????:
+        \13005  = b[15:15];
+      30'b?????????????1????????????????:
+        \13005  = b[16:16];
+      30'b????????????1?????????????????:
+        \13005  = b[17:17];
+      30'b???????????1??????????????????:
+        \13005  = b[18:18];
+      30'b??????????1???????????????????:
+        \13005  = b[19:19];
+      30'b?????????1????????????????????:
+        \13005  = b[20:20];
+      30'b????????1?????????????????????:
+        \13005  = b[21:21];
+      30'b???????1??????????????????????:
+        \13005  = b[22:22];
+      30'b??????1???????????????????????:
+        \13005  = b[23:23];
+      30'b?????1????????????????????????:
+        \13005  = b[24:24];
+      30'b????1?????????????????????????:
+        \13005  = b[25:25];
+      30'b???1??????????????????????????:
+        \13005  = b[26:26];
+      30'b??1???????????????????????????:
+        \13005  = b[27:27];
+      30'b?1????????????????????????????:
+        \13005  = b[28:28];
+      30'b1?????????????????????????????:
+        \13005  = b[29:29];
+      default:
+        \13005  = a;
+    endcase
+  endfunction
+  assign _0814_ = \13005 (1'h0, { 28'h0000000, _0130_, 1'h0 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \13009 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \13009  = b[0:0];
+      30'b????????????????????????????1?:
+        \13009  = b[1:1];
+      30'b???????????????????????????1??:
+        \13009  = b[2:2];
+      30'b??????????????????????????1???:
+        \13009  = b[3:3];
+      30'b?????????????????????????1????:
+        \13009  = b[4:4];
+      30'b????????????????????????1?????:
+        \13009  = b[5:5];
+      30'b???????????????????????1??????:
+        \13009  = b[6:6];
+      30'b??????????????????????1???????:
+        \13009  = b[7:7];
+      30'b?????????????????????1????????:
+        \13009  = b[8:8];
+      30'b????????????????????1?????????:
+        \13009  = b[9:9];
+      30'b???????????????????1??????????:
+        \13009  = b[10:10];
+      30'b??????????????????1???????????:
+        \13009  = b[11:11];
+      30'b?????????????????1????????????:
+        \13009  = b[12:12];
+      30'b????????????????1?????????????:
+        \13009  = b[13:13];
+      30'b???????????????1??????????????:
+        \13009  = b[14:14];
+      30'b??????????????1???????????????:
+        \13009  = b[15:15];
+      30'b?????????????1????????????????:
+        \13009  = b[16:16];
+      30'b????????????1?????????????????:
+        \13009  = b[17:17];
+      30'b???????????1??????????????????:
+        \13009  = b[18:18];
+      30'b??????????1???????????????????:
+        \13009  = b[19:19];
+      30'b?????????1????????????????????:
+        \13009  = b[20:20];
+      30'b????????1?????????????????????:
+        \13009  = b[21:21];
+      30'b???????1??????????????????????:
+        \13009  = b[22:22];
+      30'b??????1???????????????????????:
+        \13009  = b[23:23];
+      30'b?????1????????????????????????:
+        \13009  = b[24:24];
+      30'b????1?????????????????????????:
+        \13009  = b[25:25];
+      30'b???1??????????????????????????:
+        \13009  = b[26:26];
+      30'b??1???????????????????????????:
+        \13009  = b[27:27];
+      30'b?1????????????????????????????:
+        \13009  = b[28:28];
+      30'b1?????????????????????????????:
+        \13009  = b[29:29];
+      default:
+        \13009  = a;
+    endcase
+  endfunction
+  assign _0815_ = \13009 (1'h0, { 6'h00, _0722_, 3'h0, _0536_, 16'h0000, _0135_, _0131_, 1'h1 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \13015 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \13015  = b[0:0];
+      30'b????????????????????????????1?:
+        \13015  = b[1:1];
+      30'b???????????????????????????1??:
+        \13015  = b[2:2];
+      30'b??????????????????????????1???:
+        \13015  = b[3:3];
+      30'b?????????????????????????1????:
+        \13015  = b[4:4];
+      30'b????????????????????????1?????:
+        \13015  = b[5:5];
+      30'b???????????????????????1??????:
+        \13015  = b[6:6];
+      30'b??????????????????????1???????:
+        \13015  = b[7:7];
+      30'b?????????????????????1????????:
+        \13015  = b[8:8];
+      30'b????????????????????1?????????:
+        \13015  = b[9:9];
+      30'b???????????????????1??????????:
+        \13015  = b[10:10];
+      30'b??????????????????1???????????:
+        \13015  = b[11:11];
+      30'b?????????????????1????????????:
+        \13015  = b[12:12];
+      30'b????????????????1?????????????:
+        \13015  = b[13:13];
+      30'b???????????????1??????????????:
+        \13015  = b[14:14];
+      30'b??????????????1???????????????:
+        \13015  = b[15:15];
+      30'b?????????????1????????????????:
+        \13015  = b[16:16];
+      30'b????????????1?????????????????:
+        \13015  = b[17:17];
+      30'b???????????1??????????????????:
+        \13015  = b[18:18];
+      30'b??????????1???????????????????:
+        \13015  = b[19:19];
+      30'b?????????1????????????????????:
+        \13015  = b[20:20];
+      30'b????????1?????????????????????:
+        \13015  = b[21:21];
+      30'b???????1??????????????????????:
+        \13015  = b[22:22];
+      30'b??????1???????????????????????:
+        \13015  = b[23:23];
+      30'b?????1????????????????????????:
+        \13015  = b[24:24];
+      30'b????1?????????????????????????:
+        \13015  = b[25:25];
+      30'b???1??????????????????????????:
+        \13015  = b[26:26];
+      30'b??1???????????????????????????:
+        \13015  = b[27:27];
+      30'b?1????????????????????????????:
+        \13015  = b[28:28];
+      30'b1?????????????????????????????:
+        \13015  = b[29:29];
+      default:
+        \13015  = a;
+    endcase
+  endfunction
+  assign _0816_ = \13015 (1'h0, 30'h00001e00, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \13019 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \13019  = b[0:0];
+      30'b????????????????????????????1?:
+        \13019  = b[1:1];
+      30'b???????????????????????????1??:
+        \13019  = b[2:2];
+      30'b??????????????????????????1???:
+        \13019  = b[3:3];
+      30'b?????????????????????????1????:
+        \13019  = b[4:4];
+      30'b????????????????????????1?????:
+        \13019  = b[5:5];
+      30'b???????????????????????1??????:
+        \13019  = b[6:6];
+      30'b??????????????????????1???????:
+        \13019  = b[7:7];
+      30'b?????????????????????1????????:
+        \13019  = b[8:8];
+      30'b????????????????????1?????????:
+        \13019  = b[9:9];
+      30'b???????????????????1??????????:
+        \13019  = b[10:10];
+      30'b??????????????????1???????????:
+        \13019  = b[11:11];
+      30'b?????????????????1????????????:
+        \13019  = b[12:12];
+      30'b????????????????1?????????????:
+        \13019  = b[13:13];
+      30'b???????????????1??????????????:
+        \13019  = b[14:14];
+      30'b??????????????1???????????????:
+        \13019  = b[15:15];
+      30'b?????????????1????????????????:
+        \13019  = b[16:16];
+      30'b????????????1?????????????????:
+        \13019  = b[17:17];
+      30'b???????????1??????????????????:
+        \13019  = b[18:18];
+      30'b??????????1???????????????????:
+        \13019  = b[19:19];
+      30'b?????????1????????????????????:
+        \13019  = b[20:20];
+      30'b????????1?????????????????????:
+        \13019  = b[21:21];
+      30'b???????1??????????????????????:
+        \13019  = b[22:22];
+      30'b??????1???????????????????????:
+        \13019  = b[23:23];
+      30'b?????1????????????????????????:
+        \13019  = b[24:24];
+      30'b????1?????????????????????????:
+        \13019  = b[25:25];
+      30'b???1??????????????????????????:
+        \13019  = b[26:26];
+      30'b??1???????????????????????????:
+        \13019  = b[27:27];
+      30'b?1????????????????????????????:
+        \13019  = b[28:28];
+      30'b1?????????????????????????????:
+        \13019  = b[29:29];
+      default:
+        \13019  = a;
+    endcase
+  endfunction
+  assign _0817_ = \13019 (1'h0, { 18'h00001, _0381_, _0363_, 10'h200 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \13023 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \13023  = b[0:0];
+      30'b????????????????????????????1?:
+        \13023  = b[1:1];
+      30'b???????????????????????????1??:
+        \13023  = b[2:2];
+      30'b??????????????????????????1???:
+        \13023  = b[3:3];
+      30'b?????????????????????????1????:
+        \13023  = b[4:4];
+      30'b????????????????????????1?????:
+        \13023  = b[5:5];
+      30'b???????????????????????1??????:
+        \13023  = b[6:6];
+      30'b??????????????????????1???????:
+        \13023  = b[7:7];
+      30'b?????????????????????1????????:
+        \13023  = b[8:8];
+      30'b????????????????????1?????????:
+        \13023  = b[9:9];
+      30'b???????????????????1??????????:
+        \13023  = b[10:10];
+      30'b??????????????????1???????????:
+        \13023  = b[11:11];
+      30'b?????????????????1????????????:
+        \13023  = b[12:12];
+      30'b????????????????1?????????????:
+        \13023  = b[13:13];
+      30'b???????????????1??????????????:
+        \13023  = b[14:14];
+      30'b??????????????1???????????????:
+        \13023  = b[15:15];
+      30'b?????????????1????????????????:
+        \13023  = b[16:16];
+      30'b????????????1?????????????????:
+        \13023  = b[17:17];
+      30'b???????????1??????????????????:
+        \13023  = b[18:18];
+      30'b??????????1???????????????????:
+        \13023  = b[19:19];
+      30'b?????????1????????????????????:
+        \13023  = b[20:20];
+      30'b????????1?????????????????????:
+        \13023  = b[21:21];
+      30'b???????1??????????????????????:
+        \13023  = b[22:22];
+      30'b??????1???????????????????????:
+        \13023  = b[23:23];
+      30'b?????1????????????????????????:
+        \13023  = b[24:24];
+      30'b????1?????????????????????????:
+        \13023  = b[25:25];
+      30'b???1??????????????????????????:
+        \13023  = b[26:26];
+      30'b??1???????????????????????????:
+        \13023  = b[27:27];
+      30'b?1????????????????????????????:
+        \13023  = b[28:28];
+      30'b1?????????????????????????????:
+        \13023  = b[29:29];
+      default:
+        \13023  = a;
+    endcase
+  endfunction
+  assign _0818_ = \13023 (1'h0, { 19'h00003, e_in[340], e_in[340], 9'h000 }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  function [0:0] \13026 ;
+    input [0:0] a;
+    input [29:0] b;
+    input [29:0] s;
+    (* parallel_case *)
+    casez (s)
+      30'b?????????????????????????????1:
+        \13026  = b[0:0];
+      30'b????????????????????????????1?:
+        \13026  = b[1:1];
+      30'b???????????????????????????1??:
+        \13026  = b[2:2];
+      30'b??????????????????????????1???:
+        \13026  = b[3:3];
+      30'b?????????????????????????1????:
+        \13026  = b[4:4];
+      30'b????????????????????????1?????:
+        \13026  = b[5:5];
+      30'b???????????????????????1??????:
+        \13026  = b[6:6];
+      30'b??????????????????????1???????:
+        \13026  = b[7:7];
+      30'b?????????????????????1????????:
+        \13026  = b[8:8];
+      30'b????????????????????1?????????:
+        \13026  = b[9:9];
+      30'b???????????????????1??????????:
+        \13026  = b[10:10];
+      30'b??????????????????1???????????:
+        \13026  = b[11:11];
+      30'b?????????????????1????????????:
+        \13026  = b[12:12];
+      30'b????????????????1?????????????:
+        \13026  = b[13:13];
+      30'b???????????????1??????????????:
+        \13026  = b[14:14];
+      30'b??????????????1???????????????:
+        \13026  = b[15:15];
+      30'b?????????????1????????????????:
+        \13026  = b[16:16];
+      30'b????????????1?????????????????:
+        \13026  = b[17:17];
+      30'b???????????1??????????????????:
+        \13026  = b[18:18];
+      30'b??????????1???????????????????:
+        \13026  = b[19:19];
+      30'b?????????1????????????????????:
+        \13026  = b[20:20];
+      30'b????????1?????????????????????:
+        \13026  = b[21:21];
+      30'b???????1??????????????????????:
+        \13026  = b[22:22];
+      30'b??????1???????????????????????:
+        \13026  = b[23:23];
+      30'b?????1????????????????????????:
+        \13026  = b[24:24];
+      30'b????1?????????????????????????:
+        \13026  = b[25:25];
+      30'b???1??????????????????????????:
+        \13026  = b[26:26];
+      30'b??1???????????????????????????:
+        \13026  = b[27:27];
+      30'b?1????????????????????????????:
+        \13026  = b[28:28];
+      30'b1?????????????????????????????:
+        \13026  = b[29:29];
+      default:
+        \13026  = a;
+    endcase
+  endfunction
+  assign _0819_ = \13026 (_0086_, { _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, 1'h0, _0382_, _0364_, _0348_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_, _0086_ }, { _0754_, _0749_, _0744_, _0743_, _0742_, _0735_, _0723_, _0708_, _0696_, _0620_, _0537_, _0518_, _0517_, _0511_, _0501_, _0394_, _0391_, _0390_, _0383_, _0365_, _0349_, _0347_, _0330_, _0304_, _0285_, _0222_, _0147_, _0136_, _0132_, _0127_ });
+  assign _0820_ = e_in[328] & valid_in;
+  assign _0821_ = _0828_ ? e_in[72:9] : ctrl[255:192];
+  assign _0822_ = ~ e_in[379];
+  assign _0823_ = e_in[72:9] + b_in;
+  assign _0824_ = _0818_ ? b_in : _0823_;
+  assign _0825_ = _0822_ ? _0824_ : _0074_;
+  assign _0826_ = _0817_ != e_in[379];
+  assign _0827_ = _0829_ ? 1'h1 : _0783_;
+  assign _0828_ = _0816_ & _0817_;
+  assign _0829_ = _0816_ & _0826_;
+  assign _0830_ = _0816_ ? _0825_ : _0788_;
+  assign _0831_ = ~ _0812_;
+  assign _0832_ = _0831_ ? _0774_ : 1'h0;
+  assign _0833_ = _0837_ ? { _0074_, 8'h41 } : _0782_;
+  assign _0834_ = _0831_ ? _0789_ : 1'h1;
+  assign _0835_ = _0831_ ? { r[337:274], 1'h0 } : { _0074_, 1'h1 };
+  assign _0836_ = e_in[327] ? _0832_ : _0774_;
+  assign _0837_ = e_in[327] & _0831_;
+  assign _0838_ = e_in[327] ? _0834_ : _0789_;
+  assign _0839_ = e_in[327] ? _0835_ : { r[337:274], 1'h0 };
+  assign _0840_ = e_in[2:1] == 2'h2;
+  assign _0841_ = e_in[2:1] == 2'h0;
+  assign _0842_ = _0841_ ? 1'h1 : 1'h0;
+  assign _0843_ = _0840_ ? 1'h1 : 1'h0;
+  assign _0844_ = _0840_ ? 1'h0 : _0842_;
+  assign _0845_ = e_in[8:3] == 6'h3f;
+  assign _0846_ = _0849_ ? 1'h0 : _0086_;
+  assign _0847_ = valid_in ? _0843_ : 1'h0;
+  assign _0848_ = valid_in ? _0844_ : 1'h0;
+  assign _0849_ = valid_in & _0845_;
+  assign _0850_ = _0126_ ? _0755_ : 1'h0;
+  assign _0851_ = _0126_ ? { _0821_, _0770_, _0769_, _0768_, _0767_, _0766_, _0765_, _0764_, _0763_, _0762_, _0761_, _0760_, _0759_, _0758_, _0757_, _0756_ } : { ctrl[255:128], _0064_ };
+  assign _0852_ = _0126_ ? _0771_ : 1'h0;
+  assign _0853_ = _0126_ ? _0772_ : 1'h0;
+  assign _0854_ = _0126_ ? _0773_ : 1'h0;
+  assign _0855_ = _0126_ ? { _0790_, _0838_, _0830_, _0787_, _0786_, _0785_, _0784_, _0827_, _0833_, _0781_, _0780_, _0779_, _0778_, _0777_, _0776_, _0775_[2:1], _0820_, _0836_ } : { 2'h0, _0069_, _0073_, _0072_, _0071_, ctrl[133], 1'h0, _0083_, 8'h44, _0012_, 114'h00000000000000000000000000000, _0085_, 2'h0 };
+  assign _0856_ = _0126_ ? _0794_ : r[455:424];
+  assign _0857_ = _0126_ ? { _0811_, _0810_, _0809_, _0808_, _0807_, _0806_, _0805_, _0804_, _0803_, _0802_, _0801_, _0800_, _0799_, _0798_, _0797_, _0796_, _0795_ } : 64'h0000000000000000;
+  assign _0858_ = _0126_ ? _0812_ : 1'h0;
+  assign _0859_ = _0126_ ? 1'h0 : _0847_;
+  assign _0860_ = _0126_ ? _0813_ : 1'h0;
+  assign _0861_ = _0126_ ? _0814_ : 1'h0;
+  assign _0862_ = _0126_ ? _0815_ : _0848_;
+  assign _0863_ = _0126_ ? _0819_ : _0846_;
+  assign _0864_ = _0124_ ? 1'h0 : _0850_;
+  assign _0865_ = _0124_ ? { ctrl[255:128], _0064_ } : _0851_;
+  assign _0866_ = _0124_ ? 1'h0 : _0852_;
+  assign _0867_ = _0124_ ? 1'h0 : _0853_;
+  assign _0868_ = _0124_ ? 1'h0 : _0854_;
+  assign _0869_ = _0124_ ? { 2'h0, _0069_, _0073_, _0072_, _0071_, ctrl[133], 1'h0, _0083_, 8'h44, _0012_, 114'h00000000000000000000000000000, _0085_, 2'h0 } : _0855_;
+  assign _0870_ = _0124_ ? r[455:424] : _0856_;
+  assign _0871_ = _0124_ ? 64'h0000000000000000 : _0857_;
+  assign _0872_ = _0124_ ? 1'h0 : _0858_;
+  assign _0873_ = _0124_ ? 1'h0 : _0859_;
+  assign _0874_ = _0124_ ? 1'h0 : _0860_;
+  assign _0875_ = _0124_ ? 1'h0 : _0861_;
+  assign _0876_ = _0124_ ? 1'h1 : _0862_;
+  assign _0877_ = _0124_ ? _0086_ : _0863_;
+  assign _0878_ = _0119_ ? 1'h0 : _0864_;
+  assign _0879_ = _0119_ ? { ctrl[255:128], _0064_ } : _0865_;
+  assign _0880_ = _0119_ ? 1'h0 : _0866_;
+  assign _0881_ = _0119_ ? 1'h1 : 1'h0;
+  assign _0882_ = _0119_ ? 1'h0 : _0867_;
+  assign _0883_ = _0119_ ? 1'h0 : _0868_;
+  assign _0884_ = _0119_ ? { _0073_, _0072_, _0071_, ctrl[133], 1'h0, _0083_, 8'h44, _0012_, 114'h00000000000000000000000000000, _0085_, 2'h0 } : _0869_[198:0];
+  assign _0885_ = _0119_ ? 64'h0000000000000700 : _0869_[262:199];
+  assign _0886_ = _0119_ ? 2'h0 : _0869_[264:263];
+  assign _0887_ = _0119_ ? r[455:424] : _0870_;
+  assign _0888_ = _0119_ ? 64'h0000000000000000 : _0871_;
+  assign _0889_ = _0119_ ? 1'h0 : _0872_;
+  assign _0890_ = _0119_ ? 1'h0 : _0873_;
+  assign _0891_ = _0119_ ? 1'h1 : _0874_;
+  assign _0892_ = _0119_ ? 1'h0 : _0875_;
+  assign _0893_ = _0119_ ? 1'h0 : _0876_;
+  assign _0894_ = _0119_ ? _0086_ : _0877_;
+  assign _0895_ = _0110_ ? 1'h0 : _0878_;
+  assign _0896_ = _0110_ ? { ctrl[255:128], _0064_ } : _0879_;
+  assign _0897_ = _0110_ ? 1'h0 : _0882_;
+  assign _0898_ = _0110_ ? 1'h0 : _0883_;
+  assign _0899_ = _0110_ ? { 2'h0, _0069_, _0073_, _0072_, _0071_, ctrl[133], 1'h0, _0083_, 8'h44, _0012_, 114'h00000000000000000000000000000, _0085_, 2'h0 } : { _0886_, _0885_, _0884_ };
+  assign _0900_ = _0110_ ? r[455:424] : _0887_;
+  assign _0901_ = _0110_ ? 64'h0000000000000000 : _0888_;
+  assign _0902_ = _0110_ ? 1'h0 : _0889_;
+  assign _0903_ = _0110_ ? 1'h0 : _0890_;
+  assign _0904_ = _0110_ ? 1'h1 : _0891_;
+  assign _0905_ = _0110_ ? 1'h0 : _0892_;
+  assign _0906_ = _0110_ ? 1'h0 : _0893_;
+  assign _0907_ = _0110_ ? _0086_ : _0894_;
+  assign _0908_ = _0090_ ? 1'h0 : _0895_;
+  assign _0909_ = _0090_ ? { ctrl[255:128], _0064_ } : _0896_;
+  assign _0910_ = _0090_ ? 1'h1 : 1'h0;
+  assign _0911_ = _0090_ ? 1'h0 : _0897_;
+  assign _0912_ = _0090_ ? 1'h0 : _0898_;
+  assign _0913_ = _0090_ ? { _0073_, _0072_, _0071_, ctrl[133], 1'h0, _0083_, 8'h44, _0012_, 114'h00000000000000000000000000000, _0085_, 2'h0 } : _0899_[198:0];
+  assign _0914_ = _0090_ ? 64'h0000000000000d00 : _0899_[262:199];
+  assign _0915_ = _0090_ ? 2'h0 : _0899_[264:263];
+  assign _0916_ = _0090_ ? r[455:424] : _0900_;
+  assign _0917_ = _0090_ ? 64'h0000000000000000 : _0901_;
+  assign _0918_ = _0090_ ? 1'h0 : _0902_;
+  assign _0919_ = _0090_ ? 1'h0 : _0903_;
+  assign _0920_ = _0090_ ? 1'h1 : _0904_;
+  assign _0921_ = _0090_ ? 1'h0 : _0905_;
+  assign _0922_ = _0090_ ? 1'h0 : _0906_;
+  assign _0923_ = _0090_ ? _0086_ : _0907_;
+  assign _0924_ = _0088_ ? 1'h0 : _0908_;
+  assign _0925_ = _0088_ ? _0064_ : _0909_[63:0];
+  assign _0926_ = _0088_ ? 2'h1 : _0909_[65:64];
+  assign _0927_ = _0088_ ? ctrl[131:130] : _0909_[67:66];
+  assign _0928_ = _0088_ ? 2'h0 : _0909_[69:68];
+  assign _0929_ = _0088_ ? ctrl[135:134] : _0909_[71:70];
+  assign _0930_ = _0088_ ? 4'h0 : _0909_[75:72];
+  assign _0931_ = _0088_ ? ctrl[140] : _0909_[76];
+  assign _0932_ = _0088_ ? 3'h0 : _0909_[79:77];
+  assign _0933_ = _0088_ ? ctrl[190:144] : _0909_[126:80];
+  assign _0934_ = _0088_ ? 1'h1 : _0909_[127];
+  assign _0935_ = _0088_ ? ctrl[255:192] : _0909_[191:128];
+  assign _0936_ = _0088_ ? 1'h0 : _0910_;
+  assign _0937_ = _0088_ ? 1'h0 : _0911_;
+  assign _0938_ = _0088_ ? 1'h0 : _0912_;
+  assign _0939_ = _0088_ ? 1'h1 : _0913_[0];
+  assign _0940_ = _0088_ ? r[455:424] : _0916_;
+  assign _0941_ = _0088_ ? 64'h0000000000000000 : _0917_;
+  assign _0942_ = _0088_ ? 1'h0 : _0918_;
+  assign _0943_ = _0088_ ? 1'h0 : _0919_;
+  assign _0944_ = _0088_ ? 1'h0 : _0920_;
+  assign _0945_ = _0088_ ? 1'h0 : _0921_;
+  assign _0946_ = _0088_ ? 1'h0 : _0922_;
+  assign _0947_ = _0088_ ? _0086_ : _0923_;
+  assign _0948_ = r[194] ? 1'h1 : _0939_;
+  assign _0949_ = r[338] | r[340];
+  assign _0950_ = r[338] & multiply_to_x[0];
+  assign _0951_ = r[340] & divider_to_x[0];
+  assign _0952_ = _0950_ | _0951_;
+  assign _0953_ = r[347:342] == 6'h2d;
+  assign _0954_ = r[347:342] == 6'h2c;
+  function [63:0] \13620 ;
+    input [63:0] a;
+    input [127:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \13620  = b[63:0];
+      2'b1?:
+        \13620  = b[127:64];
+      default:
+        \13620  = a;
+    endcase
+  endfunction
+  assign _0955_ = \13620 (multiply_to_x[64:1], { multiply_to_x[128:33], multiply_to_x[64:33] }, { _0954_, _0953_ });
+  assign _0956_ = r[338] ? _0955_ : divider_to_x[64:1];
+  assign _0957_ = r[338] ? 1'h0 : divider_to_x[65];
+  assign _0958_ = r[338] & r[354];
+  assign _0959_ = r[359] | _0957_;
+  assign _0960_ = r[354] ? { _0959_, _0957_, _0957_ } : r[359:357];
+  assign _0961_ = _0088_ ? 1'h0 : _0913_[1];
+  assign _0962_ = _0958_ ? { _0961_, _0948_ } : { r[353], 1'h1 };
+  assign _0963_ = _0088_ ? 7'h00 : _0913_[10:4];
+  assign _0964_ = _0958_ ? _0963_ : { 2'h0, r[352:348] };
+  assign _0965_ = _0088_ ? { _0012_, 1'h0 } : _0913_[121:116];
+  assign _0966_ = _0958_ ? _0965_ : { _0960_, r[356:354] };
+  assign _0967_ = _0088_ ? 1'h0 : _0915_[0];
+  assign _0968_ = _0958_ ? 1'h1 : _0967_;
+  assign _0969_ = _0985_ ? 1'h1 : 1'h0;
+  assign _0970_ = _0958_ ? _0942_ : 1'h1;
+  assign _0971_ = _0088_ ? 1'h0 : _0913_[1];
+  assign _0972_ = _0952_ ? _0962_ : { _0971_, _0948_ };
+  assign _0973_ = _0088_ ? 7'h00 : _0913_[10:4];
+  assign _0974_ = _0952_ ? _0964_ : _0973_;
+  assign _0975_ = _0088_ ? { _0012_, 1'h0 } : _0913_[121:116];
+  assign _0976_ = _0952_ ? _0966_ : _0975_;
+  assign _0977_ = _0952_ ? _0968_ : 1'h1;
+  assign _0978_ = _0126_ ? _0791_ : 1'h0;
+  assign _0979_ = _0124_ ? 1'h0 : _0978_;
+  assign _0980_ = _0119_ ? 1'h0 : _0979_;
+  assign _0981_ = _0110_ ? 1'h0 : _0980_;
+  assign _0982_ = _0090_ ? 1'h0 : _0981_;
+  assign _0983_ = _0088_ ? 1'h0 : _0982_;
+  assign _0984_ = _0952_ ? _0983_ : r[338];
+  assign _0985_ = _0952_ & _0958_;
+  assign _0986_ = _0126_ ? _0792_ : 1'h0;
+  assign _0987_ = _0124_ ? 1'h0 : _0986_;
+  assign _0988_ = _0119_ ? 1'h0 : _0987_;
+  assign _0989_ = _0110_ ? 1'h0 : _0988_;
+  assign _0990_ = _0090_ ? 1'h0 : _0989_;
+  assign _0991_ = _0088_ ? 1'h0 : _0990_;
+  assign _0992_ = _0952_ ? _0991_ : r[340];
+  assign _0993_ = _0952_ ? _0956_ : _0941_;
+  assign _0994_ = _0952_ ? _0970_ : _0942_;
+  assign _0995_ = r[359] | multiply_to_x[129];
+  assign _0996_ = _0088_ ? 1'h0 : _0913_[1];
+  assign _0997_ = r[339] ? { r[353], 1'h1 } : { _0996_, _0948_ };
+  assign _0998_ = _0088_ ? 7'h00 : _0913_[10:4];
+  assign _0999_ = r[339] ? { 2'h0, r[352:348] } : _0998_;
+  assign _1000_ = _0088_ ? { _0012_, 1'h0 } : _0913_[121:116];
+  assign _1001_ = r[339] ? { _0995_, multiply_to_x[129], multiply_to_x[129], r[356:354] } : _1000_;
+  assign _1002_ = r[339] ? r[74:11] : _0941_;
+  assign _1003_ = r[339] ? 1'h1 : _0942_;
+  assign _1004_ = _0949_ ? _0972_ : _0997_;
+  assign _1005_ = _0949_ ? _0974_ : _0999_;
+  assign _1006_ = _0949_ ? _0976_ : _1001_;
+  assign _1007_ = _0088_ ? 1'h0 : _0915_[0];
+  assign _1008_ = _0949_ ? _0977_ : _1007_;
+  assign _1009_ = _0126_ ? _0791_ : 1'h0;
+  assign _1010_ = _0124_ ? 1'h0 : _1009_;
+  assign _1011_ = _0119_ ? 1'h0 : _1010_;
+  assign _1012_ = _0110_ ? 1'h0 : _1011_;
+  assign _1013_ = _0090_ ? 1'h0 : _1012_;
+  assign _1014_ = _0088_ ? 1'h0 : _1013_;
+  assign _1015_ = _0126_ ? _0792_ : 1'h0;
+  assign _1016_ = _0124_ ? 1'h0 : _1015_;
+  assign _1017_ = _0119_ ? 1'h0 : _1016_;
+  assign _1018_ = _0110_ ? 1'h0 : _1017_;
+  assign _1019_ = _0090_ ? 1'h0 : _1018_;
+  assign _1020_ = _0088_ ? 1'h0 : _1019_;
+  assign _1021_ = _0949_ ? { _0992_, _0969_, _0984_ } : { _1020_, 1'h0, _1014_ };
+  assign _1022_ = _0949_ ? _0993_ : _1002_;
+  assign _1023_ = _0949_ ? _0994_ : _1003_;
+  assign _1024_ = r[341] ? { r[353], 1'h1 } : _1004_;
+  assign _1025_ = r[341] ? { 2'h0, r[352:348] } : _1005_;
+  assign _1026_ = _0088_ ? 1'h0 : _0913_[116];
+  assign _1027_ = r[341] ? _1026_ : _1006_[0];
+  assign _1028_ = r[341] ? r[359:355] : _1006_[5:1];
+  assign _1029_ = _0088_ ? 1'h0 : _0915_[0];
+  assign _1030_ = r[341] ? _1029_ : _1008_;
+  assign _1031_ = _0126_ ? _0791_ : 1'h0;
+  assign _1032_ = _0124_ ? 1'h0 : _1031_;
+  assign _1033_ = _0119_ ? 1'h0 : _1032_;
+  assign _1034_ = _0110_ ? 1'h0 : _1033_;
+  assign _1035_ = _0090_ ? 1'h0 : _1034_;
+  assign _1036_ = _0088_ ? 1'h0 : _1035_;
+  assign _1037_ = _0126_ ? _0792_ : 1'h0;
+  assign _1038_ = _0124_ ? 1'h0 : _1037_;
+  assign _1039_ = _0119_ ? 1'h0 : _1038_;
+  assign _1040_ = _0110_ ? 1'h0 : _1039_;
+  assign _1041_ = _0090_ ? 1'h0 : _1040_;
+  assign _1042_ = _0088_ ? 1'h0 : _1041_;
+  assign _1043_ = r[341] ? { _1042_, 1'h0, _1036_ } : _1021_;
+  assign _1044_ = r[341] ? countzero_result : _1022_;
+  assign _1045_ = r[341] ? 1'h1 : _1023_;
+  assign _1046_ = r[273] ? 1'h1 : _1024_[0];
+  assign _1047_ = _0088_ ? 1'h0 : _0913_[1];
+  assign _1048_ = r[273] ? _1047_ : _1024_[1];
+  assign _1049_ = _0088_ ? 7'h00 : _0913_[10:4];
+  assign _1050_ = r[273] ? _1049_ : _1025_;
+  assign _1051_ = _0088_ ? { _0012_, 1'h0 } : _0913_[121:116];
+  assign _1052_ = r[273] ? _1051_ : { _1028_, _1027_ };
+  assign _1053_ = _0088_ ? 1'h0 : _0915_[0];
+  assign _1054_ = r[273] ? _1053_ : _1030_;
+  assign _1055_ = _0126_ ? _0791_ : 1'h0;
+  assign _1056_ = _0124_ ? 1'h0 : _1055_;
+  assign _1057_ = _0119_ ? 1'h0 : _1056_;
+  assign _1058_ = _0110_ ? 1'h0 : _1057_;
+  assign _1059_ = _0090_ ? 1'h0 : _1058_;
+  assign _1060_ = _0088_ ? 1'h0 : _1059_;
+  assign _1061_ = _0126_ ? _0792_ : 1'h0;
+  assign _1062_ = _0124_ ? 1'h0 : _1061_;
+  assign _1063_ = _0119_ ? 1'h0 : _1062_;
+  assign _1064_ = _0110_ ? 1'h0 : _1063_;
+  assign _1065_ = _0090_ ? 1'h0 : _1064_;
+  assign _1066_ = _0088_ ? 1'h0 : _1065_;
+  assign _1067_ = r[273] ? { _1066_, 1'h0, _1060_ } : _1043_;
+  assign _1068_ = _0088_ ? 1'h0 : _0915_[1];
+  assign _1069_ = _0126_ ? _0839_ : { r[337:274], 1'h0 };
+  assign _1070_ = _0124_ ? { r[337:274], 1'h0 } : _1069_;
+  assign _1071_ = _0119_ ? { r[337:274], 1'h0 } : _1070_;
+  assign _1072_ = _0110_ ? { r[337:274], 1'h0 } : _1071_;
+  assign _1073_ = _0090_ ? { r[337:274], 1'h0 } : _1072_;
+  assign _1074_ = _0088_ ? { r[337:274], 1'h0 } : _1073_;
+  assign _1075_ = _0126_ ? { _0012_, e_in[329:328], e_in[77:73], e_in[8:3], _0793_ } : { r[359:342], 1'h0 };
+  assign _1076_ = _0124_ ? { r[359:342], 1'h0 } : _1075_;
+  assign _1077_ = _0119_ ? { r[359:342], 1'h0 } : _1076_;
+  assign _1078_ = _0110_ ? { r[359:342], 1'h0 } : _1077_;
+  assign _1079_ = _0090_ ? { r[359:342], 1'h0 } : _1078_;
+  assign _1080_ = _0088_ ? { r[359:342], 1'h0 } : _1079_;
+  assign _1081_ = r[273] ? r[74:11] : _1044_;
+  assign _1082_ = r[273] ? _0942_ : _1045_;
+  assign _1083_ = _0946_ | 1'h0;
+  assign _1084_ = _1083_ ? 1'h1 : 1'h0;
+  assign _1085_ = _0088_ ? _0069_ : _0914_;
+  assign _1086_ = _1083_ ? 64'h0000000000000700 : _1085_;
+  assign _1087_ = _0088_ ? { _0073_, _0072_, _0071_, ctrl[133], 1'h0 } : _0913_[198:194];
+  assign _1088_ = _1083_ ? 1'h1 : _0944_;
+  assign _1089_ = _0088_ ? ctrl[320:257] : _0913_[193:130];
+  assign _1090_ = r[273] ? r[337:274] : _1089_;
+  assign _1091_ = _0945_ ? _0074_ : _1090_;
+  assign _1092_ = _0088_ ? 1'h1 : _0913_[122];
+  assign _1093_ = r[273] ? 1'h1 : _1092_;
+  assign _1094_ = _1088_ ? 1'h1 : _1093_;
+  assign _1095_ = _0088_ ? ctrl[320:257] : _0913_[193:130];
+  assign _1096_ = r[273] ? r[337:274] : _1095_;
+  assign _1097_ = _1088_ ? _1091_ : _1096_;
+  assign _1098_ = _0088_ ? 7'h23 : _0913_[129:123];
+  assign _1099_ = r[273] ? 7'h20 : _1098_;
+  assign _1100_ = _0088_ ? 1'h0 : r[266];
+  assign _1101_ = _0947_ ? 1'h1 : _1100_;
+  assign _1102_ = _0088_ ? 1'h0 : r[265];
+  assign _1103_ = _0088_ ? 41'h00000000000 : _0913_[115:75];
+  assign _1104_ = ~ _1088_;
+  assign _1105_ = _1082_ & _1104_;
+  assign _1106_ = _0088_ ? _0085_ : _0913_[2];
+  assign _1107_ = ~ l_in[8];
+  assign _1108_ = ~ l_in[7];
+  assign _1109_ = _1108_ ? 64'h0000000000000300 : 64'h0000000000000380;
+  assign _1110_ = ~ l_in[7];
+  assign _1111_ = _0110_ ? 1'h0 : _0881_;
+  assign _1112_ = _0090_ ? 1'h0 : _1111_;
+  assign _1113_ = _0088_ ? 1'h0 : _1112_;
+  assign _1114_ = _1110_ ? l_in[6:5] : { _1084_, _1113_ };
+  assign _1115_ = _0090_ ? _0109_ : 1'h0;
+  assign _1116_ = _0088_ ? 1'h0 : _1115_;
+  assign _1117_ = _1110_ ? l_in[4] : _1116_;
+  assign _1118_ = _1110_ ? l_in[3] : _0936_;
+  assign _1119_ = _1110_ ? 64'h0000000000000400 : 64'h0000000000000480;
+  assign _1120_ = _0110_ ? 1'h0 : _0881_;
+  assign _1121_ = _0090_ ? 1'h0 : _1120_;
+  assign _1122_ = _0088_ ? 1'h0 : _1121_;
+  assign _1123_ = _1107_ ? { _1084_, _1122_ } : _1114_;
+  assign _1124_ = _0090_ ? _0109_ : 1'h0;
+  assign _1125_ = _0088_ ? 1'h0 : _1124_;
+  assign _1126_ = _1107_ ? _1125_ : _1117_;
+  assign _1127_ = _1107_ ? _0936_ : _1118_;
+  assign _1128_ = _1107_ ? _1109_ : _1119_;
+  assign _1129_ = _0110_ ? 1'h0 : _0881_;
+  assign _1130_ = _0090_ ? 1'h0 : _1129_;
+  assign _1131_ = _0088_ ? 1'h0 : _1130_;
+  assign _1132_ = l_in[2] ? { _1084_, _1131_ } : _1123_;
+  assign _1133_ = _0090_ ? _0109_ : 1'h0;
+  assign _1134_ = _0088_ ? 1'h0 : _1133_;
+  assign _1135_ = l_in[2] ? _1134_ : _1126_;
+  assign _1136_ = l_in[2] ? _0936_ : _1127_;
+  assign _1137_ = l_in[2] ? 64'h0000000000000600 : _1128_;
+  assign _1138_ = _0110_ ? 1'h0 : _0881_;
+  assign _1139_ = _0090_ ? 1'h0 : _1138_;
+  assign _1140_ = _0088_ ? 1'h0 : _1139_;
+  assign _1141_ = l_in[1] ? _1132_ : { _1084_, _1140_ };
+  assign _1142_ = _0090_ ? _0109_ : 1'h0;
+  assign _1143_ = _0088_ ? 1'h0 : _1142_;
+  assign _1144_ = l_in[1] ? _1135_ : _1143_;
+  assign _1145_ = l_in[1] ? _1136_ : _0936_;
+  assign _1146_ = _0110_ ? 1'h0 : _0880_;
+  assign _1147_ = _0090_ ? 1'h0 : _1146_;
+  assign _1148_ = _0088_ ? 1'h0 : _1147_;
+  assign _1149_ = _0090_ ? _0108_ : 1'h0;
+  assign _1150_ = _0088_ ? 1'h0 : _1149_;
+  assign _1151_ = l_in[1] ? 8'h45 : { _1099_, _1094_ };
+  assign _1152_ = l_in[1] ? _1137_ : _1086_;
+  assign _1153_ = _1088_ | l_in[1];
+  assign _1154_ = _1153_ ? 1'h1 : 1'h0;
+  assign _1155_ = _1153_ ? 5'h05 : _1087_;
+  assign _1156_ = _1155_[0] ? 1'h0 : _1046_;
+  assign _1157_ = _1155_[0] ? 1'h1 : _1054_;
+  assign _1158_ = e_in[375] ~^ ctrl[128];
+  assign _1159_ = e_in[370:365] == 6'h1f;
+  assign _1160_ = e_in[349:348] == 2'h3;
+  assign _1161_ = _1159_ & _1160_;
+  assign _1162_ = e_in[344:340] == 5'h15;
+  assign _1163_ = _1161_ & _1162_;
+  assign _1164_ = _1163_ ? 1'h1 : 1'h0;
+  assign _1165_ = ~ ctrl[142];
+  assign _1166_ = ~ ctrl[191];
+  assign _1179_ = _0355_[4] ? _1178_ : _1177_;
+  assign _1190_ = _0373_[4] ? _1189_ : _1188_;
+  assign _1201_ = _0392_[4] ? _1200_ : _1199_;
+  assign _1212_ = _0422_[4] ? _1211_ : _1210_;
+  assign _1223_ = _0423_[4] ? _1222_ : _1221_;
+  assign _1226_ = _0424_[0] ? e_in[349] : e_in[348];
+  assign _1227_ = _0424_[2] ? _1225_ : _1224_;
+  assign _1228_ = _0424_[3] ? _1226_ : _1227_;
+  assign _1239_ = _0737_[4] ? _1238_ : _1237_;
+  assign _1250_ = _0738_[4] ? _1249_ : _1248_;
+  assign _0000_ = 1'h1 & e_in[286];
+  assign a_in = _0000_ ? r[74:11] : e_in[157:94];
+  assign _0001_ = 1'h1 & e_in[287];
+  assign b_in = _0001_ ? r[74:11] : e_in[221:158];
+  assign _0002_ = 1'h1 & e_in[288];
+  assign c_in = _0002_ ? r[74:11] : e_in[285:222];
+  assign _0003_ = l_in[0] | r[263];
+  assign _0004_ = _0003_ | fp_in[0];
+  assign _0005_ = ~ _0004_;
+  assign valid_in = e_in[0] & _0005_;
+  assign _0006_ = rst ? 456'h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 : { _0940_, _0084_, _1080_, _1067_, _1074_, _0087_, _1101_, _1102_, _1068_, _1157_, _1152_, _1155_, _1097_, _1151_, _1052_, _1103_, _1081_, _1050_, _1105_, _1106_, _1048_, _1156_ };
+  assign _0007_ = rst ? ctrl[127:0] : { _0925_, _0063_ };
+  assign _0008_ = rst ? 64'h8000000000000001 : { _0934_, _0933_, _0932_, _0931_, _0930_, _0929_, _0928_, _0927_, _0926_ };
+  assign _0009_ = rst ? ctrl[255:192] : _0935_;
+  assign _0010_ = rst ? 1'h0 : _1154_;
+  assign _0011_ = rst ? ctrl[320:257] : { ctrl[191:159], _1145_, 1'h0, _1144_, _1150_, ctrl[154:150], 2'h0, _1141_, _1148_, 1'h0, ctrl[143:128] };
+  always @(posedge clk)
+    r <= _0006_;
+  always @(posedge clk)
+    ctrl <= { _0011_, _0010_, _0009_, _0008_, _0007_ };
+  zero_counter countzero_0 (
+    .clk(clk),
+    .count_right(e_in[349]),
+    .is_32bit(e_in[337]),
+    .result(countzero_result),
+    .rs(c_in)
+  );
+  divider divider_0 (
+    .clk(clk),
+    .d_in({ _0054_, _0044_, _0062_, e_in[337], e_in[338], _0061_, _0938_ }),
+    .d_out(divider_to_x),
+    .rst(rst)
+  );
+  logical logical_0 (
+    .datalen(e_in[374:371]),
+    .invert_in(e_in[330]),
+    .invert_out(e_in[331]),
+    .op(e_in[8:3]),
+    .rb(b_in),
+    .result(logical_result),
+    .rs(c_in)
+  );
+  multiply_4 multiply_0 (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .clk(clk),
+    .m_in({ _0051_, e_in[337], _0050_, _0060_, _0937_ }),
+    .m_out(multiply_to_x)
+  );
+  random random_0 (
+    .clk(clk),
+    .data(random_cond),
+    .err(random_err),
+    .raw(random_raw)
+  );
+  rotator rotator_0 (
+    .arith(e_in[338]),
+    .carry_out(rotator_carry),
+    .clear_left(rot_clear_left),
+    .clear_right(rot_clear_right),
+    .insn(e_in[370:339]),
+    .is_32bit(e_in[337]),
+    .ra(a_in),
+    .result(rotator_result),
+    .right_shift(right_shift),
+    .rs(c_in),
+    .shift(b_in[6:0]),
+    .sign_ext_rs(rot_sign_ext)
+  );
+  assign flush_out = r[194];
+  assign busy_out = _0004_;
+  assign l_out = { e_in[337], _1166_, _1165_, ctrl[132], e_in[328], e_in[378], _1052_[5:1], e_in[84:80], e_in[377:376], _1158_, _1164_, e_in[374:371], e_in[79:73], c_in, b_in, a_in, e_in[370:339], e_in[72:3], _0943_ };
+  assign f_out = r[262:194];
+  assign fp_out = { e_in[336], e_in[328], e_in[79:73], c_in, b_in, a_in, ctrl[139], ctrl[136], e_in[337], e_in[370:339], e_in[72:3], 1'h0 };
+  assign e_out = r[193:0];
+  assign dbg_msr_out = ctrl[191:128];
+  assign icache_inval = _0924_;
+  assign terminate_out = r[264];
+  assign log_out = 15'hzzzz;
+  assign log_rd_addr = r[455:424];
+endmodule
+
+module fetch1_05c2030ccbceb505e9c9c1e14c8b4fa317497e84(clk, rst, stall_in, flush_in, stop_in, alt_reset_in, e_in, d_in, i_out, log_out);
+  wire [63:0] _00_;
+  wire [31:0] _01_;
+  wire [31:0] _02_;
+  wire _03_;
+  wire _04_;
+  wire _05_;
+  wire [63:0] _06_;
+  wire [31:0] _07_;
+  wire [63:0] _08_;
+  wire [64:0] _09_;
+  wire [64:0] _10_;
+  wire _11_;
+  wire [63:0] _12_;
+  wire [2:0] _13_;
+  wire _14_;
+  wire [63:0] _15_;
+  wire _16_;
+  wire [2:0] _17_;
+  wire _18_;
+  wire [63:0] _19_;
+  wire _20_;
+  wire _21_;
+  wire _22_;
+  input alt_reset_in;
+  input clk;
+  input [64:0] d_in;
+  input [68:0] e_in;
+  input flush_in;
+  output [69:0] i_out;
+  reg [42:0] log_nia;
+  output [42:0] log_out;
+  reg [69:0] r;
+  reg r_int;
+  wire r_next_int;
+  input rst;
+  input stall_in;
+  input stop_in;
+  always @(posedge clk)
+    r <= { _19_, _18_, stop_in, _17_, _22_ };
+  always @(posedge clk)
+    r_int <= r_next_int;
+  always @(posedge clk)
+    log_nia <= { r[69], r[49:8] };
+  assign _00_ = alt_reset_in ? 64'hfffffffff0000000 : 64'h0000000000000000;
+  assign _01_ = e_in[4] ? 32'd0 : e_in[68:37];
+  assign _02_ = r_int ? 32'd0 : d_in[64:33];
+  assign _03_ = ~ stall_in;
+  assign _04_ = ~ r[4];
+  assign _05_ = ~ r_int;
+  assign _06_ = r[69:6] + 64'h0000000000000004;
+  assign _07_ = r[37:6] + 32'd4;
+  assign _08_ = _05_ ? _06_ : { 32'h00000000, _07_ };
+  assign _09_ = _04_ ? { _08_, 1'h1 } : { r[69:6], 1'h0 };
+  assign _10_ = _03_ ? _09_ : { r[69:6], 1'h0 };
+  assign _11_ = d_in[0] ? 1'h0 : _10_[0];
+  assign _12_ = d_in[0] ? { _02_, d_in[32:3], 2'h0 } : _10_[64:1];
+  assign _13_ = e_in[0] ? e_in[3:1] : r[3:1];
+  assign _14_ = e_in[0] ? 1'h0 : _11_;
+  assign _15_ = e_in[0] ? { _01_, e_in[36:7], 2'h0 } : _12_;
+  assign _16_ = e_in[0] ? e_in[4] : r_int;
+  assign _17_ = rst ? 3'h2 : _13_;
+  assign _18_ = rst ? 1'h0 : _14_;
+  assign _19_ = rst ? _00_ : _15_;
+  assign r_next_int = rst ? 1'h0 : _16_;
+  assign _20_ = ~ rst;
+  assign _21_ = ~ stop_in;
+  assign _22_ = _20_ & _21_;
+  assign i_out = r;
+  assign log_out = log_nia;
+endmodule
+
+module gpr_hazard_1(clk, busy_in, deferred, complete_in, flush_in, issuing, gpr_write_valid_in, gpr_write_in, bypass_avail, gpr_read_valid_in, gpr_read_in, ugpr_write_valid, ugpr_write_reg, stall_out, use_bypass);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  wire _12_;
+  wire _13_;
+  wire _14_;
+  wire _15_;
+  wire _16_;
+  wire _17_;
+  wire _18_;
+  wire _19_;
+  wire _20_;
+  wire _21_;
+  wire _22_;
+  wire _23_;
+  wire _24_;
+  wire _25_;
+  wire _26_;
+  wire _27_;
+  wire _28_;
+  wire _29_;
+  wire _30_;
+  wire _31_;
+  wire _32_;
+  wire _33_;
+  wire _34_;
+  wire [6:0] _35_;
+  wire [7:0] _36_;
+  wire [6:0] _37_;
+  wire [7:0] _38_;
+  input busy_in;
+  input bypass_avail;
+  input clk;
+  input complete_in;
+  input deferred;
+  input flush_in;
+  input [6:0] gpr_read_in;
+  input gpr_read_valid_in;
+  input [6:0] gpr_write_in;
+  input gpr_write_valid_in;
+  input issuing;
+  reg [33:0] r = 34'h000000000;
+  output stall_out;
+  input [6:0] ugpr_write_reg;
+  input ugpr_write_valid;
+  output use_bypass;
+  always @(posedge clk)
+    r <= { _37_, _34_, _38_, _32_, _35_, _30_, _36_, _28_ };
+  assign _00_ = complete_in ? 1'h0 : r[0];
+  assign _01_ = complete_in ? 1'h0 : r[9];
+  assign _02_ = r[25:19] == gpr_read_in;
+  assign _03_ = r[17] & _02_;
+  assign _04_ = r[18] ? 1'h0 : 1'h1;
+  assign _05_ = r[18] ? 1'h1 : 1'h0;
+  assign _06_ = _03_ ? _04_ : 1'h0;
+  assign _07_ = _03_ ? _05_ : 1'h0;
+  assign _08_ = r[33:27] == gpr_read_in;
+  assign _09_ = r[26] & _08_;
+  assign _10_ = _09_ ? 1'h1 : _06_;
+  assign _11_ = r[8:2] == gpr_read_in;
+  assign _12_ = _00_ & _11_;
+  assign _13_ = r[1] ? _10_ : 1'h1;
+  assign _14_ = _16_ ? 1'h1 : _07_;
+  assign _15_ = _12_ ? _13_ : _10_;
+  assign _16_ = _12_ & r[1];
+  assign _17_ = r[16:10] == gpr_read_in;
+  assign _18_ = _01_ & _17_;
+  assign _19_ = _18_ ? 1'h1 : _15_;
+  assign _20_ = gpr_read_valid_in ? _19_ : 1'h0;
+  assign _21_ = gpr_read_valid_in ? _14_ : 1'h0;
+  assign _22_ = ~ busy_in;
+  assign _23_ = _22_ ? 1'h0 : r[26];
+  assign _24_ = ~ deferred;
+  assign _25_ = _24_ & issuing;
+  assign _26_ = _22_ ? 1'h0 : r[17];
+  assign _27_ = _22_ ? r[17] : _00_;
+  assign _28_ = flush_in ? 1'h0 : _27_;
+  assign _29_ = _22_ ? r[26] : _01_;
+  assign _30_ = flush_in ? 1'h0 : _29_;
+  assign _31_ = _25_ ? gpr_write_valid_in : _26_;
+  assign _32_ = flush_in ? 1'h0 : _31_;
+  assign _33_ = _25_ ? ugpr_write_valid : _23_;
+  assign _34_ = flush_in ? 1'h0 : _33_;
+  assign _35_ = _22_ ? r[33:27] : r[16:10];
+  assign _36_ = _22_ ? r[25:18] : r[8:1];
+  assign _37_ = _25_ ? ugpr_write_reg : r[33:27];
+  assign _38_ = _25_ ? { gpr_write_in, bypass_avail } : r[25:18];
+  assign stall_out = _20_;
+  assign use_bypass = _21_;
+endmodule
+
+
+module loadstore1_0_5ba93c9db0cff93f52b521d7420e43f6eda2784f(clk, rst, l_in, d_in, m_in, dc_stall, e_out, l_out, d_out, m_out, log_out);
+  wire [63:0] _000_;
+  wire [224:0] _001_;
+  wire [2:0] _002_;
+  wire [179:0] _003_;
+  wire _004_;
+  wire [1:0] _005_;
+  wire _006_;
+  wire [73:0] _007_;
+  wire [2:0] _008_;
+  wire [2:0] _009_;
+  wire [2:0] _010_;
+  wire [3:0] _011_;
+  wire [2:0] _012_;
+  wire [3:0] _013_;
+  wire [2:0] _014_;
+  wire [3:0] _015_;
+  wire [2:0] _016_;
+  wire [3:0] _017_;
+  wire [2:0] _018_;
+  wire [3:0] _019_;
+  wire [2:0] _020_;
+  wire [3:0] _021_;
+  wire [2:0] _022_;
+  wire [3:0] _023_;
+  wire [2:0] _024_;
+  wire [3:0] _025_;
+  wire _026_;
+  wire _027_;
+  wire _028_;
+  wire _029_;
+  wire _030_;
+  wire _031_;
+  wire _032_;
+  wire _033_;
+  wire _034_;
+  wire _035_;
+  wire _036_;
+  wire _037_;
+  wire _038_;
+  wire _039_;
+  wire _040_;
+  wire _041_;
+  wire _042_;
+  wire _043_;
+  wire [1:0] _044_;
+  wire _045_;
+  wire [1:0] _046_;
+  wire _047_;
+  wire _048_;
+  wire _049_;
+  wire [7:0] _050_;
+  wire _051_;
+  wire _052_;
+  wire [1:0] _053_;
+  wire _054_;
+  wire [1:0] _055_;
+  wire _056_;
+  wire _057_;
+  wire _058_;
+  wire [7:0] _059_;
+  wire _060_;
+  wire _061_;
+  wire [1:0] _062_;
+  wire _063_;
+  wire [1:0] _064_;
+  wire _065_;
+  wire _066_;
+  wire _067_;
+  wire [7:0] _068_;
+  wire _069_;
+  wire _070_;
+  wire [1:0] _071_;
+  wire _072_;
+  wire [1:0] _073_;
+  wire _074_;
+  wire _075_;
+  wire _076_;
+  wire [7:0] _077_;
+  wire _078_;
+  wire _079_;
+  wire [1:0] _080_;
+  wire _081_;
+  wire [1:0] _082_;
+  wire _083_;
+  wire _084_;
+  wire _085_;
+  wire [7:0] _086_;
+  wire _087_;
+  wire _088_;
+  wire [1:0] _089_;
+  wire _090_;
+  wire [1:0] _091_;
+  wire _092_;
+  wire _093_;
+  wire _094_;
+  wire [7:0] _095_;
+  wire _096_;
+  wire _097_;
+  wire [1:0] _098_;
+  wire _099_;
+  wire [1:0] _100_;
+  wire _101_;
+  wire _102_;
+  wire _103_;
+  wire [7:0] _104_;
+  wire _105_;
+  wire _106_;
+  wire [1:0] _107_;
+  wire _108_;
+  wire [1:0] _109_;
+  wire _110_;
+  wire _111_;
+  wire _112_;
+  wire [7:0] _113_;
+  wire _114_;
+  wire [2:0] _115_;
+  wire [2:0] _116_;
+  wire [2:0] _117_;
+  wire [2:0] _118_;
+  wire [2:0] _119_;
+  wire [2:0] _120_;
+  wire [2:0] _121_;
+  wire [2:0] _122_;
+  wire [2:0] _123_;
+  wire [2:0] _124_;
+  wire [2:0] _125_;
+  wire [2:0] _126_;
+  wire [2:0] _127_;
+  wire [2:0] _128_;
+  wire [2:0] _129_;
+  wire [2:0] _130_;
+  wire [2:0] _131_;
+  wire [2:0] _132_;
+  wire [63:0] _133_;
+  wire [60:0] _134_;
+  wire _135_;
+  wire _136_;
+  wire _137_;
+  wire _138_;
+  wire _139_;
+  wire _140_;
+  wire _141_;
+  wire _142_;
+  wire _143_;
+  wire _144_;
+  wire _145_;
+  wire [7:0] _146_;
+  wire [31:0] _147_;
+  wire [31:0] _148_;
+  wire [31:0] _149_;
+  wire _150_;
+  wire _151_;
+  wire [2:0] _152_;
+  wire _153_;
+  wire _154_;
+  wire _155_;
+  wire [2:0] _156_;
+  wire _157_;
+  wire _158_;
+  wire _159_;
+  wire _160_;
+  wire [2:0] _161_;
+  wire _162_;
+  wire _163_;
+  wire _164_;
+  wire _165_;
+  wire _166_;
+  wire [63:0] _167_;
+  wire _168_;
+  wire _169_;
+  wire [2:0] _170_;
+  wire _171_;
+  wire _172_;
+  wire _173_;
+  wire [2:0] _174_;
+  wire [1:0] _175_;
+  wire _176_;
+  wire _177_;
+  wire _178_;
+  wire _179_;
+  wire _180_;
+  wire [4:0] _181_;
+  wire _182_;
+  wire _183_;
+  wire _184_;
+  wire _185_;
+  wire _186_;
+  wire _187_;
+  wire _188_;
+  wire _189_;
+  wire _190_;
+  wire [2:0] _191_;
+  wire [2:0] _192_;
+  wire _193_;
+  wire _194_;
+  wire _195_;
+  wire _196_;
+  wire _197_;
+  wire [1:0] _198_;
+  wire _199_;
+  wire _200_;
+  wire _201_;
+  wire _202_;
+  wire _203_;
+  wire _204_;
+  wire _205_;
+  wire [63:0] _206_;
+  wire [2:0] _207_;
+  wire _208_;
+  wire _209_;
+  wire _210_;
+  wire _211_;
+  wire _212_;
+  wire _213_;
+  wire _214_;
+  wire _215_;
+  wire _216_;
+  wire _217_;
+  wire [1:0] _218_;
+  wire _219_;
+  wire _220_;
+  wire _221_;
+  wire _222_;
+  wire _223_;
+  wire _224_;
+  wire [2:0] _225_;
+  wire _226_;
+  wire [31:0] _227_;
+  wire _228_;
+  wire _229_;
+  wire _230_;
+  wire _231_;
+  wire _232_;
+  wire _233_;
+  wire _234_;
+  wire _235_;
+  wire [7:0] _236_;
+  wire [15:0] _237_;
+  wire [2:0] _238_;
+  wire [2:0] _239_;
+  wire _240_;
+  wire _241_;
+  wire _242_;
+  wire _243_;
+  wire _244_;
+  wire _245_;
+  wire _246_;
+  wire _247_;
+  wire _248_;
+  wire _249_;
+  wire _250_;
+  wire _251_;
+  wire [63:0] _252_;
+  wire [63:0] _253_;
+  wire _254_;
+  wire _255_;
+  wire _256_;
+  wire _257_;
+  wire _258_;
+  wire [63:0] _259_;
+  wire [31:0] _260_;
+  wire [2:0] _261_;
+  wire [95:0] _262_;
+  wire _263_;
+  wire _264_;
+  wire _265_;
+  wire _266_;
+  wire _267_;
+  wire _268_;
+  wire _269_;
+  wire _270_;
+  wire [2:0] _271_;
+  wire [95:0] _272_;
+  wire _273_;
+  wire _274_;
+  wire [63:0] _275_;
+  wire _276_;
+  wire _277_;
+  wire _278_;
+  wire [63:0] _279_;
+  wire _280_;
+  wire _281_;
+  wire _282_;
+  wire [2:0] _283_;
+  wire [2:0] _284_;
+  wire [2:0] _285_;
+  wire _286_;
+  wire _287_;
+  wire _288_;
+  wire [67:0] _289_;
+  wire [218:0] _290_;
+  wire [7:0] _291_;
+  wire _292_;
+  wire [63:0] _293_;
+  wire [63:0] _294_;
+  wire _295_;
+  wire _296_;
+  wire _297_;
+  wire _298_;
+  wire [71:0] _299_;
+  wire [71:0] _300_;
+  wire [71:0] _301_;
+  wire _302_;
+  wire _303_;
+  wire _304_;
+  wire _305_;
+  wire _306_;
+  wire _307_;
+  wire [31:0] _308_;
+  wire [31:0] _309_;
+  wire [95:0] _310_;
+  wire [95:0] _311_;
+  wire [72:0] _312_;
+  wire [49:0] _313_;
+  wire [7:0] _314_;
+  wire [7:0] _315_;
+  wire [7:0] _316_;
+  wire [7:0] _317_;
+  wire [7:0] _318_;
+  wire [7:0] _319_;
+  wire [7:0] _320_;
+  wire [7:0] _321_;
+  wire [7:0] _322_;
+  wire [7:0] _323_;
+  wire [7:0] _324_;
+  wire [7:0] _325_;
+  wire [7:0] _326_;
+  wire [7:0] _327_;
+  wire [7:0] _328_;
+  wire [7:0] _329_;
+  wire [7:0] _330_;
+  wire [7:0] _331_;
+  wire [7:0] _332_;
+  wire [7:0] _333_;
+  wire [7:0] _334_;
+  wire [7:0] _335_;
+  wire [7:0] _336_;
+  wire [7:0] _337_;
+  wire [7:0] _338_;
+  wire [7:0] _339_;
+  wire [7:0] _340_;
+  wire [7:0] _341_;
+  wire [7:0] _342_;
+  wire [7:0] _343_;
+  wire [7:0] _344_;
+  wire [7:0] _345_;
+  wire [7:0] _346_;
+  wire [7:0] _347_;
+  wire [7:0] _348_;
+  wire [7:0] _349_;
+  wire [7:0] _350_;
+  wire [7:0] _351_;
+  wire [7:0] _352_;
+  wire [7:0] _353_;
+  wire [7:0] _354_;
+  wire [7:0] _355_;
+  wire [7:0] _356_;
+  wire [7:0] _357_;
+  wire [7:0] _358_;
+  wire [7:0] _359_;
+  wire [7:0] _360_;
+  wire [7:0] _361_;
+  wire [7:0] _362_;
+  wire [7:0] _363_;
+  wire [7:0] _364_;
+  wire [7:0] _365_;
+  wire [7:0] _366_;
+  wire [7:0] _367_;
+  wire [7:0] _368_;
+  wire [7:0] _369_;
+  wire [7:0] _370_;
+  wire [7:0] _371_;
+  wire [7:0] _372_;
+  wire [7:0] _373_;
+  wire [7:0] _374_;
+  wire [7:0] _375_;
+  wire [7:0] _376_;
+  wire [7:0] _377_;
+  wire [7:0] _378_;
+  wire [7:0] _379_;
+  wire [7:0] _380_;
+  wire [7:0] _381_;
+  wire [7:0] _382_;
+  wire [7:0] _383_;
+  wire [7:0] _384_;
+  wire [7:0] _385_;
+  wire [7:0] _386_;
+  wire [7:0] _387_;
+  wire [7:0] _388_;
+  wire [7:0] _389_;
+  wire [7:0] _390_;
+  wire [7:0] _391_;
+  wire [7:0] _392_;
+  wire [7:0] _393_;
+  wire [7:0] _394_;
+  wire [7:0] _395_;
+  wire [7:0] _396_;
+  wire [7:0] _397_;
+  wire [7:0] _398_;
+  wire [7:0] _399_;
+  wire [7:0] _400_;
+  wire [7:0] _401_;
+  wire [7:0] _402_;
+  wire [7:0] _403_;
+  wire [7:0] _404_;
+  wire [7:0] _405_;
+  wire [7:0] _406_;
+  wire [7:0] _407_;
+  wire [7:0] _408_;
+  wire [7:0] _409_;
+  wire [7:0] _410_;
+  wire [7:0] _411_;
+  wire [7:0] _412_;
+  wire [7:0] _413_;
+  wire [7:0] _414_;
+  wire [7:0] _415_;
+  wire [7:0] _416_;
+  wire [7:0] _417_;
+  wire [7:0] _418_;
+  wire [7:0] _419_;
+  wire [7:0] _420_;
+  wire [7:0] _421_;
+  wire [7:0] _422_;
+  wire [7:0] _423_;
+  wire [7:0] _424_;
+  wire [7:0] _425_;
+  input clk;
+  input [67:0] d_in;
+  output [142:0] d_out;
+  input dc_stall;
+  output [8:0] e_out;
+  input [325:0] l_in;
+  output [79:0] l_out;
+  output [9:0] log_out;
+  wire [63:0] lsu_sum;
+  input [70:0] m_in;
+  output [144:0] m_out;
+  reg [485:0] r;
+  input rst;
+  assign _362_ = _011_[0] ? d_in[16:9] : d_in[8:1];
+  assign _363_ = _011_[0] ? d_in[48:41] : d_in[40:33];
+  assign _364_ = _013_[0] ? d_in[16:9] : d_in[8:1];
+  assign _365_ = _013_[0] ? d_in[48:41] : d_in[40:33];
+  assign _366_ = _015_[0] ? d_in[16:9] : d_in[8:1];
+  assign _367_ = _015_[0] ? d_in[48:41] : d_in[40:33];
+  assign _368_ = _017_[0] ? d_in[16:9] : d_in[8:1];
+  assign _369_ = _017_[0] ? d_in[48:41] : d_in[40:33];
+  assign _370_ = _019_[0] ? d_in[16:9] : d_in[8:1];
+  assign _371_ = _019_[0] ? d_in[48:41] : d_in[40:33];
+  assign _372_ = _021_[0] ? d_in[16:9] : d_in[8:1];
+  assign _373_ = _021_[0] ? d_in[48:41] : d_in[40:33];
+  assign _374_ = _023_[0] ? d_in[16:9] : d_in[8:1];
+  assign _375_ = _023_[0] ? d_in[48:41] : d_in[40:33];
+  assign _376_ = _025_[0] ? d_in[16:9] : d_in[8:1];
+  assign _377_ = _025_[0] ? d_in[48:41] : d_in[40:33];
+  assign _378_ = _118_[0] ? l_in[246:239] : l_in[238:231];
+  assign _379_ = _118_[0] ? l_in[278:271] : l_in[270:263];
+  assign _380_ = _120_[0] ? l_in[246:239] : l_in[238:231];
+  assign _381_ = _120_[0] ? l_in[278:271] : l_in[270:263];
+  assign _382_ = _122_[0] ? l_in[246:239] : l_in[238:231];
+  assign _383_ = _122_[0] ? l_in[278:271] : l_in[270:263];
+  assign _384_ = _124_[0] ? l_in[246:239] : l_in[238:231];
+  assign _385_ = _124_[0] ? l_in[278:271] : l_in[270:263];
+  assign _386_ = _126_[0] ? l_in[246:239] : l_in[238:231];
+  assign _387_ = _126_[0] ? l_in[278:271] : l_in[270:263];
+  assign _388_ = _128_[0] ? l_in[246:239] : l_in[238:231];
+  assign _389_ = _128_[0] ? l_in[278:271] : l_in[270:263];
+  assign _390_ = _130_[0] ? l_in[246:239] : l_in[238:231];
+  assign _391_ = _130_[0] ? l_in[278:271] : l_in[270:263];
+  assign _392_ = _132_[0] ? l_in[246:239] : l_in[238:231];
+  assign _393_ = _132_[0] ? l_in[278:271] : l_in[270:263];
+  assign _394_ = _011_[0] ? d_in[32:25] : d_in[24:17];
+  assign _395_ = _011_[0] ? d_in[64:57] : d_in[56:49];
+  assign _396_ = _013_[0] ? d_in[32:25] : d_in[24:17];
+  assign _397_ = _013_[0] ? d_in[64:57] : d_in[56:49];
+  assign _398_ = _015_[0] ? d_in[32:25] : d_in[24:17];
+  assign _399_ = _015_[0] ? d_in[64:57] : d_in[56:49];
+  assign _400_ = _017_[0] ? d_in[32:25] : d_in[24:17];
+  assign _401_ = _017_[0] ? d_in[64:57] : d_in[56:49];
+  assign _402_ = _019_[0] ? d_in[32:25] : d_in[24:17];
+  assign _403_ = _019_[0] ? d_in[64:57] : d_in[56:49];
+  assign _404_ = _021_[0] ? d_in[32:25] : d_in[24:17];
+  assign _405_ = _021_[0] ? d_in[64:57] : d_in[56:49];
+  assign _406_ = _023_[0] ? d_in[32:25] : d_in[24:17];
+  assign _407_ = _023_[0] ? d_in[64:57] : d_in[56:49];
+  assign _408_ = _025_[0] ? d_in[32:25] : d_in[24:17];
+  assign _409_ = _025_[0] ? d_in[64:57] : d_in[56:49];
+  assign _410_ = _118_[0] ? l_in[262:255] : l_in[254:247];
+  assign _411_ = _118_[0] ? l_in[294:287] : l_in[286:279];
+  assign _412_ = _120_[0] ? l_in[262:255] : l_in[254:247];
+  assign _413_ = _120_[0] ? l_in[294:287] : l_in[286:279];
+  assign _414_ = _122_[0] ? l_in[262:255] : l_in[254:247];
+  assign _415_ = _122_[0] ? l_in[294:287] : l_in[286:279];
+  assign _416_ = _124_[0] ? l_in[262:255] : l_in[254:247];
+  assign _417_ = _124_[0] ? l_in[294:287] : l_in[286:279];
+  assign _418_ = _126_[0] ? l_in[262:255] : l_in[254:247];
+  assign _419_ = _126_[0] ? l_in[294:287] : l_in[286:279];
+  assign _420_ = _128_[0] ? l_in[262:255] : l_in[254:247];
+  assign _421_ = _128_[0] ? l_in[294:287] : l_in[286:279];
+  assign _422_ = _130_[0] ? l_in[262:255] : l_in[254:247];
+  assign _423_ = _130_[0] ? l_in[294:287] : l_in[286:279];
+  assign _424_ = _132_[0] ? l_in[262:255] : l_in[254:247];
+  assign _425_ = _132_[0] ? l_in[294:287] : l_in[286:279];
+  assign _314_ = _011_[1] ? _394_ : _362_;
+  assign _315_ = _011_[1] ? _395_ : _363_;
+  assign _317_ = _013_[1] ? _396_ : _364_;
+  assign _318_ = _013_[1] ? _397_ : _365_;
+  assign _320_ = _015_[1] ? _398_ : _366_;
+  assign _321_ = _015_[1] ? _399_ : _367_;
+  assign _323_ = _017_[1] ? _400_ : _368_;
+  assign _324_ = _017_[1] ? _401_ : _369_;
+  assign _326_ = _019_[1] ? _402_ : _370_;
+  assign _327_ = _019_[1] ? _403_ : _371_;
+  assign _329_ = _021_[1] ? _404_ : _372_;
+  assign _330_ = _021_[1] ? _405_ : _373_;
+  assign _332_ = _023_[1] ? _406_ : _374_;
+  assign _333_ = _023_[1] ? _407_ : _375_;
+  assign _335_ = _025_[1] ? _408_ : _376_;
+  assign _336_ = _025_[1] ? _409_ : _377_;
+  assign _338_ = _118_[1] ? _410_ : _378_;
+  assign _339_ = _118_[1] ? _411_ : _379_;
+  assign _341_ = _120_[1] ? _412_ : _380_;
+  assign _342_ = _120_[1] ? _413_ : _381_;
+  assign _344_ = _122_[1] ? _414_ : _382_;
+  assign _345_ = _122_[1] ? _415_ : _383_;
+  assign _347_ = _124_[1] ? _416_ : _384_;
+  assign _348_ = _124_[1] ? _417_ : _385_;
+  assign _350_ = _126_[1] ? _418_ : _386_;
+  assign _351_ = _126_[1] ? _419_ : _387_;
+  assign _353_ = _128_[1] ? _420_ : _388_;
+  assign _354_ = _128_[1] ? _421_ : _389_;
+  assign _356_ = _130_[1] ? _422_ : _390_;
+  assign _357_ = _130_[1] ? _423_ : _391_;
+  assign _359_ = _132_[1] ? _424_ : _392_;
+  assign _360_ = _132_[1] ? _425_ : _393_;
+  assign _000_ = l_in[166:103] + l_in[230:167];
+  assign lsu_sum = l_in[0] ? _000_ : 64'h0000000000000000;
+  assign _001_ = rst ? r[224:0] : { _313_[28:0], _206_, _133_, _289_ };
+  assign _002_ = rst ? 3'h0 : _313_[31:29];
+  assign _003_ = rst ? r[407:228] : { _312_[65:0], _311_, _313_[49:32] };
+  assign _004_ = rst ? 1'h0 : _312_[66];
+  assign _005_ = rst ? r[410:409] : _312_[68:67];
+  assign _006_ = rst ? 1'h0 : _312_[69];
+  assign _007_ = rst ? r[485:412] : { r[485:415], _312_[72:70] };
+  always @(posedge clk)
+    r <= { _007_, _006_, _005_, _004_, _003_, _002_, _001_ };
+  assign _008_ = r[205:203] - 3'h1;
+  assign _009_ = r[207] ? _008_ : 3'h0;
+  assign _010_ = 3'h0 ^ _009_;
+  assign _011_ = { 1'h0, _010_ } + { 1'h0, r[6:4] };
+  assign _012_ = 3'h1 ^ _009_;
+  assign _013_ = { 1'h0, _012_ } + { 1'h0, r[6:4] };
+  assign _014_ = 3'h2 ^ _009_;
+  assign _015_ = { 1'h0, _014_ } + { 1'h0, r[6:4] };
+  assign _016_ = 3'h3 ^ _009_;
+  assign _017_ = { 1'h0, _016_ } + { 1'h0, r[6:4] };
+  assign _018_ = 3'h4 ^ _009_;
+  assign _019_ = { 1'h0, _018_ } + { 1'h0, r[6:4] };
+  assign _020_ = 3'h5 ^ _009_;
+  assign _021_ = { 1'h0, _020_ } + { 1'h0, r[6:4] };
+  assign _022_ = 3'h6 ^ _009_;
+  assign _023_ = { 1'h0, _022_ } + { 1'h0, r[6:4] };
+  assign _024_ = 3'h7 ^ _009_;
+  assign _025_ = { 1'h0, _024_ } + { 1'h0, r[6:4] };
+  assign _026_ = r[228] & r[207];
+  assign _027_ = r[206] & r[195];
+  assign _028_ = r[205] & r[163];
+  assign _029_ = _027_ | _028_;
+  assign _030_ = r[204] & r[147];
+  assign _031_ = _029_ | _030_;
+  assign _032_ = r[203] & r[139];
+  assign _033_ = _031_ | _032_;
+  assign _034_ = r[206] & _337_[7];
+  assign _035_ = r[205] & _325_[7];
+  assign _036_ = _034_ | _035_;
+  assign _037_ = r[204] & _319_[7];
+  assign _038_ = _036_ | _037_;
+  assign _039_ = r[203] & _316_[7];
+  assign _040_ = _038_ | _039_;
+  assign _041_ = _026_ ? _033_ : _040_;
+  assign _042_ = $signed(32'd0) < $signed({ 28'h0000000, r[206:203] });
+  assign _043_ = ~ _011_[3];
+  assign _044_ = r[228] ? { 1'h1, _043_ } : 2'h2;
+  assign _045_ = _041_ & r[208];
+  assign _046_ = _042_ ? _044_ : { 1'h0, _045_ };
+  assign _047_ = _046_ == 2'h3;
+  assign _048_ = _046_ == 2'h2;
+  assign _049_ = _046_ == 2'h1;
+  function [7:0] \14974 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \14974  = b[7:0];
+      3'b?1?:
+        \14974  = b[15:8];
+      3'b1??:
+        \14974  = b[23:16];
+      default:
+        \14974  = a;
+    endcase
+  endfunction
+  assign _050_ = \14974 (8'h00, { 8'hff, _316_, r[139:132] }, { _049_, _048_, _047_ });
+  assign _051_ = $signed(32'd1) < $signed({ 28'h0000000, r[206:203] });
+  assign _052_ = ~ _013_[3];
+  assign _053_ = r[228] ? { 1'h1, _052_ } : 2'h2;
+  assign _054_ = _041_ & r[208];
+  assign _055_ = _051_ ? _053_ : { 1'h0, _054_ };
+  assign _056_ = _055_ == 2'h3;
+  assign _057_ = _055_ == 2'h2;
+  assign _058_ = _055_ == 2'h1;
+  function [7:0] \15008 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \15008  = b[7:0];
+      3'b?1?:
+        \15008  = b[15:8];
+      3'b1??:
+        \15008  = b[23:16];
+      default:
+        \15008  = a;
+    endcase
+  endfunction
+  assign _059_ = \15008 (8'h00, { 8'hff, _319_, r[147:140] }, { _058_, _057_, _056_ });
+  assign _060_ = $signed(32'd2) < $signed({ 28'h0000000, r[206:203] });
+  assign _061_ = ~ _015_[3];
+  assign _062_ = r[228] ? { 1'h1, _061_ } : 2'h2;
+  assign _063_ = _041_ & r[208];
+  assign _064_ = _060_ ? _062_ : { 1'h0, _063_ };
+  assign _065_ = _064_ == 2'h3;
+  assign _066_ = _064_ == 2'h2;
+  assign _067_ = _064_ == 2'h1;
+  function [7:0] \15042 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \15042  = b[7:0];
+      3'b?1?:
+        \15042  = b[15:8];
+      3'b1??:
+        \15042  = b[23:16];
+      default:
+        \15042  = a;
+    endcase
+  endfunction
+  assign _068_ = \15042 (8'h00, { 8'hff, _322_, r[155:148] }, { _067_, _066_, _065_ });
+  assign _069_ = $signed(32'd3) < $signed({ 28'h0000000, r[206:203] });
+  assign _070_ = ~ _017_[3];
+  assign _071_ = r[228] ? { 1'h1, _070_ } : 2'h2;
+  assign _072_ = _041_ & r[208];
+  assign _073_ = _069_ ? _071_ : { 1'h0, _072_ };
+  assign _074_ = _073_ == 2'h3;
+  assign _075_ = _073_ == 2'h2;
+  assign _076_ = _073_ == 2'h1;
+  function [7:0] \15076 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \15076  = b[7:0];
+      3'b?1?:
+        \15076  = b[15:8];
+      3'b1??:
+        \15076  = b[23:16];
+      default:
+        \15076  = a;
+    endcase
+  endfunction
+  assign _077_ = \15076 (8'h00, { 8'hff, _325_, r[163:156] }, { _076_, _075_, _074_ });
+  assign _078_ = $signed(32'd4) < $signed({ 28'h0000000, r[206:203] });
+  assign _079_ = ~ _019_[3];
+  assign _080_ = r[228] ? { 1'h1, _079_ } : 2'h2;
+  assign _081_ = _041_ & r[208];
+  assign _082_ = _078_ ? _080_ : { 1'h0, _081_ };
+  assign _083_ = _082_ == 2'h3;
+  assign _084_ = _082_ == 2'h2;
+  assign _085_ = _082_ == 2'h1;
+  function [7:0] \15110 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \15110  = b[7:0];
+      3'b?1?:
+        \15110  = b[15:8];
+      3'b1??:
+        \15110  = b[23:16];
+      default:
+        \15110  = a;
+    endcase
+  endfunction
+  assign _086_ = \15110 (8'h00, { 8'hff, _328_, r[171:164] }, { _085_, _084_, _083_ });
+  assign _087_ = $signed(32'd5) < $signed({ 28'h0000000, r[206:203] });
+  assign _088_ = ~ _021_[3];
+  assign _089_ = r[228] ? { 1'h1, _088_ } : 2'h2;
+  assign _090_ = _041_ & r[208];
+  assign _091_ = _087_ ? _089_ : { 1'h0, _090_ };
+  assign _092_ = _091_ == 2'h3;
+  assign _093_ = _091_ == 2'h2;
+  assign _094_ = _091_ == 2'h1;
+  function [7:0] \15144 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \15144  = b[7:0];
+      3'b?1?:
+        \15144  = b[15:8];
+      3'b1??:
+        \15144  = b[23:16];
+      default:
+        \15144  = a;
+    endcase
+  endfunction
+  assign _095_ = \15144 (8'h00, { 8'hff, _331_, r[179:172] }, { _094_, _093_, _092_ });
+  assign _096_ = $signed(32'd6) < $signed({ 28'h0000000, r[206:203] });
+  assign _097_ = ~ _023_[3];
+  assign _098_ = r[228] ? { 1'h1, _097_ } : 2'h2;
+  assign _099_ = _041_ & r[208];
+  assign _100_ = _096_ ? _098_ : { 1'h0, _099_ };
+  assign _101_ = _100_ == 2'h3;
+  assign _102_ = _100_ == 2'h2;
+  assign _103_ = _100_ == 2'h1;
+  function [7:0] \15178 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \15178  = b[7:0];
+      3'b?1?:
+        \15178  = b[15:8];
+      3'b1??:
+        \15178  = b[23:16];
+      default:
+        \15178  = a;
+    endcase
+  endfunction
+  assign _104_ = \15178 (8'h00, { 8'hff, _334_, r[187:180] }, { _103_, _102_, _101_ });
+  assign _105_ = $signed(32'd7) < $signed({ 28'h0000000, r[206:203] });
+  assign _106_ = ~ _025_[3];
+  assign _107_ = r[228] ? { 1'h1, _106_ } : 2'h2;
+  assign _108_ = _041_ & r[208];
+  assign _109_ = _105_ ? _107_ : { 1'h0, _108_ };
+  assign _110_ = _109_ == 2'h3;
+  assign _111_ = _109_ == 2'h2;
+  assign _112_ = _109_ == 2'h1;
+  function [7:0] \15211 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \15211  = b[7:0];
+      3'b?1?:
+        \15211  = b[15:8];
+      3'b1??:
+        \15211  = b[23:16];
+      default:
+        \15211  = a;
+    endcase
+  endfunction
+  assign _113_ = \15211 (8'h00, { 8'hff, _337_, r[195:188] }, { _112_, _111_, _110_ });
+  assign _114_ = l_in[0] | 1'h0;
+  assign _115_ = l_in[304:302] - 3'h1;
+  assign _116_ = l_in[307] ? _115_ : 3'h0;
+  assign _117_ = 3'h0 - lsu_sum[2:0];
+  assign _118_ = _117_ ^ _116_;
+  assign _119_ = 3'h1 - lsu_sum[2:0];
+  assign _120_ = _119_ ^ _116_;
+  assign _121_ = 3'h2 - lsu_sum[2:0];
+  assign _122_ = _121_ ^ _116_;
+  assign _123_ = 3'h3 - lsu_sum[2:0];
+  assign _124_ = _123_ ^ _116_;
+  assign _125_ = 3'h4 - lsu_sum[2:0];
+  assign _126_ = _125_ ^ _116_;
+  assign _127_ = 3'h5 - lsu_sum[2:0];
+  assign _128_ = _127_ ^ _116_;
+  assign _129_ = 3'h6 - lsu_sum[2:0];
+  assign _130_ = _129_ ^ _116_;
+  assign _131_ = 3'h7 - lsu_sum[2:0];
+  assign _132_ = _131_ ^ _116_;
+  assign _133_ = _114_ ? { _361_, _358_, _355_, _352_, _349_, _346_, _343_, _340_ } : r[131:68];
+  assign _134_ = r[67:7] + 61'h0000000000000001;
+  assign _135_ = r[409] & d_in[0];
+  assign _136_ = r[410] & m_in[0];
+  assign _137_ = _135_ | _136_;
+  assign _138_ = ~ _137_;
+  assign _139_ = r[408] & _138_;
+  assign _140_ = r[227:225] != 3'h0;
+  assign _141_ = ~ _139_;
+  assign _142_ = _140_ & _141_;
+  assign _143_ = _142_ ? 1'h1 : 1'h0;
+  assign _144_ = r[227:225] == 3'h2;
+  assign _145_ = r[228] | _144_;
+  assign _146_ = _145_ ? r[245:238] : r[237:230];
+  assign _147_ = _145_ ? _134_[60:29] : r[67:36];
+  assign _148_ = r[413] ? 32'd0 : _147_;
+  assign _149_ = _145_ ? { _134_[28:0], 3'h0 } : r[35:4];
+  assign _150_ = r[227:225] == 3'h0;
+  assign _151_ = r[245:238] != 8'h00;
+  assign _152_ = _151_ ? 3'h2 : 3'h3;
+  assign _153_ = r[227:225] == 3'h1;
+  assign _154_ = r[227:225] == 3'h2;
+  assign _155_ = ~ r[0];
+  assign _156_ = d_in[67] ? r[227:225] : 3'h4;
+  assign _157_ = d_in[67] ? 1'h1 : 1'h0;
+  assign _158_ = d_in[67] ? 1'h0 : 1'h1;
+  assign _159_ = d_in[67] ? _155_ : 1'h0;
+  assign _160_ = d_in[67] ? d_in[67] : 1'h0;
+  assign _161_ = d_in[66] ? _156_ : r[227:225];
+  assign _162_ = d_in[66] ? _157_ : 1'h0;
+  assign _163_ = d_in[66] ? _158_ : 1'h0;
+  assign _164_ = d_in[66] ? _159_ : 1'h0;
+  assign _165_ = d_in[66] ? _160_ : 1'h0;
+  assign _166_ = ~ r[229];
+  assign _167_ = _180_ ? { _337_, _334_, _331_, _328_, _325_, _322_, _319_, _316_ } : r[195:132];
+  assign _168_ = ~ r[414];
+  assign _169_ = r[0] & _168_;
+  assign _170_ = r[412] ? 3'h7 : _161_;
+  assign _171_ = r[412] ? r[209] : 1'h0;
+  assign _172_ = r[412] ? r[411] : r[209];
+  assign _173_ = _166_ & r[0];
+  assign _174_ = _166_ ? _161_ : _170_;
+  assign _175_ = _166_ ? 2'h3 : r[229:228];
+  assign _176_ = _166_ ? _139_ : 1'h0;
+  assign _177_ = _166_ ? 1'h0 : _171_;
+  assign _178_ = _166_ ? 1'h0 : _169_;
+  assign _179_ = _166_ ? r[411] : _172_;
+  assign _180_ = d_in[0] & _173_;
+  assign _181_ = d_in[0] ? { _175_, _174_ } : { r[229:228], _161_ };
+  assign _182_ = d_in[0] ? _176_ : _139_;
+  assign _183_ = d_in[0] ? _177_ : 1'h0;
+  assign _184_ = d_in[0] ? _178_ : 1'h0;
+  assign _185_ = d_in[0] ? _179_ : r[411];
+  assign _186_ = ~ r[412];
+  assign _187_ = r[229] & _186_;
+  assign _188_ = r[227:225] == 3'h3;
+  assign _189_ = ~ r[342];
+  assign _190_ = ~ r[229];
+  assign _191_ = _190_ ? 3'h2 : 3'h3;
+  assign _192_ = _194_ ? _191_ : r[227:225];
+  assign _193_ = _189_ ? 1'h1 : 1'h0;
+  assign _194_ = m_in[0] & _189_;
+  assign _195_ = m_in[0] ? _193_ : 1'h0;
+  assign _196_ = ~ r[0];
+  assign _197_ = m_in[1] ? 1'h1 : 1'h0;
+  assign _198_ = m_in[1] ? { m_in[3], m_in[6] } : 2'h0;
+  assign _199_ = m_in[1] ? _196_ : 1'h0;
+  assign _200_ = m_in[1] ? m_in[5] : 1'h0;
+  assign _201_ = m_in[1] ? m_in[2] : 1'h0;
+  assign _202_ = r[227:225] == 3'h4;
+  assign _203_ = r[227:225] == 3'h5;
+  assign _204_ = r[227:225] == 3'h6;
+  assign _205_ = r[227:225] == 3'h7;
+  function [63:0] \15511 ;
+    input [63:0] a;
+    input [511:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15511  = b[63:0];
+      8'b??????1?:
+        \15511  = b[127:64];
+      8'b?????1??:
+        \15511  = b[191:128];
+      8'b????1???:
+        \15511  = b[255:192];
+      8'b???1????:
+        \15511  = b[319:256];
+      8'b??1?????:
+        \15511  = b[383:320];
+      8'b?1??????:
+        \15511  = b[447:384];
+      8'b1???????:
+        \15511  = b[511:448];
+      default:
+        \15511  = a;
+    endcase
+  endfunction
+  assign _206_ = \15511 (64'hxxxxxxxxxxxxxxxx, { r[195:132], r[195:132], r[195:132], r[195:132], _167_, r[195:132], r[195:132], r[195:132] }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [2:0] \15515 ;
+    input [2:0] a;
+    input [23:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15515  = b[2:0];
+      8'b??????1?:
+        \15515  = b[5:3];
+      8'b?????1??:
+        \15515  = b[8:6];
+      8'b????1???:
+        \15515  = b[11:9];
+      8'b???1????:
+        \15515  = b[14:12];
+      8'b??1?????:
+        \15515  = b[17:15];
+      8'b?1??????:
+        \15515  = b[20:18];
+      8'b1???????:
+        \15515  = b[23:21];
+      default:
+        \15515  = a;
+    endcase
+  endfunction
+  assign _207_ = \15515 (3'hx, { r[227:225], r[227:225], r[227:225], _192_, _181_[2:0], 3'h3, _152_, r[227:225] }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15519 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15519  = b[0:0];
+      8'b??????1?:
+        \15519  = b[1:1];
+      8'b?????1??:
+        \15519  = b[2:2];
+      8'b????1???:
+        \15519  = b[3:3];
+      8'b???1????:
+        \15519  = b[4:4];
+      8'b??1?????:
+        \15519  = b[5:5];
+      8'b?1??????:
+        \15519  = b[6:6];
+      8'b1???????:
+        \15519  = b[7:7];
+      default:
+        \15519  = a;
+    endcase
+  endfunction
+  assign _208_ = \15519 (1'hx, { r[228], r[228], r[228], r[228], _181_[3], r[228], r[228], r[228] }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15523 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15523  = b[0:0];
+      8'b??????1?:
+        \15523  = b[1:1];
+      8'b?????1??:
+        \15523  = b[2:2];
+      8'b????1???:
+        \15523  = b[3:3];
+      8'b???1????:
+        \15523  = b[4:4];
+      8'b??1?????:
+        \15523  = b[5:5];
+      8'b?1??????:
+        \15523  = b[6:6];
+      8'b1???????:
+        \15523  = b[7:7];
+      default:
+        \15523  = a;
+    endcase
+  endfunction
+  assign _209_ = \15523 (1'hx, { r[229], r[229], r[229], r[229], _181_[4], 1'h0, r[229], r[229] }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15525 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15525  = b[0:0];
+      8'b??????1?:
+        \15525  = b[1:1];
+      8'b?????1??:
+        \15525  = b[2:2];
+      8'b????1???:
+        \15525  = b[3:3];
+      8'b???1????:
+        \15525  = b[4:4];
+      8'b??1?????:
+        \15525  = b[5:5];
+      8'b?1??????:
+        \15525  = b[6:6];
+      8'b1???????:
+        \15525  = b[7:7];
+      default:
+        \15525  = a;
+    endcase
+  endfunction
+  assign _210_ = \15525 (1'hx, { _139_, _139_, _139_, _139_, _182_, _139_, _139_, _139_ }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15528 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15528  = b[0:0];
+      8'b??????1?:
+        \15528  = b[1:1];
+      8'b?????1??:
+        \15528  = b[2:2];
+      8'b????1???:
+        \15528  = b[3:3];
+      8'b???1????:
+        \15528  = b[4:4];
+      8'b??1?????:
+        \15528  = b[5:5];
+      8'b?1??????:
+        \15528  = b[6:6];
+      8'b1???????:
+        \15528  = b[7:7];
+      default:
+        \15528  = a;
+    endcase
+  endfunction
+  assign _211_ = \15528 (1'hx, { r[409], r[409], r[409], r[409], _187_, r[409], r[409], r[409] }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15530 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15530  = b[0:0];
+      8'b??????1?:
+        \15530  = b[1:1];
+      8'b?????1??:
+        \15530  = b[2:2];
+      8'b????1???:
+        \15530  = b[3:3];
+      8'b???1????:
+        \15530  = b[4:4];
+      8'b??1?????:
+        \15530  = b[5:5];
+      8'b?1??????:
+        \15530  = b[6:6];
+      8'b1???????:
+        \15530  = b[7:7];
+      default:
+        \15530  = a;
+    endcase
+  endfunction
+  assign _212_ = \15530 (1'hx, { 4'h0, _183_, 3'h0 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15541 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15541  = b[0:0];
+      8'b??????1?:
+        \15541  = b[1:1];
+      8'b?????1??:
+        \15541  = b[2:2];
+      8'b????1???:
+        \15541  = b[3:3];
+      8'b???1????:
+        \15541  = b[4:4];
+      8'b??1?????:
+        \15541  = b[5:5];
+      8'b?1??????:
+        \15541  = b[6:6];
+      8'b1???????:
+        \15541  = b[7:7];
+      default:
+        \15541  = a;
+    endcase
+  endfunction
+  assign _213_ = \15541 (1'hx, { 3'h0, _195_, 4'h6 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15545 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15545  = b[0:0];
+      8'b??????1?:
+        \15545  = b[1:1];
+      8'b?????1??:
+        \15545  = b[2:2];
+      8'b????1???:
+        \15545  = b[3:3];
+      8'b???1????:
+        \15545  = b[4:4];
+      8'b??1?????:
+        \15545  = b[5:5];
+      8'b?1??????:
+        \15545  = b[6:6];
+      8'b1???????:
+        \15545  = b[7:7];
+      default:
+        \15545  = a;
+    endcase
+  endfunction
+  assign _214_ = \15545 (1'hx, { 4'h0, _184_, 3'h0 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15548 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15548  = b[0:0];
+      8'b??????1?:
+        \15548  = b[1:1];
+      8'b?????1??:
+        \15548  = b[2:2];
+      8'b????1???:
+        \15548  = b[3:3];
+      8'b???1????:
+        \15548  = b[4:4];
+      8'b??1?????:
+        \15548  = b[5:5];
+      8'b?1??????:
+        \15548  = b[6:6];
+      8'b1???????:
+        \15548  = b[7:7];
+      default:
+        \15548  = a;
+    endcase
+  endfunction
+  assign _215_ = \15548 (1'hx, { r[411], r[411], r[411], r[411], _185_, r[411], r[411], r[411] }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15551 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15551  = b[0:0];
+      8'b??????1?:
+        \15551  = b[1:1];
+      8'b?????1??:
+        \15551  = b[2:2];
+      8'b????1???:
+        \15551  = b[3:3];
+      8'b???1????:
+        \15551  = b[4:4];
+      8'b??1?????:
+        \15551  = b[5:5];
+      8'b?1??????:
+        \15551  = b[6:6];
+      8'b1???????:
+        \15551  = b[7:7];
+      default:
+        \15551  = a;
+    endcase
+  endfunction
+  assign _216_ = \15551 (1'hx, { r[343], 2'h0, _197_, _162_, 3'h0 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15555 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15555  = b[0:0];
+      8'b??????1?:
+        \15555  = b[1:1];
+      8'b?????1??:
+        \15555  = b[2:2];
+      8'b????1???:
+        \15555  = b[3:3];
+      8'b???1????:
+        \15555  = b[4:4];
+      8'b??1?????:
+        \15555  = b[5:5];
+      8'b?1??????:
+        \15555  = b[6:6];
+      8'b1???????:
+        \15555  = b[7:7];
+      default:
+        \15555  = a;
+    endcase
+  endfunction
+  assign _217_ = \15555 (1'hx, { 4'h0, _163_, 3'h0 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [1:0] \15559 ;
+    input [1:0] a;
+    input [15:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15559  = b[1:0];
+      8'b??????1?:
+        \15559  = b[3:2];
+      8'b?????1??:
+        \15559  = b[5:4];
+      8'b????1???:
+        \15559  = b[7:6];
+      8'b???1????:
+        \15559  = b[9:8];
+      8'b??1?????:
+        \15559  = b[11:10];
+      8'b?1??????:
+        \15559  = b[13:12];
+      8'b1???????:
+        \15559  = b[15:14];
+      default:
+        \15559  = a;
+    endcase
+  endfunction
+  assign _218_ = \15559 (2'hx, { 6'h00, _198_, 8'h00 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15562 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15562  = b[0:0];
+      8'b??????1?:
+        \15562  = b[1:1];
+      8'b?????1??:
+        \15562  = b[2:2];
+      8'b????1???:
+        \15562  = b[3:3];
+      8'b???1????:
+        \15562  = b[4:4];
+      8'b??1?????:
+        \15562  = b[5:5];
+      8'b?1??????:
+        \15562  = b[6:6];
+      8'b1???????:
+        \15562  = b[7:7];
+      default:
+        \15562  = a;
+    endcase
+  endfunction
+  assign _219_ = \15562 (1'hx, { 3'h0, _199_, _164_, 3'h0 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15565 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15565  = b[0:0];
+      8'b??????1?:
+        \15565  = b[1:1];
+      8'b?????1??:
+        \15565  = b[2:2];
+      8'b????1???:
+        \15565  = b[3:3];
+      8'b???1????:
+        \15565  = b[4:4];
+      8'b??1?????:
+        \15565  = b[5:5];
+      8'b?1??????:
+        \15565  = b[6:6];
+      8'b1???????:
+        \15565  = b[7:7];
+      default:
+        \15565  = a;
+    endcase
+  endfunction
+  assign _220_ = \15565 (1'hx, { 3'h0, _200_, 4'h0 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15568 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15568  = b[0:0];
+      8'b??????1?:
+        \15568  = b[1:1];
+      8'b?????1??:
+        \15568  = b[2:2];
+      8'b????1???:
+        \15568  = b[3:3];
+      8'b???1????:
+        \15568  = b[4:4];
+      8'b??1?????:
+        \15568  = b[5:5];
+      8'b?1??????:
+        \15568  = b[6:6];
+      8'b1???????:
+        \15568  = b[7:7];
+      default:
+        \15568  = a;
+    endcase
+  endfunction
+  assign _221_ = \15568 (1'hx, { 4'h0, _165_, 3'h0 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15571 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15571  = b[0:0];
+      8'b??????1?:
+        \15571  = b[1:1];
+      8'b?????1??:
+        \15571  = b[2:2];
+      8'b????1???:
+        \15571  = b[3:3];
+      8'b???1????:
+        \15571  = b[4:4];
+      8'b??1?????:
+        \15571  = b[5:5];
+      8'b?1??????:
+        \15571  = b[6:6];
+      8'b1???????:
+        \15571  = b[7:7];
+      default:
+        \15571  = a;
+    endcase
+  endfunction
+  assign _222_ = \15571 (1'hx, { 3'h0, _201_, 4'h0 }, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  function [0:0] \15585 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \15585  = b[0:0];
+      8'b??????1?:
+        \15585  = b[1:1];
+      8'b?????1??:
+        \15585  = b[2:2];
+      8'b????1???:
+        \15585  = b[3:3];
+      8'b???1????:
+        \15585  = b[4:4];
+      8'b??1?????:
+        \15585  = b[5:5];
+      8'b?1??????:
+        \15585  = b[6:6];
+      8'b1???????:
+        \15585  = b[7:7];
+      default:
+        \15585  = a;
+    endcase
+  endfunction
+  assign _223_ = \15585 (1'hx, 8'h40, { _205_, _204_, _203_, _202_, _188_, _154_, _153_, _150_ });
+  assign _224_ = _143_ | _216_;
+  assign _225_ = _224_ ? 3'h0 : _207_;
+  assign _226_ = _224_ ? 1'h0 : _210_;
+  assign _227_ = l_in[324] ? 32'd0 : lsu_sum[63:32];
+  assign _228_ = lsu_sum[31:28] == 4'hc;
+  assign _229_ = ~ l_in[322];
+  assign _230_ = _228_ & _229_;
+  assign _231_ = _230_ ? 1'h1 : l_in[306];
+  assign _232_ = l_in[305:302] == 4'h1;
+  assign _233_ = l_in[305:302] == 4'h2;
+  assign _234_ = l_in[305:302] == 4'h4;
+  assign _235_ = l_in[305:302] == 4'h8;
+  function [7:0] \15663 ;
+    input [7:0] a;
+    input [31:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \15663  = b[7:0];
+      4'b??1?:
+        \15663  = b[15:8];
+      4'b?1??:
+        \15663  = b[23:16];
+      4'b1???:
+        \15663  = b[31:24];
+      default:
+        \15663  = a;
+    endcase
+  endfunction
+  assign _236_ = \15663 (8'h00, 32'd4279173889, { _235_, _234_, _233_, _232_ });
+  assign _237_ = { 8'h00, _236_ } << { 28'h0000000, lsu_sum[2:0] };
+  assign _238_ = l_in[304:302] - 3'h1;
+  assign _239_ = _238_ & lsu_sum[2:0];
+  assign _240_ = | _239_;
+  assign _241_ = l_in[320] & _240_;
+  assign _242_ = l_in[6:1] == 6'h20;
+  assign _243_ = l_in[6:1] == 6'h1f;
+  assign _244_ = l_in[6:1] == 6'h14;
+  assign _245_ = l_in[6:1] == 6'h22;
+  assign _246_ = l_in[6:1] == 6'h21;
+  assign _247_ = l_in[6:1] == 6'h3a;
+  assign _248_ = ~ l_in[86];
+  assign _249_ = ~ l_in[82];
+  assign _250_ = _248_ & _249_;
+  assign _251_ = ~ l_in[87];
+  assign _252_ = _251_ ? { 32'h00000000, r[341:310] } : r[309:246];
+  assign _253_ = _250_ ? _252_ : m_in[70:7];
+  assign _254_ = l_in[6:1] == 6'h26;
+  assign _255_ = ~ l_in[86];
+  assign _256_ = ~ l_in[82];
+  assign _257_ = _255_ & _256_;
+  assign _258_ = ~ l_in[87];
+  assign _259_ = _258_ ? r[309:246] : l_in[294:231];
+  assign _260_ = _258_ ? l_in[262:231] : r[341:310];
+  assign _261_ = _257_ ? 3'h7 : 3'h5;
+  assign _262_ = _257_ ? { _260_, _259_ } : r[341:246];
+  assign _263_ = _257_ ? 1'h0 : 1'h1;
+  assign _264_ = _257_ ? 1'h0 : 1'h1;
+  assign _265_ = l_in[6:1] == 6'h2a;
+  assign _266_ = l_in[6:1] == 6'h3f;
+  function [0:0] \15755 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15755  = b[0:0];
+      9'b???????1?:
+        \15755  = b[1:1];
+      9'b??????1??:
+        \15755  = b[2:2];
+      9'b?????1???:
+        \15755  = b[3:3];
+      9'b????1????:
+        \15755  = b[4:4];
+      9'b???1?????:
+        \15755  = b[5:5];
+      9'b??1??????:
+        \15755  = b[6:6];
+      9'b?1???????:
+        \15755  = b[7:7];
+      9'b1????????:
+        \15755  = b[8:8];
+      default:
+        \15755  = a;
+    endcase
+  endfunction
+  assign _267_ = \15755 (1'h0, 9'h002, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15756 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15756  = b[0:0];
+      9'b???????1?:
+        \15756  = b[1:1];
+      9'b??????1??:
+        \15756  = b[2:2];
+      9'b?????1???:
+        \15756  = b[3:3];
+      9'b????1????:
+        \15756  = b[4:4];
+      9'b???1?????:
+        \15756  = b[5:5];
+      9'b??1??????:
+        \15756  = b[6:6];
+      9'b?1???????:
+        \15756  = b[7:7];
+      9'b1????????:
+        \15756  = b[8:8];
+      default:
+        \15756  = a;
+    endcase
+  endfunction
+  assign _268_ = \15756 (1'h0, 9'h020, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15757 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15757  = b[0:0];
+      9'b???????1?:
+        \15757  = b[1:1];
+      9'b??????1??:
+        \15757  = b[2:2];
+      9'b?????1???:
+        \15757  = b[3:3];
+      9'b????1????:
+        \15757  = b[4:4];
+      9'b???1?????:
+        \15757  = b[5:5];
+      9'b??1??????:
+        \15757  = b[6:6];
+      9'b?1???????:
+        \15757  = b[7:7];
+      9'b1????????:
+        \15757  = b[8:8];
+      default:
+        \15757  = a;
+    endcase
+  endfunction
+  assign _269_ = \15757 (1'h0, 9'h004, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15758 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15758  = b[0:0];
+      9'b???????1?:
+        \15758  = b[1:1];
+      9'b??????1??:
+        \15758  = b[2:2];
+      9'b?????1???:
+        \15758  = b[3:3];
+      9'b????1????:
+        \15758  = b[4:4];
+      9'b???1?????:
+        \15758  = b[5:5];
+      9'b??1??????:
+        \15758  = b[6:6];
+      9'b?1???????:
+        \15758  = b[7:7];
+      9'b1????????:
+        \15758  = b[8:8];
+      default:
+        \15758  = a;
+    endcase
+  endfunction
+  assign _270_ = \15758 (1'h0, 9'h040, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [2:0] \15759 ;
+    input [2:0] a;
+    input [26:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15759  = b[2:0];
+      9'b???????1?:
+        \15759  = b[5:3];
+      9'b??????1??:
+        \15759  = b[8:6];
+      9'b?????1???:
+        \15759  = b[11:9];
+      9'b????1????:
+        \15759  = b[14:12];
+      9'b???1?????:
+        \15759  = b[17:15];
+      9'b??1??????:
+        \15759  = b[20:18];
+      9'b?1???????:
+        \15759  = b[23:21];
+      9'b1????????:
+        \15759  = b[26:24];
+      default:
+        \15759  = a;
+    endcase
+  endfunction
+  assign _271_ = \15759 (_225_, { 3'h4, _261_, 6'h3d, _225_, _225_, _225_, _225_, _225_ }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [95:0] \15761 ;
+    input [95:0] a;
+    input [863:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15761  = b[95:0];
+      9'b???????1?:
+        \15761  = b[191:96];
+      9'b??????1??:
+        \15761  = b[287:192];
+      9'b?????1???:
+        \15761  = b[383:288];
+      9'b????1????:
+        \15761  = b[479:384];
+      9'b???1?????:
+        \15761  = b[575:480];
+      9'b??1??????:
+        \15761  = b[671:576];
+      9'b?1???????:
+        \15761  = b[767:672];
+      9'b1????????:
+        \15761  = b[863:768];
+      default:
+        \15761  = a;
+    endcase
+  endfunction
+  assign _272_ = \15761 (r[341:246], { r[341:246], _262_, r[341:246], r[341:246], r[341:246], r[341:246], r[341:246], r[341:246], r[341:246] }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15762 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15762  = b[0:0];
+      9'b???????1?:
+        \15762  = b[1:1];
+      9'b??????1??:
+        \15762  = b[2:2];
+      9'b?????1???:
+        \15762  = b[3:3];
+      9'b????1????:
+        \15762  = b[4:4];
+      9'b???1?????:
+        \15762  = b[5:5];
+      9'b??1??????:
+        \15762  = b[6:6];
+      9'b?1???????:
+        \15762  = b[7:7];
+      9'b1????????:
+        \15762  = b[8:8];
+      default:
+        \15762  = a;
+    endcase
+  endfunction
+  assign _273_ = \15762 (1'h0, 9'h100, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15763 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15763  = b[0:0];
+      9'b???????1?:
+        \15763  = b[1:1];
+      9'b??????1??:
+        \15763  = b[2:2];
+      9'b?????1???:
+        \15763  = b[3:3];
+      9'b????1????:
+        \15763  = b[4:4];
+      9'b???1?????:
+        \15763  = b[5:5];
+      9'b??1??????:
+        \15763  = b[6:6];
+      9'b?1???????:
+        \15763  = b[7:7];
+      9'b1????????:
+        \15763  = b[8:8];
+      default:
+        \15763  = a;
+    endcase
+  endfunction
+  assign _274_ = \15763 (_241_, { _241_, _241_, _241_, _241_, _241_, _241_, _231_, _241_, _241_ }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [63:0] \15765 ;
+    input [63:0] a;
+    input [575:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15765  = b[63:0];
+      9'b???????1?:
+        \15765  = b[127:64];
+      9'b??????1??:
+        \15765  = b[191:128];
+      9'b?????1???:
+        \15765  = b[255:192];
+      9'b????1????:
+        \15765  = b[319:256];
+      9'b???1?????:
+        \15765  = b[383:320];
+      9'b??1??????:
+        \15765  = b[447:384];
+      9'b?1???????:
+        \15765  = b[511:448];
+      9'b1????????:
+        \15765  = b[575:512];
+      default:
+        \15765  = a;
+    endcase
+  endfunction
+  assign _275_ = \15765 (r[407:344], { r[407:344], r[407:344], _253_, r[407:344], r[407:344], r[407:344], r[407:344], r[407:344], r[407:344] }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15766 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15766  = b[0:0];
+      9'b???????1?:
+        \15766  = b[1:1];
+      9'b??????1??:
+        \15766  = b[2:2];
+      9'b?????1???:
+        \15766  = b[3:3];
+      9'b????1????:
+        \15766  = b[4:4];
+      9'b???1?????:
+        \15766  = b[5:5];
+      9'b??1??????:
+        \15766  = b[6:6];
+      9'b?1???????:
+        \15766  = b[7:7];
+      9'b1????????:
+        \15766  = b[8:8];
+      default:
+        \15766  = a;
+    endcase
+  endfunction
+  assign _276_ = \15766 (1'h0, { 1'h1, _263_, 7'h20 }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15767 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15767  = b[0:0];
+      9'b???????1?:
+        \15767  = b[1:1];
+      9'b??????1??:
+        \15767  = b[2:2];
+      9'b?????1???:
+        \15767  = b[3:3];
+      9'b????1????:
+        \15767  = b[4:4];
+      9'b???1?????:
+        \15767  = b[5:5];
+      9'b??1??????:
+        \15767  = b[6:6];
+      9'b?1???????:
+        \15767  = b[7:7];
+      9'b1????????:
+        \15767  = b[8:8];
+      default:
+        \15767  = a;
+    endcase
+  endfunction
+  assign _277_ = \15767 (1'h0, { 7'h00, l_in[309], 1'h0 }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15771 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15771  = b[0:0];
+      9'b???????1?:
+        \15771  = b[1:1];
+      9'b??????1??:
+        \15771  = b[2:2];
+      9'b?????1???:
+        \15771  = b[3:3];
+      9'b????1????:
+        \15771  = b[4:4];
+      9'b???1?????:
+        \15771  = b[5:5];
+      9'b??1??????:
+        \15771  = b[6:6];
+      9'b?1???????:
+        \15771  = b[7:7];
+      9'b1????????:
+        \15771  = b[8:8];
+      default:
+        \15771  = a;
+    endcase
+  endfunction
+  assign _278_ = \15771 (_213_, { _213_, _213_, _213_, _213_, _213_, _213_, 3'h7 }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [63:0] \15772 ;
+    input [63:0] a;
+    input [575:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15772  = b[63:0];
+      9'b???????1?:
+        \15772  = b[127:64];
+      9'b??????1??:
+        \15772  = b[191:128];
+      9'b?????1???:
+        \15772  = b[255:192];
+      9'b????1????:
+        \15772  = b[319:256];
+      9'b???1?????:
+        \15772  = b[383:320];
+      9'b??1??????:
+        \15772  = b[447:384];
+      9'b?1???????:
+        \15772  = b[511:448];
+      9'b1????????:
+        \15772  = b[575:512];
+      default:
+        \15772  = a;
+    endcase
+  endfunction
+  assign _279_ = \15772 (l_in[230:167], { l_in[70:7], l_in[230:167], l_in[230:167], l_in[230:167], l_in[230:167], l_in[230:167], l_in[230:167], l_in[230:167], l_in[230:167] }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15775 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15775  = b[0:0];
+      9'b???????1?:
+        \15775  = b[1:1];
+      9'b??????1??:
+        \15775  = b[2:2];
+      9'b?????1???:
+        \15775  = b[3:3];
+      9'b????1????:
+        \15775  = b[4:4];
+      9'b???1?????:
+        \15775  = b[5:5];
+      9'b??1??????:
+        \15775  = b[6:6];
+      9'b?1???????:
+        \15775  = b[7:7];
+      9'b1????????:
+        \15775  = b[8:8];
+      default:
+        \15775  = a;
+    endcase
+  endfunction
+  assign _280_ = \15775 (_217_, { 1'h1, _217_, _217_, 1'h1, _217_, _217_, _217_, _217_, _217_ }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  function [0:0] \15777 ;
+    input [0:0] a;
+    input [8:0] b;
+    input [8:0] s;
+    (* parallel_case *)
+    casez (s)
+      9'b????????1:
+        \15777  = b[0:0];
+      9'b???????1?:
+        \15777  = b[1:1];
+      9'b??????1??:
+        \15777  = b[2:2];
+      9'b?????1???:
+        \15777  = b[3:3];
+      9'b????1????:
+        \15777  = b[4:4];
+      9'b???1?????:
+        \15777  = b[5:5];
+      9'b??1??????:
+        \15777  = b[6:6];
+      9'b?1???????:
+        \15777  = b[7:7];
+      9'b1????????:
+        \15777  = b[8:8];
+      default:
+        \15777  = a;
+    endcase
+  endfunction
+  assign _281_ = \15777 (1'h0, { 1'h0, _264_, 7'h00 }, { _266_, _265_, _254_, _247_, _246_, _245_, _244_, _243_, _242_ });
+  assign _282_ = _237_[15:8] == 8'h00;
+  assign _283_ = _282_ ? 3'h3 : 3'h2;
+  assign _284_ = _274_ ? 3'h7 : _283_;
+  assign _285_ = _278_ ? _284_ : _271_;
+  assign _286_ = _278_ | _280_;
+  assign _287_ = _286_ | _281_;
+  assign _288_ = _287_ | 1'h0;
+  assign _289_ = l_in[0] ? { lsu_sum, _270_, _269_, _268_, _267_ } : { r[67:4], 1'h0, r[2:0] };
+  assign _290_ = l_in[0] ? { 1'h0, l_in[324], _277_, 1'h0, _276_, 1'h0, _288_, _275_, _274_, _273_, _272_, _237_, 2'h2, _285_, l_in[323:322], _231_, l_in[321:307], l_in[305:295] } : { r[414:412], _212_, r[410], _211_, _226_, r[407:230], _209_, _208_, _225_, r[224:196] };
+  assign _291_ = l_in[0] ? _237_[7:0] : _146_;
+  assign _292_ = l_in[0] ? _278_ : _213_;
+  assign _293_ = l_in[0] ? { _227_, lsu_sum[31:0] } : { _148_, _149_ };
+  assign _294_ = l_in[0] ? _279_ : { _148_, _149_ };
+  assign _295_ = l_in[0] ? _280_ : _217_;
+  assign _296_ = l_in[0] ? _281_ : 1'h0;
+  assign _297_ = ~ _290_[147];
+  assign _298_ = _292_ & _297_;
+  assign _299_ = _223_ ? { 64'hxxxxxxxxxxxxxxxx, r[202:196], 1'h1 } : { _113_, _104_, _095_, _086_, _077_, _068_, _059_, _050_, r[202:196], _214_ };
+  assign _300_ = _215_ ? { r[67:4], 2'h0, r[214:210], 1'h1 } : _299_;
+  assign _301_ = r[3] ? { r[407:344], r[202:196], 1'h1 } : _300_;
+  assign _302_ = r[221] & _143_;
+  assign _303_ = ~ r[342];
+  assign _304_ = _216_ & _303_;
+  assign _305_ = ~ m_in[4];
+  assign _306_ = ~ r[343];
+  assign _307_ = _305_ & _306_;
+  assign _308_ = l_in[0] ? _272_[95:64] : r[341:310];
+  assign _309_ = _307_ ? { 1'h0, _222_, 1'h0, _221_, _220_, 1'h0, _219_, 5'h00, _218_, 18'h00000 } : _308_;
+  assign _310_ = l_in[0] ? _272_ : r[341:246];
+  assign _311_ = _304_ ? { _309_, _293_ } : _310_;
+  assign _312_ = l_in[0] ? { 1'h0, l_in[324], _277_, 1'h0, _276_, 1'h0, _288_, _275_, _274_, _273_ } : { r[414:412], _212_, r[410], _211_, _226_, r[407:342] };
+  assign _313_ = l_in[0] ? { _237_, 2'h2, _285_, l_in[323:322], _231_, l_in[321:307], l_in[305:295] } : { r[245:230], _209_, _208_, _225_, r[224:196] };
+  assign _316_ = _011_[2] ? _315_ : _314_;
+  assign _319_ = _013_[2] ? _318_ : _317_;
+  assign _322_ = _015_[2] ? _321_ : _320_;
+  assign _325_ = _017_[2] ? _324_ : _323_;
+  assign _328_ = _019_[2] ? _327_ : _326_;
+  assign _331_ = _021_[2] ? _330_ : _329_;
+  assign _334_ = _023_[2] ? _333_ : _332_;
+  assign _337_ = _025_[2] ? _336_ : _335_;
+  assign _340_ = _118_[2] ? _339_ : _338_;
+  assign _343_ = _120_[2] ? _342_ : _341_;
+  assign _346_ = _122_[2] ? _345_ : _344_;
+  assign _349_ = _124_[2] ? _348_ : _347_;
+  assign _352_ = _126_[2] ? _351_ : _350_;
+  assign _355_ = _128_[2] ? _354_ : _353_;
+  assign _358_ = _130_[2] ? _357_ : _356_;
+  assign _361_ = _132_[2] ? _360_ : _359_;
+  assign e_out = { r[342], m_in[4:3], m_in[6:5], m_in[2], r[343], _216_, _139_ };
+  assign l_out = { d_in[65], _302_, r[219:215], _301_, _143_ };
+  assign d_out = { _291_, _133_, _293_, _290_[28:27], _290_[24], _290_[26], _289_[2], _289_[0], _298_ };
+  assign m_out = { l_in[294:231], _294_, l_in[86:82], l_in[91:87], r[224], r[0], _290_[146], _296_, l_in[78], _289_[1], _295_ };
+  assign log_out = 10'hzzz;
+endmodule
+
+module logic_analyzer_32_32(clk, rst, wb_in, io_in, wb_out, io_out);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire [31:0] _03_;
+  wire _04_;
+  wire [31:0] _05_;
+  wire [31:0] _06_;
+  wire _07_;
+  wire [31:0] _08_;
+  wire [31:0] _09_;
+  wire _10_;
+  reg [31:0] _11_;
+  reg [31:0] _12_;
+  reg ack;
+  input clk;
+  input [31:0] io_in;
+  output [31:0] io_out;
+  wire re;
+  input rst;
+  input [68:0] wb_in;
+  output [33:0] wb_out;
+  wire we;
+  assign _00_ = wb_in[67] & wb_in[66];
+  assign we = _00_ & wb_in[68];
+  assign _01_ = wb_in[67] & wb_in[66];
+  assign _02_ = ~ wb_in[68];
+  assign re = _01_ & _02_;
+  assign _03_ = we ? wb_in[61:30] : _12_;
+  assign _04_ = we ? 1'h1 : 1'h0;
+  assign _05_ = re ? io_in : _11_;
+  assign _06_ = re ? _12_ : _03_;
+  assign _07_ = re ? 1'h1 : _04_;
+  assign _08_ = rst ? _11_ : _05_;
+  assign _09_ = rst ? 32'd0 : _06_;
+  assign _10_ = rst ? 1'h0 : _07_;
+  always @(posedge clk)
+    _11_ <= _08_;
+  always @(posedge clk)
+    _12_ <= _09_;
+  always @(posedge clk)
+    ack <= _10_;
+  assign wb_out = { 1'h0, ack, _11_ };
+  assign io_out = _12_;
+endmodule
+
+module logical(rs, rb, op, invert_in, invert_out, datalen, result);
+  wire [1:0] _0000_;
+  wire [1:0] _0001_;
+  wire [1:0] _0002_;
+  wire [1:0] _0003_;
+  wire [1:0] _0004_;
+  wire [1:0] _0005_;
+  wire [1:0] _0006_;
+  wire [1:0] _0007_;
+  wire [1:0] _0008_;
+  wire [1:0] _0009_;
+  wire [1:0] _0010_;
+  wire [1:0] _0011_;
+  wire [1:0] _0012_;
+  wire [1:0] _0013_;
+  wire [1:0] _0014_;
+  wire [1:0] _0015_;
+  wire [1:0] _0016_;
+  wire [1:0] _0017_;
+  wire [1:0] _0018_;
+  wire [1:0] _0019_;
+  wire [1:0] _0020_;
+  wire [1:0] _0021_;
+  wire [1:0] _0022_;
+  wire [1:0] _0023_;
+  wire [1:0] _0024_;
+  wire [1:0] _0025_;
+  wire [1:0] _0026_;
+  wire [1:0] _0027_;
+  wire [1:0] _0028_;
+  wire [1:0] _0029_;
+  wire [1:0] _0030_;
+  wire [1:0] _0031_;
+  wire [2:0] _0032_;
+  wire [2:0] _0033_;
+  wire [2:0] _0034_;
+  wire [2:0] _0035_;
+  wire [2:0] _0036_;
+  wire [2:0] _0037_;
+  wire [2:0] _0038_;
+  wire [2:0] _0039_;
+  wire [2:0] _0040_;
+  wire [2:0] _0041_;
+  wire [2:0] _0042_;
+  wire [2:0] _0043_;
+  wire [2:0] _0044_;
+  wire [2:0] _0045_;
+  wire [2:0] _0046_;
+  wire [2:0] _0047_;
+  wire [3:0] _0048_;
+  wire [3:0] _0049_;
+  wire [3:0] _0050_;
+  wire [3:0] _0051_;
+  wire [3:0] _0052_;
+  wire [3:0] _0053_;
+  wire [3:0] _0054_;
+  wire [3:0] _0055_;
+  wire [5:0] _0056_;
+  wire [5:0] _0057_;
+  wire [5:0] _0058_;
+  wire [5:0] _0059_;
+  wire [5:0] _0060_;
+  wire [5:0] _0061_;
+  wire _0062_;
+  wire _0063_;
+  wire [6:0] _0064_;
+  wire [5:0] _0065_;
+  wire _0066_;
+  wire [5:0] _0067_;
+  wire [3:0] _0068_;
+  wire [2:0] _0069_;
+  wire [3:0] _0070_;
+  wire [3:0] _0071_;
+  wire [3:0] _0072_;
+  wire [3:0] _0073_;
+  wire [1:0] _0074_;
+  wire [3:0] _0075_;
+  wire [3:0] _0076_;
+  wire [3:0] _0077_;
+  wire _0078_;
+  wire _0079_;
+  wire _0080_;
+  wire _0081_;
+  wire _0082_;
+  wire _0083_;
+  wire _0084_;
+  wire _0085_;
+  wire _0086_;
+  wire _0087_;
+  wire _0088_;
+  wire _0089_;
+  wire _0090_;
+  wire _0091_;
+  wire _0092_;
+  wire _0093_;
+  wire _0094_;
+  wire _0095_;
+  wire _0096_;
+  wire _0097_;
+  wire _0098_;
+  wire _0099_;
+  wire _0100_;
+  wire [63:0] _0101_;
+  wire [63:0] _0102_;
+  wire [63:0] _0103_;
+  wire _0104_;
+  wire [63:0] _0105_;
+  wire _0106_;
+  wire [63:0] _0107_;
+  wire [63:0] _0108_;
+  wire [63:0] _0109_;
+  wire [63:0] _0110_;
+  wire _0111_;
+  wire _0112_;
+  wire _0113_;
+  wire _0114_;
+  wire _0115_;
+  wire _0116_;
+  wire _0117_;
+  wire _0118_;
+  wire [7:0] _0119_;
+  wire _0120_;
+  wire [7:0] _0121_;
+  wire _0122_;
+  wire [7:0] _0123_;
+  wire _0124_;
+  wire [7:0] _0125_;
+  wire _0126_;
+  wire [7:0] _0127_;
+  wire _0128_;
+  wire [7:0] _0129_;
+  wire _0130_;
+  wire [7:0] _0131_;
+  wire _0132_;
+  wire [7:0] _0133_;
+  wire _0134_;
+  wire _0135_;
+  wire _0136_;
+  wire _0137_;
+  wire _0138_;
+  wire _0139_;
+  wire _0140_;
+  wire _0141_;
+  wire _0142_;
+  wire _0143_;
+  wire _0144_;
+  wire _0145_;
+  wire _0146_;
+  wire _0147_;
+  wire _0148_;
+  wire _0149_;
+  wire _0150_;
+  wire _0151_;
+  wire _0152_;
+  wire _0153_;
+  wire _0154_;
+  wire _0155_;
+  wire _0156_;
+  wire _0157_;
+  wire _0158_;
+  wire _0159_;
+  wire _0160_;
+  wire _0161_;
+  wire _0162_;
+  wire _0163_;
+  wire _0164_;
+  wire _0165_;
+  wire _0166_;
+  wire _0167_;
+  wire _0168_;
+  wire _0169_;
+  wire _0170_;
+  wire _0171_;
+  wire _0172_;
+  wire _0173_;
+  wire _0174_;
+  wire _0175_;
+  wire _0176_;
+  wire _0177_;
+  wire _0178_;
+  wire _0179_;
+  wire _0180_;
+  wire _0181_;
+  wire _0182_;
+  wire _0183_;
+  wire _0184_;
+  wire _0185_;
+  wire _0186_;
+  wire _0187_;
+  wire _0188_;
+  wire _0189_;
+  wire _0190_;
+  wire _0191_;
+  wire _0192_;
+  wire _0193_;
+  wire _0194_;
+  wire _0195_;
+  wire _0196_;
+  wire _0197_;
+  wire _0198_;
+  wire _0199_;
+  wire _0200_;
+  wire _0201_;
+  wire _0202_;
+  wire _0203_;
+  wire _0204_;
+  wire _0205_;
+  wire _0206_;
+  wire _0207_;
+  wire _0208_;
+  wire _0209_;
+  wire _0210_;
+  wire _0211_;
+  wire _0212_;
+  wire _0213_;
+  wire _0214_;
+  wire _0215_;
+  wire _0216_;
+  wire _0217_;
+  wire _0218_;
+  wire _0219_;
+  wire _0220_;
+  wire _0221_;
+  wire _0222_;
+  wire _0223_;
+  wire _0224_;
+  wire _0225_;
+  wire _0226_;
+  wire _0227_;
+  wire _0228_;
+  wire _0229_;
+  wire _0230_;
+  wire _0231_;
+  wire _0232_;
+  wire _0233_;
+  wire _0234_;
+  wire _0235_;
+  wire _0236_;
+  wire _0237_;
+  wire _0238_;
+  wire _0239_;
+  wire _0240_;
+  wire _0241_;
+  wire _0242_;
+  wire _0243_;
+  wire _0244_;
+  wire _0245_;
+  wire _0246_;
+  wire _0247_;
+  wire _0248_;
+  wire _0249_;
+  wire _0250_;
+  wire _0251_;
+  wire _0252_;
+  wire _0253_;
+  wire _0254_;
+  wire _0255_;
+  wire _0256_;
+  wire _0257_;
+  wire _0258_;
+  wire _0259_;
+  wire _0260_;
+  wire _0261_;
+  wire _0262_;
+  wire _0263_;
+  wire _0264_;
+  wire _0265_;
+  wire _0266_;
+  wire _0267_;
+  wire _0268_;
+  wire _0269_;
+  wire _0270_;
+  wire _0271_;
+  wire _0272_;
+  wire _0273_;
+  wire _0274_;
+  wire _0275_;
+  wire _0276_;
+  wire _0277_;
+  wire _0278_;
+  wire _0279_;
+  wire _0280_;
+  wire _0281_;
+  wire _0282_;
+  wire _0283_;
+  wire _0284_;
+  wire _0285_;
+  wire _0286_;
+  wire _0287_;
+  wire _0288_;
+  wire _0289_;
+  wire _0290_;
+  wire _0291_;
+  wire _0292_;
+  wire _0293_;
+  wire _0294_;
+  wire _0295_;
+  wire _0296_;
+  wire _0297_;
+  wire _0298_;
+  wire _0299_;
+  wire _0300_;
+  wire _0301_;
+  wire _0302_;
+  wire _0303_;
+  wire _0304_;
+  wire _0305_;
+  wire _0306_;
+  wire _0307_;
+  wire _0308_;
+  wire _0309_;
+  wire _0310_;
+  wire _0311_;
+  wire _0312_;
+  wire _0313_;
+  wire _0314_;
+  wire _0315_;
+  wire _0316_;
+  wire _0317_;
+  wire _0318_;
+  wire _0319_;
+  wire _0320_;
+  wire _0321_;
+  wire _0322_;
+  wire _0323_;
+  wire _0324_;
+  wire _0325_;
+  wire _0326_;
+  wire _0327_;
+  wire _0328_;
+  wire _0329_;
+  wire _0330_;
+  wire _0331_;
+  wire _0332_;
+  wire _0333_;
+  wire _0334_;
+  wire _0335_;
+  wire _0336_;
+  wire _0337_;
+  wire _0338_;
+  wire _0339_;
+  wire _0340_;
+  wire _0341_;
+  wire _0342_;
+  wire _0343_;
+  wire _0344_;
+  wire _0345_;
+  wire _0346_;
+  wire _0347_;
+  wire _0348_;
+  wire _0349_;
+  wire _0350_;
+  wire _0351_;
+  wire _0352_;
+  wire _0353_;
+  wire _0354_;
+  wire _0355_;
+  wire _0356_;
+  wire _0357_;
+  wire _0358_;
+  wire _0359_;
+  wire _0360_;
+  wire _0361_;
+  wire _0362_;
+  wire _0363_;
+  wire _0364_;
+  wire _0365_;
+  wire _0366_;
+  wire _0367_;
+  wire _0368_;
+  wire _0369_;
+  wire _0370_;
+  wire _0371_;
+  wire _0372_;
+  wire _0373_;
+  wire _0374_;
+  wire _0375_;
+  wire _0376_;
+  wire _0377_;
+  wire _0378_;
+  wire _0379_;
+  wire _0380_;
+  wire _0381_;
+  wire _0382_;
+  wire _0383_;
+  wire _0384_;
+  wire _0385_;
+  wire _0386_;
+  wire _0387_;
+  wire _0388_;
+  wire _0389_;
+  wire _0390_;
+  wire _0391_;
+  wire _0392_;
+  wire _0393_;
+  wire _0394_;
+  wire _0395_;
+  wire _0396_;
+  wire _0397_;
+  wire _0398_;
+  wire _0399_;
+  wire _0400_;
+  wire _0401_;
+  wire _0402_;
+  wire _0403_;
+  wire _0404_;
+  wire _0405_;
+  wire _0406_;
+  wire _0407_;
+  wire _0408_;
+  wire _0409_;
+  wire _0410_;
+  wire _0411_;
+  wire _0412_;
+  wire _0413_;
+  wire _0414_;
+  wire _0415_;
+  wire _0416_;
+  wire _0417_;
+  wire _0418_;
+  wire _0419_;
+  wire _0420_;
+  wire _0421_;
+  wire _0422_;
+  wire _0423_;
+  wire _0424_;
+  wire _0425_;
+  wire _0426_;
+  wire _0427_;
+  wire _0428_;
+  wire _0429_;
+  wire _0430_;
+  wire _0431_;
+  wire _0432_;
+  wire _0433_;
+  wire _0434_;
+  wire _0435_;
+  wire _0436_;
+  wire _0437_;
+  wire _0438_;
+  wire _0439_;
+  wire _0440_;
+  wire _0441_;
+  wire _0442_;
+  wire _0443_;
+  wire _0444_;
+  wire _0445_;
+  wire _0446_;
+  wire _0447_;
+  wire _0448_;
+  wire _0449_;
+  wire _0450_;
+  wire _0451_;
+  wire _0452_;
+  wire _0453_;
+  wire _0454_;
+  wire _0455_;
+  wire _0456_;
+  wire _0457_;
+  wire _0458_;
+  wire _0459_;
+  wire _0460_;
+  wire _0461_;
+  wire _0462_;
+  wire _0463_;
+  wire _0464_;
+  wire _0465_;
+  wire _0466_;
+  wire _0467_;
+  wire _0468_;
+  wire _0469_;
+  wire _0470_;
+  wire _0471_;
+  wire _0472_;
+  wire _0473_;
+  wire _0474_;
+  wire _0475_;
+  wire _0476_;
+  wire _0477_;
+  wire _0478_;
+  wire _0479_;
+  wire _0480_;
+  wire _0481_;
+  wire _0482_;
+  wire _0483_;
+  wire _0484_;
+  wire _0485_;
+  wire _0486_;
+  wire _0487_;
+  wire _0488_;
+  wire _0489_;
+  wire _0490_;
+  wire _0491_;
+  wire _0492_;
+  wire _0493_;
+  wire _0494_;
+  wire _0495_;
+  wire _0496_;
+  wire _0497_;
+  wire _0498_;
+  wire _0499_;
+  wire _0500_;
+  wire _0501_;
+  wire _0502_;
+  wire _0503_;
+  wire _0504_;
+  wire _0505_;
+  wire _0506_;
+  wire _0507_;
+  wire _0508_;
+  wire _0509_;
+  wire _0510_;
+  wire _0511_;
+  wire _0512_;
+  wire _0513_;
+  wire _0514_;
+  wire _0515_;
+  wire _0516_;
+  wire _0517_;
+  wire _0518_;
+  wire _0519_;
+  wire _0520_;
+  wire _0521_;
+  wire _0522_;
+  wire _0523_;
+  wire _0524_;
+  wire _0525_;
+  wire _0526_;
+  wire _0527_;
+  wire _0528_;
+  wire _0529_;
+  wire _0530_;
+  wire _0531_;
+  wire _0532_;
+  wire _0533_;
+  wire _0534_;
+  wire _0535_;
+  wire _0536_;
+  wire _0537_;
+  wire _0538_;
+  wire _0539_;
+  wire _0540_;
+  wire _0541_;
+  wire _0542_;
+  wire _0543_;
+  wire _0544_;
+  wire _0545_;
+  wire _0546_;
+  wire _0547_;
+  wire _0548_;
+  wire _0549_;
+  wire _0550_;
+  wire _0551_;
+  wire _0552_;
+  wire _0553_;
+  wire _0554_;
+  wire _0555_;
+  wire _0556_;
+  wire _0557_;
+  wire _0558_;
+  wire _0559_;
+  wire _0560_;
+  wire _0561_;
+  wire _0562_;
+  wire _0563_;
+  wire _0564_;
+  wire _0565_;
+  wire _0566_;
+  wire _0567_;
+  wire _0568_;
+  wire _0569_;
+  wire _0570_;
+  wire _0571_;
+  wire _0572_;
+  wire _0573_;
+  wire _0574_;
+  wire _0575_;
+  wire _0576_;
+  wire _0577_;
+  wire _0578_;
+  wire _0579_;
+  wire _0580_;
+  wire _0581_;
+  wire _0582_;
+  wire _0583_;
+  wire _0584_;
+  wire _0585_;
+  wire _0586_;
+  wire _0587_;
+  wire _0588_;
+  wire _0589_;
+  wire _0590_;
+  wire _0591_;
+  wire _0592_;
+  wire _0593_;
+  wire _0594_;
+  wire _0595_;
+  wire _0596_;
+  wire _0597_;
+  wire _0598_;
+  wire _0599_;
+  wire _0600_;
+  wire _0601_;
+  wire _0602_;
+  wire _0603_;
+  wire _0604_;
+  wire _0605_;
+  wire _0606_;
+  wire _0607_;
+  wire _0608_;
+  wire _0609_;
+  wire _0610_;
+  wire _0611_;
+  wire _0612_;
+  wire _0613_;
+  wire _0614_;
+  wire _0615_;
+  wire _0616_;
+  wire _0617_;
+  wire _0618_;
+  wire _0619_;
+  wire _0620_;
+  wire _0621_;
+  wire _0622_;
+  wire _0623_;
+  wire _0624_;
+  wire _0625_;
+  wire _0626_;
+  wire _0627_;
+  wire _0628_;
+  wire _0629_;
+  wire _0630_;
+  wire _0631_;
+  wire _0632_;
+  wire _0633_;
+  wire _0634_;
+  wire _0635_;
+  wire _0636_;
+  wire _0637_;
+  wire _0638_;
+  wire _0639_;
+  wire _0640_;
+  wire _0641_;
+  wire _0642_;
+  wire _0643_;
+  wire _0644_;
+  wire _0645_;
+  wire _0646_;
+  wire _0647_;
+  wire _0648_;
+  wire _0649_;
+  wire _0650_;
+  wire _0651_;
+  wire _0652_;
+  wire _0653_;
+  wire _0654_;
+  wire _0655_;
+  wire _0656_;
+  wire _0657_;
+  wire _0658_;
+  wire _0659_;
+  wire _0660_;
+  wire _0661_;
+  wire _0662_;
+  wire _0663_;
+  wire _0664_;
+  wire _0665_;
+  wire _0666_;
+  wire _0667_;
+  wire _0668_;
+  wire _0669_;
+  wire _0670_;
+  wire _0671_;
+  wire _0672_;
+  wire _0673_;
+  wire _0674_;
+  wire _0675_;
+  wire _0676_;
+  wire _0677_;
+  wire _0678_;
+  wire _0679_;
+  wire _0680_;
+  wire _0681_;
+  wire _0682_;
+  wire _0683_;
+  wire _0684_;
+  wire _0685_;
+  wire _0686_;
+  wire _0687_;
+  wire _0688_;
+  wire _0689_;
+  wire _0690_;
+  wire _0691_;
+  wire _0692_;
+  wire _0693_;
+  wire _0694_;
+  wire _0695_;
+  wire _0696_;
+  wire _0697_;
+  wire _0698_;
+  wire _0699_;
+  wire _0700_;
+  wire _0701_;
+  wire _0702_;
+  wire _0703_;
+  wire _0704_;
+  wire _0705_;
+  wire _0706_;
+  wire _0707_;
+  wire _0708_;
+  wire _0709_;
+  wire _0710_;
+  wire _0711_;
+  wire _0712_;
+  wire _0713_;
+  wire _0714_;
+  wire _0715_;
+  wire _0716_;
+  wire _0717_;
+  wire _0718_;
+  wire _0719_;
+  wire _0720_;
+  wire _0721_;
+  wire _0722_;
+  wire _0723_;
+  wire _0724_;
+  wire _0725_;
+  wire _0726_;
+  wire _0727_;
+  wire _0728_;
+  wire _0729_;
+  wire _0730_;
+  wire _0731_;
+  wire _0732_;
+  wire _0733_;
+  wire _0734_;
+  wire _0735_;
+  wire _0736_;
+  wire _0737_;
+  wire _0738_;
+  wire _0739_;
+  wire _0740_;
+  wire _0741_;
+  wire _0742_;
+  wire _0743_;
+  wire _0744_;
+  wire _0745_;
+  wire _0746_;
+  wire _0747_;
+  wire _0748_;
+  wire _0749_;
+  wire _0750_;
+  wire _0751_;
+  wire _0752_;
+  wire _0753_;
+  wire _0754_;
+  wire _0755_;
+  wire _0756_;
+  wire _0757_;
+  wire _0758_;
+  wire _0759_;
+  wire _0760_;
+  wire _0761_;
+  wire _0762_;
+  wire _0763_;
+  wire _0764_;
+  wire _0765_;
+  wire _0766_;
+  wire _0767_;
+  wire _0768_;
+  wire _0769_;
+  wire _0770_;
+  wire _0771_;
+  wire _0772_;
+  wire _0773_;
+  wire _0774_;
+  wire _0775_;
+  wire _0776_;
+  wire _0777_;
+  wire _0778_;
+  wire _0779_;
+  wire _0780_;
+  wire _0781_;
+  wire _0782_;
+  wire _0783_;
+  wire _0784_;
+  wire _0785_;
+  wire _0786_;
+  wire _0787_;
+  wire _0788_;
+  wire _0789_;
+  wire _0790_;
+  wire _0791_;
+  wire _0792_;
+  wire _0793_;
+  wire _0794_;
+  wire _0795_;
+  wire _0796_;
+  wire _0797_;
+  wire _0798_;
+  wire _0799_;
+  wire _0800_;
+  wire _0801_;
+  wire _0802_;
+  wire _0803_;
+  wire _0804_;
+  wire _0805_;
+  wire _0806_;
+  wire _0807_;
+  wire _0808_;
+  wire _0809_;
+  wire _0810_;
+  wire _0811_;
+  wire _0812_;
+  wire _0813_;
+  wire _0814_;
+  wire _0815_;
+  wire _0816_;
+  wire _0817_;
+  wire _0818_;
+  wire _0819_;
+  wire _0820_;
+  wire _0821_;
+  wire _0822_;
+  wire _0823_;
+  wire _0824_;
+  wire _0825_;
+  wire _0826_;
+  wire _0827_;
+  wire _0828_;
+  wire _0829_;
+  wire _0830_;
+  wire _0831_;
+  wire _0832_;
+  wire _0833_;
+  wire _0834_;
+  wire _0835_;
+  wire _0836_;
+  wire _0837_;
+  wire _0838_;
+  wire _0839_;
+  wire _0840_;
+  wire _0841_;
+  wire _0842_;
+  wire _0843_;
+  wire _0844_;
+  wire _0845_;
+  wire _0846_;
+  wire _0847_;
+  wire _0848_;
+  wire _0849_;
+  wire _0850_;
+  wire _0851_;
+  wire _0852_;
+  wire _0853_;
+  wire _0854_;
+  wire _0855_;
+  wire _0856_;
+  wire _0857_;
+  wire _0858_;
+  wire _0859_;
+  wire _0860_;
+  wire _0861_;
+  wire _0862_;
+  wire _0863_;
+  wire _0864_;
+  wire _0865_;
+  wire _0866_;
+  wire _0867_;
+  wire _0868_;
+  wire _0869_;
+  wire _0870_;
+  wire _0871_;
+  wire _0872_;
+  wire _0873_;
+  wire _0874_;
+  wire _0875_;
+  wire _0876_;
+  wire _0877_;
+  wire _0878_;
+  wire _0879_;
+  wire _0880_;
+  wire _0881_;
+  wire _0882_;
+  wire _0883_;
+  wire _0884_;
+  wire _0885_;
+  wire _0886_;
+  wire _0887_;
+  wire _0888_;
+  wire _0889_;
+  wire _0890_;
+  wire _0891_;
+  wire _0892_;
+  wire _0893_;
+  wire _0894_;
+  wire _0895_;
+  wire _0896_;
+  wire _0897_;
+  wire _0898_;
+  wire _0899_;
+  wire _0900_;
+  wire [63:0] _0901_;
+  wire _0902_;
+  wire _0903_;
+  wire _0904_;
+  wire _0905_;
+  wire _0906_;
+  wire _0907_;
+  wire [15:0] _0908_;
+  wire _0909_;
+  wire [7:0] _0910_;
+  wire [7:0] _0911_;
+  wire [7:0] _0912_;
+  wire [15:0] _0913_;
+  wire [31:0] _0914_;
+  wire _0915_;
+  wire _0916_;
+  wire _0917_;
+  wire _0918_;
+  wire _0919_;
+  wire _0920_;
+  wire _0921_;
+  wire _0922_;
+  wire _0923_;
+  wire _0924_;
+  wire _0925_;
+  wire _0926_;
+  wire _0927_;
+  wire _0928_;
+  wire _0929_;
+  wire _0930_;
+  wire _0931_;
+  wire _0932_;
+  wire _0933_;
+  wire _0934_;
+  wire _0935_;
+  wire _0936_;
+  wire _0937_;
+  wire _0938_;
+  wire _0939_;
+  wire _0940_;
+  wire _0941_;
+  wire _0942_;
+  wire _0943_;
+  wire _0944_;
+  wire _0945_;
+  wire _0946_;
+  wire _0947_;
+  wire _0948_;
+  wire _0949_;
+  wire _0950_;
+  wire _0951_;
+  wire _0952_;
+  wire _0953_;
+  wire _0954_;
+  wire _0955_;
+  wire _0956_;
+  wire _0957_;
+  wire _0958_;
+  wire _0959_;
+  wire _0960_;
+  wire _0961_;
+  wire _0962_;
+  wire _0963_;
+  wire _0964_;
+  wire _0965_;
+  wire _0966_;
+  wire _0967_;
+  wire _0968_;
+  wire _0969_;
+  wire _0970_;
+  wire _0971_;
+  wire _0972_;
+  wire _0973_;
+  wire _0974_;
+  wire _0975_;
+  wire _0976_;
+  wire _0977_;
+  wire _0978_;
+  wire _0979_;
+  wire _0980_;
+  wire _0981_;
+  wire _0982_;
+  wire _0983_;
+  wire _0984_;
+  wire _0985_;
+  wire _0986_;
+  wire _0987_;
+  wire _0988_;
+  wire _0989_;
+  wire _0990_;
+  wire _0991_;
+  wire _0992_;
+  wire _0993_;
+  wire _0994_;
+  wire _0995_;
+  wire _0996_;
+  wire _0997_;
+  wire _0998_;
+  wire _0999_;
+  wire _1000_;
+  wire _1001_;
+  wire _1002_;
+  wire _1003_;
+  wire _1004_;
+  wire _1005_;
+  wire _1006_;
+  wire _1007_;
+  wire _1008_;
+  wire _1009_;
+  wire _1010_;
+  wire _1011_;
+  wire _1012_;
+  wire _1013_;
+  wire _1014_;
+  wire _1015_;
+  wire _1016_;
+  wire _1017_;
+  wire _1018_;
+  wire _1019_;
+  wire _1020_;
+  wire _1021_;
+  wire _1022_;
+  wire _1023_;
+  wire _1024_;
+  wire _1025_;
+  wire _1026_;
+  wire _1027_;
+  wire _1028_;
+  wire _1029_;
+  wire _1030_;
+  wire _1031_;
+  wire _1032_;
+  wire _1033_;
+  wire _1034_;
+  wire _1035_;
+  wire _1036_;
+  wire _1037_;
+  wire _1038_;
+  wire _1039_;
+  wire _1040_;
+  wire _1041_;
+  wire _1042_;
+  wire _1043_;
+  wire _1044_;
+  wire _1045_;
+  wire _1046_;
+  wire _1047_;
+  wire _1048_;
+  wire _1049_;
+  wire _1050_;
+  wire _1051_;
+  wire _1052_;
+  wire _1053_;
+  wire _1054_;
+  wire _1055_;
+  wire _1056_;
+  wire _1057_;
+  wire _1058_;
+  wire _1059_;
+  wire _1060_;
+  wire _1061_;
+  wire _1062_;
+  wire _1063_;
+  wire _1064_;
+  wire _1065_;
+  wire _1066_;
+  wire _1067_;
+  wire _1068_;
+  wire _1069_;
+  wire _1070_;
+  wire _1071_;
+  wire _1072_;
+  wire _1073_;
+  wire _1074_;
+  wire _1075_;
+  wire _1076_;
+  wire _1077_;
+  wire _1078_;
+  wire _1079_;
+  wire _1080_;
+  wire _1081_;
+  wire _1082_;
+  wire _1083_;
+  wire _1084_;
+  wire _1085_;
+  wire _1086_;
+  wire _1087_;
+  wire _1088_;
+  wire _1089_;
+  wire _1090_;
+  wire _1091_;
+  wire _1092_;
+  wire _1093_;
+  wire _1094_;
+  wire _1095_;
+  wire _1096_;
+  wire _1097_;
+  wire _1098_;
+  wire _1099_;
+  wire _1100_;
+  wire _1101_;
+  wire _1102_;
+  wire _1103_;
+  wire _1104_;
+  wire _1105_;
+  wire _1106_;
+  wire _1107_;
+  wire _1108_;
+  wire _1109_;
+  wire _1110_;
+  wire _1111_;
+  wire _1112_;
+  wire _1113_;
+  wire _1114_;
+  wire _1115_;
+  wire _1116_;
+  wire _1117_;
+  wire _1118_;
+  wire _1119_;
+  wire _1120_;
+  wire _1121_;
+  wire _1122_;
+  wire _1123_;
+  wire _1124_;
+  wire _1125_;
+  wire _1126_;
+  wire _1127_;
+  wire _1128_;
+  wire _1129_;
+  wire _1130_;
+  wire _1131_;
+  wire _1132_;
+  wire _1133_;
+  wire _1134_;
+  wire _1135_;
+  wire _1136_;
+  wire _1137_;
+  wire _1138_;
+  wire _1139_;
+  wire _1140_;
+  wire _1141_;
+  wire _1142_;
+  wire _1143_;
+  wire _1144_;
+  wire _1145_;
+  wire _1146_;
+  wire _1147_;
+  wire _1148_;
+  wire _1149_;
+  wire _1150_;
+  wire _1151_;
+  wire _1152_;
+  wire _1153_;
+  wire _1154_;
+  wire _1155_;
+  wire _1156_;
+  wire _1157_;
+  wire _1158_;
+  wire _1159_;
+  wire _1160_;
+  wire _1161_;
+  wire _1162_;
+  wire _1163_;
+  wire _1164_;
+  wire _1165_;
+  wire _1166_;
+  wire _1167_;
+  wire _1168_;
+  wire _1169_;
+  wire _1170_;
+  wire _1171_;
+  wire _1172_;
+  wire _1173_;
+  wire _1174_;
+  wire _1175_;
+  wire _1176_;
+  wire _1177_;
+  wire _1178_;
+  wire _1179_;
+  wire _1180_;
+  wire _1181_;
+  wire _1182_;
+  wire _1183_;
+  wire _1184_;
+  wire _1185_;
+  wire _1186_;
+  wire _1187_;
+  wire _1188_;
+  wire _1189_;
+  wire _1190_;
+  wire _1191_;
+  wire _1192_;
+  wire _1193_;
+  wire _1194_;
+  wire _1195_;
+  wire _1196_;
+  wire _1197_;
+  wire _1198_;
+  wire _1199_;
+  wire _1200_;
+  wire _1201_;
+  wire _1202_;
+  wire _1203_;
+  wire _1204_;
+  wire _1205_;
+  wire _1206_;
+  wire _1207_;
+  wire _1208_;
+  wire _1209_;
+  wire _1210_;
+  wire _1211_;
+  wire _1212_;
+  wire _1213_;
+  wire _1214_;
+  wire _1215_;
+  wire _1216_;
+  wire _1217_;
+  wire _1218_;
+  wire _1219_;
+  wire _1220_;
+  wire _1221_;
+  wire _1222_;
+  wire _1223_;
+  wire _1224_;
+  wire _1225_;
+  wire _1226_;
+  wire _1227_;
+  wire _1228_;
+  wire _1229_;
+  wire _1230_;
+  wire _1231_;
+  wire _1232_;
+  wire _1233_;
+  wire _1234_;
+  wire _1235_;
+  wire _1236_;
+  wire _1237_;
+  wire _1238_;
+  wire _1239_;
+  wire _1240_;
+  wire _1241_;
+  wire _1242_;
+  wire _1243_;
+  wire _1244_;
+  wire _1245_;
+  wire _1246_;
+  wire _1247_;
+  wire _1248_;
+  wire _1249_;
+  wire _1250_;
+  wire _1251_;
+  wire _1252_;
+  wire _1253_;
+  wire _1254_;
+  wire _1255_;
+  wire _1256_;
+  wire _1257_;
+  wire _1258_;
+  wire _1259_;
+  wire _1260_;
+  wire _1261_;
+  wire _1262_;
+  wire _1263_;
+  wire _1264_;
+  wire _1265_;
+  wire _1266_;
+  wire _1267_;
+  wire _1268_;
+  wire _1269_;
+  wire _1270_;
+  wire _1271_;
+  wire _1272_;
+  wire _1273_;
+  wire _1274_;
+  wire _1275_;
+  wire _1276_;
+  wire _1277_;
+  wire _1278_;
+  wire _1279_;
+  wire _1280_;
+  wire _1281_;
+  wire _1282_;
+  wire _1283_;
+  wire _1284_;
+  wire _1285_;
+  wire _1286_;
+  wire _1287_;
+  wire _1288_;
+  wire _1289_;
+  wire _1290_;
+  wire _1291_;
+  wire _1292_;
+  wire _1293_;
+  wire _1294_;
+  wire _1295_;
+  wire _1296_;
+  wire _1297_;
+  wire _1298_;
+  wire _1299_;
+  wire _1300_;
+  wire _1301_;
+  wire _1302_;
+  wire _1303_;
+  wire _1304_;
+  wire _1305_;
+  wire _1306_;
+  wire _1307_;
+  wire _1308_;
+  wire _1309_;
+  wire _1310_;
+  wire _1311_;
+  wire _1312_;
+  wire _1313_;
+  wire _1314_;
+  wire _1315_;
+  wire _1316_;
+  wire _1317_;
+  wire _1318_;
+  wire _1319_;
+  wire _1320_;
+  wire _1321_;
+  wire _1322_;
+  wire _1323_;
+  wire _1324_;
+  wire _1325_;
+  wire _1326_;
+  wire _1327_;
+  wire _1328_;
+  wire _1329_;
+  wire _1330_;
+  wire _1331_;
+  wire _1332_;
+  wire _1333_;
+  wire _1334_;
+  wire _1335_;
+  wire _1336_;
+  wire _1337_;
+  wire _1338_;
+  wire _1339_;
+  wire _1340_;
+  wire _1341_;
+  wire _1342_;
+  wire _1343_;
+  wire _1344_;
+  wire _1345_;
+  wire _1346_;
+  wire _1347_;
+  wire _1348_;
+  wire _1349_;
+  wire _1350_;
+  wire _1351_;
+  wire _1352_;
+  wire _1353_;
+  wire _1354_;
+  wire _1355_;
+  wire _1356_;
+  wire _1357_;
+  wire _1358_;
+  wire _1359_;
+  wire _1360_;
+  wire _1361_;
+  wire _1362_;
+  wire _1363_;
+  wire _1364_;
+  wire _1365_;
+  wire _1366_;
+  wire _1367_;
+  wire _1368_;
+  wire _1369_;
+  wire _1370_;
+  wire _1371_;
+  wire _1372_;
+  wire _1373_;
+  wire _1374_;
+  wire _1375_;
+  wire _1376_;
+  wire _1377_;
+  wire _1378_;
+  wire _1379_;
+  wire _1380_;
+  wire _1381_;
+  wire _1382_;
+  wire _1383_;
+  wire _1384_;
+  wire _1385_;
+  wire _1386_;
+  wire _1387_;
+  wire _1388_;
+  wire _1389_;
+  wire _1390_;
+  wire _1391_;
+  wire _1392_;
+  wire _1393_;
+  wire _1394_;
+  wire _1395_;
+  wire _1396_;
+  wire _1397_;
+  wire _1398_;
+  wire _1399_;
+  wire _1400_;
+  wire _1401_;
+  wire _1402_;
+  wire _1403_;
+  wire _1404_;
+  wire _1405_;
+  wire _1406_;
+  wire _1407_;
+  wire _1408_;
+  wire _1409_;
+  wire _1410_;
+  wire _1411_;
+  wire _1412_;
+  wire _1413_;
+  wire _1414_;
+  wire _1415_;
+  wire _1416_;
+  wire _1417_;
+  wire _1418_;
+  input [3:0] datalen;
+  input invert_in;
+  input invert_out;
+  input [5:0] op;
+  wire par0;
+  wire par1;
+  input [63:0] rb;
+  output [63:0] result;
+  input [63:0] rs;
+  assign _1083_ = rs[0] ? rb[1] : rb[0];
+  assign _1084_ = rs[0] ? rb[5] : rb[4];
+  assign _1085_ = rs[0] ? rb[9] : rb[8];
+  assign _1086_ = rs[0] ? rb[13] : rb[12];
+  assign _1087_ = rs[0] ? rb[17] : rb[16];
+  assign _1088_ = rs[0] ? rb[21] : rb[20];
+  assign _1089_ = rs[0] ? rb[25] : rb[24];
+  assign _1090_ = rs[0] ? rb[29] : rb[28];
+  assign _1091_ = rs[0] ? rb[33] : rb[32];
+  assign _1092_ = rs[0] ? rb[37] : rb[36];
+  assign _1093_ = rs[0] ? rb[41] : rb[40];
+  assign _1094_ = rs[0] ? rb[45] : rb[44];
+  assign _1095_ = rs[0] ? rb[49] : rb[48];
+  assign _1096_ = rs[0] ? rb[53] : rb[52];
+  assign _1097_ = rs[0] ? rb[57] : rb[56];
+  assign _1098_ = rs[0] ? rb[61] : rb[60];
+  assign _1099_ = rs[2] ? _0916_ : _0915_;
+  assign _1100_ = rs[2] ? _0920_ : _0919_;
+  assign _1101_ = rs[2] ? _0924_ : _0923_;
+  assign _1102_ = rs[2] ? _0928_ : _0927_;
+  assign _1103_ = rs[4] ? _0932_ : _0931_;
+  assign _1104_ = rs[8] ? rb[1] : rb[0];
+  assign _1105_ = rs[8] ? rb[5] : rb[4];
+  assign _1106_ = rs[8] ? rb[9] : rb[8];
+  assign _1107_ = rs[8] ? rb[13] : rb[12];
+  assign _1108_ = rs[8] ? rb[17] : rb[16];
+  assign _1109_ = rs[8] ? rb[21] : rb[20];
+  assign _1110_ = rs[8] ? rb[25] : rb[24];
+  assign _1111_ = rs[8] ? rb[29] : rb[28];
+  assign _1112_ = rs[8] ? rb[33] : rb[32];
+  assign _1113_ = rs[8] ? rb[37] : rb[36];
+  assign _1114_ = rs[8] ? rb[41] : rb[40];
+  assign _1115_ = rs[8] ? rb[45] : rb[44];
+  assign _1116_ = rs[8] ? rb[49] : rb[48];
+  assign _1117_ = rs[8] ? rb[53] : rb[52];
+  assign _1118_ = rs[8] ? rb[57] : rb[56];
+  assign _1119_ = rs[8] ? rb[61] : rb[60];
+  assign _1120_ = rs[10] ? _0937_ : _0936_;
+  assign _1121_ = rs[10] ? _0941_ : _0940_;
+  assign _1122_ = rs[10] ? _0945_ : _0944_;
+  assign _1123_ = rs[10] ? _0949_ : _0948_;
+  assign _1124_ = rs[12] ? _0953_ : _0952_;
+  assign _1125_ = rs[16] ? rb[1] : rb[0];
+  assign _1126_ = rs[16] ? rb[5] : rb[4];
+  assign _1127_ = rs[16] ? rb[9] : rb[8];
+  assign _1128_ = rs[16] ? rb[13] : rb[12];
+  assign _1129_ = rs[16] ? rb[17] : rb[16];
+  assign _1130_ = rs[16] ? rb[21] : rb[20];
+  assign _1131_ = rs[16] ? rb[25] : rb[24];
+  assign _1132_ = rs[16] ? rb[29] : rb[28];
+  assign _1133_ = rs[16] ? rb[33] : rb[32];
+  assign _1134_ = rs[16] ? rb[37] : rb[36];
+  assign _1135_ = rs[16] ? rb[41] : rb[40];
+  assign _1136_ = rs[16] ? rb[45] : rb[44];
+  assign _1137_ = rs[16] ? rb[49] : rb[48];
+  assign _1138_ = rs[16] ? rb[53] : rb[52];
+  assign _1139_ = rs[16] ? rb[57] : rb[56];
+  assign _1140_ = rs[16] ? rb[61] : rb[60];
+  assign _1141_ = rs[18] ? _0958_ : _0957_;
+  assign _1142_ = rs[18] ? _0962_ : _0961_;
+  assign _1143_ = rs[18] ? _0966_ : _0965_;
+  assign _1144_ = rs[18] ? _0970_ : _0969_;
+  assign _1145_ = rs[20] ? _0974_ : _0973_;
+  assign _1146_ = rs[24] ? rb[1] : rb[0];
+  assign _1147_ = rs[24] ? rb[5] : rb[4];
+  assign _1148_ = rs[24] ? rb[9] : rb[8];
+  assign _1149_ = rs[24] ? rb[13] : rb[12];
+  assign _1150_ = rs[24] ? rb[17] : rb[16];
+  assign _1151_ = rs[24] ? rb[21] : rb[20];
+  assign _1152_ = rs[24] ? rb[25] : rb[24];
+  assign _1153_ = rs[24] ? rb[29] : rb[28];
+  assign _1154_ = rs[24] ? rb[33] : rb[32];
+  assign _1155_ = rs[24] ? rb[37] : rb[36];
+  assign _1156_ = rs[24] ? rb[41] : rb[40];
+  assign _1157_ = rs[24] ? rb[45] : rb[44];
+  assign _1158_ = rs[24] ? rb[49] : rb[48];
+  assign _1159_ = rs[24] ? rb[53] : rb[52];
+  assign _1160_ = rs[24] ? rb[57] : rb[56];
+  assign _1161_ = rs[24] ? rb[61] : rb[60];
+  assign _1162_ = rs[26] ? _0979_ : _0978_;
+  assign _1163_ = rs[26] ? _0983_ : _0982_;
+  assign _1164_ = rs[26] ? _0987_ : _0986_;
+  assign _1165_ = rs[26] ? _0991_ : _0990_;
+  assign _1166_ = rs[28] ? _0995_ : _0994_;
+  assign _1167_ = rs[32] ? rb[1] : rb[0];
+  assign _1168_ = rs[32] ? rb[5] : rb[4];
+  assign _1169_ = rs[32] ? rb[9] : rb[8];
+  assign _1170_ = rs[32] ? rb[13] : rb[12];
+  assign _1171_ = rs[32] ? rb[17] : rb[16];
+  assign _1172_ = rs[32] ? rb[21] : rb[20];
+  assign _1173_ = rs[32] ? rb[25] : rb[24];
+  assign _1174_ = rs[32] ? rb[29] : rb[28];
+  assign _1175_ = rs[32] ? rb[33] : rb[32];
+  assign _1176_ = rs[32] ? rb[37] : rb[36];
+  assign _1177_ = rs[32] ? rb[41] : rb[40];
+  assign _1178_ = rs[32] ? rb[45] : rb[44];
+  assign _1179_ = rs[32] ? rb[49] : rb[48];
+  assign _1180_ = rs[32] ? rb[53] : rb[52];
+  assign _1181_ = rs[32] ? rb[57] : rb[56];
+  assign _1182_ = rs[32] ? rb[61] : rb[60];
+  assign _1183_ = rs[34] ? _1000_ : _0999_;
+  assign _1184_ = rs[34] ? _1004_ : _1003_;
+  assign _1185_ = rs[34] ? _1008_ : _1007_;
+  assign _1186_ = rs[34] ? _1012_ : _1011_;
+  assign _1187_ = rs[36] ? _1016_ : _1015_;
+  assign _1188_ = rs[40] ? rb[1] : rb[0];
+  assign _1189_ = rs[40] ? rb[5] : rb[4];
+  assign _1190_ = rs[40] ? rb[9] : rb[8];
+  assign _1191_ = rs[40] ? rb[13] : rb[12];
+  assign _1192_ = rs[40] ? rb[17] : rb[16];
+  assign _1193_ = rs[40] ? rb[21] : rb[20];
+  assign _1194_ = rs[40] ? rb[25] : rb[24];
+  assign _1195_ = rs[40] ? rb[29] : rb[28];
+  assign _1196_ = rs[40] ? rb[33] : rb[32];
+  assign _1197_ = rs[40] ? rb[37] : rb[36];
+  assign _1198_ = rs[40] ? rb[41] : rb[40];
+  assign _1199_ = rs[40] ? rb[45] : rb[44];
+  assign _1200_ = rs[40] ? rb[49] : rb[48];
+  assign _1201_ = rs[40] ? rb[53] : rb[52];
+  assign _1202_ = rs[40] ? rb[57] : rb[56];
+  assign _1203_ = rs[40] ? rb[61] : rb[60];
+  assign _1204_ = rs[42] ? _1021_ : _1020_;
+  assign _1205_ = rs[42] ? _1025_ : _1024_;
+  assign _1206_ = rs[42] ? _1029_ : _1028_;
+  assign _1207_ = rs[42] ? _1033_ : _1032_;
+  assign _1208_ = rs[44] ? _1037_ : _1036_;
+  assign _1209_ = rs[48] ? rb[1] : rb[0];
+  assign _1210_ = rs[48] ? rb[5] : rb[4];
+  assign _1211_ = rs[48] ? rb[9] : rb[8];
+  assign _1212_ = rs[48] ? rb[13] : rb[12];
+  assign _1213_ = rs[48] ? rb[17] : rb[16];
+  assign _1214_ = rs[48] ? rb[21] : rb[20];
+  assign _1215_ = rs[48] ? rb[25] : rb[24];
+  assign _1216_ = rs[48] ? rb[29] : rb[28];
+  assign _1217_ = rs[48] ? rb[33] : rb[32];
+  assign _1218_ = rs[48] ? rb[37] : rb[36];
+  assign _1219_ = rs[48] ? rb[41] : rb[40];
+  assign _1220_ = rs[48] ? rb[45] : rb[44];
+  assign _1221_ = rs[48] ? rb[49] : rb[48];
+  assign _1222_ = rs[48] ? rb[53] : rb[52];
+  assign _1223_ = rs[48] ? rb[57] : rb[56];
+  assign _1224_ = rs[48] ? rb[61] : rb[60];
+  assign _1225_ = rs[50] ? _1042_ : _1041_;
+  assign _1226_ = rs[50] ? _1046_ : _1045_;
+  assign _1227_ = rs[50] ? _1050_ : _1049_;
+  assign _1228_ = rs[50] ? _1054_ : _1053_;
+  assign _1229_ = rs[52] ? _1058_ : _1057_;
+  assign _1230_ = rs[56] ? rb[1] : rb[0];
+  assign _1231_ = rs[56] ? rb[5] : rb[4];
+  assign _1232_ = rs[56] ? rb[9] : rb[8];
+  assign _1233_ = rs[56] ? rb[13] : rb[12];
+  assign _1234_ = rs[56] ? rb[17] : rb[16];
+  assign _1235_ = rs[56] ? rb[21] : rb[20];
+  assign _1236_ = rs[56] ? rb[25] : rb[24];
+  assign _1237_ = rs[56] ? rb[29] : rb[28];
+  assign _1238_ = rs[56] ? rb[33] : rb[32];
+  assign _1239_ = rs[56] ? rb[37] : rb[36];
+  assign _1240_ = rs[56] ? rb[41] : rb[40];
+  assign _1241_ = rs[56] ? rb[45] : rb[44];
+  assign _1242_ = rs[56] ? rb[49] : rb[48];
+  assign _1243_ = rs[56] ? rb[53] : rb[52];
+  assign _1244_ = rs[56] ? rb[57] : rb[56];
+  assign _1245_ = rs[56] ? rb[61] : rb[60];
+  assign _1246_ = rs[58] ? _1063_ : _1062_;
+  assign _1247_ = rs[58] ? _1067_ : _1066_;
+  assign _1248_ = rs[58] ? _1071_ : _1070_;
+  assign _1249_ = rs[58] ? _1075_ : _1074_;
+  assign _1250_ = rs[60] ? _1079_ : _1078_;
+  assign _1251_ = rs[0] ? rb[3] : rb[2];
+  assign _1252_ = rs[0] ? rb[7] : rb[6];
+  assign _1253_ = rs[0] ? rb[11] : rb[10];
+  assign _1254_ = rs[0] ? rb[15] : rb[14];
+  assign _1255_ = rs[0] ? rb[19] : rb[18];
+  assign _1256_ = rs[0] ? rb[23] : rb[22];
+  assign _1257_ = rs[0] ? rb[27] : rb[26];
+  assign _1258_ = rs[0] ? rb[31] : rb[30];
+  assign _1259_ = rs[0] ? rb[35] : rb[34];
+  assign _1260_ = rs[0] ? rb[39] : rb[38];
+  assign _1261_ = rs[0] ? rb[43] : rb[42];
+  assign _1262_ = rs[0] ? rb[47] : rb[46];
+  assign _1263_ = rs[0] ? rb[51] : rb[50];
+  assign _1264_ = rs[0] ? rb[55] : rb[54];
+  assign _1265_ = rs[0] ? rb[59] : rb[58];
+  assign _1266_ = rs[0] ? rb[63] : rb[62];
+  assign _1267_ = rs[2] ? _0918_ : _0917_;
+  assign _1268_ = rs[2] ? _0922_ : _0921_;
+  assign _1269_ = rs[2] ? _0926_ : _0925_;
+  assign _1270_ = rs[2] ? _0930_ : _0929_;
+  assign _1271_ = rs[4] ? _0934_ : _0933_;
+  assign _1272_ = rs[8] ? rb[3] : rb[2];
+  assign _1273_ = rs[8] ? rb[7] : rb[6];
+  assign _1274_ = rs[8] ? rb[11] : rb[10];
+  assign _1275_ = rs[8] ? rb[15] : rb[14];
+  assign _1276_ = rs[8] ? rb[19] : rb[18];
+  assign _1277_ = rs[8] ? rb[23] : rb[22];
+  assign _1278_ = rs[8] ? rb[27] : rb[26];
+  assign _1279_ = rs[8] ? rb[31] : rb[30];
+  assign _1280_ = rs[8] ? rb[35] : rb[34];
+  assign _1281_ = rs[8] ? rb[39] : rb[38];
+  assign _1282_ = rs[8] ? rb[43] : rb[42];
+  assign _1283_ = rs[8] ? rb[47] : rb[46];
+  assign _1284_ = rs[8] ? rb[51] : rb[50];
+  assign _1285_ = rs[8] ? rb[55] : rb[54];
+  assign _1286_ = rs[8] ? rb[59] : rb[58];
+  assign _1287_ = rs[8] ? rb[63] : rb[62];
+  assign _1288_ = rs[10] ? _0939_ : _0938_;
+  assign _1289_ = rs[10] ? _0943_ : _0942_;
+  assign _1290_ = rs[10] ? _0947_ : _0946_;
+  assign _1291_ = rs[10] ? _0951_ : _0950_;
+  assign _1292_ = rs[12] ? _0955_ : _0954_;
+  assign _1293_ = rs[16] ? rb[3] : rb[2];
+  assign _1294_ = rs[16] ? rb[7] : rb[6];
+  assign _1295_ = rs[16] ? rb[11] : rb[10];
+  assign _1296_ = rs[16] ? rb[15] : rb[14];
+  assign _1297_ = rs[16] ? rb[19] : rb[18];
+  assign _1298_ = rs[16] ? rb[23] : rb[22];
+  assign _1299_ = rs[16] ? rb[27] : rb[26];
+  assign _1300_ = rs[16] ? rb[31] : rb[30];
+  assign _1301_ = rs[16] ? rb[35] : rb[34];
+  assign _1302_ = rs[16] ? rb[39] : rb[38];
+  assign _1303_ = rs[16] ? rb[43] : rb[42];
+  assign _1304_ = rs[16] ? rb[47] : rb[46];
+  assign _1305_ = rs[16] ? rb[51] : rb[50];
+  assign _1306_ = rs[16] ? rb[55] : rb[54];
+  assign _1307_ = rs[16] ? rb[59] : rb[58];
+  assign _1308_ = rs[16] ? rb[63] : rb[62];
+  assign _1309_ = rs[18] ? _0960_ : _0959_;
+  assign _1310_ = rs[18] ? _0964_ : _0963_;
+  assign _1311_ = rs[18] ? _0968_ : _0967_;
+  assign _1312_ = rs[18] ? _0972_ : _0971_;
+  assign _1313_ = rs[20] ? _0976_ : _0975_;
+  assign _1314_ = rs[24] ? rb[3] : rb[2];
+  assign _1315_ = rs[24] ? rb[7] : rb[6];
+  assign _1316_ = rs[24] ? rb[11] : rb[10];
+  assign _1317_ = rs[24] ? rb[15] : rb[14];
+  assign _1318_ = rs[24] ? rb[19] : rb[18];
+  assign _1319_ = rs[24] ? rb[23] : rb[22];
+  assign _1320_ = rs[24] ? rb[27] : rb[26];
+  assign _1321_ = rs[24] ? rb[31] : rb[30];
+  assign _1322_ = rs[24] ? rb[35] : rb[34];
+  assign _1323_ = rs[24] ? rb[39] : rb[38];
+  assign _1324_ = rs[24] ? rb[43] : rb[42];
+  assign _1325_ = rs[24] ? rb[47] : rb[46];
+  assign _1326_ = rs[24] ? rb[51] : rb[50];
+  assign _1327_ = rs[24] ? rb[55] : rb[54];
+  assign _1328_ = rs[24] ? rb[59] : rb[58];
+  assign _1329_ = rs[24] ? rb[63] : rb[62];
+  assign _1330_ = rs[26] ? _0981_ : _0980_;
+  assign _1331_ = rs[26] ? _0985_ : _0984_;
+  assign _1332_ = rs[26] ? _0989_ : _0988_;
+  assign _1333_ = rs[26] ? _0993_ : _0992_;
+  assign _1334_ = rs[28] ? _0997_ : _0996_;
+  assign _1335_ = rs[32] ? rb[3] : rb[2];
+  assign _1336_ = rs[32] ? rb[7] : rb[6];
+  assign _1337_ = rs[32] ? rb[11] : rb[10];
+  assign _1338_ = rs[32] ? rb[15] : rb[14];
+  assign _1339_ = rs[32] ? rb[19] : rb[18];
+  assign _1340_ = rs[32] ? rb[23] : rb[22];
+  assign _1341_ = rs[32] ? rb[27] : rb[26];
+  assign _1342_ = rs[32] ? rb[31] : rb[30];
+  assign _1343_ = rs[32] ? rb[35] : rb[34];
+  assign _1344_ = rs[32] ? rb[39] : rb[38];
+  assign _1345_ = rs[32] ? rb[43] : rb[42];
+  assign _1346_ = rs[32] ? rb[47] : rb[46];
+  assign _1347_ = rs[32] ? rb[51] : rb[50];
+  assign _1348_ = rs[32] ? rb[55] : rb[54];
+  assign _1349_ = rs[32] ? rb[59] : rb[58];
+  assign _1350_ = rs[32] ? rb[63] : rb[62];
+  assign _1351_ = rs[34] ? _1002_ : _1001_;
+  assign _1352_ = rs[34] ? _1006_ : _1005_;
+  assign _1353_ = rs[34] ? _1010_ : _1009_;
+  assign _1354_ = rs[34] ? _1014_ : _1013_;
+  assign _1355_ = rs[36] ? _1018_ : _1017_;
+  assign _1356_ = rs[40] ? rb[3] : rb[2];
+  assign _1357_ = rs[40] ? rb[7] : rb[6];
+  assign _1358_ = rs[40] ? rb[11] : rb[10];
+  assign _1359_ = rs[40] ? rb[15] : rb[14];
+  assign _1360_ = rs[40] ? rb[19] : rb[18];
+  assign _1361_ = rs[40] ? rb[23] : rb[22];
+  assign _1362_ = rs[40] ? rb[27] : rb[26];
+  assign _1363_ = rs[40] ? rb[31] : rb[30];
+  assign _1364_ = rs[40] ? rb[35] : rb[34];
+  assign _1365_ = rs[40] ? rb[39] : rb[38];
+  assign _1366_ = rs[40] ? rb[43] : rb[42];
+  assign _1367_ = rs[40] ? rb[47] : rb[46];
+  assign _1368_ = rs[40] ? rb[51] : rb[50];
+  assign _1369_ = rs[40] ? rb[55] : rb[54];
+  assign _1370_ = rs[40] ? rb[59] : rb[58];
+  assign _1371_ = rs[40] ? rb[63] : rb[62];
+  assign _1372_ = rs[42] ? _1023_ : _1022_;
+  assign _1373_ = rs[42] ? _1027_ : _1026_;
+  assign _1374_ = rs[42] ? _1031_ : _1030_;
+  assign _1375_ = rs[42] ? _1035_ : _1034_;
+  assign _1376_ = rs[44] ? _1039_ : _1038_;
+  assign _1377_ = rs[48] ? rb[3] : rb[2];
+  assign _1378_ = rs[48] ? rb[7] : rb[6];
+  assign _1379_ = rs[48] ? rb[11] : rb[10];
+  assign _1380_ = rs[48] ? rb[15] : rb[14];
+  assign _1381_ = rs[48] ? rb[19] : rb[18];
+  assign _1382_ = rs[48] ? rb[23] : rb[22];
+  assign _1383_ = rs[48] ? rb[27] : rb[26];
+  assign _1384_ = rs[48] ? rb[31] : rb[30];
+  assign _1385_ = rs[48] ? rb[35] : rb[34];
+  assign _1386_ = rs[48] ? rb[39] : rb[38];
+  assign _1387_ = rs[48] ? rb[43] : rb[42];
+  assign _1388_ = rs[48] ? rb[47] : rb[46];
+  assign _1389_ = rs[48] ? rb[51] : rb[50];
+  assign _1390_ = rs[48] ? rb[55] : rb[54];
+  assign _1391_ = rs[48] ? rb[59] : rb[58];
+  assign _1392_ = rs[48] ? rb[63] : rb[62];
+  assign _1393_ = rs[50] ? _1044_ : _1043_;
+  assign _1394_ = rs[50] ? _1048_ : _1047_;
+  assign _1395_ = rs[50] ? _1052_ : _1051_;
+  assign _1396_ = rs[50] ? _1056_ : _1055_;
+  assign _1397_ = rs[52] ? _1060_ : _1059_;
+  assign _1398_ = rs[56] ? rb[3] : rb[2];
+  assign _1399_ = rs[56] ? rb[7] : rb[6];
+  assign _1400_ = rs[56] ? rb[11] : rb[10];
+  assign _1401_ = rs[56] ? rb[15] : rb[14];
+  assign _1402_ = rs[56] ? rb[19] : rb[18];
+  assign _1403_ = rs[56] ? rb[23] : rb[22];
+  assign _1404_ = rs[56] ? rb[27] : rb[26];
+  assign _1405_ = rs[56] ? rb[31] : rb[30];
+  assign _1406_ = rs[56] ? rb[35] : rb[34];
+  assign _1407_ = rs[56] ? rb[39] : rb[38];
+  assign _1408_ = rs[56] ? rb[43] : rb[42];
+  assign _1409_ = rs[56] ? rb[47] : rb[46];
+  assign _1410_ = rs[56] ? rb[51] : rb[50];
+  assign _1411_ = rs[56] ? rb[55] : rb[54];
+  assign _1412_ = rs[56] ? rb[59] : rb[58];
+  assign _1413_ = rs[56] ? rb[63] : rb[62];
+  assign _1414_ = rs[58] ? _1065_ : _1064_;
+  assign _1415_ = rs[58] ? _1069_ : _1068_;
+  assign _1416_ = rs[58] ? _1073_ : _1072_;
+  assign _1417_ = rs[58] ? _1077_ : _1076_;
+  assign _1418_ = rs[60] ? _1081_ : _1080_;
+  assign _0915_ = rs[1] ? _1251_ : _1083_;
+  assign _0916_ = rs[1] ? _1252_ : _1084_;
+  assign _0917_ = rs[1] ? _1253_ : _1085_;
+  assign _0918_ = rs[1] ? _1254_ : _1086_;
+  assign _0919_ = rs[1] ? _1255_ : _1087_;
+  assign _0920_ = rs[1] ? _1256_ : _1088_;
+  assign _0921_ = rs[1] ? _1257_ : _1089_;
+  assign _0922_ = rs[1] ? _1258_ : _1090_;
+  assign _0923_ = rs[1] ? _1259_ : _1091_;
+  assign _0924_ = rs[1] ? _1260_ : _1092_;
+  assign _0925_ = rs[1] ? _1261_ : _1093_;
+  assign _0926_ = rs[1] ? _1262_ : _1094_;
+  assign _0927_ = rs[1] ? _1263_ : _1095_;
+  assign _0928_ = rs[1] ? _1264_ : _1096_;
+  assign _0929_ = rs[1] ? _1265_ : _1097_;
+  assign _0930_ = rs[1] ? _1266_ : _1098_;
+  assign _0931_ = rs[3] ? _1267_ : _1099_;
+  assign _0932_ = rs[3] ? _1268_ : _1100_;
+  assign _0933_ = rs[3] ? _1269_ : _1101_;
+  assign _0934_ = rs[3] ? _1270_ : _1102_;
+  assign _0935_ = rs[5] ? _1271_ : _1103_;
+  assign _0936_ = rs[9] ? _1272_ : _1104_;
+  assign _0937_ = rs[9] ? _1273_ : _1105_;
+  assign _0938_ = rs[9] ? _1274_ : _1106_;
+  assign _0939_ = rs[9] ? _1275_ : _1107_;
+  assign _0940_ = rs[9] ? _1276_ : _1108_;
+  assign _0941_ = rs[9] ? _1277_ : _1109_;
+  assign _0942_ = rs[9] ? _1278_ : _1110_;
+  assign _0943_ = rs[9] ? _1279_ : _1111_;
+  assign _0944_ = rs[9] ? _1280_ : _1112_;
+  assign _0945_ = rs[9] ? _1281_ : _1113_;
+  assign _0946_ = rs[9] ? _1282_ : _1114_;
+  assign _0947_ = rs[9] ? _1283_ : _1115_;
+  assign _0948_ = rs[9] ? _1284_ : _1116_;
+  assign _0949_ = rs[9] ? _1285_ : _1117_;
+  assign _0950_ = rs[9] ? _1286_ : _1118_;
+  assign _0951_ = rs[9] ? _1287_ : _1119_;
+  assign _0952_ = rs[11] ? _1288_ : _1120_;
+  assign _0953_ = rs[11] ? _1289_ : _1121_;
+  assign _0954_ = rs[11] ? _1290_ : _1122_;
+  assign _0955_ = rs[11] ? _1291_ : _1123_;
+  assign _0956_ = rs[13] ? _1292_ : _1124_;
+  assign _0957_ = rs[17] ? _1293_ : _1125_;
+  assign _0958_ = rs[17] ? _1294_ : _1126_;
+  assign _0959_ = rs[17] ? _1295_ : _1127_;
+  assign _0960_ = rs[17] ? _1296_ : _1128_;
+  assign _0961_ = rs[17] ? _1297_ : _1129_;
+  assign _0962_ = rs[17] ? _1298_ : _1130_;
+  assign _0963_ = rs[17] ? _1299_ : _1131_;
+  assign _0964_ = rs[17] ? _1300_ : _1132_;
+  assign _0965_ = rs[17] ? _1301_ : _1133_;
+  assign _0966_ = rs[17] ? _1302_ : _1134_;
+  assign _0967_ = rs[17] ? _1303_ : _1135_;
+  assign _0968_ = rs[17] ? _1304_ : _1136_;
+  assign _0969_ = rs[17] ? _1305_ : _1137_;
+  assign _0970_ = rs[17] ? _1306_ : _1138_;
+  assign _0971_ = rs[17] ? _1307_ : _1139_;
+  assign _0972_ = rs[17] ? _1308_ : _1140_;
+  assign _0973_ = rs[19] ? _1309_ : _1141_;
+  assign _0974_ = rs[19] ? _1310_ : _1142_;
+  assign _0975_ = rs[19] ? _1311_ : _1143_;
+  assign _0976_ = rs[19] ? _1312_ : _1144_;
+  assign _0977_ = rs[21] ? _1313_ : _1145_;
+  assign _0978_ = rs[25] ? _1314_ : _1146_;
+  assign _0979_ = rs[25] ? _1315_ : _1147_;
+  assign _0980_ = rs[25] ? _1316_ : _1148_;
+  assign _0981_ = rs[25] ? _1317_ : _1149_;
+  assign _0982_ = rs[25] ? _1318_ : _1150_;
+  assign _0983_ = rs[25] ? _1319_ : _1151_;
+  assign _0984_ = rs[25] ? _1320_ : _1152_;
+  assign _0985_ = rs[25] ? _1321_ : _1153_;
+  assign _0986_ = rs[25] ? _1322_ : _1154_;
+  assign _0987_ = rs[25] ? _1323_ : _1155_;
+  assign _0988_ = rs[25] ? _1324_ : _1156_;
+  assign _0989_ = rs[25] ? _1325_ : _1157_;
+  assign _0990_ = rs[25] ? _1326_ : _1158_;
+  assign _0991_ = rs[25] ? _1327_ : _1159_;
+  assign _0992_ = rs[25] ? _1328_ : _1160_;
+  assign _0993_ = rs[25] ? _1329_ : _1161_;
+  assign _0994_ = rs[27] ? _1330_ : _1162_;
+  assign _0995_ = rs[27] ? _1331_ : _1163_;
+  assign _0996_ = rs[27] ? _1332_ : _1164_;
+  assign _0997_ = rs[27] ? _1333_ : _1165_;
+  assign _0998_ = rs[29] ? _1334_ : _1166_;
+  assign _0999_ = rs[33] ? _1335_ : _1167_;
+  assign _1000_ = rs[33] ? _1336_ : _1168_;
+  assign _1001_ = rs[33] ? _1337_ : _1169_;
+  assign _1002_ = rs[33] ? _1338_ : _1170_;
+  assign _1003_ = rs[33] ? _1339_ : _1171_;
+  assign _1004_ = rs[33] ? _1340_ : _1172_;
+  assign _1005_ = rs[33] ? _1341_ : _1173_;
+  assign _1006_ = rs[33] ? _1342_ : _1174_;
+  assign _1007_ = rs[33] ? _1343_ : _1175_;
+  assign _1008_ = rs[33] ? _1344_ : _1176_;
+  assign _1009_ = rs[33] ? _1345_ : _1177_;
+  assign _1010_ = rs[33] ? _1346_ : _1178_;
+  assign _1011_ = rs[33] ? _1347_ : _1179_;
+  assign _1012_ = rs[33] ? _1348_ : _1180_;
+  assign _1013_ = rs[33] ? _1349_ : _1181_;
+  assign _1014_ = rs[33] ? _1350_ : _1182_;
+  assign _1015_ = rs[35] ? _1351_ : _1183_;
+  assign _1016_ = rs[35] ? _1352_ : _1184_;
+  assign _1017_ = rs[35] ? _1353_ : _1185_;
+  assign _1018_ = rs[35] ? _1354_ : _1186_;
+  assign _1019_ = rs[37] ? _1355_ : _1187_;
+  assign _1020_ = rs[41] ? _1356_ : _1188_;
+  assign _1021_ = rs[41] ? _1357_ : _1189_;
+  assign _1022_ = rs[41] ? _1358_ : _1190_;
+  assign _1023_ = rs[41] ? _1359_ : _1191_;
+  assign _1024_ = rs[41] ? _1360_ : _1192_;
+  assign _1025_ = rs[41] ? _1361_ : _1193_;
+  assign _1026_ = rs[41] ? _1362_ : _1194_;
+  assign _1027_ = rs[41] ? _1363_ : _1195_;
+  assign _1028_ = rs[41] ? _1364_ : _1196_;
+  assign _1029_ = rs[41] ? _1365_ : _1197_;
+  assign _1030_ = rs[41] ? _1366_ : _1198_;
+  assign _1031_ = rs[41] ? _1367_ : _1199_;
+  assign _1032_ = rs[41] ? _1368_ : _1200_;
+  assign _1033_ = rs[41] ? _1369_ : _1201_;
+  assign _1034_ = rs[41] ? _1370_ : _1202_;
+  assign _1035_ = rs[41] ? _1371_ : _1203_;
+  assign _1036_ = rs[43] ? _1372_ : _1204_;
+  assign _1037_ = rs[43] ? _1373_ : _1205_;
+  assign _1038_ = rs[43] ? _1374_ : _1206_;
+  assign _1039_ = rs[43] ? _1375_ : _1207_;
+  assign _1040_ = rs[45] ? _1376_ : _1208_;
+  assign _1041_ = rs[49] ? _1377_ : _1209_;
+  assign _1042_ = rs[49] ? _1378_ : _1210_;
+  assign _1043_ = rs[49] ? _1379_ : _1211_;
+  assign _1044_ = rs[49] ? _1380_ : _1212_;
+  assign _1045_ = rs[49] ? _1381_ : _1213_;
+  assign _1046_ = rs[49] ? _1382_ : _1214_;
+  assign _1047_ = rs[49] ? _1383_ : _1215_;
+  assign _1048_ = rs[49] ? _1384_ : _1216_;
+  assign _1049_ = rs[49] ? _1385_ : _1217_;
+  assign _1050_ = rs[49] ? _1386_ : _1218_;
+  assign _1051_ = rs[49] ? _1387_ : _1219_;
+  assign _1052_ = rs[49] ? _1388_ : _1220_;
+  assign _1053_ = rs[49] ? _1389_ : _1221_;
+  assign _1054_ = rs[49] ? _1390_ : _1222_;
+  assign _1055_ = rs[49] ? _1391_ : _1223_;
+  assign _1056_ = rs[49] ? _1392_ : _1224_;
+  assign _1057_ = rs[51] ? _1393_ : _1225_;
+  assign _1058_ = rs[51] ? _1394_ : _1226_;
+  assign _1059_ = rs[51] ? _1395_ : _1227_;
+  assign _1060_ = rs[51] ? _1396_ : _1228_;
+  assign _1061_ = rs[53] ? _1397_ : _1229_;
+  assign _1062_ = rs[57] ? _1398_ : _1230_;
+  assign _1063_ = rs[57] ? _1399_ : _1231_;
+  assign _1064_ = rs[57] ? _1400_ : _1232_;
+  assign _1065_ = rs[57] ? _1401_ : _1233_;
+  assign _1066_ = rs[57] ? _1402_ : _1234_;
+  assign _1067_ = rs[57] ? _1403_ : _1235_;
+  assign _1068_ = rs[57] ? _1404_ : _1236_;
+  assign _1069_ = rs[57] ? _1405_ : _1237_;
+  assign _1070_ = rs[57] ? _1406_ : _1238_;
+  assign _1071_ = rs[57] ? _1407_ : _1239_;
+  assign _1072_ = rs[57] ? _1408_ : _1240_;
+  assign _1073_ = rs[57] ? _1409_ : _1241_;
+  assign _1074_ = rs[57] ? _1410_ : _1242_;
+  assign _1075_ = rs[57] ? _1411_ : _1243_;
+  assign _1076_ = rs[57] ? _1412_ : _1244_;
+  assign _1077_ = rs[57] ? _1413_ : _1245_;
+  assign _1078_ = rs[59] ? _1414_ : _1246_;
+  assign _1079_ = rs[59] ? _1415_ : _1247_;
+  assign _1080_ = rs[59] ? _1416_ : _1248_;
+  assign _1081_ = rs[59] ? _1417_ : _1249_;
+  assign _1082_ = rs[61] ? _1418_ : _1250_;
+  assign _0000_ = { 1'h0, rs[0] } + { 1'h0, rs[1] };
+  assign _0001_ = { 1'h0, rs[2] } + { 1'h0, rs[3] };
+  assign _0002_ = { 1'h0, rs[4] } + { 1'h0, rs[5] };
+  assign _0003_ = { 1'h0, rs[6] } + { 1'h0, rs[7] };
+  assign _0004_ = { 1'h0, rs[8] } + { 1'h0, rs[9] };
+  assign _0005_ = { 1'h0, rs[10] } + { 1'h0, rs[11] };
+  assign _0006_ = { 1'h0, rs[12] } + { 1'h0, rs[13] };
+  assign _0007_ = { 1'h0, rs[14] } + { 1'h0, rs[15] };
+  assign _0008_ = { 1'h0, rs[16] } + { 1'h0, rs[17] };
+  assign _0009_ = { 1'h0, rs[18] } + { 1'h0, rs[19] };
+  assign _0010_ = { 1'h0, rs[20] } + { 1'h0, rs[21] };
+  assign _0011_ = { 1'h0, rs[22] } + { 1'h0, rs[23] };
+  assign _0012_ = { 1'h0, rs[24] } + { 1'h0, rs[25] };
+  assign _0013_ = { 1'h0, rs[26] } + { 1'h0, rs[27] };
+  assign _0014_ = { 1'h0, rs[28] } + { 1'h0, rs[29] };
+  assign _0015_ = { 1'h0, rs[30] } + { 1'h0, rs[31] };
+  assign _0016_ = { 1'h0, rs[32] } + { 1'h0, rs[33] };
+  assign _0017_ = { 1'h0, rs[34] } + { 1'h0, rs[35] };
+  assign _0018_ = { 1'h0, rs[36] } + { 1'h0, rs[37] };
+  assign _0019_ = { 1'h0, rs[38] } + { 1'h0, rs[39] };
+  assign _0020_ = { 1'h0, rs[40] } + { 1'h0, rs[41] };
+  assign _0021_ = { 1'h0, rs[42] } + { 1'h0, rs[43] };
+  assign _0022_ = { 1'h0, rs[44] } + { 1'h0, rs[45] };
+  assign _0023_ = { 1'h0, rs[46] } + { 1'h0, rs[47] };
+  assign _0024_ = { 1'h0, rs[48] } + { 1'h0, rs[49] };
+  assign _0025_ = { 1'h0, rs[50] } + { 1'h0, rs[51] };
+  assign _0026_ = { 1'h0, rs[52] } + { 1'h0, rs[53] };
+  assign _0027_ = { 1'h0, rs[54] } + { 1'h0, rs[55] };
+  assign _0028_ = { 1'h0, rs[56] } + { 1'h0, rs[57] };
+  assign _0029_ = { 1'h0, rs[58] } + { 1'h0, rs[59] };
+  assign _0030_ = { 1'h0, rs[60] } + { 1'h0, rs[61] };
+  assign _0031_ = { 1'h0, rs[62] } + { 1'h0, rs[63] };
+  assign _0032_ = { 1'h0, _0000_ } + { 1'h0, _0001_ };
+  assign _0033_ = { 1'h0, _0002_ } + { 1'h0, _0003_ };
+  assign _0034_ = { 1'h0, _0004_ } + { 1'h0, _0005_ };
+  assign _0035_ = { 1'h0, _0006_ } + { 1'h0, _0007_ };
+  assign _0036_ = { 1'h0, _0008_ } + { 1'h0, _0009_ };
+  assign _0037_ = { 1'h0, _0010_ } + { 1'h0, _0011_ };
+  assign _0038_ = { 1'h0, _0012_ } + { 1'h0, _0013_ };
+  assign _0039_ = { 1'h0, _0014_ } + { 1'h0, _0015_ };
+  assign _0040_ = { 1'h0, _0016_ } + { 1'h0, _0017_ };
+  assign _0041_ = { 1'h0, _0018_ } + { 1'h0, _0019_ };
+  assign _0042_ = { 1'h0, _0020_ } + { 1'h0, _0021_ };
+  assign _0043_ = { 1'h0, _0022_ } + { 1'h0, _0023_ };
+  assign _0044_ = { 1'h0, _0024_ } + { 1'h0, _0025_ };
+  assign _0045_ = { 1'h0, _0026_ } + { 1'h0, _0027_ };
+  assign _0046_ = { 1'h0, _0028_ } + { 1'h0, _0029_ };
+  assign _0047_ = { 1'h0, _0030_ } + { 1'h0, _0031_ };
+  assign _0048_ = { 1'h0, _0032_ } + { 1'h0, _0033_ };
+  assign _0049_ = { 1'h0, _0034_ } + { 1'h0, _0035_ };
+  assign _0050_ = { 1'h0, _0036_ } + { 1'h0, _0037_ };
+  assign _0051_ = { 1'h0, _0038_ } + { 1'h0, _0039_ };
+  assign _0052_ = { 1'h0, _0040_ } + { 1'h0, _0041_ };
+  assign _0053_ = { 1'h0, _0042_ } + { 1'h0, _0043_ };
+  assign _0054_ = { 1'h0, _0044_ } + { 1'h0, _0045_ };
+  assign _0055_ = { 1'h0, _0046_ } + { 1'h0, _0047_ };
+  assign _0056_ = { 2'h0, _0048_ } + { 2'h0, _0049_ };
+  assign _0057_ = _0056_ + { 2'h0, _0050_ };
+  assign _0058_ = _0057_ + { 2'h0, _0051_ };
+  assign _0059_ = { 2'h0, _0052_ } + { 2'h0, _0053_ };
+  assign _0060_ = _0059_ + { 2'h0, _0054_ };
+  assign _0061_ = _0060_ + { 2'h0, _0055_ };
+  assign _0062_ = datalen[3:2] == 2'h0;
+  assign _0063_ = ~ datalen[3];
+  assign _0064_ = { 1'h0, _0058_ } + { 1'h0, _0061_ };
+  assign _0065_ = _0063_ ? _0058_ : _0064_[5:0];
+  assign _0066_ = _0063_ ? 1'h0 : _0064_[6];
+  assign _0067_ = _0063_ ? _0061_ : 6'h00;
+  assign _0068_ = _0062_ ? _0048_ : _0065_[3:0];
+  assign _0069_ = _0062_ ? 3'h0 : { _0066_, _0065_[5:4] };
+  assign _0070_ = _0062_ ? _0049_ : 4'h0;
+  assign _0071_ = _0062_ ? _0050_ : 4'h0;
+  assign _0072_ = _0062_ ? _0051_ : 4'h0;
+  assign _0073_ = _0062_ ? _0052_ : _0067_[3:0];
+  assign _0074_ = _0062_ ? 2'h0 : _0067_[5:4];
+  assign _0075_ = _0062_ ? _0053_ : 4'h0;
+  assign _0076_ = _0062_ ? _0054_ : 4'h0;
+  assign _0077_ = _0062_ ? _0055_ : 4'h0;
+  assign _0078_ = rs[0] ^ rs[8];
+  assign _0079_ = _0078_ ^ rs[16];
+  assign par0 = _0079_ ^ rs[24];
+  assign _0080_ = rs[32] ^ rs[40];
+  assign _0081_ = _0080_ ^ rs[48];
+  assign par1 = _0081_ ^ rs[56];
+  assign _0082_ = par0 ^ par1;
+  assign _0083_ = datalen[3] ? _0082_ : par0;
+  assign _0084_ = datalen[3] ? 1'h0 : par1;
+  assign _0085_ = rs[7:6] == 2'h0;
+  assign _0086_ = _0085_ ? _0935_ : 1'h0;
+  assign _0087_ = rs[15:14] == 2'h0;
+  assign _0088_ = _0087_ ? _0956_ : 1'h0;
+  assign _0089_ = rs[23:22] == 2'h0;
+  assign _0090_ = _0089_ ? _0977_ : 1'h0;
+  assign _0091_ = rs[31:30] == 2'h0;
+  assign _0092_ = _0091_ ? _0998_ : 1'h0;
+  assign _0093_ = rs[39:38] == 2'h0;
+  assign _0094_ = _0093_ ? _1019_ : 1'h0;
+  assign _0095_ = rs[47:46] == 2'h0;
+  assign _0096_ = _0095_ ? _1040_ : 1'h0;
+  assign _0097_ = rs[55:54] == 2'h0;
+  assign _0098_ = _0097_ ? _1061_ : 1'h0;
+  assign _0099_ = rs[63:62] == 2'h0;
+  assign _0100_ = _0099_ ? _1082_ : 1'h0;
+  assign _0101_ = ~ rb;
+  assign _0102_ = invert_in ? _0101_ : rb;
+  assign _0103_ = rs & _0102_;
+  assign _0104_ = op == 6'h03;
+  assign _0105_ = rs | _0102_;
+  assign _0106_ = op == 6'h2e;
+  assign _0107_ = rs ^ _0102_;
+  function [63:0] \22355 ;
+    input [63:0] a;
+    input [127:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \22355  = b[63:0];
+      2'b1?:
+        \22355  = b[127:64];
+      default:
+        \22355  = a;
+    endcase
+  endfunction
+  assign _0108_ = \22355 (_0107_, { _0105_, _0103_ }, { _0106_, _0104_ });
+  assign _0109_ = ~ _0108_;
+  assign _0110_ = invert_out ? _0109_ : _0108_;
+  assign _0111_ = op == 6'h03;
+  assign _0112_ = op == 6'h2e;
+  assign _0113_ = _0111_ | _0112_;
+  assign _0114_ = op == 6'h3c;
+  assign _0115_ = _0113_ | _0114_;
+  assign _0116_ = op == 6'h2f;
+  assign _0117_ = op == 6'h30;
+  assign _0118_ = rs[7:0] == rb[7:0];
+  assign _0119_ = _0118_ ? 8'hff : 8'h00;
+  assign _0120_ = rs[15:8] == rb[15:8];
+  assign _0121_ = _0120_ ? 8'hff : 8'h00;
+  assign _0122_ = rs[23:16] == rb[23:16];
+  assign _0123_ = _0122_ ? 8'hff : 8'h00;
+  assign _0124_ = rs[31:24] == rb[31:24];
+  assign _0125_ = _0124_ ? 8'hff : 8'h00;
+  assign _0126_ = rs[39:32] == rb[39:32];
+  assign _0127_ = _0126_ ? 8'hff : 8'h00;
+  assign _0128_ = rs[47:40] == rb[47:40];
+  assign _0129_ = _0128_ ? 8'hff : 8'h00;
+  assign _0130_ = rs[55:48] == rb[55:48];
+  assign _0131_ = _0130_ ? 8'hff : 8'h00;
+  assign _0132_ = rs[63:56] == rb[63:56];
+  assign _0133_ = _0132_ ? 8'hff : 8'h00;
+  assign _0134_ = op == 6'h0a;
+  assign _0135_ = op == 6'h08;
+  assign _0136_ = ~ invert_in;
+  assign _0137_ = rs[50] & rs[55];
+  assign _0138_ = _0137_ & rs[47];
+  assign _0139_ = ~ rs[51];
+  assign _0140_ = _0138_ & _0139_;
+  assign _0141_ = rs[46] & rs[55];
+  assign _0142_ = ~ rs[47];
+  assign _0143_ = _0141_ & _0142_;
+  assign _0144_ = _0140_ | _0143_;
+  assign _0145_ = ~ rs[55];
+  assign _0146_ = rs[54] & _0145_;
+  assign _0147_ = _0144_ | _0146_;
+  assign _0148_ = rs[49] & rs[55];
+  assign _0149_ = _0148_ & rs[47];
+  assign _0150_ = ~ rs[51];
+  assign _0151_ = _0149_ & _0150_;
+  assign _0152_ = rs[45] & rs[55];
+  assign _0153_ = ~ rs[47];
+  assign _0154_ = _0152_ & _0153_;
+  assign _0155_ = _0151_ | _0154_;
+  assign _0156_ = ~ rs[55];
+  assign _0157_ = rs[53] & _0156_;
+  assign _0158_ = _0155_ | _0157_;
+  assign _0159_ = ~ rs[55];
+  assign _0160_ = rs[46] & _0159_;
+  assign _0161_ = _0160_ & rs[51];
+  assign _0162_ = ~ rs[47];
+  assign _0163_ = _0161_ & _0162_;
+  assign _0164_ = ~ rs[47];
+  assign _0165_ = rs[50] & _0164_;
+  assign _0166_ = ~ rs[51];
+  assign _0167_ = _0165_ & _0166_;
+  assign _0168_ = _0163_ | _0167_;
+  assign _0169_ = ~ rs[55];
+  assign _0170_ = rs[50] & _0169_;
+  assign _0171_ = ~ rs[51];
+  assign _0172_ = _0170_ & _0171_;
+  assign _0173_ = _0168_ | _0172_;
+  assign _0174_ = rs[51] & rs[47];
+  assign _0175_ = _0173_ | _0174_;
+  assign _0176_ = ~ rs[55];
+  assign _0177_ = rs[45] & _0176_;
+  assign _0178_ = _0177_ & rs[51];
+  assign _0179_ = ~ rs[47];
+  assign _0180_ = _0178_ & _0179_;
+  assign _0181_ = ~ rs[47];
+  assign _0182_ = rs[49] & _0181_;
+  assign _0183_ = ~ rs[51];
+  assign _0184_ = _0182_ & _0183_;
+  assign _0185_ = _0180_ | _0184_;
+  assign _0186_ = ~ rs[55];
+  assign _0187_ = rs[49] & _0186_;
+  assign _0188_ = ~ rs[51];
+  assign _0189_ = _0187_ & _0188_;
+  assign _0190_ = _0185_ | _0189_;
+  assign _0191_ = rs[55] & rs[47];
+  assign _0192_ = _0190_ | _0191_;
+  assign _0193_ = rs[55] | rs[51];
+  assign _0194_ = _0193_ | rs[47];
+  assign _0195_ = ~ rs[51];
+  assign _0196_ = _0195_ & rs[46];
+  assign _0197_ = ~ rs[47];
+  assign _0198_ = _0196_ & _0197_;
+  assign _0199_ = rs[51] & rs[47];
+  assign _0200_ = _0198_ | _0199_;
+  assign _0201_ = _0200_ | rs[55];
+  assign _0202_ = ~ rs[55];
+  assign _0203_ = _0202_ & rs[45];
+  assign _0204_ = ~ rs[47];
+  assign _0205_ = _0203_ & _0204_;
+  assign _0206_ = rs[55] & rs[47];
+  assign _0207_ = _0205_ | _0206_;
+  assign _0208_ = _0207_ | rs[51];
+  assign _0209_ = rs[38] & rs[43];
+  assign _0210_ = _0209_ & rs[35];
+  assign _0211_ = ~ rs[39];
+  assign _0212_ = _0210_ & _0211_;
+  assign _0213_ = rs[34] & rs[43];
+  assign _0214_ = ~ rs[35];
+  assign _0215_ = _0213_ & _0214_;
+  assign _0216_ = _0212_ | _0215_;
+  assign _0217_ = ~ rs[43];
+  assign _0218_ = rs[42] & _0217_;
+  assign _0219_ = _0216_ | _0218_;
+  assign _0220_ = rs[37] & rs[43];
+  assign _0221_ = _0220_ & rs[35];
+  assign _0222_ = ~ rs[39];
+  assign _0223_ = _0221_ & _0222_;
+  assign _0224_ = rs[33] & rs[43];
+  assign _0225_ = ~ rs[35];
+  assign _0226_ = _0224_ & _0225_;
+  assign _0227_ = _0223_ | _0226_;
+  assign _0228_ = ~ rs[43];
+  assign _0229_ = rs[41] & _0228_;
+  assign _0230_ = _0227_ | _0229_;
+  assign _0231_ = ~ rs[43];
+  assign _0232_ = rs[34] & _0231_;
+  assign _0233_ = _0232_ & rs[39];
+  assign _0234_ = ~ rs[35];
+  assign _0235_ = _0233_ & _0234_;
+  assign _0236_ = ~ rs[35];
+  assign _0237_ = rs[38] & _0236_;
+  assign _0238_ = ~ rs[39];
+  assign _0239_ = _0237_ & _0238_;
+  assign _0240_ = _0235_ | _0239_;
+  assign _0241_ = ~ rs[43];
+  assign _0242_ = rs[38] & _0241_;
+  assign _0243_ = ~ rs[39];
+  assign _0244_ = _0242_ & _0243_;
+  assign _0245_ = _0240_ | _0244_;
+  assign _0246_ = rs[39] & rs[35];
+  assign _0247_ = _0245_ | _0246_;
+  assign _0248_ = ~ rs[43];
+  assign _0249_ = rs[33] & _0248_;
+  assign _0250_ = _0249_ & rs[39];
+  assign _0251_ = ~ rs[35];
+  assign _0252_ = _0250_ & _0251_;
+  assign _0253_ = ~ rs[35];
+  assign _0254_ = rs[37] & _0253_;
+  assign _0255_ = ~ rs[39];
+  assign _0256_ = _0254_ & _0255_;
+  assign _0257_ = _0252_ | _0256_;
+  assign _0258_ = ~ rs[43];
+  assign _0259_ = rs[37] & _0258_;
+  assign _0260_ = ~ rs[39];
+  assign _0261_ = _0259_ & _0260_;
+  assign _0262_ = _0257_ | _0261_;
+  assign _0263_ = rs[43] & rs[35];
+  assign _0264_ = _0262_ | _0263_;
+  assign _0265_ = rs[43] | rs[39];
+  assign _0266_ = _0265_ | rs[35];
+  assign _0267_ = ~ rs[39];
+  assign _0268_ = _0267_ & rs[34];
+  assign _0269_ = ~ rs[35];
+  assign _0270_ = _0268_ & _0269_;
+  assign _0271_ = rs[39] & rs[35];
+  assign _0272_ = _0270_ | _0271_;
+  assign _0273_ = _0272_ | rs[43];
+  assign _0274_ = ~ rs[43];
+  assign _0275_ = _0274_ & rs[33];
+  assign _0276_ = ~ rs[35];
+  assign _0277_ = _0275_ & _0276_;
+  assign _0278_ = rs[43] & rs[35];
+  assign _0279_ = _0277_ | _0278_;
+  assign _0280_ = _0279_ | rs[39];
+  assign _0281_ = rs[18] & rs[23];
+  assign _0282_ = _0281_ & rs[15];
+  assign _0283_ = ~ rs[19];
+  assign _0284_ = _0282_ & _0283_;
+  assign _0285_ = rs[14] & rs[23];
+  assign _0286_ = ~ rs[15];
+  assign _0287_ = _0285_ & _0286_;
+  assign _0288_ = _0284_ | _0287_;
+  assign _0289_ = ~ rs[23];
+  assign _0290_ = rs[22] & _0289_;
+  assign _0291_ = _0288_ | _0290_;
+  assign _0292_ = rs[17] & rs[23];
+  assign _0293_ = _0292_ & rs[15];
+  assign _0294_ = ~ rs[19];
+  assign _0295_ = _0293_ & _0294_;
+  assign _0296_ = rs[13] & rs[23];
+  assign _0297_ = ~ rs[15];
+  assign _0298_ = _0296_ & _0297_;
+  assign _0299_ = _0295_ | _0298_;
+  assign _0300_ = ~ rs[23];
+  assign _0301_ = rs[21] & _0300_;
+  assign _0302_ = _0299_ | _0301_;
+  assign _0303_ = ~ rs[23];
+  assign _0304_ = rs[14] & _0303_;
+  assign _0305_ = _0304_ & rs[19];
+  assign _0306_ = ~ rs[15];
+  assign _0307_ = _0305_ & _0306_;
+  assign _0308_ = ~ rs[15];
+  assign _0309_ = rs[18] & _0308_;
+  assign _0310_ = ~ rs[19];
+  assign _0311_ = _0309_ & _0310_;
+  assign _0312_ = _0307_ | _0311_;
+  assign _0313_ = ~ rs[23];
+  assign _0314_ = rs[18] & _0313_;
+  assign _0315_ = ~ rs[19];
+  assign _0316_ = _0314_ & _0315_;
+  assign _0317_ = _0312_ | _0316_;
+  assign _0318_ = rs[19] & rs[15];
+  assign _0319_ = _0317_ | _0318_;
+  assign _0320_ = ~ rs[23];
+  assign _0321_ = rs[13] & _0320_;
+  assign _0322_ = _0321_ & rs[19];
+  assign _0323_ = ~ rs[15];
+  assign _0324_ = _0322_ & _0323_;
+  assign _0325_ = ~ rs[15];
+  assign _0326_ = rs[17] & _0325_;
+  assign _0327_ = ~ rs[19];
+  assign _0328_ = _0326_ & _0327_;
+  assign _0329_ = _0324_ | _0328_;
+  assign _0330_ = ~ rs[23];
+  assign _0331_ = rs[17] & _0330_;
+  assign _0332_ = ~ rs[19];
+  assign _0333_ = _0331_ & _0332_;
+  assign _0334_ = _0329_ | _0333_;
+  assign _0335_ = rs[23] & rs[15];
+  assign _0336_ = _0334_ | _0335_;
+  assign _0337_ = rs[23] | rs[19];
+  assign _0338_ = _0337_ | rs[15];
+  assign _0339_ = ~ rs[19];
+  assign _0340_ = _0339_ & rs[14];
+  assign _0341_ = ~ rs[15];
+  assign _0342_ = _0340_ & _0341_;
+  assign _0343_ = rs[19] & rs[15];
+  assign _0344_ = _0342_ | _0343_;
+  assign _0345_ = _0344_ | rs[23];
+  assign _0346_ = ~ rs[23];
+  assign _0347_ = _0346_ & rs[13];
+  assign _0348_ = ~ rs[15];
+  assign _0349_ = _0347_ & _0348_;
+  assign _0350_ = rs[23] & rs[15];
+  assign _0351_ = _0349_ | _0350_;
+  assign _0352_ = _0351_ | rs[19];
+  assign _0353_ = rs[6] & rs[11];
+  assign _0354_ = _0353_ & rs[3];
+  assign _0355_ = ~ rs[7];
+  assign _0356_ = _0354_ & _0355_;
+  assign _0357_ = rs[2] & rs[11];
+  assign _0358_ = ~ rs[3];
+  assign _0359_ = _0357_ & _0358_;
+  assign _0360_ = _0356_ | _0359_;
+  assign _0361_ = ~ rs[11];
+  assign _0362_ = rs[10] & _0361_;
+  assign _0363_ = _0360_ | _0362_;
+  assign _0364_ = rs[5] & rs[11];
+  assign _0365_ = _0364_ & rs[3];
+  assign _0366_ = ~ rs[7];
+  assign _0367_ = _0365_ & _0366_;
+  assign _0368_ = rs[1] & rs[11];
+  assign _0369_ = ~ rs[3];
+  assign _0370_ = _0368_ & _0369_;
+  assign _0371_ = _0367_ | _0370_;
+  assign _0372_ = ~ rs[11];
+  assign _0373_ = rs[9] & _0372_;
+  assign _0374_ = _0371_ | _0373_;
+  assign _0375_ = ~ rs[11];
+  assign _0376_ = rs[2] & _0375_;
+  assign _0377_ = _0376_ & rs[7];
+  assign _0378_ = ~ rs[3];
+  assign _0379_ = _0377_ & _0378_;
+  assign _0380_ = ~ rs[3];
+  assign _0381_ = rs[6] & _0380_;
+  assign _0382_ = ~ rs[7];
+  assign _0383_ = _0381_ & _0382_;
+  assign _0384_ = _0379_ | _0383_;
+  assign _0385_ = ~ rs[11];
+  assign _0386_ = rs[6] & _0385_;
+  assign _0387_ = ~ rs[7];
+  assign _0388_ = _0386_ & _0387_;
+  assign _0389_ = _0384_ | _0388_;
+  assign _0390_ = rs[7] & rs[3];
+  assign _0391_ = _0389_ | _0390_;
+  assign _0392_ = ~ rs[11];
+  assign _0393_ = rs[1] & _0392_;
+  assign _0394_ = _0393_ & rs[7];
+  assign _0395_ = ~ rs[3];
+  assign _0396_ = _0394_ & _0395_;
+  assign _0397_ = ~ rs[3];
+  assign _0398_ = rs[5] & _0397_;
+  assign _0399_ = ~ rs[7];
+  assign _0400_ = _0398_ & _0399_;
+  assign _0401_ = _0396_ | _0400_;
+  assign _0402_ = ~ rs[11];
+  assign _0403_ = rs[5] & _0402_;
+  assign _0404_ = ~ rs[7];
+  assign _0405_ = _0403_ & _0404_;
+  assign _0406_ = _0401_ | _0405_;
+  assign _0407_ = rs[11] & rs[3];
+  assign _0408_ = _0406_ | _0407_;
+  assign _0409_ = rs[11] | rs[7];
+  assign _0410_ = _0409_ | rs[3];
+  assign _0411_ = ~ rs[7];
+  assign _0412_ = _0411_ & rs[2];
+  assign _0413_ = ~ rs[3];
+  assign _0414_ = _0412_ & _0413_;
+  assign _0415_ = rs[7] & rs[3];
+  assign _0416_ = _0414_ | _0415_;
+  assign _0417_ = _0416_ | rs[11];
+  assign _0418_ = ~ rs[11];
+  assign _0419_ = _0418_ & rs[1];
+  assign _0420_ = ~ rs[3];
+  assign _0421_ = _0419_ & _0420_;
+  assign _0422_ = rs[11] & rs[3];
+  assign _0423_ = _0421_ | _0422_;
+  assign _0424_ = _0423_ | rs[7];
+  assign _0425_ = ~ rs[48];
+  assign _0426_ = _0425_ & rs[45];
+  assign _0427_ = _0426_ & rs[44];
+  assign _0428_ = rs[47] & rs[45];
+  assign _0429_ = _0428_ & rs[44];
+  assign _0430_ = _0429_ & rs[48];
+  assign _0431_ = _0427_ | _0430_;
+  assign _0432_ = rs[45] & rs[44];
+  assign _0433_ = ~ rs[43];
+  assign _0434_ = _0432_ & _0433_;
+  assign _0435_ = _0431_ | _0434_;
+  assign _0436_ = rs[51] & rs[48];
+  assign _0437_ = _0436_ & rs[43];
+  assign _0438_ = ~ rs[47];
+  assign _0439_ = _0437_ & _0438_;
+  assign _0440_ = ~ rs[44];
+  assign _0441_ = rs[51] & _0440_;
+  assign _0442_ = _0439_ | _0441_;
+  assign _0443_ = ~ rs[45];
+  assign _0444_ = rs[51] & _0443_;
+  assign _0445_ = _0442_ | _0444_;
+  assign _0446_ = rs[50] & rs[48];
+  assign _0447_ = _0446_ & rs[43];
+  assign _0448_ = ~ rs[47];
+  assign _0449_ = _0447_ & _0448_;
+  assign _0450_ = ~ rs[44];
+  assign _0451_ = rs[50] & _0450_;
+  assign _0452_ = _0449_ | _0451_;
+  assign _0453_ = ~ rs[45];
+  assign _0454_ = rs[50] & _0453_;
+  assign _0455_ = _0452_ | _0454_;
+  assign _0456_ = ~ rs[44];
+  assign _0457_ = rs[45] & _0456_;
+  assign _0458_ = _0457_ & rs[43];
+  assign _0459_ = rs[48] & rs[45];
+  assign _0460_ = _0459_ & rs[44];
+  assign _0461_ = _0460_ & rs[43];
+  assign _0462_ = _0458_ | _0461_;
+  assign _0463_ = ~ rs[47];
+  assign _0464_ = _0463_ & rs[45];
+  assign _0465_ = _0464_ & rs[44];
+  assign _0466_ = _0465_ & rs[43];
+  assign _0467_ = _0462_ | _0466_;
+  assign _0468_ = rs[51] & rs[47];
+  assign _0469_ = _0468_ & rs[45];
+  assign _0470_ = _0469_ & rs[44];
+  assign _0471_ = _0470_ & rs[43];
+  assign _0472_ = ~ rs[48];
+  assign _0473_ = _0471_ & _0472_;
+  assign _0474_ = ~ rs[43];
+  assign _0475_ = rs[48] & _0474_;
+  assign _0476_ = _0475_ & rs[45];
+  assign _0477_ = _0473_ | _0476_;
+  assign _0478_ = ~ rs[45];
+  assign _0479_ = rs[48] & _0478_;
+  assign _0480_ = _0477_ | _0479_;
+  assign _0481_ = rs[50] & rs[47];
+  assign _0482_ = _0481_ & rs[44];
+  assign _0483_ = _0482_ & rs[45];
+  assign _0484_ = _0483_ & rs[43];
+  assign _0485_ = ~ rs[48];
+  assign _0486_ = _0484_ & _0485_;
+  assign _0487_ = ~ rs[43];
+  assign _0488_ = rs[47] & _0487_;
+  assign _0489_ = _0488_ & rs[45];
+  assign _0490_ = _0486_ | _0489_;
+  assign _0491_ = ~ rs[45];
+  assign _0492_ = rs[47] & _0491_;
+  assign _0493_ = _0490_ | _0492_;
+  assign _0494_ = rs[47] & rs[45];
+  assign _0495_ = _0494_ & rs[44];
+  assign _0496_ = _0495_ & rs[43];
+  assign _0497_ = rs[48] & rs[45];
+  assign _0498_ = _0497_ & rs[44];
+  assign _0499_ = _0498_ & rs[43];
+  assign _0500_ = _0496_ | _0499_;
+  assign _0501_ = ~ rs[44];
+  assign _0502_ = rs[45] & _0501_;
+  assign _0503_ = ~ rs[43];
+  assign _0504_ = _0502_ & _0503_;
+  assign _0505_ = _0500_ | _0504_;
+  assign _0506_ = ~ rs[48];
+  assign _0507_ = rs[51] & _0506_;
+  assign _0508_ = ~ rs[47];
+  assign _0509_ = _0507_ & _0508_;
+  assign _0510_ = _0509_ & rs[44];
+  assign _0511_ = _0510_ & rs[45];
+  assign _0512_ = rs[48] & rs[45];
+  assign _0513_ = ~ rs[44];
+  assign _0514_ = _0512_ & _0513_;
+  assign _0515_ = _0514_ & rs[43];
+  assign _0516_ = _0511_ | _0515_;
+  assign _0517_ = rs[51] & rs[44];
+  assign _0518_ = ~ rs[43];
+  assign _0519_ = _0517_ & _0518_;
+  assign _0520_ = _0519_ & rs[45];
+  assign _0521_ = _0516_ | _0520_;
+  assign _0522_ = ~ rs[45];
+  assign _0523_ = rs[44] & _0522_;
+  assign _0524_ = _0521_ | _0523_;
+  assign _0525_ = ~ rs[48];
+  assign _0526_ = rs[50] & _0525_;
+  assign _0527_ = ~ rs[47];
+  assign _0528_ = _0526_ & _0527_;
+  assign _0529_ = _0528_ & rs[45];
+  assign _0530_ = _0529_ & rs[44];
+  assign _0531_ = rs[47] & rs[45];
+  assign _0532_ = ~ rs[44];
+  assign _0533_ = _0531_ & _0532_;
+  assign _0534_ = _0533_ & rs[43];
+  assign _0535_ = _0530_ | _0534_;
+  assign _0536_ = rs[50] & rs[45];
+  assign _0537_ = _0536_ & rs[44];
+  assign _0538_ = ~ rs[43];
+  assign _0539_ = _0537_ & _0538_;
+  assign _0540_ = _0535_ | _0539_;
+  assign _0541_ = ~ rs[45];
+  assign _0542_ = rs[43] & _0541_;
+  assign _0543_ = _0540_ | _0542_;
+  assign _0544_ = ~ rs[38];
+  assign _0545_ = _0544_ & rs[35];
+  assign _0546_ = _0545_ & rs[34];
+  assign _0547_ = rs[37] & rs[35];
+  assign _0548_ = _0547_ & rs[34];
+  assign _0549_ = _0548_ & rs[38];
+  assign _0550_ = _0546_ | _0549_;
+  assign _0551_ = rs[35] & rs[34];
+  assign _0552_ = ~ rs[33];
+  assign _0553_ = _0551_ & _0552_;
+  assign _0554_ = _0550_ | _0553_;
+  assign _0555_ = rs[41] & rs[38];
+  assign _0556_ = _0555_ & rs[33];
+  assign _0557_ = ~ rs[37];
+  assign _0558_ = _0556_ & _0557_;
+  assign _0559_ = ~ rs[34];
+  assign _0560_ = rs[41] & _0559_;
+  assign _0561_ = _0558_ | _0560_;
+  assign _0562_ = ~ rs[35];
+  assign _0563_ = rs[41] & _0562_;
+  assign _0564_ = _0561_ | _0563_;
+  assign _0565_ = rs[40] & rs[38];
+  assign _0566_ = _0565_ & rs[33];
+  assign _0567_ = ~ rs[37];
+  assign _0568_ = _0566_ & _0567_;
+  assign _0569_ = ~ rs[34];
+  assign _0570_ = rs[40] & _0569_;
+  assign _0571_ = _0568_ | _0570_;
+  assign _0572_ = ~ rs[35];
+  assign _0573_ = rs[40] & _0572_;
+  assign _0574_ = _0571_ | _0573_;
+  assign _0575_ = ~ rs[34];
+  assign _0576_ = rs[35] & _0575_;
+  assign _0577_ = _0576_ & rs[33];
+  assign _0578_ = rs[38] & rs[35];
+  assign _0579_ = _0578_ & rs[34];
+  assign _0580_ = _0579_ & rs[33];
+  assign _0581_ = _0577_ | _0580_;
+  assign _0582_ = ~ rs[37];
+  assign _0583_ = _0582_ & rs[35];
+  assign _0584_ = _0583_ & rs[34];
+  assign _0585_ = _0584_ & rs[33];
+  assign _0586_ = _0581_ | _0585_;
+  assign _0587_ = rs[41] & rs[37];
+  assign _0588_ = _0587_ & rs[35];
+  assign _0589_ = _0588_ & rs[34];
+  assign _0590_ = _0589_ & rs[33];
+  assign _0591_ = ~ rs[38];
+  assign _0592_ = _0590_ & _0591_;
+  assign _0593_ = ~ rs[33];
+  assign _0594_ = rs[38] & _0593_;
+  assign _0595_ = _0594_ & rs[35];
+  assign _0596_ = _0592_ | _0595_;
+  assign _0597_ = ~ rs[35];
+  assign _0598_ = rs[38] & _0597_;
+  assign _0599_ = _0596_ | _0598_;
+  assign _0600_ = rs[40] & rs[37];
+  assign _0601_ = _0600_ & rs[34];
+  assign _0602_ = _0601_ & rs[35];
+  assign _0603_ = _0602_ & rs[33];
+  assign _0604_ = ~ rs[38];
+  assign _0605_ = _0603_ & _0604_;
+  assign _0606_ = ~ rs[33];
+  assign _0607_ = rs[37] & _0606_;
+  assign _0608_ = _0607_ & rs[35];
+  assign _0609_ = _0605_ | _0608_;
+  assign _0610_ = ~ rs[35];
+  assign _0611_ = rs[37] & _0610_;
+  assign _0612_ = _0609_ | _0611_;
+  assign _0613_ = rs[37] & rs[35];
+  assign _0614_ = _0613_ & rs[34];
+  assign _0615_ = _0614_ & rs[33];
+  assign _0616_ = rs[38] & rs[35];
+  assign _0617_ = _0616_ & rs[34];
+  assign _0618_ = _0617_ & rs[33];
+  assign _0619_ = _0615_ | _0618_;
+  assign _0620_ = ~ rs[34];
+  assign _0621_ = rs[35] & _0620_;
+  assign _0622_ = ~ rs[33];
+  assign _0623_ = _0621_ & _0622_;
+  assign _0624_ = _0619_ | _0623_;
+  assign _0625_ = ~ rs[38];
+  assign _0626_ = rs[41] & _0625_;
+  assign _0627_ = ~ rs[37];
+  assign _0628_ = _0626_ & _0627_;
+  assign _0629_ = _0628_ & rs[34];
+  assign _0630_ = _0629_ & rs[35];
+  assign _0631_ = rs[38] & rs[35];
+  assign _0632_ = ~ rs[34];
+  assign _0633_ = _0631_ & _0632_;
+  assign _0634_ = _0633_ & rs[33];
+  assign _0635_ = _0630_ | _0634_;
+  assign _0636_ = rs[41] & rs[34];
+  assign _0637_ = ~ rs[33];
+  assign _0638_ = _0636_ & _0637_;
+  assign _0639_ = _0638_ & rs[35];
+  assign _0640_ = _0635_ | _0639_;
+  assign _0641_ = ~ rs[35];
+  assign _0642_ = rs[34] & _0641_;
+  assign _0643_ = _0640_ | _0642_;
+  assign _0644_ = ~ rs[38];
+  assign _0645_ = rs[40] & _0644_;
+  assign _0646_ = ~ rs[37];
+  assign _0647_ = _0645_ & _0646_;
+  assign _0648_ = _0647_ & rs[35];
+  assign _0649_ = _0648_ & rs[34];
+  assign _0650_ = rs[37] & rs[35];
+  assign _0651_ = ~ rs[34];
+  assign _0652_ = _0650_ & _0651_;
+  assign _0653_ = _0652_ & rs[33];
+  assign _0654_ = _0649_ | _0653_;
+  assign _0655_ = rs[40] & rs[35];
+  assign _0656_ = _0655_ & rs[34];
+  assign _0657_ = ~ rs[33];
+  assign _0658_ = _0656_ & _0657_;
+  assign _0659_ = _0654_ | _0658_;
+  assign _0660_ = ~ rs[35];
+  assign _0661_ = rs[33] & _0660_;
+  assign _0662_ = _0659_ | _0661_;
+  assign _0663_ = ~ rs[16];
+  assign _0664_ = _0663_ & rs[13];
+  assign _0665_ = _0664_ & rs[12];
+  assign _0666_ = rs[15] & rs[13];
+  assign _0667_ = _0666_ & rs[12];
+  assign _0668_ = _0667_ & rs[16];
+  assign _0669_ = _0665_ | _0668_;
+  assign _0670_ = rs[13] & rs[12];
+  assign _0671_ = ~ rs[11];
+  assign _0672_ = _0670_ & _0671_;
+  assign _0673_ = _0669_ | _0672_;
+  assign _0674_ = rs[19] & rs[16];
+  assign _0675_ = _0674_ & rs[11];
+  assign _0676_ = ~ rs[15];
+  assign _0677_ = _0675_ & _0676_;
+  assign _0678_ = ~ rs[12];
+  assign _0679_ = rs[19] & _0678_;
+  assign _0680_ = _0677_ | _0679_;
+  assign _0681_ = ~ rs[13];
+  assign _0682_ = rs[19] & _0681_;
+  assign _0683_ = _0680_ | _0682_;
+  assign _0684_ = rs[18] & rs[16];
+  assign _0685_ = _0684_ & rs[11];
+  assign _0686_ = ~ rs[15];
+  assign _0687_ = _0685_ & _0686_;
+  assign _0688_ = ~ rs[12];
+  assign _0689_ = rs[18] & _0688_;
+  assign _0690_ = _0687_ | _0689_;
+  assign _0691_ = ~ rs[13];
+  assign _0692_ = rs[18] & _0691_;
+  assign _0693_ = _0690_ | _0692_;
+  assign _0694_ = ~ rs[12];
+  assign _0695_ = rs[13] & _0694_;
+  assign _0696_ = _0695_ & rs[11];
+  assign _0697_ = rs[16] & rs[13];
+  assign _0698_ = _0697_ & rs[12];
+  assign _0699_ = _0698_ & rs[11];
+  assign _0700_ = _0696_ | _0699_;
+  assign _0701_ = ~ rs[15];
+  assign _0702_ = _0701_ & rs[13];
+  assign _0703_ = _0702_ & rs[12];
+  assign _0704_ = _0703_ & rs[11];
+  assign _0705_ = _0700_ | _0704_;
+  assign _0706_ = rs[19] & rs[15];
+  assign _0707_ = _0706_ & rs[13];
+  assign _0708_ = _0707_ & rs[12];
+  assign _0709_ = _0708_ & rs[11];
+  assign _0710_ = ~ rs[16];
+  assign _0711_ = _0709_ & _0710_;
+  assign _0712_ = ~ rs[11];
+  assign _0713_ = rs[16] & _0712_;
+  assign _0714_ = _0713_ & rs[13];
+  assign _0715_ = _0711_ | _0714_;
+  assign _0716_ = ~ rs[13];
+  assign _0717_ = rs[16] & _0716_;
+  assign _0718_ = _0715_ | _0717_;
+  assign _0719_ = rs[18] & rs[15];
+  assign _0720_ = _0719_ & rs[12];
+  assign _0721_ = _0720_ & rs[13];
+  assign _0722_ = _0721_ & rs[11];
+  assign _0723_ = ~ rs[16];
+  assign _0724_ = _0722_ & _0723_;
+  assign _0725_ = ~ rs[11];
+  assign _0726_ = rs[15] & _0725_;
+  assign _0727_ = _0726_ & rs[13];
+  assign _0728_ = _0724_ | _0727_;
+  assign _0729_ = ~ rs[13];
+  assign _0730_ = rs[15] & _0729_;
+  assign _0731_ = _0728_ | _0730_;
+  assign _0732_ = rs[15] & rs[13];
+  assign _0733_ = _0732_ & rs[12];
+  assign _0734_ = _0733_ & rs[11];
+  assign _0735_ = rs[16] & rs[13];
+  assign _0736_ = _0735_ & rs[12];
+  assign _0737_ = _0736_ & rs[11];
+  assign _0738_ = _0734_ | _0737_;
+  assign _0739_ = ~ rs[12];
+  assign _0740_ = rs[13] & _0739_;
+  assign _0741_ = ~ rs[11];
+  assign _0742_ = _0740_ & _0741_;
+  assign _0743_ = _0738_ | _0742_;
+  assign _0744_ = ~ rs[16];
+  assign _0745_ = rs[19] & _0744_;
+  assign _0746_ = ~ rs[15];
+  assign _0747_ = _0745_ & _0746_;
+  assign _0748_ = _0747_ & rs[12];
+  assign _0749_ = _0748_ & rs[13];
+  assign _0750_ = rs[16] & rs[13];
+  assign _0751_ = ~ rs[12];
+  assign _0752_ = _0750_ & _0751_;
+  assign _0753_ = _0752_ & rs[11];
+  assign _0754_ = _0749_ | _0753_;
+  assign _0755_ = rs[19] & rs[12];
+  assign _0756_ = ~ rs[11];
+  assign _0757_ = _0755_ & _0756_;
+  assign _0758_ = _0757_ & rs[13];
+  assign _0759_ = _0754_ | _0758_;
+  assign _0760_ = ~ rs[13];
+  assign _0761_ = rs[12] & _0760_;
+  assign _0762_ = _0759_ | _0761_;
+  assign _0763_ = ~ rs[16];
+  assign _0764_ = rs[18] & _0763_;
+  assign _0765_ = ~ rs[15];
+  assign _0766_ = _0764_ & _0765_;
+  assign _0767_ = _0766_ & rs[13];
+  assign _0768_ = _0767_ & rs[12];
+  assign _0769_ = rs[15] & rs[13];
+  assign _0770_ = ~ rs[12];
+  assign _0771_ = _0769_ & _0770_;
+  assign _0772_ = _0771_ & rs[11];
+  assign _0773_ = _0768_ | _0772_;
+  assign _0774_ = rs[18] & rs[13];
+  assign _0775_ = _0774_ & rs[12];
+  assign _0776_ = ~ rs[11];
+  assign _0777_ = _0775_ & _0776_;
+  assign _0778_ = _0773_ | _0777_;
+  assign _0779_ = ~ rs[13];
+  assign _0780_ = rs[11] & _0779_;
+  assign _0781_ = _0778_ | _0780_;
+  assign _0782_ = ~ rs[6];
+  assign _0783_ = _0782_ & rs[3];
+  assign _0784_ = _0783_ & rs[2];
+  assign _0785_ = rs[5] & rs[3];
+  assign _0786_ = _0785_ & rs[2];
+  assign _0787_ = _0786_ & rs[6];
+  assign _0788_ = _0784_ | _0787_;
+  assign _0789_ = rs[3] & rs[2];
+  assign _0790_ = ~ rs[1];
+  assign _0791_ = _0789_ & _0790_;
+  assign _0792_ = _0788_ | _0791_;
+  assign _0793_ = rs[9] & rs[6];
+  assign _0794_ = _0793_ & rs[1];
+  assign _0795_ = ~ rs[5];
+  assign _0796_ = _0794_ & _0795_;
+  assign _0797_ = ~ rs[2];
+  assign _0798_ = rs[9] & _0797_;
+  assign _0799_ = _0796_ | _0798_;
+  assign _0800_ = ~ rs[3];
+  assign _0801_ = rs[9] & _0800_;
+  assign _0802_ = _0799_ | _0801_;
+  assign _0803_ = rs[8] & rs[6];
+  assign _0804_ = _0803_ & rs[1];
+  assign _0805_ = ~ rs[5];
+  assign _0806_ = _0804_ & _0805_;
+  assign _0807_ = ~ rs[2];
+  assign _0808_ = rs[8] & _0807_;
+  assign _0809_ = _0806_ | _0808_;
+  assign _0810_ = ~ rs[3];
+  assign _0811_ = rs[8] & _0810_;
+  assign _0812_ = _0809_ | _0811_;
+  assign _0813_ = ~ rs[2];
+  assign _0814_ = rs[3] & _0813_;
+  assign _0815_ = _0814_ & rs[1];
+  assign _0816_ = rs[6] & rs[3];
+  assign _0817_ = _0816_ & rs[2];
+  assign _0818_ = _0817_ & rs[1];
+  assign _0819_ = _0815_ | _0818_;
+  assign _0820_ = ~ rs[5];
+  assign _0821_ = _0820_ & rs[3];
+  assign _0822_ = _0821_ & rs[2];
+  assign _0823_ = _0822_ & rs[1];
+  assign _0824_ = _0819_ | _0823_;
+  assign _0825_ = rs[9] & rs[5];
+  assign _0826_ = _0825_ & rs[3];
+  assign _0827_ = _0826_ & rs[2];
+  assign _0828_ = _0827_ & rs[1];
+  assign _0829_ = ~ rs[6];
+  assign _0830_ = _0828_ & _0829_;
+  assign _0831_ = ~ rs[1];
+  assign _0832_ = rs[6] & _0831_;
+  assign _0833_ = _0832_ & rs[3];
+  assign _0834_ = _0830_ | _0833_;
+  assign _0835_ = ~ rs[3];
+  assign _0836_ = rs[6] & _0835_;
+  assign _0837_ = _0834_ | _0836_;
+  assign _0838_ = rs[8] & rs[5];
+  assign _0839_ = _0838_ & rs[2];
+  assign _0840_ = _0839_ & rs[3];
+  assign _0841_ = _0840_ & rs[1];
+  assign _0842_ = ~ rs[6];
+  assign _0843_ = _0841_ & _0842_;
+  assign _0844_ = ~ rs[1];
+  assign _0845_ = rs[5] & _0844_;
+  assign _0846_ = _0845_ & rs[3];
+  assign _0847_ = _0843_ | _0846_;
+  assign _0848_ = ~ rs[3];
+  assign _0849_ = rs[5] & _0848_;
+  assign _0850_ = _0847_ | _0849_;
+  assign _0851_ = rs[5] & rs[3];
+  assign _0852_ = _0851_ & rs[2];
+  assign _0853_ = _0852_ & rs[1];
+  assign _0854_ = rs[6] & rs[3];
+  assign _0855_ = _0854_ & rs[2];
+  assign _0856_ = _0855_ & rs[1];
+  assign _0857_ = _0853_ | _0856_;
+  assign _0858_ = ~ rs[2];
+  assign _0859_ = rs[3] & _0858_;
+  assign _0860_ = ~ rs[1];
+  assign _0861_ = _0859_ & _0860_;
+  assign _0862_ = _0857_ | _0861_;
+  assign _0863_ = ~ rs[6];
+  assign _0864_ = rs[9] & _0863_;
+  assign _0865_ = ~ rs[5];
+  assign _0866_ = _0864_ & _0865_;
+  assign _0867_ = _0866_ & rs[2];
+  assign _0868_ = _0867_ & rs[3];
+  assign _0869_ = rs[6] & rs[3];
+  assign _0870_ = ~ rs[2];
+  assign _0871_ = _0869_ & _0870_;
+  assign _0872_ = _0871_ & rs[1];
+  assign _0873_ = _0868_ | _0872_;
+  assign _0874_ = rs[9] & rs[2];
+  assign _0875_ = ~ rs[1];
+  assign _0876_ = _0874_ & _0875_;
+  assign _0877_ = _0876_ & rs[3];
+  assign _0878_ = _0873_ | _0877_;
+  assign _0879_ = ~ rs[3];
+  assign _0880_ = rs[2] & _0879_;
+  assign _0881_ = _0878_ | _0880_;
+  assign _0882_ = ~ rs[6];
+  assign _0883_ = rs[8] & _0882_;
+  assign _0884_ = ~ rs[5];
+  assign _0885_ = _0883_ & _0884_;
+  assign _0886_ = _0885_ & rs[3];
+  assign _0887_ = _0886_ & rs[2];
+  assign _0888_ = rs[5] & rs[3];
+  assign _0889_ = ~ rs[2];
+  assign _0890_ = _0888_ & _0889_;
+  assign _0891_ = _0890_ & rs[1];
+  assign _0892_ = _0887_ | _0891_;
+  assign _0893_ = rs[8] & rs[3];
+  assign _0894_ = _0893_ & rs[2];
+  assign _0895_ = ~ rs[1];
+  assign _0896_ = _0894_ & _0895_;
+  assign _0897_ = _0892_ | _0896_;
+  assign _0898_ = ~ rs[3];
+  assign _0899_ = rs[1] & _0898_;
+  assign _0900_ = _0897_ | _0899_;
+  assign _0901_ = _0136_ ? { 12'h000, _0147_, _0158_, rs[52], _0175_, _0192_, rs[48], _0194_, _0201_, _0208_, rs[44], _0219_, _0230_, rs[40], _0247_, _0264_, rs[36], _0266_, _0273_, _0280_, rs[32], 12'h000, _0291_, _0302_, rs[20], _0319_, _0336_, rs[16], _0338_, _0345_, _0352_, rs[12], _0363_, _0374_, rs[8], _0391_, _0408_, rs[4], _0410_, _0417_, _0424_, rs[0] } : { 8'h00, _0435_, _0445_, _0455_, rs[49], _0467_, _0480_, _0493_, rs[46], _0505_, _0524_, _0543_, rs[42], _0554_, _0564_, _0574_, rs[39], _0586_, _0599_, _0612_, rs[36], _0624_, _0643_, _0662_, rs[32], 8'h00, _0673_, _0683_, _0693_, rs[17], _0705_, _0718_, _0731_, rs[14], _0743_, _0762_, _0781_, rs[10], _0792_, _0802_, _0812_, rs[7], _0824_, _0837_, _0850_, rs[4], _0862_, _0881_, _0900_, rs[0] };
+  assign _0902_ = op == 6'h3d;
+  assign _0903_ = datalen[0] & rs[7];
+  assign _0904_ = datalen[1] & rs[15];
+  assign _0905_ = _0903_ | _0904_;
+  assign _0906_ = datalen[2] & rs[31];
+  assign _0907_ = _0905_ | _0906_;
+  assign _0908_ = datalen[2] ? rs[31:16] : { _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_ };
+  assign _0909_ = datalen[2] | datalen[1];
+  assign _0910_ = _0909_ ? rs[15:8] : { _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_ };
+  function [7:0] \23747 ;
+    input [7:0] a;
+    input [47:0] b;
+    input [5:0] s;
+    (* parallel_case *)
+    casez (s)
+      6'b?????1:
+        \23747  = b[7:0];
+      6'b????1?:
+        \23747  = b[15:8];
+      6'b???1??:
+        \23747  = b[23:16];
+      6'b??1???:
+        \23747  = b[31:24];
+      6'b?1????:
+        \23747  = b[39:32];
+      6'b1?????:
+        \23747  = b[47:40];
+      default:
+        \23747  = a;
+    endcase
+  endfunction
+  assign _0911_ = \23747 (rs[7:0], { _0901_[7:0], _0100_, _0098_, _0096_, _0094_, _0092_, _0090_, _0088_, _0086_, _0119_, 7'h00, _0083_, 1'h0, _0069_, _0068_, _0110_[7:0] }, { _0902_, _0135_, _0134_, _0117_, _0116_, _0115_ });
+  function [7:0] \23754 ;
+    input [7:0] a;
+    input [47:0] b;
+    input [5:0] s;
+    (* parallel_case *)
+    casez (s)
+      6'b?????1:
+        \23754  = b[7:0];
+      6'b????1?:
+        \23754  = b[15:8];
+      6'b???1??:
+        \23754  = b[23:16];
+      6'b??1???:
+        \23754  = b[31:24];
+      6'b?1????:
+        \23754  = b[39:32];
+      6'b1?????:
+        \23754  = b[47:40];
+      default:
+        \23754  = a;
+    endcase
+  endfunction
+  assign _0912_ = \23754 (_0910_, { _0901_[15:8], 8'h00, _0121_, 12'h000, _0070_, _0110_[15:8] }, { _0902_, _0135_, _0134_, _0117_, _0116_, _0115_ });
+  function [15:0] \23761 ;
+    input [15:0] a;
+    input [95:0] b;
+    input [5:0] s;
+    (* parallel_case *)
+    casez (s)
+      6'b?????1:
+        \23761  = b[15:0];
+      6'b????1?:
+        \23761  = b[31:16];
+      6'b???1??:
+        \23761  = b[47:32];
+      6'b??1???:
+        \23761  = b[63:48];
+      6'b?1????:
+        \23761  = b[79:64];
+      6'b1?????:
+        \23761  = b[95:80];
+      default:
+        \23761  = a;
+    endcase
+  endfunction
+  assign _0913_ = \23761 (_0908_, { _0901_[31:16], 16'h0000, _0125_, _0123_, 20'h00000, _0072_, 4'h0, _0071_, _0110_[31:16] }, { _0902_, _0135_, _0134_, _0117_, _0116_, _0115_ });
+  function [31:0] \23768 ;
+    input [31:0] a;
+    input [191:0] b;
+    input [5:0] s;
+    (* parallel_case *)
+    casez (s)
+      6'b?????1:
+        \23768  = b[31:0];
+      6'b????1?:
+        \23768  = b[63:32];
+      6'b???1??:
+        \23768  = b[95:64];
+      6'b??1???:
+        \23768  = b[127:96];
+      6'b?1????:
+        \23768  = b[159:128];
+      6'b1?????:
+        \23768  = b[191:160];
+      default:
+        \23768  = a;
+    endcase
+  endfunction
+  assign _0914_ = \23768 ({ _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_, _0907_ }, { _0901_[63:32], 32'h00000000, _0133_, _0131_, _0129_, _0127_, 31'h00000000, _0084_, 4'h0, _0077_, 4'h0, _0076_, 4'h0, _0075_, 2'h0, _0074_, _0073_, _0110_[63:32] }, { _0902_, _0135_, _0134_, _0117_, _0116_, _0115_ });
+  assign result = { _0914_, _0913_, _0912_, _0911_ };
+endmodule
+
+module main_bram_64_10_4096_a75adb9e07879fb6c63b494abe06e3f9a6bb2ed9(
+`ifdef USE_POWER_PINS
+        vccd1, vssd1,
+`endif
+ clk, addr, di, sel, re, we, \do );
+`ifdef USE_POWER_PINS
+  inout vccd1;        // User area 1 1.8V supply
+  inout vssd1;        // User area 1 digital ground
+`endif
+  wire _0_;
+  reg [63:0] _1_;
+  input [9:0] addr;
+  input clk;
+  input [63:0] di;
+  output [63:0] \do ;
+  wire [63:0] obuf;
+  input re;
+  input [7:0] sel;
+  wire [7:0] sel_qual;
+  input we;
+  assign sel_qual = we ? sel : 8'h00;
+  assign _0_ = re | we;
+  always @(posedge clk)
+    _1_ <= obuf;
+  RAM_512x64 memory_0 (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .A(addr[8:0]),
+    .CLK(clk),
+    .Di(di),
+    .Do(obuf),
+    .EN(_0_),
+    .WE(sel_qual)
+  );
+  assign \do  = _1_;
+endmodule
+
+module mc_32_64_8_2_6fe71f186fa9a2db88063728b6660dc449d010db(clk, rst, wb_cyc, wb_stb, wb_we, wb_addr, wb_wr_data, wb_sel, ib_data, ib_pty, wb_ack, wb_err, wb_stall, wb_rd_data, oib_clk, ob_data, ob_pty, err, \int );
+  wire _0000_;
+  wire _0001_;
+  wire _0002_;
+  wire _0003_;
+  wire _0004_;
+  wire _0005_;
+  wire _0006_;
+  wire _0007_;
+  wire _0008_;
+  wire _0009_;
+  wire _0010_;
+  wire _0011_;
+  wire _0012_;
+  wire _0013_;
+  wire _0014_;
+  wire _0015_;
+  wire _0016_;
+  wire _0017_;
+  wire _0018_;
+  wire _0019_;
+  wire _0020_;
+  wire _0021_;
+  wire _0022_;
+  wire _0023_;
+  wire _0024_;
+  wire _0025_;
+  wire _0026_;
+  wire _0027_;
+  wire _0028_;
+  wire _0029_;
+  wire _0030_;
+  wire _0031_;
+  wire _0032_;
+  wire _0033_;
+  wire _0034_;
+  wire _0035_;
+  wire _0036_;
+  wire _0037_;
+  wire _0038_;
+  wire _0039_;
+  wire _0040_;
+  wire _0041_;
+  wire _0042_;
+  wire _0043_;
+  wire _0044_;
+  wire _0045_;
+  wire _0046_;
+  wire _0047_;
+  wire _0048_;
+  wire _0049_;
+  wire _0050_;
+  wire _0051_;
+  wire _0052_;
+  wire _0053_;
+  wire _0054_;
+  wire _0055_;
+  wire _0056_;
+  wire _0057_;
+  wire _0058_;
+  wire _0059_;
+  wire _0060_;
+  wire _0061_;
+  wire _0062_;
+  wire _0063_;
+  wire _0064_;
+  wire _0065_;
+  wire _0066_;
+  wire _0067_;
+  wire _0068_;
+  wire _0069_;
+  wire _0070_;
+  wire _0071_;
+  wire _0072_;
+  wire _0073_;
+  wire _0074_;
+  wire _0075_;
+  wire _0076_;
+  wire _0077_;
+  wire _0078_;
+  wire _0079_;
+  wire _0080_;
+  wire _0081_;
+  wire _0082_;
+  wire _0083_;
+  wire _0084_;
+  wire _0085_;
+  wire _0086_;
+  wire _0087_;
+  wire _0088_;
+  wire _0089_;
+  wire _0090_;
+  wire _0091_;
+  wire _0092_;
+  wire _0093_;
+  wire _0094_;
+  wire _0095_;
+  wire _0096_;
+  wire _0097_;
+  wire _0098_;
+  wire _0099_;
+  wire _0100_;
+  wire _0101_;
+  wire _0102_;
+  wire _0103_;
+  wire _0104_;
+  wire _0105_;
+  wire _0106_;
+  wire _0107_;
+  wire _0108_;
+  wire _0109_;
+  wire _0110_;
+  wire _0111_;
+  wire _0112_;
+  wire _0113_;
+  wire _0114_;
+  wire _0115_;
+  wire _0116_;
+  wire _0117_;
+  wire _0118_;
+  wire _0119_;
+  wire _0120_;
+  wire _0121_;
+  wire _0122_;
+  wire _0123_;
+  wire _0124_;
+  wire _0125_;
+  wire _0126_;
+  wire _0127_;
+  wire _0128_;
+  wire _0129_;
+  wire _0130_;
+  wire _0131_;
+  wire _0132_;
+  wire _0133_;
+  wire _0134_;
+  wire _0135_;
+  wire _0136_;
+  wire _0137_;
+  wire _0138_;
+  wire _0139_;
+  wire _0140_;
+  wire _0141_;
+  wire _0142_;
+  wire _0143_;
+  wire _0144_;
+  wire _0145_;
+  wire _0146_;
+  wire _0147_;
+  wire _0148_;
+  wire _0149_;
+  wire _0150_;
+  wire _0151_;
+  wire _0152_;
+  wire _0153_;
+  wire _0154_;
+  wire _0155_;
+  wire _0156_;
+  wire _0157_;
+  wire _0158_;
+  wire _0159_;
+  wire _0160_;
+  wire _0161_;
+  wire _0162_;
+  wire _0163_;
+  wire _0164_;
+  wire _0165_;
+  wire _0166_;
+  wire _0167_;
+  wire _0168_;
+  wire _0169_;
+  wire _0170_;
+  wire _0171_;
+  wire _0172_;
+  wire _0173_;
+  wire _0174_;
+  wire _0175_;
+  wire _0176_;
+  wire _0177_;
+  wire _0178_;
+  wire _0179_;
+  wire _0180_;
+  wire _0181_;
+  wire _0182_;
+  wire _0183_;
+  wire _0184_;
+  wire _0185_;
+  wire _0186_;
+  wire _0187_;
+  wire _0188_;
+  wire _0189_;
+  wire _0190_;
+  wire _0191_;
+  wire _0192_;
+  wire _0193_;
+  wire _0194_;
+  wire _0195_;
+  wire _0196_;
+  wire _0197_;
+  wire _0198_;
+  wire _0199_;
+  wire _0200_;
+  wire _0201_;
+  wire _0202_;
+  wire _0203_;
+  wire _0204_;
+  wire _0205_;
+  wire _0206_;
+  wire _0207_;
+  wire _0208_;
+  wire _0209_;
+  wire _0210_;
+  wire _0211_;
+  wire _0212_;
+  wire _0213_;
+  wire _0214_;
+  wire _0215_;
+  wire _0216_;
+  wire _0217_;
+  wire _0218_;
+  wire _0219_;
+  wire _0220_;
+  wire _0221_;
+  wire _0222_;
+  wire _0223_;
+  wire _0224_;
+  wire _0225_;
+  wire _0226_;
+  wire _0227_;
+  wire _0228_;
+  wire _0229_;
+  wire _0230_;
+  wire _0231_;
+  wire _0232_;
+  wire _0233_;
+  wire _0234_;
+  wire _0235_;
+  wire _0236_;
+  wire _0237_;
+  wire _0238_;
+  wire _0239_;
+  wire _0240_;
+  wire _0241_;
+  wire _0242_;
+  wire _0243_;
+  wire _0244_;
+  wire _0245_;
+  wire _0246_;
+  wire _0247_;
+  wire _0248_;
+  wire _0249_;
+  wire _0250_;
+  wire _0251_;
+  wire _0252_;
+  wire _0253_;
+  wire _0254_;
+  wire _0255_;
+  wire _0256_;
+  wire _0257_;
+  wire _0258_;
+  wire _0259_;
+  wire _0260_;
+  wire _0261_;
+  wire _0262_;
+  wire _0263_;
+  wire _0264_;
+  wire _0265_;
+  wire _0266_;
+  wire _0267_;
+  wire _0268_;
+  wire _0269_;
+  wire _0270_;
+  wire _0271_;
+  wire _0272_;
+  wire _0273_;
+  wire _0274_;
+  wire _0275_;
+  wire _0276_;
+  wire _0277_;
+  wire _0278_;
+  wire _0279_;
+  wire _0280_;
+  wire _0281_;
+  wire _0282_;
+  wire _0283_;
+  wire _0284_;
+  wire _0285_;
+  wire _0286_;
+  wire _0287_;
+  wire _0288_;
+  wire _0289_;
+  wire _0290_;
+  wire _0291_;
+  wire _0292_;
+  wire _0293_;
+  wire _0294_;
+  wire _0295_;
+  wire _0296_;
+  wire _0297_;
+  wire _0298_;
+  wire _0299_;
+  wire _0300_;
+  wire _0301_;
+  wire _0302_;
+  wire _0303_;
+  wire _0304_;
+  wire _0305_;
+  wire _0306_;
+  wire _0307_;
+  wire _0308_;
+  wire _0309_;
+  wire _0310_;
+  wire _0311_;
+  wire _0312_;
+  wire _0313_;
+  wire _0314_;
+  wire _0315_;
+  wire _0316_;
+  wire _0317_;
+  wire _0318_;
+  wire _0319_;
+  wire _0320_;
+  wire _0321_;
+  wire _0322_;
+  wire _0323_;
+  wire _0324_;
+  wire _0325_;
+  wire _0326_;
+  wire _0327_;
+  wire _0328_;
+  wire _0329_;
+  wire _0330_;
+  wire _0331_;
+  wire _0332_;
+  wire _0333_;
+  wire _0334_;
+  wire _0335_;
+  wire _0336_;
+  wire _0337_;
+  wire _0338_;
+  wire _0339_;
+  wire _0340_;
+  wire _0341_;
+  wire _0342_;
+  wire _0343_;
+  wire _0344_;
+  wire _0345_;
+  wire _0346_;
+  wire _0347_;
+  wire _0348_;
+  wire _0349_;
+  wire _0350_;
+  wire _0351_;
+  wire _0352_;
+  wire _0353_;
+  wire _0354_;
+  wire _0355_;
+  wire _0356_;
+  wire _0357_;
+  wire _0358_;
+  wire _0359_;
+  wire _0360_;
+  wire _0361_;
+  wire _0362_;
+  wire _0363_;
+  wire _0364_;
+  wire _0365_;
+  wire _0366_;
+  wire _0367_;
+  wire _0368_;
+  wire _0369_;
+  wire _0370_;
+  wire _0371_;
+  wire _0372_;
+  wire _0373_;
+  wire _0374_;
+  wire _0375_;
+  wire _0376_;
+  wire _0377_;
+  wire _0378_;
+  wire _0379_;
+  wire _0380_;
+  wire _0381_;
+  wire _0382_;
+  wire _0383_;
+  wire _0384_;
+  wire _0385_;
+  wire _0386_;
+  wire _0387_;
+  wire _0388_;
+  wire _0389_;
+  wire _0390_;
+  wire _0391_;
+  wire _0392_;
+  wire _0393_;
+  wire _0394_;
+  wire _0395_;
+  wire _0396_;
+  wire _0397_;
+  wire _0398_;
+  wire _0399_;
+  wire _0400_;
+  wire _0401_;
+  wire _0402_;
+  wire _0403_;
+  wire _0404_;
+  wire _0405_;
+  wire _0406_;
+  wire _0407_;
+  wire _0408_;
+  wire _0409_;
+  wire _0410_;
+  wire _0411_;
+  wire _0412_;
+  wire _0413_;
+  wire _0414_;
+  wire _0415_;
+  wire _0416_;
+  wire _0417_;
+  wire _0418_;
+  wire _0419_;
+  wire _0420_;
+  wire _0421_;
+  wire _0422_;
+  wire _0423_;
+  wire _0424_;
+  wire _0425_;
+  wire _0426_;
+  wire _0427_;
+  wire _0428_;
+  wire _0429_;
+  wire _0430_;
+  wire _0431_;
+  wire _0432_;
+  wire _0433_;
+  wire _0434_;
+  wire _0435_;
+  wire _0436_;
+  wire _0437_;
+  wire _0438_;
+  wire _0439_;
+  wire _0440_;
+  wire _0441_;
+  wire _0442_;
+  wire _0443_;
+  wire _0444_;
+  wire _0445_;
+  wire _0446_;
+  wire _0447_;
+  wire _0448_;
+  wire _0449_;
+  wire _0450_;
+  wire _0451_;
+  wire _0452_;
+  wire _0453_;
+  wire _0454_;
+  wire _0455_;
+  wire _0456_;
+  wire _0457_;
+  wire _0458_;
+  wire _0459_;
+  wire _0460_;
+  wire _0461_;
+  wire _0462_;
+  wire _0463_;
+  wire _0464_;
+  wire _0465_;
+  wire _0466_;
+  wire _0467_;
+  wire _0468_;
+  wire _0469_;
+  wire _0470_;
+  wire _0471_;
+  wire _0472_;
+  wire _0473_;
+  wire _0474_;
+  wire _0475_;
+  wire _0476_;
+  wire _0477_;
+  wire _0478_;
+  wire _0479_;
+  wire _0480_;
+  wire _0481_;
+  wire _0482_;
+  wire _0483_;
+  wire _0484_;
+  wire _0485_;
+  wire _0486_;
+  wire _0487_;
+  wire _0488_;
+  wire _0489_;
+  wire _0490_;
+  wire _0491_;
+  wire _0492_;
+  wire _0493_;
+  wire _0494_;
+  wire _0495_;
+  wire _0496_;
+  wire _0497_;
+  wire _0498_;
+  wire _0499_;
+  wire _0500_;
+  wire _0501_;
+  wire _0502_;
+  wire _0503_;
+  wire _0504_;
+  wire _0505_;
+  wire _0506_;
+  wire _0507_;
+  wire _0508_;
+  wire _0509_;
+  wire _0510_;
+  wire _0511_;
+  wire _0512_;
+  wire _0513_;
+  wire _0514_;
+  wire _0515_;
+  wire _0516_;
+  wire _0517_;
+  wire _0518_;
+  wire _0519_;
+  wire _0520_;
+  wire _0521_;
+  wire _0522_;
+  wire _0523_;
+  wire _0524_;
+  wire _0525_;
+  wire _0526_;
+  wire _0527_;
+  wire _0528_;
+  wire _0529_;
+  wire _0530_;
+  wire _0531_;
+  wire _0532_;
+  wire _0533_;
+  wire _0534_;
+  wire _0535_;
+  wire _0536_;
+  wire _0537_;
+  wire _0538_;
+  wire _0539_;
+  wire _0540_;
+  wire _0541_;
+  wire _0542_;
+  wire _0543_;
+  wire _0544_;
+  wire _0545_;
+  wire _0546_;
+  wire _0547_;
+  wire _0548_;
+  wire _0549_;
+  wire _0550_;
+  wire _0551_;
+  wire _0552_;
+  wire _0553_;
+  wire _0554_;
+  wire _0555_;
+  wire _0556_;
+  wire _0557_;
+  wire _0558_;
+  wire _0559_;
+  wire _0560_;
+  wire _0561_;
+  wire _0562_;
+  wire _0563_;
+  wire _0564_;
+  wire _0565_;
+  wire _0566_;
+  wire _0567_;
+  wire _0568_;
+  wire _0569_;
+  wire _0570_;
+  wire _0571_;
+  wire _0572_;
+  wire _0573_;
+  wire _0574_;
+  wire _0575_;
+  wire _0576_;
+  wire _0577_;
+  wire _0578_;
+  wire _0579_;
+  wire _0580_;
+  wire _0581_;
+  wire _0582_;
+  wire _0583_;
+  wire _0584_;
+  wire _0585_;
+  wire _0586_;
+  wire _0587_;
+  wire _0588_;
+  wire _0589_;
+  wire _0590_;
+  wire _0591_;
+  wire _0592_;
+  wire _0593_;
+  wire _0594_;
+  wire _0595_;
+  wire _0596_;
+  wire _0597_;
+  wire _0598_;
+  wire _0599_;
+  wire _0600_;
+  wire _0601_;
+  wire _0602_;
+  wire _0603_;
+  wire _0604_;
+  wire _0605_;
+  wire _0606_;
+  wire _0607_;
+  wire _0608_;
+  wire _0609_;
+  wire _0610_;
+  wire _0611_;
+  wire _0612_;
+  wire _0613_;
+  wire _0614_;
+  wire _0615_;
+  wire _0616_;
+  wire _0617_;
+  wire _0618_;
+  wire _0619_;
+  wire _0620_;
+  wire _0621_;
+  wire _0622_;
+  wire _0623_;
+  wire _0624_;
+  wire _0625_;
+  wire _0626_;
+  wire _0627_;
+  wire _0628_;
+  wire _0629_;
+  wire _0630_;
+  wire _0631_;
+  wire _0632_;
+  wire _0633_;
+  wire _0634_;
+  wire _0635_;
+  wire _0636_;
+  wire _0637_;
+  wire _0638_;
+  wire _0639_;
+  wire _0640_;
+  wire _0641_;
+  wire _0642_;
+  wire _0643_;
+  wire _0644_;
+  wire _0645_;
+  wire _0646_;
+  wire _0647_;
+  wire _0648_;
+  wire _0649_;
+  wire _0650_;
+  wire _0651_;
+  wire _0652_;
+  wire _0653_;
+  wire _0654_;
+  wire _0655_;
+  wire _0656_;
+  wire _0657_;
+  wire _0658_;
+  wire _0659_;
+  wire _0660_;
+  wire _0661_;
+  wire _0662_;
+  wire _0663_;
+  wire _0664_;
+  wire _0665_;
+  wire _0666_;
+  wire _0667_;
+  wire _0668_;
+  wire _0669_;
+  wire _0670_;
+  wire _0671_;
+  wire _0672_;
+  wire _0673_;
+  wire _0674_;
+  wire _0675_;
+  wire _0676_;
+  wire _0677_;
+  wire _0678_;
+  wire _0679_;
+  wire _0680_;
+  wire _0681_;
+  wire _0682_;
+  wire _0683_;
+  wire _0684_;
+  wire _0685_;
+  wire _0686_;
+  wire _0687_;
+  wire _0688_;
+  wire _0689_;
+  wire _0690_;
+  wire _0691_;
+  wire _0692_;
+  wire _0693_;
+  wire _0694_;
+  wire _0695_;
+  wire _0696_;
+  wire _0697_;
+  wire _0698_;
+  wire _0699_;
+  wire _0700_;
+  wire _0701_;
+  wire _0702_;
+  wire _0703_;
+  wire _0704_;
+  wire _0705_;
+  wire _0706_;
+  wire _0707_;
+  wire _0708_;
+  wire _0709_;
+  wire _0710_;
+  wire _0711_;
+  wire _0712_;
+  wire _0713_;
+  wire _0714_;
+  wire _0715_;
+  wire _0716_;
+  wire _0717_;
+  wire _0718_;
+  wire _0719_;
+  wire _0720_;
+  wire _0721_;
+  wire _0722_;
+  wire _0723_;
+  wire _0724_;
+  wire _0725_;
+  wire _0726_;
+  wire _0727_;
+  wire _0728_;
+  wire _0729_;
+  wire _0730_;
+  wire _0731_;
+  wire _0732_;
+  wire _0733_;
+  wire _0734_;
+  wire _0735_;
+  wire _0736_;
+  wire _0737_;
+  wire _0738_;
+  wire _0739_;
+  wire _0740_;
+  wire _0741_;
+  wire _0742_;
+  wire _0743_;
+  wire _0744_;
+  wire _0745_;
+  wire _0746_;
+  wire _0747_;
+  wire _0748_;
+  wire _0749_;
+  wire _0750_;
+  wire _0751_;
+  wire _0752_;
+  wire _0753_;
+  wire _0754_;
+  wire _0755_;
+  wire _0756_;
+  wire _0757_;
+  wire _0758_;
+  wire _0759_;
+  wire _0760_;
+  wire _0761_;
+  wire _0762_;
+  wire _0763_;
+  wire _0764_;
+  wire _0765_;
+  wire _0766_;
+  wire _0767_;
+  wire _0768_;
+  wire _0769_;
+  wire _0770_;
+  wire _0771_;
+  wire _0772_;
+  wire _0773_;
+  wire _0774_;
+  wire _0775_;
+  wire _0776_;
+  wire _0777_;
+  wire _0778_;
+  wire _0779_;
+  wire _0780_;
+  wire _0781_;
+  wire _0782_;
+  wire _0783_;
+  wire _0784_;
+  wire _0785_;
+  wire _0786_;
+  wire _0787_;
+  wire _0788_;
+  wire _0789_;
+  wire _0790_;
+  wire _0791_;
+  wire _0792_;
+  wire _0793_;
+  wire _0794_;
+  wire _0795_;
+  wire _0796_;
+  wire _0797_;
+  wire _0798_;
+  wire _0799_;
+  wire _0800_;
+  wire _0801_;
+  wire _0802_;
+  wire _0803_;
+  wire _0804_;
+  wire _0805_;
+  wire _0806_;
+  wire _0807_;
+  wire _0808_;
+  wire _0809_;
+  wire _0810_;
+  wire _0811_;
+  wire _0812_;
+  wire _0813_;
+  wire _0814_;
+  wire _0815_;
+  wire _0816_;
+  wire _0817_;
+  wire _0818_;
+  wire _0819_;
+  wire _0820_;
+  wire _0821_;
+  wire _0822_;
+  wire _0823_;
+  wire _0824_;
+  wire _0825_;
+  wire _0826_;
+  wire _0827_;
+  wire _0828_;
+  wire _0829_;
+  wire _0830_;
+  wire _0831_;
+  wire _0832_;
+  wire _0833_;
+  wire _0834_;
+  wire _0835_;
+  wire _0836_;
+  wire _0837_;
+  wire _0838_;
+  wire _0839_;
+  wire _0840_;
+  wire _0841_;
+  wire _0842_;
+  wire _0843_;
+  wire _0844_;
+  wire _0845_;
+  wire _0846_;
+  wire _0847_;
+  wire _0848_;
+  wire _0849_;
+  wire _0850_;
+  wire _0851_;
+  wire _0852_;
+  wire _0853_;
+  wire _0854_;
+  wire _0855_;
+  wire _0856_;
+  wire _0857_;
+  wire _0858_;
+  wire _0859_;
+  wire _0860_;
+  wire _0861_;
+  wire _0862_;
+  wire _0863_;
+  wire _0864_;
+  wire _0865_;
+  wire _0866_;
+  wire _0867_;
+  wire _0868_;
+  wire _0869_;
+  wire _0870_;
+  wire _0871_;
+  wire _0872_;
+  wire _0873_;
+  wire _0874_;
+  wire _0875_;
+  wire _0876_;
+  wire _0877_;
+  wire _0878_;
+  wire _0879_;
+  wire _0880_;
+  wire _0881_;
+  wire _0882_;
+  wire _0883_;
+  wire _0884_;
+  wire _0885_;
+  wire _0886_;
+  wire _0887_;
+  wire _0888_;
+  wire _0889_;
+  wire _0890_;
+  wire _0891_;
+  wire _0892_;
+  wire _0893_;
+  wire _0894_;
+  wire _0895_;
+  wire _0896_;
+  wire _0897_;
+  wire _0898_;
+  wire _0899_;
+  wire _0900_;
+  wire _0901_;
+  wire _0902_;
+  wire _0903_;
+  wire _0904_;
+  wire _0905_;
+  wire _0906_;
+  wire _0907_;
+  wire _0908_;
+  wire _0909_;
+  wire _0910_;
+  wire _0911_;
+  wire _0912_;
+  wire _0913_;
+  wire _0914_;
+  wire _0915_;
+  wire _0916_;
+  wire _0917_;
+  wire _0918_;
+  wire _0919_;
+  wire _0920_;
+  wire _0921_;
+  wire _0922_;
+  wire _0923_;
+  wire _0924_;
+  wire _0925_;
+  wire _0926_;
+  wire _0927_;
+  wire _0928_;
+  wire _0929_;
+  wire _0930_;
+  wire _0931_;
+  wire _0932_;
+  wire _0933_;
+  wire _0934_;
+  wire _0935_;
+  wire _0936_;
+  wire _0937_;
+  wire _0938_;
+  wire _0939_;
+  wire _0940_;
+  wire _0941_;
+  wire _0942_;
+  wire _0943_;
+  wire _0944_;
+  wire _0945_;
+  wire _0946_;
+  wire _0947_;
+  wire _0948_;
+  wire _0949_;
+  wire _0950_;
+  wire _0951_;
+  wire _0952_;
+  wire _0953_;
+  wire _0954_;
+  wire _0955_;
+  wire _0956_;
+  wire _0957_;
+  wire _0958_;
+  wire _0959_;
+  wire _0960_;
+  wire _0961_;
+  wire _0962_;
+  wire _0963_;
+  wire _0964_;
+  wire _0965_;
+  wire _0966_;
+  wire _0967_;
+  wire _0968_;
+  wire _0969_;
+  wire _0970_;
+  wire _0971_;
+  wire _0972_;
+  wire _0973_;
+  wire _0974_;
+  wire _0975_;
+  wire _0976_;
+  wire _0977_;
+  wire _0978_;
+  wire _0979_;
+  wire _0980_;
+  wire _0981_;
+  wire _0982_;
+  wire _0983_;
+  wire _0984_;
+  wire _0985_;
+  wire _0986_;
+  wire _0987_;
+  wire _0988_;
+  wire _0989_;
+  wire _0990_;
+  wire _0991_;
+  wire _0992_;
+  wire _0993_;
+  wire _0994_;
+  wire _0995_;
+  wire _0996_;
+  wire _0997_;
+  wire _0998_;
+  wire _0999_;
+  wire _1000_;
+  wire _1001_;
+  wire _1002_;
+  wire _1003_;
+  wire _1004_;
+  wire _1005_;
+  wire _1006_;
+  wire _1007_;
+  wire _1008_;
+  wire _1009_;
+  wire _1010_;
+  wire _1011_;
+  wire _1012_;
+  wire _1013_;
+  wire _1014_;
+  wire _1015_;
+  wire _1016_;
+  wire _1017_;
+  wire _1018_;
+  wire _1019_;
+  wire _1020_;
+  wire _1021_;
+  wire _1022_;
+  wire _1023_;
+  wire _1024_;
+  wire _1025_;
+  wire _1026_;
+  wire _1027_;
+  wire _1028_;
+  wire _1029_;
+  wire _1030_;
+  wire _1031_;
+  wire _1032_;
+  wire _1033_;
+  wire _1034_;
+  wire _1035_;
+  wire _1036_;
+  wire _1037_;
+  wire _1038_;
+  wire _1039_;
+  wire _1040_;
+  wire _1041_;
+  wire _1042_;
+  wire _1043_;
+  wire _1044_;
+  wire _1045_;
+  wire _1046_;
+  wire _1047_;
+  wire _1048_;
+  wire _1049_;
+  wire _1050_;
+  wire _1051_;
+  wire _1052_;
+  wire _1053_;
+  wire _1054_;
+  wire _1055_;
+  wire _1056_;
+  wire _1057_;
+  wire _1058_;
+  wire _1059_;
+  wire _1060_;
+  wire _1061_;
+  wire _1062_;
+  wire _1063_;
+  wire _1064_;
+  wire _1065_;
+  wire _1066_;
+  wire _1067_;
+  wire _1068_;
+  wire _1069_;
+  wire _1070_;
+  wire _1071_;
+  wire _1072_;
+  wire _1073_;
+  wire _1074_;
+  wire _1075_;
+  wire _1076_;
+  wire _1077_;
+  wire _1078_;
+  wire _1079_;
+  wire _1080_;
+  wire _1081_;
+  wire _1082_;
+  wire _1083_;
+  wire _1084_;
+  wire _1085_;
+  wire _1086_;
+  wire _1087_;
+  wire _1088_;
+  wire _1089_;
+  wire _1090_;
+  wire _1091_;
+  wire _1092_;
+  wire _1093_;
+  wire _1094_;
+  wire _1095_;
+  wire _1096_;
+  wire _1097_;
+  wire _1098_;
+  wire _1099_;
+  wire _1100_;
+  wire _1101_;
+  wire _1102_;
+  wire _1103_;
+  wire _1104_;
+  wire _1105_;
+  wire _1106_;
+  wire _1107_;
+  wire _1108_;
+  wire _1109_;
+  wire _1110_;
+  wire _1111_;
+  wire _1112_;
+  wire _1113_;
+  wire _1114_;
+  wire _1115_;
+  wire _1116_;
+  wire _1117_;
+  wire _1118_;
+  wire _1119_;
+  wire _1120_;
+  wire _1121_;
+  wire _1122_;
+  wire _1123_;
+  wire _1124_;
+  wire _1125_;
+  wire _1126_;
+  wire _1127_;
+  wire _1128_;
+  wire _1129_;
+  wire _1130_;
+  wire _1131_;
+  wire _1132_;
+  wire _1133_;
+  wire _1134_;
+  wire _1135_;
+  wire _1136_;
+  wire _1137_;
+  wire _1138_;
+  wire _1139_;
+  wire _1140_;
+  wire _1141_;
+  wire _1142_;
+  wire _1143_;
+  wire _1144_;
+  wire _1145_;
+  wire _1146_;
+  wire _1147_;
+  wire _1148_;
+  wire _1149_;
+  wire _1150_;
+  wire _1151_;
+  wire _1152_;
+  wire _1153_;
+  wire _1154_;
+  wire _1155_;
+  wire _1156_;
+  wire _1157_;
+  wire _1158_;
+  wire _1159_;
+  wire _1160_;
+  wire _1161_;
+  wire _1162_;
+  wire _1163_;
+  wire _1164_;
+  wire _1165_;
+  wire _1166_;
+  wire _1167_;
+  wire _1168_;
+  wire _1169_;
+  wire _1170_;
+  wire _1171_;
+  wire _1172_;
+  wire _1173_;
+  wire _1174_;
+  wire _1175_;
+  wire _1176_;
+  wire _1177_;
+  wire _1178_;
+  wire _1179_;
+  wire _1180_;
+  wire _1181_;
+  wire _1182_;
+  wire _1183_;
+  wire _1184_;
+  wire _1185_;
+  wire _1186_;
+  wire _1187_;
+  wire _1188_;
+  wire _1189_;
+  wire _1190_;
+  wire _1191_;
+  wire _1192_;
+  wire _1193_;
+  wire _1194_;
+  wire _1195_;
+  wire _1196_;
+  wire _1197_;
+  wire _1198_;
+  wire _1199_;
+  wire _1200_;
+  wire _1201_;
+  wire _1202_;
+  wire _1203_;
+  wire _1204_;
+  wire _1205_;
+  wire _1206_;
+  wire _1207_;
+  wire _1208_;
+  wire _1209_;
+  wire _1210_;
+  wire _1211_;
+  wire _1212_;
+  wire _1213_;
+  wire _1214_;
+  wire _1215_;
+  wire _1216_;
+  wire _1217_;
+  wire _1218_;
+  wire _1219_;
+  wire _1220_;
+  wire _1221_;
+  wire _1222_;
+  wire _1223_;
+  wire _1224_;
+  wire _1225_;
+  wire _1226_;
+  wire _1227_;
+  wire _1228_;
+  wire _1229_;
+  wire _1230_;
+  wire _1231_;
+  wire _1232_;
+  wire _1233_;
+  wire _1234_;
+  wire _1235_;
+  wire _1236_;
+  wire _1237_;
+  wire _1238_;
+  wire _1239_;
+  wire _1240_;
+  wire _1241_;
+  wire _1242_;
+  wire _1243_;
+  wire _1244_;
+  wire _1245_;
+  wire _1246_;
+  wire _1247_;
+  wire _1248_;
+  wire _1249_;
+  wire _1250_;
+  wire _1251_;
+  wire _1252_;
+  wire _1253_;
+  wire _1254_;
+  wire _1255_;
+  wire _1256_;
+  wire _1257_;
+  wire _1258_;
+  wire _1259_;
+  wire _1260_;
+  wire _1261_;
+  wire _1262_;
+  wire _1263_;
+  wire _1264_;
+  wire _1265_;
+  wire _1266_;
+  wire _1267_;
+  wire _1268_;
+  wire _1269_;
+  wire _1270_;
+  wire _1271_;
+  wire _1272_;
+  wire _1273_;
+  wire _1274_;
+  wire _1275_;
+  wire _1276_;
+  wire _1277_;
+  wire _1278_;
+  wire _1279_;
+  wire _1280_;
+  wire _1281_;
+  wire _1282_;
+  wire _1283_;
+  wire _1284_;
+  wire _1285_;
+  wire _1286_;
+  wire _1287_;
+  wire _1288_;
+  wire _1289_;
+  wire _1290_;
+  wire _1291_;
+  wire _1292_;
+  wire _1293_;
+  wire _1294_;
+  wire _1295_;
+  wire _1296_;
+  wire _1297_;
+  wire _1298_;
+  wire _1299_;
+  wire _1300_;
+  wire _1301_;
+  wire _1302_;
+  wire _1303_;
+  wire _1304_;
+  wire _1305_;
+  wire _1306_;
+  wire _1307_;
+  wire _1308_;
+  wire _1309_;
+  wire _1310_;
+  wire _1311_;
+  wire _1312_;
+  wire _1313_;
+  wire _1314_;
+  wire _1315_;
+  wire _1316_;
+  wire _1317_;
+  wire _1318_;
+  wire _1319_;
+  wire _1320_;
+  wire _1321_;
+  wire _1322_;
+  wire _1323_;
+  wire _1324_;
+  wire _1325_;
+  wire _1326_;
+  wire _1327_;
+  wire _1328_;
+  wire _1329_;
+  wire _1330_;
+  wire _1331_;
+  wire _1332_;
+  wire _1333_;
+  wire [63:0] _1334_;
+  wire [3:0] _1335_;
+  wire [106:0] _1336_;
+  wire [65:0] _1337_;
+  wire _1338_;
+  wire _1339_;
+  wire [7:0] _1340_;
+  wire _1341_;
+  wire [3:0] _1342_;
+  wire [15:0] _1343_;
+  wire [2:0] _1344_;
+  wire [7:0] _1345_;
+  wire _1346_;
+  wire [3:0] _1347_;
+  wire _1348_;
+  wire [2:0] _1349_;
+  wire _1350_;
+  wire _1351_;
+  wire _1352_;
+  wire _1353_;
+  wire _1354_;
+  wire _1355_;
+  wire _1356_;
+  wire _1357_;
+  wire _1358_;
+  wire [31:0] _1359_;
+  wire [63:0] _1360_;
+  wire [7:0] _1361_;
+  wire _1362_;
+  wire _1363_;
+  wire _1364_;
+  wire _1365_;
+  wire _1366_;
+  wire [3:0] _1367_;
+  wire [2:0] _1368_;
+  wire _1369_;
+  wire _1370_;
+  wire _1371_;
+  wire [2:0] _1372_;
+  wire _1373_;
+  wire _1374_;
+  wire _1375_;
+  wire [15:0] _1376_;
+  wire [7:0] _1377_;
+  wire [7:0] _1378_;
+  wire [7:0] _1379_;
+  wire [7:0] _1380_;
+  wire _1381_;
+  wire [7:0] _1382_;
+  wire [7:0] _1383_;
+  wire [7:0] _1384_;
+  wire _1385_;
+  wire _1386_;
+  wire _1387_;
+  wire _1388_;
+  wire _1389_;
+  wire _1390_;
+  wire _1391_;
+  wire _1392_;
+  wire _1393_;
+  wire _1394_;
+  wire _1395_;
+  wire _1396_;
+  wire _1397_;
+  wire _1398_;
+  wire _1399_;
+  wire _1400_;
+  wire _1401_;
+  wire _1402_;
+  wire [15:0] _1403_;
+  wire _1404_;
+  wire _1405_;
+  wire _1406_;
+  wire _1407_;
+  wire [15:0] _1408_;
+  wire [15:0] _1409_;
+  wire _1410_;
+  wire _1411_;
+  wire _1412_;
+  wire _1413_;
+  wire _1414_;
+  wire _1415_;
+  wire _1416_;
+  wire _1417_;
+  wire _1418_;
+  wire [2:0] _1419_;
+  wire [2:0] _1420_;
+  wire [2:0] _1421_;
+  wire _1422_;
+  wire [2:0] _1423_;
+  wire [2:0] _1424_;
+  wire [2:0] _1425_;
+  wire _1426_;
+  wire _1427_;
+  wire _1428_;
+  wire _1429_;
+  wire _1430_;
+  wire [2:0] _1431_;
+  wire _1432_;
+  wire _1433_;
+  wire _1434_;
+  wire _1435_;
+  wire _1436_;
+  wire _1437_;
+  wire _1438_;
+  wire _1439_;
+  wire _1440_;
+  wire _1441_;
+  wire _1442_;
+  wire _1443_;
+  wire _1444_;
+  wire [7:0] _1445_;
+  wire [7:0] _1446_;
+  wire [7:0] _1447_;
+  wire _1448_;
+  wire [7:0] _1449_;
+  wire [7:0] _1450_;
+  wire [7:0] _1451_;
+  wire [7:0] _1452_;
+  wire _1453_;
+  wire [7:0] _1454_;
+  wire [7:0] _1455_;
+  wire _1456_;
+  wire _1457_;
+  wire _1458_;
+  wire _1459_;
+  wire _1460_;
+  wire _1461_;
+  wire _1462_;
+  wire _1463_;
+  wire _1464_;
+  wire _1465_;
+  wire _1466_;
+  wire _1467_;
+  wire _1468_;
+  wire _1469_;
+  wire [7:0] _1470_;
+  wire _1471_;
+  wire _1472_;
+  wire _1473_;
+  wire _1474_;
+  wire _1475_;
+  wire _1476_;
+  wire _1477_;
+  wire _1478_;
+  wire _1479_;
+  wire _1480_;
+  wire _1481_;
+  wire _1482_;
+  wire _1483_;
+  wire _1484_;
+  wire _1485_;
+  wire _1486_;
+  wire _1487_;
+  wire _1488_;
+  wire _1489_;
+  wire _1490_;
+  wire _1491_;
+  wire _1492_;
+  wire _1493_;
+  wire _1494_;
+  wire [2:0] _1495_;
+  wire [2:0] _1496_;
+  wire _1497_;
+  wire _1498_;
+  wire _1499_;
+  wire _1500_;
+  wire [2:0] _1501_;
+  wire _1502_;
+  wire _1503_;
+  wire _1504_;
+  wire _1505_;
+  wire _1506_;
+  wire _1507_;
+  wire _1508_;
+  wire _1509_;
+  wire _1510_;
+  wire [63:0] _1511_;
+  wire _1512_;
+  wire [63:0] _1513_;
+  wire [63:0] _1514_;
+  wire _1515_;
+  wire _1516_;
+  wire _1517_;
+  wire _1518_;
+  wire [63:0] _1519_;
+  wire [63:0] _1520_;
+  wire _1521_;
+  wire _1522_;
+  wire _1523_;
+  wire _1524_;
+  wire _1525_;
+  wire _1526_;
+  wire _1527_;
+  wire _1528_;
+  wire _1529_;
+  wire _1530_;
+  wire _1531_;
+  wire _1532_;
+  wire _1533_;
+  wire _1534_;
+  wire _1535_;
+  wire _1536_;
+  wire _1537_;
+  wire _1538_;
+  wire _1539_;
+  wire _1540_;
+  wire _1541_;
+  wire _1542_;
+  wire _1543_;
+  wire _1544_;
+  wire _1545_;
+  wire _1546_;
+  wire _1547_;
+  wire _1548_;
+  wire _1549_;
+  wire _1550_;
+  wire _1551_;
+  wire _1552_;
+  wire _1553_;
+  wire _1554_;
+  wire _1555_;
+  wire _1556_;
+  wire _1557_;
+  wire _1558_;
+  wire _1559_;
+  wire _1560_;
+  wire _1561_;
+  wire _1562_;
+  wire _1563_;
+  wire _1564_;
+  wire _1565_;
+  wire _1566_;
+  wire _1567_;
+  wire _1568_;
+  wire _1569_;
+  wire _1570_;
+  wire _1571_;
+  wire _1572_;
+  wire _1573_;
+  wire _1574_;
+  wire _1575_;
+  wire _1576_;
+  wire _1577_;
+  wire _1578_;
+  wire _1579_;
+  wire _1580_;
+  wire _1581_;
+  wire _1582_;
+  wire _1583_;
+  wire _1584_;
+  wire _1585_;
+  wire _1586_;
+  wire _1587_;
+  wire _1588_;
+  wire _1589_;
+  wire _1590_;
+  wire _1591_;
+  wire _1592_;
+  wire _1593_;
+  wire _1594_;
+  wire _1595_;
+  wire _1596_;
+  wire _1597_;
+  wire _1598_;
+  wire _1599_;
+  wire _1600_;
+  wire _1601_;
+  wire _1602_;
+  wire _1603_;
+  wire _1604_;
+  wire _1605_;
+  wire _1606_;
+  wire _1607_;
+  wire _1608_;
+  wire _1609_;
+  wire _1610_;
+  wire _1611_;
+  wire _1612_;
+  wire _1613_;
+  wire _1614_;
+  wire _1615_;
+  wire _1616_;
+  wire _1617_;
+  wire _1618_;
+  wire _1619_;
+  wire _1620_;
+  wire _1621_;
+  wire _1622_;
+  wire _1623_;
+  wire _1624_;
+  wire _1625_;
+  wire _1626_;
+  wire _1627_;
+  wire _1628_;
+  wire _1629_;
+  wire _1630_;
+  wire _1631_;
+  wire _1632_;
+  wire _1633_;
+  wire _1634_;
+  wire _1635_;
+  wire _1636_;
+  wire _1637_;
+  wire _1638_;
+  wire _1639_;
+  wire _1640_;
+  wire _1641_;
+  wire _1642_;
+  wire _1643_;
+  wire _1644_;
+  wire _1645_;
+  wire _1646_;
+  wire _1647_;
+  wire _1648_;
+  wire _1649_;
+  wire _1650_;
+  wire _1651_;
+  wire _1652_;
+  wire _1653_;
+  wire _1654_;
+  wire _1655_;
+  wire _1656_;
+  wire _1657_;
+  wire _1658_;
+  wire _1659_;
+  wire _1660_;
+  wire _1661_;
+  wire _1662_;
+  wire _1663_;
+  wire _1664_;
+  wire _1665_;
+  wire _1666_;
+  wire _1667_;
+  wire _1668_;
+  wire _1669_;
+  wire _1670_;
+  wire _1671_;
+  wire _1672_;
+  wire _1673_;
+  wire _1674_;
+  wire _1675_;
+  wire _1676_;
+  wire _1677_;
+  wire _1678_;
+  wire _1679_;
+  wire _1680_;
+  wire _1681_;
+  wire _1682_;
+  wire _1683_;
+  wire _1684_;
+  wire _1685_;
+  wire _1686_;
+  wire _1687_;
+  wire _1688_;
+  wire _1689_;
+  wire _1690_;
+  wire _1691_;
+  wire _1692_;
+  wire _1693_;
+  wire _1694_;
+  wire _1695_;
+  wire _1696_;
+  wire _1697_;
+  wire _1698_;
+  wire _1699_;
+  wire _1700_;
+  wire _1701_;
+  wire _1702_;
+  wire _1703_;
+  wire _1704_;
+  wire _1705_;
+  wire _1706_;
+  wire _1707_;
+  wire _1708_;
+  wire _1709_;
+  wire _1710_;
+  wire _1711_;
+  wire _1712_;
+  wire _1713_;
+  wire _1714_;
+  wire _1715_;
+  wire _1716_;
+  wire _1717_;
+  wire _1718_;
+  wire _1719_;
+  wire _1720_;
+  wire _1721_;
+  wire _1722_;
+  wire _1723_;
+  wire _1724_;
+  wire _1725_;
+  wire _1726_;
+  wire _1727_;
+  wire _1728_;
+  wire _1729_;
+  wire _1730_;
+  wire _1731_;
+  wire _1732_;
+  wire _1733_;
+  wire _1734_;
+  wire _1735_;
+  wire _1736_;
+  wire _1737_;
+  wire _1738_;
+  wire _1739_;
+  wire _1740_;
+  wire _1741_;
+  wire _1742_;
+  wire _1743_;
+  wire _1744_;
+  wire _1745_;
+  wire _1746_;
+  wire _1747_;
+  wire _1748_;
+  wire _1749_;
+  wire _1750_;
+  wire _1751_;
+  wire _1752_;
+  wire _1753_;
+  wire _1754_;
+  wire _1755_;
+  wire _1756_;
+  wire _1757_;
+  wire _1758_;
+  wire _1759_;
+  wire _1760_;
+  wire _1761_;
+  wire _1762_;
+  wire _1763_;
+  wire _1764_;
+  wire _1765_;
+  wire _1766_;
+  wire _1767_;
+  wire _1768_;
+  wire _1769_;
+  wire _1770_;
+  wire _1771_;
+  wire _1772_;
+  wire _1773_;
+  wire _1774_;
+  wire _1775_;
+  wire _1776_;
+  wire _1777_;
+  wire _1778_;
+  wire _1779_;
+  wire _1780_;
+  wire _1781_;
+  wire _1782_;
+  wire _1783_;
+  wire _1784_;
+  wire _1785_;
+  wire _1786_;
+  wire _1787_;
+  wire _1788_;
+  wire _1789_;
+  wire _1790_;
+  wire _1791_;
+  wire _1792_;
+  wire _1793_;
+  wire _1794_;
+  wire _1795_;
+  wire _1796_;
+  wire _1797_;
+  wire _1798_;
+  wire _1799_;
+  wire _1800_;
+  wire _1801_;
+  wire _1802_;
+  wire _1803_;
+  wire _1804_;
+  wire _1805_;
+  wire _1806_;
+  wire _1807_;
+  wire _1808_;
+  wire _1809_;
+  wire _1810_;
+  wire _1811_;
+  wire _1812_;
+  wire _1813_;
+  wire _1814_;
+  wire _1815_;
+  wire _1816_;
+  wire _1817_;
+  wire _1818_;
+  wire _1819_;
+  wire _1820_;
+  wire _1821_;
+  wire _1822_;
+  wire _1823_;
+  wire _1824_;
+  wire _1825_;
+  wire _1826_;
+  wire _1827_;
+  wire _1828_;
+  wire _1829_;
+  wire _1830_;
+  wire _1831_;
+  wire _1832_;
+  wire _1833_;
+  wire _1834_;
+  wire _1835_;
+  wire _1836_;
+  wire _1837_;
+  wire _1838_;
+  wire _1839_;
+  wire _1840_;
+  wire _1841_;
+  wire _1842_;
+  wire _1843_;
+  wire _1844_;
+  wire _1845_;
+  wire _1846_;
+  wire _1847_;
+  wire _1848_;
+  wire _1849_;
+  wire _1850_;
+  wire _1851_;
+  wire _1852_;
+  wire _1853_;
+  wire _1854_;
+  wire _1855_;
+  wire _1856_;
+  wire _1857_;
+  wire _1858_;
+  wire _1859_;
+  wire _1860_;
+  wire _1861_;
+  wire _1862_;
+  wire _1863_;
+  wire _1864_;
+  wire _1865_;
+  wire _1866_;
+  wire _1867_;
+  wire _1868_;
+  wire _1869_;
+  wire _1870_;
+  wire _1871_;
+  wire _1872_;
+  wire _1873_;
+  wire _1874_;
+  wire _1875_;
+  wire _1876_;
+  wire _1877_;
+  wire _1878_;
+  wire _1879_;
+  wire _1880_;
+  wire _1881_;
+  wire _1882_;
+  wire _1883_;
+  wire _1884_;
+  wire _1885_;
+  wire _1886_;
+  wire _1887_;
+  wire _1888_;
+  wire _1889_;
+  wire _1890_;
+  wire _1891_;
+  wire _1892_;
+  wire _1893_;
+  wire _1894_;
+  wire _1895_;
+  wire _1896_;
+  wire _1897_;
+  wire _1898_;
+  wire _1899_;
+  wire _1900_;
+  wire _1901_;
+  wire _1902_;
+  wire _1903_;
+  wire _1904_;
+  wire _1905_;
+  wire _1906_;
+  wire _1907_;
+  wire _1908_;
+  wire _1909_;
+  wire _1910_;
+  wire _1911_;
+  wire _1912_;
+  wire _1913_;
+  wire _1914_;
+  wire _1915_;
+  wire _1916_;
+  wire _1917_;
+  wire _1918_;
+  wire _1919_;
+  wire _1920_;
+  wire _1921_;
+  wire _1922_;
+  wire _1923_;
+  wire _1924_;
+  wire _1925_;
+  wire _1926_;
+  wire _1927_;
+  wire _1928_;
+  wire _1929_;
+  wire _1930_;
+  wire _1931_;
+  wire _1932_;
+  wire _1933_;
+  wire _1934_;
+  wire _1935_;
+  wire _1936_;
+  wire _1937_;
+  wire _1938_;
+  wire _1939_;
+  wire _1940_;
+  wire _1941_;
+  wire _1942_;
+  wire _1943_;
+  wire _1944_;
+  wire _1945_;
+  wire _1946_;
+  wire _1947_;
+  wire _1948_;
+  wire _1949_;
+  wire _1950_;
+  wire _1951_;
+  wire _1952_;
+  wire _1953_;
+  wire _1954_;
+  wire _1955_;
+  wire _1956_;
+  wire _1957_;
+  wire _1958_;
+  wire _1959_;
+  wire _1960_;
+  wire _1961_;
+  wire _1962_;
+  wire _1963_;
+  wire _1964_;
+  wire _1965_;
+  wire _1966_;
+  wire _1967_;
+  wire _1968_;
+  wire _1969_;
+  wire _1970_;
+  wire _1971_;
+  wire _1972_;
+  wire _1973_;
+  wire _1974_;
+  wire _1975_;
+  wire _1976_;
+  wire _1977_;
+  wire _1978_;
+  wire _1979_;
+  wire _1980_;
+  wire _1981_;
+  wire _1982_;
+  wire _1983_;
+  wire _1984_;
+  wire _1985_;
+  wire _1986_;
+  wire _1987_;
+  wire _1988_;
+  wire _1989_;
+  wire _1990_;
+  wire _1991_;
+  wire _1992_;
+  wire _1993_;
+  wire _1994_;
+  wire _1995_;
+  wire _1996_;
+  wire _1997_;
+  wire _1998_;
+  wire _1999_;
+  wire _2000_;
+  wire _2001_;
+  wire _2002_;
+  wire _2003_;
+  wire _2004_;
+  wire _2005_;
+  wire _2006_;
+  wire _2007_;
+  wire _2008_;
+  wire _2009_;
+  wire _2010_;
+  wire _2011_;
+  wire _2012_;
+  wire _2013_;
+  wire _2014_;
+  wire _2015_;
+  wire _2016_;
+  wire _2017_;
+  wire _2018_;
+  wire _2019_;
+  wire _2020_;
+  wire _2021_;
+  wire _2022_;
+  wire _2023_;
+  wire _2024_;
+  wire _2025_;
+  wire _2026_;
+  wire bad_header;
+  wire cache_inv;
+  input clk;
+  reg [63:0] config_q;
+  wire config_write;
+  output err;
+  wire good_header;
+  input [7:0] ib_data;
+  input ib_pty;
+  wire icapture_d;
+  reg icapture_q;
+  wire idata_clear;
+  wire [2:0] idata_cnt_d;
+  reg [2:0] idata_cnt_q;
+  wire [7:0] idata_d;
+  reg [7:0] idata_q;
+  wire idle_header;
+  output \int ;
+  wire int_req;
+  wire int_req_complete;
+  wire ipty_d;
+  reg ipty_q;
+  wire iseq_err;
+  wire iseq_idle;
+  reg [3:0] iseq_q;
+  wire ld_rd_data;
+  wire link_req_i;
+  wire link_rsp_i;
+  wire [63:0] local_rd_data;
+  wire oaddr_last;
+  wire [7:0] oaddr_mux;
+  wire ob_complete;
+  output [7:0] ob_data;
+  output ob_pty;
+  wire oclk_advance;
+  wire [15:0] oclk_cnt_d;
+  reg [15:0] oclk_cnt_q;
+  wire oclk_d;
+  wire oclk_last_d;
+  reg oclk_last_q;
+  wire oclk_match;
+  reg oclk_q;
+  wire [15:0] oclk_toggle;
+  wire odata_clear;
+  wire [2:0] odata_cnt_d;
+  reg [2:0] odata_cnt_q;
+  wire [7:0] odata_d;
+  wire odata_last;
+  wire odata_ld_addr;
+  wire odata_ld_data;
+  wire odata_ld_header;
+  wire odata_ld_sel;
+  wire [7:0] odata_mux;
+  reg [7:0] odata_q;
+  output oib_clk;
+  wire opty_d;
+  reg opty_q;
+  wire oseq_err;
+  wire oseq_hold;
+  reg [3:0] oseq_q;
+  wire pty_err;
+  wire rd8_rsp;
+  wire [63:0] rd_data_load;
+  wire rd_err;
+  wire rd_rsp_complete;
+  wire rd_rsp_data_done;
+  input rst;
+  wire save_header;
+  wire sync_ack;
+  output wb_ack;
+  input [31:0] wb_addr;
+  input wb_cyc;
+  output wb_err;
+  reg [106:0] wb_in_q;
+  wire wb_local;
+  wire wb_local_rd;
+  wire wb_local_wr;
+  reg [65:0] wb_out_q;
+  output [63:0] wb_rd_data;
+  wire wb_remote_rd;
+  wire wb_remote_wr;
+  wire wb_req;
+  input [7:0] wb_sel;
+  output wb_stall;
+  input wb_stb;
+  input wb_we;
+  input [63:0] wb_wr_data;
+  wire wbseq_err;
+  reg [3:0] wbseq_q;
+  wire wr8_rsp;
+  wire wr_err;
+  wire wr_rsp_complete;
+  assign _1402_ = oclk_cnt_q == oclk_toggle;
+  assign oclk_match = _1402_ ? 1'h1 : 1'h0;
+  assign _1403_ = 16'h0000 | 16'h0000;
+  assign _1404_ = ~ config_write;
+  assign _1405_ = config_q[0] & _1404_;
+  assign _1406_ = ~ oclk_match;
+  assign _1407_ = _1405_ & _1406_;
+  assign _1408_ = oclk_cnt_q + 16'h0001;
+  assign _1409_ = _1407_ ? _1408_ : 16'h0000;
+  assign oclk_cnt_d = _1403_ | _1409_;
+  assign oclk_advance = oclk_match & oclk_q;
+  assign _1410_ = oclk_q ^ oclk_match;
+  assign oclk_d = _1410_ & config_q[0];
+  assign oclk_last_d = oclk_q & config_q[0];
+  assign _1411_ = ~ oclk_last_q;
+  assign _1412_ = _1411_ & oclk_q;
+  assign _1413_ = _1412_ & config_q[0];
+  assign _1414_ = config_q[9] == 1'h0;
+  assign _1415_ = ~ oclk_q;
+  assign _1416_ = oclk_last_q & _1415_;
+  assign _1417_ = _1416_ & config_q[0];
+  function [0:0] \1068 ;
+    input [0:0] a;
+    input [0:0] b;
+    input [0:0] s;
+    (* parallel_case *)
+    casez (s)
+      1'b1:
+        \1068  = b[0:0];
+      default:
+        \1068  = a;
+    endcase
+  endfunction
+  assign icapture_d = \1068 (_1417_, _1413_, _1414_);
+  assign _1418_ = oclk_advance & odata_ld_addr;
+  assign _1419_ = odata_cnt_q + 3'h1;
+  assign _1420_ = _1418_ ? _1419_ : 3'h0;
+  assign _1421_ = 3'h0 | _1420_;
+  assign _1422_ = oclk_advance & odata_ld_data;
+  assign _1423_ = odata_cnt_q + 3'h1;
+  assign _1424_ = _1422_ ? _1423_ : 3'h0;
+  assign _1425_ = _1421_ | _1424_;
+  assign _1426_ = ~ odata_clear;
+  assign _1427_ = odata_ld_addr | odata_ld_data;
+  assign _1428_ = oclk_advance & _1427_;
+  assign _1429_ = ~ _1428_;
+  assign _1430_ = _1426_ & _1429_;
+  assign _1431_ = _1430_ ? odata_cnt_q : 3'h0;
+  assign odata_cnt_d = _1425_ | _1431_;
+  assign _1432_ = odata_cnt_q == 3'h4;
+  assign oaddr_last = _1432_ ? 1'h1 : 1'h0;
+  assign _1433_ = odata_cnt_q == 3'h7;
+  assign odata_last = _1433_ ? 1'h1 : 1'h0;
+  assign _1434_ = odata_cnt_q == 3'h0;
+  assign _1435_ = odata_cnt_q == 3'h1;
+  assign _1436_ = odata_cnt_q == 3'h2;
+  function [7:0] \1166 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \1166  = b[7:0];
+      3'b?1?:
+        \1166  = b[15:8];
+      3'b1??:
+        \1166  = b[23:16];
+      default:
+        \1166  = a;
+    endcase
+  endfunction
+  assign oaddr_mux = \1166 (wb_in_q[31:24], wb_in_q[23:0], { _1436_, _1435_, _1434_ });
+  assign _1437_ = odata_cnt_q == 3'h0;
+  assign _1438_ = odata_cnt_q == 3'h1;
+  assign _1439_ = odata_cnt_q == 3'h2;
+  assign _1440_ = odata_cnt_q == 3'h3;
+  assign _1441_ = odata_cnt_q == 3'h4;
+  assign _1442_ = odata_cnt_q == 3'h5;
+  assign _1443_ = odata_cnt_q == 3'h6;
+  function [7:0] \1190 ;
+    input [7:0] a;
+    input [55:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \1190  = b[7:0];
+      7'b?????1?:
+        \1190  = b[15:8];
+      7'b????1??:
+        \1190  = b[23:16];
+      7'b???1???:
+        \1190  = b[31:24];
+      7'b??1????:
+        \1190  = b[39:32];
+      7'b?1?????:
+        \1190  = b[47:40];
+      7'b1??????:
+        \1190  = b[55:48];
+      default:
+        \1190  = a;
+    endcase
+  endfunction
+  assign odata_mux = \1190 (wb_in_q[95:88], wb_in_q[87:32], { _1443_, _1442_, _1441_, _1440_, _1439_, _1438_, _1437_ });
+  assign _1444_ = odata_clear & oclk_advance;
+  assign _1445_ = _1444_ ? config_q[47:40] : 8'h00;
+  assign _1446_ = odata_ld_header ? { _1531_, _1533_, _1534_, _1535_, 2'h0, _1536_, wb_remote_wr } : 8'h00;
+  assign _1447_ = _1445_ | _1446_;
+  assign _1448_ = odata_ld_addr & oclk_advance;
+  assign _1449_ = _1448_ ? oaddr_mux : 8'h00;
+  assign _1450_ = _1447_ | _1449_;
+  assign _1451_ = odata_ld_sel ? wb_in_q[103:96] : 8'h00;
+  assign _1452_ = _1450_ | _1451_;
+  assign _1453_ = odata_ld_data & oclk_advance;
+  assign _1454_ = _1453_ ? odata_mux : 8'h00;
+  assign _1455_ = _1452_ | _1454_;
+  assign _1456_ = ~ odata_ld_header;
+  assign _1457_ = ~ odata_ld_sel;
+  assign _1458_ = _1456_ & _1457_;
+  assign _1459_ = odata_ld_addr & oclk_advance;
+  assign _1460_ = ~ _1459_;
+  assign _1461_ = _1458_ & _1460_;
+  assign _1462_ = ~ odata_ld_sel;
+  assign _1463_ = _1461_ & _1462_;
+  assign _1464_ = odata_ld_data & oclk_advance;
+  assign _1465_ = ~ _1464_;
+  assign _1466_ = _1463_ & _1465_;
+  assign _1467_ = odata_clear & oclk_advance;
+  assign _1468_ = ~ _1467_;
+  assign _1469_ = _1466_ & _1468_;
+  assign _1470_ = _1469_ ? odata_q : 8'h00;
+  assign odata_d = _1455_ | _1470_;
+  assign _1471_ = odata_d[7] ^ odata_d[6];
+  assign _1472_ = _1471_ ^ odata_d[5];
+  assign _1473_ = _1472_ ^ odata_d[4];
+  assign _1474_ = _1473_ ^ odata_d[3];
+  assign _1475_ = _1474_ ^ odata_d[2];
+  assign _1476_ = _1475_ ^ odata_d[1];
+  assign _1477_ = _1476_ ^ odata_d[0];
+  assign opty_d = ~ _1477_;
+  assign _1478_ = icapture_d == 1'h1;
+  function [7:0] \1287 ;
+    input [7:0] a;
+    input [7:0] b;
+    input [0:0] s;
+    (* parallel_case *)
+    casez (s)
+      1'b1:
+        \1287  = b[7:0];
+      default:
+        \1287  = a;
+    endcase
+  endfunction
+  assign idata_d = \1287 (idata_q, ib_data, _1478_);
+  assign _1479_ = icapture_d == 1'h1;
+  function [0:0] \1290 ;
+    input [0:0] a;
+    input [0:0] b;
+    input [0:0] s;
+    (* parallel_case *)
+    casez (s)
+      1'b1:
+        \1290  = b[0:0];
+      default:
+        \1290  = a;
+    endcase
+  endfunction
+  assign ipty_d = \1290 (ipty_q, ib_pty, _1479_);
+  assign _1480_ = idata_q == config_q[47:40];
+  assign idle_header = _1480_ ? 1'h1 : 1'h0;
+  assign _1481_ = iseq_idle & icapture_q;
+  assign _1482_ = ~ idle_header;
+  assign _1483_ = _1481_ & _1482_;
+  assign _1484_ = ~ good_header;
+  assign bad_header = _1483_ & _1484_;
+  assign _1485_ = idata_q[0] ^ idata_q[1];
+  assign _1486_ = _1485_ ^ idata_q[2];
+  assign _1487_ = _1486_ ^ idata_q[3];
+  assign _1488_ = _1487_ ^ idata_q[4];
+  assign _1489_ = _1488_ ^ idata_q[5];
+  assign _1490_ = _1489_ ^ idata_q[6];
+  assign _1491_ = _1490_ ^ idata_q[7];
+  assign _1492_ = _1491_ ^ ipty_q;
+  assign _1493_ = ~ _1492_;
+  assign pty_err = icapture_q & _1493_;
+  assign _1494_ = icapture_q & ld_rd_data;
+  assign _1495_ = idata_cnt_q + 3'h1;
+  assign _1496_ = _1494_ ? _1495_ : 3'h0;
+  assign _1497_ = ~ idata_clear;
+  assign _1498_ = icapture_q & ld_rd_data;
+  assign _1499_ = ~ _1498_;
+  assign _1500_ = _1497_ & _1499_;
+  assign _1501_ = _1500_ ? idata_cnt_q : 3'h0;
+  assign idata_cnt_d = _1496_ | _1501_;
+  assign _1502_ = idata_cnt_q == 3'h7;
+  assign rd_rsp_data_done = _1502_ ? 1'h1 : 1'h0;
+  assign _1503_ = wb_in_q[7:4] == 4'h0;
+  function [63:0] \1375 ;
+    input [63:0] a;
+    input [63:0] b;
+    input [0:0] s;
+    (* parallel_case *)
+    casez (s)
+      1'b1:
+        \1375  = b[63:0];
+      default:
+        \1375  = a;
+    endcase
+  endfunction
+  assign local_rd_data = \1375 (64'hffffffffffffffff, { config_q[0], config_q[7:1], config_q[8], config_q[9], config_q[10], config_q[13:11], config_q[15:14], config_q[31:16], config_q[39:32], config_q[47:40], config_q[55:48], config_q[63:56] }, _1503_);
+  assign _1504_ = idata_cnt_q == 3'h0;
+  assign _1505_ = idata_cnt_q == 3'h1;
+  assign _1506_ = idata_cnt_q == 3'h2;
+  assign _1507_ = idata_cnt_q == 3'h3;
+  assign _1508_ = idata_cnt_q == 3'h4;
+  assign _1509_ = idata_cnt_q == 3'h5;
+  assign _1510_ = idata_cnt_q == 3'h6;
+  function [63:0] \1419 ;
+    input [63:0] a;
+    input [447:0] b;
+    input [6:0] s;
+    (* parallel_case *)
+    casez (s)
+      7'b??????1:
+        \1419  = b[63:0];
+      7'b?????1?:
+        \1419  = b[127:64];
+      7'b????1??:
+        \1419  = b[191:128];
+      7'b???1???:
+        \1419  = b[255:192];
+      7'b??1????:
+        \1419  = b[319:256];
+      7'b?1?????:
+        \1419  = b[383:320];
+      7'b1??????:
+        \1419  = b[447:384];
+      default:
+        \1419  = a;
+    endcase
+  endfunction
+  assign rd_data_load = \1419 ({ idata_q, wb_out_q[55:0] }, { wb_out_q[63:56], idata_q, wb_out_q[47:0], wb_out_q[63:48], idata_q, wb_out_q[39:0], wb_out_q[63:40], idata_q, wb_out_q[31:0], wb_out_q[63:32], idata_q, wb_out_q[23:0], wb_out_q[63:24], idata_q, wb_out_q[15:0], wb_out_q[63:16], idata_q, wb_out_q[7:0], wb_out_q[63:8], idata_q }, { _1510_, _1509_, _1508_, _1507_, _1506_, _1505_, _1504_ });
+  assign _1511_ = wb_local_rd ? local_rd_data : 64'h0000000000000000;
+  assign _1512_ = wb_remote_rd & ld_rd_data;
+  assign _1513_ = _1512_ ? rd_data_load : 64'h0000000000000000;
+  assign _1514_ = _1511_ | _1513_;
+  assign _1515_ = ~ wb_local_rd;
+  assign _1516_ = wb_remote_rd & ld_rd_data;
+  assign _1517_ = ~ _1516_;
+  assign _1518_ = _1515_ & _1517_;
+  assign _1519_ = _1518_ ? wb_out_q[63:0] : 64'h0000000000000000;
+  assign _1520_ = _1514_ | _1519_;
+  assign _1521_ = rd8_rsp & iseq_idle;
+  assign _1522_ = _1521_ & icapture_q;
+  assign _1523_ = idata_q[4:3] == 2'h0;
+  assign _1524_ = _1523_ ? 1'h1 : 1'h0;
+  assign _1525_ = ~ _1524_;
+  assign rd_err = _1522_ & _1525_;
+  assign _1526_ = wr8_rsp & iseq_idle;
+  assign _1527_ = _1526_ & icapture_q;
+  assign _1528_ = idata_q[4:3] == 2'h0;
+  assign _1529_ = _1528_ ? 1'h1 : 1'h0;
+  assign _1530_ = ~ _1529_;
+  assign wr_err = _1527_ & _1530_;
+  assign _1531_ = 1'h0 | 1'h0;
+  assign _1532_ = 1'h0 | 1'h0;
+  assign _1533_ = _1532_ | 1'h0;
+  assign _1534_ = 1'h0 | 1'h0;
+  assign _1535_ = 1'h0 | 1'h0;
+  assign _1536_ = wb_remote_rd | wb_remote_wr;
+  assign _1537_ = ~ idata_q[6];
+  assign _1538_ = idata_q[7] & _1537_;
+  assign _1539_ = ~ idata_q[5];
+  assign _1540_ = _1538_ & _1539_;
+  assign _1541_ = ~ idata_q[4];
+  assign _1542_ = _1540_ & _1541_;
+  assign _1543_ = _1542_ & idata_q[1];
+  assign _1544_ = ~ idata_q[0];
+  assign _1545_ = _1543_ & _1544_;
+  assign rd8_rsp = _1545_ & wb_remote_rd;
+  assign _1546_ = ~ idata_q[6];
+  assign _1547_ = idata_q[7] & _1546_;
+  assign _1548_ = ~ idata_q[5];
+  assign _1549_ = _1547_ & _1548_;
+  assign _1550_ = ~ idata_q[4];
+  assign _1551_ = _1549_ & _1550_;
+  assign _1552_ = _1551_ & idata_q[1];
+  assign _1553_ = _1552_ & idata_q[0];
+  assign wr8_rsp = _1553_ & wb_remote_wr;
+  assign _1554_ = idata_q[7] & idata_q[6];
+  assign _1555_ = ~ idata_q[5];
+  assign _1556_ = _1554_ & _1555_;
+  assign _1557_ = _1556_ & idata_q[4];
+  assign _1558_ = ~ idata_q[3];
+  assign int_req = _1557_ & _1558_;
+  assign _1559_ = idata_q[7] & idata_q[6];
+  assign _1560_ = ~ idata_q[5];
+  assign _1561_ = _1559_ & _1560_;
+  assign _1562_ = ~ idata_q[4];
+  assign _1563_ = _1561_ & _1562_;
+  assign _1564_ = ~ idata_q[3];
+  assign sync_ack = _1563_ & _1564_;
+  assign _1565_ = idata_q[7] & idata_q[6];
+  assign _1566_ = ~ idata_q[5];
+  assign _1567_ = _1565_ & _1566_;
+  assign _1568_ = ~ idata_q[4];
+  assign _1569_ = _1567_ & _1568_;
+  assign cache_inv = _1569_ & idata_q[3];
+  assign _1570_ = idata_q[7] & idata_q[6];
+  assign _1571_ = _1570_ & idata_q[5];
+  assign _1572_ = _1571_ & idata_q[4];
+  assign _1573_ = ~ idata_q[3];
+  assign link_req_i = _1572_ & _1573_;
+  assign _1574_ = idata_q[7] & idata_q[6];
+  assign _1575_ = _1574_ & idata_q[5];
+  assign _1576_ = _1575_ & idata_q[4];
+  assign link_rsp_i = _1576_ & idata_q[3];
+  assign _1577_ = ~ idata_q[6];
+  assign _1578_ = idata_q[7] & _1577_;
+  assign _1579_ = ~ idata_q[5];
+  assign _1580_ = _1578_ & _1579_;
+  assign _1581_ = ~ idata_q[4];
+  assign _1582_ = _1580_ & _1581_;
+  assign _1583_ = _1582_ & idata_q[1];
+  assign _1584_ = ~ idata_q[0];
+  assign _1585_ = _1583_ & _1584_;
+  assign _1586_ = _1585_ & wb_remote_rd;
+  assign _1587_ = ~ idata_q[6];
+  assign _1588_ = idata_q[7] & _1587_;
+  assign _1589_ = ~ idata_q[5];
+  assign _1590_ = _1588_ & _1589_;
+  assign _1591_ = ~ idata_q[4];
+  assign _1592_ = _1590_ & _1591_;
+  assign _1593_ = _1592_ & idata_q[1];
+  assign _1594_ = _1593_ & idata_q[0];
+  assign _1595_ = _1594_ & wb_remote_wr;
+  assign _1596_ = _1586_ | _1595_;
+  assign _1597_ = idata_q[7] & idata_q[6];
+  assign _1598_ = ~ idata_q[5];
+  assign _1599_ = _1597_ & _1598_;
+  assign _1600_ = ~ idata_q[4];
+  assign _1601_ = _1599_ & _1600_;
+  assign _1602_ = ~ idata_q[3];
+  assign _1603_ = _1601_ & _1602_;
+  assign _1604_ = _1596_ | _1603_;
+  assign _1605_ = idata_q[7] & idata_q[6];
+  assign _1606_ = ~ idata_q[5];
+  assign _1607_ = _1605_ & _1606_;
+  assign _1608_ = ~ idata_q[4];
+  assign _1609_ = _1607_ & _1608_;
+  assign _1610_ = _1609_ & idata_q[3];
+  assign _1611_ = _1604_ | _1610_;
+  assign _1612_ = idata_q[7] & idata_q[6];
+  assign _1613_ = ~ idata_q[5];
+  assign _1614_ = _1612_ & _1613_;
+  assign _1615_ = _1614_ & idata_q[4];
+  assign _1616_ = ~ idata_q[3];
+  assign _1617_ = _1615_ & _1616_;
+  assign _1618_ = _1611_ | _1617_;
+  assign _1619_ = idata_q[7] & idata_q[6];
+  assign _1620_ = _1619_ & idata_q[5];
+  assign _1621_ = _1620_ & idata_q[4];
+  assign _1622_ = ~ idata_q[3];
+  assign _1623_ = _1621_ & _1622_;
+  assign _1624_ = _1618_ | _1623_;
+  assign _1625_ = idata_q[7] & idata_q[6];
+  assign _1626_ = _1625_ & idata_q[5];
+  assign _1627_ = _1626_ & idata_q[4];
+  assign _1628_ = _1627_ & idata_q[3];
+  assign good_header = _1624_ | _1628_;
+  assign _1629_ = wbseq_q[3] & wbseq_q[2];
+  assign _1630_ = _1629_ & wbseq_q[1];
+  assign _1631_ = _1630_ & wbseq_q[0];
+  assign _1632_ = ~ wb_req;
+  assign _1633_ = _1631_ & _1632_;
+  assign _1634_ = wbseq_q[3] & wbseq_q[2];
+  assign _1635_ = _1634_ & wbseq_q[1];
+  assign _1636_ = _1635_ & wbseq_q[0];
+  assign _1637_ = _1636_ & wb_req;
+  assign _1638_ = _1637_ & wb_we;
+  assign _1639_ = ~ wb_local;
+  assign _1640_ = _1638_ & _1639_;
+  assign _1641_ = _1633_ | _1640_;
+  assign _1642_ = ~ wbseq_q[3];
+  assign _1643_ = ~ wbseq_q[2];
+  assign _1644_ = _1642_ & _1643_;
+  assign _1645_ = ~ wbseq_q[1];
+  assign _1646_ = _1644_ & _1645_;
+  assign _1647_ = _1646_ & wbseq_q[0];
+  assign _1648_ = _1641_ | _1647_;
+  assign _1649_ = ~ wbseq_q[3];
+  assign _1650_ = ~ wbseq_q[2];
+  assign _1651_ = _1649_ & _1650_;
+  assign _1652_ = _1651_ & wbseq_q[1];
+  assign _1653_ = ~ wbseq_q[0];
+  assign _1654_ = _1652_ & _1653_;
+  assign _1655_ = _1648_ | _1654_;
+  assign _1656_ = ~ wbseq_q[3];
+  assign _1657_ = _1656_ & wbseq_q[2];
+  assign _1658_ = _1657_ & wbseq_q[1];
+  assign _1659_ = ~ wbseq_q[0];
+  assign _1660_ = _1658_ & _1659_;
+  assign _1661_ = ~ rd_rsp_complete;
+  assign _1662_ = _1660_ & _1661_;
+  assign _1663_ = _1655_ | _1662_;
+  assign _1664_ = ~ wbseq_q[2];
+  assign _1665_ = wbseq_q[3] & _1664_;
+  assign _1666_ = ~ wbseq_q[1];
+  assign _1667_ = _1665_ & _1666_;
+  assign _1668_ = ~ wbseq_q[0];
+  assign _1669_ = _1667_ & _1668_;
+  assign _1670_ = ~ ob_complete;
+  assign _1671_ = _1669_ & _1670_;
+  assign _1672_ = _1663_ | _1671_;
+  assign _1673_ = ~ wbseq_q[2];
+  assign _1674_ = wbseq_q[3] & _1673_;
+  assign _1675_ = ~ wbseq_q[1];
+  assign _1676_ = _1674_ & _1675_;
+  assign _1677_ = ~ wbseq_q[0];
+  assign _1678_ = _1676_ & _1677_;
+  assign _1679_ = _1678_ & ob_complete;
+  assign _1680_ = _1672_ | _1679_;
+  assign _1681_ = ~ wbseq_q[2];
+  assign _1682_ = wbseq_q[3] & _1681_;
+  assign _1683_ = ~ wbseq_q[1];
+  assign _1684_ = _1682_ & _1683_;
+  assign _1685_ = _1684_ & wbseq_q[0];
+  assign _1686_ = ~ wr_rsp_complete;
+  assign _1687_ = _1685_ & _1686_;
+  assign _1688_ = _1680_ | _1687_;
+  assign _1689_ = ~ wbseq_q[2];
+  assign _1690_ = wbseq_q[3] & _1689_;
+  assign _1691_ = ~ wbseq_q[1];
+  assign _1692_ = _1690_ & _1691_;
+  assign _1693_ = _1692_ & wbseq_q[0];
+  assign _1694_ = _1693_ & wr_rsp_complete;
+  assign _1695_ = _1688_ | _1694_;
+  assign _1696_ = ~ wbseq_q[2];
+  assign _1697_ = wbseq_q[3] & _1696_;
+  assign _1698_ = _1697_ & wbseq_q[1];
+  assign _1699_ = ~ wbseq_q[0];
+  assign _1700_ = _1698_ & _1699_;
+  assign _1701_ = _1695_ | _1700_;
+  assign _1702_ = wbseq_q[3] & wbseq_q[2];
+  assign _1703_ = _1702_ & wbseq_q[1];
+  assign _1704_ = ~ wbseq_q[0];
+  assign _1705_ = _1703_ & _1704_;
+  assign _1706_ = _1701_ | _1705_;
+  assign _1707_ = ~ wbseq_q[2];
+  assign _1708_ = wbseq_q[3] & _1707_;
+  assign _1709_ = _1708_ & wbseq_q[1];
+  assign _1710_ = _1709_ & wbseq_q[0];
+  assign _1711_ = _1706_ | _1710_;
+  assign _1712_ = wbseq_q[3] & wbseq_q[2];
+  assign _1713_ = ~ wbseq_q[1];
+  assign _1714_ = _1712_ & _1713_;
+  assign _1715_ = ~ wbseq_q[0];
+  assign _1716_ = _1714_ & _1715_;
+  assign _1717_ = _1711_ | _1716_;
+  assign _1718_ = wbseq_q[3] & wbseq_q[2];
+  assign _1719_ = ~ wbseq_q[1];
+  assign _1720_ = _1718_ & _1719_;
+  assign _1721_ = _1720_ & wbseq_q[0];
+  assign _1722_ = _1717_ | _1721_;
+  assign _1723_ = wbseq_q[3] & wbseq_q[2];
+  assign _1724_ = _1723_ & wbseq_q[1];
+  assign _1725_ = _1724_ & wbseq_q[0];
+  assign _1726_ = ~ wb_req;
+  assign _1727_ = _1725_ & _1726_;
+  assign _1728_ = wbseq_q[3] & wbseq_q[2];
+  assign _1729_ = _1728_ & wbseq_q[1];
+  assign _1730_ = _1729_ & wbseq_q[0];
+  assign _1731_ = _1730_ & wb_req;
+  assign _1732_ = ~ wb_we;
+  assign _1733_ = _1731_ & _1732_;
+  assign _1734_ = ~ wb_local;
+  assign _1735_ = _1733_ & _1734_;
+  assign _1736_ = _1727_ | _1735_;
+  assign _1737_ = ~ wbseq_q[3];
+  assign _1738_ = ~ wbseq_q[2];
+  assign _1739_ = _1737_ & _1738_;
+  assign _1740_ = ~ wbseq_q[1];
+  assign _1741_ = _1739_ & _1740_;
+  assign _1742_ = _1741_ & wbseq_q[0];
+  assign _1743_ = _1736_ | _1742_;
+  assign _1744_ = ~ wbseq_q[3];
+  assign _1745_ = ~ wbseq_q[2];
+  assign _1746_ = _1744_ & _1745_;
+  assign _1747_ = _1746_ & wbseq_q[1];
+  assign _1748_ = ~ wbseq_q[0];
+  assign _1749_ = _1747_ & _1748_;
+  assign _1750_ = _1743_ | _1749_;
+  assign _1751_ = ~ wbseq_q[3];
+  assign _1752_ = _1751_ & wbseq_q[2];
+  assign _1753_ = ~ wbseq_q[1];
+  assign _1754_ = _1752_ & _1753_;
+  assign _1755_ = ~ wbseq_q[0];
+  assign _1756_ = _1754_ & _1755_;
+  assign _1757_ = ~ ob_complete;
+  assign _1758_ = _1756_ & _1757_;
+  assign _1759_ = _1750_ | _1758_;
+  assign _1760_ = ~ wbseq_q[3];
+  assign _1761_ = _1760_ & wbseq_q[2];
+  assign _1762_ = ~ wbseq_q[1];
+  assign _1763_ = _1761_ & _1762_;
+  assign _1764_ = ~ wbseq_q[0];
+  assign _1765_ = _1763_ & _1764_;
+  assign _1766_ = _1765_ & ob_complete;
+  assign _1767_ = _1759_ | _1766_;
+  assign _1768_ = ~ wbseq_q[3];
+  assign _1769_ = _1768_ & wbseq_q[2];
+  assign _1770_ = ~ wbseq_q[1];
+  assign _1771_ = _1769_ & _1770_;
+  assign _1772_ = _1771_ & wbseq_q[0];
+  assign _1773_ = ~ rd_rsp_complete;
+  assign _1774_ = _1772_ & _1773_;
+  assign _1775_ = _1767_ | _1774_;
+  assign _1776_ = ~ wbseq_q[3];
+  assign _1777_ = _1776_ & wbseq_q[2];
+  assign _1778_ = ~ wbseq_q[1];
+  assign _1779_ = _1777_ & _1778_;
+  assign _1780_ = _1779_ & wbseq_q[0];
+  assign _1781_ = _1780_ & rd_rsp_complete;
+  assign _1782_ = _1775_ | _1781_;
+  assign _1783_ = ~ wbseq_q[3];
+  assign _1784_ = _1783_ & wbseq_q[2];
+  assign _1785_ = _1784_ & wbseq_q[1];
+  assign _1786_ = ~ wbseq_q[0];
+  assign _1787_ = _1785_ & _1786_;
+  assign _1788_ = ~ rd_rsp_complete;
+  assign _1789_ = _1787_ & _1788_;
+  assign _1790_ = _1782_ | _1789_;
+  assign _1791_ = ~ wbseq_q[2];
+  assign _1792_ = wbseq_q[3] & _1791_;
+  assign _1793_ = _1792_ & wbseq_q[1];
+  assign _1794_ = ~ wbseq_q[0];
+  assign _1795_ = _1793_ & _1794_;
+  assign _1796_ = _1790_ | _1795_;
+  assign _1797_ = wbseq_q[3] & wbseq_q[2];
+  assign _1798_ = _1797_ & wbseq_q[1];
+  assign _1799_ = ~ wbseq_q[0];
+  assign _1800_ = _1798_ & _1799_;
+  assign _1801_ = _1796_ | _1800_;
+  assign _1802_ = ~ wbseq_q[3];
+  assign _1803_ = _1802_ & wbseq_q[2];
+  assign _1804_ = _1803_ & wbseq_q[1];
+  assign _1805_ = _1804_ & wbseq_q[0];
+  assign _1806_ = _1801_ | _1805_;
+  assign _1807_ = wbseq_q[3] & wbseq_q[2];
+  assign _1808_ = ~ wbseq_q[1];
+  assign _1809_ = _1807_ & _1808_;
+  assign _1810_ = ~ wbseq_q[0];
+  assign _1811_ = _1809_ & _1810_;
+  assign _1812_ = _1806_ | _1811_;
+  assign _1813_ = wbseq_q[3] & wbseq_q[2];
+  assign _1814_ = ~ wbseq_q[1];
+  assign _1815_ = _1813_ & _1814_;
+  assign _1816_ = _1815_ & wbseq_q[0];
+  assign _1817_ = _1812_ | _1816_;
+  assign _1818_ = wbseq_q[3] & wbseq_q[2];
+  assign _1819_ = _1818_ & wbseq_q[1];
+  assign _1820_ = _1819_ & wbseq_q[0];
+  assign _1821_ = ~ wb_req;
+  assign _1822_ = _1820_ & _1821_;
+  assign _1823_ = wbseq_q[3] & wbseq_q[2];
+  assign _1824_ = _1823_ & wbseq_q[1];
+  assign _1825_ = _1824_ & wbseq_q[0];
+  assign _1826_ = _1825_ & wb_req;
+  assign _1827_ = _1826_ & wb_we;
+  assign _1828_ = _1827_ & wb_local;
+  assign _1829_ = _1822_ | _1828_;
+  assign _1830_ = ~ wbseq_q[3];
+  assign _1831_ = ~ wbseq_q[2];
+  assign _1832_ = _1830_ & _1831_;
+  assign _1833_ = ~ wbseq_q[1];
+  assign _1834_ = _1832_ & _1833_;
+  assign _1835_ = _1834_ & wbseq_q[0];
+  assign _1836_ = _1829_ | _1835_;
+  assign _1837_ = ~ wbseq_q[3];
+  assign _1838_ = ~ wbseq_q[2];
+  assign _1839_ = _1837_ & _1838_;
+  assign _1840_ = _1839_ & wbseq_q[1];
+  assign _1841_ = ~ wbseq_q[0];
+  assign _1842_ = _1840_ & _1841_;
+  assign _1843_ = _1836_ | _1842_;
+  assign _1844_ = ~ wbseq_q[3];
+  assign _1845_ = _1844_ & wbseq_q[2];
+  assign _1846_ = ~ wbseq_q[1];
+  assign _1847_ = _1845_ & _1846_;
+  assign _1848_ = _1847_ & wbseq_q[0];
+  assign _1849_ = _1848_ & rd_rsp_complete;
+  assign _1850_ = _1843_ | _1849_;
+  assign _1851_ = ~ wbseq_q[3];
+  assign _1852_ = _1851_ & wbseq_q[2];
+  assign _1853_ = _1852_ & wbseq_q[1];
+  assign _1854_ = ~ wbseq_q[0];
+  assign _1855_ = _1853_ & _1854_;
+  assign _1856_ = ~ rd_rsp_complete;
+  assign _1857_ = _1855_ & _1856_;
+  assign _1858_ = _1850_ | _1857_;
+  assign _1859_ = ~ wbseq_q[2];
+  assign _1860_ = wbseq_q[3] & _1859_;
+  assign _1861_ = ~ wbseq_q[1];
+  assign _1862_ = _1860_ & _1861_;
+  assign _1863_ = _1862_ & wbseq_q[0];
+  assign _1864_ = _1863_ & wr_rsp_complete;
+  assign _1865_ = _1858_ | _1864_;
+  assign _1866_ = ~ wbseq_q[2];
+  assign _1867_ = wbseq_q[3] & _1866_;
+  assign _1868_ = _1867_ & wbseq_q[1];
+  assign _1869_ = ~ wbseq_q[0];
+  assign _1870_ = _1868_ & _1869_;
+  assign _1871_ = _1865_ | _1870_;
+  assign _1872_ = wbseq_q[3] & wbseq_q[2];
+  assign _1873_ = _1872_ & wbseq_q[1];
+  assign _1874_ = ~ wbseq_q[0];
+  assign _1875_ = _1873_ & _1874_;
+  assign _1876_ = _1871_ | _1875_;
+  assign _1877_ = ~ wbseq_q[3];
+  assign _1878_ = ~ wbseq_q[2];
+  assign _1879_ = _1877_ & _1878_;
+  assign _1880_ = _1879_ & wbseq_q[1];
+  assign _1881_ = _1880_ & wbseq_q[0];
+  assign _1882_ = _1876_ | _1881_;
+  assign _1883_ = ~ wbseq_q[3];
+  assign _1884_ = _1883_ & wbseq_q[2];
+  assign _1885_ = _1884_ & wbseq_q[1];
+  assign _1886_ = _1885_ & wbseq_q[0];
+  assign _1887_ = _1882_ | _1886_;
+  assign _1888_ = ~ wbseq_q[2];
+  assign _1889_ = wbseq_q[3] & _1888_;
+  assign _1890_ = _1889_ & wbseq_q[1];
+  assign _1891_ = _1890_ & wbseq_q[0];
+  assign _1892_ = _1887_ | _1891_;
+  assign _1893_ = wbseq_q[3] & wbseq_q[2];
+  assign _1894_ = _1893_ & wbseq_q[1];
+  assign _1895_ = _1894_ & wbseq_q[0];
+  assign _1896_ = ~ wb_req;
+  assign _1897_ = _1895_ & _1896_;
+  assign _1898_ = wbseq_q[3] & wbseq_q[2];
+  assign _1899_ = _1898_ & wbseq_q[1];
+  assign _1900_ = _1899_ & wbseq_q[0];
+  assign _1901_ = _1900_ & wb_req;
+  assign _1902_ = ~ wb_we;
+  assign _1903_ = _1901_ & _1902_;
+  assign _1904_ = _1903_ & wb_local;
+  assign _1905_ = _1897_ | _1904_;
+  assign _1906_ = ~ wbseq_q[3];
+  assign _1907_ = _1906_ & wbseq_q[2];
+  assign _1908_ = ~ wbseq_q[1];
+  assign _1909_ = _1907_ & _1908_;
+  assign _1910_ = ~ wbseq_q[0];
+  assign _1911_ = _1909_ & _1910_;
+  assign _1912_ = _1911_ & ob_complete;
+  assign _1913_ = _1905_ | _1912_;
+  assign _1914_ = ~ wbseq_q[3];
+  assign _1915_ = _1914_ & wbseq_q[2];
+  assign _1916_ = ~ wbseq_q[1];
+  assign _1917_ = _1915_ & _1916_;
+  assign _1918_ = _1917_ & wbseq_q[0];
+  assign _1919_ = ~ rd_rsp_complete;
+  assign _1920_ = _1918_ & _1919_;
+  assign _1921_ = _1913_ | _1920_;
+  assign _1922_ = ~ wbseq_q[2];
+  assign _1923_ = wbseq_q[3] & _1922_;
+  assign _1924_ = ~ wbseq_q[1];
+  assign _1925_ = _1923_ & _1924_;
+  assign _1926_ = ~ wbseq_q[0];
+  assign _1927_ = _1925_ & _1926_;
+  assign _1928_ = _1927_ & ob_complete;
+  assign _1929_ = _1921_ | _1928_;
+  assign _1930_ = ~ wbseq_q[2];
+  assign _1931_ = wbseq_q[3] & _1930_;
+  assign _1932_ = ~ wbseq_q[1];
+  assign _1933_ = _1931_ & _1932_;
+  assign _1934_ = _1933_ & wbseq_q[0];
+  assign _1935_ = ~ wr_rsp_complete;
+  assign _1936_ = _1934_ & _1935_;
+  assign _1937_ = _1929_ | _1936_;
+  assign _1938_ = wbseq_q[3] & wbseq_q[2];
+  assign _1939_ = _1938_ & wbseq_q[1];
+  assign _1940_ = ~ wbseq_q[0];
+  assign _1941_ = _1939_ & _1940_;
+  assign _1942_ = _1937_ | _1941_;
+  assign _1943_ = ~ wbseq_q[3];
+  assign _1944_ = ~ wbseq_q[2];
+  assign _1945_ = _1943_ & _1944_;
+  assign _1946_ = _1945_ & wbseq_q[1];
+  assign _1947_ = _1946_ & wbseq_q[0];
+  assign _1948_ = _1942_ | _1947_;
+  assign _1949_ = ~ wbseq_q[3];
+  assign _1950_ = _1949_ & wbseq_q[2];
+  assign _1951_ = _1950_ & wbseq_q[1];
+  assign _1952_ = _1951_ & wbseq_q[0];
+  assign _1953_ = _1948_ | _1952_;
+  assign _1954_ = ~ wbseq_q[2];
+  assign _1955_ = wbseq_q[3] & _1954_;
+  assign _1956_ = _1955_ & wbseq_q[1];
+  assign _1957_ = _1956_ & wbseq_q[0];
+  assign _1958_ = _1953_ | _1957_;
+  assign _1959_ = wbseq_q[3] & wbseq_q[2];
+  assign _1960_ = ~ wbseq_q[1];
+  assign _1961_ = _1959_ & _1960_;
+  assign _1962_ = _1961_ & wbseq_q[0];
+  assign _1963_ = _1958_ | _1962_;
+  assign _1964_ = wbseq_q[3] & wbseq_q[2];
+  assign _1965_ = _1964_ & wbseq_q[1];
+  assign _1966_ = _1965_ & wbseq_q[0];
+  assign _1967_ = _1966_ & wb_req;
+  assign _1968_ = ~ wb_we;
+  assign _1969_ = _1967_ & _1968_;
+  assign wb_local_rd = _1969_ & wb_local;
+  assign _1970_ = wbseq_q[3] & wbseq_q[2];
+  assign _1971_ = _1970_ & wbseq_q[1];
+  assign _1972_ = _1971_ & wbseq_q[0];
+  assign _1973_ = _1972_ & wb_req;
+  assign _1974_ = _1973_ & wb_we;
+  assign wb_local_wr = _1974_ & wb_local;
+  assign _1975_ = wbseq_q[3] & wbseq_q[2];
+  assign _1976_ = _1975_ & wbseq_q[1];
+  assign _1977_ = _1976_ & wbseq_q[0];
+  assign _1978_ = _1977_ & wb_req;
+  assign _1979_ = ~ wb_we;
+  assign _1980_ = _1978_ & _1979_;
+  assign _1981_ = ~ wb_local;
+  assign _1982_ = _1980_ & _1981_;
+  assign _1983_ = ~ wbseq_q[3];
+  assign _1984_ = _1983_ & wbseq_q[2];
+  assign _1985_ = ~ wbseq_q[1];
+  assign _1986_ = _1984_ & _1985_;
+  assign _1987_ = ~ wbseq_q[0];
+  assign _1988_ = _1986_ & _1987_;
+  assign _1989_ = _1982_ | _1988_;
+  assign _1990_ = ~ wbseq_q[3];
+  assign _1991_ = _1990_ & wbseq_q[2];
+  assign _1992_ = ~ wbseq_q[1];
+  assign _1993_ = _1991_ & _1992_;
+  assign _1994_ = _1993_ & wbseq_q[0];
+  assign _1995_ = _1989_ | _1994_;
+  assign _1996_ = ~ wbseq_q[3];
+  assign _1997_ = _1996_ & wbseq_q[2];
+  assign _1998_ = _1997_ & wbseq_q[1];
+  assign _1999_ = ~ wbseq_q[0];
+  assign _2000_ = _1998_ & _1999_;
+  assign _2001_ = ~ rd_rsp_complete;
+  assign _2002_ = _2000_ & _2001_;
+  assign wb_remote_rd = _1995_ | _2002_;
+  assign _2003_ = wbseq_q[3] & wbseq_q[2];
+  assign _2004_ = _2003_ & wbseq_q[1];
+  assign _2005_ = _2004_ & wbseq_q[0];
+  assign _2006_ = _2005_ & wb_req;
+  assign _2007_ = _2006_ & wb_we;
+  assign _2008_ = ~ wb_local;
+  assign _2009_ = _2007_ & _2008_;
+  assign _2010_ = ~ wbseq_q[2];
+  assign _2011_ = wbseq_q[3] & _2010_;
+  assign _2012_ = ~ wbseq_q[1];
+  assign _2013_ = _2011_ & _2012_;
+  assign _2014_ = ~ wbseq_q[0];
+  assign _2015_ = _2013_ & _2014_;
+  assign _2016_ = _2009_ | _2015_;
+  assign _2017_ = ~ wbseq_q[2];
+  assign _2018_ = wbseq_q[3] & _2017_;
+  assign _2019_ = ~ wbseq_q[1];
+  assign _2020_ = _2018_ & _2019_;
+  assign _2021_ = _2020_ & wbseq_q[0];
+  assign wb_remote_wr = _2016_ | _2021_;
+  assign _2022_ = wbseq_q[3] & wbseq_q[2];
+  assign _2023_ = _2022_ & wbseq_q[1];
+  assign _2024_ = _2023_ & wbseq_q[0];
+  assign _2025_ = _2024_ & wb_req;
+  assign _2026_ = ~ wb_we;
+  assign _0000_ = _2025_ & _2026_;
+  assign _0001_ = _0000_ & wb_local;
+  assign _0002_ = wbseq_q[3] & wbseq_q[2];
+  assign _0003_ = _0002_ & wbseq_q[1];
+  assign _0004_ = _0003_ & wbseq_q[0];
+  assign _0005_ = _0004_ & wb_req;
+  assign _0006_ = _0005_ & wb_we;
+  assign _0007_ = _0006_ & wb_local;
+  assign _0008_ = _0001_ | _0007_;
+  assign _0009_ = wbseq_q[3] & wbseq_q[2];
+  assign _0010_ = _0009_ & wbseq_q[1];
+  assign _0011_ = _0010_ & wbseq_q[0];
+  assign _0012_ = _0011_ & wb_req;
+  assign _0013_ = ~ wb_we;
+  assign _0014_ = _0012_ & _0013_;
+  assign _0015_ = ~ wb_local;
+  assign _0016_ = _0014_ & _0015_;
+  assign _0017_ = _0008_ | _0016_;
+  assign _0018_ = wbseq_q[3] & wbseq_q[2];
+  assign _0019_ = _0018_ & wbseq_q[1];
+  assign _0020_ = _0019_ & wbseq_q[0];
+  assign _0021_ = _0020_ & wb_req;
+  assign _0022_ = _0021_ & wb_we;
+  assign _0023_ = ~ wb_local;
+  assign _0024_ = _0022_ & _0023_;
+  assign _0025_ = _0017_ | _0024_;
+  assign _0026_ = ~ wbseq_q[3];
+  assign _0027_ = ~ wbseq_q[2];
+  assign _0028_ = _0026_ & _0027_;
+  assign _0029_ = ~ wbseq_q[1];
+  assign _0030_ = _0028_ & _0029_;
+  assign _0031_ = _0030_ & wbseq_q[0];
+  assign _0032_ = _0025_ | _0031_;
+  assign _0033_ = ~ wbseq_q[3];
+  assign _0034_ = ~ wbseq_q[2];
+  assign _0035_ = _0033_ & _0034_;
+  assign _0036_ = _0035_ & wbseq_q[1];
+  assign _0037_ = ~ wbseq_q[0];
+  assign _0038_ = _0036_ & _0037_;
+  assign _0039_ = _0032_ | _0038_;
+  assign _0040_ = ~ wbseq_q[3];
+  assign _0041_ = _0040_ & wbseq_q[2];
+  assign _0042_ = ~ wbseq_q[1];
+  assign _0043_ = _0041_ & _0042_;
+  assign _0044_ = ~ wbseq_q[0];
+  assign _0045_ = _0043_ & _0044_;
+  assign _0046_ = _0039_ | _0045_;
+  assign _0047_ = ~ wbseq_q[3];
+  assign _0048_ = _0047_ & wbseq_q[2];
+  assign _0049_ = ~ wbseq_q[1];
+  assign _0050_ = _0048_ & _0049_;
+  assign _0051_ = _0050_ & wbseq_q[0];
+  assign _0052_ = _0046_ | _0051_;
+  assign _0053_ = ~ wbseq_q[3];
+  assign _0054_ = _0053_ & wbseq_q[2];
+  assign _0055_ = _0054_ & wbseq_q[1];
+  assign _0056_ = ~ wbseq_q[0];
+  assign _0057_ = _0055_ & _0056_;
+  assign _0058_ = ~ rd_rsp_complete;
+  assign _0059_ = _0057_ & _0058_;
+  assign _0060_ = _0052_ | _0059_;
+  assign _0061_ = ~ wbseq_q[2];
+  assign _0062_ = wbseq_q[3] & _0061_;
+  assign _0063_ = ~ wbseq_q[1];
+  assign _0064_ = _0062_ & _0063_;
+  assign _0065_ = ~ wbseq_q[0];
+  assign _0066_ = _0064_ & _0065_;
+  assign _0067_ = _0060_ | _0066_;
+  assign _0068_ = ~ wbseq_q[2];
+  assign _0069_ = wbseq_q[3] & _0068_;
+  assign _0070_ = ~ wbseq_q[1];
+  assign _0071_ = _0069_ & _0070_;
+  assign _0072_ = _0071_ & wbseq_q[0];
+  assign _0073_ = _0067_ | _0072_;
+  assign _0074_ = ~ wbseq_q[2];
+  assign _0075_ = wbseq_q[3] & _0074_;
+  assign _0076_ = _0075_ & wbseq_q[1];
+  assign _0077_ = ~ wbseq_q[0];
+  assign _0078_ = _0076_ & _0077_;
+  assign _0079_ = _0073_ | _0078_;
+  assign _0080_ = ~ wbseq_q[3];
+  assign _0081_ = ~ wbseq_q[2];
+  assign _0082_ = _0080_ & _0081_;
+  assign _0083_ = ~ wbseq_q[1];
+  assign _0084_ = _0082_ & _0083_;
+  assign _0085_ = _0084_ & wbseq_q[0];
+  assign _0086_ = ~ wbseq_q[3];
+  assign _0087_ = ~ wbseq_q[2];
+  assign _0088_ = _0086_ & _0087_;
+  assign _0089_ = _0088_ & wbseq_q[1];
+  assign _0090_ = ~ wbseq_q[0];
+  assign _0091_ = _0089_ & _0090_;
+  assign _0092_ = _0085_ | _0091_;
+  assign _0093_ = ~ wbseq_q[3];
+  assign _0094_ = _0093_ & wbseq_q[2];
+  assign _0095_ = _0094_ & wbseq_q[1];
+  assign _0096_ = ~ wbseq_q[0];
+  assign _0097_ = _0095_ & _0096_;
+  assign _0098_ = ~ rd_rsp_complete;
+  assign _0099_ = _0097_ & _0098_;
+  assign _0100_ = _0092_ | _0099_;
+  assign _0101_ = ~ wbseq_q[2];
+  assign _0102_ = wbseq_q[3] & _0101_;
+  assign _0103_ = _0102_ & wbseq_q[1];
+  assign _0104_ = ~ wbseq_q[0];
+  assign _0105_ = _0103_ & _0104_;
+  assign _0106_ = _0100_ | _0105_;
+  assign _0107_ = ~ wbseq_q[3];
+  assign _0108_ = _0107_ & wbseq_q[2];
+  assign _0109_ = ~ wbseq_q[1];
+  assign _0110_ = _0108_ & _0109_;
+  assign _0111_ = _0110_ & wbseq_q[0];
+  assign _0112_ = ~ wbseq_q[3];
+  assign _0113_ = _0112_ & wbseq_q[2];
+  assign _0114_ = _0113_ & wbseq_q[1];
+  assign _0115_ = ~ wbseq_q[0];
+  assign _0116_ = _0114_ & _0115_;
+  assign _0117_ = ~ rd_rsp_complete;
+  assign _0118_ = _0116_ & _0117_;
+  assign _0119_ = _0111_ | _0118_;
+  assign _0120_ = ~ wbseq_q[2];
+  assign _0121_ = wbseq_q[3] & _0120_;
+  assign _0122_ = ~ wbseq_q[1];
+  assign _0123_ = _0121_ & _0122_;
+  assign _0124_ = _0123_ & wbseq_q[0];
+  assign _0125_ = _0119_ | _0124_;
+  assign _0126_ = ~ wbseq_q[2];
+  assign _0127_ = wbseq_q[3] & _0126_;
+  assign _0128_ = _0127_ & wbseq_q[1];
+  assign _0129_ = ~ wbseq_q[0];
+  assign _0130_ = _0128_ & _0129_;
+  assign _0131_ = _0125_ | _0130_;
+  assign _0132_ = wbseq_q[3] & wbseq_q[2];
+  assign _0133_ = _0132_ & wbseq_q[1];
+  assign _0134_ = ~ wbseq_q[0];
+  assign _0135_ = _0133_ & _0134_;
+  assign oseq_hold = _0131_ | _0135_;
+  assign _0136_ = ~ wbseq_q[3];
+  assign _0137_ = ~ wbseq_q[2];
+  assign _0138_ = _0136_ & _0137_;
+  assign _0139_ = ~ wbseq_q[1];
+  assign _0140_ = _0138_ & _0139_;
+  assign _0141_ = ~ wbseq_q[0];
+  assign _0142_ = _0140_ & _0141_;
+  assign _0143_ = ~ wbseq_q[3];
+  assign _0144_ = ~ wbseq_q[2];
+  assign _0145_ = _0143_ & _0144_;
+  assign _0146_ = _0145_ & wbseq_q[1];
+  assign _0147_ = _0146_ & wbseq_q[0];
+  assign _0148_ = _0142_ | _0147_;
+  assign _0149_ = ~ wbseq_q[3];
+  assign _0150_ = _0149_ & wbseq_q[2];
+  assign _0151_ = _0150_ & wbseq_q[1];
+  assign _0152_ = _0151_ & wbseq_q[0];
+  assign _0153_ = _0148_ | _0152_;
+  assign _0154_ = ~ wbseq_q[2];
+  assign _0155_ = wbseq_q[3] & _0154_;
+  assign _0156_ = _0155_ & wbseq_q[1];
+  assign _0157_ = _0156_ & wbseq_q[0];
+  assign _0158_ = _0153_ | _0157_;
+  assign _0159_ = wbseq_q[3] & wbseq_q[2];
+  assign _0160_ = ~ wbseq_q[1];
+  assign _0161_ = _0159_ & _0160_;
+  assign _0162_ = ~ wbseq_q[0];
+  assign _0163_ = _0161_ & _0162_;
+  assign _0164_ = _0158_ | _0163_;
+  assign _0165_ = wbseq_q[3] & wbseq_q[2];
+  assign _0166_ = ~ wbseq_q[1];
+  assign _0167_ = _0165_ & _0166_;
+  assign _0168_ = _0167_ & wbseq_q[0];
+  assign wbseq_err = _0164_ | _0168_;
+  assign _0169_ = oseq_q[3] & oseq_q[2];
+  assign _0170_ = _0169_ & oseq_q[1];
+  assign _0171_ = _0170_ & oseq_q[0];
+  assign _0172_ = _0171_ & oseq_hold;
+  assign _0173_ = oseq_q[3] & oseq_q[2];
+  assign _0174_ = _0173_ & oseq_q[1];
+  assign _0175_ = _0174_ & oseq_q[0];
+  assign _0176_ = ~ wb_remote_rd;
+  assign _0177_ = _0175_ & _0176_;
+  assign _0178_ = ~ wb_remote_wr;
+  assign _0179_ = _0177_ & _0178_;
+  assign _0180_ = _0172_ | _0179_;
+  assign _0181_ = oseq_q[3] & oseq_q[2];
+  assign _0182_ = _0181_ & oseq_q[1];
+  assign _0183_ = _0182_ & oseq_q[0];
+  assign _0184_ = ~ oseq_hold;
+  assign _0185_ = _0183_ & _0184_;
+  assign _0186_ = ~ oclk_advance;
+  assign _0187_ = _0185_ & _0186_;
+  assign _0188_ = _0180_ | _0187_;
+  assign _0189_ = ~ oseq_q[3];
+  assign _0190_ = ~ oseq_q[2];
+  assign _0191_ = _0189_ & _0190_;
+  assign _0192_ = _0191_ & oseq_q[1];
+  assign _0193_ = ~ oseq_q[0];
+  assign _0194_ = _0192_ & _0193_;
+  assign _0195_ = ~ wb_remote_wr;
+  assign _0196_ = _0194_ & _0195_;
+  assign _0197_ = _0196_ & oclk_advance;
+  assign _0198_ = _0197_ & oaddr_last;
+  assign _0199_ = _0188_ | _0198_;
+  assign _0200_ = ~ oseq_q[3];
+  assign _0201_ = _0200_ & oseq_q[2];
+  assign _0202_ = ~ oseq_q[1];
+  assign _0203_ = _0201_ & _0202_;
+  assign _0204_ = ~ oseq_q[0];
+  assign _0205_ = _0203_ & _0204_;
+  assign _0206_ = _0205_ & oclk_advance;
+  assign _0207_ = _0206_ & odata_last;
+  assign _0208_ = _0199_ | _0207_;
+  assign _0209_ = ~ oseq_q[2];
+  assign _0210_ = oseq_q[3] & _0209_;
+  assign _0211_ = ~ oseq_q[1];
+  assign _0212_ = _0210_ & _0211_;
+  assign _0213_ = ~ oseq_q[0];
+  assign _0214_ = _0212_ & _0213_;
+  assign _0215_ = _0208_ | _0214_;
+  assign _0216_ = ~ oseq_q[2];
+  assign _0217_ = oseq_q[3] & _0216_;
+  assign _0218_ = ~ oseq_q[1];
+  assign _0219_ = _0217_ & _0218_;
+  assign _0220_ = _0219_ & oseq_q[0];
+  assign _0221_ = _0215_ | _0220_;
+  assign _0222_ = ~ oseq_q[2];
+  assign _0223_ = oseq_q[3] & _0222_;
+  assign _0224_ = _0223_ & oseq_q[1];
+  assign _0225_ = ~ oseq_q[0];
+  assign _0226_ = _0224_ & _0225_;
+  assign _0227_ = _0221_ | _0226_;
+  assign _0228_ = ~ oseq_q[2];
+  assign _0229_ = oseq_q[3] & _0228_;
+  assign _0230_ = _0229_ & oseq_q[1];
+  assign _0231_ = _0230_ & oseq_q[0];
+  assign _0232_ = _0227_ | _0231_;
+  assign _0233_ = oseq_q[3] & oseq_q[2];
+  assign _0234_ = ~ oseq_q[1];
+  assign _0235_ = _0233_ & _0234_;
+  assign _0236_ = ~ oseq_q[0];
+  assign _0237_ = _0235_ & _0236_;
+  assign _0238_ = _0232_ | _0237_;
+  assign _0239_ = oseq_q[3] & oseq_q[2];
+  assign _0240_ = ~ oseq_q[1];
+  assign _0241_ = _0239_ & _0240_;
+  assign _0242_ = _0241_ & oseq_q[0];
+  assign _0243_ = _0238_ | _0242_;
+  assign _0244_ = oseq_q[3] & oseq_q[2];
+  assign _0245_ = _0244_ & oseq_q[1];
+  assign _0246_ = ~ oseq_q[0];
+  assign _0247_ = _0245_ & _0246_;
+  assign _0248_ = _0243_ | _0247_;
+  assign _0249_ = oseq_q[3] & oseq_q[2];
+  assign _0250_ = _0249_ & oseq_q[1];
+  assign _0251_ = _0250_ & oseq_q[0];
+  assign _0252_ = _0251_ & oseq_hold;
+  assign _0253_ = oseq_q[3] & oseq_q[2];
+  assign _0254_ = _0253_ & oseq_q[1];
+  assign _0255_ = _0254_ & oseq_q[0];
+  assign _0256_ = ~ wb_remote_rd;
+  assign _0257_ = _0255_ & _0256_;
+  assign _0258_ = ~ wb_remote_wr;
+  assign _0259_ = _0257_ & _0258_;
+  assign _0260_ = _0252_ | _0259_;
+  assign _0261_ = oseq_q[3] & oseq_q[2];
+  assign _0262_ = _0261_ & oseq_q[1];
+  assign _0263_ = _0262_ & oseq_q[0];
+  assign _0264_ = ~ oseq_hold;
+  assign _0265_ = _0263_ & _0264_;
+  assign _0266_ = ~ oclk_advance;
+  assign _0267_ = _0265_ & _0266_;
+  assign _0268_ = _0260_ | _0267_;
+  assign _0269_ = ~ oseq_q[3];
+  assign _0270_ = ~ oseq_q[2];
+  assign _0271_ = _0269_ & _0270_;
+  assign _0272_ = _0271_ & oseq_q[1];
+  assign _0273_ = ~ oseq_q[0];
+  assign _0274_ = _0272_ & _0273_;
+  assign _0275_ = ~ wb_remote_wr;
+  assign _0276_ = _0274_ & _0275_;
+  assign _0277_ = _0276_ & oclk_advance;
+  assign _0278_ = _0277_ & oaddr_last;
+  assign _0279_ = _0268_ | _0278_;
+  assign _0280_ = ~ oseq_q[3];
+  assign _0281_ = ~ oseq_q[2];
+  assign _0282_ = _0280_ & _0281_;
+  assign _0283_ = _0282_ & oseq_q[1];
+  assign _0284_ = _0283_ & oseq_q[0];
+  assign _0285_ = _0284_ & oclk_advance;
+  assign _0286_ = _0279_ | _0285_;
+  assign _0287_ = ~ oseq_q[3];
+  assign _0288_ = _0287_ & oseq_q[2];
+  assign _0289_ = ~ oseq_q[1];
+  assign _0290_ = _0288_ & _0289_;
+  assign _0291_ = ~ oseq_q[0];
+  assign _0292_ = _0290_ & _0291_;
+  assign _0293_ = ~ oclk_advance;
+  assign _0294_ = _0292_ & _0293_;
+  assign _0295_ = _0286_ | _0294_;
+  assign _0296_ = ~ oseq_q[3];
+  assign _0297_ = _0296_ & oseq_q[2];
+  assign _0298_ = ~ oseq_q[1];
+  assign _0299_ = _0297_ & _0298_;
+  assign _0300_ = ~ oseq_q[0];
+  assign _0301_ = _0299_ & _0300_;
+  assign _0302_ = _0301_ & oclk_advance;
+  assign _0303_ = ~ odata_last;
+  assign _0304_ = _0302_ & _0303_;
+  assign _0305_ = _0295_ | _0304_;
+  assign _0306_ = ~ oseq_q[3];
+  assign _0307_ = _0306_ & oseq_q[2];
+  assign _0308_ = ~ oseq_q[1];
+  assign _0309_ = _0307_ & _0308_;
+  assign _0310_ = ~ oseq_q[0];
+  assign _0311_ = _0309_ & _0310_;
+  assign _0312_ = _0311_ & oclk_advance;
+  assign _0313_ = _0312_ & odata_last;
+  assign _0314_ = _0305_ | _0313_;
+  assign _0315_ = ~ oseq_q[3];
+  assign _0316_ = _0315_ & oseq_q[2];
+  assign _0317_ = ~ oseq_q[1];
+  assign _0318_ = _0316_ & _0317_;
+  assign _0319_ = _0318_ & oseq_q[0];
+  assign _0320_ = _0314_ | _0319_;
+  assign _0321_ = ~ oseq_q[3];
+  assign _0322_ = _0321_ & oseq_q[2];
+  assign _0323_ = _0322_ & oseq_q[1];
+  assign _0324_ = ~ oseq_q[0];
+  assign _0325_ = _0323_ & _0324_;
+  assign _0326_ = _0320_ | _0325_;
+  assign _0327_ = ~ oseq_q[3];
+  assign _0328_ = _0327_ & oseq_q[2];
+  assign _0329_ = _0328_ & oseq_q[1];
+  assign _0330_ = _0329_ & oseq_q[0];
+  assign _0331_ = _0326_ | _0330_;
+  assign _0332_ = oseq_q[3] & oseq_q[2];
+  assign _0333_ = ~ oseq_q[1];
+  assign _0334_ = _0332_ & _0333_;
+  assign _0335_ = ~ oseq_q[0];
+  assign _0336_ = _0334_ & _0335_;
+  assign _0337_ = _0331_ | _0336_;
+  assign _0338_ = oseq_q[3] & oseq_q[2];
+  assign _0339_ = ~ oseq_q[1];
+  assign _0340_ = _0338_ & _0339_;
+  assign _0341_ = _0340_ & oseq_q[0];
+  assign _0342_ = _0337_ | _0341_;
+  assign _0343_ = oseq_q[3] & oseq_q[2];
+  assign _0344_ = _0343_ & oseq_q[1];
+  assign _0345_ = ~ oseq_q[0];
+  assign _0346_ = _0344_ & _0345_;
+  assign _0347_ = _0342_ | _0346_;
+  assign _0348_ = oseq_q[3] & oseq_q[2];
+  assign _0349_ = _0348_ & oseq_q[1];
+  assign _0350_ = _0349_ & oseq_q[0];
+  assign _0351_ = _0350_ & oseq_hold;
+  assign _0352_ = oseq_q[3] & oseq_q[2];
+  assign _0353_ = _0352_ & oseq_q[1];
+  assign _0354_ = _0353_ & oseq_q[0];
+  assign _0355_ = ~ wb_remote_rd;
+  assign _0356_ = _0354_ & _0355_;
+  assign _0357_ = ~ wb_remote_wr;
+  assign _0358_ = _0356_ & _0357_;
+  assign _0359_ = _0351_ | _0358_;
+  assign _0360_ = oseq_q[3] & oseq_q[2];
+  assign _0361_ = _0360_ & oseq_q[1];
+  assign _0362_ = _0361_ & oseq_q[0];
+  assign _0363_ = ~ oseq_hold;
+  assign _0364_ = _0362_ & _0363_;
+  assign _0365_ = ~ oclk_advance;
+  assign _0366_ = _0364_ & _0365_;
+  assign _0367_ = _0359_ | _0366_;
+  assign _0368_ = ~ oseq_q[3];
+  assign _0369_ = ~ oseq_q[2];
+  assign _0370_ = _0368_ & _0369_;
+  assign _0371_ = ~ oseq_q[1];
+  assign _0372_ = _0370_ & _0371_;
+  assign _0373_ = _0372_ & oseq_q[0];
+  assign _0374_ = _0373_ & wb_remote_rd;
+  assign _0375_ = _0374_ & oclk_advance;
+  assign _0376_ = _0367_ | _0375_;
+  assign _0377_ = ~ oseq_q[3];
+  assign _0378_ = ~ oseq_q[2];
+  assign _0379_ = _0377_ & _0378_;
+  assign _0380_ = ~ oseq_q[1];
+  assign _0381_ = _0379_ & _0380_;
+  assign _0382_ = _0381_ & oseq_q[0];
+  assign _0383_ = _0382_ & wb_remote_wr;
+  assign _0384_ = _0383_ & oclk_advance;
+  assign _0385_ = _0376_ | _0384_;
+  assign _0386_ = ~ oseq_q[3];
+  assign _0387_ = ~ oseq_q[2];
+  assign _0388_ = _0386_ & _0387_;
+  assign _0389_ = _0388_ & oseq_q[1];
+  assign _0390_ = ~ oseq_q[0];
+  assign _0391_ = _0389_ & _0390_;
+  assign _0392_ = ~ oclk_advance;
+  assign _0393_ = _0391_ & _0392_;
+  assign _0394_ = _0385_ | _0393_;
+  assign _0395_ = ~ oseq_q[3];
+  assign _0396_ = ~ oseq_q[2];
+  assign _0397_ = _0395_ & _0396_;
+  assign _0398_ = _0397_ & oseq_q[1];
+  assign _0399_ = ~ oseq_q[0];
+  assign _0400_ = _0398_ & _0399_;
+  assign _0401_ = _0400_ & oclk_advance;
+  assign _0402_ = ~ oaddr_last;
+  assign _0403_ = _0401_ & _0402_;
+  assign _0404_ = _0394_ | _0403_;
+  assign _0405_ = ~ oseq_q[3];
+  assign _0406_ = ~ oseq_q[2];
+  assign _0407_ = _0405_ & _0406_;
+  assign _0408_ = _0407_ & oseq_q[1];
+  assign _0409_ = ~ oseq_q[0];
+  assign _0410_ = _0408_ & _0409_;
+  assign _0411_ = ~ wb_remote_wr;
+  assign _0412_ = _0410_ & _0411_;
+  assign _0413_ = _0412_ & oclk_advance;
+  assign _0414_ = _0413_ & oaddr_last;
+  assign _0415_ = _0404_ | _0414_;
+  assign _0416_ = ~ oseq_q[3];
+  assign _0417_ = ~ oseq_q[2];
+  assign _0418_ = _0416_ & _0417_;
+  assign _0419_ = _0418_ & oseq_q[1];
+  assign _0420_ = ~ oseq_q[0];
+  assign _0421_ = _0419_ & _0420_;
+  assign _0422_ = _0421_ & wb_remote_wr;
+  assign _0423_ = _0422_ & oclk_advance;
+  assign _0424_ = _0423_ & oaddr_last;
+  assign _0425_ = _0415_ | _0424_;
+  assign _0426_ = ~ oseq_q[3];
+  assign _0427_ = ~ oseq_q[2];
+  assign _0428_ = _0426_ & _0427_;
+  assign _0429_ = _0428_ & oseq_q[1];
+  assign _0430_ = _0429_ & oseq_q[0];
+  assign _0431_ = ~ oclk_advance;
+  assign _0432_ = _0430_ & _0431_;
+  assign _0433_ = _0425_ | _0432_;
+  assign _0434_ = ~ oseq_q[3];
+  assign _0435_ = _0434_ & oseq_q[2];
+  assign _0436_ = ~ oseq_q[1];
+  assign _0437_ = _0435_ & _0436_;
+  assign _0438_ = ~ oseq_q[0];
+  assign _0439_ = _0437_ & _0438_;
+  assign _0440_ = _0439_ & oclk_advance;
+  assign _0441_ = _0440_ & odata_last;
+  assign _0442_ = _0433_ | _0441_;
+  assign _0443_ = ~ oseq_q[3];
+  assign _0444_ = _0443_ & oseq_q[2];
+  assign _0445_ = _0444_ & oseq_q[1];
+  assign _0446_ = ~ oseq_q[0];
+  assign _0447_ = _0445_ & _0446_;
+  assign _0448_ = _0442_ | _0447_;
+  assign _0449_ = ~ oseq_q[3];
+  assign _0450_ = _0449_ & oseq_q[2];
+  assign _0451_ = _0450_ & oseq_q[1];
+  assign _0452_ = _0451_ & oseq_q[0];
+  assign _0453_ = _0448_ | _0452_;
+  assign _0454_ = ~ oseq_q[2];
+  assign _0455_ = oseq_q[3] & _0454_;
+  assign _0456_ = _0455_ & oseq_q[1];
+  assign _0457_ = ~ oseq_q[0];
+  assign _0458_ = _0456_ & _0457_;
+  assign _0459_ = _0453_ | _0458_;
+  assign _0460_ = ~ oseq_q[2];
+  assign _0461_ = oseq_q[3] & _0460_;
+  assign _0462_ = _0461_ & oseq_q[1];
+  assign _0463_ = _0462_ & oseq_q[0];
+  assign _0464_ = _0459_ | _0463_;
+  assign _0465_ = oseq_q[3] & oseq_q[2];
+  assign _0466_ = _0465_ & oseq_q[1];
+  assign _0467_ = ~ oseq_q[0];
+  assign _0468_ = _0466_ & _0467_;
+  assign _0469_ = _0464_ | _0468_;
+  assign _0470_ = oseq_q[3] & oseq_q[2];
+  assign _0471_ = _0470_ & oseq_q[1];
+  assign _0472_ = _0471_ & oseq_q[0];
+  assign _0473_ = _0472_ & oseq_hold;
+  assign _0474_ = oseq_q[3] & oseq_q[2];
+  assign _0475_ = _0474_ & oseq_q[1];
+  assign _0476_ = _0475_ & oseq_q[0];
+  assign _0477_ = ~ wb_remote_rd;
+  assign _0478_ = _0476_ & _0477_;
+  assign _0479_ = ~ wb_remote_wr;
+  assign _0480_ = _0478_ & _0479_;
+  assign _0481_ = _0473_ | _0480_;
+  assign _0482_ = oseq_q[3] & oseq_q[2];
+  assign _0483_ = _0482_ & oseq_q[1];
+  assign _0484_ = _0483_ & oseq_q[0];
+  assign _0485_ = ~ oseq_hold;
+  assign _0486_ = _0484_ & _0485_;
+  assign _0487_ = ~ oclk_advance;
+  assign _0488_ = _0486_ & _0487_;
+  assign _0489_ = _0481_ | _0488_;
+  assign _0490_ = oseq_q[3] & oseq_q[2];
+  assign _0491_ = _0490_ & oseq_q[1];
+  assign _0492_ = _0491_ & oseq_q[0];
+  assign _0493_ = ~ oseq_hold;
+  assign _0494_ = _0492_ & _0493_;
+  assign _0495_ = _0494_ & wb_remote_rd;
+  assign _0496_ = _0495_ & oclk_advance;
+  assign _0497_ = _0489_ | _0496_;
+  assign _0498_ = oseq_q[3] & oseq_q[2];
+  assign _0499_ = _0498_ & oseq_q[1];
+  assign _0500_ = _0499_ & oseq_q[0];
+  assign _0501_ = ~ oseq_hold;
+  assign _0502_ = _0500_ & _0501_;
+  assign _0503_ = _0502_ & wb_remote_wr;
+  assign _0504_ = _0503_ & oclk_advance;
+  assign _0505_ = _0497_ | _0504_;
+  assign _0506_ = ~ oseq_q[3];
+  assign _0507_ = ~ oseq_q[2];
+  assign _0508_ = _0506_ & _0507_;
+  assign _0509_ = ~ oseq_q[1];
+  assign _0510_ = _0508_ & _0509_;
+  assign _0511_ = _0510_ & oseq_q[0];
+  assign _0512_ = ~ oclk_advance;
+  assign _0513_ = _0511_ & _0512_;
+  assign _0514_ = _0505_ | _0513_;
+  assign _0515_ = ~ oseq_q[3];
+  assign _0516_ = ~ oseq_q[2];
+  assign _0517_ = _0515_ & _0516_;
+  assign _0518_ = _0517_ & oseq_q[1];
+  assign _0519_ = ~ oseq_q[0];
+  assign _0520_ = _0518_ & _0519_;
+  assign _0521_ = ~ wb_remote_wr;
+  assign _0522_ = _0520_ & _0521_;
+  assign _0523_ = _0522_ & oclk_advance;
+  assign _0524_ = _0523_ & oaddr_last;
+  assign _0525_ = _0514_ | _0524_;
+  assign _0526_ = ~ oseq_q[3];
+  assign _0527_ = ~ oseq_q[2];
+  assign _0528_ = _0526_ & _0527_;
+  assign _0529_ = _0528_ & oseq_q[1];
+  assign _0530_ = ~ oseq_q[0];
+  assign _0531_ = _0529_ & _0530_;
+  assign _0532_ = _0531_ & wb_remote_wr;
+  assign _0533_ = _0532_ & oclk_advance;
+  assign _0534_ = _0533_ & oaddr_last;
+  assign _0535_ = _0525_ | _0534_;
+  assign _0536_ = ~ oseq_q[3];
+  assign _0537_ = ~ oseq_q[2];
+  assign _0538_ = _0536_ & _0537_;
+  assign _0539_ = _0538_ & oseq_q[1];
+  assign _0540_ = _0539_ & oseq_q[0];
+  assign _0541_ = ~ oclk_advance;
+  assign _0542_ = _0540_ & _0541_;
+  assign _0543_ = _0535_ | _0542_;
+  assign _0544_ = ~ oseq_q[3];
+  assign _0545_ = _0544_ & oseq_q[2];
+  assign _0546_ = ~ oseq_q[1];
+  assign _0547_ = _0545_ & _0546_;
+  assign _0548_ = ~ oseq_q[0];
+  assign _0549_ = _0547_ & _0548_;
+  assign _0550_ = _0549_ & oclk_advance;
+  assign _0551_ = _0550_ & odata_last;
+  assign _0552_ = _0543_ | _0551_;
+  assign _0553_ = ~ oseq_q[3];
+  assign _0554_ = _0553_ & oseq_q[2];
+  assign _0555_ = ~ oseq_q[1];
+  assign _0556_ = _0554_ & _0555_;
+  assign _0557_ = _0556_ & oseq_q[0];
+  assign _0558_ = _0552_ | _0557_;
+  assign _0559_ = ~ oseq_q[3];
+  assign _0560_ = _0559_ & oseq_q[2];
+  assign _0561_ = _0560_ & oseq_q[1];
+  assign _0562_ = _0561_ & oseq_q[0];
+  assign _0563_ = _0558_ | _0562_;
+  assign _0564_ = ~ oseq_q[2];
+  assign _0565_ = oseq_q[3] & _0564_;
+  assign _0566_ = ~ oseq_q[1];
+  assign _0567_ = _0565_ & _0566_;
+  assign _0568_ = _0567_ & oseq_q[0];
+  assign _0569_ = _0563_ | _0568_;
+  assign _0570_ = ~ oseq_q[2];
+  assign _0571_ = oseq_q[3] & _0570_;
+  assign _0572_ = _0571_ & oseq_q[1];
+  assign _0573_ = _0572_ & oseq_q[0];
+  assign _0574_ = _0569_ | _0573_;
+  assign _0575_ = oseq_q[3] & oseq_q[2];
+  assign _0576_ = ~ oseq_q[1];
+  assign _0577_ = _0575_ & _0576_;
+  assign _0578_ = _0577_ & oseq_q[0];
+  assign _0579_ = _0574_ | _0578_;
+  assign _0580_ = oseq_q[3] & oseq_q[2];
+  assign _0581_ = _0580_ & oseq_q[1];
+  assign _0582_ = _0581_ & oseq_q[0];
+  assign _0583_ = ~ oseq_hold;
+  assign _0584_ = _0582_ & _0583_;
+  assign _0585_ = _0584_ & wb_remote_rd;
+  assign _0586_ = _0585_ & oclk_advance;
+  assign _0587_ = oseq_q[3] & oseq_q[2];
+  assign _0588_ = _0587_ & oseq_q[1];
+  assign _0589_ = _0588_ & oseq_q[0];
+  assign _0590_ = ~ oseq_hold;
+  assign _0591_ = _0589_ & _0590_;
+  assign _0592_ = _0591_ & wb_remote_wr;
+  assign _0593_ = _0592_ & oclk_advance;
+  assign odata_ld_header = _0586_ | _0593_;
+  assign _0594_ = ~ oseq_q[3];
+  assign _0595_ = ~ oseq_q[2];
+  assign _0596_ = _0594_ & _0595_;
+  assign _0597_ = ~ oseq_q[1];
+  assign _0598_ = _0596_ & _0597_;
+  assign _0599_ = _0598_ & oseq_q[0];
+  assign _0600_ = _0599_ & wb_remote_rd;
+  assign _0601_ = _0600_ & oclk_advance;
+  assign _0602_ = ~ oseq_q[3];
+  assign _0603_ = ~ oseq_q[2];
+  assign _0604_ = _0602_ & _0603_;
+  assign _0605_ = ~ oseq_q[1];
+  assign _0606_ = _0604_ & _0605_;
+  assign _0607_ = _0606_ & oseq_q[0];
+  assign _0608_ = _0607_ & wb_remote_wr;
+  assign _0609_ = _0608_ & oclk_advance;
+  assign _0610_ = _0601_ | _0609_;
+  assign _0611_ = ~ oseq_q[3];
+  assign _0612_ = ~ oseq_q[2];
+  assign _0613_ = _0611_ & _0612_;
+  assign _0614_ = _0613_ & oseq_q[1];
+  assign _0615_ = ~ oseq_q[0];
+  assign _0616_ = _0614_ & _0615_;
+  assign _0617_ = ~ oclk_advance;
+  assign _0618_ = _0616_ & _0617_;
+  assign _0619_ = _0610_ | _0618_;
+  assign _0620_ = ~ oseq_q[3];
+  assign _0621_ = ~ oseq_q[2];
+  assign _0622_ = _0620_ & _0621_;
+  assign _0623_ = _0622_ & oseq_q[1];
+  assign _0624_ = ~ oseq_q[0];
+  assign _0625_ = _0623_ & _0624_;
+  assign _0626_ = _0625_ & oclk_advance;
+  assign _0627_ = ~ oaddr_last;
+  assign _0628_ = _0626_ & _0627_;
+  assign odata_ld_addr = _0619_ | _0628_;
+  assign _0629_ = ~ oseq_q[3];
+  assign _0630_ = ~ oseq_q[2];
+  assign _0631_ = _0629_ & _0630_;
+  assign _0632_ = _0631_ & oseq_q[1];
+  assign _0633_ = ~ oseq_q[0];
+  assign _0634_ = _0632_ & _0633_;
+  assign _0635_ = _0634_ & wb_remote_wr;
+  assign _0636_ = _0635_ & oclk_advance;
+  assign odata_ld_sel = _0636_ & oaddr_last;
+  assign _0637_ = oseq_q[3] & oseq_q[2];
+  assign _0638_ = _0637_ & oseq_q[1];
+  assign _0639_ = _0638_ & oseq_q[0];
+  assign _0640_ = _0639_ & oseq_hold;
+  assign _0641_ = oseq_q[3] & oseq_q[2];
+  assign _0642_ = _0641_ & oseq_q[1];
+  assign _0643_ = _0642_ & oseq_q[0];
+  assign _0644_ = ~ wb_remote_rd;
+  assign _0645_ = _0643_ & _0644_;
+  assign _0646_ = ~ wb_remote_wr;
+  assign _0647_ = _0645_ & _0646_;
+  assign _0648_ = _0640_ | _0647_;
+  assign _0649_ = oseq_q[3] & oseq_q[2];
+  assign _0650_ = _0649_ & oseq_q[1];
+  assign _0651_ = _0650_ & oseq_q[0];
+  assign _0652_ = ~ oseq_hold;
+  assign _0653_ = _0651_ & _0652_;
+  assign _0654_ = ~ oclk_advance;
+  assign _0655_ = _0653_ & _0654_;
+  assign _0656_ = _0648_ | _0655_;
+  assign _0657_ = ~ oseq_q[3];
+  assign _0658_ = ~ oseq_q[2];
+  assign _0659_ = _0657_ & _0658_;
+  assign _0660_ = _0659_ & oseq_q[1];
+  assign _0661_ = ~ oseq_q[0];
+  assign _0662_ = _0660_ & _0661_;
+  assign _0663_ = ~ wb_remote_wr;
+  assign _0664_ = _0662_ & _0663_;
+  assign _0665_ = _0664_ & oclk_advance;
+  assign _0666_ = _0665_ & oaddr_last;
+  assign _0667_ = _0656_ | _0666_;
+  assign _0668_ = ~ oseq_q[3];
+  assign _0669_ = ~ oseq_q[2];
+  assign _0670_ = _0668_ & _0669_;
+  assign _0671_ = _0670_ & oseq_q[1];
+  assign _0672_ = ~ oseq_q[0];
+  assign _0673_ = _0671_ & _0672_;
+  assign _0674_ = _0673_ & wb_remote_wr;
+  assign _0675_ = _0674_ & oclk_advance;
+  assign _0676_ = _0675_ & oaddr_last;
+  assign odata_clear = _0667_ | _0676_;
+  assign _0677_ = ~ oseq_q[3];
+  assign _0678_ = ~ oseq_q[2];
+  assign _0679_ = _0677_ & _0678_;
+  assign _0680_ = _0679_ & oseq_q[1];
+  assign _0681_ = _0680_ & oseq_q[0];
+  assign _0682_ = _0681_ & oclk_advance;
+  assign _0683_ = ~ oseq_q[3];
+  assign _0684_ = _0683_ & oseq_q[2];
+  assign _0685_ = ~ oseq_q[1];
+  assign _0686_ = _0684_ & _0685_;
+  assign _0687_ = ~ oseq_q[0];
+  assign _0688_ = _0686_ & _0687_;
+  assign _0689_ = ~ oclk_advance;
+  assign _0690_ = _0688_ & _0689_;
+  assign _0691_ = _0682_ | _0690_;
+  assign _0692_ = ~ oseq_q[3];
+  assign _0693_ = _0692_ & oseq_q[2];
+  assign _0694_ = ~ oseq_q[1];
+  assign _0695_ = _0693_ & _0694_;
+  assign _0696_ = ~ oseq_q[0];
+  assign _0697_ = _0695_ & _0696_;
+  assign _0698_ = _0697_ & oclk_advance;
+  assign _0699_ = ~ odata_last;
+  assign _0700_ = _0698_ & _0699_;
+  assign _0701_ = _0691_ | _0700_;
+  assign _0702_ = ~ oseq_q[3];
+  assign _0703_ = _0702_ & oseq_q[2];
+  assign _0704_ = ~ oseq_q[1];
+  assign _0705_ = _0703_ & _0704_;
+  assign _0706_ = ~ oseq_q[0];
+  assign _0707_ = _0705_ & _0706_;
+  assign _0708_ = _0707_ & oclk_advance;
+  assign _0709_ = _0708_ & odata_last;
+  assign odata_ld_data = _0701_ | _0709_;
+  assign _0710_ = ~ oseq_q[3];
+  assign _0711_ = ~ oseq_q[2];
+  assign _0712_ = _0710_ & _0711_;
+  assign _0713_ = _0712_ & oseq_q[1];
+  assign _0714_ = ~ oseq_q[0];
+  assign _0715_ = _0713_ & _0714_;
+  assign _0716_ = ~ wb_remote_wr;
+  assign _0717_ = _0715_ & _0716_;
+  assign _0718_ = _0717_ & oclk_advance;
+  assign _0719_ = _0718_ & oaddr_last;
+  assign _0720_ = ~ oseq_q[3];
+  assign _0721_ = _0720_ & oseq_q[2];
+  assign _0722_ = ~ oseq_q[1];
+  assign _0723_ = _0721_ & _0722_;
+  assign _0724_ = ~ oseq_q[0];
+  assign _0725_ = _0723_ & _0724_;
+  assign _0726_ = _0725_ & oclk_advance;
+  assign _0727_ = _0726_ & odata_last;
+  assign ob_complete = _0719_ | _0727_;
+  assign _0728_ = ~ oseq_q[3];
+  assign _0729_ = ~ oseq_q[2];
+  assign _0730_ = _0728_ & _0729_;
+  assign _0731_ = ~ oseq_q[1];
+  assign _0732_ = _0730_ & _0731_;
+  assign _0733_ = ~ oseq_q[0];
+  assign _0734_ = _0732_ & _0733_;
+  assign _0735_ = ~ oseq_q[3];
+  assign _0736_ = _0735_ & oseq_q[2];
+  assign _0737_ = ~ oseq_q[1];
+  assign _0738_ = _0736_ & _0737_;
+  assign _0739_ = _0738_ & oseq_q[0];
+  assign _0740_ = _0734_ | _0739_;
+  assign _0741_ = ~ oseq_q[3];
+  assign _0742_ = _0741_ & oseq_q[2];
+  assign _0743_ = _0742_ & oseq_q[1];
+  assign _0744_ = ~ oseq_q[0];
+  assign _0745_ = _0743_ & _0744_;
+  assign _0746_ = _0740_ | _0745_;
+  assign _0747_ = ~ oseq_q[3];
+  assign _0748_ = _0747_ & oseq_q[2];
+  assign _0749_ = _0748_ & oseq_q[1];
+  assign _0750_ = _0749_ & oseq_q[0];
+  assign _0751_ = _0746_ | _0750_;
+  assign _0752_ = ~ oseq_q[2];
+  assign _0753_ = oseq_q[3] & _0752_;
+  assign _0754_ = ~ oseq_q[1];
+  assign _0755_ = _0753_ & _0754_;
+  assign _0756_ = ~ oseq_q[0];
+  assign _0757_ = _0755_ & _0756_;
+  assign _0758_ = _0751_ | _0757_;
+  assign _0759_ = ~ oseq_q[2];
+  assign _0760_ = oseq_q[3] & _0759_;
+  assign _0761_ = ~ oseq_q[1];
+  assign _0762_ = _0760_ & _0761_;
+  assign _0763_ = _0762_ & oseq_q[0];
+  assign _0764_ = _0758_ | _0763_;
+  assign _0765_ = ~ oseq_q[2];
+  assign _0766_ = oseq_q[3] & _0765_;
+  assign _0767_ = _0766_ & oseq_q[1];
+  assign _0768_ = ~ oseq_q[0];
+  assign _0769_ = _0767_ & _0768_;
+  assign _0770_ = _0764_ | _0769_;
+  assign _0771_ = ~ oseq_q[2];
+  assign _0772_ = oseq_q[3] & _0771_;
+  assign _0773_ = _0772_ & oseq_q[1];
+  assign _0774_ = _0773_ & oseq_q[0];
+  assign _0775_ = _0770_ | _0774_;
+  assign _0776_ = oseq_q[3] & oseq_q[2];
+  assign _0777_ = ~ oseq_q[1];
+  assign _0778_ = _0776_ & _0777_;
+  assign _0779_ = ~ oseq_q[0];
+  assign _0780_ = _0778_ & _0779_;
+  assign _0781_ = _0775_ | _0780_;
+  assign _0782_ = oseq_q[3] & oseq_q[2];
+  assign _0783_ = ~ oseq_q[1];
+  assign _0784_ = _0782_ & _0783_;
+  assign _0785_ = _0784_ & oseq_q[0];
+  assign _0786_ = _0781_ | _0785_;
+  assign _0787_ = oseq_q[3] & oseq_q[2];
+  assign _0788_ = _0787_ & oseq_q[1];
+  assign _0789_ = ~ oseq_q[0];
+  assign _0790_ = _0788_ & _0789_;
+  assign oseq_err = _0786_ | _0790_;
+  assign _0791_ = iseq_q[3] & iseq_q[2];
+  assign _0792_ = _0791_ & iseq_q[1];
+  assign _0793_ = _0792_ & iseq_q[0];
+  assign _0794_ = ~ icapture_q;
+  assign _0795_ = _0793_ & _0794_;
+  assign _0796_ = iseq_q[3] & iseq_q[2];
+  assign _0797_ = _0796_ & iseq_q[1];
+  assign _0798_ = _0797_ & iseq_q[0];
+  assign _0799_ = _0798_ & icapture_q;
+  assign _0800_ = _0799_ & idle_header;
+  assign _0801_ = _0795_ | _0800_;
+  assign _0802_ = iseq_q[3] & iseq_q[2];
+  assign _0803_ = _0802_ & iseq_q[1];
+  assign _0804_ = _0803_ & iseq_q[0];
+  assign _0805_ = _0804_ & icapture_q;
+  assign _0806_ = _0805_ & rd8_rsp;
+  assign _0807_ = _0801_ | _0806_;
+  assign _0808_ = ~ iseq_q[2];
+  assign _0809_ = iseq_q[3] & _0808_;
+  assign _0810_ = ~ iseq_q[1];
+  assign _0811_ = _0809_ & _0810_;
+  assign _0812_ = ~ iseq_q[0];
+  assign _0813_ = _0811_ & _0812_;
+  assign _0814_ = ~ icapture_q;
+  assign _0815_ = _0813_ & _0814_;
+  assign _0816_ = _0807_ | _0815_;
+  assign _0817_ = ~ iseq_q[2];
+  assign _0818_ = iseq_q[3] & _0817_;
+  assign _0819_ = ~ iseq_q[1];
+  assign _0820_ = _0818_ & _0819_;
+  assign _0821_ = ~ iseq_q[0];
+  assign _0822_ = _0820_ & _0821_;
+  assign _0823_ = _0822_ & icapture_q;
+  assign _0824_ = ~ rd_rsp_data_done;
+  assign _0825_ = _0823_ & _0824_;
+  assign _0826_ = _0816_ | _0825_;
+  assign _0827_ = ~ iseq_q[2];
+  assign _0828_ = iseq_q[3] & _0827_;
+  assign _0829_ = ~ iseq_q[1];
+  assign _0830_ = _0828_ & _0829_;
+  assign _0831_ = ~ iseq_q[0];
+  assign _0832_ = _0830_ & _0831_;
+  assign _0833_ = _0832_ & icapture_q;
+  assign _0834_ = _0833_ & rd_rsp_data_done;
+  assign _0835_ = _0826_ | _0834_;
+  assign _0836_ = ~ iseq_q[3];
+  assign _0837_ = ~ iseq_q[2];
+  assign _0838_ = _0836_ & _0837_;
+  assign _0839_ = ~ iseq_q[1];
+  assign _0840_ = _0838_ & _0839_;
+  assign _0841_ = _0840_ & iseq_q[0];
+  assign _0842_ = _0835_ | _0841_;
+  assign _0843_ = ~ iseq_q[3];
+  assign _0844_ = ~ iseq_q[2];
+  assign _0845_ = _0843_ & _0844_;
+  assign _0846_ = _0845_ & iseq_q[1];
+  assign _0847_ = ~ iseq_q[0];
+  assign _0848_ = _0846_ & _0847_;
+  assign _0849_ = _0842_ | _0848_;
+  assign _0850_ = ~ iseq_q[3];
+  assign _0851_ = _0850_ & iseq_q[2];
+  assign _0852_ = _0851_ & iseq_q[1];
+  assign _0853_ = _0852_ & iseq_q[0];
+  assign _0854_ = _0853_ & icapture_q;
+  assign _0855_ = _0854_ & idle_header;
+  assign _0856_ = _0849_ | _0855_;
+  assign _0857_ = ~ iseq_q[2];
+  assign _0858_ = iseq_q[3] & _0857_;
+  assign _0859_ = ~ iseq_q[1];
+  assign _0860_ = _0858_ & _0859_;
+  assign _0861_ = _0860_ & iseq_q[0];
+  assign _0862_ = _0856_ | _0861_;
+  assign _0863_ = ~ iseq_q[2];
+  assign _0864_ = iseq_q[3] & _0863_;
+  assign _0865_ = _0864_ & iseq_q[1];
+  assign _0866_ = ~ iseq_q[0];
+  assign _0867_ = _0865_ & _0866_;
+  assign _0868_ = _0862_ | _0867_;
+  assign _0869_ = ~ iseq_q[2];
+  assign _0870_ = iseq_q[3] & _0869_;
+  assign _0871_ = _0870_ & iseq_q[1];
+  assign _0872_ = _0871_ & iseq_q[0];
+  assign _0873_ = _0868_ | _0872_;
+  assign _0874_ = iseq_q[3] & iseq_q[2];
+  assign _0875_ = ~ iseq_q[1];
+  assign _0876_ = _0874_ & _0875_;
+  assign _0877_ = ~ iseq_q[0];
+  assign _0878_ = _0876_ & _0877_;
+  assign _0879_ = _0873_ | _0878_;
+  assign _0880_ = iseq_q[3] & iseq_q[2];
+  assign _0881_ = ~ iseq_q[1];
+  assign _0882_ = _0880_ & _0881_;
+  assign _0883_ = _0882_ & iseq_q[0];
+  assign _0884_ = _0879_ | _0883_;
+  assign _0885_ = iseq_q[3] & iseq_q[2];
+  assign _0886_ = _0885_ & iseq_q[1];
+  assign _0887_ = ~ iseq_q[0];
+  assign _0888_ = _0886_ & _0887_;
+  assign _0889_ = _0884_ | _0888_;
+  assign _0890_ = iseq_q[3] & iseq_q[2];
+  assign _0891_ = _0890_ & iseq_q[1];
+  assign _0892_ = _0891_ & iseq_q[0];
+  assign _0893_ = ~ icapture_q;
+  assign _0894_ = _0892_ & _0893_;
+  assign _0895_ = iseq_q[3] & iseq_q[2];
+  assign _0896_ = _0895_ & iseq_q[1];
+  assign _0897_ = _0896_ & iseq_q[0];
+  assign _0898_ = _0897_ & icapture_q;
+  assign _0899_ = _0898_ & idle_header;
+  assign _0900_ = _0894_ | _0899_;
+  assign _0901_ = iseq_q[3] & iseq_q[2];
+  assign _0902_ = _0901_ & iseq_q[1];
+  assign _0903_ = _0902_ & iseq_q[0];
+  assign _0904_ = _0903_ & icapture_q;
+  assign _0905_ = _0904_ & bad_header;
+  assign _0906_ = _0900_ | _0905_;
+  assign _0907_ = iseq_q[3] & iseq_q[2];
+  assign _0908_ = _0907_ & iseq_q[1];
+  assign _0909_ = _0908_ & iseq_q[0];
+  assign _0910_ = _0909_ & icapture_q;
+  assign _0911_ = _0910_ & sync_ack;
+  assign _0912_ = _0906_ | _0911_;
+  assign _0913_ = iseq_q[3] & iseq_q[2];
+  assign _0914_ = _0913_ & iseq_q[1];
+  assign _0915_ = _0914_ & iseq_q[0];
+  assign _0916_ = _0915_ & icapture_q;
+  assign _0917_ = _0916_ & cache_inv;
+  assign _0918_ = _0912_ | _0917_;
+  assign _0919_ = iseq_q[3] & iseq_q[2];
+  assign _0920_ = _0919_ & iseq_q[1];
+  assign _0921_ = _0920_ & iseq_q[0];
+  assign _0922_ = _0921_ & icapture_q;
+  assign _0923_ = _0922_ & link_req_i;
+  assign _0924_ = _0918_ | _0923_;
+  assign _0925_ = iseq_q[3] & iseq_q[2];
+  assign _0926_ = _0925_ & iseq_q[1];
+  assign _0927_ = _0926_ & iseq_q[0];
+  assign _0928_ = _0927_ & icapture_q;
+  assign _0929_ = _0928_ & link_rsp_i;
+  assign _0930_ = _0924_ | _0929_;
+  assign _0931_ = ~ iseq_q[2];
+  assign _0932_ = iseq_q[3] & _0931_;
+  assign _0933_ = ~ iseq_q[1];
+  assign _0934_ = _0932_ & _0933_;
+  assign _0935_ = ~ iseq_q[0];
+  assign _0936_ = _0934_ & _0935_;
+  assign _0937_ = _0936_ & icapture_q;
+  assign _0938_ = _0937_ & rd_rsp_data_done;
+  assign _0939_ = _0930_ | _0938_;
+  assign _0940_ = ~ iseq_q[3];
+  assign _0941_ = ~ iseq_q[2];
+  assign _0942_ = _0940_ & _0941_;
+  assign _0943_ = ~ iseq_q[1];
+  assign _0944_ = _0942_ & _0943_;
+  assign _0945_ = _0944_ & iseq_q[0];
+  assign _0946_ = _0939_ | _0945_;
+  assign _0947_ = ~ iseq_q[3];
+  assign _0948_ = ~ iseq_q[2];
+  assign _0949_ = _0947_ & _0948_;
+  assign _0950_ = _0949_ & iseq_q[1];
+  assign _0951_ = ~ iseq_q[0];
+  assign _0952_ = _0950_ & _0951_;
+  assign _0953_ = _0946_ | _0952_;
+  assign _0954_ = ~ iseq_q[3];
+  assign _0955_ = _0954_ & iseq_q[2];
+  assign _0956_ = _0955_ & iseq_q[1];
+  assign _0957_ = ~ iseq_q[0];
+  assign _0958_ = _0956_ & _0957_;
+  assign _0959_ = _0953_ | _0958_;
+  assign _0960_ = ~ iseq_q[3];
+  assign _0961_ = _0960_ & iseq_q[2];
+  assign _0962_ = _0961_ & iseq_q[1];
+  assign _0963_ = _0962_ & iseq_q[0];
+  assign _0964_ = ~ icapture_q;
+  assign _0965_ = _0963_ & _0964_;
+  assign _0966_ = _0959_ | _0965_;
+  assign _0967_ = ~ iseq_q[3];
+  assign _0968_ = _0967_ & iseq_q[2];
+  assign _0969_ = _0968_ & iseq_q[1];
+  assign _0970_ = _0969_ & iseq_q[0];
+  assign _0971_ = _0970_ & icapture_q;
+  assign _0972_ = _0971_ & idle_header;
+  assign _0973_ = _0966_ | _0972_;
+  assign _0974_ = ~ iseq_q[3];
+  assign _0975_ = _0974_ & iseq_q[2];
+  assign _0976_ = _0975_ & iseq_q[1];
+  assign _0977_ = _0976_ & iseq_q[0];
+  assign _0978_ = _0977_ & icapture_q;
+  assign _0979_ = ~ idle_header;
+  assign _0980_ = _0978_ & _0979_;
+  assign _0981_ = _0973_ | _0980_;
+  assign _0982_ = ~ iseq_q[3];
+  assign _0983_ = _0982_ & iseq_q[2];
+  assign _0984_ = ~ iseq_q[1];
+  assign _0985_ = _0983_ & _0984_;
+  assign _0986_ = ~ iseq_q[0];
+  assign _0987_ = _0985_ & _0986_;
+  assign _0988_ = _0981_ | _0987_;
+  assign _0989_ = ~ iseq_q[3];
+  assign _0990_ = _0989_ & iseq_q[2];
+  assign _0991_ = ~ iseq_q[1];
+  assign _0992_ = _0990_ & _0991_;
+  assign _0993_ = _0992_ & iseq_q[0];
+  assign _0994_ = _0988_ | _0993_;
+  assign _0995_ = iseq_q[3] & iseq_q[2];
+  assign _0996_ = ~ iseq_q[1];
+  assign _0997_ = _0995_ & _0996_;
+  assign _0998_ = ~ iseq_q[0];
+  assign _0999_ = _0997_ & _0998_;
+  assign _1000_ = _0994_ | _0999_;
+  assign _1001_ = iseq_q[3] & iseq_q[2];
+  assign _1002_ = ~ iseq_q[1];
+  assign _1003_ = _1001_ & _1002_;
+  assign _1004_ = _1003_ & iseq_q[0];
+  assign _1005_ = _1000_ | _1004_;
+  assign _1006_ = iseq_q[3] & iseq_q[2];
+  assign _1007_ = _1006_ & iseq_q[1];
+  assign _1008_ = ~ iseq_q[0];
+  assign _1009_ = _1007_ & _1008_;
+  assign _1010_ = _1005_ | _1009_;
+  assign _1011_ = iseq_q[3] & iseq_q[2];
+  assign _1012_ = _1011_ & iseq_q[1];
+  assign _1013_ = _1012_ & iseq_q[0];
+  assign _1014_ = ~ icapture_q;
+  assign _1015_ = _1013_ & _1014_;
+  assign _1016_ = iseq_q[3] & iseq_q[2];
+  assign _1017_ = _1016_ & iseq_q[1];
+  assign _1018_ = _1017_ & iseq_q[0];
+  assign _1019_ = _1018_ & icapture_q;
+  assign _1020_ = _1019_ & idle_header;
+  assign _1021_ = _1015_ | _1020_;
+  assign _1022_ = iseq_q[3] & iseq_q[2];
+  assign _1023_ = _1022_ & iseq_q[1];
+  assign _1024_ = _1023_ & iseq_q[0];
+  assign _1025_ = _1024_ & icapture_q;
+  assign _1026_ = _1025_ & bad_header;
+  assign _1027_ = _1021_ | _1026_;
+  assign _1028_ = iseq_q[3] & iseq_q[2];
+  assign _1029_ = _1028_ & iseq_q[1];
+  assign _1030_ = _1029_ & iseq_q[0];
+  assign _1031_ = _1030_ & icapture_q;
+  assign _1032_ = _1031_ & int_req;
+  assign _1033_ = _1027_ | _1032_;
+  assign _1034_ = iseq_q[3] & iseq_q[2];
+  assign _1035_ = _1034_ & iseq_q[1];
+  assign _1036_ = _1035_ & iseq_q[0];
+  assign _1037_ = _1036_ & icapture_q;
+  assign _1038_ = _1037_ & sync_ack;
+  assign _1039_ = _1033_ | _1038_;
+  assign _1040_ = iseq_q[3] & iseq_q[2];
+  assign _1041_ = _1040_ & iseq_q[1];
+  assign _1042_ = _1041_ & iseq_q[0];
+  assign _1043_ = _1042_ & icapture_q;
+  assign _1044_ = _1043_ & cache_inv;
+  assign _1045_ = _1039_ | _1044_;
+  assign _1046_ = iseq_q[3] & iseq_q[2];
+  assign _1047_ = _1046_ & iseq_q[1];
+  assign _1048_ = _1047_ & iseq_q[0];
+  assign _1049_ = _1048_ & icapture_q;
+  assign _1050_ = _1049_ & link_req_i;
+  assign _1051_ = _1045_ | _1050_;
+  assign _1052_ = iseq_q[3] & iseq_q[2];
+  assign _1053_ = _1052_ & iseq_q[1];
+  assign _1054_ = _1053_ & iseq_q[0];
+  assign _1055_ = _1054_ & icapture_q;
+  assign _1056_ = _1055_ & link_rsp_i;
+  assign _1057_ = _1051_ | _1056_;
+  assign _1058_ = ~ iseq_q[2];
+  assign _1059_ = iseq_q[3] & _1058_;
+  assign _1060_ = ~ iseq_q[1];
+  assign _1061_ = _1059_ & _1060_;
+  assign _1062_ = ~ iseq_q[0];
+  assign _1063_ = _1061_ & _1062_;
+  assign _1064_ = _1063_ & icapture_q;
+  assign _1065_ = _1064_ & rd_rsp_data_done;
+  assign _1066_ = _1057_ | _1065_;
+  assign _1067_ = ~ iseq_q[3];
+  assign _1068_ = ~ iseq_q[2];
+  assign _1069_ = _1067_ & _1068_;
+  assign _1070_ = ~ iseq_q[1];
+  assign _1071_ = _1069_ & _1070_;
+  assign _1072_ = _1071_ & iseq_q[0];
+  assign _1073_ = _1066_ | _1072_;
+  assign _1074_ = ~ iseq_q[3];
+  assign _1075_ = ~ iseq_q[2];
+  assign _1076_ = _1074_ & _1075_;
+  assign _1077_ = _1076_ & iseq_q[1];
+  assign _1078_ = ~ iseq_q[0];
+  assign _1079_ = _1077_ & _1078_;
+  assign _1080_ = _1073_ | _1079_;
+  assign _1081_ = ~ iseq_q[3];
+  assign _1082_ = _1081_ & iseq_q[2];
+  assign _1083_ = _1082_ & iseq_q[1];
+  assign _1084_ = ~ iseq_q[0];
+  assign _1085_ = _1083_ & _1084_;
+  assign _1086_ = _1080_ | _1085_;
+  assign _1087_ = ~ iseq_q[3];
+  assign _1088_ = _1087_ & iseq_q[2];
+  assign _1089_ = _1088_ & iseq_q[1];
+  assign _1090_ = _1089_ & iseq_q[0];
+  assign _1091_ = ~ icapture_q;
+  assign _1092_ = _1090_ & _1091_;
+  assign _1093_ = _1086_ | _1092_;
+  assign _1094_ = ~ iseq_q[3];
+  assign _1095_ = _1094_ & iseq_q[2];
+  assign _1096_ = _1095_ & iseq_q[1];
+  assign _1097_ = _1096_ & iseq_q[0];
+  assign _1098_ = _1097_ & icapture_q;
+  assign _1099_ = _1098_ & idle_header;
+  assign _1100_ = _1093_ | _1099_;
+  assign _1101_ = ~ iseq_q[3];
+  assign _1102_ = _1101_ & iseq_q[2];
+  assign _1103_ = _1102_ & iseq_q[1];
+  assign _1104_ = _1103_ & iseq_q[0];
+  assign _1105_ = _1104_ & icapture_q;
+  assign _1106_ = ~ idle_header;
+  assign _1107_ = _1105_ & _1106_;
+  assign _1108_ = _1100_ | _1107_;
+  assign _1109_ = ~ iseq_q[3];
+  assign _1110_ = ~ iseq_q[2];
+  assign _1111_ = _1109_ & _1110_;
+  assign _1112_ = _1111_ & iseq_q[1];
+  assign _1113_ = _1112_ & iseq_q[0];
+  assign _1114_ = _1108_ | _1113_;
+  assign _1115_ = ~ iseq_q[2];
+  assign _1116_ = iseq_q[3] & _1115_;
+  assign _1117_ = _1116_ & iseq_q[1];
+  assign _1118_ = ~ iseq_q[0];
+  assign _1119_ = _1117_ & _1118_;
+  assign _1120_ = _1114_ | _1119_;
+  assign _1121_ = ~ iseq_q[2];
+  assign _1122_ = iseq_q[3] & _1121_;
+  assign _1123_ = _1122_ & iseq_q[1];
+  assign _1124_ = _1123_ & iseq_q[0];
+  assign _1125_ = _1120_ | _1124_;
+  assign _1126_ = iseq_q[3] & iseq_q[2];
+  assign _1127_ = _1126_ & iseq_q[1];
+  assign _1128_ = ~ iseq_q[0];
+  assign _1129_ = _1127_ & _1128_;
+  assign _1130_ = _1125_ | _1129_;
+  assign _1131_ = iseq_q[3] & iseq_q[2];
+  assign _1132_ = _1131_ & iseq_q[1];
+  assign _1133_ = _1132_ & iseq_q[0];
+  assign _1134_ = ~ icapture_q;
+  assign _1135_ = _1133_ & _1134_;
+  assign _1136_ = iseq_q[3] & iseq_q[2];
+  assign _1137_ = _1136_ & iseq_q[1];
+  assign _1138_ = _1137_ & iseq_q[0];
+  assign _1139_ = _1138_ & icapture_q;
+  assign _1140_ = _1139_ & idle_header;
+  assign _1141_ = _1135_ | _1140_;
+  assign _1142_ = iseq_q[3] & iseq_q[2];
+  assign _1143_ = _1142_ & iseq_q[1];
+  assign _1144_ = _1143_ & iseq_q[0];
+  assign _1145_ = _1144_ & icapture_q;
+  assign _1146_ = _1145_ & wr8_rsp;
+  assign _1147_ = _1141_ | _1146_;
+  assign _1148_ = ~ iseq_q[2];
+  assign _1149_ = iseq_q[3] & _1148_;
+  assign _1150_ = ~ iseq_q[1];
+  assign _1151_ = _1149_ & _1150_;
+  assign _1152_ = ~ iseq_q[0];
+  assign _1153_ = _1151_ & _1152_;
+  assign _1154_ = _1153_ & icapture_q;
+  assign _1155_ = _1154_ & rd_rsp_data_done;
+  assign _1156_ = _1147_ | _1155_;
+  assign _1157_ = ~ iseq_q[3];
+  assign _1158_ = ~ iseq_q[2];
+  assign _1159_ = _1157_ & _1158_;
+  assign _1160_ = ~ iseq_q[1];
+  assign _1161_ = _1159_ & _1160_;
+  assign _1162_ = _1161_ & iseq_q[0];
+  assign _1163_ = _1156_ | _1162_;
+  assign _1164_ = ~ iseq_q[3];
+  assign _1165_ = ~ iseq_q[2];
+  assign _1166_ = _1164_ & _1165_;
+  assign _1167_ = _1166_ & iseq_q[1];
+  assign _1168_ = ~ iseq_q[0];
+  assign _1169_ = _1167_ & _1168_;
+  assign _1170_ = _1163_ | _1169_;
+  assign _1171_ = ~ iseq_q[3];
+  assign _1172_ = _1171_ & iseq_q[2];
+  assign _1173_ = _1172_ & iseq_q[1];
+  assign _1174_ = ~ iseq_q[0];
+  assign _1175_ = _1173_ & _1174_;
+  assign _1176_ = _1170_ | _1175_;
+  assign _1177_ = ~ iseq_q[3];
+  assign _1178_ = _1177_ & iseq_q[2];
+  assign _1179_ = _1178_ & iseq_q[1];
+  assign _1180_ = _1179_ & iseq_q[0];
+  assign _1181_ = _1180_ & icapture_q;
+  assign _1182_ = _1181_ & idle_header;
+  assign _1183_ = _1176_ | _1182_;
+  assign _1184_ = ~ iseq_q[3];
+  assign _1185_ = ~ iseq_q[2];
+  assign _1186_ = _1184_ & _1185_;
+  assign _1187_ = _1186_ & iseq_q[1];
+  assign _1188_ = _1187_ & iseq_q[0];
+  assign _1189_ = _1183_ | _1188_;
+  assign _1190_ = ~ iseq_q[3];
+  assign _1191_ = _1190_ & iseq_q[2];
+  assign _1192_ = ~ iseq_q[1];
+  assign _1193_ = _1191_ & _1192_;
+  assign _1194_ = _1193_ & iseq_q[0];
+  assign _1195_ = _1189_ | _1194_;
+  assign _1196_ = ~ iseq_q[2];
+  assign _1197_ = iseq_q[3] & _1196_;
+  assign _1198_ = ~ iseq_q[1];
+  assign _1199_ = _1197_ & _1198_;
+  assign _1200_ = _1199_ & iseq_q[0];
+  assign _1201_ = _1195_ | _1200_;
+  assign _1202_ = ~ iseq_q[2];
+  assign _1203_ = iseq_q[3] & _1202_;
+  assign _1204_ = _1203_ & iseq_q[1];
+  assign _1205_ = _1204_ & iseq_q[0];
+  assign _1206_ = _1201_ | _1205_;
+  assign _1207_ = iseq_q[3] & iseq_q[2];
+  assign _1208_ = ~ iseq_q[1];
+  assign _1209_ = _1207_ & _1208_;
+  assign _1210_ = _1209_ & iseq_q[0];
+  assign _1211_ = _1206_ | _1210_;
+  assign _1212_ = ~ iseq_q[2];
+  assign _1213_ = iseq_q[3] & _1212_;
+  assign _1214_ = ~ iseq_q[1];
+  assign _1215_ = _1213_ & _1214_;
+  assign _1216_ = ~ iseq_q[0];
+  assign _1217_ = _1215_ & _1216_;
+  assign _1218_ = _1217_ & icapture_q;
+  assign _1219_ = ~ rd_rsp_data_done;
+  assign _1220_ = _1218_ & _1219_;
+  assign _1221_ = ~ iseq_q[2];
+  assign _1222_ = iseq_q[3] & _1221_;
+  assign _1223_ = ~ iseq_q[1];
+  assign _1224_ = _1222_ & _1223_;
+  assign _1225_ = ~ iseq_q[0];
+  assign _1226_ = _1224_ & _1225_;
+  assign _1227_ = _1226_ & icapture_q;
+  assign _1228_ = _1227_ & rd_rsp_data_done;
+  assign ld_rd_data = _1220_ | _1228_;
+  assign _1229_ = ~ iseq_q[2];
+  assign _1230_ = iseq_q[3] & _1229_;
+  assign _1231_ = ~ iseq_q[1];
+  assign _1232_ = _1230_ & _1231_;
+  assign _1233_ = ~ iseq_q[0];
+  assign _1234_ = _1232_ & _1233_;
+  assign _1235_ = _1234_ & icapture_q;
+  assign rd_rsp_complete = _1235_ & rd_rsp_data_done;
+  assign _1236_ = ~ iseq_q[3];
+  assign _1237_ = ~ iseq_q[2];
+  assign _1238_ = _1236_ & _1237_;
+  assign _1239_ = ~ iseq_q[1];
+  assign _1240_ = _1238_ & _1239_;
+  assign wr_rsp_complete = _1240_ & iseq_q[0];
+  assign _1241_ = ~ iseq_q[3];
+  assign _1242_ = ~ iseq_q[2];
+  assign _1243_ = _1241_ & _1242_;
+  assign _1244_ = _1243_ & iseq_q[1];
+  assign _1245_ = ~ iseq_q[0];
+  assign int_req_complete = _1244_ & _1245_;
+  assign _1246_ = iseq_q[3] & iseq_q[2];
+  assign _1247_ = _1246_ & iseq_q[1];
+  assign _1248_ = _1247_ & iseq_q[0];
+  assign _1249_ = ~ icapture_q;
+  assign _1250_ = _1248_ & _1249_;
+  assign _1251_ = iseq_q[3] & iseq_q[2];
+  assign _1252_ = _1251_ & iseq_q[1];
+  assign _1253_ = _1252_ & iseq_q[0];
+  assign _1254_ = _1253_ & icapture_q;
+  assign _1255_ = _1254_ & idle_header;
+  assign idata_clear = _1250_ | _1255_;
+  assign _1256_ = ~ iseq_q[3];
+  assign _1257_ = ~ iseq_q[2];
+  assign _1258_ = _1256_ & _1257_;
+  assign _1259_ = _1258_ & iseq_q[1];
+  assign _1260_ = ~ iseq_q[0];
+  assign _1261_ = _1259_ & _1260_;
+  assign _1262_ = ~ iseq_q[3];
+  assign _1263_ = _1262_ & iseq_q[2];
+  assign _1264_ = _1263_ & iseq_q[1];
+  assign _1265_ = ~ iseq_q[0];
+  assign _1266_ = _1264_ & _1265_;
+  assign save_header = _1261_ | _1266_;
+  assign _1267_ = iseq_q[3] & iseq_q[2];
+  assign _1268_ = _1267_ & iseq_q[1];
+  assign iseq_idle = _1268_ & iseq_q[0];
+  assign _1269_ = ~ iseq_q[3];
+  assign _1270_ = ~ iseq_q[2];
+  assign _1271_ = _1269_ & _1270_;
+  assign _1272_ = ~ iseq_q[1];
+  assign _1273_ = _1271_ & _1272_;
+  assign _1274_ = ~ iseq_q[0];
+  assign _1275_ = _1273_ & _1274_;
+  assign _1276_ = ~ iseq_q[3];
+  assign _1277_ = ~ iseq_q[2];
+  assign _1278_ = _1276_ & _1277_;
+  assign _1279_ = _1278_ & iseq_q[1];
+  assign _1280_ = _1279_ & iseq_q[0];
+  assign _1281_ = _1275_ | _1280_;
+  assign _1282_ = ~ iseq_q[3];
+  assign _1283_ = _1282_ & iseq_q[2];
+  assign _1284_ = ~ iseq_q[1];
+  assign _1285_ = _1283_ & _1284_;
+  assign _1286_ = ~ iseq_q[0];
+  assign _1287_ = _1285_ & _1286_;
+  assign _1288_ = _1281_ | _1287_;
+  assign _1289_ = ~ iseq_q[3];
+  assign _1290_ = _1289_ & iseq_q[2];
+  assign _1291_ = ~ iseq_q[1];
+  assign _1292_ = _1290_ & _1291_;
+  assign _1293_ = _1292_ & iseq_q[0];
+  assign _1294_ = _1288_ | _1293_;
+  assign _1295_ = ~ iseq_q[2];
+  assign _1296_ = iseq_q[3] & _1295_;
+  assign _1297_ = ~ iseq_q[1];
+  assign _1298_ = _1296_ & _1297_;
+  assign _1299_ = _1298_ & iseq_q[0];
+  assign _1300_ = _1294_ | _1299_;
+  assign _1301_ = ~ iseq_q[2];
+  assign _1302_ = iseq_q[3] & _1301_;
+  assign _1303_ = _1302_ & iseq_q[1];
+  assign _1304_ = ~ iseq_q[0];
+  assign _1305_ = _1303_ & _1304_;
+  assign _1306_ = _1300_ | _1305_;
+  assign _1307_ = ~ iseq_q[2];
+  assign _1308_ = iseq_q[3] & _1307_;
+  assign _1309_ = _1308_ & iseq_q[1];
+  assign _1310_ = _1309_ & iseq_q[0];
+  assign _1311_ = _1306_ | _1310_;
+  assign _1312_ = iseq_q[3] & iseq_q[2];
+  assign _1313_ = ~ iseq_q[1];
+  assign _1314_ = _1312_ & _1313_;
+  assign _1315_ = ~ iseq_q[0];
+  assign _1316_ = _1314_ & _1315_;
+  assign _1317_ = _1311_ | _1316_;
+  assign _1318_ = iseq_q[3] & iseq_q[2];
+  assign _1319_ = ~ iseq_q[1];
+  assign _1320_ = _1318_ & _1319_;
+  assign _1321_ = _1320_ & iseq_q[0];
+  assign _1322_ = _1317_ | _1321_;
+  assign _1323_ = iseq_q[3] & iseq_q[2];
+  assign _1324_ = _1323_ & iseq_q[1];
+  assign _1325_ = ~ iseq_q[0];
+  assign _1326_ = _1324_ & _1325_;
+  assign iseq_err = _1322_ | _1326_;
+  assign _1327_ = config_q[63] | config_q[62];
+  assign _1328_ = _1327_ | config_q[61];
+  assign _1329_ = _1328_ | config_q[60];
+  assign _1330_ = _1329_ | config_q[59];
+  assign _1331_ = _1330_ | config_q[58];
+  assign _1332_ = _1331_ | config_q[57];
+  assign _1333_ = _1332_ | config_q[56];
+  assign _1334_ = rst ? 64'h000000001fffc463 : { _1384_, _1379_, _1378_, _1377_, _1376_, _1373_, _1375_, _1372_, _1371_, _1370_, _1369_, _1368_, _1367_, _1366_ };
+  assign _1335_ = rst ? 4'hf : { _1722_, _1817_, _1892_, _1963_ };
+  assign _1336_ = rst ? 107'h000000000000000000000000000 : { _1358_, _1355_, _1352_, _1361_, _1360_, _1359_ };
+  assign _1337_ = rst ? 66'h00000000000000000 : { _0079_, _0106_, _1520_ };
+  assign _1338_ = rst ? 1'h0 : oclk_d;
+  assign _1339_ = rst ? 1'h0 : oclk_last_d;
+  assign _1340_ = rst ? 8'h00 : odata_d;
+  assign _1341_ = rst ? 1'h1 : opty_d;
+  assign _1342_ = rst ? 4'hf : { _0248_, _0347_, _0469_, _0579_ };
+  assign _1343_ = rst ? 16'h0000 : oclk_cnt_d;
+  assign _1344_ = rst ? 3'h0 : odata_cnt_d;
+  assign _1345_ = rst ? 8'h00 : idata_d;
+  assign _1346_ = rst ? 1'h1 : ipty_d;
+  assign _1347_ = rst ? 4'hf : { _0889_, _1010_, _1130_, _1211_ };
+  assign _1348_ = rst ? 1'h0 : icapture_d;
+  assign _1349_ = rst ? 3'h0 : idata_cnt_d;
+  always @(posedge clk)
+    config_q <= _1334_;
+  always @(posedge clk)
+    wbseq_q <= _1335_;
+  always @(posedge clk)
+    wb_in_q <= _1336_;
+  always @(posedge clk)
+    wb_out_q <= _1337_;
+  always @(posedge clk)
+    oclk_q <= _1338_;
+  always @(posedge clk)
+    oclk_last_q <= _1339_;
+  always @(posedge clk)
+    odata_q <= _1340_;
+  always @(posedge clk)
+    opty_q <= _1341_;
+  always @(posedge clk)
+    oseq_q <= _1342_;
+  always @(posedge clk)
+    oclk_cnt_q <= _1343_;
+  always @(posedge clk)
+    odata_cnt_q <= _1344_;
+  always @(posedge clk)
+    idata_q <= _1345_;
+  always @(posedge clk)
+    ipty_q <= _1346_;
+  always @(posedge clk)
+    iseq_q <= _1347_;
+  always @(posedge clk)
+    icapture_q <= _1348_;
+  always @(posedge clk)
+    idata_cnt_q <= _1349_;
+  assign _1350_ = wb_cyc & wb_stb;
+  assign _1351_ = ~ wb_out_q[65];
+  assign wb_req = _1350_ & _1351_;
+  assign _1352_ = wb_req ? 1'h1 : _1354_;
+  assign _1353_ = ~ wb_out_q[64];
+  assign _1354_ = wb_in_q[104] & _1353_;
+  assign _1355_ = wb_req ? 1'h1 : _1357_;
+  assign _1356_ = ~ wb_out_q[64];
+  assign _1357_ = wb_in_q[105] & _1356_;
+  assign _1358_ = wb_req ? wb_we : wb_in_q[106];
+  assign _1359_ = wb_req ? wb_addr : wb_in_q[31:0];
+  assign _1360_ = wb_req ? wb_wr_data : wb_in_q[95:32];
+  assign _1361_ = wb_req ? wb_sel : wb_in_q[103:96];
+  assign _1362_ = wb_addr[31:16] == config_q[31:16];
+  assign _1363_ = _1362_ ? 1'h1 : 1'h0;
+  assign wb_local = config_q[14] & _1363_;
+  assign _1364_ = wb_addr[15:0] == 16'h0000;
+  assign _1365_ = _1364_ ? 1'h1 : 1'h0;
+  assign config_write = wb_local_wr & _1365_;
+  assign _1366_ = config_write ? _1360_[63] : config_q[0];
+  assign _1367_ = config_write ? _1360_[62:59] : config_q[4:1];
+  assign _1368_ = config_write ? _1360_[58:56] : config_q[7:5];
+  assign _1369_ = config_write ? _1360_[55] : config_q[8];
+  assign _1370_ = config_write ? _1360_[54] : config_q[9];
+  assign _1371_ = config_write ? _1360_[50] : config_q[10];
+  assign _1372_ = config_write ? _1360_[53:51] : config_q[13:11];
+  assign _1373_ = config_write ? _1360_[49] : _1374_;
+  assign _1374_ = config_q[15] | int_req_complete;
+  assign _1375_ = config_write ? _1360_[48] : config_q[14];
+  assign _1376_ = config_write ? _1360_[47:32] : config_q[31:16];
+  assign _1377_ = config_write ? _1360_[31:24] : config_q[39:32];
+  assign _1378_ = config_write ? _1360_[23:16] : config_q[47:40];
+  assign _1379_ = config_write ? _1360_[15:8] : _1383_;
+  assign _1380_ = save_header ? idata_q : 8'h00;
+  assign _1381_ = ~ save_header;
+  assign _1382_ = _1381_ ? config_q[55:48] : 8'h00;
+  assign _1383_ = _1380_ | _1382_;
+  assign _1384_ = config_write ? _1360_[7:0] : { _1385_, _1386_, _1387_, _1388_, _1389_, _1390_, _1391_, config_q[56] };
+  assign _1385_ = config_q[63] | wbseq_err;
+  assign _1386_ = config_q[62] | oseq_err;
+  assign _1387_ = config_q[61] | iseq_err;
+  assign _1388_ = config_q[60] | rd_err;
+  assign _1389_ = config_q[59] | wr_err;
+  assign _1390_ = config_q[58] | pty_err;
+  assign _1391_ = config_q[57] | bad_header;
+  assign _1392_ = config_q[4:1] == 4'h0;
+  assign _1393_ = config_q[4:1] == 4'h1;
+  assign _1394_ = config_q[4:1] == 4'h2;
+  assign _1395_ = config_q[4:1] == 4'h3;
+  assign _1396_ = config_q[4:1] == 4'h4;
+  assign _1397_ = config_q[4:1] == 4'h5;
+  assign _1398_ = config_q[4:1] == 4'h6;
+  assign _1399_ = config_q[4:1] == 4'h7;
+  assign _1400_ = config_q[4:1] == 4'h8;
+  assign _1401_ = config_q[4:1] == 4'h9;
+  function [15:0] \993 ;
+    input [15:0] a;
+    input [159:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \993  = b[15:0];
+      10'b????????1?:
+        \993  = b[31:16];
+      10'b???????1??:
+        \993  = b[47:32];
+      10'b??????1???:
+        \993  = b[63:48];
+      10'b?????1????:
+        \993  = b[79:64];
+      10'b????1?????:
+        \993  = b[95:80];
+      10'b???1??????:
+        \993  = b[111:96];
+      10'b??1???????:
+        \993  = b[127:112];
+      10'b?1????????:
+        \993  = b[143:128];
+      10'b1?????????:
+        \993  = b[159:144];
+      default:
+        \993  = a;
+    endcase
+  endfunction
+  assign oclk_toggle = \993 (16'h0200, 160'h0100008000400020001000080004000200010000, { _1401_, _1400_, _1399_, _1398_, _1397_, _1396_, _1395_, _1394_, _1393_, _1392_ });
+  assign wb_ack = wb_out_q[64];
+  assign wb_err = 1'h0;
+  assign wb_stall = wb_out_q[65];
+  assign wb_rd_data = wb_out_q[63:0];
+  assign oib_clk = oclk_q;
+  assign ob_data = odata_q;
+  assign ob_pty = opty_q;
+  assign err = _1333_;
+  assign \int  = config_q[15];
+endmodule
+
+module mmu(clk, rst, l_in, d_in, l_out, d_out, i_out);
+  wire [63:0] _000_;
+  wire _001_;
+  wire [67:0] _002_;
+  wire [63:0] _003_;
+  wire [31:0] _004_;
+  wire [3:0] _005_;
+  wire [65:0] _006_;
+  wire _007_;
+  wire [63:0] _008_;
+  wire _009_;
+  wire [135:0] _010_;
+  wire _011_;
+  wire _012_;
+  wire [30:0] _013_;
+  wire _014_;
+  wire _015_;
+  wire _016_;
+  wire [18:0] _017_;
+  wire _018_;
+  wire _019_;
+  wire _020_;
+  wire _021_;
+  wire _022_;
+  wire _023_;
+  wire _024_;
+  wire _025_;
+  wire _026_;
+  wire _027_;
+  wire _028_;
+  wire _029_;
+  wire _030_;
+  wire _031_;
+  wire _032_;
+  wire _033_;
+  wire _034_;
+  wire _035_;
+  wire _036_;
+  wire _037_;
+  wire _038_;
+  wire _039_;
+  wire _040_;
+  wire _041_;
+  wire _042_;
+  wire _043_;
+  wire _044_;
+  wire _045_;
+  wire _046_;
+  wire _047_;
+  wire _048_;
+  wire _049_;
+  wire _050_;
+  wire _051_;
+  wire _052_;
+  wire _053_;
+  wire _054_;
+  wire _055_;
+  wire _056_;
+  wire _057_;
+  wire _058_;
+  wire _059_;
+  wire _060_;
+  wire _061_;
+  wire _062_;
+  wire _063_;
+  wire _064_;
+  wire _065_;
+  wire _066_;
+  wire _067_;
+  wire _068_;
+  wire _069_;
+  wire _070_;
+  wire _071_;
+  wire _072_;
+  wire _073_;
+  wire _074_;
+  wire _075_;
+  wire _076_;
+  wire _077_;
+  wire _078_;
+  wire _079_;
+  wire _080_;
+  wire _081_;
+  wire _082_;
+  wire _083_;
+  wire _084_;
+  wire _085_;
+  wire _086_;
+  wire _087_;
+  wire _088_;
+  wire _089_;
+  wire _090_;
+  wire _091_;
+  wire _092_;
+  wire _093_;
+  wire _094_;
+  wire _095_;
+  wire _096_;
+  wire _097_;
+  wire _098_;
+  wire _099_;
+  wire _100_;
+  wire _101_;
+  wire _102_;
+  wire _103_;
+  wire _104_;
+  wire _105_;
+  wire _106_;
+  wire _107_;
+  wire _108_;
+  wire _109_;
+  wire _110_;
+  wire _111_;
+  wire _112_;
+  wire _113_;
+  wire _114_;
+  wire _115_;
+  wire _116_;
+  wire _117_;
+  wire _118_;
+  wire _119_;
+  wire _120_;
+  wire _121_;
+  wire _122_;
+  wire _123_;
+  wire _124_;
+  wire _125_;
+  wire _126_;
+  wire _127_;
+  wire _128_;
+  wire _129_;
+  wire _130_;
+  wire _131_;
+  wire _132_;
+  wire [63:0] _133_;
+  wire _134_;
+  wire _135_;
+  wire _136_;
+  wire _137_;
+  wire _138_;
+  wire _139_;
+  wire _140_;
+  wire _141_;
+  wire _142_;
+  wire _143_;
+  wire _144_;
+  wire [3:0] _145_;
+  wire _146_;
+  wire [3:0] _147_;
+  wire [5:0] _148_;
+  wire _149_;
+  wire _150_;
+  wire _151_;
+  wire [3:0] _152_;
+  wire _153_;
+  wire _154_;
+  wire [5:0] _155_;
+  wire _156_;
+  wire [3:0] _157_;
+  wire _158_;
+  wire _159_;
+  wire _160_;
+  wire [63:0] _161_;
+  wire [31:0] _162_;
+  wire _163_;
+  wire _164_;
+  wire _165_;
+  wire [100:0] _166_;
+  wire _167_;
+  wire _168_;
+  wire _169_;
+  wire [67:0] _170_;
+  wire [5:0] _171_;
+  wire _172_;
+  wire _173_;
+  wire [3:0] _174_;
+  wire _175_;
+  wire _176_;
+  wire [64:0] _177_;
+  wire [64:0] _178_;
+  wire _179_;
+  wire [3:0] _180_;
+  wire _181_;
+  wire [3:0] _182_;
+  wire [196:0] _183_;
+  wire _184_;
+  wire [3:0] _185_;
+  wire _186_;
+  wire _187_;
+  wire [5:0] _188_;
+  wire [5:0] _189_;
+  wire [30:0] _190_;
+  wire [30:0] _191_;
+  wire _192_;
+  wire _193_;
+  wire _194_;
+  wire _195_;
+  wire _196_;
+  wire _197_;
+  wire [5:0] _198_;
+  wire _199_;
+  wire _200_;
+  wire [3:0] _201_;
+  wire _202_;
+  wire [3:0] _203_;
+  wire _204_;
+  wire _205_;
+  wire _206_;
+  wire _207_;
+  wire _208_;
+  wire _209_;
+  wire _210_;
+  wire _211_;
+  wire _212_;
+  wire _213_;
+  wire _214_;
+  wire _215_;
+  wire _216_;
+  wire _217_;
+  wire _218_;
+  wire _219_;
+  wire _220_;
+  wire _221_;
+  wire _222_;
+  wire [3:0] _223_;
+  wire [1:0] _224_;
+  wire _225_;
+  wire _226_;
+  wire _227_;
+  wire _228_;
+  wire _229_;
+  wire [5:0] _230_;
+  wire [3:0] _231_;
+  wire [66:0] _232_;
+  wire _233_;
+  wire [3:0] _234_;
+  wire [66:0] _235_;
+  wire _236_;
+  wire [1:0] _237_;
+  wire [3:0] _238_;
+  wire [66:0] _239_;
+  wire _240_;
+  wire _241_;
+  wire [1:0] _242_;
+  wire [3:0] _243_;
+  wire [1:0] _244_;
+  wire [3:0] _245_;
+  wire _246_;
+  wire _247_;
+  wire [131:0] _248_;
+  wire _249_;
+  wire _250_;
+  wire [3:0] _251_;
+  wire _252_;
+  wire _253_;
+  wire _254_;
+  wire _255_;
+  wire [67:0] _256_;
+  wire [96:0] _257_;
+  wire [3:0] _258_;
+  wire [63:0] _259_;
+  wire _260_;
+  wire [63:0] _261_;
+  wire _262_;
+  wire [5:0] _263_;
+  wire [4:0] _264_;
+  wire [55:0] _265_;
+  wire [63:0] _266_;
+  wire _267_;
+  wire _268_;
+  wire _269_;
+  wire [1:0] _270_;
+  wire _271_;
+  wire _272_;
+  wire _273_;
+  wire _274_;
+  wire _275_;
+  wire _276_;
+  wire _277_;
+  wire _278_;
+  wire _279_;
+  wire _280_;
+  wire _281_;
+  wire _282_;
+  wire _283_;
+  wire _284_;
+  wire [1:0] _285_;
+  wire [31:0] _286_;
+  wire [23:0] _287_;
+  wire [23:0] _288_;
+  wire [23:0] _289_;
+  wire [23:0] _290_;
+  wire [15:0] _291_;
+  wire [15:0] _292_;
+  wire [15:0] _293_;
+  wire [15:0] _294_;
+  wire [43:0] _295_;
+  wire [43:0] _296_;
+  wire [43:0] _297_;
+  wire [43:0] _298_;
+  wire [63:0] _299_;
+  wire [63:0] _300_;
+  wire [63:0] _301_;
+  wire [63:0] _302_;
+  wire [63:0] _303_;
+  wire [15:0] addrsh;
+  input clk;
+  input [66:0] d_in;
+  output [131:0] d_out;
+  output [130:0] i_out;
+  input [144:0] l_in;
+  output [70:0] l_out;
+  reg [436:0] r;
+  input rst;
+  assign _000_ = l_in[16] ? r[132:69] : { 32'h00000000, r[164:133] };
+  assign _001_ = rst ? 1'h0 : _256_[0];
+  assign _002_ = rst ? r[68:1] : { _257_[0], _256_[67:1] };
+  assign _003_ = rst ? 64'h0000000000000000 : _257_[64:1];
+  assign _004_ = rst ? r[164:133] : _257_[96:65];
+  assign _005_ = rst ? 4'h0 : _258_;
+  assign _006_ = rst ? r[234:169] : { _259_, _285_ };
+  assign _007_ = rst ? 1'h0 : _260_;
+  assign _008_ = rst ? r[299:236] : _261_;
+  assign _009_ = rst ? 1'h0 : _262_;
+  assign _010_ = rst ? r[436:301] : { _270_, _269_, _268_, _267_, _266_, _265_, _264_, _263_ };
+  always @(posedge clk)
+    r <= { _010_, _009_, _008_, _007_, _006_, _005_, _004_, _003_, _002_, _001_ };
+  assign _011_ = r[306:305] == 2'h0;
+  assign _012_ = r[306:305] == 2'h1;
+  function [30:0] \16216 ;
+    input [30:0] a;
+    input [61:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \16216  = b[30:0];
+      2'b1?:
+        \16216  = b[61:31];
+      default:
+        \16216  = a;
+    endcase
+  endfunction
+  assign _013_ = \16216 ({ 13'h0000, r[65:48] }, { r[62:32], r[46:16] }, { _012_, _011_ });
+  assign _014_ = r[304:303] == 2'h0;
+  assign _015_ = r[304:303] == 2'h1;
+  assign _016_ = r[304:303] == 2'h2;
+  function [18:0] \16229 ;
+    input [18:0] a;
+    input [56:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \16229  = b[18:0];
+      3'b?1?:
+        \16229  = b[37:19];
+      3'b1??:
+        \16229  = b[56:38];
+      default:
+        \16229  = a;
+    endcase
+  endfunction
+  assign _017_ = \16229 (_013_[30:12], { _013_[26:8], _013_[22:4], _013_[18:0] }, { _016_, _015_, _014_ });
+  assign _018_ = r[302:301] == 2'h0;
+  assign _019_ = r[302:301] == 2'h1;
+  assign _020_ = r[302:301] == 2'h2;
+  function [15:0] \16242 ;
+    input [15:0] a;
+    input [47:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \16242  = b[15:0];
+      3'b?1?:
+        \16242  = b[31:16];
+      3'b1??:
+        \16242  = b[47:32];
+      default:
+        \16242  = a;
+    endcase
+  endfunction
+  assign addrsh = \16242 (_017_[18:3], { _017_[17:2], _017_[16:1], _017_[15:0] }, { _020_, _019_, _018_ });
+  assign _021_ = $signed(32'd5) < $signed({ 27'h0000000, r[311:307] });
+  assign _022_ = _021_ ? 1'h1 : 1'h0;
+  assign _023_ = $signed(32'd6) < $signed({ 27'h0000000, r[311:307] });
+  assign _024_ = _023_ ? 1'h1 : 1'h0;
+  assign _025_ = $signed(32'd7) < $signed({ 27'h0000000, r[311:307] });
+  assign _026_ = _025_ ? 1'h1 : 1'h0;
+  assign _027_ = $signed(32'd8) < $signed({ 27'h0000000, r[311:307] });
+  assign _028_ = _027_ ? 1'h1 : 1'h0;
+  assign _029_ = $signed(32'd9) < $signed({ 27'h0000000, r[311:307] });
+  assign _030_ = _029_ ? 1'h1 : 1'h0;
+  assign _031_ = $signed(32'd10) < $signed({ 27'h0000000, r[311:307] });
+  assign _032_ = _031_ ? 1'h1 : 1'h0;
+  assign _033_ = $signed(32'd11) < $signed({ 27'h0000000, r[311:307] });
+  assign _034_ = _033_ ? 1'h1 : 1'h0;
+  assign _035_ = $signed(32'd12) < $signed({ 27'h0000000, r[311:307] });
+  assign _036_ = _035_ ? 1'h1 : 1'h0;
+  assign _037_ = $signed(32'd13) < $signed({ 27'h0000000, r[311:307] });
+  assign _038_ = _037_ ? 1'h1 : 1'h0;
+  assign _039_ = $signed(32'd14) < $signed({ 27'h0000000, r[311:307] });
+  assign _040_ = _039_ ? 1'h1 : 1'h0;
+  assign _041_ = $signed(32'd15) < $signed({ 27'h0000000, r[311:307] });
+  assign _042_ = _041_ ? 1'h1 : 1'h0;
+  assign _043_ = $signed(32'd0) < $signed({ 26'h0000000, r[306:301] });
+  assign _044_ = _043_ ? 1'h1 : 1'h0;
+  assign _045_ = $signed(32'd1) < $signed({ 26'h0000000, r[306:301] });
+  assign _046_ = _045_ ? 1'h1 : 1'h0;
+  assign _047_ = $signed(32'd2) < $signed({ 26'h0000000, r[306:301] });
+  assign _048_ = _047_ ? 1'h1 : 1'h0;
+  assign _049_ = $signed(32'd3) < $signed({ 26'h0000000, r[306:301] });
+  assign _050_ = _049_ ? 1'h1 : 1'h0;
+  assign _051_ = $signed(32'd4) < $signed({ 26'h0000000, r[306:301] });
+  assign _052_ = _051_ ? 1'h1 : 1'h0;
+  assign _053_ = $signed(32'd5) < $signed({ 26'h0000000, r[306:301] });
+  assign _054_ = _053_ ? 1'h1 : 1'h0;
+  assign _055_ = $signed(32'd6) < $signed({ 26'h0000000, r[306:301] });
+  assign _056_ = _055_ ? 1'h1 : 1'h0;
+  assign _057_ = $signed(32'd7) < $signed({ 26'h0000000, r[306:301] });
+  assign _058_ = _057_ ? 1'h1 : 1'h0;
+  assign _059_ = $signed(32'd8) < $signed({ 26'h0000000, r[306:301] });
+  assign _060_ = _059_ ? 1'h1 : 1'h0;
+  assign _061_ = $signed(32'd9) < $signed({ 26'h0000000, r[306:301] });
+  assign _062_ = _061_ ? 1'h1 : 1'h0;
+  assign _063_ = $signed(32'd10) < $signed({ 26'h0000000, r[306:301] });
+  assign _064_ = _063_ ? 1'h1 : 1'h0;
+  assign _065_ = $signed(32'd11) < $signed({ 26'h0000000, r[306:301] });
+  assign _066_ = _065_ ? 1'h1 : 1'h0;
+  assign _067_ = $signed(32'd12) < $signed({ 26'h0000000, r[306:301] });
+  assign _068_ = _067_ ? 1'h1 : 1'h0;
+  assign _069_ = $signed(32'd13) < $signed({ 26'h0000000, r[306:301] });
+  assign _070_ = _069_ ? 1'h1 : 1'h0;
+  assign _071_ = $signed(32'd14) < $signed({ 26'h0000000, r[306:301] });
+  assign _072_ = _071_ ? 1'h1 : 1'h0;
+  assign _073_ = $signed(32'd15) < $signed({ 26'h0000000, r[306:301] });
+  assign _074_ = _073_ ? 1'h1 : 1'h0;
+  assign _075_ = $signed(32'd16) < $signed({ 26'h0000000, r[306:301] });
+  assign _076_ = _075_ ? 1'h1 : 1'h0;
+  assign _077_ = $signed(32'd17) < $signed({ 26'h0000000, r[306:301] });
+  assign _078_ = _077_ ? 1'h1 : 1'h0;
+  assign _079_ = $signed(32'd18) < $signed({ 26'h0000000, r[306:301] });
+  assign _080_ = _079_ ? 1'h1 : 1'h0;
+  assign _081_ = $signed(32'd19) < $signed({ 26'h0000000, r[306:301] });
+  assign _082_ = _081_ ? 1'h1 : 1'h0;
+  assign _083_ = $signed(32'd20) < $signed({ 26'h0000000, r[306:301] });
+  assign _084_ = _083_ ? 1'h1 : 1'h0;
+  assign _085_ = $signed(32'd21) < $signed({ 26'h0000000, r[306:301] });
+  assign _086_ = _085_ ? 1'h1 : 1'h0;
+  assign _087_ = $signed(32'd22) < $signed({ 26'h0000000, r[306:301] });
+  assign _088_ = _087_ ? 1'h1 : 1'h0;
+  assign _089_ = $signed(32'd23) < $signed({ 26'h0000000, r[306:301] });
+  assign _090_ = _089_ ? 1'h1 : 1'h0;
+  assign _091_ = $signed(32'd24) < $signed({ 26'h0000000, r[306:301] });
+  assign _092_ = _091_ ? 1'h1 : 1'h0;
+  assign _093_ = $signed(32'd25) < $signed({ 26'h0000000, r[306:301] });
+  assign _094_ = _093_ ? 1'h1 : 1'h0;
+  assign _095_ = $signed(32'd26) < $signed({ 26'h0000000, r[306:301] });
+  assign _096_ = _095_ ? 1'h1 : 1'h0;
+  assign _097_ = $signed(32'd27) < $signed({ 26'h0000000, r[306:301] });
+  assign _098_ = _097_ ? 1'h1 : 1'h0;
+  assign _099_ = $signed(32'd28) < $signed({ 26'h0000000, r[306:301] });
+  assign _100_ = _099_ ? 1'h1 : 1'h0;
+  assign _101_ = $signed(32'd29) < $signed({ 26'h0000000, r[306:301] });
+  assign _102_ = _101_ ? 1'h1 : 1'h0;
+  assign _103_ = $signed(32'd30) < $signed({ 26'h0000000, r[306:301] });
+  assign _104_ = _103_ ? 1'h1 : 1'h0;
+  assign _105_ = $signed(32'd31) < $signed({ 26'h0000000, r[306:301] });
+  assign _106_ = _105_ ? 1'h1 : 1'h0;
+  assign _107_ = $signed(32'd32) < $signed({ 26'h0000000, r[306:301] });
+  assign _108_ = _107_ ? 1'h1 : 1'h0;
+  assign _109_ = $signed(32'd33) < $signed({ 26'h0000000, r[306:301] });
+  assign _110_ = _109_ ? 1'h1 : 1'h0;
+  assign _111_ = $signed(32'd34) < $signed({ 26'h0000000, r[306:301] });
+  assign _112_ = _111_ ? 1'h1 : 1'h0;
+  assign _113_ = $signed(32'd35) < $signed({ 26'h0000000, r[306:301] });
+  assign _114_ = _113_ ? 1'h1 : 1'h0;
+  assign _115_ = $signed(32'd36) < $signed({ 26'h0000000, r[306:301] });
+  assign _116_ = _115_ ? 1'h1 : 1'h0;
+  assign _117_ = $signed(32'd37) < $signed({ 26'h0000000, r[306:301] });
+  assign _118_ = _117_ ? 1'h1 : 1'h0;
+  assign _119_ = $signed(32'd38) < $signed({ 26'h0000000, r[306:301] });
+  assign _120_ = _119_ ? 1'h1 : 1'h0;
+  assign _121_ = $signed(32'd39) < $signed({ 26'h0000000, r[306:301] });
+  assign _122_ = _121_ ? 1'h1 : 1'h0;
+  assign _123_ = $signed(32'd40) < $signed({ 26'h0000000, r[306:301] });
+  assign _124_ = _123_ ? 1'h1 : 1'h0;
+  assign _125_ = $signed(32'd41) < $signed({ 26'h0000000, r[306:301] });
+  assign _126_ = _125_ ? 1'h1 : 1'h0;
+  assign _127_ = $signed(32'd42) < $signed({ 26'h0000000, r[306:301] });
+  assign _128_ = _127_ ? 1'h1 : 1'h0;
+  assign _129_ = $signed(32'd43) < $signed({ 26'h0000000, r[306:301] });
+  assign _130_ = _129_ ? 1'h1 : 1'h0;
+  assign _131_ = ~ l_in[80];
+  assign _132_ = _131_ ? r[235] : r[300];
+  assign _133_ = _131_ ? r[234:171] : r[299:236];
+  assign _134_ = l_in[5] | l_in[4];
+  assign _135_ = ~ _134_;
+  assign _136_ = l_in[2] | l_in[28];
+  assign _137_ = _136_ | l_in[27];
+  assign _138_ = _137_ | l_in[24];
+  assign _139_ = _138_ | l_in[23];
+  assign _140_ = _139_ | l_in[22];
+  assign _141_ = _158_ ? 1'h0 : r[235];
+  assign _142_ = _154_ ? 1'h0 : r[300];
+  assign _143_ = ~ _132_;
+  assign _144_ = { 1'h0, _133_[4:0] } == 6'h00;
+  assign _145_ = _144_ ? 4'h9 : 4'h5;
+  assign _146_ = _144_ ? 1'h1 : 1'h0;
+  assign _147_ = _143_ ? 4'h3 : _145_;
+  assign _148_ = _143_ ? { 1'h0, r[73:69] } : { 1'h0, _133_[62:61], _133_[7:5] };
+  assign _149_ = _143_ ? 1'h0 : _146_;
+  assign _150_ = l_in[1] ? 1'h0 : 1'h1;
+  assign _151_ = l_in[1] ? _140_ : 1'h0;
+  assign _152_ = l_in[1] ? 4'h1 : _147_;
+  assign _153_ = l_in[1] & l_in[10];
+  assign _154_ = l_in[1] & l_in[10];
+  assign _155_ = l_in[1] ? { 1'h0, _133_[62:61], _133_[7:5] } : _148_;
+  assign _156_ = l_in[1] ? 1'h0 : _149_;
+  assign _157_ = l_in[0] ? _152_ : r[168:165];
+  assign _158_ = l_in[0] & _153_;
+  assign _159_ = l_in[0] ? _156_ : 1'h0;
+  assign _160_ = ~ l_in[16];
+  assign _161_ = _160_ ? r[132:69] : l_in[144:81];
+  assign _162_ = _160_ ? l_in[112:81] : r[164:133];
+  assign _163_ = l_in[0] ? _142_ : r[300];
+  assign _164_ = _160_ ? _163_ : 1'h0;
+  assign _165_ = l_in[0] ? _151_ : 1'h0;
+  assign _166_ = l_in[3] ? { 4'h1, _162_, _161_, 1'h1 } : { _157_, r[164:69], _165_ };
+  assign _167_ = l_in[3] ? 1'h0 : _141_;
+  assign _168_ = l_in[0] ? _142_ : r[300];
+  assign _169_ = l_in[3] ? _164_ : _168_;
+  assign _170_ = l_in[0] ? { l_in[80:17], l_in[6], _135_, l_in[4], _150_ } : { r[67:1], 1'h0 };
+  assign _171_ = l_in[0] ? _155_ : { 1'h0, _133_[62:61], _133_[7:5] };
+  assign _172_ = r[168:165] == 4'h0;
+  assign _173_ = r[168:165] == 4'h1;
+  assign _174_ = d_in[1] ? 4'h9 : r[168:165];
+  assign _175_ = r[168:165] == 4'h2;
+  assign _176_ = r[168:165] == 4'h3;
+  assign _177_ = r[67] ? r[235:171] : { 1'h1, d_in[10:3], d_in[18:11], d_in[26:19], d_in[34:27], d_in[42:35], d_in[50:43], d_in[58:51], d_in[66:59] };
+  assign _178_ = r[67] ? { 1'h1, d_in[10:3], d_in[18:11], d_in[26:19], d_in[34:27], d_in[42:35], d_in[50:43], d_in[58:51], d_in[66:59] } : r[300:236];
+  assign _179_ = { 1'h0, d_in[63:59] } == 6'h00;
+  assign _180_ = _179_ ? 4'h9 : 4'h5;
+  assign _181_ = _184_ ? 1'h1 : 1'h0;
+  assign _182_ = d_in[1] ? _180_ : r[168:165];
+  assign _183_ = d_in[1] ? { d_in[18:11], d_in[26:19], d_in[34:27], d_in[42:35], d_in[50:43], d_in[58:51], 8'h00, d_in[63:59], 1'h0, d_in[9:8], d_in[66:64], _178_, _177_ } : r[367:171];
+  assign _184_ = d_in[1] & _179_;
+  assign _185_ = d_in[2] ? 4'h9 : _182_;
+  assign _186_ = d_in[2] ? 1'h1 : 1'h0;
+  assign _187_ = r[168:165] == 4'h4;
+  assign _188_ = r[306:301] + 6'h13;
+  assign _189_ = _188_ - { 1'h0, r[311:307] };
+  assign _190_ = ~ { _104_, _102_, _100_, _098_, _096_, _094_, _092_, _090_, _088_, _086_, _084_, _082_, _080_, _078_, _076_, _074_, _072_, _070_, _068_, _066_, _064_, _062_, _060_, _058_, _056_, _054_, _052_, _050_, _048_, _046_, _044_ };
+  assign _191_ = r[65:35] & _190_;
+  assign _192_ = | _191_;
+  assign _193_ = r[67] != r[66];
+  assign _194_ = _193_ | _192_;
+  assign _195_ = { 1'h0, r[311:307] } < 6'h05;
+  assign _196_ = { 1'h0, r[311:307] } > 6'h10;
+  assign _197_ = _195_ | _196_;
+  assign _198_ = r[306:301] + 6'h13;
+  assign _199_ = { 1'h0, r[311:307] } > _198_;
+  assign _200_ = _197_ | _199_;
+  assign _201_ = _200_ ? 4'h9 : 4'h6;
+  assign _202_ = _200_ ? 1'h1 : 1'h0;
+  assign _203_ = _194_ ? 4'h9 : _201_;
+  assign _204_ = _194_ ? 1'h0 : _202_;
+  assign _205_ = _194_ ? 1'h1 : 1'h0;
+  assign _206_ = r[168:165] == 4'h5;
+  assign _207_ = r[168:165] == 4'h6;
+  assign _208_ = ~ d_in[62];
+  assign _209_ = r[3] | _208_;
+  assign _210_ = ~ r[1];
+  assign _211_ = ~ r[2];
+  assign _212_ = d_in[61] & _211_;
+  assign _213_ = d_in[60] | _212_;
+  assign _214_ = ~ d_in[64];
+  assign _215_ = d_in[59] & _214_;
+  assign _216_ = _210_ ? _213_ : _215_;
+  assign _217_ = _209_ ? _216_ : 1'h0;
+  assign _218_ = ~ r[2];
+  assign _219_ = d_in[66] | _218_;
+  assign _220_ = d_in[51] & _219_;
+  assign _221_ = _217_ & _220_;
+  assign _222_ = ~ _217_;
+  assign _223_ = _221_ ? 4'h8 : 4'h9;
+  assign _224_ = _221_ ? 2'h0 : { _217_, _222_ };
+  assign _225_ = { 1'h0, d_in[63:59] } < 6'h05;
+  assign _226_ = { 1'h0, d_in[63:59] } > 6'h10;
+  assign _227_ = _225_ | _226_;
+  assign _228_ = { 1'h0, d_in[63:59] } > r[306:301];
+  assign _229_ = _227_ | _228_;
+  assign _230_ = r[306:301] - { 1'h0, d_in[63:59] };
+  assign _231_ = _229_ ? 4'h9 : 4'h6;
+  assign _232_ = _229_ ? r[367:301] : { d_in[18:11], d_in[26:19], d_in[34:27], d_in[42:35], d_in[50:43], d_in[58:51], 8'h00, d_in[63:59], _230_ };
+  assign _233_ = _229_ ? 1'h1 : 1'h0;
+  assign _234_ = d_in[9] ? _223_ : _231_;
+  assign _235_ = d_in[9] ? r[367:301] : _232_;
+  assign _236_ = d_in[9] ? 1'h0 : _233_;
+  assign _237_ = d_in[9] ? _224_ : 2'h0;
+  assign _238_ = d_in[10] ? _234_ : 4'h9;
+  assign _239_ = d_in[10] ? _235_ : r[367:301];
+  assign _240_ = d_in[10] ? 1'h0 : 1'h1;
+  assign _241_ = d_in[10] ? _236_ : 1'h0;
+  assign _242_ = d_in[10] ? _237_ : 2'h0;
+  assign _243_ = d_in[1] ? _238_ : r[168:165];
+  assign _244_ = d_in[1] ? _242_ : 2'h0;
+  assign _245_ = d_in[2] ? 4'h9 : _243_;
+  assign _246_ = d_in[1] ? _241_ : 1'h0;
+  assign _247_ = d_in[2] ? 1'h1 : _246_;
+  assign _248_ = d_in[1] ? { _240_, d_in[10:3], d_in[18:11], d_in[26:19], d_in[34:27], d_in[42:35], d_in[50:43], d_in[58:51], d_in[66:59], _239_ } : { 1'h0, r[431:301] };
+  assign _249_ = r[168:165] == 4'h7;
+  assign _250_ = ~ r[1];
+  assign _251_ = _250_ ? 4'h2 : 4'h0;
+  assign _252_ = _250_ ? 1'h1 : 1'h0;
+  assign _253_ = _250_ ? 1'h0 : 1'h1;
+  assign _254_ = r[168:165] == 4'h8;
+  assign _255_ = r[168:165] == 4'h9;
+  function [67:0] \17161 ;
+    input [67:0] a;
+    input [679:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17161  = b[67:0];
+      10'b????????1?:
+        \17161  = b[135:68];
+      10'b???????1??:
+        \17161  = b[203:136];
+      10'b??????1???:
+        \17161  = b[271:204];
+      10'b?????1????:
+        \17161  = b[339:272];
+      10'b????1?????:
+        \17161  = b[407:340];
+      10'b???1??????:
+        \17161  = b[475:408];
+      10'b??1???????:
+        \17161  = b[543:476];
+      10'b?1????????:
+        \17161  = b[611:544];
+      10'b1?????????:
+        \17161  = b[679:612];
+      default:
+        \17161  = a;
+    endcase
+  endfunction
+  assign _256_ = \17161 (68'hxxxxxxxxxxxxxxxxx, { r[67:1], 1'h0, r[67:1], 1'h0, r[67:1], 1'h0, r[67:1], 1'h0, r[67:1], 1'h0, r[67:1], 1'h0, r[67:1], 1'h0, r[67:1], 1'h0, r[67:1], 1'h0, _170_ }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [96:0] \17166 ;
+    input [96:0] a;
+    input [969:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17166  = b[96:0];
+      10'b????????1?:
+        \17166  = b[193:97];
+      10'b???????1??:
+        \17166  = b[290:194];
+      10'b??????1???:
+        \17166  = b[387:291];
+      10'b?????1????:
+        \17166  = b[484:388];
+      10'b????1?????:
+        \17166  = b[581:485];
+      10'b???1??????:
+        \17166  = b[678:582];
+      10'b??1???????:
+        \17166  = b[775:679];
+      10'b?1????????:
+        \17166  = b[872:776];
+      10'b1?????????:
+        \17166  = b[969:873];
+      default:
+        \17166  = a;
+    endcase
+  endfunction
+  assign _257_ = \17166 (97'hxxxxxxxxxxxxxxxxxxxxxxxxx, { r[164:69], 1'h0, r[164:69], 1'h0, r[164:69], 1'h0, r[164:69], 1'h0, r[164:69], 1'h0, r[164:69], 1'h0, r[164:69], 1'h0, r[164:69], 1'h0, r[164:69], 1'h0, _166_[96:0] }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [3:0] \17169 ;
+    input [3:0] a;
+    input [39:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17169  = b[3:0];
+      10'b????????1?:
+        \17169  = b[7:4];
+      10'b???????1??:
+        \17169  = b[11:8];
+      10'b??????1???:
+        \17169  = b[15:12];
+      10'b?????1????:
+        \17169  = b[19:16];
+      10'b????1?????:
+        \17169  = b[23:20];
+      10'b???1??????:
+        \17169  = b[27:24];
+      10'b??1???????:
+        \17169  = b[31:28];
+      10'b?1????????:
+        \17169  = b[35:32];
+      10'b1?????????:
+        \17169  = b[39:36];
+      default:
+        \17169  = a;
+    endcase
+  endfunction
+  assign _258_ = \17169 (4'hx, { 4'h0, _251_, _245_, 4'h7, _203_, _185_, 4'h4, _174_, 4'h2, _166_[100:97] }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [63:0] \17173 ;
+    input [63:0] a;
+    input [639:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17173  = b[63:0];
+      10'b????????1?:
+        \17173  = b[127:64];
+      10'b???????1??:
+        \17173  = b[191:128];
+      10'b??????1???:
+        \17173  = b[255:192];
+      10'b?????1????:
+        \17173  = b[319:256];
+      10'b????1?????:
+        \17173  = b[383:320];
+      10'b???1??????:
+        \17173  = b[447:384];
+      10'b??1???????:
+        \17173  = b[511:448];
+      10'b?1????????:
+        \17173  = b[575:512];
+      10'b1?????????:
+        \17173  = b[639:576];
+      default:
+        \17173  = a;
+    endcase
+  endfunction
+  assign _259_ = \17173 (64'hxxxxxxxxxxxxxxxx, { r[234:171], r[234:171], r[234:171], r[234:171], r[234:171], _183_[63:0], r[234:171], r[234:171], r[234:171], r[234:171] }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17177 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17177  = b[0:0];
+      10'b????????1?:
+        \17177  = b[1:1];
+      10'b???????1??:
+        \17177  = b[2:2];
+      10'b??????1???:
+        \17177  = b[3:3];
+      10'b?????1????:
+        \17177  = b[4:4];
+      10'b????1?????:
+        \17177  = b[5:5];
+      10'b???1??????:
+        \17177  = b[6:6];
+      10'b??1???????:
+        \17177  = b[7:7];
+      10'b?1????????:
+        \17177  = b[8:8];
+      10'b1?????????:
+        \17177  = b[9:9];
+      default:
+        \17177  = a;
+    endcase
+  endfunction
+  assign _260_ = \17177 (1'hx, { r[235], r[235], r[235], r[235], r[235], _183_[64], r[235], r[235], r[235], _167_ }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [63:0] \17181 ;
+    input [63:0] a;
+    input [639:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17181  = b[63:0];
+      10'b????????1?:
+        \17181  = b[127:64];
+      10'b???????1??:
+        \17181  = b[191:128];
+      10'b??????1???:
+        \17181  = b[255:192];
+      10'b?????1????:
+        \17181  = b[319:256];
+      10'b????1?????:
+        \17181  = b[383:320];
+      10'b???1??????:
+        \17181  = b[447:384];
+      10'b??1???????:
+        \17181  = b[511:448];
+      10'b?1????????:
+        \17181  = b[575:512];
+      10'b1?????????:
+        \17181  = b[639:576];
+      default:
+        \17181  = a;
+    endcase
+  endfunction
+  assign _261_ = \17181 (64'hxxxxxxxxxxxxxxxx, { r[299:236], r[299:236], r[299:236], r[299:236], r[299:236], _183_[128:65], r[299:236], r[299:236], r[299:236], r[299:236] }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17185 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17185  = b[0:0];
+      10'b????????1?:
+        \17185  = b[1:1];
+      10'b???????1??:
+        \17185  = b[2:2];
+      10'b??????1???:
+        \17185  = b[3:3];
+      10'b?????1????:
+        \17185  = b[4:4];
+      10'b????1?????:
+        \17185  = b[5:5];
+      10'b???1??????:
+        \17185  = b[6:6];
+      10'b??1???????:
+        \17185  = b[7:7];
+      10'b?1????????:
+        \17185  = b[8:8];
+      10'b1?????????:
+        \17185  = b[9:9];
+      default:
+        \17185  = a;
+    endcase
+  endfunction
+  assign _262_ = \17185 (1'hx, { r[300], r[300], r[300], r[300], r[300], _183_[129], r[300], r[300], r[300], _169_ }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [5:0] \17190 ;
+    input [5:0] a;
+    input [59:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17190  = b[5:0];
+      10'b????????1?:
+        \17190  = b[11:6];
+      10'b???????1??:
+        \17190  = b[17:12];
+      10'b??????1???:
+        \17190  = b[23:18];
+      10'b?????1????:
+        \17190  = b[29:24];
+      10'b????1?????:
+        \17190  = b[35:30];
+      10'b???1??????:
+        \17190  = b[41:36];
+      10'b??1???????:
+        \17190  = b[47:42];
+      10'b?1????????:
+        \17190  = b[53:48];
+      10'b1?????????:
+        \17190  = b[59:54];
+      default:
+        \17190  = a;
+    endcase
+  endfunction
+  assign _263_ = \17190 (6'hxx, { r[306:301], r[306:301], _248_[5:0], r[306:301], _189_, _183_[135:130], r[306:301], r[306:301], r[306:301], _171_ }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [4:0] \17195 ;
+    input [4:0] a;
+    input [49:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17195  = b[4:0];
+      10'b????????1?:
+        \17195  = b[9:5];
+      10'b???????1??:
+        \17195  = b[14:10];
+      10'b??????1???:
+        \17195  = b[19:15];
+      10'b?????1????:
+        \17195  = b[24:20];
+      10'b????1?????:
+        \17195  = b[29:25];
+      10'b???1??????:
+        \17195  = b[34:30];
+      10'b??1???????:
+        \17195  = b[39:35];
+      10'b?1????????:
+        \17195  = b[44:40];
+      10'b1?????????:
+        \17195  = b[49:45];
+      default:
+        \17195  = a;
+    endcase
+  endfunction
+  assign _264_ = \17195 (5'hxx, { r[311:307], r[311:307], _248_[10:6], r[311:307], r[311:307], _183_[140:136], r[311:307], r[311:307], r[311:307], _133_[4:0] }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [55:0] \17200 ;
+    input [55:0] a;
+    input [559:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17200  = b[55:0];
+      10'b????????1?:
+        \17200  = b[111:56];
+      10'b???????1??:
+        \17200  = b[167:112];
+      10'b??????1???:
+        \17200  = b[223:168];
+      10'b?????1????:
+        \17200  = b[279:224];
+      10'b????1?????:
+        \17200  = b[335:280];
+      10'b???1??????:
+        \17200  = b[391:336];
+      10'b??1???????:
+        \17200  = b[447:392];
+      10'b?1????????:
+        \17200  = b[503:448];
+      10'b1?????????:
+        \17200  = b[559:504];
+      default:
+        \17200  = a;
+    endcase
+  endfunction
+  assign _265_ = \17200 (56'hxxxxxxxxxxxxxx, { r[367:312], r[367:312], _248_[66:11], r[367:312], r[367:312], _183_[196:141], r[367:312], r[367:312], r[367:312], _133_[55:8], 8'h00 }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [63:0] \17204 ;
+    input [63:0] a;
+    input [639:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17204  = b[63:0];
+      10'b????????1?:
+        \17204  = b[127:64];
+      10'b???????1??:
+        \17204  = b[191:128];
+      10'b??????1???:
+        \17204  = b[255:192];
+      10'b?????1????:
+        \17204  = b[319:256];
+      10'b????1?????:
+        \17204  = b[383:320];
+      10'b???1??????:
+        \17204  = b[447:384];
+      10'b??1???????:
+        \17204  = b[511:448];
+      10'b?1????????:
+        \17204  = b[575:512];
+      10'b1?????????:
+        \17204  = b[639:576];
+      default:
+        \17204  = a;
+    endcase
+  endfunction
+  assign _266_ = \17204 (64'hxxxxxxxxxxxxxxxx, { r[431:368], r[431:368], _248_[130:67], r[431:368], r[431:368], r[431:368], r[431:368], r[431:368], r[431:368], r[431:368] }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17207 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17207  = b[0:0];
+      10'b????????1?:
+        \17207  = b[1:1];
+      10'b???????1??:
+        \17207  = b[2:2];
+      10'b??????1???:
+        \17207  = b[3:3];
+      10'b?????1????:
+        \17207  = b[4:4];
+      10'b????1?????:
+        \17207  = b[5:5];
+      10'b???1??????:
+        \17207  = b[6:6];
+      10'b??1???????:
+        \17207  = b[7:7];
+      10'b?1????????:
+        \17207  = b[8:8];
+      10'b1?????????:
+        \17207  = b[9:9];
+      default:
+        \17207  = a;
+    endcase
+  endfunction
+  assign _267_ = \17207 (1'hx, { 2'h0, _248_[131], 2'h0, _181_, 3'h0, _159_ }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17209 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17209  = b[0:0];
+      10'b????????1?:
+        \17209  = b[1:1];
+      10'b???????1??:
+        \17209  = b[2:2];
+      10'b??????1???:
+        \17209  = b[3:3];
+      10'b?????1????:
+        \17209  = b[4:4];
+      10'b????1?????:
+        \17209  = b[5:5];
+      10'b???1??????:
+        \17209  = b[6:6];
+      10'b??1???????:
+        \17209  = b[7:7];
+      10'b?1????????:
+        \17209  = b[8:8];
+      10'b1?????????:
+        \17209  = b[9:9];
+      default:
+        \17209  = a;
+    endcase
+  endfunction
+  assign _268_ = \17209 (1'hx, { 2'h0, _247_, 1'h0, _204_, _186_, 4'h0 }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17211 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17211  = b[0:0];
+      10'b????????1?:
+        \17211  = b[1:1];
+      10'b???????1??:
+        \17211  = b[2:2];
+      10'b??????1???:
+        \17211  = b[3:3];
+      10'b?????1????:
+        \17211  = b[4:4];
+      10'b????1?????:
+        \17211  = b[5:5];
+      10'b???1??????:
+        \17211  = b[6:6];
+      10'b??1???????:
+        \17211  = b[7:7];
+      10'b?1????????:
+        \17211  = b[8:8];
+      10'b1?????????:
+        \17211  = b[9:9];
+      default:
+        \17211  = a;
+    endcase
+  endfunction
+  assign _269_ = \17211 (1'hx, { 4'h0, _205_, 5'h00 }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [1:0] \17214 ;
+    input [1:0] a;
+    input [19:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17214  = b[1:0];
+      10'b????????1?:
+        \17214  = b[3:2];
+      10'b???????1??:
+        \17214  = b[5:4];
+      10'b??????1???:
+        \17214  = b[7:6];
+      10'b?????1????:
+        \17214  = b[9:8];
+      10'b????1?????:
+        \17214  = b[11:10];
+      10'b???1??????:
+        \17214  = b[13:12];
+      10'b??1???????:
+        \17214  = b[15:14];
+      10'b?1????????:
+        \17214  = b[17:16];
+      10'b1?????????:
+        \17214  = b[19:18];
+      default:
+        \17214  = a;
+    endcase
+  endfunction
+  assign _270_ = \17214 (2'hx, { 4'h0, _244_, 14'h0000 }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17228 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17228  = b[0:0];
+      10'b????????1?:
+        \17228  = b[1:1];
+      10'b???????1??:
+        \17228  = b[2:2];
+      10'b??????1???:
+        \17228  = b[3:3];
+      10'b?????1????:
+        \17228  = b[4:4];
+      10'b????1?????:
+        \17228  = b[5:5];
+      10'b???1??????:
+        \17228  = b[6:6];
+      10'b??1???????:
+        \17228  = b[7:7];
+      10'b?1????????:
+        \17228  = b[8:8];
+      10'b1?????????:
+        \17228  = b[9:9];
+      default:
+        \17228  = a;
+    endcase
+  endfunction
+  assign _271_ = \17228 (1'hx, { 1'h0, _252_, 8'h4a }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17233 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17233  = b[0:0];
+      10'b????????1?:
+        \17233  = b[1:1];
+      10'b???????1??:
+        \17233  = b[2:2];
+      10'b??????1???:
+        \17233  = b[3:3];
+      10'b?????1????:
+        \17233  = b[4:4];
+      10'b????1?????:
+        \17233  = b[5:5];
+      10'b???1??????:
+        \17233  = b[6:6];
+      10'b??1???????:
+        \17233  = b[7:7];
+      10'b?1????????:
+        \17233  = b[8:8];
+      10'b1?????????:
+        \17233  = b[9:9];
+      default:
+        \17233  = a;
+    endcase
+  endfunction
+  assign _272_ = \17233 (1'hx, 10'h100, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17237 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17237  = b[0:0];
+      10'b????????1?:
+        \17237  = b[1:1];
+      10'b???????1??:
+        \17237  = b[2:2];
+      10'b??????1???:
+        \17237  = b[3:3];
+      10'b?????1????:
+        \17237  = b[4:4];
+      10'b????1?????:
+        \17237  = b[5:5];
+      10'b???1??????:
+        \17237  = b[6:6];
+      10'b??1???????:
+        \17237  = b[7:7];
+      10'b?1????????:
+        \17237  = b[8:8];
+      10'b1?????????:
+        \17237  = b[9:9];
+      default:
+        \17237  = a;
+    endcase
+  endfunction
+  assign _273_ = \17237 (1'hx, { 1'h0, _253_, 8'h00 }, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17242 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17242  = b[0:0];
+      10'b????????1?:
+        \17242  = b[1:1];
+      10'b???????1??:
+        \17242  = b[2:2];
+      10'b??????1???:
+        \17242  = b[3:3];
+      10'b?????1????:
+        \17242  = b[4:4];
+      10'b????1?????:
+        \17242  = b[5:5];
+      10'b???1??????:
+        \17242  = b[6:6];
+      10'b??1???????:
+        \17242  = b[7:7];
+      10'b?1????????:
+        \17242  = b[8:8];
+      10'b1?????????:
+        \17242  = b[9:9];
+      default:
+        \17242  = a;
+    endcase
+  endfunction
+  assign _274_ = \17242 (1'hx, 10'h002, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  function [0:0] \17247 ;
+    input [0:0] a;
+    input [9:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \17247  = b[0:0];
+      10'b????????1?:
+        \17247  = b[1:1];
+      10'b???????1??:
+        \17247  = b[2:2];
+      10'b??????1???:
+        \17247  = b[3:3];
+      10'b?????1????:
+        \17247  = b[4:4];
+      10'b????1?????:
+        \17247  = b[5:5];
+      10'b???1??????:
+        \17247  = b[6:6];
+      10'b??1???????:
+        \17247  = b[7:7];
+      10'b?1????????:
+        \17247  = b[8:8];
+      10'b1?????????:
+        \17247  = b[9:9];
+      default:
+        \17247  = a;
+    endcase
+  endfunction
+  assign _275_ = \17247 (1'hx, 10'h008, { _255_, _254_, _249_, _207_, _206_, _187_, _176_, _175_, _173_, _172_ });
+  assign _276_ = _258_ == 4'h9;
+  assign _277_ = _258_ == 4'h8;
+  assign _278_ = _277_ & r[1];
+  assign _279_ = _276_ | _278_;
+  assign _280_ = _267_ | _268_;
+  assign _281_ = _280_ | _269_;
+  assign _282_ = _281_ | _270_[0];
+  assign _283_ = _282_ | _270_[1];
+  assign _284_ = ~ _283_;
+  assign _285_ = _279_ ? { _283_, _284_ } : 2'h0;
+  assign _286_ = r[67] ? 32'd0 : r[164:133];
+  assign _287_ = ~ { _090_, _088_, _086_, _084_, _082_, _080_, _078_, _076_, _074_, _072_, _070_, _068_, _066_, _064_, _062_, _060_, _058_, _056_, _054_, _052_, _050_, _048_, _046_, _044_ };
+  assign _288_ = r[104:81] & _287_;
+  assign _289_ = _286_[31:8] & { _090_, _088_, _086_, _084_, _082_, _080_, _078_, _076_, _074_, _072_, _070_, _068_, _066_, _064_, _062_, _060_, _058_, _056_, _054_, _052_, _050_, _048_, _046_, _044_ };
+  assign _290_ = _288_ | _289_;
+  assign _291_ = ~ { _042_, _040_, _038_, _036_, _034_, _032_, _030_, _028_, _026_, _024_, _022_, 5'h1f };
+  assign _292_ = r[330:315] & _291_;
+  assign _293_ = addrsh & { _042_, _040_, _038_, _036_, _034_, _032_, _030_, _028_, _026_, _024_, _022_, 5'h1f };
+  assign _294_ = _292_ | _293_;
+  assign _295_ = ~ { _130_, _128_, _126_, _124_, _122_, _120_, _118_, _116_, _114_, _112_, _110_, _108_, _106_, _104_, _102_, _100_, _098_, _096_, _094_, _092_, _090_, _088_, _086_, _084_, _082_, _080_, _078_, _076_, _074_, _072_, _070_, _068_, _066_, _064_, _062_, _060_, _058_, _056_, _054_, _052_, _050_, _048_, _046_, _044_ };
+  assign _296_ = r[423:380] & _295_;
+  assign _297_ = r[59:16] & { _130_, _128_, _126_, _124_, _122_, _120_, _118_, _116_, _114_, _112_, _110_, _108_, _106_, _104_, _102_, _100_, _098_, _096_, _094_, _092_, _090_, _088_, _086_, _084_, _082_, _080_, _078_, _076_, _074_, _072_, _070_, _068_, _066_, _064_, _062_, _060_, _058_, _056_, _054_, _052_, _050_, _048_, _046_, _044_ };
+  assign _298_ = _296_ | _297_;
+  assign _299_ = _275_ ? { 8'h00, r[124:105], _290_, _286_[7:0], 4'h0 } : { 8'h00, r[367:331], _294_, 3'h0 };
+  assign _300_ = _272_ ? { 8'h00, _298_, r[379:368] } : 64'h0000000000000000;
+  assign _301_ = _272_ ? { r[67:16], 12'h000 } : _299_;
+  assign _302_ = _274_ ? 64'h0000000000000000 : _300_;
+  assign _303_ = _274_ ? r[67:4] : _301_;
+  assign l_out = { _000_, r[436:432], r[170:169] };
+  assign d_out = { _302_, _303_, _272_, r[68], _274_, _271_ };
+  assign i_out = { _302_, _303_, r[68], _274_, _273_ };
+endmodule
+
+
+
+module random(clk, data, raw, err);
+  input clk;
+  output [63:0] data;
+  output err;
+  output [63:0] raw;
+  assign data = 64'hffffffffffffffff;
+  assign raw = 64'hffffffffffffffff;
+  assign err = 1'h1;
+endmodule
+
+
+module rotator(rs, ra, shift, insn, is_32bit, right_shift, arith, clear_left, clear_right, sign_ext_rs, result, carry_out);
+  wire [31:0] _000_;
+  wire [31:0] _001_;
+  wire [5:0] _002_;
+  wire _003_;
+  wire _004_;
+  wire _005_;
+  wire _006_;
+  wire _007_;
+  wire _008_;
+  wire _009_;
+  wire _010_;
+  wire _011_;
+  wire _012_;
+  wire _013_;
+  wire [6:0] _014_;
+  wire _015_;
+  wire [6:0] _016_;
+  wire [6:0] _017_;
+  wire _018_;
+  wire _019_;
+  wire _020_;
+  wire [5:0] _021_;
+  wire [6:0] _022_;
+  wire _023_;
+  wire _024_;
+  wire _025_;
+  wire _026_;
+  wire _027_;
+  wire _028_;
+  wire _029_;
+  wire _030_;
+  wire _031_;
+  wire _032_;
+  wire _033_;
+  wire _034_;
+  wire _035_;
+  wire _036_;
+  wire _037_;
+  wire _038_;
+  wire _039_;
+  wire _040_;
+  wire _041_;
+  wire _042_;
+  wire _043_;
+  wire _044_;
+  wire _045_;
+  wire _046_;
+  wire _047_;
+  wire _048_;
+  wire _049_;
+  wire _050_;
+  wire _051_;
+  wire _052_;
+  wire _053_;
+  wire _054_;
+  wire _055_;
+  wire _056_;
+  wire _057_;
+  wire _058_;
+  wire _059_;
+  wire _060_;
+  wire _061_;
+  wire _062_;
+  wire _063_;
+  wire _064_;
+  wire _065_;
+  wire _066_;
+  wire _067_;
+  wire _068_;
+  wire _069_;
+  wire _070_;
+  wire _071_;
+  wire _072_;
+  wire _073_;
+  wire _074_;
+  wire _075_;
+  wire _076_;
+  wire _077_;
+  wire _078_;
+  wire _079_;
+  wire _080_;
+  wire _081_;
+  wire _082_;
+  wire _083_;
+  wire _084_;
+  wire _085_;
+  wire _086_;
+  wire _087_;
+  wire _088_;
+  wire _089_;
+  wire _090_;
+  wire _091_;
+  wire _092_;
+  wire _093_;
+  wire _094_;
+  wire _095_;
+  wire _096_;
+  wire _097_;
+  wire _098_;
+  wire _099_;
+  wire _100_;
+  wire _101_;
+  wire _102_;
+  wire _103_;
+  wire _104_;
+  wire _105_;
+  wire _106_;
+  wire _107_;
+  wire _108_;
+  wire _109_;
+  wire _110_;
+  wire _111_;
+  wire _112_;
+  wire _113_;
+  wire _114_;
+  wire _115_;
+  wire _116_;
+  wire _117_;
+  wire _118_;
+  wire _119_;
+  wire _120_;
+  wire _121_;
+  wire _122_;
+  wire _123_;
+  wire _124_;
+  wire _125_;
+  wire _126_;
+  wire _127_;
+  wire _128_;
+  wire _129_;
+  wire _130_;
+  wire _131_;
+  wire _132_;
+  wire _133_;
+  wire _134_;
+  wire _135_;
+  wire _136_;
+  wire _137_;
+  wire _138_;
+  wire _139_;
+  wire _140_;
+  wire _141_;
+  wire _142_;
+  wire _143_;
+  wire _144_;
+  wire _145_;
+  wire _146_;
+  wire _147_;
+  wire _148_;
+  wire _149_;
+  wire _150_;
+  wire _151_;
+  wire _152_;
+  wire _153_;
+  wire _154_;
+  wire _155_;
+  wire _156_;
+  wire _157_;
+  wire _158_;
+  wire _159_;
+  wire _160_;
+  wire _161_;
+  wire _162_;
+  wire _163_;
+  wire _164_;
+  wire _165_;
+  wire _166_;
+  wire _167_;
+  wire _168_;
+  wire _169_;
+  wire _170_;
+  wire _171_;
+  wire _172_;
+  wire _173_;
+  wire _174_;
+  wire _175_;
+  wire _176_;
+  wire _177_;
+  wire _178_;
+  wire _179_;
+  wire _180_;
+  wire _181_;
+  wire _182_;
+  wire _183_;
+  wire _184_;
+  wire _185_;
+  wire _186_;
+  wire _187_;
+  wire _188_;
+  wire _189_;
+  wire _190_;
+  wire _191_;
+  wire _192_;
+  wire _193_;
+  wire _194_;
+  wire _195_;
+  wire _196_;
+  wire _197_;
+  wire _198_;
+  wire _199_;
+  wire _200_;
+  wire _201_;
+  wire _202_;
+  wire _203_;
+  wire _204_;
+  wire _205_;
+  wire _206_;
+  wire _207_;
+  wire _208_;
+  wire _209_;
+  wire _210_;
+  wire _211_;
+  wire _212_;
+  wire _213_;
+  wire _214_;
+  wire _215_;
+  wire _216_;
+  wire _217_;
+  wire _218_;
+  wire _219_;
+  wire _220_;
+  wire _221_;
+  wire _222_;
+  wire _223_;
+  wire _224_;
+  wire _225_;
+  wire _226_;
+  wire _227_;
+  wire _228_;
+  wire _229_;
+  wire _230_;
+  wire _231_;
+  wire _232_;
+  wire _233_;
+  wire _234_;
+  wire _235_;
+  wire _236_;
+  wire _237_;
+  wire _238_;
+  wire _239_;
+  wire _240_;
+  wire _241_;
+  wire _242_;
+  wire _243_;
+  wire _244_;
+  wire _245_;
+  wire _246_;
+  wire _247_;
+  wire _248_;
+  wire _249_;
+  wire _250_;
+  wire _251_;
+  wire _252_;
+  wire _253_;
+  wire _254_;
+  wire _255_;
+  wire _256_;
+  wire _257_;
+  wire _258_;
+  wire _259_;
+  wire _260_;
+  wire _261_;
+  wire _262_;
+  wire _263_;
+  wire _264_;
+  wire _265_;
+  wire _266_;
+  wire _267_;
+  wire _268_;
+  wire _269_;
+  wire _270_;
+  wire _271_;
+  wire _272_;
+  wire _273_;
+  wire _274_;
+  wire _275_;
+  wire _276_;
+  wire _277_;
+  wire _278_;
+  wire _279_;
+  wire _280_;
+  wire _281_;
+  wire _282_;
+  wire _283_;
+  wire _284_;
+  wire _285_;
+  wire _286_;
+  wire [63:0] _287_;
+  wire [63:0] _288_;
+  wire [63:0] _289_;
+  wire [63:0] _290_;
+  wire [63:0] _291_;
+  wire [63:0] _292_;
+  wire _293_;
+  wire [63:0] _294_;
+  wire [63:0] _295_;
+  wire [63:0] _296_;
+  wire [63:0] _297_;
+  wire [63:0] _298_;
+  wire [63:0] _299_;
+  wire _300_;
+  wire [63:0] _301_;
+  wire _302_;
+  wire [63:0] _303_;
+  wire [63:0] _304_;
+  wire [63:0] _305_;
+  wire _306_;
+  wire [63:0] _307_;
+  wire [63:0] _308_;
+  wire _309_;
+  wire _310_;
+  input arith;
+  output carry_out;
+  input clear_left;
+  input clear_right;
+  input [31:0] insn;
+  input is_32bit;
+  wire [6:0] mb;
+  wire [6:0] me;
+  wire [63:0] ml;
+  wire [1:0] output_mode;
+  input [63:0] ra;
+  output [63:0] result;
+  input right_shift;
+  wire [63:0] rot;
+  wire [63:0] rot1;
+  wire [63:0] rot2;
+  wire [5:0] rot_count;
+  input [63:0] rs;
+  input [6:0] shift;
+  input sign_ext_rs;
+  assign _000_ = sign_ext_rs ? { rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31], rs[31] } : rs[63:32];
+  assign _001_ = is_32bit ? rs[31:0] : _000_;
+  assign _002_ = - $signed(shift[5:0]);
+  assign rot_count = right_shift ? _002_ : shift[5:0];
+  assign _003_ = rot_count[1:0] == 2'h0;
+  assign _004_ = rot_count[1:0] == 2'h1;
+  assign _005_ = rot_count[1:0] == 2'h2;
+  function [63:0] \20645 ;
+    input [63:0] a;
+    input [191:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \20645  = b[63:0];
+      3'b?1?:
+        \20645  = b[127:64];
+      3'b1??:
+        \20645  = b[191:128];
+      default:
+        \20645  = a;
+    endcase
+  endfunction
+  assign rot1 = \20645 ({ _001_[28:0], rs[31:0], _001_[31:29] }, { _001_[29:0], rs[31:0], _001_[31:30], _001_[30:0], rs[31:0], _001_[31], _001_, rs[31:0] }, { _005_, _004_, _003_ });
+  assign _006_ = rot_count[3:2] == 2'h0;
+  assign _007_ = rot_count[3:2] == 2'h1;
+  assign _008_ = rot_count[3:2] == 2'h2;
+  function [63:0] \20663 ;
+    input [63:0] a;
+    input [191:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \20663  = b[63:0];
+      3'b?1?:
+        \20663  = b[127:64];
+      3'b1??:
+        \20663  = b[191:128];
+      default:
+        \20663  = a;
+    endcase
+  endfunction
+  assign rot2 = \20663 ({ rot1[51:0], rot1[63:52] }, { rot1[55:0], rot1[63:56], rot1[59:0], rot1[63:60], rot1 }, { _008_, _007_, _006_ });
+  assign _009_ = rot_count[5:4] == 2'h0;
+  assign _010_ = rot_count[5:4] == 2'h1;
+  assign _011_ = rot_count[5:4] == 2'h2;
+  function [63:0] \20681 ;
+    input [63:0] a;
+    input [191:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \20681  = b[63:0];
+      3'b?1?:
+        \20681  = b[127:64];
+      3'b1??:
+        \20681  = b[191:128];
+      default:
+        \20681  = a;
+    endcase
+  endfunction
+  assign rot = \20681 ({ rot2[15:0], rot2[63:16] }, { rot2[31:0], rot2[63:32], rot2[47:0], rot2[63:48], rot2 }, { _011_, _010_, _009_ });
+  assign _012_ = ~ is_32bit;
+  assign _013_ = shift[6] & _012_;
+  assign _014_ = is_32bit ? { 2'h1, insn[10:6] } : { 1'h0, insn[5], insn[10:6] };
+  assign _015_ = ~ shift[5];
+  assign _016_ = is_32bit ? { shift[5], _015_, shift[4:0] } : { _013_, shift[5:0] };
+  assign _017_ = right_shift ? _016_ : { 1'h0, is_32bit, 5'h00 };
+  assign mb = clear_left ? _014_ : _017_;
+  assign _018_ = clear_right & is_32bit;
+  assign _019_ = ~ clear_left;
+  assign _020_ = clear_right & _019_;
+  assign _021_ = ~ shift[5:0];
+  assign _022_ = _020_ ? { 1'h0, insn[5], insn[10:6] } : { _013_, _021_ };
+  assign me = _018_ ? { 2'h1, insn[5:1] } : _022_;
+  assign _023_ = $signed(32'd0) >= $signed({ 25'h0000000, mb });
+  assign _024_ = _023_ ? 1'h1 : 1'h0;
+  assign _025_ = $signed(32'd1) >= $signed({ 25'h0000000, mb });
+  assign _026_ = _025_ ? 1'h1 : 1'h0;
+  assign _027_ = $signed(32'd2) >= $signed({ 25'h0000000, mb });
+  assign _028_ = _027_ ? 1'h1 : 1'h0;
+  assign _029_ = $signed(32'd3) >= $signed({ 25'h0000000, mb });
+  assign _030_ = _029_ ? 1'h1 : 1'h0;
+  assign _031_ = $signed(32'd4) >= $signed({ 25'h0000000, mb });
+  assign _032_ = _031_ ? 1'h1 : 1'h0;
+  assign _033_ = $signed(32'd5) >= $signed({ 25'h0000000, mb });
+  assign _034_ = _033_ ? 1'h1 : 1'h0;
+  assign _035_ = $signed(32'd6) >= $signed({ 25'h0000000, mb });
+  assign _036_ = _035_ ? 1'h1 : 1'h0;
+  assign _037_ = $signed(32'd7) >= $signed({ 25'h0000000, mb });
+  assign _038_ = _037_ ? 1'h1 : 1'h0;
+  assign _039_ = $signed(32'd8) >= $signed({ 25'h0000000, mb });
+  assign _040_ = _039_ ? 1'h1 : 1'h0;
+  assign _041_ = $signed(32'd9) >= $signed({ 25'h0000000, mb });
+  assign _042_ = _041_ ? 1'h1 : 1'h0;
+  assign _043_ = $signed(32'd10) >= $signed({ 25'h0000000, mb });
+  assign _044_ = _043_ ? 1'h1 : 1'h0;
+  assign _045_ = $signed(32'd11) >= $signed({ 25'h0000000, mb });
+  assign _046_ = _045_ ? 1'h1 : 1'h0;
+  assign _047_ = $signed(32'd12) >= $signed({ 25'h0000000, mb });
+  assign _048_ = _047_ ? 1'h1 : 1'h0;
+  assign _049_ = $signed(32'd13) >= $signed({ 25'h0000000, mb });
+  assign _050_ = _049_ ? 1'h1 : 1'h0;
+  assign _051_ = $signed(32'd14) >= $signed({ 25'h0000000, mb });
+  assign _052_ = _051_ ? 1'h1 : 1'h0;
+  assign _053_ = $signed(32'd15) >= $signed({ 25'h0000000, mb });
+  assign _054_ = _053_ ? 1'h1 : 1'h0;
+  assign _055_ = $signed(32'd16) >= $signed({ 25'h0000000, mb });
+  assign _056_ = _055_ ? 1'h1 : 1'h0;
+  assign _057_ = $signed(32'd17) >= $signed({ 25'h0000000, mb });
+  assign _058_ = _057_ ? 1'h1 : 1'h0;
+  assign _059_ = $signed(32'd18) >= $signed({ 25'h0000000, mb });
+  assign _060_ = _059_ ? 1'h1 : 1'h0;
+  assign _061_ = $signed(32'd19) >= $signed({ 25'h0000000, mb });
+  assign _062_ = _061_ ? 1'h1 : 1'h0;
+  assign _063_ = $signed(32'd20) >= $signed({ 25'h0000000, mb });
+  assign _064_ = _063_ ? 1'h1 : 1'h0;
+  assign _065_ = $signed(32'd21) >= $signed({ 25'h0000000, mb });
+  assign _066_ = _065_ ? 1'h1 : 1'h0;
+  assign _067_ = $signed(32'd22) >= $signed({ 25'h0000000, mb });
+  assign _068_ = _067_ ? 1'h1 : 1'h0;
+  assign _069_ = $signed(32'd23) >= $signed({ 25'h0000000, mb });
+  assign _070_ = _069_ ? 1'h1 : 1'h0;
+  assign _071_ = $signed(32'd24) >= $signed({ 25'h0000000, mb });
+  assign _072_ = _071_ ? 1'h1 : 1'h0;
+  assign _073_ = $signed(32'd25) >= $signed({ 25'h0000000, mb });
+  assign _074_ = _073_ ? 1'h1 : 1'h0;
+  assign _075_ = $signed(32'd26) >= $signed({ 25'h0000000, mb });
+  assign _076_ = _075_ ? 1'h1 : 1'h0;
+  assign _077_ = $signed(32'd27) >= $signed({ 25'h0000000, mb });
+  assign _078_ = _077_ ? 1'h1 : 1'h0;
+  assign _079_ = $signed(32'd28) >= $signed({ 25'h0000000, mb });
+  assign _080_ = _079_ ? 1'h1 : 1'h0;
+  assign _081_ = $signed(32'd29) >= $signed({ 25'h0000000, mb });
+  assign _082_ = _081_ ? 1'h1 : 1'h0;
+  assign _083_ = $signed(32'd30) >= $signed({ 25'h0000000, mb });
+  assign _084_ = _083_ ? 1'h1 : 1'h0;
+  assign _085_ = $signed(32'd31) >= $signed({ 25'h0000000, mb });
+  assign _086_ = _085_ ? 1'h1 : 1'h0;
+  assign _087_ = $signed(32'd32) >= $signed({ 25'h0000000, mb });
+  assign _088_ = _087_ ? 1'h1 : 1'h0;
+  assign _089_ = $signed(32'd33) >= $signed({ 25'h0000000, mb });
+  assign _090_ = _089_ ? 1'h1 : 1'h0;
+  assign _091_ = $signed(32'd34) >= $signed({ 25'h0000000, mb });
+  assign _092_ = _091_ ? 1'h1 : 1'h0;
+  assign _093_ = $signed(32'd35) >= $signed({ 25'h0000000, mb });
+  assign _094_ = _093_ ? 1'h1 : 1'h0;
+  assign _095_ = $signed(32'd36) >= $signed({ 25'h0000000, mb });
+  assign _096_ = _095_ ? 1'h1 : 1'h0;
+  assign _097_ = $signed(32'd37) >= $signed({ 25'h0000000, mb });
+  assign _098_ = _097_ ? 1'h1 : 1'h0;
+  assign _099_ = $signed(32'd38) >= $signed({ 25'h0000000, mb });
+  assign _100_ = _099_ ? 1'h1 : 1'h0;
+  assign _101_ = $signed(32'd39) >= $signed({ 25'h0000000, mb });
+  assign _102_ = _101_ ? 1'h1 : 1'h0;
+  assign _103_ = $signed(32'd40) >= $signed({ 25'h0000000, mb });
+  assign _104_ = _103_ ? 1'h1 : 1'h0;
+  assign _105_ = $signed(32'd41) >= $signed({ 25'h0000000, mb });
+  assign _106_ = _105_ ? 1'h1 : 1'h0;
+  assign _107_ = $signed(32'd42) >= $signed({ 25'h0000000, mb });
+  assign _108_ = _107_ ? 1'h1 : 1'h0;
+  assign _109_ = $signed(32'd43) >= $signed({ 25'h0000000, mb });
+  assign _110_ = _109_ ? 1'h1 : 1'h0;
+  assign _111_ = $signed(32'd44) >= $signed({ 25'h0000000, mb });
+  assign _112_ = _111_ ? 1'h1 : 1'h0;
+  assign _113_ = $signed(32'd45) >= $signed({ 25'h0000000, mb });
+  assign _114_ = _113_ ? 1'h1 : 1'h0;
+  assign _115_ = $signed(32'd46) >= $signed({ 25'h0000000, mb });
+  assign _116_ = _115_ ? 1'h1 : 1'h0;
+  assign _117_ = $signed(32'd47) >= $signed({ 25'h0000000, mb });
+  assign _118_ = _117_ ? 1'h1 : 1'h0;
+  assign _119_ = $signed(32'd48) >= $signed({ 25'h0000000, mb });
+  assign _120_ = _119_ ? 1'h1 : 1'h0;
+  assign _121_ = $signed(32'd49) >= $signed({ 25'h0000000, mb });
+  assign _122_ = _121_ ? 1'h1 : 1'h0;
+  assign _123_ = $signed(32'd50) >= $signed({ 25'h0000000, mb });
+  assign _124_ = _123_ ? 1'h1 : 1'h0;
+  assign _125_ = $signed(32'd51) >= $signed({ 25'h0000000, mb });
+  assign _126_ = _125_ ? 1'h1 : 1'h0;
+  assign _127_ = $signed(32'd52) >= $signed({ 25'h0000000, mb });
+  assign _128_ = _127_ ? 1'h1 : 1'h0;
+  assign _129_ = $signed(32'd53) >= $signed({ 25'h0000000, mb });
+  assign _130_ = _129_ ? 1'h1 : 1'h0;
+  assign _131_ = $signed(32'd54) >= $signed({ 25'h0000000, mb });
+  assign _132_ = _131_ ? 1'h1 : 1'h0;
+  assign _133_ = $signed(32'd55) >= $signed({ 25'h0000000, mb });
+  assign _134_ = _133_ ? 1'h1 : 1'h0;
+  assign _135_ = $signed(32'd56) >= $signed({ 25'h0000000, mb });
+  assign _136_ = _135_ ? 1'h1 : 1'h0;
+  assign _137_ = $signed(32'd57) >= $signed({ 25'h0000000, mb });
+  assign _138_ = _137_ ? 1'h1 : 1'h0;
+  assign _139_ = $signed(32'd58) >= $signed({ 25'h0000000, mb });
+  assign _140_ = _139_ ? 1'h1 : 1'h0;
+  assign _141_ = $signed(32'd59) >= $signed({ 25'h0000000, mb });
+  assign _142_ = _141_ ? 1'h1 : 1'h0;
+  assign _143_ = $signed(32'd60) >= $signed({ 25'h0000000, mb });
+  assign _144_ = _143_ ? 1'h1 : 1'h0;
+  assign _145_ = $signed(32'd61) >= $signed({ 25'h0000000, mb });
+  assign _146_ = _145_ ? 1'h1 : 1'h0;
+  assign _147_ = $signed(32'd62) >= $signed({ 25'h0000000, mb });
+  assign _148_ = _147_ ? 1'h1 : 1'h0;
+  assign _149_ = $signed(32'd63) >= $signed({ 25'h0000000, mb });
+  assign _150_ = _149_ ? 1'h1 : 1'h0;
+  assign _151_ = ~ me[6];
+  assign _152_ = $signed(32'd0) <= $signed({ 25'h0000000, me });
+  assign _153_ = _152_ ? 1'h1 : 1'h0;
+  assign _154_ = $signed(32'd1) <= $signed({ 25'h0000000, me });
+  assign _155_ = _154_ ? 1'h1 : 1'h0;
+  assign _156_ = $signed(32'd2) <= $signed({ 25'h0000000, me });
+  assign _157_ = _156_ ? 1'h1 : 1'h0;
+  assign _158_ = $signed(32'd3) <= $signed({ 25'h0000000, me });
+  assign _159_ = _158_ ? 1'h1 : 1'h0;
+  assign _160_ = $signed(32'd4) <= $signed({ 25'h0000000, me });
+  assign _161_ = _160_ ? 1'h1 : 1'h0;
+  assign _162_ = $signed(32'd5) <= $signed({ 25'h0000000, me });
+  assign _163_ = _162_ ? 1'h1 : 1'h0;
+  assign _164_ = $signed(32'd6) <= $signed({ 25'h0000000, me });
+  assign _165_ = _164_ ? 1'h1 : 1'h0;
+  assign _166_ = $signed(32'd7) <= $signed({ 25'h0000000, me });
+  assign _167_ = _166_ ? 1'h1 : 1'h0;
+  assign _168_ = $signed(32'd8) <= $signed({ 25'h0000000, me });
+  assign _169_ = _168_ ? 1'h1 : 1'h0;
+  assign _170_ = $signed(32'd9) <= $signed({ 25'h0000000, me });
+  assign _171_ = _170_ ? 1'h1 : 1'h0;
+  assign _172_ = $signed(32'd10) <= $signed({ 25'h0000000, me });
+  assign _173_ = _172_ ? 1'h1 : 1'h0;
+  assign _174_ = $signed(32'd11) <= $signed({ 25'h0000000, me });
+  assign _175_ = _174_ ? 1'h1 : 1'h0;
+  assign _176_ = $signed(32'd12) <= $signed({ 25'h0000000, me });
+  assign _177_ = _176_ ? 1'h1 : 1'h0;
+  assign _178_ = $signed(32'd13) <= $signed({ 25'h0000000, me });
+  assign _179_ = _178_ ? 1'h1 : 1'h0;
+  assign _180_ = $signed(32'd14) <= $signed({ 25'h0000000, me });
+  assign _181_ = _180_ ? 1'h1 : 1'h0;
+  assign _182_ = $signed(32'd15) <= $signed({ 25'h0000000, me });
+  assign _183_ = _182_ ? 1'h1 : 1'h0;
+  assign _184_ = $signed(32'd16) <= $signed({ 25'h0000000, me });
+  assign _185_ = _184_ ? 1'h1 : 1'h0;
+  assign _186_ = $signed(32'd17) <= $signed({ 25'h0000000, me });
+  assign _187_ = _186_ ? 1'h1 : 1'h0;
+  assign _188_ = $signed(32'd18) <= $signed({ 25'h0000000, me });
+  assign _189_ = _188_ ? 1'h1 : 1'h0;
+  assign _190_ = $signed(32'd19) <= $signed({ 25'h0000000, me });
+  assign _191_ = _190_ ? 1'h1 : 1'h0;
+  assign _192_ = $signed(32'd20) <= $signed({ 25'h0000000, me });
+  assign _193_ = _192_ ? 1'h1 : 1'h0;
+  assign _194_ = $signed(32'd21) <= $signed({ 25'h0000000, me });
+  assign _195_ = _194_ ? 1'h1 : 1'h0;
+  assign _196_ = $signed(32'd22) <= $signed({ 25'h0000000, me });
+  assign _197_ = _196_ ? 1'h1 : 1'h0;
+  assign _198_ = $signed(32'd23) <= $signed({ 25'h0000000, me });
+  assign _199_ = _198_ ? 1'h1 : 1'h0;
+  assign _200_ = $signed(32'd24) <= $signed({ 25'h0000000, me });
+  assign _201_ = _200_ ? 1'h1 : 1'h0;
+  assign _202_ = $signed(32'd25) <= $signed({ 25'h0000000, me });
+  assign _203_ = _202_ ? 1'h1 : 1'h0;
+  assign _204_ = $signed(32'd26) <= $signed({ 25'h0000000, me });
+  assign _205_ = _204_ ? 1'h1 : 1'h0;
+  assign _206_ = $signed(32'd27) <= $signed({ 25'h0000000, me });
+  assign _207_ = _206_ ? 1'h1 : 1'h0;
+  assign _208_ = $signed(32'd28) <= $signed({ 25'h0000000, me });
+  assign _209_ = _208_ ? 1'h1 : 1'h0;
+  assign _210_ = $signed(32'd29) <= $signed({ 25'h0000000, me });
+  assign _211_ = _210_ ? 1'h1 : 1'h0;
+  assign _212_ = $signed(32'd30) <= $signed({ 25'h0000000, me });
+  assign _213_ = _212_ ? 1'h1 : 1'h0;
+  assign _214_ = $signed(32'd31) <= $signed({ 25'h0000000, me });
+  assign _215_ = _214_ ? 1'h1 : 1'h0;
+  assign _216_ = $signed(32'd32) <= $signed({ 25'h0000000, me });
+  assign _217_ = _216_ ? 1'h1 : 1'h0;
+  assign _218_ = $signed(32'd33) <= $signed({ 25'h0000000, me });
+  assign _219_ = _218_ ? 1'h1 : 1'h0;
+  assign _220_ = $signed(32'd34) <= $signed({ 25'h0000000, me });
+  assign _221_ = _220_ ? 1'h1 : 1'h0;
+  assign _222_ = $signed(32'd35) <= $signed({ 25'h0000000, me });
+  assign _223_ = _222_ ? 1'h1 : 1'h0;
+  assign _224_ = $signed(32'd36) <= $signed({ 25'h0000000, me });
+  assign _225_ = _224_ ? 1'h1 : 1'h0;
+  assign _226_ = $signed(32'd37) <= $signed({ 25'h0000000, me });
+  assign _227_ = _226_ ? 1'h1 : 1'h0;
+  assign _228_ = $signed(32'd38) <= $signed({ 25'h0000000, me });
+  assign _229_ = _228_ ? 1'h1 : 1'h0;
+  assign _230_ = $signed(32'd39) <= $signed({ 25'h0000000, me });
+  assign _231_ = _230_ ? 1'h1 : 1'h0;
+  assign _232_ = $signed(32'd40) <= $signed({ 25'h0000000, me });
+  assign _233_ = _232_ ? 1'h1 : 1'h0;
+  assign _234_ = $signed(32'd41) <= $signed({ 25'h0000000, me });
+  assign _235_ = _234_ ? 1'h1 : 1'h0;
+  assign _236_ = $signed(32'd42) <= $signed({ 25'h0000000, me });
+  assign _237_ = _236_ ? 1'h1 : 1'h0;
+  assign _238_ = $signed(32'd43) <= $signed({ 25'h0000000, me });
+  assign _239_ = _238_ ? 1'h1 : 1'h0;
+  assign _240_ = $signed(32'd44) <= $signed({ 25'h0000000, me });
+  assign _241_ = _240_ ? 1'h1 : 1'h0;
+  assign _242_ = $signed(32'd45) <= $signed({ 25'h0000000, me });
+  assign _243_ = _242_ ? 1'h1 : 1'h0;
+  assign _244_ = $signed(32'd46) <= $signed({ 25'h0000000, me });
+  assign _245_ = _244_ ? 1'h1 : 1'h0;
+  assign _246_ = $signed(32'd47) <= $signed({ 25'h0000000, me });
+  assign _247_ = _246_ ? 1'h1 : 1'h0;
+  assign _248_ = $signed(32'd48) <= $signed({ 25'h0000000, me });
+  assign _249_ = _248_ ? 1'h1 : 1'h0;
+  assign _250_ = $signed(32'd49) <= $signed({ 25'h0000000, me });
+  assign _251_ = _250_ ? 1'h1 : 1'h0;
+  assign _252_ = $signed(32'd50) <= $signed({ 25'h0000000, me });
+  assign _253_ = _252_ ? 1'h1 : 1'h0;
+  assign _254_ = $signed(32'd51) <= $signed({ 25'h0000000, me });
+  assign _255_ = _254_ ? 1'h1 : 1'h0;
+  assign _256_ = $signed(32'd52) <= $signed({ 25'h0000000, me });
+  assign _257_ = _256_ ? 1'h1 : 1'h0;
+  assign _258_ = $signed(32'd53) <= $signed({ 25'h0000000, me });
+  assign _259_ = _258_ ? 1'h1 : 1'h0;
+  assign _260_ = $signed(32'd54) <= $signed({ 25'h0000000, me });
+  assign _261_ = _260_ ? 1'h1 : 1'h0;
+  assign _262_ = $signed(32'd55) <= $signed({ 25'h0000000, me });
+  assign _263_ = _262_ ? 1'h1 : 1'h0;
+  assign _264_ = $signed(32'd56) <= $signed({ 25'h0000000, me });
+  assign _265_ = _264_ ? 1'h1 : 1'h0;
+  assign _266_ = $signed(32'd57) <= $signed({ 25'h0000000, me });
+  assign _267_ = _266_ ? 1'h1 : 1'h0;
+  assign _268_ = $signed(32'd58) <= $signed({ 25'h0000000, me });
+  assign _269_ = _268_ ? 1'h1 : 1'h0;
+  assign _270_ = $signed(32'd59) <= $signed({ 25'h0000000, me });
+  assign _271_ = _270_ ? 1'h1 : 1'h0;
+  assign _272_ = $signed(32'd60) <= $signed({ 25'h0000000, me });
+  assign _273_ = _272_ ? 1'h1 : 1'h0;
+  assign _274_ = $signed(32'd61) <= $signed({ 25'h0000000, me });
+  assign _275_ = _274_ ? 1'h1 : 1'h0;
+  assign _276_ = $signed(32'd62) <= $signed({ 25'h0000000, me });
+  assign _277_ = _276_ ? 1'h1 : 1'h0;
+  assign _278_ = $signed(32'd63) <= $signed({ 25'h0000000, me });
+  assign _279_ = _278_ ? 1'h1 : 1'h0;
+  assign ml = _151_ ? { _153_, _155_, _157_, _159_, _161_, _163_, _165_, _167_, _169_, _171_, _173_, _175_, _177_, _179_, _181_, _183_, _185_, _187_, _189_, _191_, _193_, _195_, _197_, _199_, _201_, _203_, _205_, _207_, _209_, _211_, _213_, _215_, _217_, _219_, _221_, _223_, _225_, _227_, _229_, _231_, _233_, _235_, _237_, _239_, _241_, _243_, _245_, _247_, _249_, _251_, _253_, _255_, _257_, _259_, _261_, _263_, _265_, _267_, _269_, _271_, _273_, _275_, _277_, _279_ } : 64'h0000000000000000;
+  assign _280_ = ~ clear_right;
+  assign _281_ = clear_left & _280_;
+  assign _282_ = _281_ | right_shift;
+  assign _283_ = arith & _001_[31];
+  assign _284_ = mb[5:0] > me[5:0];
+  assign _285_ = clear_right & _284_;
+  assign _286_ = _285_ ? 1'h1 : 1'h0;
+  assign output_mode = _282_ ? { 1'h1, _283_ } : { 1'h0, _286_ };
+  assign _287_ = { _024_, _026_, _028_, _030_, _032_, _034_, _036_, _038_, _040_, _042_, _044_, _046_, _048_, _050_, _052_, _054_, _056_, _058_, _060_, _062_, _064_, _066_, _068_, _070_, _072_, _074_, _076_, _078_, _080_, _082_, _084_, _086_, _088_, _090_, _092_, _094_, _096_, _098_, _100_, _102_, _104_, _106_, _108_, _110_, _112_, _114_, _116_, _118_, _120_, _122_, _124_, _126_, _128_, _130_, _132_, _134_, _136_, _138_, _140_, _142_, _144_, _146_, _148_, _150_ } & ml;
+  assign _288_ = rot & _287_;
+  assign _289_ = { _024_, _026_, _028_, _030_, _032_, _034_, _036_, _038_, _040_, _042_, _044_, _046_, _048_, _050_, _052_, _054_, _056_, _058_, _060_, _062_, _064_, _066_, _068_, _070_, _072_, _074_, _076_, _078_, _080_, _082_, _084_, _086_, _088_, _090_, _092_, _094_, _096_, _098_, _100_, _102_, _104_, _106_, _108_, _110_, _112_, _114_, _116_, _118_, _120_, _122_, _124_, _126_, _128_, _130_, _132_, _134_, _136_, _138_, _140_, _142_, _144_, _146_, _148_, _150_ } & ml;
+  assign _290_ = ~ _289_;
+  assign _291_ = ra & _290_;
+  assign _292_ = _288_ | _291_;
+  assign _293_ = output_mode == 2'h0;
+  assign _294_ = { _024_, _026_, _028_, _030_, _032_, _034_, _036_, _038_, _040_, _042_, _044_, _046_, _048_, _050_, _052_, _054_, _056_, _058_, _060_, _062_, _064_, _066_, _068_, _070_, _072_, _074_, _076_, _078_, _080_, _082_, _084_, _086_, _088_, _090_, _092_, _094_, _096_, _098_, _100_, _102_, _104_, _106_, _108_, _110_, _112_, _114_, _116_, _118_, _120_, _122_, _124_, _126_, _128_, _130_, _132_, _134_, _136_, _138_, _140_, _142_, _144_, _146_, _148_, _150_ } | ml;
+  assign _295_ = rot & _294_;
+  assign _296_ = { _024_, _026_, _028_, _030_, _032_, _034_, _036_, _038_, _040_, _042_, _044_, _046_, _048_, _050_, _052_, _054_, _056_, _058_, _060_, _062_, _064_, _066_, _068_, _070_, _072_, _074_, _076_, _078_, _080_, _082_, _084_, _086_, _088_, _090_, _092_, _094_, _096_, _098_, _100_, _102_, _104_, _106_, _108_, _110_, _112_, _114_, _116_, _118_, _120_, _122_, _124_, _126_, _128_, _130_, _132_, _134_, _136_, _138_, _140_, _142_, _144_, _146_, _148_, _150_ } | ml;
+  assign _297_ = ~ _296_;
+  assign _298_ = ra & _297_;
+  assign _299_ = _295_ | _298_;
+  assign _300_ = output_mode == 2'h1;
+  assign _301_ = rot & { _024_, _026_, _028_, _030_, _032_, _034_, _036_, _038_, _040_, _042_, _044_, _046_, _048_, _050_, _052_, _054_, _056_, _058_, _060_, _062_, _064_, _066_, _068_, _070_, _072_, _074_, _076_, _078_, _080_, _082_, _084_, _086_, _088_, _090_, _092_, _094_, _096_, _098_, _100_, _102_, _104_, _106_, _108_, _110_, _112_, _114_, _116_, _118_, _120_, _122_, _124_, _126_, _128_, _130_, _132_, _134_, _136_, _138_, _140_, _142_, _144_, _146_, _148_, _150_ };
+  assign _302_ = output_mode == 2'h2;
+  assign _303_ = ~ { _024_, _026_, _028_, _030_, _032_, _034_, _036_, _038_, _040_, _042_, _044_, _046_, _048_, _050_, _052_, _054_, _056_, _058_, _060_, _062_, _064_, _066_, _068_, _070_, _072_, _074_, _076_, _078_, _080_, _082_, _084_, _086_, _088_, _090_, _092_, _094_, _096_, _098_, _100_, _102_, _104_, _106_, _108_, _110_, _112_, _114_, _116_, _118_, _120_, _122_, _124_, _126_, _128_, _130_, _132_, _134_, _136_, _138_, _140_, _142_, _144_, _146_, _148_, _150_ };
+  assign _304_ = rot | _303_;
+  function [63:0] \21743 ;
+    input [63:0] a;
+    input [191:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \21743  = b[63:0];
+      3'b?1?:
+        \21743  = b[127:64];
+      3'b1??:
+        \21743  = b[191:128];
+      default:
+        \21743  = a;
+    endcase
+  endfunction
+  assign _305_ = \21743 (_304_, { _301_, _299_, _292_ }, { _302_, _300_, _293_ });
+  assign _306_ = output_mode == 2'h3;
+  assign _307_ = ~ ml;
+  assign _308_ = rs & _307_;
+  assign _309_ = | _308_;
+  assign _310_ = _306_ ? _309_ : 1'h0;
+  assign result = _305_;
+  assign carry_out = _310_;
+endmodule
+
+module soc_4096_50000000_0_0_4_0_4_0_c832069ef22b63469d396707bc38511cc2410ddb(
+`ifdef USE_POWER_PINS
+        vccd1, vssd1,
+`endif
+ rst, system_clk, wb_dram_out, wb_ext_io_out, ext_irq_eth, uart0_rxd, uart1_rxd, spi_flash_sdat_i, jtag_tck, jtag_tdi, jtag_tms, jtag_trst, alt_reset, wb_dram_in, wb_ext_io_in, wb_ext_is_dram_csr, wb_ext_is_dram_init, wb_ext_is_eth, uart0_txd, uart1_txd, spi_flash_sck, spi_flash_cs_n, spi_flash_sdat_o, spi_flash_sdat_oe, jtag_tdo);
+`ifdef USE_POWER_PINS
+  inout vccd1;        // User area 1 1.8V supply
+  inout vssd1;        // User area 1 digital ground
+`endif
+  wire [31:0] _000_;
+  wire [33:0] _001_;
+  wire _002_;
+  wire [1:0] _003_;
+  wire _004_;
+  wire [31:0] _005_;
+  wire [31:0] _006_;
+  wire _007_;
+  wire _008_;
+  wire [1:0] _009_;
+  wire _010_;
+  wire [26:0] _011_;
+  wire [35:0] _012_;
+  wire _013_;
+  wire _014_;
+  wire _015_;
+  wire [1:0] _016_;
+  wire _017_;
+  wire [63:0] _018_;
+  wire [1:0] _019_;
+  wire [29:0] _020_;
+  wire [35:0] _021_;
+  wire [1:0] _022_;
+  wire _023_;
+  wire [1:0] _024_;
+  wire _025_;
+  wire [19:0] _026_;
+  wire _027_;
+  wire _028_;
+  wire [19:0] _029_;
+  wire _030_;
+  wire [19:0] _031_;
+  wire _032_;
+  wire [19:0] _033_;
+  wire _034_;
+  wire [19:0] _035_;
+  wire _036_;
+  wire [19:0] _037_;
+  wire _038_;
+  wire [19:0] _039_;
+  wire _040_;
+  wire [19:0] _041_;
+  wire _042_;
+  wire [19:0] _043_;
+  wire _044_;
+  wire [3:0] _045_;
+  wire [3:0] _046_;
+  wire [3:0] _047_;
+  wire [3:0] _048_;
+  wire [3:0] _049_;
+  wire [3:0] _050_;
+  wire [3:0] _051_;
+  wire [3:0] _052_;
+  wire [3:0] _053_;
+  wire _054_;
+  wire _055_;
+  wire _056_;
+  wire _057_;
+  wire _058_;
+  wire _059_;
+  wire _060_;
+  wire _061_;
+  wire _062_;
+  wire _063_;
+  wire _064_;
+  wire _065_;
+  wire _066_;
+  wire _067_;
+  wire _068_;
+  wire _069_;
+  wire _070_;
+  wire _071_;
+  wire _072_;
+  wire _073_;
+  wire [33:0] _074_;
+  wire _075_;
+  wire _076_;
+  wire _077_;
+  wire _078_;
+  wire _079_;
+  wire _080_;
+  wire _081_;
+  wire _082_;
+  wire _083_;
+  wire _084_;
+  wire _085_;
+  wire _086_;
+  wire _087_;
+  wire _088_;
+  wire _089_;
+  wire [1:0] _090_;
+  wire _091_;
+  wire _092_;
+  wire _093_;
+  wire _094_;
+  wire _095_;
+  wire _096_;
+  wire _097_;
+  wire _098_;
+  wire _099_;
+  wire _100_;
+  wire _101_;
+  wire _102_;
+  wire [3:0] _103_;
+  wire [3:0] _104_;
+  wire _105_;
+  wire [7:0] _106_;
+  wire _107_;
+  wire [7:0] _108_;
+  wire _109_;
+  wire [1:0] _110_;
+  wire [1:0] _111_;
+  wire _112_;
+  wire _113_;
+  wire _114_;
+  wire _115_;
+  wire [3:0] _116_;
+  wire _117_;
+  wire [3:0] _118_;
+  wire _119_;
+  wire [3:0] _120_;
+  wire _121_;
+  wire [3:0] _122_;
+  wire _123_;
+  wire [3:0] _124_;
+  wire _125_;
+  wire [1:0] _126_;
+  wire [1:0] _127_;
+  wire [1:0] _128_;
+  wire [1:0] _129_;
+  wire [1:0] _130_;
+  wire _131_;
+  wire _132_;
+  wire _133_;
+  wire _134_;
+  wire _135_;
+  wire _136_;
+  wire _137_;
+  wire _138_;
+  wire _139_;
+  wire _140_;
+  wire [31:0] _141_;
+  wire [31:0] _142_;
+  wire _143_;
+  wire [35:0] _144_;
+  wire [1:0] _145_;
+  wire _146_;
+  wire [68:0] _147_;
+  wire [1:0] _148_;
+  wire _149_;
+  wire _150_;
+  wire _151_;
+  wire _152_;
+  wire _153_;
+  wire [31:0] _154_;
+  wire [31:0] _155_;
+  wire [1:0] _156_;
+  wire _157_;
+  wire [35:0] _158_;
+  wire _159_;
+  wire _160_;
+  wire [1:0] _161_;
+  wire _162_;
+  wire [1:0] _163_;
+  wire _164_;
+  wire [37:0] _165_;
+  wire [1:0] _166_;
+  wire _167_;
+  wire _168_;
+  wire _169_;
+  wire _170_;
+  input alt_reset;
+  reg alt_reset_d;
+  wire core_ext_irq;
+  wire dmi_ack;
+  wire [7:0] dmi_addr;
+  wire dmi_core_ack;
+  wire [63:0] dmi_core_dout;
+  wire dmi_core_req;
+  wire [63:0] dmi_din;
+  wire [63:0] dmi_dout;
+  wire dmi_req;
+  wire dmi_wb_ack;
+  wire [63:0] dmi_wb_dout;
+  wire dmi_wb_req;
+  wire dmi_wr;
+  wire do_core_reset;
+  wire dram_at_0;
+  input ext_irq_eth;
+  wire [11:0] ics_to_icp;
+  input jtag_tck;
+  input jtag_tdi;
+  output jtag_tdo;
+  input jtag_tms;
+  input jtag_trst;
+  input rst;
+  reg rst_bram = 1'h1;
+  reg rst_core = 1'h1;
+  reg rst_dtm = 1'h1;
+  reg rst_spi = 1'h1;
+  reg rst_uart = 1'h1;
+  reg rst_wbar = 1'h1;
+  reg rst_wbdb = 1'h1;
+  reg rst_xics = 1'h1;
+  reg \slave_io_latch.has_top  = 1'h0;
+  reg [1:0] \slave_io_latch.state  = 2'h0;
+  output spi_flash_cs_n;
+  output spi_flash_sck;
+  input [3:0] spi_flash_sdat_i;
+  output [3:0] spi_flash_sdat_o;
+  output [3:0] spi_flash_sdat_oe;
+  input system_clk;
+  wire \uart0_16550.irq_l ;
+  wire [7:0] uart0_dat8;
+  reg uart0_irq;
+  input uart0_rxd;
+  output uart0_txd;
+  input uart1_rxd;
+  output uart1_txd;
+  wire [65:0] wb_bram_out;
+  output [106:0] wb_dram_in;
+  input [65:0] wb_dram_out;
+  output [68:0] wb_ext_io_in;
+  input [33:0] wb_ext_io_out;
+  output wb_ext_is_dram_csr;
+  output wb_ext_is_dram_init;
+  output wb_ext_is_eth;
+  reg [65:0] wb_io_out;
+  wire [65:0] wb_master_in;
+  wire [106:0] wb_master_out;
+  wire [197:0] wb_masters_in;
+  wire [33:0] wb_sio_in;
+  reg [68:0] wb_sio_out;
+  wire wb_spiflash_is_map;
+  wire wb_spiflash_is_reg;
+  wire [33:0] wb_spiflash_out;
+  wire [33:0] wb_syscon_out;
+  wire [33:0] wb_xics_icp_out;
+  wire [33:0] wb_xics_ics_out;
+  wire [106:0] wishbone_dcore_out;
+  wire [106:0] wishbone_debug_out;
+  wire [106:0] wishbone_icore_out;
+  assign _116_ = { wb_master_out[31:29], dram_at_0 } & 4'hf;
+  assign _117_ = _116_ == 4'h0;
+  assign _118_ = { wb_master_out[31:29], dram_at_0 } & 4'hf;
+  assign _119_ = _118_ == 4'h1;
+  assign _120_ = { wb_master_out[31:29], dram_at_0 } & 4'hc;
+  assign _121_ = _120_ == 4'h4;
+  assign _122_ = { wb_master_out[31:29], dram_at_0 } & 4'hc;
+  assign _123_ = _122_ == 4'h8;
+  assign _124_ = { wb_master_out[31:29], dram_at_0 } & 4'hc;
+  assign _125_ = _124_ == 4'hc;
+  assign _126_ = _125_ ? 2'h2 : 2'h3;
+  assign _127_ = _123_ ? 2'h0 : _126_;
+  assign _128_ = _121_ ? 2'h1 : _127_;
+  assign _129_ = _119_ ? 2'h1 : _128_;
+  assign _130_ = _117_ ? 2'h0 : _129_;
+  assign _131_ = _130_ == 2'h3;
+  assign _132_ = _130_ == 2'h0;
+  assign _133_ = _130_ == 2'h1;
+  assign _134_ = _130_ == 2'h2;
+  function [0:0] \161 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \161  = b[0:0];
+      4'b??1?:
+        \161  = b[1:1];
+      4'b?1??:
+        \161  = b[2:2];
+      4'b1???:
+        \161  = b[3:3];
+      default:
+        \161  = a;
+    endcase
+  endfunction
+  assign _135_ = \161 (1'hx, { 1'h0, wb_master_out[104], 2'h0 }, { _134_, _133_, _132_, _131_ });
+  function [65:0] \164 ;
+    input [65:0] a;
+    input [263:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \164  = b[65:0];
+      4'b??1?:
+        \164  = b[131:66];
+      4'b?1??:
+        \164  = b[197:132];
+      4'b1???:
+        \164  = b[263:198];
+      default:
+        \164  = a;
+    endcase
+  endfunction
+  assign wb_master_in = \164 (66'hxxxxxxxxxxxxxxxxx, { wb_io_out, wb_dram_out, wb_bram_out, 66'h00000000000000000 }, { _134_, _133_, _132_, _131_ });
+  function [0:0] \166 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \166  = b[0:0];
+      4'b??1?:
+        \166  = b[1:1];
+      4'b?1??:
+        \166  = b[2:2];
+      4'b1???:
+        \166  = b[3:3];
+      default:
+        \166  = a;
+    endcase
+  endfunction
+  assign _136_ = \166 (1'hx, { wb_master_out[104], 3'h0 }, { _134_, _133_, _132_, _131_ });
+  function [0:0] \168 ;
+    input [0:0] a;
+    input [3:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \168  = b[0:0];
+      4'b??1?:
+        \168  = b[1:1];
+      4'b?1??:
+        \168  = b[2:2];
+      4'b1???:
+        \168  = b[3:3];
+      default:
+        \168  = a;
+    endcase
+  endfunction
+  assign _137_ = \168 (1'hx, { 2'h0, wb_master_out[104], 1'h0 }, { _134_, _133_, _132_, _131_ });
+  assign _138_ = _136_ & wb_master_out[105];
+  assign _139_ = wb_master_out[103:100] != 4'h0;
+  assign _140_ = wb_master_out[99:96] != 4'h0;
+  assign _141_ = wb_master_out[106] ? wb_master_out[63:32] : wb_sio_out[61:30];
+  assign _142_ = wb_master_out[106] ? wb_master_out[95:64] : wb_sio_out[61:30];
+  assign _143_ = _140_ ? 1'h0 : 1'h1;
+  assign _144_ = _140_ ? { wb_master_out[99:96], _141_ } : { wb_master_out[103:100], _142_ };
+  assign _145_ = _140_ ? 2'h1 : 2'h2;
+  assign _146_ = _138_ ? 1'h1 : wb_io_out[65];
+  assign _147_ = _138_ ? { wb_master_out[106], 2'h3, _144_, wb_master_out[29:3], _143_, 2'h0 } : wb_sio_out;
+  assign _148_ = _138_ ? _145_ : \slave_io_latch.state ;
+  assign _149_ = _138_ ? _139_ : \slave_io_latch.has_top ;
+  assign _150_ = \slave_io_latch.state  == 2'h0;
+  assign _151_ = ~ wb_sio_in[33];
+  assign _152_ = _151_ ? 1'h0 : wb_sio_out[67];
+  assign _153_ = ~ wb_sio_out[68];
+  assign _154_ = _162_ ? wb_sio_in[31:0] : wb_io_out[31:0];
+  assign _155_ = wb_master_out[106] ? wb_master_out[95:64] : wb_sio_out[61:30];
+  assign _156_ = \slave_io_latch.has_top  ? wb_io_out[65:64] : 2'h1;
+  assign _157_ = _164_ ? 1'h1 : wb_sio_out[2];
+  assign _158_ = \slave_io_latch.has_top  ? { wb_master_out[103:100], _155_ } : wb_sio_out[65:30];
+  assign _159_ = \slave_io_latch.has_top  ? wb_sio_out[66] : 1'h0;
+  assign _160_ = \slave_io_latch.has_top  ? 1'h1 : _152_;
+  assign _161_ = \slave_io_latch.has_top  ? 2'h2 : 2'h0;
+  assign _162_ = wb_sio_in[32] & _153_;
+  assign _163_ = wb_sio_in[32] ? _156_ : wb_io_out[65:64];
+  assign _164_ = wb_sio_in[32] & \slave_io_latch.has_top ;
+  assign _165_ = wb_sio_in[32] ? { _160_, _159_, _158_ } : { _152_, wb_sio_out[66:30] };
+  assign _166_ = wb_sio_in[32] ? _161_ : \slave_io_latch.state ;
+  assign _167_ = \slave_io_latch.state  == 2'h1;
+  assign _168_ = ~ wb_sio_in[33];
+  assign _169_ = _168_ ? 1'h0 : wb_sio_out[67];
+  assign _170_ = ~ wb_sio_out[68];
+  assign _000_ = _170_ ? wb_sio_in[31:0] : wb_io_out[63:32];
+  assign _001_ = wb_sio_in[32] ? { 2'h1, _000_ } : wb_io_out[65:32];
+  assign _002_ = wb_sio_in[32] ? 1'h0 : wb_sio_out[66];
+  assign _003_ = wb_sio_in[32] ? 2'h0 : \slave_io_latch.state ;
+  assign _004_ = \slave_io_latch.state  == 2'h2;
+  function [31:0] \301 ;
+    input [31:0] a;
+    input [95:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \301  = b[31:0];
+      3'b?1?:
+        \301  = b[63:32];
+      3'b1??:
+        \301  = b[95:64];
+      default:
+        \301  = a;
+    endcase
+  endfunction
+  assign _005_ = \301 (32'hxxxxxxxx, { wb_io_out[31:0], _154_, wb_io_out[31:0] }, { _004_, _167_, _150_ });
+  function [31:0] \305 ;
+    input [31:0] a;
+    input [95:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \305  = b[31:0];
+      3'b?1?:
+        \305  = b[63:32];
+      3'b1??:
+        \305  = b[95:64];
+      default:
+        \305  = a;
+    endcase
+  endfunction
+  assign _006_ = \305 (32'hxxxxxxxx, { _001_[31:0], wb_io_out[63:32], wb_io_out[63:32] }, { _004_, _167_, _150_ });
+  function [0:0] \309 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \309  = b[0:0];
+      3'b?1?:
+        \309  = b[1:1];
+      3'b1??:
+        \309  = b[2:2];
+      default:
+        \309  = a;
+    endcase
+  endfunction
+  assign _007_ = \309 (1'hx, { _001_[32], _163_[0], 1'h0 }, { _004_, _167_, _150_ });
+  function [0:0] \313 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \313  = b[0:0];
+      3'b?1?:
+        \313  = b[1:1];
+      3'b1??:
+        \313  = b[2:2];
+      default:
+        \313  = a;
+    endcase
+  endfunction
+  assign _008_ = \313 (1'hx, { _001_[33], _163_[1], _146_ }, { _004_, _167_, _150_ });
+  function [1:0] \317 ;
+    input [1:0] a;
+    input [5:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \317  = b[1:0];
+      3'b?1?:
+        \317  = b[3:2];
+      3'b1??:
+        \317  = b[5:4];
+      default:
+        \317  = a;
+    endcase
+  endfunction
+  assign _009_ = \317 (2'hx, { wb_sio_out[1:0], wb_sio_out[1:0], _147_[1:0] }, { _004_, _167_, _150_ });
+  function [0:0] \321 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \321  = b[0:0];
+      3'b?1?:
+        \321  = b[1:1];
+      3'b1??:
+        \321  = b[2:2];
+      default:
+        \321  = a;
+    endcase
+  endfunction
+  assign _010_ = \321 (1'hx, { wb_sio_out[2], _157_, _147_[2] }, { _004_, _167_, _150_ });
+  function [26:0] \325 ;
+    input [26:0] a;
+    input [80:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \325  = b[26:0];
+      3'b?1?:
+        \325  = b[53:27];
+      3'b1??:
+        \325  = b[80:54];
+      default:
+        \325  = a;
+    endcase
+  endfunction
+  assign _011_ = \325 (27'hxxxxxxx, { wb_sio_out[29:3], wb_sio_out[29:3], _147_[29:3] }, { _004_, _167_, _150_ });
+  function [35:0] \330 ;
+    input [35:0] a;
+    input [107:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \330  = b[35:0];
+      3'b?1?:
+        \330  = b[71:36];
+      3'b1??:
+        \330  = b[107:72];
+      default:
+        \330  = a;
+    endcase
+  endfunction
+  assign _012_ = \330 (36'hxxxxxxxxx, { wb_sio_out[65:30], _165_[35:0], _147_[65:30] }, { _004_, _167_, _150_ });
+  function [0:0] \334 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \334  = b[0:0];
+      3'b?1?:
+        \334  = b[1:1];
+      3'b1??:
+        \334  = b[2:2];
+      default:
+        \334  = a;
+    endcase
+  endfunction
+  assign _013_ = \334 (1'hx, { _002_, _165_[36], _147_[66] }, { _004_, _167_, _150_ });
+  function [0:0] \338 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \338  = b[0:0];
+      3'b?1?:
+        \338  = b[1:1];
+      3'b1??:
+        \338  = b[2:2];
+      default:
+        \338  = a;
+    endcase
+  endfunction
+  assign _014_ = \338 (1'hx, { _169_, _165_[37], _147_[67] }, { _004_, _167_, _150_ });
+  function [0:0] \342 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \342  = b[0:0];
+      3'b?1?:
+        \342  = b[1:1];
+      3'b1??:
+        \342  = b[2:2];
+      default:
+        \342  = a;
+    endcase
+  endfunction
+  assign _015_ = \342 (1'hx, { wb_sio_out[68], wb_sio_out[68], _147_[68] }, { _004_, _167_, _150_ });
+  function [1:0] \344 ;
+    input [1:0] a;
+    input [5:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \344  = b[1:0];
+      3'b?1?:
+        \344  = b[3:2];
+      3'b1??:
+        \344  = b[5:4];
+      default:
+        \344  = a;
+    endcase
+  endfunction
+  assign _016_ = \344 (2'hx, { _003_, _166_, _148_ }, { _004_, _167_, _150_ });
+  function [0:0] \346 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \346  = b[0:0];
+      3'b?1?:
+        \346  = b[1:1];
+      3'b1??:
+        \346  = b[2:2];
+      default:
+        \346  = a;
+    endcase
+  endfunction
+  assign _017_ = \346 (1'hx, { \slave_io_latch.has_top , \slave_io_latch.has_top , _149_ }, { _004_, _167_, _150_ });
+  assign _018_ = rst ? wb_io_out[63:0] : { _006_, _005_ };
+  assign _019_ = rst ? 2'h0 : { _008_, _007_ };
+  assign _020_ = rst ? 30'h00000000 : { _011_, _010_, _009_ };
+  assign _021_ = rst ? wb_sio_out[65:30] : _012_;
+  assign _022_ = rst ? 2'h0 : { _014_, _013_ };
+  assign _023_ = rst ? wb_sio_out[68] : _015_;
+  assign _024_ = rst ? 2'h0 : _016_;
+  assign _025_ = rst ? 1'h0 : _017_;
+  always @(posedge system_clk)
+    wb_io_out <= { _019_, _018_ };
+  always @(posedge system_clk)
+    wb_sio_out <= { _023_, _022_, _021_, _020_ };
+  always @(posedge system_clk)
+    \slave_io_latch.state  <= _024_;
+  always @(posedge system_clk)
+    \slave_io_latch.has_top  <= _025_;
+  assign _026_ = { 2'h3, wb_sio_out[29:12] } & 20'hff000;
+  assign _027_ = _026_ == 20'hff000;
+  assign _028_ = _027_ & 1'h1;
+  assign _029_ = { 2'h3, wb_sio_out[29:12] } & 20'hf0000;
+  assign _030_ = _029_ == 20'hf0000;
+  assign _031_ = { 2'h3, wb_sio_out[29:12] } & 20'hfffff;
+  assign _032_ = _031_ == 20'hc0000;
+  assign _033_ = { 2'h3, wb_sio_out[29:12] } & 20'hfffff;
+  assign _034_ = _033_ == 20'hc0002;
+  assign _035_ = { 2'h3, wb_sio_out[29:12] } & 20'hfffff;
+  assign _036_ = _035_ == 20'hc0003;
+  assign _037_ = { 2'h3, wb_sio_out[29:12] } & 20'hff000;
+  assign _038_ = _037_ == 20'hc8000;
+  assign _039_ = { 2'h3, wb_sio_out[29:12] } & 20'hfffff;
+  assign _040_ = _039_ == 20'hc0004;
+  assign _041_ = { 2'h3, wb_sio_out[29:12] } & 20'hfffff;
+  assign _042_ = _041_ == 20'hc0005;
+  assign _043_ = { 2'h3, wb_sio_out[29:12] } & 20'hfffff;
+  assign _044_ = _043_ == 20'hc0006;
+  assign _045_ = _044_ ? 4'h5 : 4'h8;
+  assign _046_ = _042_ ? 4'h3 : _045_;
+  assign _047_ = _040_ ? 4'h2 : _046_;
+  assign _048_ = _038_ ? 4'h7 : _047_;
+  assign _049_ = _036_ ? 4'h4 : _048_;
+  assign _050_ = _034_ ? 4'h1 : _049_;
+  assign _051_ = _032_ ? 4'h0 : _050_;
+  assign _052_ = _030_ ? 4'h6 : _051_;
+  assign _053_ = _028_ ? 4'h7 : _052_;
+  assign _054_ = wb_sio_out[67] & wb_sio_out[66];
+  assign _055_ = wb_sio_out[29] & 1'h1;
+  assign _056_ = wb_sio_out[23:16] == 8'h00;
+  assign _057_ = _056_ & 1'h1;
+  assign _058_ = wb_sio_out[23:16] == 8'h02;
+  assign _059_ = _058_ & 1'h1;
+  assign _060_ = wb_sio_out[23:16] == 8'h03;
+  assign _061_ = _060_ & 1'h1;
+  assign _062_ = _061_ ? 1'h1 : 1'h0;
+  assign _063_ = _061_ ? 1'h1 : 1'h0;
+  assign _064_ = _059_ ? 1'h1 : _062_;
+  assign _065_ = _059_ ? 1'h1 : _063_;
+  assign _066_ = _057_ ? 1'h1 : 1'h0;
+  assign _067_ = _057_ ? 1'h0 : _064_;
+  assign _068_ = _057_ ? 1'h1 : _065_;
+  assign _069_ = _055_ ? 1'h0 : _066_;
+  assign _070_ = _055_ ? 1'h1 : 1'h0;
+  assign _071_ = _055_ ? 1'h0 : _067_;
+  assign _072_ = _055_ ? 1'h1 : _068_;
+  assign _073_ = _072_ ? wb_sio_out[66] : 1'h0;
+  assign _074_ = _072_ ? wb_ext_io_out : { 1'h0, _054_, 32'hffffffff };
+  assign _075_ = _053_ == 4'h7;
+  assign _076_ = _053_ == 4'h0;
+  assign _077_ = _053_ == 4'h1;
+  assign _078_ = _053_ == 4'h2;
+  assign _079_ = _053_ == 4'h3;
+  assign _080_ = _053_ == 4'h4;
+  assign _081_ = _053_ == 4'h6;
+  assign _082_ = _053_ == 4'h5;
+  function [0:0] \560 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \560  = b[0:0];
+      8'b??????1?:
+        \560  = b[1:1];
+      8'b?????1??:
+        \560  = b[2:2];
+      8'b????1???:
+        \560  = b[3:3];
+      8'b???1????:
+        \560  = b[4:4];
+      8'b??1?????:
+        \560  = b[5:5];
+      8'b?1??????:
+        \560  = b[6:6];
+      8'b1???????:
+        \560  = b[7:7];
+      default:
+        \560  = a;
+    endcase
+  endfunction
+  assign _083_ = \560 (1'h0, { 7'h00, _073_ }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \562 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \562  = b[0:0];
+      8'b??????1?:
+        \562  = b[1:1];
+      8'b?????1??:
+        \562  = b[2:2];
+      8'b????1???:
+        \562  = b[3:3];
+      8'b???1????:
+        \562  = b[4:4];
+      8'b??1?????:
+        \562  = b[5:5];
+      8'b?1??????:
+        \562  = b[6:6];
+      8'b1???????:
+        \562  = b[7:7];
+      default:
+        \562  = a;
+    endcase
+  endfunction
+  assign _084_ = \562 (1'h0, { 7'h00, _069_ }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \565 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \565  = b[0:0];
+      8'b??????1?:
+        \565  = b[1:1];
+      8'b?????1??:
+        \565  = b[2:2];
+      8'b????1???:
+        \565  = b[3:3];
+      8'b???1????:
+        \565  = b[4:4];
+      8'b??1?????:
+        \565  = b[5:5];
+      8'b?1??????:
+        \565  = b[6:6];
+      8'b1???????:
+        \565  = b[7:7];
+      default:
+        \565  = a;
+    endcase
+  endfunction
+  assign _085_ = \565 (1'h0, { 7'h00, _070_ }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \568 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \568  = b[0:0];
+      8'b??????1?:
+        \568  = b[1:1];
+      8'b?????1??:
+        \568  = b[2:2];
+      8'b????1???:
+        \568  = b[3:3];
+      8'b???1????:
+        \568  = b[4:4];
+      8'b??1?????:
+        \568  = b[5:5];
+      8'b?1??????:
+        \568  = b[6:6];
+      8'b1???????:
+        \568  = b[7:7];
+      default:
+        \568  = a;
+    endcase
+  endfunction
+  assign _086_ = \568 (1'h0, { 7'h00, _071_ }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [33:0] \571 ;
+    input [33:0] a;
+    input [271:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \571  = b[33:0];
+      8'b??????1?:
+        \571  = b[67:34];
+      8'b?????1??:
+        \571  = b[101:68];
+      8'b????1???:
+        \571  = b[135:102];
+      8'b???1????:
+        \571  = b[169:136];
+      8'b??1?????:
+        \571  = b[203:170];
+      8'b?1??????:
+        \571  = b[237:204];
+      8'b1???????:
+        \571  = b[271:238];
+      default:
+        \571  = a;
+    endcase
+  endfunction
+  assign wb_sio_in = \571 ({ 1'h0, _054_, 32'hffffffff }, { wb_spiflash_out, wb_spiflash_out, 1'h0, _100_, 32'h00000000, wb_xics_ics_out, wb_xics_icp_out, _099_, _095_, 24'h000000, uart0_dat8, wb_syscon_out, _074_ }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \572 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \572  = b[0:0];
+      8'b??????1?:
+        \572  = b[1:1];
+      8'b?????1??:
+        \572  = b[2:2];
+      8'b????1???:
+        \572  = b[3:3];
+      8'b???1????:
+        \572  = b[4:4];
+      8'b??1?????:
+        \572  = b[5:5];
+      8'b?1??????:
+        \572  = b[6:6];
+      8'b1???????:
+        \572  = b[7:7];
+      default:
+        \572  = a;
+    endcase
+  endfunction
+  assign _087_ = \572 (1'h0, { 6'h00, wb_sio_out[66], 1'h0 }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \573 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \573  = b[0:0];
+      8'b??????1?:
+        \573  = b[1:1];
+      8'b?????1??:
+        \573  = b[2:2];
+      8'b????1???:
+        \573  = b[3:3];
+      8'b???1????:
+        \573  = b[4:4];
+      8'b??1?????:
+        \573  = b[5:5];
+      8'b?1??????:
+        \573  = b[6:6];
+      8'b1???????:
+        \573  = b[7:7];
+      default:
+        \573  = a;
+    endcase
+  endfunction
+  assign _088_ = \573 (1'h0, { 5'h00, wb_sio_out[66], 2'h0 }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \574 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \574  = b[0:0];
+      8'b??????1?:
+        \574  = b[1:1];
+      8'b?????1??:
+        \574  = b[2:2];
+      8'b????1???:
+        \574  = b[3:3];
+      8'b???1????:
+        \574  = b[4:4];
+      8'b??1?????:
+        \574  = b[5:5];
+      8'b?1??????:
+        \574  = b[6:6];
+      8'b1???????:
+        \574  = b[7:7];
+      default:
+        \574  = a;
+    endcase
+  endfunction
+  assign _089_ = \574 (1'h0, { 2'h0, wb_sio_out[66], 5'h00 }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [1:0] \576 ;
+    input [1:0] a;
+    input [15:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \576  = b[1:0];
+      8'b??????1?:
+        \576  = b[3:2];
+      8'b?????1??:
+        \576  = b[5:4];
+      8'b????1???:
+        \576  = b[7:6];
+      8'b???1????:
+        \576  = b[9:8];
+      8'b??1?????:
+        \576  = b[11:10];
+      8'b?1??????:
+        \576  = b[13:12];
+      8'b1???????:
+        \576  = b[15:14];
+      default:
+        \576  = a;
+    endcase
+  endfunction
+  assign _090_ = \576 (wb_sio_out[29:28], { wb_sio_out[29:28], 2'h0, wb_sio_out[29:28], wb_sio_out[29:28], wb_sio_out[29:28], wb_sio_out[29:28], wb_sio_out[29:28], wb_sio_out[29:28] }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \577 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \577  = b[0:0];
+      8'b??????1?:
+        \577  = b[1:1];
+      8'b?????1??:
+        \577  = b[2:2];
+      8'b????1???:
+        \577  = b[3:3];
+      8'b???1????:
+        \577  = b[4:4];
+      8'b??1?????:
+        \577  = b[5:5];
+      8'b?1??????:
+        \577  = b[6:6];
+      8'b1???????:
+        \577  = b[7:7];
+      default:
+        \577  = a;
+    endcase
+  endfunction
+  assign _091_ = \577 (1'h0, { wb_sio_out[66], wb_sio_out[66], 6'h00 }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \582 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \582  = b[0:0];
+      8'b??????1?:
+        \582  = b[1:1];
+      8'b?????1??:
+        \582  = b[2:2];
+      8'b????1???:
+        \582  = b[3:3];
+      8'b???1????:
+        \582  = b[4:4];
+      8'b??1?????:
+        \582  = b[5:5];
+      8'b?1??????:
+        \582  = b[6:6];
+      8'b1???????:
+        \582  = b[7:7];
+      default:
+        \582  = a;
+    endcase
+  endfunction
+  assign wb_spiflash_is_reg = \582 (1'h0, 8'h80, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \586 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \586  = b[0:0];
+      8'b??????1?:
+        \586  = b[1:1];
+      8'b?????1??:
+        \586  = b[2:2];
+      8'b????1???:
+        \586  = b[3:3];
+      8'b???1????:
+        \586  = b[4:4];
+      8'b??1?????:
+        \586  = b[5:5];
+      8'b?1??????:
+        \586  = b[6:6];
+      8'b1???????:
+        \586  = b[7:7];
+      default:
+        \586  = a;
+    endcase
+  endfunction
+  assign wb_spiflash_is_map = \586 (1'h0, 8'h40, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \588 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \588  = b[0:0];
+      8'b??????1?:
+        \588  = b[1:1];
+      8'b?????1??:
+        \588  = b[2:2];
+      8'b????1???:
+        \588  = b[3:3];
+      8'b???1????:
+        \588  = b[4:4];
+      8'b??1?????:
+        \588  = b[5:5];
+      8'b?1??????:
+        \588  = b[6:6];
+      8'b1???????:
+        \588  = b[7:7];
+      default:
+        \588  = a;
+    endcase
+  endfunction
+  assign _092_ = \588 (1'h0, { 4'h0, wb_sio_out[66], 3'h0 }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  function [0:0] \589 ;
+    input [0:0] a;
+    input [7:0] b;
+    input [7:0] s;
+    (* parallel_case *)
+    casez (s)
+      8'b???????1:
+        \589  = b[0:0];
+      8'b??????1?:
+        \589  = b[1:1];
+      8'b?????1??:
+        \589  = b[2:2];
+      8'b????1???:
+        \589  = b[3:3];
+      8'b???1????:
+        \589  = b[4:4];
+      8'b??1?????:
+        \589  = b[5:5];
+      8'b?1??????:
+        \589  = b[6:6];
+      8'b1???????:
+        \589  = b[7:7];
+      default:
+        \589  = a;
+    endcase
+  endfunction
+  assign _093_ = \589 (1'h0, { 3'h0, wb_sio_out[66], 4'h0 }, { _082_, _081_, _080_, _079_, _078_, _077_, _076_, _075_ });
+  always @(posedge system_clk)
+    uart0_irq <= \uart0_16550.irq_l ;
+  assign _099_ = ~ _095_;
+  assign _100_ = _089_ & wb_sio_out[67];
+  assign _106_ = dmi_addr & 8'hfc;
+  assign _107_ = _106_ == 8'h00;
+  assign _108_ = dmi_addr & 8'hf0;
+  assign _109_ = _108_ == 8'h10;
+  assign _110_ = _109_ ? 2'h1 : 2'h2;
+  assign _111_ = _107_ ? 2'h0 : _110_;
+  assign _112_ = _111_ == 2'h0;
+  assign _113_ = _111_ == 2'h1;
+  function [63:0] \667 ;
+    input [63:0] a;
+    input [127:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \667  = b[63:0];
+      2'b1?:
+        \667  = b[127:64];
+      default:
+        \667  = a;
+    endcase
+  endfunction
+  assign dmi_din = \667 (64'hffffffffffffffff, { dmi_core_dout, dmi_wb_dout }, { _113_, _112_ });
+  function [0:0] \668 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \668  = b[0:0];
+      2'b1?:
+        \668  = b[1:1];
+      default:
+        \668  = a;
+    endcase
+  endfunction
+  assign dmi_ack = \668 (dmi_req, { dmi_core_ack, dmi_wb_ack }, { _113_, _112_ });
+  function [0:0] \670 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \670  = b[0:0];
+      2'b1?:
+        \670  = b[1:1];
+      default:
+        \670  = a;
+    endcase
+  endfunction
+  assign dmi_wb_req = \670 (1'h0, { 1'h0, dmi_req }, { _113_, _112_ });
+  function [0:0] \673 ;
+    input [0:0] a;
+    input [1:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \673  = b[0:0];
+      2'b1?:
+        \673  = b[1:1];
+      default:
+        \673  = a;
+    endcase
+  endfunction
+  assign dmi_core_req = \673 (1'h0, { dmi_req, 1'h0 }, { _113_, _112_ });
+  assign _114_ = rst | do_core_reset;
+  always @(posedge system_clk)
+    rst_core <= _114_;
+  always @(posedge system_clk)
+    rst_uart <= rst;
+  always @(posedge system_clk)
+    rst_xics <= rst;
+  always @(posedge system_clk)
+    rst_spi <= rst;
+  always @(posedge system_clk)
+    rst_bram <= rst;
+  always @(posedge system_clk)
+    rst_dtm <= rst;
+  always @(posedge system_clk)
+    rst_wbar <= rst;
+  always @(posedge system_clk)
+    rst_wbdb <= rst;
+  always @(posedge system_clk)
+    alt_reset_d <= alt_reset;
+  wishbone_bram_wrapper_4096_a75adb9e07879fb6c63b494abe06e3f9a6bb2ed9 \bram.bram0  (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .clk(system_clk),
+    .rst(rst_bram),
+    .wishbone_in({ wb_master_out[106:105], _137_, wb_master_out[103:0] }),
+    .wishbone_out(wb_bram_out)
+  );
+  dmi_dtm_jtag_8_64 \dmi_jtag.dtm  (
+    .dmi_ack(dmi_ack),
+    .dmi_addr(dmi_addr),
+    .dmi_din(dmi_din),
+    .dmi_dout(dmi_dout),
+    .dmi_req(dmi_req),
+    .dmi_wr(dmi_wr),
+    .jtag_tck(jtag_tck),
+    .jtag_tdi(jtag_tdi),
+    .jtag_tdo(_105_),
+    .jtag_tms(jtag_tms),
+    .jtag_trst(jtag_trst),
+    .sys_clk(system_clk),
+    .sys_reset(rst_dtm)
+  );
+  core_0_602f7ae323a872754ff5ac989c2e00f60e206d8e processor (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .alt_reset(alt_reset_d),
+    .clk(system_clk),
+    .dmi_ack(dmi_core_ack),
+    .dmi_addr(dmi_addr[3:0]),
+    .dmi_din(dmi_dout),
+    .dmi_dout(dmi_core_dout),
+    .dmi_req(dmi_core_req),
+    .dmi_wr(dmi_wr),
+    .ext_irq(core_ext_irq),
+    .rst(rst_core),
+    .terminated_out(_115_),
+    .wishbone_data_in(wb_masters_in[197:132]),
+    .wishbone_data_out(wishbone_dcore_out),
+    .wishbone_insn_in(wb_masters_in[131:66]),
+    .wishbone_insn_out(wishbone_icore_out)
+  );
+  spi_flash_ctrl_4_4_1489f923c4dca729178b3e3233458550d8dddf29 \spiflash_gen.spiflash  (
+    .clk(system_clk),
+    .cs_n(_102_),
+    .rst(rst_spi),
+    .sck(_101_),
+    .sdat_i(spi_flash_sdat_i),
+    .sdat_o(_103_),
+    .sdat_oe(_104_),
+    .wb_in({ wb_sio_out[68:67], _091_, wb_sio_out[65:30], _090_, wb_sio_out[27:0] }),
+    .wb_out(wb_spiflash_out),
+    .wb_sel_map(wb_spiflash_is_map),
+    .wb_sel_reg(wb_spiflash_is_reg)
+  );
+  syscon_50000000_4096_0_0_0_d1a6c63d707d362dd5f27f0b0ee5a7d91add1255 syscon0 (
+    .clk(system_clk),
+    .core_reset(do_core_reset),
+    .dram_at_0(dram_at_0),
+    .rst(rst),
+    .soc_reset(_094_),
+    .wishbone_in({ wb_sio_out[68:67], _087_, wb_sio_out[65:0] }),
+    .wishbone_out(wb_syscon_out)
+  );
+  uart_top \uart0_16550.uart0  (
+    .cts_pad_i(1'h1),
+    .dcd_pad_i(1'h1),
+    .dsr_pad_i(1'h1),
+    .dtr_pad_o(_098_),
+    .int_o(\uart0_16550.irq_l ),
+    .ri_pad_i(1'h0),
+    .rts_pad_o(_097_),
+    .srx_pad_i(uart0_rxd),
+    .stx_pad_o(_096_),
+    .wb_ack_o(_095_),
+    .wb_adr_i(wb_sio_out[4:2]),
+    .wb_clk_i(system_clk),
+    .wb_cyc_i(_088_),
+    .wb_dat_i(wb_sio_out[37:30]),
+    .wb_dat_o(uart0_dat8),
+    .wb_rst_i(rst_uart),
+    .wb_stb_i(wb_sio_out[67]),
+    .wb_we_i(wb_sio_out[68])
+  );
+  wishbone_arbiter_3 wishbone_arbiter_0 (
+    .clk(system_clk),
+    .rst(rst_wbar),
+    .wb_masters_in({ wishbone_dcore_out, wishbone_icore_out, wishbone_debug_out }),
+    .wb_masters_out(wb_masters_in),
+    .wb_slave_in(wb_master_in),
+    .wb_slave_out(wb_master_out)
+  );
+  wishbone_debug_master wishbone_debug (
+    .clk(system_clk),
+    .dmi_ack(dmi_wb_ack),
+    .dmi_addr(dmi_addr[1:0]),
+    .dmi_din(dmi_dout),
+    .dmi_dout(dmi_wb_dout),
+    .dmi_req(dmi_wb_req),
+    .dmi_wr(dmi_wr),
+    .rst(rst_wbdb),
+    .wb_in(wb_masters_in[65:0]),
+    .wb_out(wishbone_debug_out)
+  );
+  xics_icp xics_icp (
+    .clk(system_clk),
+    .core_irq_out(core_ext_irq),
+    .ics_in(ics_to_icp),
+    .rst(rst_xics),
+    .wb_in({ wb_sio_out[68:67], _092_, wb_sio_out[65:30], 22'h000000, wb_sio_out[7:0] }),
+    .wb_out(wb_xics_icp_out)
+  );
+  xics_ics_16_3 xics_ics (
+    .clk(system_clk),
+    .icp_out(ics_to_icp),
+    .int_level_in({ 14'h0000, ext_irq_eth, uart0_irq }),
+    .rst(rst_xics),
+    .wb_in({ wb_sio_out[68:67], _093_, wb_sio_out[65:30], 18'h00000, wb_sio_out[11:0] }),
+    .wb_out(wb_xics_ics_out)
+  );
+  assign wb_dram_in = { wb_master_out[106:105], _135_, wb_master_out[103:0] };
+  assign wb_ext_io_in = { wb_sio_out[68:67], _083_, wb_sio_out[65:0] };
+  assign wb_ext_is_dram_csr = _084_;
+  assign wb_ext_is_dram_init = _085_;
+  assign wb_ext_is_eth = _086_;
+  assign uart0_txd = _096_;
+  assign uart1_txd = 1'hz;
+  assign spi_flash_sck = _101_;
+  assign spi_flash_cs_n = _102_;
+  assign spi_flash_sdat_o = _103_;
+  assign spi_flash_sdat_oe = _104_;
+  assign jtag_tdo = _105_;
+endmodule
+
+module spi_flash_ctrl_4_4_1489f923c4dca729178b3e3233458550d8dddf29(clk, rst, wb_in, wb_sel_reg, wb_sel_map, sdat_i, wb_out, sck, cs_n, sdat_o, sdat_oe);
+  wire _000_;
+  wire [3:0] _001_;
+  wire [3:0] _002_;
+  wire _003_;
+  wire _004_;
+  wire _005_;
+  wire _006_;
+  wire _007_;
+  wire _008_;
+  wire _009_;
+  wire _010_;
+  wire _011_;
+  wire _012_;
+  wire [2:0] _013_;
+  wire [2:0] _014_;
+  wire [2:0] _015_;
+  wire [2:0] _016_;
+  wire _017_;
+  wire _018_;
+  wire _019_;
+  wire _020_;
+  wire _021_;
+  wire _022_;
+  wire _023_;
+  wire _024_;
+  wire [68:0] _025_;
+  wire _026_;
+  wire [65:0] _027_;
+  wire [1:0] _028_;
+  wire _029_;
+  wire _030_;
+  wire [68:0] _031_;
+  wire _032_;
+  wire [68:0] _033_;
+  wire [31:0] _034_;
+  wire [1:0] _035_;
+  wire [68:0] _036_;
+  wire [61:0] _037_;
+  wire [6:0] _038_;
+  reg [33:0] _039_;
+  wire _040_;
+  wire _041_;
+  wire _042_;
+  wire _043_;
+  wire _044_;
+  wire _045_;
+  wire _046_;
+  wire _047_;
+  wire _048_;
+  wire _049_;
+  wire _050_;
+  wire _051_;
+  wire [31:0] _052_;
+  wire [32:0] _053_;
+  wire _054_;
+  wire [33:0] _055_;
+  wire [31:0] _056_;
+  wire [1:0] _057_;
+  wire _058_;
+  wire _059_;
+  wire _060_;
+  wire _061_;
+  wire [31:0] _062_;
+  wire [31:0] _063_;
+  wire [31:0] _064_;
+  wire [5:0] _065_;
+  wire [4:0] _066_;
+  wire [31:0] _067_;
+  wire _068_;
+  wire _069_;
+  wire _070_;
+  wire [31:0] _071_;
+  wire [5:0] _072_;
+  wire _073_;
+  wire _074_;
+  wire _075_;
+  wire _076_;
+  wire _077_;
+  wire _078_;
+  wire _079_;
+  wire _080_;
+  wire _081_;
+  wire [5:0] _082_;
+  wire _083_;
+  wire [4:0] _084_;
+  wire [5:0] _085_;
+  wire _086_;
+  wire [4:0] _087_;
+  wire _088_;
+  wire _089_;
+  wire [4:0] _090_;
+  wire _091_;
+  wire [4:0] _092_;
+  wire [4:0] _093_;
+  wire _094_;
+  wire [4:0] _095_;
+  wire _096_;
+  wire [4:0] _097_;
+  wire _098_;
+  wire [4:0] _099_;
+  wire _100_;
+  wire _101_;
+  wire [4:0] _102_;
+  wire [4:0] _103_;
+  wire _104_;
+  wire [4:0] _105_;
+  wire _106_;
+  wire _107_;
+  wire _108_;
+  wire [2:0] _109_;
+  wire [2:0] _110_;
+  wire [4:0] _111_;
+  wire _112_;
+  wire [7:0] _113_;
+  wire [4:0] _114_;
+  wire _115_;
+  wire _116_;
+  wire _117_;
+  wire [2:0] _118_;
+  wire [2:0] _119_;
+  wire [4:0] _120_;
+  wire _121_;
+  wire [7:0] _122_;
+  wire [4:0] _123_;
+  wire _124_;
+  wire _125_;
+  wire _126_;
+  wire [2:0] _127_;
+  wire [2:0] _128_;
+  wire [4:0] _129_;
+  wire _130_;
+  wire [7:0] _131_;
+  wire [4:0] _132_;
+  wire _133_;
+  wire _134_;
+  wire _135_;
+  wire [2:0] _136_;
+  wire [2:0] _137_;
+  wire [4:0] _138_;
+  wire _139_;
+  wire [7:0] _140_;
+  wire [4:0] _141_;
+  wire _142_;
+  wire _143_;
+  wire _144_;
+  wire _145_;
+  wire _146_;
+  wire _147_;
+  wire _148_;
+  wire _149_;
+  wire _150_;
+  wire [5:0] _151_;
+  wire [4:0] _152_;
+  wire [5:0] _153_;
+  wire [4:0] _154_;
+  wire _155_;
+  wire _156_;
+  wire [4:0] _157_;
+  wire _158_;
+  wire _159_;
+  wire [2:0] _160_;
+  wire [7:0] _161_;
+  wire [2:0] _162_;
+  wire [7:0] _163_;
+  wire [7:0] _164_;
+  wire [7:0] _165_;
+  wire [7:0] _166_;
+  wire [5:0] _167_;
+  wire _168_;
+  wire [4:0] _169_;
+  wire _170_;
+  wire _171_;
+  wire [3:0] _172_;
+  wire [7:0] _173_;
+  wire [29:0] _174_;
+  wire _175_;
+  wire _176_;
+  wire _177_;
+  wire _178_;
+  wire _179_;
+  wire _180_;
+  wire _181_;
+  wire _182_;
+  wire _183_;
+  wire _184_;
+  wire _185_;
+  wire _186_;
+  wire _187_;
+  wire _188_;
+  wire _189_;
+  wire _190_;
+  wire _191_;
+  wire _192_;
+  wire _193_;
+  wire _194_;
+  wire _195_;
+  wire [15:0] _196_;
+  wire _197_;
+  wire _198_;
+  wire _199_;
+  wire _200_;
+  wire _201_;
+  wire _202_;
+  wire _203_;
+  wire _204_;
+  wire _205_;
+  wire _206_;
+  wire _207_;
+  wire _208_;
+  wire _209_;
+  wire _210_;
+  wire _211_;
+  wire _212_;
+  wire _213_;
+  wire _214_;
+  wire _215_;
+  wire _216_;
+  wire _217_;
+  wire _218_;
+  wire _219_;
+  wire _220_;
+  wire _221_;
+  wire _222_;
+  wire _223_;
+  wire _224_;
+  wire _225_;
+  wire _226_;
+  wire _227_;
+  wire [29:0] _228_;
+  wire [15:0] _229_;
+  wire _230_;
+  wire auto_ack;
+  reg [29:0] auto_cfg_reg = 30'h00000000;
+  wire [2:0] auto_cmd_mode;
+  wire auto_cmd_valid;
+  reg [5:0] auto_cnt = 6'h00;
+  wire [5:0] auto_cnt_next;
+  wire auto_cs;
+  wire [2:0] auto_d_clks;
+  wire [7:0] auto_d_txd;
+  reg [31:0] auto_data = 32'd0;
+  wire [31:0] auto_data_next;
+  wire [31:0] auto_lad_next;
+  reg [31:0] auto_last_addr;
+  wire auto_latch_adr;
+  wire [4:0] auto_next;
+  reg [4:0] auto_state = 5'h00;
+  wire bus_idle;
+  input clk;
+  wire [7:0] cmd_clk_div;
+  wire [2:0] cmd_mode;
+  wire cmd_ready;
+  wire cmd_valid;
+  output cs_n;
+  reg [15:0] ctrl_reg = 16'h0000;
+  wire d_ack;
+  wire [2:0] d_clks;
+  wire [7:0] d_rx;
+  wire [7:0] d_tx;
+  reg pending_read;
+  input rst;
+  output sck;
+  input [3:0] sdat_i;
+  output [3:0] sdat_o;
+  output [3:0] sdat_oe;
+  input [68:0] wb_in;
+  wire wb_map_valid;
+  output [33:0] wb_out;
+  wire [2:0] wb_reg;
+  wire wb_reg_dat_v;
+  wire wb_reg_valid;
+  reg [68:0] wb_req;
+  input wb_sel_map;
+  input wb_sel_reg;
+  reg [68:0] wb_stash;
+  wire wb_valid;
+  assign wb_valid = wb_req[67] & wb_req[66];
+  assign wb_reg_valid = wb_valid & wb_sel_reg;
+  assign wb_map_valid = wb_valid & wb_sel_map;
+  assign wb_reg = wb_reg_valid ? wb_req[4:2] : 3'h7;
+  assign _003_ = wb_reg == 3'h0;
+  assign wb_reg_dat_v = _003_ ? 1'h1 : 1'h0;
+  assign _004_ = cmd_valid & cmd_ready;
+  assign _005_ = ~ wb_req[68];
+  assign _006_ = bus_idle ? 1'h0 : pending_read;
+  assign _007_ = _004_ ? _005_ : _006_;
+  always @(posedge clk)
+    pending_read <= _007_;
+  assign _008_ = pending_read & wb_req[68];
+  assign _009_ = ~ _008_;
+  assign _010_ = wb_reg_dat_v & _009_;
+  assign _011_ = wb_req[65:62] == 4'h2;
+  assign _012_ = wb_req[65:62] == 4'h4;
+  assign _013_ = _012_ ? { 2'h3, wb_req[68] } : { 2'h1, wb_req[68] };
+  assign _014_ = _012_ ? 3'h1 : 3'h7;
+  assign _015_ = _011_ ? { 2'h2, wb_req[68] } : _013_;
+  assign _016_ = _011_ ? 3'h3 : _014_;
+  assign _017_ = ~ ctrl_reg[1];
+  assign _018_ = ~ auto_cs;
+  assign _019_ = ctrl_reg[1] ? _017_ : _018_;
+  assign cmd_valid = ctrl_reg[1] ? _010_ : auto_cmd_valid;
+  assign cmd_clk_div = ctrl_reg[1] ? ctrl_reg[15:8] : auto_cfg_reg[23:16];
+  assign cmd_mode = ctrl_reg[1] ? _015_ : auto_cmd_mode;
+  assign d_clks = ctrl_reg[1] ? _016_ : auto_d_clks;
+  assign d_tx = ctrl_reg[1] ? wb_req[37:30] : auto_d_txd;
+  assign _020_ = ~ _039_[33];
+  assign _021_ = _061_ & _020_;
+  assign _022_ = _021_ & wb_in[66];
+  assign _023_ = _022_ & wb_in[67];
+  assign _024_ = _023_ ? 1'h1 : _061_;
+  assign _025_ = _023_ ? wb_in : wb_stash;
+  assign _026_ = ~ _061_;
+  assign _027_ = wb_in[66] ? wb_in[65:0] : wb_req[65:0];
+  assign _028_ = wb_in[66] ? wb_in[67:66] : wb_in[67:66];
+  assign _029_ = wb_in[66] ? wb_in[68] : wb_req[68];
+  assign _030_ = _032_ ? 1'h0 : _024_;
+  assign _031_ = _039_[33] ? wb_stash : { _029_, _028_, _027_ };
+  assign _032_ = _026_ & _039_[33];
+  assign _033_ = _026_ ? _031_ : wb_req;
+  assign _034_ = rst ? _039_[31:0] : _062_;
+  assign _035_ = rst ? 2'h0 : { _030_, _060_ };
+  assign _036_ = rst ? wb_req : _033_;
+  assign _037_ = rst ? wb_stash[61:0] : _025_[61:0];
+  assign _038_ = rst ? 7'h00 : _025_[68:62];
+  always @(posedge clk)
+    _039_ <= { _035_, _034_ };
+  always @(posedge clk)
+    wb_req <= _036_;
+  always @(posedge clk)
+    wb_stash <= { _038_, _037_ };
+  assign _040_ = ~ auto_ack;
+  assign _041_ = wb_reg == 3'h0;
+  assign _042_ = ctrl_reg[1] & _041_;
+  assign _043_ = wb_req[68] & pending_read;
+  assign _044_ = wb_req[68] & cmd_ready;
+  assign _045_ = ~ cmd_ready;
+  assign _046_ = _043_ ? 1'h0 : _044_;
+  assign _047_ = _043_ ? 1'h1 : _045_;
+  assign _048_ = auto_state == 5'h01;
+  assign _049_ = _048_ & bus_idle;
+  assign _050_ = wb_reg == 3'h1;
+  assign _051_ = wb_reg == 3'h2;
+  function [31:0] \5381 ;
+    input [31:0] a;
+    input [63:0] b;
+    input [1:0] s;
+    (* parallel_case *)
+    casez (s)
+      2'b?1:
+        \5381  = b[31:0];
+      2'b1?:
+        \5381  = b[63:32];
+      default:
+        \5381  = a;
+    endcase
+  endfunction
+  assign _052_ = \5381 ({ 8'h00, d_rx, d_rx, d_rx }, { 2'h0, auto_cfg_reg, 16'h0000, ctrl_reg }, { _051_, _050_ });
+  assign _053_ = _049_ ? { 1'h1, _052_ } : { 9'h000, d_rx, d_rx, d_rx };
+  assign _054_ = _049_ ? 1'h0 : 1'h1;
+  assign _055_ = wb_reg_valid ? { _054_, _053_ } : { 10'h000, d_rx, d_rx, d_rx };
+  assign _056_ = _042_ ? { 8'h00, d_rx, d_rx, d_rx } : _055_[31:0];
+  assign _057_ = _042_ ? { _047_, _046_ } : _055_[33:32];
+  assign _058_ = ctrl_reg[1] & d_ack;
+  assign _059_ = wb_map_valid ? auto_ack : _057_[0];
+  assign _060_ = _058_ ? 1'h1 : _059_;
+  assign _061_ = wb_map_valid ? _040_ : _057_[1];
+  assign _062_ = wb_map_valid ? auto_data : _056_;
+  assign _063_ = auto_latch_adr ? auto_lad_next : auto_last_addr;
+  assign _064_ = rst ? auto_data : auto_data_next;
+  assign _065_ = rst ? auto_cnt : auto_cnt_next;
+  assign _066_ = rst ? 5'h00 : auto_next;
+  assign _067_ = rst ? 32'd0 : _063_;
+  always @(posedge clk)
+    auto_data <= _064_;
+  always @(posedge clk)
+    auto_cnt <= _065_;
+  always @(posedge clk)
+    auto_state <= _066_;
+  always @(posedge clk)
+    auto_last_addr <= _067_;
+  assign auto_lad_next = { 2'h0, wb_req[29:2], 2'h0 } + 32'd4;
+  assign _068_ = { 2'h0, wb_req[29:2], 2'h0 } == auto_last_addr;
+  assign _069_ = rst | ctrl_reg[0];
+  assign _070_ = { 26'h0000000, auto_cnt } != 32'd0;
+  assign _071_ = { 26'h0000000, auto_cnt } - 32'd1;
+  assign _072_ = _070_ ? _071_[5:0] : auto_cnt;
+  assign _073_ = auto_state != 5'h01;
+  assign _074_ = auto_state != 5'h13;
+  assign _075_ = _073_ & _074_;
+  assign _076_ = auto_state != 5'h00;
+  assign _077_ = _075_ & _076_;
+  assign _078_ = _077_ ? 1'h1 : 1'h0;
+  assign _079_ = auto_state == 5'h00;
+  assign _080_ = ~ ctrl_reg[1];
+  assign _081_ = wb_map_valid & _080_;
+  assign _082_ = wb_req[68] ? _072_ : 6'h01;
+  assign _083_ = wb_req[68] ? 1'h1 : 1'h0;
+  assign _084_ = wb_req[68] ? auto_state : 5'h02;
+  assign _085_ = _081_ ? _082_ : _072_;
+  assign _086_ = _081_ ? _083_ : 1'h0;
+  assign _087_ = _081_ ? _084_ : auto_state;
+  assign _088_ = auto_state == 5'h01;
+  assign _089_ = { 26'h0000000, auto_cnt } == 32'd0;
+  assign _090_ = _089_ ? 5'h03 : auto_state;
+  assign _091_ = auto_state == 5'h02;
+  assign _092_ = auto_cfg_reg[13] ? 5'h07 : 5'h06;
+  assign _093_ = cmd_ready ? _092_ : auto_state;
+  assign _094_ = auto_state == 5'h03;
+  assign _095_ = cmd_ready ? 5'h06 : auto_state;
+  assign _096_ = auto_state == 5'h07;
+  assign _097_ = cmd_ready ? 5'h05 : auto_state;
+  assign _098_ = auto_state == 5'h06;
+  assign _099_ = cmd_ready ? 5'h04 : auto_state;
+  assign _100_ = auto_state == 5'h05;
+  assign _101_ = auto_cfg_reg[10:8] == 3'h0;
+  assign _102_ = _101_ ? 5'h09 : 5'h08;
+  assign _103_ = cmd_ready ? _102_ : auto_state;
+  assign _104_ = auto_state == 5'h04;
+  assign _105_ = cmd_ready ? 5'h09 : auto_state;
+  assign _106_ = auto_state == 5'h08;
+  assign _107_ = auto_cfg_reg[12:11] == 2'h3;
+  assign _108_ = auto_cfg_reg[12:11] == 2'h2;
+  assign _109_ = _108_ ? 3'h3 : 3'h7;
+  assign _110_ = _107_ ? 3'h1 : _109_;
+  assign _111_ = cmd_ready ? 5'h0d : auto_state;
+  assign _112_ = auto_state == 5'h09;
+  assign _113_ = d_ack ? d_rx : auto_data[7:0];
+  assign _114_ = d_ack ? 5'h0a : auto_state;
+  assign _115_ = auto_state == 5'h0d;
+  assign _116_ = auto_cfg_reg[12:11] == 2'h3;
+  assign _117_ = auto_cfg_reg[12:11] == 2'h2;
+  assign _118_ = _117_ ? 3'h3 : 3'h7;
+  assign _119_ = _116_ ? 3'h1 : _118_;
+  assign _120_ = cmd_ready ? 5'h0e : auto_state;
+  assign _121_ = auto_state == 5'h0a;
+  assign _122_ = d_ack ? d_rx : auto_data[15:8];
+  assign _123_ = d_ack ? 5'h0b : auto_state;
+  assign _124_ = auto_state == 5'h0e;
+  assign _125_ = auto_cfg_reg[12:11] == 2'h3;
+  assign _126_ = auto_cfg_reg[12:11] == 2'h2;
+  assign _127_ = _126_ ? 3'h3 : 3'h7;
+  assign _128_ = _125_ ? 3'h1 : _127_;
+  assign _129_ = cmd_ready ? 5'h0f : auto_state;
+  assign _130_ = auto_state == 5'h0b;
+  assign _131_ = d_ack ? d_rx : auto_data[23:16];
+  assign _132_ = d_ack ? 5'h0c : auto_state;
+  assign _133_ = auto_state == 5'h0f;
+  assign _134_ = auto_cfg_reg[12:11] == 2'h3;
+  assign _135_ = auto_cfg_reg[12:11] == 2'h2;
+  assign _136_ = _135_ ? 3'h3 : 3'h7;
+  assign _137_ = _134_ ? 3'h1 : _136_;
+  assign _138_ = cmd_ready ? 5'h10 : auto_state;
+  assign _139_ = auto_state == 5'h0c;
+  assign _140_ = d_ack ? d_rx : auto_data[31:24];
+  assign _141_ = d_ack ? 5'h11 : auto_state;
+  assign _142_ = d_ack ? 1'h1 : 1'h0;
+  assign _143_ = auto_state == 5'h10;
+  assign _144_ = auto_state == 5'h11;
+  assign _145_ = wb_map_valid & _068_;
+  assign _146_ = ~ wb_req[68];
+  assign _147_ = _145_ & _146_;
+  assign _148_ = wb_map_valid | wb_reg_valid;
+  assign _149_ = { 26'h0000000, auto_cnt } == 32'd0;
+  assign _150_ = _148_ | _149_;
+  assign _151_ = _150_ ? 6'h0a : _072_;
+  assign _152_ = _150_ ? 5'h13 : auto_state;
+  assign _153_ = _147_ ? _072_ : _151_;
+  assign _154_ = _147_ ? 5'h09 : _152_;
+  assign _155_ = auto_state == 5'h12;
+  assign _156_ = { 26'h0000000, auto_cnt } == 32'd0;
+  assign _157_ = _156_ ? 5'h01 : auto_state;
+  assign _158_ = auto_state == 5'h13;
+  function [0:0] \5689 ;
+    input [0:0] a;
+    input [19:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5689  = b[0:0];
+      20'b??????????????????1?:
+        \5689  = b[1:1];
+      20'b?????????????????1??:
+        \5689  = b[2:2];
+      20'b????????????????1???:
+        \5689  = b[3:3];
+      20'b???????????????1????:
+        \5689  = b[4:4];
+      20'b??????????????1?????:
+        \5689  = b[5:5];
+      20'b?????????????1??????:
+        \5689  = b[6:6];
+      20'b????????????1???????:
+        \5689  = b[7:7];
+      20'b???????????1????????:
+        \5689  = b[8:8];
+      20'b??????????1?????????:
+        \5689  = b[9:9];
+      20'b?????????1??????????:
+        \5689  = b[10:10];
+      20'b????????1???????????:
+        \5689  = b[11:11];
+      20'b???????1????????????:
+        \5689  = b[12:12];
+      20'b??????1?????????????:
+        \5689  = b[13:13];
+      20'b?????1??????????????:
+        \5689  = b[14:14];
+      20'b????1???????????????:
+        \5689  = b[15:15];
+      20'b???1????????????????:
+        \5689  = b[16:16];
+      20'b??1?????????????????:
+        \5689  = b[17:17];
+      20'b?1??????????????????:
+        \5689  = b[18:18];
+      20'b1???????????????????:
+        \5689  = b[19:19];
+      default:
+        \5689  = a;
+    endcase
+  endfunction
+  assign _159_ = \5689 (1'hx, 20'h0abf8, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [2:0] \5692 ;
+    input [2:0] a;
+    input [59:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5692  = b[2:0];
+      20'b??????????????????1?:
+        \5692  = b[5:3];
+      20'b?????????????????1??:
+        \5692  = b[8:6];
+      20'b????????????????1???:
+        \5692  = b[11:9];
+      20'b???????????????1????:
+        \5692  = b[14:12];
+      20'b??????????????1?????:
+        \5692  = b[17:15];
+      20'b?????????????1??????:
+        \5692  = b[20:18];
+      20'b????????????1???????:
+        \5692  = b[23:21];
+      20'b???????????1????????:
+        \5692  = b[26:24];
+      20'b??????????1?????????:
+        \5692  = b[29:27];
+      20'b?????????1??????????:
+        \5692  = b[32:30];
+      20'b????????1???????????:
+        \5692  = b[35:33];
+      20'b???????1????????????:
+        \5692  = b[38:36];
+      20'b??????1?????????????:
+        \5692  = b[41:39];
+      20'b?????1??????????????:
+        \5692  = b[44:42];
+      20'b????1???????????????:
+        \5692  = b[47:45];
+      20'b???1????????????????:
+        \5692  = b[50:48];
+      20'b??1?????????????????:
+        \5692  = b[53:51];
+      20'b?1??????????????????:
+        \5692  = b[56:54];
+      20'b1???????????????????:
+        \5692  = b[59:57];
+      default:
+        \5692  = a;
+    endcase
+  endfunction
+  assign _160_ = \5692 (3'hx, { 12'h249, auto_cfg_reg[12:11], 4'h1, auto_cfg_reg[12:11], 4'h1, auto_cfg_reg[12:11], 4'h1, auto_cfg_reg[12:11], 28'h1249249 }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [7:0] \5695 ;
+    input [7:0] a;
+    input [159:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5695  = b[7:0];
+      20'b??????????????????1?:
+        \5695  = b[15:8];
+      20'b?????????????????1??:
+        \5695  = b[23:16];
+      20'b????????????????1???:
+        \5695  = b[31:24];
+      20'b???????????????1????:
+        \5695  = b[39:32];
+      20'b??????????????1?????:
+        \5695  = b[47:40];
+      20'b?????????????1??????:
+        \5695  = b[55:48];
+      20'b????????????1???????:
+        \5695  = b[63:56];
+      20'b???????????1????????:
+        \5695  = b[71:64];
+      20'b??????????1?????????:
+        \5695  = b[79:72];
+      20'b?????????1??????????:
+        \5695  = b[87:80];
+      20'b????????1???????????:
+        \5695  = b[95:88];
+      20'b???????1????????????:
+        \5695  = b[103:96];
+      20'b??????1?????????????:
+        \5695  = b[111:104];
+      20'b?????1??????????????:
+        \5695  = b[119:112];
+      20'b????1???????????????:
+        \5695  = b[127:120];
+      20'b???1????????????????:
+        \5695  = b[135:128];
+      20'b??1?????????????????:
+        \5695  = b[143:136];
+      20'b?1??????????????????:
+        \5695  = b[151:144];
+      20'b1???????????????????:
+        \5695  = b[159:152];
+      default:
+        \5695  = a;
+    endcase
+  endfunction
+  assign _161_ = \5695 (8'hxx, { 96'h000000000000000000000000, wb_req[7:2], 2'h0, wb_req[15:8], wb_req[23:16], 2'h0, wb_req[29:24], auto_cfg_reg[7:0], 24'h000000 }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [2:0] \5698 ;
+    input [2:0] a;
+    input [59:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5698  = b[2:0];
+      20'b??????????????????1?:
+        \5698  = b[5:3];
+      20'b?????????????????1??:
+        \5698  = b[8:6];
+      20'b????????????????1???:
+        \5698  = b[11:9];
+      20'b???????????????1????:
+        \5698  = b[14:12];
+      20'b??????????????1?????:
+        \5698  = b[17:15];
+      20'b?????????????1??????:
+        \5698  = b[20:18];
+      20'b????????????1???????:
+        \5698  = b[23:21];
+      20'b???????????1????????:
+        \5698  = b[26:24];
+      20'b??????????1?????????:
+        \5698  = b[29:27];
+      20'b?????????1??????????:
+        \5698  = b[32:30];
+      20'b????????1???????????:
+        \5698  = b[35:33];
+      20'b???????1????????????:
+        \5698  = b[38:36];
+      20'b??????1?????????????:
+        \5698  = b[41:39];
+      20'b?????1??????????????:
+        \5698  = b[44:42];
+      20'b????1???????????????:
+        \5698  = b[47:45];
+      20'b???1????????????????:
+        \5698  = b[50:48];
+      20'b??1?????????????????:
+        \5698  = b[53:51];
+      20'b?1??????????????????:
+        \5698  = b[56:54];
+      20'b1???????????????????:
+        \5698  = b[59:57];
+      default:
+        \5698  = a;
+    endcase
+  endfunction
+  assign _162_ = \5698 (3'hx, { 12'hfff, _137_, 3'h7, _128_, 3'h7, _119_, 3'h7, _110_, auto_cfg_reg[10:8], 24'hffffff }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [7:0] \5701 ;
+    input [7:0] a;
+    input [159:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5701  = b[7:0];
+      20'b??????????????????1?:
+        \5701  = b[15:8];
+      20'b?????????????????1??:
+        \5701  = b[23:16];
+      20'b????????????????1???:
+        \5701  = b[31:24];
+      20'b???????????????1????:
+        \5701  = b[39:32];
+      20'b??????????????1?????:
+        \5701  = b[47:40];
+      20'b?????????????1??????:
+        \5701  = b[55:48];
+      20'b????????????1???????:
+        \5701  = b[63:56];
+      20'b???????????1????????:
+        \5701  = b[71:64];
+      20'b??????????1?????????:
+        \5701  = b[79:72];
+      20'b?????????1??????????:
+        \5701  = b[87:80];
+      20'b????????1???????????:
+        \5701  = b[95:88];
+      20'b???????1????????????:
+        \5701  = b[103:96];
+      20'b??????1?????????????:
+        \5701  = b[111:104];
+      20'b?????1??????????????:
+        \5701  = b[119:112];
+      20'b????1???????????????:
+        \5701  = b[127:120];
+      20'b???1????????????????:
+        \5701  = b[135:128];
+      20'b??1?????????????????:
+        \5701  = b[143:136];
+      20'b?1??????????????????:
+        \5701  = b[151:144];
+      20'b1???????????????????:
+        \5701  = b[159:152];
+      default:
+        \5701  = a;
+    endcase
+  endfunction
+  assign _163_ = \5701 (8'hxx, { auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], _113_, auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0], auto_data[7:0] }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [7:0] \5704 ;
+    input [7:0] a;
+    input [159:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5704  = b[7:0];
+      20'b??????????????????1?:
+        \5704  = b[15:8];
+      20'b?????????????????1??:
+        \5704  = b[23:16];
+      20'b????????????????1???:
+        \5704  = b[31:24];
+      20'b???????????????1????:
+        \5704  = b[39:32];
+      20'b??????????????1?????:
+        \5704  = b[47:40];
+      20'b?????????????1??????:
+        \5704  = b[55:48];
+      20'b????????????1???????:
+        \5704  = b[63:56];
+      20'b???????????1????????:
+        \5704  = b[71:64];
+      20'b??????????1?????????:
+        \5704  = b[79:72];
+      20'b?????????1??????????:
+        \5704  = b[87:80];
+      20'b????????1???????????:
+        \5704  = b[95:88];
+      20'b???????1????????????:
+        \5704  = b[103:96];
+      20'b??????1?????????????:
+        \5704  = b[111:104];
+      20'b?????1??????????????:
+        \5704  = b[119:112];
+      20'b????1???????????????:
+        \5704  = b[127:120];
+      20'b???1????????????????:
+        \5704  = b[135:128];
+      20'b??1?????????????????:
+        \5704  = b[143:136];
+      20'b?1??????????????????:
+        \5704  = b[151:144];
+      20'b1???????????????????:
+        \5704  = b[159:152];
+      default:
+        \5704  = a;
+    endcase
+  endfunction
+  assign _164_ = \5704 (8'hxx, { auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], _122_, auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8], auto_data[15:8] }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [7:0] \5707 ;
+    input [7:0] a;
+    input [159:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5707  = b[7:0];
+      20'b??????????????????1?:
+        \5707  = b[15:8];
+      20'b?????????????????1??:
+        \5707  = b[23:16];
+      20'b????????????????1???:
+        \5707  = b[31:24];
+      20'b???????????????1????:
+        \5707  = b[39:32];
+      20'b??????????????1?????:
+        \5707  = b[47:40];
+      20'b?????????????1??????:
+        \5707  = b[55:48];
+      20'b????????????1???????:
+        \5707  = b[63:56];
+      20'b???????????1????????:
+        \5707  = b[71:64];
+      20'b??????????1?????????:
+        \5707  = b[79:72];
+      20'b?????????1??????????:
+        \5707  = b[87:80];
+      20'b????????1???????????:
+        \5707  = b[95:88];
+      20'b???????1????????????:
+        \5707  = b[103:96];
+      20'b??????1?????????????:
+        \5707  = b[111:104];
+      20'b?????1??????????????:
+        \5707  = b[119:112];
+      20'b????1???????????????:
+        \5707  = b[127:120];
+      20'b???1????????????????:
+        \5707  = b[135:128];
+      20'b??1?????????????????:
+        \5707  = b[143:136];
+      20'b?1??????????????????:
+        \5707  = b[151:144];
+      20'b1???????????????????:
+        \5707  = b[159:152];
+      default:
+        \5707  = a;
+    endcase
+  endfunction
+  assign _165_ = \5707 (8'hxx, { auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], _131_, auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16], auto_data[23:16] }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [7:0] \5710 ;
+    input [7:0] a;
+    input [159:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5710  = b[7:0];
+      20'b??????????????????1?:
+        \5710  = b[15:8];
+      20'b?????????????????1??:
+        \5710  = b[23:16];
+      20'b????????????????1???:
+        \5710  = b[31:24];
+      20'b???????????????1????:
+        \5710  = b[39:32];
+      20'b??????????????1?????:
+        \5710  = b[47:40];
+      20'b?????????????1??????:
+        \5710  = b[55:48];
+      20'b????????????1???????:
+        \5710  = b[63:56];
+      20'b???????????1????????:
+        \5710  = b[71:64];
+      20'b??????????1?????????:
+        \5710  = b[79:72];
+      20'b?????????1??????????:
+        \5710  = b[87:80];
+      20'b????????1???????????:
+        \5710  = b[95:88];
+      20'b???????1????????????:
+        \5710  = b[103:96];
+      20'b??????1?????????????:
+        \5710  = b[111:104];
+      20'b?????1??????????????:
+        \5710  = b[119:112];
+      20'b????1???????????????:
+        \5710  = b[127:120];
+      20'b???1????????????????:
+        \5710  = b[135:128];
+      20'b??1?????????????????:
+        \5710  = b[143:136];
+      20'b?1??????????????????:
+        \5710  = b[151:144];
+      20'b1???????????????????:
+        \5710  = b[159:152];
+      default:
+        \5710  = a;
+    endcase
+  endfunction
+  assign _166_ = \5710 (8'hxx, { auto_data[31:24], auto_data[31:24], auto_data[31:24], _140_, auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24], auto_data[31:24] }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [5:0] \5712 ;
+    input [5:0] a;
+    input [119:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5712  = b[5:0];
+      20'b??????????????????1?:
+        \5712  = b[11:6];
+      20'b?????????????????1??:
+        \5712  = b[17:12];
+      20'b????????????????1???:
+        \5712  = b[23:18];
+      20'b???????????????1????:
+        \5712  = b[29:24];
+      20'b??????????????1?????:
+        \5712  = b[35:30];
+      20'b?????????????1??????:
+        \5712  = b[41:36];
+      20'b????????????1???????:
+        \5712  = b[47:42];
+      20'b???????????1????????:
+        \5712  = b[53:48];
+      20'b??????????1?????????:
+        \5712  = b[59:54];
+      20'b?????????1??????????:
+        \5712  = b[65:60];
+      20'b????????1???????????:
+        \5712  = b[71:66];
+      20'b???????1????????????:
+        \5712  = b[77:72];
+      20'b??????1?????????????:
+        \5712  = b[83:78];
+      20'b?????1??????????????:
+        \5712  = b[89:84];
+      20'b????1???????????????:
+        \5712  = b[95:90];
+      20'b???1????????????????:
+        \5712  = b[101:96];
+      20'b??1?????????????????:
+        \5712  = b[107:102];
+      20'b?1??????????????????:
+        \5712  = b[113:108];
+      20'b1???????????????????:
+        \5712  = b[119:114];
+      default:
+        \5712  = a;
+    endcase
+  endfunction
+  assign _167_ = \5712 (6'hxx, { _072_, _153_, auto_cfg_reg[29:24], _072_, _072_, _072_, _072_, _072_, _072_, _072_, _072_, _072_, _072_, _072_, _072_, _072_, _072_, _072_, _085_, _072_ }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [0:0] \5716 ;
+    input [0:0] a;
+    input [19:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5716  = b[0:0];
+      20'b??????????????????1?:
+        \5716  = b[1:1];
+      20'b?????????????????1??:
+        \5716  = b[2:2];
+      20'b????????????????1???:
+        \5716  = b[3:3];
+      20'b???????????????1????:
+        \5716  = b[4:4];
+      20'b??????????????1?????:
+        \5716  = b[5:5];
+      20'b?????????????1??????:
+        \5716  = b[6:6];
+      20'b????????????1???????:
+        \5716  = b[7:7];
+      20'b???????????1????????:
+        \5716  = b[8:8];
+      20'b??????????1?????????:
+        \5716  = b[9:9];
+      20'b?????????1??????????:
+        \5716  = b[10:10];
+      20'b????????1???????????:
+        \5716  = b[11:11];
+      20'b???????1????????????:
+        \5716  = b[12:12];
+      20'b??????1?????????????:
+        \5716  = b[13:13];
+      20'b?????1??????????????:
+        \5716  = b[14:14];
+      20'b????1???????????????:
+        \5716  = b[15:15];
+      20'b???1????????????????:
+        \5716  = b[16:16];
+      20'b??1?????????????????:
+        \5716  = b[17:17];
+      20'b?1??????????????????:
+        \5716  = b[18:18];
+      20'b1???????????????????:
+        \5716  = b[19:19];
+      default:
+        \5716  = a;
+    endcase
+  endfunction
+  assign _168_ = \5716 (1'hx, { 18'h08000, _086_, 1'h0 }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [4:0] \5720 ;
+    input [4:0] a;
+    input [99:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5720  = b[4:0];
+      20'b??????????????????1?:
+        \5720  = b[9:5];
+      20'b?????????????????1??:
+        \5720  = b[14:10];
+      20'b????????????????1???:
+        \5720  = b[19:15];
+      20'b???????????????1????:
+        \5720  = b[24:20];
+      20'b??????????????1?????:
+        \5720  = b[29:25];
+      20'b?????????????1??????:
+        \5720  = b[34:30];
+      20'b????????????1???????:
+        \5720  = b[39:35];
+      20'b???????????1????????:
+        \5720  = b[44:40];
+      20'b??????????1?????????:
+        \5720  = b[49:45];
+      20'b?????????1??????????:
+        \5720  = b[54:50];
+      20'b????????1???????????:
+        \5720  = b[59:55];
+      20'b???????1????????????:
+        \5720  = b[64:60];
+      20'b??????1?????????????:
+        \5720  = b[69:65];
+      20'b?????1??????????????:
+        \5720  = b[74:70];
+      20'b????1???????????????:
+        \5720  = b[79:75];
+      20'b???1????????????????:
+        \5720  = b[84:80];
+      20'b??1?????????????????:
+        \5720  = b[89:85];
+      20'b?1??????????????????:
+        \5720  = b[94:90];
+      20'b1???????????????????:
+        \5720  = b[99:95];
+      default:
+        \5720  = a;
+    endcase
+  endfunction
+  assign _169_ = \5720 (5'hxx, { _157_, _154_, 5'h12, _141_, _138_, _132_, _129_, _123_, _120_, _114_, _111_, _105_, _103_, _099_, _097_, _095_, _093_, _090_, _087_, 5'h01 }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  function [0:0] \5723 ;
+    input [0:0] a;
+    input [19:0] b;
+    input [19:0] s;
+    (* parallel_case *)
+    casez (s)
+      20'b???????????????????1:
+        \5723  = b[0:0];
+      20'b??????????????????1?:
+        \5723  = b[1:1];
+      20'b?????????????????1??:
+        \5723  = b[2:2];
+      20'b????????????????1???:
+        \5723  = b[3:3];
+      20'b???????????????1????:
+        \5723  = b[4:4];
+      20'b??????????????1?????:
+        \5723  = b[5:5];
+      20'b?????????????1??????:
+        \5723  = b[6:6];
+      20'b????????????1???????:
+        \5723  = b[7:7];
+      20'b???????????1????????:
+        \5723  = b[8:8];
+      20'b??????????1?????????:
+        \5723  = b[9:9];
+      20'b?????????1??????????:
+        \5723  = b[10:10];
+      20'b????????1???????????:
+        \5723  = b[11:11];
+      20'b???????1????????????:
+        \5723  = b[12:12];
+      20'b??????1?????????????:
+        \5723  = b[13:13];
+      20'b?????1??????????????:
+        \5723  = b[14:14];
+      20'b????1???????????????:
+        \5723  = b[15:15];
+      20'b???1????????????????:
+        \5723  = b[16:16];
+      20'b??1?????????????????:
+        \5723  = b[17:17];
+      20'b?1??????????????????:
+        \5723  = b[18:18];
+      20'b1???????????????????:
+        \5723  = b[19:19];
+      default:
+        \5723  = a;
+    endcase
+  endfunction
+  assign _170_ = \5723 (1'hx, { 3'h0, _142_, 16'h0000 }, { _158_, _155_, _144_, _143_, _139_, _133_, _130_, _124_, _121_, _115_, _112_, _106_, _104_, _100_, _098_, _096_, _094_, _091_, _088_, _079_ });
+  assign auto_cs = _069_ ? 1'h0 : _078_;
+  assign auto_cmd_valid = _069_ ? 1'h0 : _159_;
+  assign auto_cmd_mode = _069_ ? 3'h1 : _160_;
+  assign auto_d_txd = _069_ ? 8'h00 : _161_;
+  assign auto_d_clks = _069_ ? 3'h7 : _162_;
+  assign auto_data_next = _069_ ? auto_data : { _166_, _165_, _164_, _163_ };
+  assign auto_cnt_next = _069_ ? 6'h00 : _167_;
+  assign auto_ack = _069_ ? 1'h0 : _168_;
+  assign auto_next = _069_ ? 5'h00 : _169_;
+  assign auto_latch_adr = _069_ ? 1'h0 : _170_;
+  assign _171_ = rst | ctrl_reg[0];
+  assign _172_ = _171_ ? 4'h0 : ctrl_reg[3:0];
+  assign _173_ = _171_ ? 8'h04 : ctrl_reg[15:8];
+  assign _174_ = _171_ ? 30'h20040003 : auto_cfg_reg;
+  assign _175_ = wb_reg_valid & wb_req[68];
+  assign _176_ = auto_state == 5'h01;
+  assign _177_ = _175_ & _176_;
+  assign _178_ = _177_ & bus_idle;
+  assign _179_ = wb_reg == 3'h1;
+  assign _180_ = wb_req[63] ? wb_req[45] : ctrl_reg[15];
+  assign _181_ = wb_req[63] ? wb_req[44] : ctrl_reg[14];
+  assign _182_ = wb_req[63] ? wb_req[43] : ctrl_reg[13];
+  assign _183_ = wb_req[63] ? wb_req[42] : ctrl_reg[12];
+  assign _184_ = wb_req[63] ? wb_req[41] : ctrl_reg[11];
+  assign _185_ = wb_req[63] ? wb_req[40] : ctrl_reg[10];
+  assign _186_ = wb_req[63] ? wb_req[39] : ctrl_reg[9];
+  assign _187_ = wb_req[63] ? wb_req[38] : ctrl_reg[8];
+  assign _188_ = wb_req[62] ? wb_req[37] : ctrl_reg[7];
+  assign _189_ = wb_req[62] ? wb_req[36] : ctrl_reg[6];
+  assign _190_ = wb_req[62] ? wb_req[35] : ctrl_reg[5];
+  assign _191_ = wb_req[62] ? wb_req[34] : ctrl_reg[4];
+  assign _192_ = wb_req[62] ? wb_req[33] : ctrl_reg[3];
+  assign _193_ = wb_req[62] ? wb_req[32] : ctrl_reg[2];
+  assign _194_ = wb_req[62] ? wb_req[31] : ctrl_reg[1];
+  assign _195_ = wb_req[62] ? wb_req[30] : ctrl_reg[0];
+  assign _196_ = _179_ ? { _180_, _181_, _182_, _183_, _184_, _185_, _186_, _187_, _188_, _189_, _190_, _191_, _192_, _193_, _194_, _195_ } : { _173_, ctrl_reg[7:4], _172_ };
+  assign _197_ = wb_reg == 3'h2;
+  assign _198_ = wb_req[65] ? wb_req[59] : auto_cfg_reg[29];
+  assign _199_ = wb_req[65] ? wb_req[58] : auto_cfg_reg[28];
+  assign _200_ = wb_req[65] ? wb_req[57] : auto_cfg_reg[27];
+  assign _201_ = wb_req[65] ? wb_req[56] : auto_cfg_reg[26];
+  assign _202_ = wb_req[65] ? wb_req[55] : auto_cfg_reg[25];
+  assign _203_ = wb_req[65] ? wb_req[54] : auto_cfg_reg[24];
+  assign _204_ = wb_req[64] ? wb_req[53] : auto_cfg_reg[23];
+  assign _205_ = wb_req[64] ? wb_req[52] : auto_cfg_reg[22];
+  assign _206_ = wb_req[64] ? wb_req[51] : auto_cfg_reg[21];
+  assign _207_ = wb_req[64] ? wb_req[50] : auto_cfg_reg[20];
+  assign _208_ = wb_req[64] ? wb_req[49] : auto_cfg_reg[19];
+  assign _209_ = wb_req[64] ? wb_req[48] : auto_cfg_reg[18];
+  assign _210_ = wb_req[64] ? wb_req[47] : auto_cfg_reg[17];
+  assign _211_ = wb_req[64] ? wb_req[46] : auto_cfg_reg[16];
+  assign _212_ = wb_req[63] ? wb_req[45] : auto_cfg_reg[15];
+  assign _213_ = wb_req[63] ? wb_req[44] : auto_cfg_reg[14];
+  assign _214_ = wb_req[63] ? wb_req[43] : auto_cfg_reg[13];
+  assign _215_ = wb_req[63] ? wb_req[42] : auto_cfg_reg[12];
+  assign _216_ = wb_req[63] ? wb_req[41] : auto_cfg_reg[11];
+  assign _217_ = wb_req[63] ? wb_req[40] : auto_cfg_reg[10];
+  assign _218_ = wb_req[63] ? wb_req[39] : auto_cfg_reg[9];
+  assign _219_ = wb_req[63] ? wb_req[38] : auto_cfg_reg[8];
+  assign _220_ = wb_req[62] ? wb_req[37] : auto_cfg_reg[7];
+  assign _221_ = wb_req[62] ? wb_req[36] : auto_cfg_reg[6];
+  assign _222_ = wb_req[62] ? wb_req[35] : auto_cfg_reg[5];
+  assign _223_ = wb_req[62] ? wb_req[34] : auto_cfg_reg[4];
+  assign _224_ = wb_req[62] ? wb_req[33] : auto_cfg_reg[3];
+  assign _225_ = wb_req[62] ? wb_req[32] : auto_cfg_reg[2];
+  assign _226_ = wb_req[62] ? wb_req[31] : auto_cfg_reg[1];
+  assign _227_ = wb_req[62] ? wb_req[30] : auto_cfg_reg[0];
+  assign _228_ = _230_ ? { _198_, _199_, _200_, _201_, _202_, _203_, _204_, _205_, _206_, _207_, _208_, _209_, _210_, _211_, _212_, _213_, _214_, _215_, _216_, _217_, _218_, _219_, _220_, _221_, _222_, _223_, _224_, _225_, _226_, _227_ } : _174_;
+  assign _229_ = _178_ ? _196_ : { _173_, ctrl_reg[7:4], _172_ };
+  assign _230_ = _178_ & _197_;
+  always @(posedge clk)
+    ctrl_reg <= _229_;
+  always @(posedge clk)
+    auto_cfg_reg <= _228_;
+  spi_rxtx_4_1 spi_rxtx (
+    .bus_idle_o(bus_idle),
+    .clk(clk),
+    .clk_div_i(cmd_clk_div),
+    .cmd_clks_i(d_clks),
+    .cmd_mode_i(cmd_mode),
+    .cmd_ready_o(cmd_ready),
+    .cmd_txd_i(d_tx),
+    .cmd_valid_i(cmd_valid),
+    .d_ack_o(d_ack),
+    .d_rxd_o(d_rx),
+    .rst(rst),
+    .sck(_000_),
+    .sdat_i(sdat_i),
+    .sdat_o(_001_),
+    .sdat_oe(_002_)
+  );
+  assign wb_out = _039_;
+  assign sck = _000_;
+  assign cs_n = _019_;
+  assign sdat_o = _001_;
+  assign sdat_oe = _002_;
+endmodule
+
+module spi_rxtx_4_1(clk, rst, clk_div_i, cmd_valid_i, cmd_mode_i, cmd_clks_i, cmd_txd_i, sdat_i, cmd_ready_o, d_rxd_o, d_ack_o, bus_idle_o, sck, sdat_o, sdat_oe);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire [31:0] _03_;
+  wire _04_;
+  wire [7:0] _05_;
+  wire _06_;
+  wire _07_;
+  wire [7:0] _08_;
+  wire _09_;
+  wire [7:0] _10_;
+  wire _11_;
+  wire _12_;
+  wire [7:0] _13_;
+  wire _14_;
+  wire _15_;
+  wire _16_;
+  wire _17_;
+  wire _18_;
+  wire _19_;
+  wire _20_;
+  wire _21_;
+  wire _22_;
+  wire _23_;
+  wire _24_;
+  wire _25_;
+  wire [2:0] _26_;
+  wire _27_;
+  wire [2:0] _28_;
+  wire _29_;
+  wire _30_;
+  wire [2:0] _31_;
+  wire [2:0] _32_;
+  wire [2:0] _33_;
+  wire [2:0] _34_;
+  wire [2:0] _35_;
+  wire _36_;
+  wire _37_;
+  wire [7:0] _38_;
+  wire [7:0] _39_;
+  wire [7:0] _40_;
+  wire [7:0] _41_;
+  wire _42_;
+  wire _43_;
+  wire _44_;
+  wire _45_;
+  wire _46_;
+  wire _47_;
+  wire _48_;
+  wire _49_;
+  wire _50_;
+  wire _51_;
+  wire _52_;
+  wire _53_;
+  wire _54_;
+  wire _55_;
+  wire _56_;
+  wire _57_;
+  wire _58_;
+  wire _59_;
+  wire _60_;
+  wire _61_;
+  wire _62_;
+  wire _63_;
+  wire _64_;
+  wire _65_;
+  wire _66_;
+  wire _67_;
+  wire _68_;
+  wire _69_;
+  wire _70_;
+  wire _71_;
+  wire _72_;
+  wire _73_;
+  wire _74_;
+  wire _75_;
+  wire _76_;
+  wire _77_;
+  wire [7:0] _78_;
+  wire [7:0] _79_;
+  reg _80_ = 1'h0;
+  wire [7:0] _81_;
+  reg [2:0] bit_count;
+  output bus_idle_o;
+  input clk;
+  reg [7:0] clk_div;
+  input [7:0] clk_div_i;
+  input [2:0] cmd_clks_i;
+  reg [2:0] cmd_mode;
+  input [2:0] cmd_mode_i;
+  output cmd_ready_o;
+  input [7:0] cmd_txd_i;
+  input cmd_valid_i;
+  output d_ack_o;
+  output [7:0] d_rxd_o;
+  reg dat_ack_l;
+  reg [3:0] dat_i_l;
+  wire end_cmd;
+  reg [7:0] ireg = 8'h00;
+  wire next_cmd;
+  reg [7:0] oreg;
+  input rst;
+  output sck;
+  reg sck_0;
+  reg sck_1;
+  reg [7:0] \sck_gen.counter  = 8'h00;
+  reg sck_recv;
+  reg sck_recv_d = 1'h0;
+  reg sck_send;
+  input [3:0] sdat_i;
+  output [3:0] sdat_o;
+  output [3:0] sdat_oe;
+  wire start_cmd;
+  reg state = 1'h0;
+  assign _00_ = { 24'h000000, \sck_gen.counter  } == { 24'h000000, clk_div };
+  assign _01_ = ~ sck_0;
+  assign _02_ = ~ sck_0;
+  assign _03_ = { 24'h000000, \sck_gen.counter  } + 32'd1;
+  assign _04_ = _00_ ? _01_ : sck_0;
+  assign _05_ = _00_ ? clk_div_i : clk_div;
+  assign _06_ = _00_ ? sck_0 : 1'h0;
+  assign _07_ = _00_ ? _02_ : 1'h0;
+  assign _08_ = _00_ ? 8'h00 : _03_[7:0];
+  assign _09_ = rst ? 1'h1 : _04_;
+  assign _10_ = rst ? 8'h00 : _05_;
+  assign _11_ = rst ? 1'h0 : _06_;
+  assign _12_ = rst ? 1'h0 : _07_;
+  assign _13_ = rst ? 8'h00 : _08_;
+  assign _14_ = state == 1'h1;
+  assign _15_ = ~ end_cmd;
+  assign _16_ = _14_ & _15_;
+  assign _17_ = next_cmd & cmd_valid_i;
+  assign _18_ = _16_ | _17_;
+  assign _19_ = _18_ ? sck_0 : 1'h1;
+  always @(posedge clk)
+    sck_0 <= _09_;
+  always @(posedge clk)
+    sck_1 <= _19_;
+  always @(posedge clk)
+    clk_div <= _10_;
+  always @(posedge clk)
+    sck_send <= _11_;
+  always @(posedge clk)
+    sck_recv <= _12_;
+  always @(posedge clk)
+    \sck_gen.counter  <= _13_;
+  assign _20_ = bit_count == 3'h7;
+  assign _21_ = sck_send & _20_;
+  assign next_cmd = _21_ ? 1'h1 : 1'h0;
+  assign start_cmd = next_cmd & cmd_valid_i;
+  assign _22_ = ~ cmd_valid_i;
+  assign end_cmd = next_cmd & _22_;
+  assign _23_ = state == 1'h0;
+  assign _24_ = _23_ ? 1'h1 : 1'h0;
+  assign _25_ = end_cmd ? 1'h0 : state;
+  assign _26_ = start_cmd ? cmd_mode_i : cmd_mode;
+  assign _27_ = start_cmd ? 1'h1 : _25_;
+  assign _28_ = rst ? 3'h0 : _26_;
+  assign _29_ = rst ? 1'h0 : _27_;
+  always @(posedge clk)
+    cmd_mode <= _28_;
+  always @(posedge clk)
+    state <= _29_;
+  assign _30_ = state != 1'h1;
+  assign _31_ = bit_count - 3'h1;
+  assign _32_ = sck_recv ? _31_ : bit_count;
+  assign _33_ = _30_ ? 3'h7 : _32_;
+  assign _34_ = start_cmd ? cmd_clks_i : _33_;
+  assign _35_ = rst ? 3'h0 : _34_;
+  always @(posedge clk)
+    bit_count <= _35_;
+  assign _36_ = ~ cmd_mode[2];
+  assign _37_ = cmd_mode[2:1] == 2'h2;
+  assign _38_ = _37_ ? { oreg[5:0], 2'h0 } : { oreg[3:0], 4'h0 };
+  assign _39_ = _36_ ? { oreg[6:0], 1'h0 } : _38_;
+  assign _40_ = sck_send ? _39_ : oreg;
+  assign _41_ = start_cmd ? cmd_txd_i : _40_;
+  always @(posedge clk)
+    oreg <= _41_;
+  assign _42_ = state == 1'h1;
+  assign _43_ = cmd_mode[2:1] == 2'h3;
+  assign _44_ = 1'h1 & _43_;
+  assign _45_ = _44_ & cmd_mode[0];
+  assign _46_ = _47_ ? 1'h1 : 1'h0;
+  assign _47_ = _42_ & _45_;
+  assign _48_ = state == 1'h1;
+  assign _49_ = cmd_mode[2:1] == 2'h3;
+  assign _50_ = 1'h1 & _49_;
+  assign _51_ = _50_ & cmd_mode[0];
+  assign _52_ = _53_ ? 1'h1 : 1'h0;
+  assign _53_ = _48_ & _51_;
+  assign _54_ = state == 1'h1;
+  assign _55_ = cmd_mode[2:1] == 2'h2;
+  assign _56_ = 1'h1 & _55_;
+  assign _57_ = _56_ & cmd_mode[0];
+  assign _58_ = _57_ ? 1'h1 : 1'h0;
+  assign _59_ = cmd_mode[2:1] == 2'h3;
+  assign _60_ = 1'h1 & _59_;
+  assign _61_ = _60_ & cmd_mode[0];
+  assign _62_ = _61_ ? 1'h1 : _58_;
+  assign _63_ = _54_ ? _62_ : 1'h0;
+  assign _64_ = state == 1'h1;
+  assign _65_ = ~ cmd_mode[2];
+  assign _66_ = _65_ | cmd_mode[0];
+  assign _67_ = 1'h1 & _66_;
+  assign _68_ = _69_ ? 1'h1 : 1'h0;
+  assign _69_ = _64_ & _67_;
+  always @(negedge clk)
+    dat_i_l <= sdat_i;
+  assign _70_ = state == 1'h1;
+  assign _71_ = _70_ ? sck_recv : 1'h0;
+  assign _72_ = bit_count == 3'h0;
+  assign _73_ = _72_ & sck_recv;
+  assign _74_ = ~ cmd_mode[0];
+  assign _75_ = _73_ ? _74_ : 1'h0;
+  assign _76_ = cmd_mode[2:1] == 2'h2;
+  assign _77_ = cmd_mode[2:1] == 2'h3;
+  assign _78_ = _77_ ? { ireg[3:0], dat_i_l } : { ireg[6:0], dat_i_l[1] };
+  assign _79_ = _76_ ? { ireg[5:0], dat_i_l[1:0] } : _78_;
+  always @(posedge clk)
+    _80_ <= dat_ack_l;
+  always @(posedge clk)
+    dat_ack_l <= _75_;
+  always @(posedge clk)
+    sck_recv_d <= _71_;
+  assign _81_ = sck_recv_d ? _79_ : ireg;
+  always @(posedge clk)
+    ireg <= _81_;
+  assign cmd_ready_o = next_cmd;
+  assign d_rxd_o = ireg;
+  assign d_ack_o = _80_;
+  assign bus_idle_o = _24_;
+  assign sck = sck_1;
+  assign sdat_o = { oreg[4], oreg[5], oreg[6], oreg[7] };
+  assign sdat_oe = { _46_, _52_, _63_, _68_ };
+endmodule
+
+module syscon_50000000_4096_0_0_0_d1a6c63d707d362dd5f27f0b0ee5a7d91add1255(clk, rst, wishbone_in, wishbone_out, dram_at_0, core_reset, soc_reset);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  wire [31:0] _12_;
+  reg [33:0] _13_;
+  wire _14_;
+  wire _15_;
+  wire _16_;
+  wire _17_;
+  wire _18_;
+  wire _19_;
+  wire _20_;
+  wire _21_;
+  wire _22_;
+  wire _23_;
+  wire _24_;
+  wire [2:0] _25_;
+  input clk;
+  output core_reset;
+  output dram_at_0;
+  wire info_has_bram;
+  wire info_has_dram;
+  wire info_has_leth;
+  wire info_has_spif;
+  wire info_has_uart;
+  wire info_has_urt1;
+  reg [2:0] reg_ctrl;
+  wire [63:0] reg_dramiinfo;
+  wire [63:0] reg_draminfo;
+  wire [63:0] reg_out;
+  input rst;
+  output soc_reset;
+  wire uinfo_16550;
+  input [68:0] wishbone_in;
+  output [33:0] wishbone_out;
+  assign _00_ = 1'h0 ? 1'h1 : reg_ctrl[0];
+  assign info_has_uart = 1'h1 ? 1'h1 : 1'h0;
+  assign info_has_dram = 1'h1 ? 1'h1 : 1'h0;
+  assign info_has_bram = 1'h1 ? 1'h1 : 1'h0;
+  assign info_has_spif = 1'h1 ? 1'h1 : 1'h0;
+  assign info_has_leth = 1'h1 ? 1'h1 : 1'h0;
+  assign info_has_urt1 = 1'h0 ? 1'h1 : 1'h0;
+  assign reg_draminfo = 1'h1 ? 64'h0000000000000000 : 64'h0000000000000000;
+  assign reg_dramiinfo = 1'h1 ? 64'h0000000000000000 : 64'h0000000000000000;
+  assign uinfo_16550 = 1'h1 ? 1'h1 : 1'h0;
+  assign _01_ = wishbone_in[66] & wishbone_in[67];
+  assign _02_ = wishbone_in[8:3] == 6'h00;
+  assign _03_ = wishbone_in[8:3] == 6'h01;
+  assign _04_ = wishbone_in[8:3] == 6'h02;
+  assign _05_ = wishbone_in[8:3] == 6'h03;
+  assign _06_ = wishbone_in[8:3] == 6'h06;
+  assign _07_ = wishbone_in[8:3] == 6'h04;
+  assign _08_ = wishbone_in[8:3] == 6'h05;
+  assign _09_ = wishbone_in[8:3] == 6'h07;
+  assign _10_ = wishbone_in[8:3] == 6'h08;
+  assign _11_ = wishbone_in[8:3] == 6'h09;
+  function [63:0] \5122 ;
+    input [63:0] a;
+    input [639:0] b;
+    input [9:0] s;
+    (* parallel_case *)
+    casez (s)
+      10'b?????????1:
+        \5122  = b[63:0];
+      10'b????????1?:
+        \5122  = b[127:64];
+      10'b???????1??:
+        \5122  = b[191:128];
+      10'b??????1???:
+        \5122  = b[255:192];
+      10'b?????1????:
+        \5122  = b[319:256];
+      10'b????1?????:
+        \5122  = b[383:320];
+      10'b???1??????:
+        \5122  = b[447:384];
+      10'b??1???????:
+        \5122  = b[511:448];
+      10'b?1????????:
+        \5122  = b[575:512];
+      10'b1?????????:
+        \5122  = b[639:576];
+      default:
+        \5122  = a;
+    endcase
+  endfunction
+  assign reg_out = \5122 (64'h0000000000000000, { 95'h00000000817d784000000000, uinfo_16550, 157'h005f5e1000000000000000000000000000000000, reg_ctrl, 64'h0000000002faf080, reg_dramiinfo, reg_draminfo, 121'h0000000000000200000000000000000, info_has_urt1, 1'h1, info_has_leth, info_has_spif, info_has_bram, info_has_dram, info_has_uart, 64'hf00daa5500010001 }, { _11_, _10_, _09_, _08_, _07_, _06_, _05_, _04_, _03_, _02_ });
+  assign _12_ = wishbone_in[2] ? reg_out[63:32] : reg_out[31:0];
+  always @(posedge clk)
+    _13_ <= { 1'h0, _01_, _12_ };
+  assign _14_ = wishbone_in[66] & wishbone_in[67];
+  assign _15_ = _14_ & wishbone_in[68];
+  assign _16_ = wishbone_in[8:3] == 6'h05;
+  assign _17_ = ~ wishbone_in[2];
+  assign _18_ = _16_ & _17_;
+  assign _19_ = _15_ & _18_;
+  assign _20_ = _19_ ? wishbone_in[32] : reg_ctrl[2];
+  assign _21_ = reg_ctrl[2] ? 1'h0 : _20_;
+  assign _22_ = _19_ ? wishbone_in[31] : reg_ctrl[1];
+  assign _23_ = reg_ctrl[1] ? 1'h0 : _22_;
+  assign _24_ = _19_ ? wishbone_in[30] : reg_ctrl[0];
+  assign _25_ = rst ? 3'h0 : { _21_, _23_, _24_ };
+  always @(posedge clk)
+    reg_ctrl <= _25_;
+  assign wishbone_out = _13_;
+  assign dram_at_0 = _00_;
+  assign core_reset = reg_ctrl[1];
+  assign soc_reset = reg_ctrl[2];
+endmodule
+
+module microwatt(
+`ifdef USE_POWER_PINS
+        vccd1, vssd1,
+`endif
+ ext_clk, ext_rst, uart0_rxd, uart1_rxd, spi_flash_sdat_i, jtag_tck, jtag_tdi, jtag_tms, jtag_trst, ib_data, ib_pty, gpio_in, alt_reset, uart0_txd, uart1_txd, spi_flash_cs_n, spi_flash_clk, spi_flash_sdat_o, spi_flash_sdat_oe, jtag_tdo, oib_clk, ob_data, ob_pty, gpio_out);
+`ifdef USE_POWER_PINS
+  inout vccd1;        // User area 1 1.8V supply
+  inout vssd1;        // User area 1 digital ground
+`endif
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire [3:0] _03_;
+  wire [3:0] _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire [7:0] _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  wire [31:0] _12_;
+  wire _13_;
+  wire _14_;
+  wire _15_;
+  wire _16_;
+  wire _17_;
+  input alt_reset;
+  input ext_clk;
+  input ext_rst;
+  input [31:0] gpio_in;
+  output [31:0] gpio_out;
+  input [7:0] ib_data;
+  input ib_pty;
+  input jtag_tck;
+  input jtag_tdi;
+  output jtag_tdo;
+  input jtag_tms;
+  input jtag_trst;
+  output [7:0] ob_data;
+  output ob_pty;
+  output oib_clk;
+  output spi_flash_clk;
+  output spi_flash_cs_n;
+  input [3:0] spi_flash_sdat_i;
+  output [3:0] spi_flash_sdat_o;
+  output [3:0] spi_flash_sdat_oe;
+  wire system_rst;
+  input uart0_rxd;
+  output uart0_txd;
+  input uart1_rxd;
+  output uart1_txd;
+  wire [106:0] wb_dram_out;
+  wire [68:0] wb_ext_io_in;
+  wire wb_ext_is_eth;
+  wire [33:0] wb_logic_analyzer_out;
+  wire wb_mc_ack;
+  wire [63:0] wb_mc_dat_i;
+  wire wb_mc_stall;
+  assign _00_ = ~ ext_rst;
+  assign system_rst = 1'h1 ? _00_ : ext_rst;
+  assign _13_ = wb_ext_io_in[66] & wb_ext_is_eth;
+  logic_analyzer_32_32 logic_analyzer (
+    .clk(ext_clk),
+    .io_in(gpio_in),
+    .io_out(_12_),
+    .rst(system_rst),
+    .wb_in({ wb_ext_io_in[68:67], _13_, wb_ext_io_in[65:0] }),
+    .wb_out(wb_logic_analyzer_out)
+  );
+  mc_32_64_8_2_6fe71f186fa9a2db88063728b6660dc449d010db mc0 (
+    .clk(ext_clk),
+    .err(_10_),
+    .ib_data(ib_data),
+    .ib_pty(ib_pty),
+    .\int (_11_),
+    .ob_data(_08_),
+    .ob_pty(_09_),
+    .oib_clk(_07_),
+    .rst(system_rst),
+    .wb_ack(wb_mc_ack),
+    .wb_addr(wb_dram_out[31:0]),
+    .wb_cyc(wb_dram_out[104]),
+    .wb_err(_06_),
+    .wb_rd_data(wb_mc_dat_i),
+    .wb_sel(wb_dram_out[103:96]),
+    .wb_stall(wb_mc_stall),
+    .wb_stb(wb_dram_out[105]),
+    .wb_we(wb_dram_out[106]),
+    .wb_wr_data(wb_dram_out[95:32])
+  );
+  soc_4096_50000000_0_0_4_0_4_0_c832069ef22b63469d396707bc38511cc2410ddb soc0 (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .alt_reset(alt_reset),
+    .ext_irq_eth(1'h0),
+    .jtag_tck(jtag_tck),
+    .jtag_tdi(jtag_tdi),
+    .jtag_tdo(_05_),
+    .jtag_tms(jtag_tms),
+    .jtag_trst(jtag_trst),
+    .rst(system_rst),
+    .spi_flash_cs_n(_02_),
+    .spi_flash_sck(_01_),
+    .spi_flash_sdat_i(spi_flash_sdat_i),
+    .spi_flash_sdat_o(_03_),
+    .spi_flash_sdat_oe(_04_),
+    .system_clk(ext_clk),
+    .uart0_rxd(uart0_rxd),
+    .uart0_txd(_16_),
+    .uart1_rxd(uart1_rxd),
+    .uart1_txd(_17_),
+    .wb_dram_in(wb_dram_out),
+    .wb_dram_out({ wb_mc_stall, wb_mc_ack, wb_mc_dat_i }),
+    .wb_ext_io_in(wb_ext_io_in),
+    .wb_ext_io_out(wb_logic_analyzer_out),
+    .wb_ext_is_dram_csr(_14_),
+    .wb_ext_is_dram_init(_15_),
+    .wb_ext_is_eth(wb_ext_is_eth)
+  );
+  assign uart0_txd = _16_;
+  assign uart1_txd = _17_;
+  assign spi_flash_cs_n = _02_;
+  assign spi_flash_clk = _01_;
+  assign spi_flash_sdat_o = _03_;
+  assign spi_flash_sdat_oe = _04_;
+  assign jtag_tdo = _05_;
+  assign oib_clk = _07_;
+  assign ob_data = _08_;
+  assign ob_pty = _09_;
+  assign gpio_out = _12_;
+endmodule
+
+module wishbone_arbiter_3(clk, rst, wb_masters_in, wb_slave_in, wb_masters_out, wb_slave_out);
+  wire [1:0] _00_;
+  wire _01_;
+  wire [1:0] _02_;
+  wire [1:0] _03_;
+  wire _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  wire _12_;
+  wire _13_;
+  wire _14_;
+  wire _15_;
+  wire [1:0] _16_;
+  wire [1:0] _17_;
+  wire _18_;
+  wire [1:0] _19_;
+  wire [1:0] _20_;
+  wire [106:0] _21_;
+  wire [106:0] _22_;
+  wire [106:0] _23_;
+  wire [106:0] _24_;
+  wire [1:0] candidate;
+  input clk;
+  input rst;
+  reg [1:0] selected;
+  input [320:0] wb_masters_in;
+  output [197:0] wb_masters_out;
+  input [65:0] wb_slave_in;
+  output [106:0] wb_slave_out;
+  assign _00_ = 2'h2 - selected;
+  assign _01_ = ~ _22_[104];
+  assign _02_ = _01_ ? candidate : selected;
+  assign _03_ = 2'h2 - _02_;
+  assign _04_ = { 30'h00000000, _02_ } == 32'd0;
+  assign _05_ = _04_ ? wb_slave_in[64] : 1'h0;
+  assign _06_ = { 30'h00000000, _02_ } == 32'd0;
+  assign _07_ = _06_ ? wb_slave_in[65] : 1'h1;
+  assign _08_ = { 30'h00000000, _02_ } == 32'd1;
+  assign _09_ = _08_ ? wb_slave_in[64] : 1'h0;
+  assign _10_ = { 30'h00000000, _02_ } == 32'd1;
+  assign _11_ = _10_ ? wb_slave_in[65] : 1'h1;
+  assign _12_ = { 30'h00000000, _02_ } == 32'd2;
+  assign _13_ = _12_ ? wb_slave_in[64] : 1'h0;
+  assign _14_ = { 30'h00000000, _02_ } == 32'd2;
+  assign _15_ = _14_ ? wb_slave_in[65] : 1'h1;
+  assign _16_ = wb_masters_in[104] ? 2'h2 : selected;
+  assign _17_ = wb_masters_in[211] ? 2'h1 : _16_;
+  assign candidate = wb_masters_in[318] ? 2'h0 : _17_;
+  assign _18_ = ~ _22_[104];
+  assign _19_ = _18_ ? candidate : selected;
+  assign _20_ = rst ? 2'h0 : _19_;
+  always @(posedge clk)
+    selected <= _20_;
+  assign _21_ = _00_[0] ? wb_masters_in[213:107] : wb_masters_in[106:0];
+  assign _22_ = _00_[1] ? wb_masters_in[320:214] : _21_;
+  assign _23_ = _03_[0] ? wb_masters_in[213:107] : wb_masters_in[106:0];
+  assign _24_ = _03_[1] ? wb_masters_in[320:214] : _23_;
+  assign wb_masters_out = { _07_, _05_, wb_slave_in[63:0], _11_, _09_, wb_slave_in[63:0], _15_, _13_, wb_slave_in[63:0] };
+  assign wb_slave_out = _24_;
+endmodule
+
+module wishbone_bram_wrapper_4096_a75adb9e07879fb6c63b494abe06e3f9a6bb2ed9(
+`ifdef USE_POWER_PINS
+        vccd1, vssd1,
+`endif
+ clk, rst, wishbone_in, wishbone_out);
+`ifdef USE_POWER_PINS
+  inout vccd1;        // User area 1 1.8V supply
+  inout vssd1;        // User area 1 digital ground
+`endif
+  wire [63:0] _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  reg ack;
+  reg ack_buf;
+  input clk;
+  wire ram_re;
+  wire ram_we;
+  input rst;
+  input [106:0] wishbone_in;
+  output [65:0] wishbone_out;
+  assign _01_ = wishbone_in[105] & wishbone_in[104];
+  assign ram_we = _01_ & wishbone_in[106];
+  assign _02_ = wishbone_in[105] & wishbone_in[104];
+  assign _03_ = ~ wishbone_in[106];
+  assign ram_re = _02_ & _03_;
+  assign _04_ = ~ wishbone_in[104];
+  assign _05_ = rst | _04_;
+  assign _06_ = ~ ack;
+  assign _07_ = ram_we & _06_;
+  assign _08_ = _07_ ? ack : wishbone_in[105];
+  assign _09_ = _07_ ? 1'h1 : ack;
+  assign _10_ = _05_ ? 1'h0 : _08_;
+  assign _11_ = _05_ ? 1'h0 : _09_;
+  always @(posedge clk)
+    ack <= _10_;
+  always @(posedge clk)
+    ack_buf <= _11_;
+  main_bram_64_10_4096_a75adb9e07879fb6c63b494abe06e3f9a6bb2ed9 ram_0 (
+`ifdef USE_POWER_PINS
+    .vccd1(vccd1),  // User area 1 1.8V power
+    .vssd1(vssd1),  // User area 1 digital ground
+`endif
+    .addr(wishbone_in[12:3]),
+    .clk(clk),
+    .di(wishbone_in[95:32]),
+    .\do (_00_),
+    .re(ram_re),
+    .sel(wishbone_in[103:96]),
+    .we(ram_we)
+  );
+  assign wishbone_out = { 1'h0, ack_buf, _00_ };
+endmodule
+
+module wishbone_debug_master(clk, rst, dmi_addr, dmi_din, dmi_req, dmi_wr, wb_in, dmi_dout, dmi_ack, wb_out);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire [63:0] _03_;
+  wire _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire [3:0] _08_;
+  wire [63:0] _09_;
+  wire _10_;
+  wire _11_;
+  wire _12_;
+  wire [10:0] _13_;
+  wire [63:0] _14_;
+  wire [10:0] _15_;
+  wire _16_;
+  wire [10:0] _17_;
+  wire [63:0] _18_;
+  wire [10:0] _19_;
+  wire [63:0] _20_;
+  wire [10:0] _21_;
+  wire _22_;
+  wire _23_;
+  wire _24_;
+  wire _25_;
+  wire _26_;
+  wire _27_;
+  wire _28_;
+  wire _29_;
+  wire _30_;
+  wire _31_;
+  wire [63:0] _32_;
+  wire _33_;
+  wire _34_;
+  wire _35_;
+  wire [1:0] _36_;
+  wire _37_;
+  wire _38_;
+  wire _39_;
+  wire _40_;
+  wire [1:0] _41_;
+  wire _42_;
+  wire _43_;
+  wire _44_;
+  wire [1:0] _45_;
+  wire _46_;
+  wire _47_;
+  wire [1:0] _48_;
+  wire _49_;
+  wire _50_;
+  wire [1:0] _51_;
+  wire _52_;
+  reg _53_;
+  input clk;
+  reg [63:0] data_latch;
+  output dmi_ack;
+  input [1:0] dmi_addr;
+  input [63:0] dmi_din;
+  output [63:0] dmi_dout;
+  input dmi_req;
+  input dmi_wr;
+  reg do_inc;
+  reg [63:0] reg_addr;
+  reg [10:0] reg_ctrl;
+  input rst;
+  reg [1:0] state;
+  input [65:0] wb_in;
+  output [106:0] wb_out;
+  assign _00_ = dmi_addr == 2'h0;
+  assign _01_ = dmi_addr == 2'h1;
+  assign _02_ = dmi_addr == 2'h2;
+  function [63:0] \7094 ;
+    input [63:0] a;
+    input [191:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \7094  = b[63:0];
+      3'b?1?:
+        \7094  = b[127:64];
+      3'b1??:
+        \7094  = b[191:128];
+      default:
+        \7094  = a;
+    endcase
+  endfunction
+  assign _03_ = \7094 (64'h0000000000000000, { 53'h00000000000000, reg_ctrl, data_latch, reg_addr }, { _02_, _01_, _00_ });
+  assign _04_ = reg_ctrl[10:9] == 2'h0;
+  assign _05_ = reg_ctrl[10:9] == 2'h1;
+  assign _06_ = reg_ctrl[10:9] == 2'h2;
+  assign _07_ = reg_ctrl[10:9] == 2'h3;
+  function [3:0] \7117 ;
+    input [3:0] a;
+    input [15:0] b;
+    input [3:0] s;
+    (* parallel_case *)
+    casez (s)
+      4'b???1:
+        \7117  = b[3:0];
+      4'b??1?:
+        \7117  = b[7:4];
+      4'b?1??:
+        \7117  = b[11:8];
+      4'b1???:
+        \7117  = b[15:12];
+      default:
+        \7117  = a;
+    endcase
+  endfunction
+  assign _08_ = \7117 (4'h8, 16'h8421, { _07_, _06_, _05_, _04_ });
+  assign _09_ = reg_addr + { 60'h000000000000000, _08_ };
+  assign _10_ = dmi_req & dmi_wr;
+  assign _11_ = dmi_addr == 2'h0;
+  assign _12_ = dmi_addr == 2'h2;
+  assign _13_ = _12_ ? dmi_din[10:0] : reg_ctrl;
+  assign _14_ = _16_ ? dmi_din : reg_addr;
+  assign _15_ = _11_ ? reg_ctrl : _13_;
+  assign _16_ = _10_ & _11_;
+  assign _17_ = _10_ ? _15_ : reg_ctrl;
+  assign _18_ = do_inc ? _09_ : _14_;
+  assign _19_ = do_inc ? reg_ctrl : _17_;
+  assign _20_ = rst ? 64'h0000000000000000 : _18_;
+  assign _21_ = rst ? 11'h000 : _19_;
+  always @(posedge clk)
+    reg_addr <= _20_;
+  always @(posedge clk)
+    reg_ctrl <= _21_;
+  assign _22_ = dmi_addr != 2'h1;
+  assign _23_ = state == 2'h2;
+  assign _24_ = _22_ | _23_;
+  assign _25_ = _24_ ? dmi_req : 1'h0;
+  assign _26_ = state == 2'h1;
+  assign _27_ = _26_ ? 1'h1 : 1'h0;
+  assign _28_ = state == 2'h1;
+  assign _29_ = _28_ & wb_in[64];
+  assign _30_ = ~ dmi_wr;
+  assign _31_ = _29_ & _30_;
+  assign _32_ = _31_ ? wb_in[63:0] : data_latch;
+  always @(posedge clk)
+    data_latch <= _32_;
+  assign _33_ = dmi_addr == 2'h1;
+  assign _34_ = dmi_req & _33_;
+  assign _35_ = _34_ ? 1'h1 : _53_;
+  assign _36_ = _34_ ? 2'h1 : state;
+  assign _37_ = state == 2'h0;
+  assign _38_ = ~ wb_in[65];
+  assign _39_ = _38_ ? 1'h0 : _53_;
+  assign _40_ = wb_in[64] ? 1'h0 : _39_;
+  assign _41_ = wb_in[64] ? 2'h2 : state;
+  assign _42_ = wb_in[64] ? reg_ctrl[8] : do_inc;
+  assign _43_ = state == 2'h1;
+  assign _44_ = ~ dmi_req;
+  assign _45_ = _44_ ? 2'h0 : state;
+  assign _46_ = state == 2'h2;
+  function [0:0] \7206 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \7206  = b[0:0];
+      3'b?1?:
+        \7206  = b[1:1];
+      3'b1??:
+        \7206  = b[2:2];
+      default:
+        \7206  = a;
+    endcase
+  endfunction
+  assign _47_ = \7206 (1'hx, { _53_, _40_, _35_ }, { _46_, _43_, _37_ });
+  function [1:0] \7208 ;
+    input [1:0] a;
+    input [5:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \7208  = b[1:0];
+      3'b?1?:
+        \7208  = b[3:2];
+      3'b1??:
+        \7208  = b[5:4];
+      default:
+        \7208  = a;
+    endcase
+  endfunction
+  assign _48_ = \7208 (2'hx, { _45_, _41_, _36_ }, { _46_, _43_, _37_ });
+  function [0:0] \7211 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \7211  = b[0:0];
+      3'b?1?:
+        \7211  = b[1:1];
+      3'b1??:
+        \7211  = b[2:2];
+      default:
+        \7211  = a;
+    endcase
+  endfunction
+  assign _49_ = \7211 (1'hx, { 1'h0, _42_, do_inc }, { _46_, _43_, _37_ });
+  assign _50_ = rst ? 1'h0 : _47_;
+  assign _51_ = rst ? 2'h0 : _48_;
+  assign _52_ = rst ? 1'h0 : _49_;
+  always @(posedge clk)
+    _53_ <= _50_;
+  always @(posedge clk)
+    state <= _51_;
+  always @(posedge clk)
+    do_inc <= _52_;
+  assign dmi_dout = _03_;
+  assign dmi_ack = _25_;
+  assign wb_out = { dmi_wr, _53_, _27_, reg_ctrl[7:0], dmi_din, reg_addr[31:0] };
+endmodule
+
+module writeback(clk, e_in, l_in, fp_in, w_out, c_out, complete_out);
+  wire _00_;
+  wire _01_;
+  wire _02_;
+  wire [71:0] _03_;
+  wire [5:0] _04_;
+  wire [71:0] _05_;
+  wire [71:0] _06_;
+  wire [8:0] _07_;
+  wire [8:0] _08_;
+  wire [8:0] _09_;
+  wire [3:0] _10_;
+  wire [3:0] _11_;
+  wire [3:0] _12_;
+  wire [27:0] _13_;
+  wire [27:0] _14_;
+  wire _15_;
+  wire _16_;
+  wire _17_;
+  wire _18_;
+  wire _19_;
+  wire _20_;
+  wire _21_;
+  wire _22_;
+  wire _23_;
+  wire _24_;
+  wire _25_;
+  wire _26_;
+  wire [8:0] _27_;
+  wire [3:0] _28_;
+  wire [71:0] _29_;
+  wire [46:0] _30_;
+  output [46:0] c_out;
+  input clk;
+  output complete_out;
+  input [193:0] e_in;
+  input [113:0] fp_in;
+  input [79:0] l_in;
+  output [71:0] w_out;
+  assign _00_ = e_in[0] | l_in[0];
+  assign _01_ = _00_ | fp_in[0];
+  assign _02_ = _01_ ? 1'h1 : 1'h0;
+  assign _03_ = e_in[3] ? { 1'h1, e_in[74:4] } : 72'h000000000000000000;
+  assign _04_ = e_in[116] ? { e_in[121:117], 1'h1 } : 6'h00;
+  assign _05_ = fp_in[1] ? { 1'h1, fp_in[72:2] } : _03_;
+  assign _06_ = l_in[1] ? { 1'h1, l_in[72:2] } : _05_;
+  assign _07_ = e_in[75] ? { e_in[83:76], 1'h1 } : 9'h000;
+  assign _08_ = fp_in[73] ? { fp_in[81:74], 1'h1 } : _07_;
+  assign _09_ = l_in[78] ? 9'h101 : _08_;
+  assign _10_ = e_in[75] ? e_in[115:112] : 4'h0;
+  assign _11_ = fp_in[73] ? fp_in[113:110] : _10_;
+  assign _12_ = l_in[78] ? { 2'h0, l_in[79], l_in[77] } : _11_;
+  assign _13_ = e_in[75] ? e_in[111:84] : 28'h0000000;
+  assign _14_ = fp_in[73] ? fp_in[109:82] : _13_;
+  assign _15_ = e_in[1] & e_in[3];
+  assign _16_ = | e_in[42:11];
+  assign _17_ = ~ _16_;
+  assign _18_ = ~ e_in[2];
+  assign _19_ = | e_in[74:43];
+  assign _20_ = ~ _19_;
+  assign _21_ = _17_ & _20_;
+  assign _22_ = _18_ ? _21_ : _17_;
+  assign _23_ = _18_ ? e_in[74] : e_in[42];
+  assign _24_ = ~ _23_;
+  assign _25_ = ~ _22_;
+  assign _26_ = _24_ & _25_;
+  assign _27_ = _15_ ? 9'h101 : _09_;
+  assign _28_ = _15_ ? { _23_, _26_, _22_, e_in[121] } : _12_;
+  assign _29_ = e_in[122] ? { 1'h1, e_in[193:123] } : _06_;
+  assign _30_ = e_in[122] ? 47'h000000000000 : { _04_, _28_, _14_, _27_ };
+  assign w_out = _29_;
+  assign c_out = _30_;
+  assign complete_out = _02_;
+endmodule
+
+module xics_icp(clk, rst, wb_in, ics_in, wb_out, core_irq_out);
+  reg _00_;
+  wire _01_;
+  wire _02_;
+  wire _03_;
+  wire _04_;
+  wire [7:0] _05_;
+  wire [7:0] _06_;
+  wire _07_;
+  wire _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  wire _12_;
+  wire [23:0] _13_;
+  wire [7:0] _14_;
+  wire _15_;
+  wire [31:0] _16_;
+  wire _17_;
+  wire _18_;
+  wire _19_;
+  wire [31:0] _20_;
+  wire _21_;
+  wire [23:0] _22_;
+  wire [7:0] _23_;
+  wire _24_;
+  wire [23:0] _25_;
+  wire [7:0] _26_;
+  wire [7:0] _27_;
+  wire [7:0] _28_;
+  wire [7:0] _29_;
+  wire _30_;
+  wire _31_;
+  input clk;
+  output core_irq_out;
+  input [11:0] ics_in;
+  reg [73:0] r;
+  wire [73:0] r_next;
+  input rst;
+  input [68:0] wb_in;
+  output [33:0] wb_out;
+  always @(posedge clk)
+    _00_ <= r[40];
+  always @(posedge clk)
+    r <= r_next;
+  assign _01_ = wb_in[66] & wb_in[67];
+  assign _02_ = wb_in[7:0] == 8'h00;
+  assign _03_ = wb_in[7:0] == 8'h04;
+  assign _04_ = wb_in[7:0] == 8'h0c;
+  function [7:0] \6110 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \6110  = b[7:0];
+      3'b?1?:
+        \6110  = b[15:8];
+      3'b1??:
+        \6110  = b[23:16];
+      default:
+        \6110  = a;
+    endcase
+  endfunction
+  assign _05_ = \6110 (r[31:24], { r[31:24], wb_in[37:30], wb_in[37:30] }, { _04_, _03_, _02_ });
+  function [7:0] \6112 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \6112  = b[7:0];
+      3'b?1?:
+        \6112  = b[15:8];
+      3'b1??:
+        \6112  = b[23:16];
+      default:
+        \6112  = a;
+    endcase
+  endfunction
+  assign _06_ = \6112 (r[39:32], { wb_in[37:30], r[39:32], r[39:32] }, { _04_, _03_, _02_ });
+  assign _07_ = wb_in[7:0] == 8'h00;
+  assign _08_ = wb_in[65:62] == 4'hf;
+  assign _09_ = _08_ ? 1'h1 : 1'h0;
+  assign _10_ = wb_in[7:0] == 8'h04;
+  assign _11_ = wb_in[7:0] == 8'h0c;
+  function [0:0] \6135 ;
+    input [0:0] a;
+    input [2:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \6135  = b[0:0];
+      3'b?1?:
+        \6135  = b[1:1];
+      3'b1??:
+        \6135  = b[2:2];
+      default:
+        \6135  = a;
+    endcase
+  endfunction
+  assign _12_ = \6135 (1'h0, { 1'h0, _09_, 1'h0 }, { _11_, _10_, _07_ });
+  function [23:0] \6139 ;
+    input [23:0] a;
+    input [71:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \6139  = b[23:0];
+      3'b?1?:
+        \6139  = b[47:24];
+      3'b1??:
+        \6139  = b[71:48];
+      default:
+        \6139  = a;
+    endcase
+  endfunction
+  assign _13_ = \6139 (24'h000000, { 24'h000000, r[23:0], r[23:0] }, { _11_, _10_, _07_ });
+  function [7:0] \6143 ;
+    input [7:0] a;
+    input [23:0] b;
+    input [2:0] s;
+    (* parallel_case *)
+    casez (s)
+      3'b??1:
+        \6143  = b[7:0];
+      3'b?1?:
+        \6143  = b[15:8];
+      3'b1??:
+        \6143  = b[23:16];
+      default:
+        \6143  = a;
+    endcase
+  endfunction
+  assign _14_ = \6143 (8'h00, { r[39:24], r[31:24] }, { _11_, _10_, _07_ });
+  assign _15_ = wb_in[68] ? 1'h0 : _12_;
+  assign _16_ = wb_in[68] ? 32'd0 : { _14_, _13_ };
+  assign _17_ = _01_ & wb_in[68];
+  assign _18_ = _01_ ? 1'h1 : 1'h0;
+  assign _19_ = _01_ ? _15_ : 1'h0;
+  assign _20_ = _01_ ? _16_ : 32'd0;
+  assign _21_ = ics_in[11:4] != 8'hff;
+  assign _22_ = _21_ ? { 20'h00001, ics_in[3:0] } : 24'h000000;
+  assign _23_ = _21_ ? ics_in[11:4] : 8'hff;
+  assign _24_ = r[39:32] < _23_;
+  assign _25_ = _24_ ? 24'h000002 : _22_;
+  assign _26_ = _24_ ? r[39:32] : _23_;
+  assign _27_ = _17_ ? _05_ : r[31:24];
+  assign _28_ = _19_ ? _26_ : _27_;
+  assign _29_ = _17_ ? _06_ : r[39:32];
+  assign _30_ = _26_ < _28_;
+  assign _31_ = _30_ ? 1'h1 : 1'h0;
+  assign r_next = rst ? 74'h000000000ff00000000 : { _18_, _20_[7:0], _20_[15:8], _20_[23:16], _20_[31:24], _31_, _29_, _28_, _25_ };
+  assign wb_out = { 1'h0, r[73:41] };
+  assign core_irq_out = _00_;
+endmodule
+
+module xics_ics_16_3(clk, rst, wb_in, int_level_in, wb_out, icp_out);
+  wire _000_;
+  wire _001_;
+  wire [3:0] _002_;
+  wire _003_;
+  wire [7:0] _004_;
+  wire [31:0] _005_;
+  wire [31:0] _006_;
+  wire [31:0] _007_;
+  reg [32:0] _008_;
+  wire _009_;
+  wire [3:0] _010_;
+  wire [47:0] _011_;
+  wire _012_;
+  wire [47:0] _013_;
+  reg [11:0] _014_;
+  wire _015_;
+  wire _016_;
+  wire [2:0] _017_;
+  wire _018_;
+  wire _019_;
+  wire [3:0] _020_;
+  wire [2:0] _021_;
+  wire _022_;
+  wire _023_;
+  wire [3:0] _024_;
+  wire [2:0] _025_;
+  wire _026_;
+  wire _027_;
+  wire [3:0] _028_;
+  wire [2:0] _029_;
+  wire _030_;
+  wire _031_;
+  wire [3:0] _032_;
+  wire [2:0] _033_;
+  wire _034_;
+  wire _035_;
+  wire [3:0] _036_;
+  wire [2:0] _037_;
+  wire _038_;
+  wire _039_;
+  wire [3:0] _040_;
+  wire [2:0] _041_;
+  wire _042_;
+  wire _043_;
+  wire [3:0] _044_;
+  wire [2:0] _045_;
+  wire _046_;
+  wire _047_;
+  wire [3:0] _048_;
+  wire [2:0] _049_;
+  wire _050_;
+  wire _051_;
+  wire [3:0] _052_;
+  wire [2:0] _053_;
+  wire _054_;
+  wire _055_;
+  wire [3:0] _056_;
+  wire [2:0] _057_;
+  wire _058_;
+  wire _059_;
+  wire [3:0] _060_;
+  wire [2:0] _061_;
+  wire _062_;
+  wire _063_;
+  wire [3:0] _064_;
+  wire [2:0] _065_;
+  wire _066_;
+  wire _067_;
+  wire [3:0] _068_;
+  wire [2:0] _069_;
+  wire _070_;
+  wire _071_;
+  wire [3:0] _072_;
+  wire [2:0] _073_;
+  wire _074_;
+  wire _075_;
+  wire [3:0] _076_;
+  wire [2:0] _077_;
+  wire _078_;
+  wire [7:0] _079_;
+  wire _080_;
+  wire _081_;
+  wire _082_;
+  wire _083_;
+  wire _084_;
+  wire _085_;
+  wire _086_;
+  wire _087_;
+  wire _088_;
+  wire _089_;
+  wire [2:0] _090_;
+  wire [2:0] _091_;
+  wire [2:0] _092_;
+  wire [2:0] _093_;
+  wire [2:0] _094_;
+  wire _095_;
+  wire _096_;
+  wire _097_;
+  wire _098_;
+  wire _099_;
+  wire _100_;
+  wire _101_;
+  wire _102_;
+  wire _103_;
+  wire _104_;
+  wire _105_;
+  wire _106_;
+  wire _107_;
+  wire _108_;
+  wire _109_;
+  wire _110_;
+  wire _111_;
+  wire _112_;
+  wire _113_;
+  wire _114_;
+  wire _115_;
+  wire _116_;
+  wire _117_;
+  wire _118_;
+  wire _119_;
+  wire _120_;
+  wire _121_;
+  wire _122_;
+  wire _123_;
+  wire _124_;
+  wire _125_;
+  wire _126_;
+  wire [2:0] _127_;
+  wire [2:0] _128_;
+  wire [2:0] _129_;
+  wire [2:0] _130_;
+  wire [2:0] _131_;
+  wire [2:0] _132_;
+  wire [2:0] _133_;
+  wire [2:0] _134_;
+  wire [2:0] _135_;
+  wire [2:0] _136_;
+  wire [2:0] _137_;
+  wire [2:0] _138_;
+  wire [2:0] _139_;
+  wire [2:0] _140_;
+  wire [2:0] _141_;
+  wire [2:0] _142_;
+  wire _143_;
+  wire _144_;
+  wire _145_;
+  wire _146_;
+  wire _147_;
+  wire _148_;
+  wire _149_;
+  wire _150_;
+  wire _151_;
+  wire _152_;
+  wire [2:0] _153_;
+  wire [2:0] _154_;
+  wire [2:0] _155_;
+  wire [2:0] _156_;
+  wire [2:0] _157_;
+  wire _158_;
+  wire _159_;
+  wire _160_;
+  wire _161_;
+  wire _162_;
+  wire _163_;
+  wire _164_;
+  wire _165_;
+  wire _166_;
+  wire _167_;
+  wire [2:0] _168_;
+  wire [2:0] _169_;
+  wire [2:0] _170_;
+  wire [2:0] _171_;
+  wire [2:0] _172_;
+  input clk;
+  output [11:0] icp_out;
+  input [15:0] int_level_in;
+  reg [15:0] int_level_l;
+  wire reg_is_config;
+  wire reg_is_debug;
+  input rst;
+  input [68:0] wb_in;
+  output [33:0] wb_out;
+  wire wb_valid;
+  reg [47:0] xives;
+  assign _143_ = wb_in[2] ? int_level_l[1] : int_level_l[0];
+  assign _144_ = wb_in[2] ? int_level_l[5] : int_level_l[4];
+  assign _145_ = wb_in[2] ? int_level_l[9] : int_level_l[8];
+  assign _146_ = wb_in[2] ? int_level_l[13] : int_level_l[12];
+  assign _147_ = wb_in[4] ? _081_ : _080_;
+  assign _148_ = wb_in[2] ? int_level_l[1] : int_level_l[0];
+  assign _149_ = wb_in[2] ? int_level_l[5] : int_level_l[4];
+  assign _150_ = wb_in[2] ? int_level_l[9] : int_level_l[8];
+  assign _151_ = wb_in[2] ? int_level_l[13] : int_level_l[12];
+  assign _152_ = wb_in[4] ? _086_ : _085_;
+  assign _153_ = _002_[0] ? xives[5:3] : xives[2:0];
+  assign _154_ = _002_[0] ? xives[17:15] : xives[14:12];
+  assign _155_ = _002_[0] ? xives[29:27] : xives[26:24];
+  assign _156_ = _002_[0] ? xives[41:39] : xives[38:36];
+  assign _157_ = _002_[2] ? _091_ : _090_;
+  assign _158_ = wb_in[2] ? int_level_l[3] : int_level_l[2];
+  assign _159_ = wb_in[2] ? int_level_l[7] : int_level_l[6];
+  assign _160_ = wb_in[2] ? int_level_l[11] : int_level_l[10];
+  assign _161_ = wb_in[2] ? int_level_l[15] : int_level_l[14];
+  assign _162_ = wb_in[4] ? _083_ : _082_;
+  assign _163_ = wb_in[2] ? int_level_l[3] : int_level_l[2];
+  assign _164_ = wb_in[2] ? int_level_l[7] : int_level_l[6];
+  assign _165_ = wb_in[2] ? int_level_l[11] : int_level_l[10];
+  assign _166_ = wb_in[2] ? int_level_l[15] : int_level_l[14];
+  assign _167_ = wb_in[4] ? _088_ : _087_;
+  assign _168_ = _002_[0] ? xives[11:9] : xives[8:6];
+  assign _169_ = _002_[0] ? xives[23:21] : xives[20:18];
+  assign _170_ = _002_[0] ? xives[35:33] : xives[32:30];
+  assign _171_ = _002_[0] ? xives[47:45] : xives[44:42];
+  assign _172_ = _002_[2] ? _093_ : _092_;
+  assign _080_ = wb_in[3] ? _158_ : _143_;
+  assign _081_ = wb_in[3] ? _159_ : _144_;
+  assign _082_ = wb_in[3] ? _160_ : _145_;
+  assign _083_ = wb_in[3] ? _161_ : _146_;
+  assign _084_ = wb_in[5] ? _162_ : _147_;
+  assign _085_ = wb_in[3] ? _163_ : _148_;
+  assign _086_ = wb_in[3] ? _164_ : _149_;
+  assign _087_ = wb_in[3] ? _165_ : _150_;
+  assign _088_ = wb_in[3] ? _166_ : _151_;
+  assign _089_ = wb_in[5] ? _167_ : _152_;
+  assign _090_ = _002_[1] ? _168_ : _153_;
+  assign _091_ = _002_[1] ? _169_ : _154_;
+  assign _092_ = _002_[1] ? _170_ : _155_;
+  assign _093_ = _002_[1] ? _171_ : _156_;
+  assign _094_ = _002_[3] ? _172_ : _157_;
+  assign _000_ = wb_in[11:0] == 12'h000;
+  assign reg_is_config = _000_ ? 1'h1 : 1'h0;
+  assign _001_ = wb_in[11:0] == 12'h004;
+  assign reg_is_debug = _001_ ? 1'h1 : 1'h0;
+  always @(posedge clk)
+    int_level_l <= int_level_in;
+  assign wb_valid = wb_in[66] & wb_in[67];
+  assign _002_ = 4'hf - wb_in[5:2];
+  assign _003_ = _094_ == 3'h7;
+  assign _004_ = _003_ ? 8'hff : { 5'h00, _094_ };
+  assign _005_ = reg_is_debug ? { 20'h00000, _076_, _079_ } : 32'd0;
+  assign _006_ = reg_is_config ? 32'd50331664 : _005_;
+  assign _007_ = wb_in[11] ? { _084_, 1'h0, _089_, 21'h000000, _004_ } : _006_;
+  always @(posedge clk)
+    _008_ <= { wb_valid, _007_[7:0], _007_[15:8], _007_[23:16], _007_[31:24] };
+  assign _009_ = wb_valid & wb_in[68];
+  assign _010_ = 4'hf - wb_in[5:2];
+  assign _011_ = _012_ ? { _142_, _141_, _140_, _139_, _138_, _137_, _136_, _135_, _134_, _133_, _132_, _131_, _130_, _129_, _128_, _127_ } : xives;
+  assign _012_ = _009_ & wb_in[11];
+  assign _013_ = rst ? 48'hffffffffffff : _011_;
+  always @(posedge clk)
+    xives <= _013_;
+  always @(posedge clk)
+    _014_ <= { _079_, _076_ };
+  assign _015_ = xives[47:45] < 3'h7;
+  assign _016_ = int_level_l[0] & _015_;
+  assign _017_ = _016_ ? xives[47:45] : 3'h7;
+  assign _018_ = xives[44:42] < _017_;
+  assign _019_ = int_level_l[1] & _018_;
+  assign _020_ = _019_ ? 4'h1 : 4'h0;
+  assign _021_ = _019_ ? xives[44:42] : _017_;
+  assign _022_ = xives[41:39] < _021_;
+  assign _023_ = int_level_l[2] & _022_;
+  assign _024_ = _023_ ? 4'h2 : _020_;
+  assign _025_ = _023_ ? xives[41:39] : _021_;
+  assign _026_ = xives[38:36] < _025_;
+  assign _027_ = int_level_l[3] & _026_;
+  assign _028_ = _027_ ? 4'h3 : _024_;
+  assign _029_ = _027_ ? xives[38:36] : _025_;
+  assign _030_ = xives[35:33] < _029_;
+  assign _031_ = int_level_l[4] & _030_;
+  assign _032_ = _031_ ? 4'h4 : _028_;
+  assign _033_ = _031_ ? xives[35:33] : _029_;
+  assign _034_ = xives[32:30] < _033_;
+  assign _035_ = int_level_l[5] & _034_;
+  assign _036_ = _035_ ? 4'h5 : _032_;
+  assign _037_ = _035_ ? xives[32:30] : _033_;
+  assign _038_ = xives[29:27] < _037_;
+  assign _039_ = int_level_l[6] & _038_;
+  assign _040_ = _039_ ? 4'h6 : _036_;
+  assign _041_ = _039_ ? xives[29:27] : _037_;
+  assign _042_ = xives[26:24] < _041_;
+  assign _043_ = int_level_l[7] & _042_;
+  assign _044_ = _043_ ? 4'h7 : _040_;
+  assign _045_ = _043_ ? xives[26:24] : _041_;
+  assign _046_ = xives[23:21] < _045_;
+  assign _047_ = int_level_l[8] & _046_;
+  assign _048_ = _047_ ? 4'h8 : _044_;
+  assign _049_ = _047_ ? xives[23:21] : _045_;
+  assign _050_ = xives[20:18] < _049_;
+  assign _051_ = int_level_l[9] & _050_;
+  assign _052_ = _051_ ? 4'h9 : _048_;
+  assign _053_ = _051_ ? xives[20:18] : _049_;
+  assign _054_ = xives[17:15] < _053_;
+  assign _055_ = int_level_l[10] & _054_;
+  assign _056_ = _055_ ? 4'ha : _052_;
+  assign _057_ = _055_ ? xives[17:15] : _053_;
+  assign _058_ = xives[14:12] < _057_;
+  assign _059_ = int_level_l[11] & _058_;
+  assign _060_ = _059_ ? 4'hb : _056_;
+  assign _061_ = _059_ ? xives[14:12] : _057_;
+  assign _062_ = xives[11:9] < _061_;
+  assign _063_ = int_level_l[12] & _062_;
+  assign _064_ = _063_ ? 4'hc : _060_;
+  assign _065_ = _063_ ? xives[11:9] : _061_;
+  assign _066_ = xives[8:6] < _065_;
+  assign _067_ = int_level_l[13] & _066_;
+  assign _068_ = _067_ ? 4'hd : _064_;
+  assign _069_ = _067_ ? xives[8:6] : _065_;
+  assign _070_ = xives[5:3] < _069_;
+  assign _071_ = int_level_l[14] & _070_;
+  assign _072_ = _071_ ? 4'he : _068_;
+  assign _073_ = _071_ ? xives[5:3] : _069_;
+  assign _074_ = xives[2:0] < _073_;
+  assign _075_ = int_level_l[15] & _074_;
+  assign _076_ = _075_ ? 4'hf : _072_;
+  assign _077_ = _075_ ? xives[2:0] : _073_;
+  assign _078_ = _077_ == 3'h7;
+  assign _079_ = _078_ ? 8'hff : { 5'h00, _077_ };
+  assign _095_ = ~ _010_[3];
+  assign _096_ = ~ _010_[2];
+  assign _097_ = _095_ & _096_;
+  assign _098_ = _095_ & _010_[2];
+  assign _099_ = _010_[3] & _096_;
+  assign _100_ = _010_[3] & _010_[2];
+  assign _101_ = ~ _010_[1];
+  assign _102_ = _097_ & _101_;
+  assign _103_ = _097_ & _010_[1];
+  assign _104_ = _098_ & _101_;
+  assign _105_ = _098_ & _010_[1];
+  assign _106_ = _099_ & _101_;
+  assign _107_ = _099_ & _010_[1];
+  assign _108_ = _100_ & _101_;
+  assign _109_ = _100_ & _010_[1];
+  assign _110_ = ~ _010_[0];
+  assign _111_ = _102_ & _110_;
+  assign _112_ = _102_ & _010_[0];
+  assign _113_ = _103_ & _110_;
+  assign _114_ = _103_ & _010_[0];
+  assign _115_ = _104_ & _110_;
+  assign _116_ = _104_ & _010_[0];
+  assign _117_ = _105_ & _110_;
+  assign _118_ = _105_ & _010_[0];
+  assign _119_ = _106_ & _110_;
+  assign _120_ = _106_ & _010_[0];
+  assign _121_ = _107_ & _110_;
+  assign _122_ = _107_ & _010_[0];
+  assign _123_ = _108_ & _110_;
+  assign _124_ = _108_ & _010_[0];
+  assign _125_ = _109_ & _110_;
+  assign _126_ = _109_ & _010_[0];
+  assign _127_ = _111_ ? wb_in[56:54] : xives[2:0];
+  assign _128_ = _112_ ? wb_in[56:54] : xives[5:3];
+  assign _129_ = _113_ ? wb_in[56:54] : xives[8:6];
+  assign _130_ = _114_ ? wb_in[56:54] : xives[11:9];
+  assign _131_ = _115_ ? wb_in[56:54] : xives[14:12];
+  assign _132_ = _116_ ? wb_in[56:54] : xives[17:15];
+  assign _133_ = _117_ ? wb_in[56:54] : xives[20:18];
+  assign _134_ = _118_ ? wb_in[56:54] : xives[23:21];
+  assign _135_ = _119_ ? wb_in[56:54] : xives[26:24];
+  assign _136_ = _120_ ? wb_in[56:54] : xives[29:27];
+  assign _137_ = _121_ ? wb_in[56:54] : xives[32:30];
+  assign _138_ = _122_ ? wb_in[56:54] : xives[35:33];
+  assign _139_ = _123_ ? wb_in[56:54] : xives[38:36];
+  assign _140_ = _124_ ? wb_in[56:54] : xives[41:39];
+  assign _141_ = _125_ ? wb_in[56:54] : xives[44:42];
+  assign _142_ = _126_ ? wb_in[56:54] : xives[47:45];
+  assign wb_out = { 1'h0, _008_ };
+  assign icp_out = _014_;
+endmodule
+
+module zero_counter(clk, rs, count_right, is_32bit, result);
+  wire _000_;
+  wire _001_;
+  wire [63:0] _002_;
+  wire _003_;
+  wire [31:0] _004_;
+  wire [63:0] _005_;
+  wire _006_;
+  wire _007_;
+  wire _008_;
+  wire _009_;
+  wire _010_;
+  wire _011_;
+  wire _012_;
+  wire _013_;
+  wire _014_;
+  wire _015_;
+  wire _016_;
+  wire _017_;
+  wire _018_;
+  wire _019_;
+  wire _020_;
+  wire _021_;
+  wire _022_;
+  wire _023_;
+  wire _024_;
+  wire _025_;
+  wire _026_;
+  wire _027_;
+  wire _028_;
+  wire _029_;
+  wire _030_;
+  wire _031_;
+  wire _032_;
+  wire _033_;
+  wire _034_;
+  wire _035_;
+  wire _036_;
+  wire _037_;
+  wire _038_;
+  wire _039_;
+  wire _040_;
+  wire _041_;
+  wire _042_;
+  wire _043_;
+  wire _044_;
+  wire _045_;
+  wire _046_;
+  wire _047_;
+  wire _048_;
+  wire _049_;
+  wire _050_;
+  wire _051_;
+  wire _052_;
+  wire _053_;
+  wire _054_;
+  wire _055_;
+  wire _056_;
+  wire _057_;
+  wire _058_;
+  wire _059_;
+  wire _060_;
+  wire _061_;
+  wire _062_;
+  wire _063_;
+  wire _064_;
+  wire _065_;
+  wire _066_;
+  wire _067_;
+  wire _068_;
+  wire _069_;
+  wire _070_;
+  wire _071_;
+  wire _072_;
+  wire _073_;
+  wire _074_;
+  wire _075_;
+  wire _076_;
+  wire _077_;
+  wire _078_;
+  wire _079_;
+  wire _080_;
+  wire _081_;
+  wire _082_;
+  wire _083_;
+  wire _084_;
+  wire _085_;
+  wire _086_;
+  wire _087_;
+  wire _088_;
+  wire _089_;
+  wire _090_;
+  wire _091_;
+  wire _092_;
+  wire _093_;
+  wire _094_;
+  wire _095_;
+  wire _096_;
+  wire _097_;
+  wire _098_;
+  wire _099_;
+  wire _100_;
+  wire _101_;
+  wire _102_;
+  wire _103_;
+  wire _104_;
+  wire _105_;
+  wire _106_;
+  wire _107_;
+  wire _108_;
+  wire _109_;
+  wire _110_;
+  wire _111_;
+  wire _112_;
+  wire _113_;
+  wire _114_;
+  wire _115_;
+  wire _116_;
+  wire _117_;
+  wire _118_;
+  wire _119_;
+  wire _120_;
+  wire _121_;
+  wire _122_;
+  wire _123_;
+  wire _124_;
+  wire _125_;
+  wire _126_;
+  wire _127_;
+  wire _128_;
+  wire _129_;
+  wire _130_;
+  wire _131_;
+  input clk;
+  input count_right;
+  wire [63:0] inp;
+  input is_32bit;
+  reg msb_r;
+  wire [63:0] onehot;
+  reg [63:0] onehot_r;
+  output [63:0] result;
+  input [63:0] rs;
+  wire [64:0] sum;
+  always @(posedge clk)
+    msb_r <= sum[64];
+  always @(posedge clk)
+    onehot_r <= onehot;
+  assign _000_ = ~ is_32bit;
+  assign _001_ = ~ count_right;
+  assign _002_ = _001_ ? { rs[0], rs[1], rs[2], rs[3], rs[4], rs[5], rs[6], rs[7], rs[8], rs[9], rs[10], rs[11], rs[12], rs[13], rs[14], rs[15], rs[16], rs[17], rs[18], rs[19], rs[20], rs[21], rs[22], rs[23], rs[24], rs[25], rs[26], rs[27], rs[28], rs[29], rs[30], rs[31], rs[32], rs[33], rs[34], rs[35], rs[36], rs[37], rs[38], rs[39], rs[40], rs[41], rs[42], rs[43], rs[44], rs[45], rs[46], rs[47], rs[48], rs[49], rs[50], rs[51], rs[52], rs[53], rs[54], rs[55], rs[56], rs[57], rs[58], rs[59], rs[60], rs[61], rs[62], rs[63] } : rs;
+  assign _003_ = ~ count_right;
+  assign _004_ = _003_ ? { rs[0], rs[1], rs[2], rs[3], rs[4], rs[5], rs[6], rs[7], rs[8], rs[9], rs[10], rs[11], rs[12], rs[13], rs[14], rs[15], rs[16], rs[17], rs[18], rs[19], rs[20], rs[21], rs[22], rs[23], rs[24], rs[25], rs[26], rs[27], rs[28], rs[29], rs[30], rs[31] } : rs[31:0];
+  assign inp = _000_ ? _002_ : { 32'hffffffff, _004_ };
+  assign _005_ = ~ inp;
+  assign sum = { 1'h0, _005_ } + 65'h00000000000000001;
+  assign onehot = sum[63:0] & inp;
+  assign _006_ = | onehot_r[1];
+  assign _007_ = 1'h0 | _006_;
+  assign _008_ = | onehot_r[3];
+  assign _009_ = _007_ | _008_;
+  assign _010_ = | onehot_r[5];
+  assign _011_ = _009_ | _010_;
+  assign _012_ = | onehot_r[7];
+  assign _013_ = _011_ | _012_;
+  assign _014_ = | onehot_r[9];
+  assign _015_ = _013_ | _014_;
+  assign _016_ = | onehot_r[11];
+  assign _017_ = _015_ | _016_;
+  assign _018_ = | onehot_r[13];
+  assign _019_ = _017_ | _018_;
+  assign _020_ = | onehot_r[15];
+  assign _021_ = _019_ | _020_;
+  assign _022_ = | onehot_r[17];
+  assign _023_ = _021_ | _022_;
+  assign _024_ = | onehot_r[19];
+  assign _025_ = _023_ | _024_;
+  assign _026_ = | onehot_r[21];
+  assign _027_ = _025_ | _026_;
+  assign _028_ = | onehot_r[23];
+  assign _029_ = _027_ | _028_;
+  assign _030_ = | onehot_r[25];
+  assign _031_ = _029_ | _030_;
+  assign _032_ = | onehot_r[27];
+  assign _033_ = _031_ | _032_;
+  assign _034_ = | onehot_r[29];
+  assign _035_ = _033_ | _034_;
+  assign _036_ = | onehot_r[31];
+  assign _037_ = _035_ | _036_;
+  assign _038_ = | onehot_r[33];
+  assign _039_ = _037_ | _038_;
+  assign _040_ = | onehot_r[35];
+  assign _041_ = _039_ | _040_;
+  assign _042_ = | onehot_r[37];
+  assign _043_ = _041_ | _042_;
+  assign _044_ = | onehot_r[39];
+  assign _045_ = _043_ | _044_;
+  assign _046_ = | onehot_r[41];
+  assign _047_ = _045_ | _046_;
+  assign _048_ = | onehot_r[43];
+  assign _049_ = _047_ | _048_;
+  assign _050_ = | onehot_r[45];
+  assign _051_ = _049_ | _050_;
+  assign _052_ = | onehot_r[47];
+  assign _053_ = _051_ | _052_;
+  assign _054_ = | onehot_r[49];
+  assign _055_ = _053_ | _054_;
+  assign _056_ = | onehot_r[51];
+  assign _057_ = _055_ | _056_;
+  assign _058_ = | onehot_r[53];
+  assign _059_ = _057_ | _058_;
+  assign _060_ = | onehot_r[55];
+  assign _061_ = _059_ | _060_;
+  assign _062_ = | onehot_r[57];
+  assign _063_ = _061_ | _062_;
+  assign _064_ = | onehot_r[59];
+  assign _065_ = _063_ | _064_;
+  assign _066_ = | onehot_r[61];
+  assign _067_ = _065_ | _066_;
+  assign _068_ = | onehot_r[63];
+  assign _069_ = _067_ | _068_;
+  assign _070_ = | onehot_r[3:2];
+  assign _071_ = 1'h0 | _070_;
+  assign _072_ = | onehot_r[7:6];
+  assign _073_ = _071_ | _072_;
+  assign _074_ = | onehot_r[11:10];
+  assign _075_ = _073_ | _074_;
+  assign _076_ = | onehot_r[15:14];
+  assign _077_ = _075_ | _076_;
+  assign _078_ = | onehot_r[19:18];
+  assign _079_ = _077_ | _078_;
+  assign _080_ = | onehot_r[23:22];
+  assign _081_ = _079_ | _080_;
+  assign _082_ = | onehot_r[27:26];
+  assign _083_ = _081_ | _082_;
+  assign _084_ = | onehot_r[31:30];
+  assign _085_ = _083_ | _084_;
+  assign _086_ = | onehot_r[35:34];
+  assign _087_ = _085_ | _086_;
+  assign _088_ = | onehot_r[39:38];
+  assign _089_ = _087_ | _088_;
+  assign _090_ = | onehot_r[43:42];
+  assign _091_ = _089_ | _090_;
+  assign _092_ = | onehot_r[47:46];
+  assign _093_ = _091_ | _092_;
+  assign _094_ = | onehot_r[51:50];
+  assign _095_ = _093_ | _094_;
+  assign _096_ = | onehot_r[55:54];
+  assign _097_ = _095_ | _096_;
+  assign _098_ = | onehot_r[59:58];
+  assign _099_ = _097_ | _098_;
+  assign _100_ = | onehot_r[63:62];
+  assign _101_ = _099_ | _100_;
+  assign _102_ = | onehot_r[7:4];
+  assign _103_ = 1'h0 | _102_;
+  assign _104_ = | onehot_r[15:12];
+  assign _105_ = _103_ | _104_;
+  assign _106_ = | onehot_r[23:20];
+  assign _107_ = _105_ | _106_;
+  assign _108_ = | onehot_r[31:28];
+  assign _109_ = _107_ | _108_;
+  assign _110_ = | onehot_r[39:36];
+  assign _111_ = _109_ | _110_;
+  assign _112_ = | onehot_r[47:44];
+  assign _113_ = _111_ | _112_;
+  assign _114_ = | onehot_r[55:52];
+  assign _115_ = _113_ | _114_;
+  assign _116_ = | onehot_r[63:60];
+  assign _117_ = _115_ | _116_;
+  assign _118_ = | onehot_r[15:8];
+  assign _119_ = 1'h0 | _118_;
+  assign _120_ = | onehot_r[31:24];
+  assign _121_ = _119_ | _120_;
+  assign _122_ = | onehot_r[47:40];
+  assign _123_ = _121_ | _122_;
+  assign _124_ = | onehot_r[63:56];
+  assign _125_ = _123_ | _124_;
+  assign _126_ = | onehot_r[31:16];
+  assign _127_ = 1'h0 | _126_;
+  assign _128_ = | onehot_r[63:48];
+  assign _129_ = _127_ | _128_;
+  assign _130_ = | onehot_r[63:32];
+  assign _131_ = 1'h0 | _130_;
+  assign result = { 57'h000000000000000, msb_r, _131_, _129_, _125_, _117_, _101_, _069_ };
+endmodule
diff --git a/verilog/rtl/multiply_4.v b/verilog/rtl/multiply_4.v
new file mode 100644
index 0000000..ea40cde
--- /dev/null
+++ b/verilog/rtl/multiply_4.v
@@ -0,0 +1,51 @@
+/* Generated by Yosys 0.9+3743 (git sha1 UNKNOWN, clang 7.0.1-8+deb10u2 -fPIC -Os) */
+
+module multiply_4(
+`ifdef USE_POWER_PINS
+	vccd1, vssd1,
+`endif
+	clk, m_in, m_out);
+`ifdef USE_POWER_PINS
+  inout vccd1;
+  inout vssd1;
+`endif
+  wire [127:0] _00_;
+  wire [127:0] _01_;
+  wire [127:0] _02_;
+  wire [127:0] _03_;
+  wire _04_;
+  wire _05_;
+  wire _06_;
+  wire _07_;
+  wire _08_;
+  wire _09_;
+  wire _10_;
+  wire _11_;
+  input clk;
+  reg [258:0] m = 259'h00000000000000000000000000000000000000000000000000000000000000000;
+  input [258:0] m_in;
+  output [129:0] m_out;
+  reg overflow;
+  wire ovf_in;
+  reg [523:0] r = 524'h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
+  always @(posedge clk)
+    m <= m_in;
+  always @(posedge clk)
+    r <= { m[258:257], _01_, m[0], r[523:131] };
+  always @(posedge clk)
+    overflow <= ovf_in;
+  assign _00_ = $signed({ 64'h0000000000000000, m[64:1] }) * $signed({ 64'h0000000000000000, m[128:65] });
+  assign _01_ = _00_ + m[256:129];
+  assign _02_ = ~ r[259:132];
+  assign _03_ = r[261] ? _02_ : r[259:132];
+  assign _04_ = | _03_[63:31];
+  assign _05_ = & _03_[63:31];
+  assign _06_ = ~ _05_;
+  assign _07_ = _04_ & _06_;
+  assign _08_ = | _03_[127:63];
+  assign _09_ = & _03_[127:63];
+  assign _10_ = ~ _09_;
+  assign _11_ = _08_ & _10_;
+  assign ovf_in = r[260] ? _07_ : _11_;
+  assign m_out = { overflow, _03_, r[131] };
+endmodule
diff --git a/verilog/rtl/raminfr.v b/verilog/rtl/raminfr.v
new file mode 100644
index 0000000..090f751
--- /dev/null
+++ b/verilog/rtl/raminfr.v
@@ -0,0 +1,111 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  raminfr.v                                                   ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  Inferrable Distributed RAM for FIFOs                        ////
+////                                                              ////
+////  Known problems (limits):                                    ////
+////  None                .                                       ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Nothing so far.                                             ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - gorban@opencores.org                                  ////
+////      - Jacob Gorban                                          ////
+////                                                              ////
+////  Created:        2002/07/22                                  ////
+////  Last Updated:   2002/07/22                                  ////
+////                  (See log for the revision history)          ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.1  2002/07/22 23:02:23  gorban
+// Bug Fixes:
+//  * Possible loss of sync and bad reception of stop bit on slow baud rates fixed.
+//   Problem reported by Kenny.Tung.
+//  * Bad (or lack of ) loopback handling fixed. Reported by Cherry Withers.
+//
+// Improvements:
+//  * Made FIFO's as general inferrable memory where possible.
+//  So on FPGA they should be inferred as RAM (Distributed RAM on Xilinx).
+//  This saves about 1/3 of the Slice count and reduces P&R and synthesis times.
+//
+//  * Added optional baudrate output (baud_o).
+//  This is identical to BAUDOUT* signal on 16550 chip.
+//  It outputs 16xbit_clock_rate - the divided clock.
+//  It's disabled by default. Define UART_HAS_BAUDRATE_OUTPUT to use.
+//
+
+//Following is the Verilog code for a dual-port RAM with asynchronous read. 
+module raminfr   
+        (clk, we, a, dpra, di, dpo); 
+
+parameter addr_width = 4;
+parameter data_width = 8;
+parameter depth = 16;
+
+input clk;   
+input we;   
+input  [addr_width-1:0] a;   
+input  [addr_width-1:0] dpra;   
+input  [data_width-1:0] di;   
+//output [data_width-1:0] spo;   
+output [data_width-1:0] dpo;   
+reg    [data_width-1:0] ram [depth-1:0]; 
+
+wire [data_width-1:0] dpo;
+wire  [data_width-1:0] di;   
+wire  [addr_width-1:0] a;   
+wire  [addr_width-1:0] dpra;   
+ 
+  always @(posedge clk) begin   
+    if (we)   
+      ram[a] <= di;   
+  end   
+//  assign spo = ram[a];   
+  assign dpo = ram[dpra];   
+endmodule 
+
diff --git a/verilog/rtl/register_file.v b/verilog/rtl/register_file.v
new file mode 100644
index 0000000..0dd97da
--- /dev/null
+++ b/verilog/rtl/register_file.v
@@ -0,0 +1,111 @@
+/* Generated by Yosys 0.9+3743 (git sha1 UNKNOWN, clang 7.0.1-8+deb10u2 -fPIC -Os) */
+
+module register_file(
+`ifdef USE_POWER_PINS
+	vccd1, vssd1,
+`endif
+	clk, d_in, w_in, d_out);
+`ifdef USE_POWER_PINS
+  inout vccd1;
+  inout vssd1;
+`endif
+  wire _00_;
+  wire [4095:0] _01_;
+  wire [63:0] _02_;
+  wire [4095:0] _03_;
+  wire [63:0] _04_;
+  wire [63:0] _05_;
+  wire _06_;
+  wire [63:0] _07_;
+  wire _08_;
+  wire [63:0] _09_;
+  wire [191:0] _10_;
+  wire [4095:0] _11_;
+  wire [63:0] _12_;
+  input clk;
+  input [23:0] d_in;
+  output [191:0] d_out;
+  input [71:0] w_in;
+  reg [63:0] \$mem$\88  [63:0];
+  reg [63:0] \88  [63:0];
+  initial begin
+    \88 [0] = 64'h0000000000000000;
+    \88 [1] = 64'h0000000000000000;
+    \88 [2] = 64'h0000000000000000;
+    \88 [3] = 64'h0000000000000000;
+    \88 [4] = 64'h0000000000000000;
+    \88 [5] = 64'h0000000000000000;
+    \88 [6] = 64'h0000000000000000;
+    \88 [7] = 64'h0000000000000000;
+    \88 [8] = 64'h0000000000000000;
+    \88 [9] = 64'h0000000000000000;
+    \88 [10] = 64'h0000000000000000;
+    \88 [11] = 64'h0000000000000000;
+    \88 [12] = 64'h0000000000000000;
+    \88 [13] = 64'h0000000000000000;
+    \88 [14] = 64'h0000000000000000;
+    \88 [15] = 64'h0000000000000000;
+    \88 [16] = 64'h0000000000000000;
+    \88 [17] = 64'h0000000000000000;
+    \88 [18] = 64'h0000000000000000;
+    \88 [19] = 64'h0000000000000000;
+    \88 [20] = 64'h0000000000000000;
+    \88 [21] = 64'h0000000000000000;
+    \88 [22] = 64'h0000000000000000;
+    \88 [23] = 64'h0000000000000000;
+    \88 [24] = 64'h0000000000000000;
+    \88 [25] = 64'h0000000000000000;
+    \88 [26] = 64'h0000000000000000;
+    \88 [27] = 64'h0000000000000000;
+    \88 [28] = 64'h0000000000000000;
+    \88 [29] = 64'h0000000000000000;
+    \88 [30] = 64'h0000000000000000;
+    \88 [31] = 64'h0000000000000000;
+    \88 [32] = 64'h0000000000000000;
+    \88 [33] = 64'h0000000000000000;
+    \88 [34] = 64'h0000000000000000;
+    \88 [35] = 64'h0000000000000000;
+    \88 [36] = 64'h0000000000000000;
+    \88 [37] = 64'h0000000000000000;
+    \88 [38] = 64'h0000000000000000;
+    \88 [39] = 64'h0000000000000000;
+    \88 [40] = 64'h0000000000000000;
+    \88 [41] = 64'h0000000000000000;
+    \88 [42] = 64'h0000000000000000;
+    \88 [43] = 64'h0000000000000000;
+    \88 [44] = 64'h0000000000000000;
+    \88 [45] = 64'h0000000000000000;
+    \88 [46] = 64'h0000000000000000;
+    \88 [47] = 64'h0000000000000000;
+    \88 [48] = 64'h0000000000000000;
+    \88 [49] = 64'h0000000000000000;
+    \88 [50] = 64'h0000000000000000;
+    \88 [51] = 64'h0000000000000000;
+    \88 [52] = 64'h0000000000000000;
+    \88 [53] = 64'h0000000000000000;
+    \88 [54] = 64'h0000000000000000;
+    \88 [55] = 64'h0000000000000000;
+    \88 [56] = 64'h0000000000000000;
+    \88 [57] = 64'h0000000000000000;
+    \88 [58] = 64'h0000000000000000;
+    \88 [59] = 64'h0000000000000000;
+    \88 [60] = 64'h0000000000000000;
+    \88 [61] = 64'h0000000000000000;
+    \88 [62] = 64'h0000000000000000;
+    \88 [63] = 64'h0000000000000000;
+  end
+  always @(posedge clk) begin
+    if (w_in[71]) \88 [w_in[5:0]] <= w_in[70:7];
+  end
+  assign _12_ = \88 [d_in[22:17]];
+  assign _02_ = \88 [d_in[14:9]];
+  assign _04_ = \88 [d_in[6:1]];
+  assign _00_ = { 1'h0, d_in[6:1] } == { 1'h0, w_in[5:0] };
+  assign _05_ = _00_ ? w_in[70:7] : _04_;
+  assign _06_ = { 1'h0, d_in[14:9] } == { 1'h0, w_in[5:0] };
+  assign _07_ = _06_ ? w_in[70:7] : _02_;
+  assign _08_ = { 1'h0, d_in[22:17] } == { 1'h0, w_in[5:0] };
+  assign _09_ = _08_ ? w_in[70:7] : _12_;
+  assign _10_ = w_in[71] ? { _09_, _07_, _05_ } : { _12_, _02_, _04_ };
+  assign d_out = _10_;
+endmodule
diff --git a/verilog/rtl/tap_top.v b/verilog/rtl/tap_top.v
new file mode 100644
index 0000000..4a0e2ab
--- /dev/null
+++ b/verilog/rtl/tap_top.v
@@ -0,0 +1,636 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  tap_top.v                                                   ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the JTAG Test Access Port (TAP)        ////
+////  http://www.opencores.org/projects/jtag/                     ////
+////                                                              ////
+////  Author(s):                                                  ////
+////       Igor Mohor (igorm@opencores.org)                       ////
+////                                                              ////
+////                                                              ////
+////  All additional information is avaliable in the README.txt   ////
+////  file.                                                       ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000 - 2003 Authors                            ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.5  2004/01/18 09:27:39  simons
+// Blocking non blocking assignmenst fixed.
+//
+// Revision 1.4  2004/01/17 17:37:44  mohor
+// capture_dr_o added to ports.
+//
+// Revision 1.3  2004/01/14 13:50:56  mohor
+// 5 consecutive TMS=1 causes reset of TAP.
+//
+// Revision 1.2  2004/01/08 10:29:44  mohor
+// Control signals for tdo_pad_o mux are changed to negedge.
+//
+// Revision 1.1  2003/12/23 14:52:14  mohor
+// Directory structure changed. New version of TAP.
+//
+// Revision 1.10  2003/10/23 18:08:01  mohor
+// MBIST chain connection fixed.
+//
+// Revision 1.9  2003/10/23 16:17:02  mohor
+// CRC logic changed.
+//
+// Revision 1.8  2003/10/21 09:48:31  simons
+// Mbist support added.
+//
+// Revision 1.7  2002/11/06 14:30:10  mohor
+// Trst active high. Inverted on higher layer.
+//
+// Revision 1.6  2002/04/22 12:55:56  mohor
+// tdo_padoen_o changed to tdo_padoe_o. Signal is active high.
+//
+// Revision 1.5  2002/03/26 14:23:38  mohor
+// Signal tdo_padoe_o changed back to tdo_padoen_o.
+//
+// Revision 1.4  2002/03/25 13:16:15  mohor
+// tdo_padoen_o changed to tdo_padoe_o. Signal was always active high, just
+// not named correctly.
+//
+// Revision 1.3  2002/03/12 14:30:05  mohor
+// Few outputs for boundary scan chain added.
+//
+// Revision 1.2  2002/03/12 10:31:53  mohor
+// tap_top and dbg_top modules are put into two separate modules. tap_top
+// contains only tap state machine and related logic. dbg_top contains all
+// logic necessery for debugging.
+//
+// Revision 1.1  2002/03/08 15:28:16  mohor
+// Structure changed. Hooks for jtag chain added.
+//
+//
+//
+//
+
+// Top module
+module tap_top #(parameter
+                IDCODE_VALUE = 32'h14d57049,
+                IR_LENGTH    = 6)
+               (
+                // JTAG pads
+                tms_pad_i, 
+                tck_pad_i, 
+                trst_pad_i, 
+                tdi_pad_i, 
+                tdo_pad_o, 
+                tdo_padoe_o,
+
+                // TAP states
+                shift_dr_o,
+                pause_dr_o, 
+                update_dr_o,
+                capture_dr_o,
+                
+                // Select signals for boundary scan or mbist
+                extest_select_o, 
+                sample_preload_select_o,
+                mbist_select_o,
+                debug_select_o,
+                
+                // TDO signal that is connected to TDI of sub-modules.
+                tdo_o, 
+                
+                // TDI signals from sub-modules
+                debug_tdi_i,    // from debug module
+                bs_chain_tdi_i, // from Boundary Scan Chain
+                mbist_tdi_i     // from Mbist Chain
+              );
+
+
+// JTAG pins
+input   tms_pad_i;      // JTAG test mode select pad
+input   tck_pad_i;      // JTAG test clock pad
+input   trst_pad_i;     // JTAG test reset pad
+input   tdi_pad_i;      // JTAG test data input pad
+output  tdo_pad_o;      // JTAG test data output pad
+output  tdo_padoe_o;    // Output enable for JTAG test data output pad 
+
+// TAP states
+output  shift_dr_o;
+output  pause_dr_o;
+output  update_dr_o;
+output  capture_dr_o;
+
+// Select signals for boundary scan or mbist
+output  extest_select_o;
+output  sample_preload_select_o;
+output  mbist_select_o;
+output  debug_select_o;
+
+// TDO signal that is connected to TDI of sub-modules.
+output  tdo_o;
+
+// TDI signals from sub-modules
+input   debug_tdi_i;    // from debug module
+input   bs_chain_tdi_i; // from Boundary Scan Chain
+input   mbist_tdi_i;    // from Mbist Chain
+
+//Internal constants
+localparam EXTEST         = 6'b000000;
+localparam SAMPLE_PRELOAD = 6'b000001;
+localparam IDCODE         = 6'b001001;
+localparam DEBUG          = 6'b000011;
+localparam MBIST          = 6'b001010;
+localparam BYPASS         = 6'b111111;
+
+// Registers
+reg     test_logic_reset;
+reg     run_test_idle;
+reg     select_dr_scan;
+reg     capture_dr;
+reg     shift_dr;
+reg     exit1_dr;
+reg     pause_dr;
+reg     exit2_dr;
+reg     update_dr;
+reg     select_ir_scan;
+reg     capture_ir;
+reg     shift_ir, shift_ir_neg;
+reg     exit1_ir;
+reg     pause_ir;
+reg     exit2_ir;
+reg     update_ir;
+reg     extest_select;
+reg     sample_preload_select;
+reg     idcode_select;
+reg     mbist_select;
+reg     debug_select;
+reg     bypass_select;
+reg     tdo_pad_o;
+reg     tdo_padoe_o;
+reg     tms_q1, tms_q2, tms_q3, tms_q4;
+wire    tms_reset;
+
+assign tdo_o = tdi_pad_i;
+assign shift_dr_o = shift_dr;
+assign pause_dr_o = pause_dr;
+assign update_dr_o = update_dr;
+assign capture_dr_o = capture_dr;
+
+assign extest_select_o = extest_select;
+assign sample_preload_select_o = sample_preload_select;
+assign mbist_select_o = mbist_select;
+assign debug_select_o = debug_select;
+
+
+always @ (posedge tck_pad_i)
+begin
+  tms_q1 <= tms_pad_i;
+  tms_q2 <= tms_q1;
+  tms_q3 <= tms_q2;
+  tms_q4 <= tms_q3;
+end
+
+
+assign tms_reset = tms_q1 & tms_q2 & tms_q3 & tms_q4 & tms_pad_i;    // 5 consecutive TMS=1 causes reset
+
+
+/**********************************************************************************
+*                                                                                 *
+*   TAP State Machine: Fully JTAG compliant                                       *
+*                                                                                 *
+**********************************************************************************/
+
+// test_logic_reset state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    test_logic_reset<= 1'b1;
+  else if (tms_reset)
+    test_logic_reset<= 1'b1;
+  else
+    begin
+      if(tms_pad_i & (test_logic_reset | select_ir_scan))
+        test_logic_reset<= 1'b1;
+      else
+        test_logic_reset<= 1'b0;
+    end
+end
+
+// run_test_idle state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    run_test_idle<= 1'b0;
+  else if (tms_reset)
+    run_test_idle<= 1'b0;
+  else
+  if(~tms_pad_i & (test_logic_reset | run_test_idle | update_dr | update_ir))
+    run_test_idle<= 1'b1;
+  else
+    run_test_idle<= 1'b0;
+end
+
+// select_dr_scan state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    select_dr_scan<= 1'b0;
+  else if (tms_reset)
+    select_dr_scan<= 1'b0;
+  else
+  if(tms_pad_i & (run_test_idle | update_dr | update_ir))
+    select_dr_scan<= 1'b1;
+  else
+    select_dr_scan<= 1'b0;
+end
+
+// capture_dr state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    capture_dr<= 1'b0;
+  else if (tms_reset)
+    capture_dr<= 1'b0;
+  else
+  if(~tms_pad_i & select_dr_scan)
+    capture_dr<= 1'b1;
+  else
+    capture_dr<= 1'b0;
+end
+
+// shift_dr state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    shift_dr<= 1'b0;
+  else if (tms_reset)
+    shift_dr<= 1'b0;
+  else
+  if(~tms_pad_i & (capture_dr | shift_dr | exit2_dr))
+    shift_dr<= 1'b1;
+  else
+    shift_dr<= 1'b0;
+end
+
+// exit1_dr state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    exit1_dr<= 1'b0;
+  else if (tms_reset)
+    exit1_dr<= 1'b0;
+  else
+  if(tms_pad_i & (capture_dr | shift_dr))
+    exit1_dr<= 1'b1;
+  else
+    exit1_dr<= 1'b0;
+end
+
+// pause_dr state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    pause_dr<= 1'b0;
+  else if (tms_reset)
+    pause_dr<= 1'b0;
+  else
+  if(~tms_pad_i & (exit1_dr | pause_dr))
+    pause_dr<= 1'b1;
+  else
+    pause_dr<= 1'b0;
+end
+
+// exit2_dr state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    exit2_dr<= 1'b0;
+  else if (tms_reset)
+    exit2_dr<= 1'b0;
+  else
+  if(tms_pad_i & pause_dr)
+    exit2_dr<= 1'b1;
+  else
+    exit2_dr<= 1'b0;
+end
+
+// update_dr state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    update_dr<= 1'b0;
+  else if (tms_reset)
+    update_dr<= 1'b0;
+  else
+  if(tms_pad_i & (exit1_dr | exit2_dr))
+    update_dr<= 1'b1;
+  else
+    update_dr<= 1'b0;
+end
+
+// select_ir_scan state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    select_ir_scan<= 1'b0;
+  else if (tms_reset)
+    select_ir_scan<= 1'b0;
+  else
+  if(tms_pad_i & select_dr_scan)
+    select_ir_scan<= 1'b1;
+  else
+    select_ir_scan<= 1'b0;
+end
+
+// capture_ir state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    capture_ir<= 1'b0;
+  else if (tms_reset)
+    capture_ir<= 1'b0;
+  else
+  if(~tms_pad_i & select_ir_scan)
+    capture_ir<= 1'b1;
+  else
+    capture_ir<= 1'b0;
+end
+
+// shift_ir state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    shift_ir<= 1'b0;
+  else if (tms_reset)
+    shift_ir<= 1'b0;
+  else
+  if(~tms_pad_i & (capture_ir | shift_ir | exit2_ir))
+    shift_ir<= 1'b1;
+  else
+    shift_ir<= 1'b0;
+end
+
+// exit1_ir state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    exit1_ir<= 1'b0;
+  else if (tms_reset)
+    exit1_ir<= 1'b0;
+  else
+  if(tms_pad_i & (capture_ir | shift_ir))
+    exit1_ir<= 1'b1;
+  else
+    exit1_ir<= 1'b0;
+end
+
+// pause_ir state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    pause_ir<= 1'b0;
+  else if (tms_reset)
+    pause_ir<= 1'b0;
+  else
+  if(~tms_pad_i & (exit1_ir | pause_ir))
+    pause_ir<= 1'b1;
+  else
+    pause_ir<= 1'b0;
+end
+
+// exit2_ir state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    exit2_ir<= 1'b0;
+  else if (tms_reset)
+    exit2_ir<= 1'b0;
+  else
+  if(tms_pad_i & pause_ir)
+    exit2_ir<= 1'b1;
+  else
+    exit2_ir<= 1'b0;
+end
+
+// update_ir state
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    update_ir<= 1'b0;
+  else if (tms_reset)
+    update_ir<= 1'b0;
+  else
+  if(tms_pad_i & (exit1_ir | exit2_ir))
+    update_ir<= 1'b1;
+  else
+    update_ir<= 1'b0;
+end
+
+/**********************************************************************************
+*                                                                                 *
+*   End: TAP State Machine                                                        *
+*                                                                                 *
+**********************************************************************************/
+
+
+
+/**********************************************************************************
+*                                                                                 *
+*   jtag_ir:  JTAG Instruction Register                                           *
+*                                                                                 *
+**********************************************************************************/
+reg [IR_LENGTH-1:0]  jtag_ir;          // Instruction register
+reg [IR_LENGTH-1:0]  latched_jtag_ir, latched_jtag_ir_neg;
+reg                   instruction_tdo;
+
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    jtag_ir[IR_LENGTH-1:0] <= {IR_LENGTH{1'b0}};
+  else if(capture_ir)
+    jtag_ir <= 6'b000101;          // This value is fixed for easier fault detection
+  else if(shift_ir)
+    jtag_ir[IR_LENGTH-1:0] <= {tdi_pad_i, jtag_ir[IR_LENGTH-1:1]};
+end
+
+always @ (negedge tck_pad_i)
+begin
+  instruction_tdo <= jtag_ir[0];
+end
+/**********************************************************************************
+*                                                                                 *
+*   End: jtag_ir                                                                  *
+*                                                                                 *
+**********************************************************************************/
+
+
+
+/**********************************************************************************
+*                                                                                 *
+*   idcode logic                                                                  *
+*                                                                                 *
+**********************************************************************************/
+reg [31:0] idcode_reg;
+reg        idcode_tdo;
+
+always @ (posedge tck_pad_i)
+begin
+  if(idcode_select & shift_dr)
+    idcode_reg <= {tdi_pad_i, idcode_reg[31:1]};
+  else
+    idcode_reg <= IDCODE_VALUE;
+end
+
+always @ (negedge tck_pad_i)
+begin
+    idcode_tdo <= idcode_reg[0];
+end
+/**********************************************************************************
+*                                                                                 *
+*   End: idcode logic                                                             *
+*                                                                                 *
+**********************************************************************************/
+
+
+/**********************************************************************************
+*                                                                                 *
+*   Bypass logic                                                                  *
+*                                                                                 *
+**********************************************************************************/
+reg  bypassed_tdo;
+reg  bypass_reg;
+
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if (trst_pad_i)
+    bypass_reg<= 1'b0;
+  else if(shift_dr)
+    bypass_reg<= tdi_pad_i;
+end
+
+always @ (negedge tck_pad_i)
+begin
+  bypassed_tdo <= bypass_reg;
+end
+/**********************************************************************************
+*                                                                                 *
+*   End: Bypass logic                                                             *
+*                                                                                 *
+**********************************************************************************/
+
+
+/**********************************************************************************
+*                                                                                 *
+*   Activating Instructions                                                       *
+*                                                                                 *
+**********************************************************************************/
+// Updating jtag_ir (Instruction Register)
+always @ (posedge tck_pad_i or posedge trst_pad_i)
+begin
+  if(trst_pad_i)
+    latched_jtag_ir <= IDCODE;   // IDCODE selected after reset
+  else if (tms_reset)
+    latched_jtag_ir <= IDCODE;   // IDCODE selected after reset
+  else if(update_ir)
+    latched_jtag_ir <= jtag_ir;
+end
+
+/**********************************************************************************
+*                                                                                 *
+*   End: Activating Instructions                                                  *
+*                                                                                 *
+**********************************************************************************/
+
+
+// Updating jtag_ir (Instruction Register)
+always @ (latched_jtag_ir)
+begin
+  extest_select           = 1'b0;
+  sample_preload_select   = 1'b0;
+  idcode_select           = 1'b0;
+  mbist_select            = 1'b0;
+  debug_select            = 1'b0;
+  bypass_select           = 1'b0;
+
+  case(latched_jtag_ir)    /* synthesis parallel_case */ 
+    EXTEST:            extest_select           = 1'b1;    // External test
+    SAMPLE_PRELOAD:    sample_preload_select   = 1'b1;    // Sample preload
+    IDCODE:            idcode_select           = 1'b1;    // ID Code
+    MBIST:             mbist_select            = 1'b1;    // Mbist test
+    DEBUG:             debug_select            = 1'b1;    // Debug
+    BYPASS:            bypass_select           = 1'b1;    // BYPASS
+    default:            bypass_select           = 1'b1;    // BYPASS
+  endcase
+end
+
+
+
+/**********************************************************************************
+*                                                                                 *
+*   Multiplexing TDO data                                                         *
+*                                                                                 *
+**********************************************************************************/
+always @ (shift_ir_neg or exit1_ir or instruction_tdo or latched_jtag_ir_neg or idcode_tdo or
+          debug_tdi_i or bs_chain_tdi_i or mbist_tdi_i or 
+          bypassed_tdo)
+begin
+  if(shift_ir_neg)
+    tdo_pad_o = instruction_tdo;
+  else
+    begin
+      case(latched_jtag_ir_neg)    // synthesis parallel_case
+        IDCODE:            tdo_pad_o = idcode_tdo;       // Reading ID code
+        DEBUG:             tdo_pad_o = debug_tdi_i;      // Debug
+        SAMPLE_PRELOAD:    tdo_pad_o = bs_chain_tdi_i;   // Sampling/Preloading
+        EXTEST:            tdo_pad_o = bs_chain_tdi_i;   // External test
+        MBIST:             tdo_pad_o = mbist_tdi_i;      // Mbist test
+        default:            tdo_pad_o = bypassed_tdo;     // BYPASS instruction
+      endcase
+    end
+end
+
+
+// Tristate control for tdo_pad_o pin
+always @ (negedge tck_pad_i)
+begin
+  tdo_padoe_o <= shift_ir | shift_dr | (pause_dr & debug_select);
+end
+/**********************************************************************************
+*                                                                                 *
+*   End: Multiplexing TDO data                                                    *
+*                                                                                 *
+**********************************************************************************/
+
+
+always @ (negedge tck_pad_i)
+begin
+  shift_ir_neg <= shift_ir;
+  latched_jtag_ir_neg <= latched_jtag_ir;
+end
+
+
+endmodule
diff --git a/verilog/rtl/uart_defines.v b/verilog/rtl/uart_defines.v
new file mode 100644
index 0000000..fca7b6a
--- /dev/null
+++ b/verilog/rtl/uart_defines.v
@@ -0,0 +1,233 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  uart_defines.v                                              ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  Defines of the Core                                         ////
+////                                                              ////
+////  Known problems (limits):                                    ////
+////  None                                                        ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Nothing.                                                    ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - gorban@opencores.org                                  ////
+////      - Jacob Gorban                                          ////
+////      - Igor Mohor (igorm@opencores.org)                      ////
+////                                                              ////
+////  Created:        2001/05/12                                  ////
+////  Last Updated:   2001/05/17                                  ////
+////                  (See log for the revision history)          ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.13  2003/06/11 16:37:47  gorban
+// This fixes errors in some cases when data is being read and put to the FIFO at the same time. Patch is submitted by Scott Furman. Update is very recommended.
+//
+// Revision 1.12  2002/07/22 23:02:23  gorban
+// Bug Fixes:
+//  * Possible loss of sync and bad reception of stop bit on slow baud rates fixed.
+//   Problem reported by Kenny.Tung.
+//  * Bad (or lack of ) loopback handling fixed. Reported by Cherry Withers.
+//
+// Improvements:
+//  * Made FIFO's as general inferrable memory where possible.
+//  So on FPGA they should be inferred as RAM (Distributed RAM on Xilinx).
+//  This saves about 1/3 of the Slice count and reduces P&R and synthesis times.
+//
+//  * Added optional baudrate output (baud_o).
+//  This is identical to BAUDOUT* signal on 16550 chip.
+//  It outputs 16xbit_clock_rate - the divided clock.
+//  It's disabled by default. Define UART_HAS_BAUDRATE_OUTPUT to use.
+//
+// Revision 1.10  2001/12/11 08:55:40  mohor
+// Scratch register define added.
+//
+// Revision 1.9  2001/12/03 21:44:29  gorban
+// Updated specification documentation.
+// Added full 32-bit data bus interface, now as default.
+// Address is 5-bit wide in 32-bit data bus mode.
+// Added wb_sel_i input to the core. It's used in the 32-bit mode.
+// Added debug interface with two 32-bit read-only registers in 32-bit mode.
+// Bits 5 and 6 of LSR are now only cleared on TX FIFO write.
+// My small test bench is modified to work with 32-bit mode.
+//
+// Revision 1.8  2001/11/26 21:38:54  gorban
+// Lots of fixes:
+// Break condition wasn't handled correctly at all.
+// LSR bits could lose their values.
+// LSR value after reset was wrong.
+// Timing of THRE interrupt signal corrected.
+// LSR bit 0 timing corrected.
+//
+// Revision 1.7  2001/08/24 21:01:12  mohor
+// Things connected to parity changed.
+// Clock devider changed.
+//
+// Revision 1.6  2001/08/23 16:05:05  mohor
+// Stop bit bug fixed.
+// Parity bug fixed.
+// WISHBONE read cycle bug fixed,
+// OE indicator (Overrun Error) bug fixed.
+// PE indicator (Parity Error) bug fixed.
+// Register read bug fixed.
+//
+// Revision 1.5  2001/05/31 20:08:01  gorban
+// FIFO changes and other corrections.
+//
+// Revision 1.4  2001/05/21 19:12:02  gorban
+// Corrected some Linter messages.
+//
+// Revision 1.3  2001/05/17 18:34:18  gorban
+// First 'stable' release. Should be sythesizable now. Also added new header.
+//
+// Revision 1.0  2001-05-17 21:27:11+02  jacob
+// Initial revision
+//
+//
+
+// Uncomment this if you want your UART to have
+// 16xBaudrate output port.
+// If defined, the enable signal will be used to drive baudrate_o signal
+// It's frequency is 16xbaudrate
+
+// `define UART_HAS_BAUDRATE_OUTPUT
+
+// Register addresses
+`define UART_REG_RB	3'd0	// receiver buffer
+`define UART_REG_TR  3'd0	// transmitter
+`define UART_REG_IE	3'd1	// Interrupt enable
+`define UART_REG_II  3'd2	// Interrupt identification
+`define UART_REG_FC  3'd2	// FIFO control
+`define UART_REG_LC	3'd3	// Line Control
+`define UART_REG_MC	3'd4	// Modem control
+`define UART_REG_LS  3'd5	// Line status
+`define UART_REG_MS  3'd6	// Modem status
+`define UART_REG_SR  3'd7	// Scratch register
+`define UART_REG_DL1	3'd0	// Divisor latch bytes (1-2)
+`define UART_REG_DL2	3'd1
+
+// Interrupt Enable register bits
+`define UART_IE_RDA	0	// Received Data available interrupt
+`define UART_IE_THRE	1	// Transmitter Holding Register empty interrupt
+`define UART_IE_RLS	2	// Receiver Line Status Interrupt
+`define UART_IE_MS	3	// Modem Status Interrupt
+
+// Interrupt Identification register bits
+`define UART_II_IP	0	// Interrupt pending when 0
+`define UART_II_II	3:1	// Interrupt identification
+
+// Interrupt identification values for bits 3:1
+`define UART_II_RLS	3'b011	// Receiver Line Status
+`define UART_II_RDA	3'b010	// Receiver Data available
+`define UART_II_TI	3'b110	// Timeout Indication
+`define UART_II_THRE	3'b001	// Transmitter Holding Register empty
+`define UART_II_MS	3'b000	// Modem Status
+
+// FIFO Control Register bits
+`define UART_FC_TL	1:0	// Trigger level
+
+// FIFO trigger level values
+`define UART_FC_1		2'b00
+`define UART_FC_4		2'b01
+`define UART_FC_8		2'b10
+`define UART_FC_14	2'b11
+
+// Line Control register bits
+`define UART_LC_BITS	1:0	// bits in character
+`define UART_LC_SB	2	// stop bits
+`define UART_LC_PE	3	// parity enable
+`define UART_LC_EP	4	// even parity
+`define UART_LC_SP	5	// stick parity
+`define UART_LC_BC	6	// Break control
+`define UART_LC_DL	7	// Divisor Latch access bit
+
+// Modem Control register bits
+`define UART_MC_DTR	0
+`define UART_MC_RTS	1
+`define UART_MC_OUT1	2
+`define UART_MC_OUT2	3
+`define UART_MC_LB	4	// Loopback mode
+
+// Line Status Register bits
+`define UART_LS_DR	0	// Data ready
+`define UART_LS_OE	1	// Overrun Error
+`define UART_LS_PE	2	// Parity Error
+`define UART_LS_FE	3	// Framing Error
+`define UART_LS_BI	4	// Break interrupt
+`define UART_LS_TFE	5	// Transmit FIFO is empty
+`define UART_LS_TE	6	// Transmitter Empty indicator
+`define UART_LS_EI	7	// Error indicator
+
+// Modem Status Register bits
+`define UART_MS_DCTS	0	// Delta signals
+`define UART_MS_DDSR	1
+`define UART_MS_TERI	2
+`define UART_MS_DDCD	3
+`define UART_MS_CCTS	4	// Complement signals
+`define UART_MS_CDSR	5
+`define UART_MS_CRI	6
+`define UART_MS_CDCD	7
+
+// FIFO parameter defines
+
+`define UART_FIFO_WIDTH	8
+`define UART_FIFO_DEPTH	16
+`define UART_FIFO_POINTER_W	4
+`define UART_FIFO_COUNTER_W	5
+// receiver fifo has width 11 because it has break, parity and framing error bits
+`define UART_FIFO_REC_WIDTH  11
+
+
+`define VERBOSE_WB  0           // All activity on the WISHBONE is recorded
+`define VERBOSE_LINE_STATUS 0   // Details about the lsr (line status register)
+`define FAST_TEST   1           // 64/1024 packets are sent
+
+
+
+
+
+
+
diff --git a/verilog/rtl/uart_receiver.v b/verilog/rtl/uart_receiver.v
new file mode 100644
index 0000000..44c2936
--- /dev/null
+++ b/verilog/rtl/uart_receiver.v
@@ -0,0 +1,475 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  uart_receiver.v                                             ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  UART core receiver logic                                    ////
+////                                                              ////
+////  Known problems (limits):                                    ////
+////  None known                                                  ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Thourough testing.                                          ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - gorban@opencores.org                                  ////
+////      - Jacob Gorban                                          ////
+////      - Igor Mohor (igorm@opencores.org)                      ////
+////                                                              ////
+////  Created:        2001/05/12                                  ////
+////  Last Updated:   2001/05/17                                  ////
+////                  (See log for the revision history)          ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.29  2002/07/29 21:16:18  gorban
+// The uart_defines.v file is included again in sources.
+//
+// Revision 1.28  2002/07/22 23:02:23  gorban
+// Bug Fixes:
+//  * Possible loss of sync and bad reception of stop bit on slow baud rates fixed.
+//   Problem reported by Kenny.Tung.
+//  * Bad (or lack of ) loopback handling fixed. Reported by Cherry Withers.
+//
+// Improvements:
+//  * Made FIFO's as general inferrable memory where possible.
+//  So on FPGA they should be inferred as RAM (Distributed RAM on Xilinx).
+//  This saves about 1/3 of the Slice count and reduces P&R and synthesis times.
+//
+//  * Added optional baudrate output (baud_o).
+//  This is identical to BAUDOUT* signal on 16550 chip.
+//  It outputs 16xbit_clock_rate - the divided clock.
+//  It's disabled by default. Define UART_HAS_BAUDRATE_OUTPUT to use.
+//
+// Revision 1.27  2001/12/30 20:39:13  mohor
+// More than one character was stored in case of break. End of the break
+// was not detected correctly.
+//
+// Revision 1.26  2001/12/20 13:28:27  mohor
+// Missing declaration of rf_push_q fixed.
+//
+// Revision 1.25  2001/12/20 13:25:46  mohor
+// rx push changed to be only one cycle wide.
+//
+// Revision 1.24  2001/12/19 08:03:34  mohor
+// Warnings cleared.
+//
+// Revision 1.23  2001/12/19 07:33:54  mohor
+// Synplicity was having troubles with the comment.
+//
+// Revision 1.22  2001/12/17 14:46:48  mohor
+// overrun signal was moved to separate block because many sequential lsr
+// reads were preventing data from being written to rx fifo.
+// underrun signal was not used and was removed from the project.
+//
+// Revision 1.21  2001/12/13 10:31:16  mohor
+// timeout irq must be set regardless of the rda irq (rda irq does not reset the
+// timeout counter).
+//
+// Revision 1.20  2001/12/10 19:52:05  gorban
+// Igor fixed break condition bugs
+//
+// Revision 1.19  2001/12/06 14:51:04  gorban
+// Bug in LSR[0] is fixed.
+// All WISHBONE signals are now sampled, so another wait-state is introduced on all transfers.
+//
+// Revision 1.18  2001/12/03 21:44:29  gorban
+// Updated specification documentation.
+// Added full 32-bit data bus interface, now as default.
+// Address is 5-bit wide in 32-bit data bus mode.
+// Added wb_sel_i input to the core. It's used in the 32-bit mode.
+// Added debug interface with two 32-bit read-only registers in 32-bit mode.
+// Bits 5 and 6 of LSR are now only cleared on TX FIFO write.
+// My small test bench is modified to work with 32-bit mode.
+//
+// Revision 1.17  2001/11/28 19:36:39  gorban
+// Fixed: timeout and break didn't pay attention to current data format when counting time
+//
+// Revision 1.16  2001/11/27 22:17:09  gorban
+// Fixed bug that prevented synthesis in uart_receiver.v
+//
+// Revision 1.15  2001/11/26 21:38:54  gorban
+// Lots of fixes:
+// Break condition wasn't handled correctly at all.
+// LSR bits could lose their values.
+// LSR value after reset was wrong.
+// Timing of THRE interrupt signal corrected.
+// LSR bit 0 timing corrected.
+//
+// Revision 1.14  2001/11/10 12:43:21  gorban
+// Logic Synthesis bugs fixed. Some other minor changes
+//
+// Revision 1.13  2001/11/08 14:54:23  mohor
+// Comments in Slovene language deleted, few small fixes for better work of
+// old tools. IRQs need to be fix.
+//
+// Revision 1.12  2001/11/07 17:51:52  gorban
+// Heavily rewritten interrupt and LSR subsystems.
+// Many bugs hopefully squashed.
+//
+// Revision 1.11  2001/10/31 15:19:22  gorban
+// Fixes to break and timeout conditions
+//
+// Revision 1.10  2001/10/20 09:58:40  gorban
+// Small synopsis fixes
+//
+// Revision 1.9  2001/08/24 21:01:12  mohor
+// Things connected to parity changed.
+// Clock devider changed.
+//
+// Revision 1.8  2001/08/23 16:05:05  mohor
+// Stop bit bug fixed.
+// Parity bug fixed.
+// WISHBONE read cycle bug fixed,
+// OE indicator (Overrun Error) bug fixed.
+// PE indicator (Parity Error) bug fixed.
+// Register read bug fixed.
+//
+// Revision 1.6  2001/06/23 11:21:48  gorban
+// DL made 16-bit long. Fixed transmission/reception bugs.
+//
+// Revision 1.5  2001/06/02 14:28:14  gorban
+// Fixed receiver and transmitter. Major bug fixed.
+//
+// Revision 1.4  2001/05/31 20:08:01  gorban
+// FIFO changes and other corrections.
+//
+// Revision 1.3  2001/05/27 17:37:49  gorban
+// Fixed many bugs. Updated spec. Changed FIFO files structure. See CHANGES.txt file.
+//
+// Revision 1.2  2001/05/21 19:12:02  gorban
+// Corrected some Linter messages.
+//
+// Revision 1.1  2001/05/17 18:34:18  gorban
+// First 'stable' release. Should be sythesizable now. Also added new header.
+//
+// Revision 1.0  2001-05-17 21:27:11+02  jacob
+// Initial revision
+//
+//
+
+`include "uart_defines.v"
+
+module uart_receiver (clk, wb_rst_i, lcr, rf_pop, srx_pad_i, enable, 
+	counter_t, rf_count, rf_data_out, rf_error_bit, rf_overrun, rx_reset, lsr_mask, rstate, rf_push_pulse);
+
+input				clk;
+input				wb_rst_i;
+input	[7:0]	lcr;
+input				rf_pop;
+input				srx_pad_i;
+input				enable;
+input				rx_reset;
+input       lsr_mask;
+
+output	[9:0]			counter_t;
+output	[`UART_FIFO_COUNTER_W-1:0]	rf_count;
+output	[`UART_FIFO_REC_WIDTH-1:0]	rf_data_out;
+output				rf_overrun;
+output				rf_error_bit;
+output [3:0] 		rstate;
+output 				rf_push_pulse;
+
+reg	[3:0]	rstate;
+reg	[3:0]	rcounter16;
+reg	[2:0]	rbit_counter;
+reg	[7:0]	rshift;			// receiver shift register
+reg		rparity;		// received parity
+reg		rparity_error;
+reg		rframing_error;		// framing error flag
+reg		rparity_xor;
+reg	[7:0]	counter_b;	// counts the 0 (low) signals
+reg   rf_push_q;
+
+// RX FIFO signals
+reg	[`UART_FIFO_REC_WIDTH-1:0]	rf_data_in;
+wire	[`UART_FIFO_REC_WIDTH-1:0]	rf_data_out;
+wire      rf_push_pulse;
+reg				rf_push;
+wire				rf_pop;
+wire				rf_overrun;
+wire	[`UART_FIFO_COUNTER_W-1:0]	rf_count;
+wire				rf_error_bit; // an error (parity or framing) is inside the fifo
+wire 				break_error = (counter_b == 0);
+
+// RX FIFO instance
+uart_rfifo #(`UART_FIFO_REC_WIDTH) fifo_rx(
+	.clk(		clk		), 
+	.wb_rst_i(	wb_rst_i	),
+	.data_in(	rf_data_in	),
+	.data_out(	rf_data_out	),
+	.push(		rf_push_pulse		),
+	.pop(		rf_pop		),
+	.overrun(	rf_overrun	),
+	.count(		rf_count	),
+	.error_bit(	rf_error_bit	),
+	.fifo_reset(	rx_reset	),
+	.reset_status(lsr_mask)
+);
+
+wire 		rcounter16_eq_7 = (rcounter16 == 4'd7);
+wire		rcounter16_eq_0 = (rcounter16 == 4'd0);
+
+wire [3:0] rcounter16_minus_1 = rcounter16 - 3'd1;
+
+parameter  sr_idle 					= 4'd0;
+parameter  sr_rec_start 			= 4'd1;
+parameter  sr_rec_bit 				= 4'd2;
+parameter  sr_rec_parity			= 4'd3;
+parameter  sr_rec_stop 				= 4'd4;
+parameter  sr_check_parity 		= 4'd5;
+parameter  sr_rec_prepare 			= 4'd6;
+parameter  sr_end_bit				= 4'd7;
+parameter  sr_ca_lc_parity	      = 4'd8;
+parameter  sr_wait1 					= 4'd9;
+parameter  sr_push 					= 4'd10;
+
+
+always @(posedge clk or posedge wb_rst_i)
+begin
+  if (wb_rst_i)
+  begin
+     rstate 			<= sr_idle;
+	  rcounter16 			<= 0;
+	  rbit_counter 		<= 0;
+	  rparity_xor 		<= 1'b0;
+	  rframing_error 	<= 1'b0;
+	  rparity_error 		<= 1'b0;
+	  rparity 				<= 1'b0;
+	  rshift 				<= 0;
+	  rf_push 				<= 1'b0;
+	  rf_data_in 			<= 0;
+  end
+  else
+  if (enable)
+  begin
+	case (rstate)
+	sr_idle : begin
+			rf_push 			  <= 1'b0;
+			rf_data_in 	  <= 0;
+			rcounter16 	  <= 4'b1110;
+			if (srx_pad_i==1'b0 & ~break_error)   // detected a pulse (start bit?)
+			begin
+				rstate 		  <= sr_rec_start;
+			end
+		end
+	sr_rec_start :	begin
+  			rf_push 			  <= 1'b0;
+				if (rcounter16_eq_7)    // check the pulse
+					if (srx_pad_i==1'b1)   // no start bit
+						rstate <= sr_idle;
+					else            // start bit detected
+						rstate <= sr_rec_prepare;
+				rcounter16 <= rcounter16_minus_1;
+			end
+	sr_rec_prepare:begin
+				case (lcr[/*`UART_LC_BITS*/1:0])  // number of bits in a word
+				2'b00 : rbit_counter <= 3'b100;
+				2'b01 : rbit_counter <= 3'b101;
+				2'b10 : rbit_counter <= 3'b110;
+				2'b11 : rbit_counter <= 3'b111;
+				endcase
+				if (rcounter16_eq_0)
+				begin
+					rstate		<= sr_rec_bit;
+					rcounter16	<= 4'b1110;
+					rshift		<= 0;
+				end
+				else
+					rstate <= sr_rec_prepare;
+				rcounter16 <= rcounter16_minus_1;
+			end
+	sr_rec_bit :	begin
+				if (rcounter16_eq_0)
+					rstate <= sr_end_bit;
+				if (rcounter16_eq_7) // read the bit
+					case (lcr[/*`UART_LC_BITS*/1:0])  // number of bits in a word
+					2'b00 : rshift[4:0]  <= {srx_pad_i, rshift[4:1]};
+					2'b01 : rshift[5:0]  <= {srx_pad_i, rshift[5:1]};
+					2'b10 : rshift[6:0]  <= {srx_pad_i, rshift[6:1]};
+					2'b11 : rshift[7:0]  <= {srx_pad_i, rshift[7:1]};
+					endcase
+				rcounter16 <= rcounter16_minus_1;
+			end
+	sr_end_bit :   begin
+				if (rbit_counter==3'b0) // no more bits in word
+					if (lcr[`UART_LC_PE]) // choose state based on parity
+						rstate <= sr_rec_parity;
+					else
+					begin
+						rstate <= sr_rec_stop;
+						rparity_error <= 1'b0;  // no parity - no error :)
+					end
+				else		// else we have more bits to read
+				begin
+					rstate <= sr_rec_bit;
+					rbit_counter <= rbit_counter - 3'd1;
+				end
+				rcounter16 <= 4'b1110;
+			end
+	sr_rec_parity: begin
+				if (rcounter16_eq_7)	// read the parity
+				begin
+					rparity <= srx_pad_i;
+					rstate <= sr_ca_lc_parity;
+				end
+				rcounter16 <= rcounter16_minus_1;
+			end
+	sr_ca_lc_parity : begin    // rcounter equals 6
+				rcounter16  <= rcounter16_minus_1;
+				rparity_xor <= ^{rshift,rparity}; // calculate parity on all incoming data
+				rstate      <= sr_check_parity;
+			  end
+	sr_check_parity: begin	  // rcounter equals 5
+				case ({lcr[`UART_LC_EP],lcr[`UART_LC_SP]})
+					2'b00: rparity_error <=  rparity_xor == 0;  // no error if parity 1
+					2'b01: rparity_error <= ~rparity;      // parity should sticked to 1
+					2'b10: rparity_error <=  rparity_xor == 1;   // error if parity is odd
+					2'b11: rparity_error <=  rparity;	  // parity should be sticked to 0
+				endcase
+				rcounter16 <= rcounter16_minus_1;
+				rstate <= sr_wait1;
+			  end
+	sr_wait1 :	if (rcounter16_eq_0)
+			begin
+				rstate <= sr_rec_stop;
+				rcounter16 <= 4'b1110;
+			end
+			else
+				rcounter16 <= rcounter16_minus_1;
+	sr_rec_stop :	begin
+				if (rcounter16_eq_7)	// read the parity
+				begin
+					rframing_error <= !srx_pad_i; // no framing error if input is 1 (stop bit)
+					rstate <= sr_push;
+				end
+				rcounter16 <= rcounter16_minus_1;
+			end
+	sr_push :	begin
+///////////////////////////////////////
+//				$display($time, ": received: %b", rf_data_in);
+        if(srx_pad_i | break_error)
+          begin
+            if(break_error)
+        		  rf_data_in 	<= {8'b0, 3'b100}; // break input (empty character) to receiver FIFO
+            else
+        			rf_data_in  <= {rshift, 1'b0, rparity_error, rframing_error};
+      		  rf_push 		  <= 1'b1;
+    				rstate        <= sr_idle;
+          end
+        else if(~rframing_error)  // There's always a framing before break_error -> wait for break or srx_pad_i
+          begin
+       			rf_data_in  <= {rshift, 1'b0, rparity_error, rframing_error};
+      		  rf_push 		  <= 1'b1;
+      			rcounter16 	  <= 4'b1110;
+    				rstate 		  <= sr_rec_start;
+          end
+                      
+			end
+	default : rstate <= sr_idle;
+	endcase
+  end  // if (enable)
+end // always of receiver
+
+always @ (posedge clk or posedge wb_rst_i)
+begin
+  if(wb_rst_i)
+    rf_push_q <= 0;
+  else
+    rf_push_q <= rf_push;
+end
+
+assign rf_push_pulse = rf_push & ~rf_push_q;
+
+  
+//
+// Break condition detection.
+// Works in conjuction with the receiver state machine
+
+reg 	[9:0]	toc_value; // value to be set to timeout counter
+
+always @(lcr)
+	case (lcr[3:0])
+		4'b0000										: toc_value = 447; // 7 bits
+		4'b0100										: toc_value = 479; // 7.5 bits
+		4'b0001,	4'b1000							: toc_value = 511; // 8 bits
+		4'b1100										: toc_value = 543; // 8.5 bits
+		4'b0010, 4'b0101, 4'b1001				: toc_value = 575; // 9 bits
+		4'b0011, 4'b0110, 4'b1010, 4'b1101	: toc_value = 639; // 10 bits
+		4'b0111, 4'b1011, 4'b1110				: toc_value = 703; // 11 bits
+		4'b1111										: toc_value = 767; // 12 bits
+	endcase // case(lcr[3:0])
+
+wire [7:0] 	brc_value; // value to be set to break counter
+assign 		brc_value = toc_value[9:2]; // the same as timeout but 1 insead of 4 character times
+
+always @(posedge clk or posedge wb_rst_i)
+begin
+	if (wb_rst_i)
+		counter_b <= 8'd159;
+	else
+	if (srx_pad_i)
+		counter_b <= brc_value; // character time length - 1
+	else
+	if(enable & counter_b != 8'b0)            // only work on enable times  break not reached.
+		counter_b <= counter_b - 8'd1;  // decrement break counter
+end // always of break condition detection
+
+///
+/// Timeout condition detection
+reg	[9:0]	counter_t;	// counts the timeout condition clocks
+
+always @(posedge clk or posedge wb_rst_i)
+begin
+	if (wb_rst_i)
+		counter_t <= 10'd639; // 10 bits for the default 8N1
+	else
+		if(rf_push_pulse || rf_pop || rf_count == 0) // counter is reset when RX FIFO is empty, accessed or above trigger level
+			counter_t <= toc_value;
+		else
+		if (enable && counter_t != 10'b0)  // we don't want to underflow
+			counter_t <= counter_t - 10'd1;
+end
+	
+endmodule
diff --git a/verilog/rtl/uart_regs.v b/verilog/rtl/uart_regs.v
new file mode 100644
index 0000000..931632c
--- /dev/null
+++ b/verilog/rtl/uart_regs.v
@@ -0,0 +1,888 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  uart_regs.v                                                 ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  Registers of the uart 16550 core                            ////
+////                                                              ////
+////  Known problems (limits):                                    ////
+////  Inserts 1 wait state in all WISHBONE transfers              ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Nothing or verification.                                    ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - gorban@opencores.org                                  ////
+////      - Jacob Gorban                                          ////
+////      - Igor Mohor (igorm@opencores.org)                      ////
+////                                                              ////
+////  Created:        2001/05/12                                  ////
+////  Last Updated:   (See log for the revision history           ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.41  2004/05/21 11:44:41  tadejm
+// Added synchronizer flops for RX input.
+//
+// Revision 1.40  2003/06/11 16:37:47  gorban
+// This fixes errors in some cases when data is being read and put to the FIFO at the same time. Patch is submitted by Scott Furman. Update is very recommended.
+//
+// Revision 1.39  2002/07/29 21:16:18  gorban
+// The uart_defines.v file is included again in sources.
+//
+// Revision 1.38  2002/07/22 23:02:23  gorban
+// Bug Fixes:
+//  * Possible loss of sync and bad reception of stop bit on slow baud rates fixed.
+//   Problem reported by Kenny.Tung.
+//  * Bad (or lack of ) loopback handling fixed. Reported by Cherry Withers.
+//
+// Improvements:
+//  * Made FIFO's as general inferrable memory where possible.
+//  So on FPGA they should be inferred as RAM (Distributed RAM on Xilinx).
+//  This saves about 1/3 of the Slice count and reduces P&R and synthesis times.
+//
+//  * Added optional baudrate output (baud_o).
+//  This is identical to BAUDOUT* signal on 16550 chip.
+//  It outputs 16xbit_clock_rate - the divided clock.
+//  It's disabled by default. Define UART_HAS_BAUDRATE_OUTPUT to use.
+//
+// Revision 1.37  2001/12/27 13:24:09  mohor
+// lsr[7] was not showing overrun errors.
+//
+// Revision 1.36  2001/12/20 13:25:46  mohor
+// rx push changed to be only one cycle wide.
+//
+// Revision 1.35  2001/12/19 08:03:34  mohor
+// Warnings cleared.
+//
+// Revision 1.34  2001/12/19 07:33:54  mohor
+// Synplicity was having troubles with the comment.
+//
+// Revision 1.33  2001/12/17 10:14:43  mohor
+// Things related to msr register changed. After THRE IRQ occurs, and one
+// character is written to the transmit fifo, the detection of the THRE bit in the
+// LSR is delayed for one character time.
+//
+// Revision 1.32  2001/12/14 13:19:24  mohor
+// MSR register fixed.
+//
+// Revision 1.31  2001/12/14 10:06:58  mohor
+// After reset modem status register MSR should be reset.
+//
+// Revision 1.30  2001/12/13 10:09:13  mohor
+// thre irq should be cleared only when being source of interrupt.
+//
+// Revision 1.29  2001/12/12 09:05:46  mohor
+// LSR status bit 0 was not cleared correctly in case of reseting the FCR (rx fifo).
+//
+// Revision 1.28  2001/12/10 19:52:41  gorban
+// Scratch register added
+//
+// Revision 1.27  2001/12/06 14:51:04  gorban
+// Bug in LSR[0] is fixed.
+// All WISHBONE signals are now sampled, so another wait-state is introduced on all transfers.
+//
+// Revision 1.26  2001/12/03 21:44:29  gorban
+// Updated specification documentation.
+// Added full 32-bit data bus interface, now as default.
+// Address is 5-bit wide in 32-bit data bus mode.
+// Added wb_sel_i input to the core. It's used in the 32-bit mode.
+// Added debug interface with two 32-bit read-only registers in 32-bit mode.
+// Bits 5 and 6 of LSR are now only cleared on TX FIFO write.
+// My small test bench is modified to work with 32-bit mode.
+//
+// Revision 1.25  2001/11/28 19:36:39  gorban
+// Fixed: timeout and break didn't pay attention to current data format when counting time
+//
+// Revision 1.24  2001/11/26 21:38:54  gorban
+// Lots of fixes:
+// Break condition wasn't handled correctly at all.
+// LSR bits could lose their values.
+// LSR value after reset was wrong.
+// Timing of THRE interrupt signal corrected.
+// LSR bit 0 timing corrected.
+//
+// Revision 1.23  2001/11/12 21:57:29  gorban
+// fixed more typo bugs
+//
+// Revision 1.22  2001/11/12 15:02:28  mohor
+// lsr1r error fixed.
+//
+// Revision 1.21  2001/11/12 14:57:27  mohor
+// ti_int_pnd error fixed.
+//
+// Revision 1.20  2001/11/12 14:50:27  mohor
+// ti_int_d error fixed.
+//
+// Revision 1.19  2001/11/10 12:43:21  gorban
+// Logic Synthesis bugs fixed. Some other minor changes
+//
+// Revision 1.18  2001/11/08 14:54:23  mohor
+// Comments in Slovene language deleted, few small fixes for better work of
+// old tools. IRQs need to be fix.
+//
+// Revision 1.17  2001/11/07 17:51:52  gorban
+// Heavily rewritten interrupt and LSR subsystems.
+// Many bugs hopefully squashed.
+//
+// Revision 1.16  2001/11/02 09:55:16  mohor
+// no message
+//
+// Revision 1.15  2001/10/31 15:19:22  gorban
+// Fixes to break and timeout conditions
+//
+// Revision 1.14  2001/10/29 17:00:46  gorban
+// fixed parity sending and tx_fifo resets over- and underrun
+//
+// Revision 1.13  2001/10/20 09:58:40  gorban
+// Small synopsis fixes
+//
+// Revision 1.12  2001/10/19 16:21:40  gorban
+// Changes data_out to be synchronous again as it should have been.
+//
+// Revision 1.11  2001/10/18 20:35:45  gorban
+// small fix
+//
+// Revision 1.10  2001/08/24 21:01:12  mohor
+// Things connected to parity changed.
+// Clock devider changed.
+//
+// Revision 1.9  2001/08/23 16:05:05  mohor
+// Stop bit bug fixed.
+// Parity bug fixed.
+// WISHBONE read cycle bug fixed,
+// OE indicator (Overrun Error) bug fixed.
+// PE indicator (Parity Error) bug fixed.
+// Register read bug fixed.
+//
+// Revision 1.10  2001/06/23 11:21:48  gorban
+// DL made 16-bit long. Fixed transmission/reception bugs.
+//
+// Revision 1.9  2001/05/31 20:08:01  gorban
+// FIFO changes and other corrections.
+//
+// Revision 1.8  2001/05/29 20:05:04  gorban
+// Fixed some bugs and synthesis problems.
+//
+// Revision 1.7  2001/05/27 17:37:49  gorban
+// Fixed many bugs. Updated spec. Changed FIFO files structure. See CHANGES.txt file.
+//
+// Revision 1.6  2001/05/21 19:12:02  gorban
+// Corrected some Linter messages.
+//
+// Revision 1.5  2001/05/17 18:34:18  gorban
+// First 'stable' release. Should be sythesizable now. Also added new header.
+//
+// Revision 1.0  2001-05-17 21:27:11+02  jacob
+// Initial revision
+//
+//
+
+`include "uart_defines.v"
+
+`define UART_DL1 7:0
+`define UART_DL2 15:8
+
+module uart_regs
+#(parameter SIM = 0)
+ (clk,
+	wb_rst_i, wb_addr_i, wb_dat_i, wb_dat_o, wb_we_i, wb_re_i, 
+
+// additional signals
+	modem_inputs,
+	stx_pad_o, srx_pad_i,
+
+	rts_pad_o, dtr_pad_o, int_o
+`ifdef UART_HAS_BAUDRATE_OUTPUT
+	, baud_o
+`endif
+
+	);
+
+input 									clk;
+input 									wb_rst_i;
+input [2:0] 		wb_addr_i;
+input [7:0] 							wb_dat_i;
+output [7:0] 							wb_dat_o;
+input 									wb_we_i;
+input 									wb_re_i;
+
+output 									stx_pad_o;
+input 									srx_pad_i;
+
+input [3:0] 							modem_inputs;
+output 									rts_pad_o;
+output 									dtr_pad_o;
+output 									int_o;
+`ifdef UART_HAS_BAUDRATE_OUTPUT
+output	baud_o;
+`endif
+
+wire [3:0] 								modem_inputs;
+reg 										enable;
+`ifdef UART_HAS_BAUDRATE_OUTPUT
+assign baud_o = enable; // baud_o is actually the enable signal
+`endif
+
+
+wire 										stx_pad_o;		// received from transmitter module
+wire 										srx_pad_i;
+wire 										srx_pad;
+
+reg [7:0] 								wb_dat_o;
+
+wire [2:0] 		wb_addr_i;
+wire [7:0] 								wb_dat_i;
+
+
+reg [3:0] 								ier;
+reg [3:0] 								iir;
+reg [1:0] 								fcr;  /// bits 7 and 6 of fcr. Other bits are ignored
+reg [4:0] 								mcr;
+reg [7:0] 								lcr;
+reg [7:0] 								msr;
+reg [15:0] 								dl;  // 32-bit divisor latch
+reg [7:0] 								scratch; // UART scratch register
+reg 										start_dlc; // activate dlc on writing to UART_DL1
+reg 										lsr_mask_d; // delay for lsr_mask condition
+reg 										msi_reset; // reset MSR 4 lower bits indicator
+//reg 										threi_clear; // THRE interrupt clear flag
+reg [15:0] 								dlc;  // 32-bit divisor latch counter
+reg 										int_o;
+
+reg [3:0] 								trigger_level; // trigger level of the receiver FIFO
+reg 										rx_reset;
+reg 										tx_reset;
+
+wire 										dlab;			   // divisor latch access bit
+wire 										cts_pad_i, dsr_pad_i, ri_pad_i, dcd_pad_i; // modem status bits
+wire 										loopback;		   // loopback bit (MCR bit 4)
+wire 										cts, dsr, ri, dcd;	   // effective signals
+wire                    cts_c, dsr_c, ri_c, dcd_c; // Complement effective signals (considering loopback)
+wire 										rts_pad_o, dtr_pad_o;		   // modem control outputs
+
+// LSR bits wires and regs
+wire [7:0] 								lsr;
+wire 										lsr0, lsr1, lsr2, lsr3, lsr4, lsr5, lsr6, lsr7;
+reg										lsr0r, lsr1r, lsr2r, lsr3r, lsr4r, lsr5r, lsr6r, lsr7r;
+wire 										lsr_mask; // lsr_mask
+
+//
+// ASSINGS
+//
+
+assign 									lsr[7:0] = { lsr7r, lsr6r, lsr5r, lsr4r, lsr3r, lsr2r, lsr1r, lsr0r };
+
+assign 									{cts_pad_i, dsr_pad_i, ri_pad_i, dcd_pad_i} = modem_inputs;
+assign 									{cts, dsr, ri, dcd} = ~{cts_pad_i,dsr_pad_i,ri_pad_i,dcd_pad_i};
+
+assign                  {cts_c, dsr_c, ri_c, dcd_c} = loopback ? {mcr[`UART_MC_RTS],mcr[`UART_MC_DTR],mcr[`UART_MC_OUT1],mcr[`UART_MC_OUT2]}
+                                                               : {cts_pad_i,dsr_pad_i,ri_pad_i,dcd_pad_i};
+
+assign 									dlab = lcr[`UART_LC_DL];
+assign 									loopback = mcr[4];
+
+// assign modem outputs
+assign 									rts_pad_o = mcr[`UART_MC_RTS];
+assign 									dtr_pad_o = mcr[`UART_MC_DTR];
+
+// Interrupt signals
+wire 										rls_int;  // receiver line status interrupt
+wire 										rda_int;  // receiver data available interrupt
+wire 										ti_int;   // timeout indicator interrupt
+wire										thre_int; // transmitter holding register empty interrupt
+wire 										ms_int;   // modem status interrupt
+
+// FIFO signals
+reg 										tf_push;
+reg 										rf_pop;
+wire [`UART_FIFO_REC_WIDTH-1:0] 	rf_data_out;
+wire 										rf_error_bit; // an error (parity or framing) is inside the fifo
+wire 					rf_overrun;
+wire 					rf_push_pulse;
+wire [`UART_FIFO_COUNTER_W-1:0] 	rf_count;
+wire [`UART_FIFO_COUNTER_W-1:0] 	tf_count;
+wire [2:0] 								tstate;
+wire [3:0] 								rstate;
+wire [9:0] 								counter_t;
+
+wire                      thre_set_en; // THRE status is delayed one character time when a character is written to fifo.
+reg  [7:0]                block_cnt;   // While counter counts, THRE status is blocked (delayed one character cycle)
+reg  [7:0]                block_value; // One character length minus stop bit
+
+// Transmitter Instance
+wire serial_out;
+
+uart_transmitter #(.SIM (SIM)) transmitter(clk, wb_rst_i, lcr, tf_push, wb_dat_i, enable, serial_out, tstate, tf_count, tx_reset, lsr_mask);
+
+  // Synchronizing and sampling serial RX input
+  uart_sync_flops    i_uart_sync_flops
+  (
+    .rst_i           (wb_rst_i),
+    .clk_i           (clk),
+    .stage1_rst_i    (1'b0),
+    .stage1_clk_en_i (1'b1),
+    .async_dat_i     (srx_pad_i),
+    .sync_dat_o      (srx_pad)
+  );
+  defparam i_uart_sync_flops.width      = 1;
+  defparam i_uart_sync_flops.init_value = 1'b1;
+
+// handle loopback
+wire serial_in = loopback ? serial_out : srx_pad;
+assign stx_pad_o = loopback ? 1'b1 : serial_out;
+
+// Receiver Instance
+uart_receiver receiver(clk, wb_rst_i, lcr, rf_pop, serial_in, enable, 
+	counter_t, rf_count, rf_data_out, rf_error_bit, rf_overrun, rx_reset, lsr_mask, rstate, rf_push_pulse);
+
+
+// Asynchronous reading here because the outputs are sampled in uart_wb.v file 
+always @(dl or dlab or ier or iir or scratch
+			or lcr or lsr or msr or rf_data_out or wb_addr_i or wb_re_i)   // asynchrounous reading
+begin
+	case (wb_addr_i)
+		`UART_REG_RB   : wb_dat_o = dlab ? dl[`UART_DL1] : rf_data_out[10:3];
+		`UART_REG_IE	: wb_dat_o = dlab ? dl[`UART_DL2] : {4'd0,ier};
+		`UART_REG_II	: wb_dat_o = {4'b1100,iir};
+		`UART_REG_LC	: wb_dat_o = lcr;
+		`UART_REG_LS	: wb_dat_o = lsr;
+		`UART_REG_MS	: wb_dat_o = msr;
+		`UART_REG_SR	: wb_dat_o = scratch;
+		default:  wb_dat_o = 8'b0; // ??
+	endcase // case(wb_addr_i)
+end // always @ (dl or dlab or ier or iir or scratch...
+
+
+// rf_pop signal handling
+always @(posedge clk or posedge wb_rst_i)
+begin
+	if (wb_rst_i)
+		rf_pop <= 0;
+	else
+	if (rf_pop)	// restore the signal to 0 after one clock cycle
+		rf_pop <= 0;
+	else
+	if (wb_re_i && wb_addr_i == `UART_REG_RB && !dlab)
+		rf_pop <= 1; // advance read pointer
+end
+
+wire 	lsr_mask_condition;
+wire 	iir_read;
+wire  msr_read;
+wire	fifo_read;
+wire	fifo_write;
+
+assign lsr_mask_condition = (wb_re_i && wb_addr_i == `UART_REG_LS && !dlab);
+assign iir_read = (wb_re_i && wb_addr_i == `UART_REG_II && !dlab);
+assign msr_read = (wb_re_i && wb_addr_i == `UART_REG_MS && !dlab);
+assign fifo_read = (wb_re_i && wb_addr_i == `UART_REG_RB && !dlab);
+assign fifo_write = (wb_we_i && wb_addr_i == `UART_REG_TR && !dlab);
+
+// lsr_mask_d delayed signal handling
+always @(posedge clk or posedge wb_rst_i)
+begin
+	if (wb_rst_i)
+		lsr_mask_d <= 0;
+	else // reset bits in the Line Status Register
+		lsr_mask_d <= lsr_mask_condition;
+end
+
+// lsr_mask is rise detected
+assign lsr_mask = lsr_mask_condition && ~lsr_mask_d;
+
+// msi_reset signal handling
+always @(posedge clk or posedge wb_rst_i)
+begin
+	if (wb_rst_i)
+		msi_reset <= 1;
+	else
+	if (msi_reset)
+		msi_reset <= 0;
+	else
+	if (msr_read)
+		msi_reset <= 1; // reset bits in Modem Status Register
+end
+
+
+//
+//   WRITES AND RESETS   //
+//
+// Line Control Register
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i)
+		lcr <= 8'b00000011; // 8n1 setting
+	else
+	if (wb_we_i && wb_addr_i==`UART_REG_LC)
+		lcr <= wb_dat_i;
+
+// Interrupt Enable Register or UART_DL2
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i)
+	begin
+		ier <= 4'b0000; // no interrupts after reset
+`ifdef PRESCALER_PRESET_HARD
+		dl[`UART_DL2] <= `PRESCALER_HIGH_PRESET;
+`else
+		dl[`UART_DL2] <= 8'b0;
+`endif
+	end
+	else
+	if (wb_we_i && wb_addr_i==`UART_REG_IE)
+		if (dlab)
+		begin
+			dl[`UART_DL2] <=
+`ifdef PRESCALER_PRESET_HARD
+			dl[`UART_DL2];
+`else
+		   wb_dat_i;
+`endif
+		end
+		else
+			ier <= wb_dat_i[3:0]; // ier uses only 4 lsb
+
+
+// FIFO Control Register and rx_reset, tx_reset signals
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) begin
+		fcr <= 2'b11;
+		rx_reset <= 0;
+		tx_reset <= 0;
+	end else
+	if (wb_we_i && wb_addr_i==`UART_REG_FC) begin
+		fcr <= wb_dat_i[7:6];
+		rx_reset <= wb_dat_i[1];
+		tx_reset <= wb_dat_i[2];
+	end else begin
+		rx_reset <= 0;
+		tx_reset <= 0;
+	end
+
+// Modem Control Register
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i)
+		mcr <= 5'b0;
+	else
+	if (wb_we_i && wb_addr_i==`UART_REG_MC)
+			mcr <= wb_dat_i[4:0];
+
+// Scratch register
+// Line Control Register
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i)
+		scratch <= 0; // 8n1 setting
+	else
+	if (wb_we_i && wb_addr_i==`UART_REG_SR)
+		scratch <= wb_dat_i;
+
+// TX_FIFO or UART_DL1
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i)
+	begin
+`ifdef PRESCALER_PRESET_HARD
+		dl[`UART_DL1]  <= `PRESCALER_LOW_PRESET;
+`else
+		dl[`UART_DL1]  <= 8'b0;
+`endif
+		tf_push   <= 1'b0;
+		start_dlc <= 1'b0;
+	end
+	else
+	if (wb_we_i && wb_addr_i==`UART_REG_TR)
+		if (dlab)
+		begin
+`ifdef PRESCALER_PRESET_HARD
+			dl[`UART_DL1] <= dl[`UART_DL1];
+`else
+			dl[`UART_DL1] <= wb_dat_i;
+`endif
+			start_dlc <= 1'b1; // enable DL counter
+			tf_push <= 1'b0;
+		end
+		else
+		begin
+			tf_push   <= 1'b1;
+			start_dlc <= 1'b0;
+		end // else: !if(dlab)
+	else
+	begin
+		start_dlc <= 1'b0;
+		tf_push   <= 1'b0;
+	end // else: !if(dlab)
+
+// Receiver FIFO trigger level selection logic (asynchronous mux)
+always @(fcr)
+	case (fcr[`UART_FC_TL])
+		2'b00 : trigger_level = 1;
+		2'b01 : trigger_level = 4;
+		2'b10 : trigger_level = 8;
+		2'b11 : trigger_level = 14;
+	endcase // case(fcr[`UART_FC_TL])
+	
+//
+//  STATUS REGISTERS  //
+//
+
+// Modem Status Register
+reg [3:0] delayed_modem_signals;
+always @(posedge clk or posedge wb_rst_i)
+begin
+	if (wb_rst_i)
+	  begin
+  		msr <= 0;
+	  	delayed_modem_signals[3:0] <= 0;
+	  end
+	else begin
+		msr[`UART_MS_DDCD:`UART_MS_DCTS] <= msi_reset ? 4'b0 :
+			msr[`UART_MS_DDCD:`UART_MS_DCTS] | ({dcd, ri, dsr, cts} ^ delayed_modem_signals[3:0]);
+		msr[`UART_MS_CDCD:`UART_MS_CCTS] <= {dcd_c, ri_c, dsr_c, cts_c};
+		delayed_modem_signals[3:0] <= {dcd, ri, dsr, cts};
+	end
+end
+
+
+// Line Status Register
+
+// activation conditions
+assign lsr0 = (rf_count==0 && rf_push_pulse);  // data in receiver fifo available set condition
+assign lsr1 = rf_overrun;     // Receiver overrun error
+assign lsr2 = rf_data_out[1]; // parity error bit
+assign lsr3 = rf_data_out[0]; // framing error bit
+assign lsr4 = rf_data_out[2]; // break error in the character
+assign lsr5 = (tf_count==5'b0 && thre_set_en);  // transmitter fifo is empty
+assign lsr6 = (tf_count==5'b0 && thre_set_en && (tstate == /*`S_IDLE */ 0)); // transmitter empty
+assign lsr7 = rf_error_bit | rf_overrun;
+
+// lsr bit0 (receiver data available)
+reg 	 lsr0_d;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr0_d <= 0;
+	else lsr0_d <= lsr0;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr0r <= 0;
+	else lsr0r <= (rf_count==1 && rf_pop && !rf_push_pulse || rx_reset) ? 1'b0 : // deassert condition
+					  lsr0r || (lsr0 && ~lsr0_d); // set on rise of lsr0 and keep asserted until deasserted 
+
+// lsr bit 1 (receiver overrun)
+reg lsr1_d; // delayed
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr1_d <= 0;
+	else lsr1_d <= lsr1;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr1r <= 0;
+	else	lsr1r <= lsr_mask ? 1'b0 : lsr1r || (lsr1 && ~lsr1_d); // set on rise
+
+// lsr bit 2 (parity error)
+reg lsr2_d; // delayed
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr2_d <= 0;
+	else lsr2_d <= lsr2;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr2r <= 0;
+	else lsr2r <= lsr_mask ? 1'b0 : lsr2r || (lsr2 && ~lsr2_d); // set on rise
+
+// lsr bit 3 (framing error)
+reg lsr3_d; // delayed
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr3_d <= 0;
+	else lsr3_d <= lsr3;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr3r <= 0;
+	else lsr3r <= lsr_mask ? 1'b0 : lsr3r || (lsr3 && ~lsr3_d); // set on rise
+
+// lsr bit 4 (break indicator)
+reg lsr4_d; // delayed
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr4_d <= 0;
+	else lsr4_d <= lsr4;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr4r <= 0;
+	else lsr4r <= lsr_mask ? 1'b0 : lsr4r || (lsr4 && ~lsr4_d);
+
+// lsr bit 5 (transmitter fifo is empty)
+reg lsr5_d;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr5_d <= 1;
+	else lsr5_d <= lsr5;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr5r <= 1;
+	else lsr5r <= (fifo_write) ? 1'b0 :  lsr5r || (lsr5 && ~lsr5_d);
+
+// lsr bit 6 (transmitter empty indicator)
+reg lsr6_d;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr6_d <= 1;
+	else lsr6_d <= lsr6;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr6r <= 1;
+	else lsr6r <= (fifo_write) ? 1'b0 : lsr6r || (lsr6 && ~lsr6_d);
+
+// lsr bit 7 (error in fifo)
+reg lsr7_d;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr7_d <= 0;
+	else lsr7_d <= lsr7;
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) lsr7r <= 0;
+	else lsr7r <= lsr_mask ? 1'b0 : lsr7r || (lsr7 && ~lsr7_d);
+
+// Frequency divider
+always @(posedge clk or posedge wb_rst_i) 
+begin
+	if (wb_rst_i)
+		dlc <= 0;
+	else
+		if (start_dlc | ~ (|dlc))
+  			dlc <= dl - 16'd1;               // preset counter
+		else
+			dlc <= dlc - 16'd1;              // decrement counter
+end
+
+// Enable signal generation logic
+always @(posedge clk or posedge wb_rst_i)
+begin
+	if (wb_rst_i)
+		enable <= 1'b0;
+	else
+		if (|dl & ~(|dlc))     // dl>0 & dlc==0
+			enable <= 1'b1;
+		else
+			enable <= 1'b0;
+end
+
+// Delaying THRE status for one character cycle after a character is written to an empty fifo.
+always @(lcr)
+  case (lcr[3:0])
+    4'b0000                             : block_value =  95; // 6 bits
+    4'b0100                             : block_value = 103; // 6.5 bits
+    4'b0001, 4'b1000                    : block_value = 111; // 7 bits
+    4'b1100                             : block_value = 119; // 7.5 bits
+    4'b0010, 4'b0101, 4'b1001           : block_value = 127; // 8 bits
+    4'b0011, 4'b0110, 4'b1010, 4'b1101  : block_value = 143; // 9 bits
+    4'b0111, 4'b1011, 4'b1110           : block_value = 159; // 10 bits
+    4'b1111                             : block_value = 175; // 11 bits
+  endcase // case(lcr[3:0])
+
+// Counting time of one character minus stop bit
+always @(posedge clk or posedge wb_rst_i)
+begin
+  if (wb_rst_i)
+    block_cnt <= 8'd0;
+  else
+  if(lsr5r & fifo_write)  // THRE bit set & write to fifo occured
+    block_cnt <= SIM ? 8'd1 : block_value;
+  else
+  if (enable & block_cnt != 8'b0)  // only work on enable times
+    block_cnt <= block_cnt - 8'd1;  // decrement break counter
+end // always of break condition detection
+
+// Generating THRE status enable signal
+assign thre_set_en = ~(|block_cnt);
+
+
+//
+//	INTERRUPT LOGIC
+//
+
+assign rls_int  = ier[`UART_IE_RLS] && (lsr[`UART_LS_OE] || lsr[`UART_LS_PE] || lsr[`UART_LS_FE] || lsr[`UART_LS_BI]);
+assign rda_int  = ier[`UART_IE_RDA] && (rf_count >= {1'b0,trigger_level});
+assign thre_int = ier[`UART_IE_THRE] && lsr[`UART_LS_TFE];
+assign ms_int   = ier[`UART_IE_MS] && (| msr[3:0]);
+assign ti_int   = ier[`UART_IE_RDA] && (counter_t == 10'b0) && (|rf_count);
+
+reg 	 rls_int_d;
+reg 	 thre_int_d;
+reg 	 ms_int_d;
+reg 	 ti_int_d;
+reg 	 rda_int_d;
+
+// delay lines
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) rls_int_d <= 0;
+	else rls_int_d <= rls_int;
+
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) rda_int_d <= 0;
+	else rda_int_d <= rda_int;
+
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) thre_int_d <= 0;
+	else thre_int_d <= thre_int;
+
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) ms_int_d <= 0;
+	else ms_int_d <= ms_int;
+
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) ti_int_d <= 0;
+	else ti_int_d <= ti_int;
+
+// rise detection signals
+
+wire 	 rls_int_rise;
+wire 	 thre_int_rise;
+wire 	 ms_int_rise;
+wire 	 ti_int_rise;
+wire 	 rda_int_rise;
+
+assign rda_int_rise    = rda_int & ~rda_int_d;
+assign rls_int_rise 	  = rls_int & ~rls_int_d;
+assign thre_int_rise   = thre_int & ~thre_int_d;
+assign ms_int_rise 	  = ms_int & ~ms_int_d;
+assign ti_int_rise 	  = ti_int & ~ti_int_d;
+
+// interrupt pending flags
+reg 	rls_int_pnd;
+reg	rda_int_pnd;
+reg 	thre_int_pnd;
+reg 	ms_int_pnd;
+reg 	ti_int_pnd;
+
+// interrupt pending flags assignments
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) rls_int_pnd <= 0;
+	else 
+		rls_int_pnd <= lsr_mask ? 1'b0 :  						// reset condition
+							rls_int_rise ? 1'b1 :						// latch condition
+							rls_int_pnd && ier[`UART_IE_RLS];	// default operation: remove if masked
+
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) rda_int_pnd <= 0;
+	else 
+		rda_int_pnd <= ((rf_count == {1'b0,trigger_level}) && fifo_read) ? 1'b0 :  	// reset condition
+							rda_int_rise ? 1'b1 :						// latch condition
+							rda_int_pnd && ier[`UART_IE_RDA];	// default operation: remove if masked
+
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) thre_int_pnd <= 0;
+	else 
+		thre_int_pnd <= fifo_write || (iir_read & ~iir[`UART_II_IP] & iir[`UART_II_II] == `UART_II_THRE)? 1'b0 :
+							thre_int_rise ? 1'b1 :
+							thre_int_pnd && ier[`UART_IE_THRE];
+
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) ms_int_pnd <= 0;
+	else 
+		ms_int_pnd <= msr_read ? 1'b0 :
+							ms_int_rise ? 1'b1 :
+							ms_int_pnd && ier[`UART_IE_MS];
+
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) ti_int_pnd <= 0;
+	else 
+		ti_int_pnd <= fifo_read ? 1'b0 :
+							ti_int_rise ? 1'b1 :
+							ti_int_pnd && ier[`UART_IE_RDA];
+// end of pending flags
+
+// INT_O logic
+always @(posedge clk or posedge wb_rst_i)
+begin
+	if (wb_rst_i)	
+		int_o <= 1'b0;
+	else
+		int_o <=
+					rls_int_pnd		?	~lsr_mask					:
+					rda_int_pnd		? 1'b1								:
+					ti_int_pnd		? ~fifo_read					:
+					thre_int_pnd	? !(fifo_write & iir_read) :
+					ms_int_pnd		? ~msr_read						:
+					1'd0;	// if no interrupt are pending
+end
+
+
+// Interrupt Identification register
+always @(posedge clk or posedge wb_rst_i)
+begin
+	if (wb_rst_i)
+		iir <= 1;
+	else
+	if (rls_int_pnd)  // interrupt is pending
+	begin
+		iir[`UART_II_II] <= `UART_II_RLS;	// set identification register to correct value
+		iir[`UART_II_IP] <= 1'b0;		// and clear the IIR bit 0 (interrupt pending)
+	end else // the sequence of conditions determines priority of interrupt identification
+	if (rda_int)
+	begin
+		iir[`UART_II_II] <= `UART_II_RDA;
+		iir[`UART_II_IP] <= 1'b0;
+	end
+	else if (ti_int_pnd)
+	begin
+		iir[`UART_II_II] <= `UART_II_TI;
+		iir[`UART_II_IP] <= 1'b0;
+	end
+	else if (thre_int_pnd)
+	begin
+		iir[`UART_II_II] <= `UART_II_THRE;
+		iir[`UART_II_IP] <= 1'b0;
+	end
+	else if (ms_int_pnd)
+	begin
+		iir[`UART_II_II] <= `UART_II_MS;
+		iir[`UART_II_IP] <= 1'b0;
+	end else	// no interrupt is pending
+	begin
+		iir[`UART_II_II] <= 0;
+		iir[`UART_II_IP] <= 1'b1;
+	end
+end
+
+endmodule
diff --git a/verilog/rtl/uart_rfifo.v b/verilog/rtl/uart_rfifo.v
new file mode 100644
index 0000000..59a29b9
--- /dev/null
+++ b/verilog/rtl/uart_rfifo.v
@@ -0,0 +1,316 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  uart_rfifo.v (Modified from uart_fifo.v)                    ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  UART core receiver FIFO                                     ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Nothing.                                                    ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - gorban@opencores.org                                  ////
+////      - Jacob Gorban                                          ////
+////      - Igor Mohor (igorm@opencores.org)                      ////
+////                                                              ////
+////  Created:        2001/05/12                                  ////
+////  Last Updated:   2002/07/22                                  ////
+////                  (See log for the revision history)          ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.3  2003/06/11 16:37:47  gorban
+// This fixes errors in some cases when data is being read and put to the FIFO at the same time. Patch is submitted by Scott Furman. Update is very recommended.
+//
+// Revision 1.2  2002/07/29 21:16:18  gorban
+// The uart_defines.v file is included again in sources.
+//
+// Revision 1.1  2002/07/22 23:02:23  gorban
+// Bug Fixes:
+//  * Possible loss of sync and bad reception of stop bit on slow baud rates fixed.
+//   Problem reported by Kenny.Tung.
+//  * Bad (or lack of ) loopback handling fixed. Reported by Cherry Withers.
+//
+// Improvements:
+//  * Made FIFO's as general inferrable memory where possible.
+//  So on FPGA they should be inferred as RAM (Distributed RAM on Xilinx).
+//  This saves about 1/3 of the Slice count and reduces P&R and synthesis times.
+//
+//  * Added optional baudrate output (baud_o).
+//  This is identical to BAUDOUT* signal on 16550 chip.
+//  It outputs 16xbit_clock_rate - the divided clock.
+//  It's disabled by default. Define UART_HAS_BAUDRATE_OUTPUT to use.
+//
+// Revision 1.16  2001/12/20 13:25:46  mohor
+// rx push changed to be only one cycle wide.
+//
+// Revision 1.15  2001/12/18 09:01:07  mohor
+// Bug that was entered in the last update fixed (rx state machine).
+//
+// Revision 1.14  2001/12/17 14:46:48  mohor
+// overrun signal was moved to separate block because many sequential lsr
+// reads were preventing data from being written to rx fifo.
+// underrun signal was not used and was removed from the project.
+//
+// Revision 1.13  2001/11/26 21:38:54  gorban
+// Lots of fixes:
+// Break condition wasn't handled correctly at all.
+// LSR bits could lose their values.
+// LSR value after reset was wrong.
+// Timing of THRE interrupt signal corrected.
+// LSR bit 0 timing corrected.
+//
+// Revision 1.12  2001/11/08 14:54:23  mohor
+// Comments in Slovene language deleted, few small fixes for better work of
+// old tools. IRQs need to be fix.
+//
+// Revision 1.11  2001/11/07 17:51:52  gorban
+// Heavily rewritten interrupt and LSR subsystems.
+// Many bugs hopefully squashed.
+//
+// Revision 1.10  2001/10/20 09:58:40  gorban
+// Small synopsis fixes
+//
+// Revision 1.9  2001/08/24 21:01:12  mohor
+// Things connected to parity changed.
+// Clock devider changed.
+//
+// Revision 1.8  2001/08/24 08:48:10  mohor
+// FIFO was not cleared after the data was read bug fixed.
+//
+// Revision 1.7  2001/08/23 16:05:05  mohor
+// Stop bit bug fixed.
+// Parity bug fixed.
+// WISHBONE read cycle bug fixed,
+// OE indicator (Overrun Error) bug fixed.
+// PE indicator (Parity Error) bug fixed.
+// Register read bug fixed.
+//
+// Revision 1.3  2001/05/31 20:08:01  gorban
+// FIFO changes and other corrections.
+//
+// Revision 1.3  2001/05/27 17:37:48  gorban
+// Fixed many bugs. Updated spec. Changed FIFO files structure. See CHANGES.txt file.
+//
+// Revision 1.2  2001/05/17 18:34:18  gorban
+// First 'stable' release. Should be sythesizable now. Also added new header.
+//
+// Revision 1.0  2001-05-17 21:27:12+02  jacob
+// Initial revision
+//
+//
+
+`include "uart_defines.v"
+
+module uart_rfifo (clk, 
+	wb_rst_i, data_in, data_out,
+// Control signals
+	push, // push strobe, active high
+	pop,   // pop strobe, active high
+// status signals
+	overrun,
+	count,
+	error_bit,
+	fifo_reset,
+	reset_status
+	);
+
+
+// FIFO parameters
+parameter fifo_width = `UART_FIFO_WIDTH;
+parameter fifo_depth = `UART_FIFO_DEPTH;
+parameter fifo_pointer_w = `UART_FIFO_POINTER_W;
+parameter fifo_counter_w = `UART_FIFO_COUNTER_W;
+
+input				clk;
+input				wb_rst_i;
+input				push;
+input				pop;
+input	[fifo_width-1:0]	data_in;
+input				fifo_reset;
+input       reset_status;
+
+output	[fifo_width-1:0]	data_out;
+output				overrun;
+output	[fifo_counter_w-1:0]	count;
+output				error_bit;
+
+wire	[fifo_width-1:0]	data_out;
+wire [7:0] data8_out;
+// flags FIFO
+reg	[2:0]	fifo[fifo_depth-1:0];
+
+// FIFO pointers
+reg	[fifo_pointer_w-1:0]	top;
+reg	[fifo_pointer_w-1:0]	bottom;
+
+reg	[fifo_counter_w-1:0]	count;
+reg				overrun;
+
+wire [fifo_pointer_w-1:0] top_plus_1 = top + 4'h1;
+
+raminfr #(fifo_pointer_w,8,fifo_depth) rfifo  
+        (.clk(clk), 
+			.we(push), 
+			.a(top), 
+			.dpra(bottom), 
+			.di(data_in[fifo_width-1:fifo_width-8]), 
+			.dpo(data8_out)
+		); 
+
+always @(posedge clk or posedge wb_rst_i) // synchronous FIFO
+begin
+	if (wb_rst_i)
+	begin
+		top		<= 0;
+		bottom		<= 0;
+		count		<= 0;
+		fifo[0] <= 0;
+		fifo[1] <= 0;
+		fifo[2] <= 0;
+		fifo[3] <= 0;
+		fifo[4] <= 0;
+		fifo[5] <= 0;
+		fifo[6] <= 0;
+		fifo[7] <= 0;
+		fifo[8] <= 0;
+		fifo[9] <= 0;
+		fifo[10] <= 0;
+		fifo[11] <= 0;
+		fifo[12] <= 0;
+		fifo[13] <= 0;
+		fifo[14] <= 0;
+		fifo[15] <= 0;
+	end
+	else
+	if (fifo_reset) begin
+		top		<= 0;
+		bottom		<= 0;
+		count		<= 0;
+		fifo[0] <= 0;
+		fifo[1] <= 0;
+		fifo[2] <= 0;
+		fifo[3] <= 0;
+		fifo[4] <= 0;
+		fifo[5] <= 0;
+		fifo[6] <= 0;
+		fifo[7] <= 0;
+		fifo[8] <= 0;
+		fifo[9] <= 0;
+		fifo[10] <= 0;
+		fifo[11] <= 0;
+		fifo[12] <= 0;
+		fifo[13] <= 0;
+		fifo[14] <= 0;
+		fifo[15] <= 0;
+	end
+  else
+	begin
+		case ({push, pop})
+		2'b10 : if (count<fifo_depth)  // overrun condition
+			begin
+				top       <= top_plus_1;
+				fifo[top] <= data_in[2:0];
+				count     <= count + 5'd1;
+			end
+		2'b01 : if(count>0)
+			begin
+        fifo[bottom] <= 0;
+				bottom   <= bottom + 4'd1;
+				count	 <= count - 5'd1;
+			end
+		2'b11 : begin
+				bottom   <= bottom + 4'd1;
+				top       <= top_plus_1;
+				fifo[top] <= data_in[2:0];
+		        end
+    default: ;
+		endcase
+	end
+end   // always
+
+always @(posedge clk or posedge wb_rst_i) // synchronous FIFO
+begin
+  if (wb_rst_i)
+    overrun   <= 1'b0;
+  else
+  if(fifo_reset | reset_status) 
+    overrun   <= 1'b0;
+  else
+  if(push & ~pop & (count==fifo_depth))
+    overrun   <= 1'b1;
+end   // always
+
+
+// please note though that data_out is only valid one clock after pop signal
+assign data_out = {data8_out,fifo[bottom]};
+
+// Additional logic for detection of error conditions (parity and framing) inside the FIFO
+// for the Line Status Register bit 7
+
+wire	[2:0]	word0 = fifo[0];
+wire	[2:0]	word1 = fifo[1];
+wire	[2:0]	word2 = fifo[2];
+wire	[2:0]	word3 = fifo[3];
+wire	[2:0]	word4 = fifo[4];
+wire	[2:0]	word5 = fifo[5];
+wire	[2:0]	word6 = fifo[6];
+wire	[2:0]	word7 = fifo[7];
+
+wire	[2:0]	word8 = fifo[8];
+wire	[2:0]	word9 = fifo[9];
+wire	[2:0]	word10 = fifo[10];
+wire	[2:0]	word11 = fifo[11];
+wire	[2:0]	word12 = fifo[12];
+wire	[2:0]	word13 = fifo[13];
+wire	[2:0]	word14 = fifo[14];
+wire	[2:0]	word15 = fifo[15];
+
+// a 1 is returned if any of the error bits in the fifo is 1
+assign	error_bit = |(word0[2:0]  | word1[2:0]  | word2[2:0]  | word3[2:0]  |
+            		      word4[2:0]  | word5[2:0]  | word6[2:0]  | word7[2:0]  |
+            		      word8[2:0]  | word9[2:0]  | word10[2:0] | word11[2:0] |
+            		      word12[2:0] | word13[2:0] | word14[2:0] | word15[2:0] );
+
+endmodule
diff --git a/verilog/rtl/uart_sync_flops.v b/verilog/rtl/uart_sync_flops.v
new file mode 100644
index 0000000..82a3a61
--- /dev/null
+++ b/verilog/rtl/uart_sync_flops.v
@@ -0,0 +1,117 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  uart_sync_flops.v                                             ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  UART core receiver logic                                    ////
+////                                                              ////
+////  Known problems (limits):                                    ////
+////  None known                                                  ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Thourough testing.                                          ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - Andrej Erzen (andreje@flextronics.si)                 ////
+////      - Tadej Markovic (tadejm@flextronics.si)                ////
+////                                                              ////
+////  Created:        2004/05/20                                  ////
+////  Last Updated:   2004/05/20                                  ////
+////                  (See log for the revision history)          ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+//
+
+module uart_sync_flops
+(
+  // internal signals
+  rst_i,
+  clk_i,
+  stage1_rst_i,
+  stage1_clk_en_i,
+  async_dat_i,
+  sync_dat_o
+);
+
+parameter width         = 1;
+parameter init_value    = 1'b0;
+
+input                           rst_i;                  // reset input
+input                           clk_i;                  // clock input
+input                           stage1_rst_i;           // synchronous reset for stage 1 FF
+input                           stage1_clk_en_i;        // synchronous clock enable for stage 1 FF
+input   [width-1:0]             async_dat_i;            // asynchronous data input
+output  [width-1:0]             sync_dat_o;             // synchronous data output
+
+
+//
+// Interal signal declarations
+//
+
+reg     [width-1:0]             sync_dat_o;
+reg     [width-1:0]             flop_0;
+
+
+// first stage
+always @ (posedge clk_i or posedge rst_i)
+begin
+    if (rst_i)
+        flop_0 <= {width{init_value}};
+    else
+        flop_0 <= async_dat_i;    
+end
+
+// second stage
+always @ (posedge clk_i or posedge rst_i)
+begin
+    if (rst_i)
+        sync_dat_o <= {width{init_value}};
+    else if (stage1_rst_i)
+        sync_dat_o <= {width{init_value}};
+    else if (stage1_clk_en_i)
+        sync_dat_o <= flop_0;       
+end
+
+endmodule
diff --git a/verilog/rtl/uart_tfifo.v b/verilog/rtl/uart_tfifo.v
new file mode 100644
index 0000000..5b254cb
--- /dev/null
+++ b/verilog/rtl/uart_tfifo.v
@@ -0,0 +1,239 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  uart_tfifo.v                                                ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  UART core transmitter FIFO                                  ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Nothing.                                                    ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - gorban@opencores.org                                  ////
+////      - Jacob Gorban                                          ////
+////      - Igor Mohor (igorm@opencores.org)                      ////
+////                                                              ////
+////  Created:        2001/05/12                                  ////
+////  Last Updated:   2002/07/22                                  ////
+////                  (See log for the revision history)          ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.1  2002/07/22 23:02:23  gorban
+// Bug Fixes:
+//  * Possible loss of sync and bad reception of stop bit on slow baud rates fixed.
+//   Problem reported by Kenny.Tung.
+//  * Bad (or lack of ) loopback handling fixed. Reported by Cherry Withers.
+//
+// Improvements:
+//  * Made FIFO's as general inferrable memory where possible.
+//  So on FPGA they should be inferred as RAM (Distributed RAM on Xilinx).
+//  This saves about 1/3 of the Slice count and reduces P&R and synthesis times.
+//
+//  * Added optional baudrate output (baud_o).
+//  This is identical to BAUDOUT* signal on 16550 chip.
+//  It outputs 16xbit_clock_rate - the divided clock.
+//  It's disabled by default. Define UART_HAS_BAUDRATE_OUTPUT to use.
+//
+// Revision 1.16  2001/12/20 13:25:46  mohor
+// rx push changed to be only one cycle wide.
+//
+// Revision 1.15  2001/12/18 09:01:07  mohor
+// Bug that was entered in the last update fixed (rx state machine).
+//
+// Revision 1.14  2001/12/17 14:46:48  mohor
+// overrun signal was moved to separate block because many sequential lsr
+// reads were preventing data from being written to rx fifo.
+// underrun signal was not used and was removed from the project.
+//
+// Revision 1.13  2001/11/26 21:38:54  gorban
+// Lots of fixes:
+// Break condition wasn't handled correctly at all.
+// LSR bits could lose their values.
+// LSR value after reset was wrong.
+// Timing of THRE interrupt signal corrected.
+// LSR bit 0 timing corrected.
+//
+// Revision 1.12  2001/11/08 14:54:23  mohor
+// Comments in Slovene language deleted, few small fixes for better work of
+// old tools. IRQs need to be fix.
+//
+// Revision 1.11  2001/11/07 17:51:52  gorban
+// Heavily rewritten interrupt and LSR subsystems.
+// Many bugs hopefully squashed.
+//
+// Revision 1.10  2001/10/20 09:58:40  gorban
+// Small synopsis fixes
+//
+// Revision 1.9  2001/08/24 21:01:12  mohor
+// Things connected to parity changed.
+// Clock devider changed.
+//
+// Revision 1.8  2001/08/24 08:48:10  mohor
+// FIFO was not cleared after the data was read bug fixed.
+//
+// Revision 1.7  2001/08/23 16:05:05  mohor
+// Stop bit bug fixed.
+// Parity bug fixed.
+// WISHBONE read cycle bug fixed,
+// OE indicator (Overrun Error) bug fixed.
+// PE indicator (Parity Error) bug fixed.
+// Register read bug fixed.
+//
+// Revision 1.3  2001/05/31 20:08:01  gorban
+// FIFO changes and other corrections.
+//
+// Revision 1.3  2001/05/27 17:37:48  gorban
+// Fixed many bugs. Updated spec. Changed FIFO files structure. See CHANGES.txt file.
+//
+// Revision 1.2  2001/05/17 18:34:18  gorban
+// First 'stable' release. Should be sythesizable now. Also added new header.
+//
+// Revision 1.0  2001-05-17 21:27:12+02  jacob
+// Initial revision
+//
+//
+
+`include "uart_defines.v"
+
+module uart_tfifo (clk, 
+	wb_rst_i, data_in, data_out,
+// Control signals
+	push, // push strobe, active high
+	pop,   // pop strobe, active high
+// status signals
+	overrun,
+	count,
+	fifo_reset,
+	reset_status
+	);
+
+
+// FIFO parameters
+parameter fifo_width = `UART_FIFO_WIDTH;
+parameter fifo_depth = `UART_FIFO_DEPTH;
+parameter fifo_pointer_w = `UART_FIFO_POINTER_W;
+parameter fifo_counter_w = `UART_FIFO_COUNTER_W;
+
+input				clk;
+input				wb_rst_i;
+input				push;
+input				pop;
+input	[fifo_width-1:0]	data_in;
+input				fifo_reset;
+input       reset_status;
+
+output	[fifo_width-1:0]	data_out;
+output				overrun;
+output	[fifo_counter_w-1:0]	count;
+
+wire	[fifo_width-1:0]	data_out;
+
+// FIFO pointers
+reg	[fifo_pointer_w-1:0]	top;
+reg	[fifo_pointer_w-1:0]	bottom;
+
+reg	[fifo_counter_w-1:0]	count;
+reg				overrun;
+wire [fifo_pointer_w-1:0] top_plus_1 = top + 4'd1;
+
+raminfr #(fifo_pointer_w,fifo_width,fifo_depth) tfifo  
+        (.clk(clk), 
+			.we(push), 
+			.a(top), 
+			.dpra(bottom), 
+			.di(data_in), 
+			.dpo(data_out)
+		); 
+
+
+always @(posedge clk or posedge wb_rst_i) // synchronous FIFO
+begin
+	if (wb_rst_i)
+	begin
+		top		<= 0;
+		bottom		<= 0;
+		count		<= 0;
+	end
+	else
+	if (fifo_reset) begin
+		top		<= 0;
+		bottom		<= 0;
+		count		<= 0;
+	end
+  else
+	begin
+		case ({push, pop})
+		2'b10 : if (count<fifo_depth)  // overrun condition
+			begin
+				top       <= top_plus_1;
+				count     <= count + 5'd1;
+			end
+		2'b01 : if(count>0)
+			begin
+				bottom   <= bottom + 4'd1;
+				count	 <= count - 5'd1;
+			end
+		2'b11 : begin
+				bottom   <= bottom + 4'd1;
+				top       <= top_plus_1;
+		        end
+    default: ;
+		endcase
+	end
+end   // always
+
+always @(posedge clk or posedge wb_rst_i) // synchronous FIFO
+begin
+  if (wb_rst_i)
+    overrun   <= 1'b0;
+  else
+  if(fifo_reset | reset_status) 
+    overrun   <= 1'b0;
+  else
+  if(push & (count==fifo_depth))
+    overrun   <= 1'b1;
+end   // always
+
+endmodule
diff --git a/verilog/rtl/uart_top.v b/verilog/rtl/uart_top.v
new file mode 100644
index 0000000..528f2f7
--- /dev/null
+++ b/verilog/rtl/uart_top.v
@@ -0,0 +1,261 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  uart_top.v                                                  ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  UART core top level.                                        ////
+////                                                              ////
+////  Known problems (limits):                                    ////
+////  Note that transmitter and receiver instances are inside     ////
+////  the uart_regs.v file.                                       ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Nothing so far.                                             ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - gorban@opencores.org                                  ////
+////      - Jacob Gorban                                          ////
+////      - Igor Mohor (igorm@opencores.org)                      ////
+////                                                              ////
+////  Created:        2001/05/12                                  ////
+////  Last Updated:   2001/05/17                                  ////
+////                  (See log for the revision history)          ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.18  2002/07/22 23:02:23  gorban
+// Bug Fixes:
+//  * Possible loss of sync and bad reception of stop bit on slow baud rates fixed.
+//   Problem reported by Kenny.Tung.
+//  * Bad (or lack of ) loopback handling fixed. Reported by Cherry Withers.
+//
+// Improvements:
+//  * Made FIFO's as general inferrable memory where possible.
+//  So on FPGA they should be inferred as RAM (Distributed RAM on Xilinx).
+//  This saves about 1/3 of the Slice count and reduces P&R and synthesis times.
+//
+//  * Added optional baudrate output (baud_o).
+//  This is identical to BAUDOUT* signal on 16550 chip.
+//  It outputs 16xbit_clock_rate - the divided clock.
+//  It's disabled by default. Define UART_HAS_BAUDRATE_OUTPUT to use.
+//
+// Revision 1.17  2001/12/19 08:40:03  mohor
+// Warnings fixed (unused signals removed).
+//
+// Revision 1.16  2001/12/06 14:51:04  gorban
+// Bug in LSR[0] is fixed.
+// All WISHBONE signals are now sampled, so another wait-state is introduced on all transfers.
+//
+// Revision 1.15  2001/12/03 21:44:29  gorban
+// Updated specification documentation.
+// Added full 32-bit data bus interface, now as default.
+// Address is 5-bit wide in 32-bit data bus mode.
+// Added wb_sel_i input to the core. It's used in the 32-bit mode.
+// Added debug interface with two 32-bit read-only registers in 32-bit mode.
+// Bits 5 and 6 of LSR are now only cleared on TX FIFO write.
+// My small test bench is modified to work with 32-bit mode.
+//
+// Revision 1.14  2001/11/07 17:51:52  gorban
+// Heavily rewritten interrupt and LSR subsystems.
+// Many bugs hopefully squashed.
+//
+// Revision 1.13  2001/10/20 09:58:40  gorban
+// Small synopsis fixes
+//
+// Revision 1.12  2001/08/25 15:46:19  gorban
+// Modified port names again
+//
+// Revision 1.11  2001/08/24 21:01:12  mohor
+// Things connected to parity changed.
+// Clock devider changed.
+//
+// Revision 1.10  2001/08/23 16:05:05  mohor
+// Stop bit bug fixed.
+// Parity bug fixed.
+// WISHBONE read cycle bug fixed,
+// OE indicator (Overrun Error) bug fixed.
+// PE indicator (Parity Error) bug fixed.
+// Register read bug fixed.
+//
+// Revision 1.4  2001/05/31 20:08:01  gorban
+// FIFO changes and other corrections.
+//
+// Revision 1.3  2001/05/21 19:12:02  gorban
+// Corrected some Linter messages.
+//
+// Revision 1.2  2001/05/17 18:34:18  gorban
+// First 'stable' release. Should be sythesizable now. Also added new header.
+//
+// Revision 1.0  2001-05-17 21:27:12+02  jacob
+// Initial revision
+//
+//
+
+`include "uart_defines.v"
+
+module uart_top	(
+	wb_clk_i, 
+	
+	// Wishbone signals
+	wb_rst_i, wb_adr_i, wb_dat_i, wb_dat_o, wb_we_i, wb_stb_i, wb_cyc_i, wb_ack_o, wb_sel_i,
+	int_o, // interrupt request
+
+	// UART	signals
+	// serial input/output
+	stx_pad_o, srx_pad_i,
+
+	// modem signals
+	rts_pad_o, cts_pad_i, dtr_pad_o, dsr_pad_i, ri_pad_i, dcd_pad_i
+`ifdef UART_HAS_BAUDRATE_OUTPUT
+	, baud_o
+`endif
+	);
+parameter SIM = 0;
+parameter debug = 0;
+
+input 								 wb_clk_i;
+
+// WISHBONE interface
+input 								 wb_rst_i;
+input [2:0] 	 wb_adr_i;
+input [7:0] 	 wb_dat_i;
+output [7:0] 	 wb_dat_o;
+input 								 wb_we_i;
+input 								 wb_stb_i;
+input 								 wb_cyc_i;
+input [3:0]							 wb_sel_i;
+output 								 wb_ack_o;
+output 								 int_o;
+
+// UART	signals
+input 								 srx_pad_i;
+output 								 stx_pad_o;
+output 								 rts_pad_o;
+input 								 cts_pad_i;
+output 								 dtr_pad_o;
+input 								 dsr_pad_i;
+input 								 ri_pad_i;
+input 								 dcd_pad_i;
+
+// optional baudrate output
+`ifdef UART_HAS_BAUDRATE_OUTPUT
+output	baud_o;
+`endif
+
+
+wire 									 stx_pad_o;
+wire 									 rts_pad_o;
+wire 									 dtr_pad_o;
+
+wire [2:0] 	 wb_adr_i;
+wire [7:0] 	 wb_dat_i;
+wire [7:0] 	 wb_dat_o;
+
+wire [7:0] 							 wb_dat8_i; // 8-bit internal data input
+wire [7:0] 							 wb_dat8_o; // 8-bit internal data output
+wire [31:0] 						 wb_dat32_o; // debug interface 32-bit output
+wire [3:0] 							 wb_sel_i;  // WISHBONE select signal
+wire [2:0] 	 wb_adr_int;
+wire 									 we_o;	// Write enable for registers
+wire		          	     re_o;	// Read enable for registers
+//
+// MODULE INSTANCES
+//
+
+////  WISHBONE interface module
+uart_wb		wb_interface(
+		.clk(		wb_clk_i		),
+		.wb_rst_i(	wb_rst_i	),
+	.wb_dat_i(wb_dat_i),
+	.wb_dat_o(wb_dat_o),
+	.wb_dat8_i(wb_dat8_i),
+	.wb_dat8_o(wb_dat8_o),
+	 .wb_dat32_o(32'b0),								 
+	 .wb_sel_i(4'b0),
+		.wb_we_i(	wb_we_i		),
+		.wb_stb_i(	wb_stb_i	),
+		.wb_cyc_i(	wb_cyc_i	),
+		.wb_ack_o(	wb_ack_o	),
+	.wb_adr_i(wb_adr_i),
+	.wb_adr_int(wb_adr_int),
+		.we_o(		we_o		),
+		.re_o(re_o)
+		);
+
+// Registers
+uart_regs #(.SIM (SIM))	regs(
+	.clk(		wb_clk_i		),
+	.wb_rst_i(	wb_rst_i	),
+	.wb_addr_i(	wb_adr_int	),
+	.wb_dat_i(	wb_dat8_i	),
+	.wb_dat_o(	wb_dat8_o	),
+	.wb_we_i(	we_o		),
+   .wb_re_i(re_o),
+	.modem_inputs(	{cts_pad_i, dsr_pad_i,
+	ri_pad_i,  dcd_pad_i}	),
+	.stx_pad_o(		stx_pad_o		),
+	.srx_pad_i(		srx_pad_i		),
+	.rts_pad_o(		rts_pad_o		),
+	.dtr_pad_o(		dtr_pad_o		),
+	.int_o(		int_o		)
+`ifdef UART_HAS_BAUDRATE_OUTPUT
+	, .baud_o(baud_o)
+`endif
+
+);
+
+initial
+begin
+   if(debug) begin
+	`ifdef UART_HAS_BAUDRATE_OUTPUT
+		$display("(%m) UART INFO: Has baudrate output\n");
+	`else
+		$display("(%m) UART INFO: Doesn't have baudrate output\n");
+	`endif
+   end
+end
+
+endmodule
+
+
diff --git a/verilog/rtl/uart_transmitter.v b/verilog/rtl/uart_transmitter.v
new file mode 100644
index 0000000..e2e8cf3
--- /dev/null
+++ b/verilog/rtl/uart_transmitter.v
@@ -0,0 +1,354 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  uart_transmitter.v                                          ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  UART core transmitter logic                                 ////
+////                                                              ////
+////  Known problems (limits):                                    ////
+////  None known                                                  ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Thourough testing.                                          ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - gorban@opencores.org                                  ////
+////      - Jacob Gorban                                          ////
+////      - Igor Mohor (igorm@opencores.org)                      ////
+////                                                              ////
+////  Created:        2001/05/12                                  ////
+////  Last Updated:   2001/05/17                                  ////
+////                  (See log for the revision history)          ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.18  2002/07/22 23:02:23  gorban
+// Bug Fixes:
+//  * Possible loss of sync and bad reception of stop bit on slow baud rates fixed.
+//   Problem reported by Kenny.Tung.
+//  * Bad (or lack of ) loopback handling fixed. Reported by Cherry Withers.
+//
+// Improvements:
+//  * Made FIFO's as general inferrable memory where possible.
+//  So on FPGA they should be inferred as RAM (Distributed RAM on Xilinx).
+//  This saves about 1/3 of the Slice count and reduces P&R and synthesis times.
+//
+//  * Added optional baudrate output (baud_o).
+//  This is identical to BAUDOUT* signal on 16550 chip.
+//  It outputs 16xbit_clock_rate - the divided clock.
+//  It's disabled by default. Define UART_HAS_BAUDRATE_OUTPUT to use.
+//
+// Revision 1.16  2002/01/08 11:29:40  mohor
+// tf_pop was too wide. Now it is only 1 clk cycle width.
+//
+// Revision 1.15  2001/12/17 14:46:48  mohor
+// overrun signal was moved to separate block because many sequential lsr
+// reads were preventing data from being written to rx fifo.
+// underrun signal was not used and was removed from the project.
+//
+// Revision 1.14  2001/12/03 21:44:29  gorban
+// Updated specification documentation.
+// Added full 32-bit data bus interface, now as default.
+// Address is 5-bit wide in 32-bit data bus mode.
+// Added wb_sel_i input to the core. It's used in the 32-bit mode.
+// Added debug interface with two 32-bit read-only registers in 32-bit mode.
+// Bits 5 and 6 of LSR are now only cleared on TX FIFO write.
+// My small test bench is modified to work with 32-bit mode.
+//
+// Revision 1.13  2001/11/08 14:54:23  mohor
+// Comments in Slovene language deleted, few small fixes for better work of
+// old tools. IRQs need to be fix.
+//
+// Revision 1.12  2001/11/07 17:51:52  gorban
+// Heavily rewritten interrupt and LSR subsystems.
+// Many bugs hopefully squashed.
+//
+// Revision 1.11  2001/10/29 17:00:46  gorban
+// fixed parity sending and tx_fifo resets over- and underrun
+//
+// Revision 1.10  2001/10/20 09:58:40  gorban
+// Small synopsis fixes
+//
+// Revision 1.9  2001/08/24 21:01:12  mohor
+// Things connected to parity changed.
+// Clock devider changed.
+//
+// Revision 1.8  2001/08/23 16:05:05  mohor
+// Stop bit bug fixed.
+// Parity bug fixed.
+// WISHBONE read cycle bug fixed,
+// OE indicator (Overrun Error) bug fixed.
+// PE indicator (Parity Error) bug fixed.
+// Register read bug fixed.
+//
+// Revision 1.6  2001/06/23 11:21:48  gorban
+// DL made 16-bit long. Fixed transmission/reception bugs.
+//
+// Revision 1.5  2001/06/02 14:28:14  gorban
+// Fixed receiver and transmitter. Major bug fixed.
+//
+// Revision 1.4  2001/05/31 20:08:01  gorban
+// FIFO changes and other corrections.
+//
+// Revision 1.3  2001/05/27 17:37:49  gorban
+// Fixed many bugs. Updated spec. Changed FIFO files structure. See CHANGES.txt file.
+//
+// Revision 1.2  2001/05/21 19:12:02  gorban
+// Corrected some Linter messages.
+//
+// Revision 1.1  2001/05/17 18:34:18  gorban
+// First 'stable' release. Should be sythesizable now. Also added new header.
+//
+// Revision 1.0  2001-05-17 21:27:12+02  jacob
+// Initial revision
+//
+//
+
+`include "uart_defines.v"
+
+module uart_transmitter
+#(parameter SIM = 0)
+ (clk, wb_rst_i, lcr, tf_push, wb_dat_i, enable,	stx_pad_o, tstate, tf_count, tx_reset, lsr_mask);
+
+input 										clk;
+input 										wb_rst_i;
+input [7:0] 								lcr;
+input 										tf_push;
+input [7:0] 								wb_dat_i;
+input 										enable;
+input 										tx_reset;
+input 										lsr_mask; //reset of fifo
+output 										stx_pad_o;
+output [2:0] 								tstate;
+output [`UART_FIFO_COUNTER_W-1:0] 	tf_count;
+
+reg [2:0] 									tstate;
+reg [4:0] 									counter;
+reg [2:0] 									bit_counter;   // counts the bits to be sent
+reg [6:0] 									shift_out;	// output shift register
+reg 											stx_o_tmp;
+reg 											parity_xor;  // parity of the word
+reg 											tf_pop;
+reg 											bit_out;
+
+// TX FIFO instance
+//
+// Transmitter FIFO signals
+wire [`UART_FIFO_WIDTH-1:0] 			tf_data_in;
+wire [`UART_FIFO_WIDTH-1:0] 			tf_data_out;
+wire 											tf_push;
+wire 											tf_overrun;
+wire [`UART_FIFO_COUNTER_W-1:0] 		tf_count;
+
+assign 										tf_data_in = wb_dat_i;
+
+uart_tfifo fifo_tx(	// error bit signal is not used in transmitter FIFO
+	.clk(		clk		), 
+	.wb_rst_i(	wb_rst_i	),
+	.data_in(	tf_data_in	),
+	.data_out(	tf_data_out	),
+	.push(		tf_push		),
+	.pop(		tf_pop		),
+	.overrun(	tf_overrun	),
+	.count(		tf_count	),
+	.fifo_reset(	tx_reset	),
+	.reset_status(lsr_mask)
+);
+
+// TRANSMITTER FINAL STATE MACHINE
+
+localparam s_idle        = 3'd0;
+localparam s_send_start  = 3'd1;
+localparam s_send_byte   = 3'd2;
+localparam s_send_parity = 3'd3;
+localparam s_send_stop   = 3'd4;
+localparam s_pop_byte    = 3'd5;
+
+always @(posedge clk or posedge wb_rst_i)
+begin
+  if (wb_rst_i)
+  begin
+	tstate       <= s_idle;
+	stx_o_tmp       <= 1'b1;
+	counter   <= 5'b0;
+	shift_out   <= 7'b0;
+	bit_out     <= 1'b0;
+	parity_xor  <= 1'b0;
+	tf_pop      <= 1'b0;
+	bit_counter <= 3'b0;
+  end
+  else
+  if (enable | SIM)
+  begin
+	case (tstate)
+	s_idle	 :	if (~|tf_count) // if tf_count==0
+			begin
+				tstate <= s_idle;
+				stx_o_tmp <= 1'b1;
+			end
+			else
+			begin
+				tf_pop <= 1'b0;
+				stx_o_tmp  <= 1'b1;
+				tstate  <= s_pop_byte;
+			end
+	s_pop_byte :	begin
+				tf_pop <= 1'b1;
+				case (lcr[/*`UART_LC_BITS*/1:0])  // number of bits in a word
+				2'b00 : begin
+					bit_counter <= 3'b100;
+					parity_xor  <= ^tf_data_out[4:0];
+				     end
+				2'b01 : begin
+					bit_counter <= 3'b101;
+					parity_xor  <= ^tf_data_out[5:0];
+				     end
+				2'b10 : begin
+					bit_counter <= 3'b110;
+					parity_xor  <= ^tf_data_out[6:0];
+				     end
+				2'b11 : begin
+					bit_counter <= 3'b111;
+					parity_xor  <= ^tf_data_out[7:0];
+				     end
+				endcase
+				{shift_out[6:0], bit_out} <= tf_data_out;
+				tstate <= s_send_start;
+			end
+	s_send_start :	begin
+				tf_pop <= 1'b0;
+				if (~|counter)
+					counter <= 5'b01111;
+				else
+				if (counter == 5'b00001)
+				begin
+					counter <= 0;
+					tstate <= s_send_byte;
+				end
+				else
+					counter <= counter - 5'd1;
+				stx_o_tmp <= 1'b0;
+				if (SIM) begin
+					tstate <= s_idle;
+					$write("%c", tf_data_out);
+					$fflush(32'h80000001);
+				end
+			end
+	s_send_byte :	begin
+				if (~|counter)
+					counter <= 5'b01111;
+				else
+				if (counter == 5'b00001)
+				begin
+					if (bit_counter > 3'b0)
+					begin
+						bit_counter <= bit_counter - 3'd1;
+						{shift_out[5:0],bit_out  } <= {shift_out[6:1], shift_out[0]};
+						tstate <= s_send_byte;
+					end
+					else   // end of byte
+					if (~lcr[`UART_LC_PE])
+					begin
+						tstate <= s_send_stop;
+					end
+					else
+					begin
+						case ({lcr[`UART_LC_EP],lcr[`UART_LC_SP]})
+						2'b00:	bit_out <= ~parity_xor;
+						2'b01:	bit_out <= 1'b1;
+						2'b10:	bit_out <= parity_xor;
+						2'b11:	bit_out <= 1'b0;
+						endcase
+						tstate <= s_send_parity;
+					end
+					counter <= 0;
+				end
+				else
+					counter <= counter - 5'd1;
+				stx_o_tmp <= bit_out; // set output pin
+			end
+	s_send_parity :	begin
+				if (~|counter)
+					counter <= 5'b01111;
+				else
+				if (counter == 5'b00001)
+				begin
+					counter <= 5'd0;
+					tstate <= s_send_stop;
+				end
+				else
+					counter <= counter - 5'd1;
+				stx_o_tmp <= bit_out;
+			end
+	s_send_stop :  begin
+				if (~|counter)
+				  begin
+						casez ({lcr[`UART_LC_SB],lcr[`UART_LC_BITS]})
+  						3'b0??:	  counter <= 5'b01101;     // 1 stop bit ok igor
+  						3'b100:	  counter <= 5'b10101;     // 1.5 stop bit
+  						default:	  counter <= 5'b11101;     // 2 stop bits
+						endcase
+					end
+				else
+				if (counter == 5'b00001)
+				begin
+					counter <= 0;
+					tstate <= s_idle;
+				end
+				else
+					counter <= counter - 5'd1;
+				stx_o_tmp <= 1'b1;
+			end
+
+		default : // should never get here
+			tstate <= s_idle;
+	endcase
+  end // end if enable
+  else
+    tf_pop <= 1'b0;  // tf_pop must be 1 cycle width
+end // transmitter logic
+
+assign stx_pad_o = lcr[`UART_LC_BC] ? 1'b0 : stx_o_tmp;    // Break condition
+	
+endmodule
diff --git a/verilog/rtl/uart_wb.v b/verilog/rtl/uart_wb.v
new file mode 100644
index 0000000..d537b70
--- /dev/null
+++ b/verilog/rtl/uart_wb.v
@@ -0,0 +1,258 @@
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+////  uart_wb.v                                                   ////
+////                                                              ////
+////                                                              ////
+////  This file is part of the "UART 16550 compatible" project    ////
+////  http://www.opencores.org/cores/uart16550/                   ////
+////                                                              ////
+////  Documentation related to this project:                      ////
+////  - http://www.opencores.org/cores/uart16550/                 ////
+////                                                              ////
+////  Projects compatibility:                                     ////
+////  - WISHBONE                                                  ////
+////  RS232 Protocol                                              ////
+////  16550D uart (mostly supported)                              ////
+////                                                              ////
+////  Overview (main Features):                                   ////
+////  UART core WISHBONE interface.                               ////
+////                                                              ////
+////  Known problems (limits):                                    ////
+////  Inserts one wait state on all transfers.                    ////
+////  Note affected signals and the way they are affected.        ////
+////                                                              ////
+////  To Do:                                                      ////
+////  Nothing.                                                    ////
+////                                                              ////
+////  Author(s):                                                  ////
+////      - gorban@opencores.org                                  ////
+////      - Jacob Gorban                                          ////
+////      - Igor Mohor (igorm@opencores.org)                      ////
+////                                                              ////
+////  Created:        2001/05/12                                  ////
+////  Last Updated:   2001/05/17                                  ////
+////                  (See log for the revision history)          ////
+////                                                              ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+////                                                              ////
+//// Copyright (C) 2000, 2001 Authors                             ////
+////                                                              ////
+//// This source file may be used and distributed without         ////
+//// restriction provided that this copyright statement is not    ////
+//// removed from the file and that any derivative work contains  ////
+//// the original copyright notice and the associated disclaimer. ////
+////                                                              ////
+//// This source file is free software; you can redistribute it   ////
+//// and/or modify it under the terms of the GNU Lesser General   ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any   ////
+//// later version.                                               ////
+////                                                              ////
+//// This source is distributed in the hope that it will be       ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
+//// PURPOSE.  See the GNU Lesser General Public License for more ////
+//// details.                                                     ////
+////                                                              ////
+//// You should have received a copy of the GNU Lesser General    ////
+//// Public License along with this source; if not, download it   ////
+//// from http://www.opencores.org/lgpl.shtml                     ////
+////                                                              ////
+//////////////////////////////////////////////////////////////////////
+//
+// CVS Revision History
+//
+// $Log: not supported by cvs2svn $
+// Revision 1.16  2002/07/29 21:16:18  gorban
+// The uart_defines.v file is included again in sources.
+//
+// Revision 1.15  2002/07/22 23:02:23  gorban
+// Bug Fixes:
+//  * Possible loss of sync and bad reception of stop bit on slow baud rates fixed.
+//   Problem reported by Kenny.Tung.
+//  * Bad (or lack of ) loopback handling fixed. Reported by Cherry Withers.
+//
+// Improvements:
+//  * Made FIFO's as general inferrable memory where possible.
+//  So on FPGA they should be inferred as RAM (Distributed RAM on Xilinx).
+//  This saves about 1/3 of the Slice count and reduces P&R and synthesis times.
+//
+//  * Added optional baudrate output (baud_o).
+//  This is identical to BAUDOUT* signal on 16550 chip.
+//  It outputs 16xbit_clock_rate - the divided clock.
+//  It's disabled by default. Define UART_HAS_BAUDRATE_OUTPUT to use.
+//
+// Revision 1.12  2001/12/19 08:03:34  mohor
+// Warnings cleared.
+//
+// Revision 1.11  2001/12/06 14:51:04  gorban
+// Bug in LSR[0] is fixed.
+// All WISHBONE signals are now sampled, so another wait-state is introduced on all transfers.
+//
+// Revision 1.10  2001/12/03 21:44:29  gorban
+// Updated specification documentation.
+// Added full 32-bit data bus interface, now as default.
+// Address is 5-bit wide in 32-bit data bus mode.
+// Added wb_sel_i input to the core. It's used in the 32-bit mode.
+// Added debug interface with two 32-bit read-only registers in 32-bit mode.
+// Bits 5 and 6 of LSR are now only cleared on TX FIFO write.
+// My small test bench is modified to work with 32-bit mode.
+//
+// Revision 1.9  2001/10/20 09:58:40  gorban
+// Small synopsis fixes
+//
+// Revision 1.8  2001/08/24 21:01:12  mohor
+// Things connected to parity changed.
+// Clock devider changed.
+//
+// Revision 1.7  2001/08/23 16:05:05  mohor
+// Stop bit bug fixed.
+// Parity bug fixed.
+// WISHBONE read cycle bug fixed,
+// OE indicator (Overrun Error) bug fixed.
+// PE indicator (Parity Error) bug fixed.
+// Register read bug fixed.
+//
+// Revision 1.4  2001/05/31 20:08:01  gorban
+// FIFO changes and other corrections.
+//
+// Revision 1.3  2001/05/21 19:12:01  gorban
+// Corrected some Linter messages.
+//
+// Revision 1.2  2001/05/17 18:34:18  gorban
+// First 'stable' release. Should be sythesizable now. Also added new header.
+//
+// Revision 1.0  2001-05-17 21:27:13+02  jacob
+// Initial revision
+//
+//
+
+// UART core WISHBONE interface 
+//
+// Author: Jacob Gorban   (jacob.gorban@flextronicssemi.com)
+// Company: Flextronics Semiconductor
+//
+
+`include "uart_defines.v"
+ 
+module uart_wb (clk, wb_rst_i, 
+	wb_we_i, wb_stb_i, wb_cyc_i, wb_ack_o, wb_adr_i,
+	wb_adr_int, wb_dat_i, wb_dat_o, wb_dat8_i, wb_dat8_o, wb_dat32_o, wb_sel_i,
+	we_o, re_o // Write and read enable output for the core
+);
+
+input 		  clk;
+
+// WISHBONE interface	
+input 		  wb_rst_i;
+input 		  wb_we_i;
+input 		  wb_stb_i;
+input 		  wb_cyc_i;
+input [3:0]   wb_sel_i;
+input [2:0] 	wb_adr_i; //WISHBONE address line
+
+input [7:0]  wb_dat_i; //input WISHBONE bus 
+output [7:0] wb_dat_o;
+reg [7:0] 	 wb_dat_o;
+wire [7:0] 	 wb_dat_i;
+reg [7:0] 	 wb_dat_is;
+
+output [2:0]	wb_adr_int; // internal signal for address bus
+input [7:0]   wb_dat8_o; // internal 8 bit output to be put into wb_dat_o
+output [7:0]  wb_dat8_i;
+input [31:0]  wb_dat32_o; // 32 bit data output (for debug interface)
+output 		  wb_ack_o;
+output 		  we_o;
+output 		  re_o;
+
+wire 			  we_o;
+reg 			  wb_ack_o;
+reg [7:0] 	  wb_dat8_i;
+wire [7:0] 	  wb_dat8_o;
+wire [2:0]	wb_adr_int; // internal signal for address bus
+reg [2:0]	wb_adr_is;
+reg 								wb_we_is;
+reg 								wb_cyc_is;
+reg 								wb_stb_is;
+wire [3:0]   wb_sel_i;
+reg 			 wre ;// timing control signal for write or read enable
+
+// wb_ack_o FSM
+reg [1:0] 	 wbstate;
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) begin
+		wb_ack_o <= 1'b0;
+		wbstate <= 0;
+		wre <= 1'b1;
+	end else
+		case (wbstate)
+			0: begin
+				if (wb_stb_is & wb_cyc_is) begin
+					wre <= 0;
+					wbstate <= 1;
+					wb_ack_o <= 1;
+				end else begin
+					wre <= 1;
+					wb_ack_o <= 0;
+				end
+			end
+			1: begin
+			   wb_ack_o <= 0;
+				wbstate <= 2;
+				wre <= 0;
+			end
+			2: begin
+				wb_ack_o <= 0;
+				wbstate <= 3;
+				wre <= 0;
+			end
+			3: begin
+				wb_ack_o <= 0;
+				wbstate <= 0;
+				wre <= 1;
+			end
+		endcase
+
+assign we_o =  wb_we_is & wb_stb_is & wb_cyc_is & wre ; //WE for registers	
+assign re_o = ~wb_we_is & wb_stb_is & wb_cyc_is & wre ; //RE for registers	
+
+// Sample input signals
+always  @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i) begin
+		wb_adr_is <= 0;
+		wb_we_is <= 0;
+		wb_cyc_is <= 0;
+		wb_stb_is <= 0;
+		wb_dat_is <= 0;
+	end else begin
+		wb_adr_is <= wb_adr_i;
+		wb_we_is <= wb_we_i;
+		wb_cyc_is <= wb_cyc_i;
+		wb_stb_is <= wb_stb_i;
+		wb_dat_is <= wb_dat_i;
+	end
+
+always @(posedge clk or posedge wb_rst_i)
+	if (wb_rst_i)
+		wb_dat_o <= 0;
+	else
+		wb_dat_o <= wb_dat8_o;
+
+always @(wb_dat_is)
+	wb_dat8_i = wb_dat_is;
+
+assign wb_adr_int = wb_adr_is;
+
+
+endmodule
+
+
+
+
+
+
+
+
+
+
diff --git a/verilog/rtl/user_proj_example.v b/verilog/rtl/user_proj_example.v
deleted file mode 100644
index 44e8eda..0000000
--- a/verilog/rtl/user_proj_example.v
+++ /dev/null
@@ -1,172 +0,0 @@
-// SPDX-FileCopyrightText: 2020 Efabless Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// SPDX-License-Identifier: Apache-2.0
-
-`default_nettype none
-/*
- *-------------------------------------------------------------
- *
- * user_proj_example
- *
- * This is an example of a (trivially simple) user project,
- * showing how the user project can connect to the logic
- * analyzer, the wishbone bus, and the I/O pads.
- *
- * This project generates an integer count, which is output
- * on the user area GPIO pads (digital output only).  The
- * wishbone connection allows the project to be controlled
- * (start and stop) from the management SoC program.
- *
- * See the testbenches in directory "mprj_counter" for the
- * example programs that drive this user project.  The three
- * testbenches are "io_ports", "la_test1", and "la_test2".
- *
- *-------------------------------------------------------------
- */
-
-module user_proj_example #(
-    parameter BITS = 32
-)(
-`ifdef USE_POWER_PINS
-    inout vdda1,	// User area 1 3.3V supply
-    inout vdda2,	// User area 2 3.3V supply
-    inout vssa1,	// User area 1 analog ground
-    inout vssa2,	// User area 2 analog ground
-    inout vccd1,	// User area 1 1.8V supply
-    inout vccd2,	// User area 2 1.8v supply
-    inout vssd1,	// User area 1 digital ground
-    inout vssd2,	// User area 2 digital ground
-`endif
-
-    // Wishbone Slave ports (WB MI A)
-    input wb_clk_i,
-    input wb_rst_i,
-    input wbs_stb_i,
-    input wbs_cyc_i,
-    input wbs_we_i,
-    input [3:0] wbs_sel_i,
-    input [31:0] wbs_dat_i,
-    input [31:0] wbs_adr_i,
-    output wbs_ack_o,
-    output [31:0] wbs_dat_o,
-
-    // Logic Analyzer Signals
-    input  [127:0] la_data_in,
-    output [127:0] la_data_out,
-    input  [127:0] la_oen,
-
-    // IOs
-    input  [`MPRJ_IO_PADS-1:0] io_in,
-    output [`MPRJ_IO_PADS-1:0] io_out,
-    output [`MPRJ_IO_PADS-1:0] io_oeb
-);
-    wire clk;
-    wire rst;
-
-    wire [`MPRJ_IO_PADS-1:0] io_in;
-    wire [`MPRJ_IO_PADS-1:0] io_out;
-    wire [`MPRJ_IO_PADS-1:0] io_oeb;
-
-    wire [31:0] rdata; 
-    wire [31:0] wdata;
-    wire [BITS-1:0] count;
-
-    wire valid;
-    wire [3:0] wstrb;
-    wire [31:0] la_write;
-
-    // WB MI A
-    assign valid = wbs_cyc_i && wbs_stb_i; 
-    assign wstrb = wbs_sel_i & {4{wbs_we_i}};
-    assign wbs_dat_o = rdata;
-    assign wdata = wbs_dat_i;
-
-    // IO
-    assign io_out = count;
-    assign io_oeb = {(`MPRJ_IO_PADS-1){rst}};
-
-    // LA
-    assign la_data_out = {{(127-BITS){1'b0}}, count};
-    // Assuming LA probes [63:32] are for controlling the count register  
-    assign la_write = ~la_oen[63:32] & ~{BITS{valid}};
-    // Assuming LA probes [65:64] are for controlling the count clk & reset  
-    assign clk = (~la_oen[64]) ? la_data_in[64]: wb_clk_i;
-    assign rst = (~la_oen[65]) ? la_data_in[65]: wb_rst_i;
-
-    counter #(
-        .BITS(BITS)
-    ) counter(
-        .clk(clk),
-        .reset(rst),
-        .ready(wbs_ack_o),
-        .valid(valid),
-        .rdata(rdata),
-        .wdata(wbs_dat_i),
-        .wstrb(wstrb),
-        .la_write(la_write),
-        .la_input(la_data_in[63:32]),
-        .count(count)
-    );
-
-endmodule
-
-module counter #(
-    parameter BITS = 32
-)(
-    input clk,
-    input reset,
-    input valid,
-    input [3:0] wstrb,
-    input [BITS-1:0] wdata,
-    input [BITS-1:0] la_write,
-    input [BITS-1:0] la_input,
-    output ready,
-    output [BITS-1:0] rdata,
-    output [BITS-1:0] count
-);
-    reg ready;
-    reg [BITS-1:0] count;
-    reg [BITS-1:0] rdata;
-
-    always @(posedge clk) begin
-        if (reset) begin
-            count <= 0;
-            ready <= 0;
-        end else begin
-            ready <= 1'b0;
-            if (~|la_write) begin
-                count <= count + 1;
-            end
-            if (valid && !ready) begin
-                ready <= 1'b1;
-                rdata <= count;
-                if (wstrb[0]) count[7:0]   <= wdata[7:0];
-                if (wstrb[1]) count[15:8]  <= wdata[15:8];
-                if (wstrb[2]) count[23:16] <= wdata[23:16];
-                if (wstrb[3]) count[31:24] <= wdata[31:24];
-            end
-        end
-    end
-
-    genvar i;
-    generate 
-        for(i=0; i<BITS; i=i+1) begin
-          always @(posedge clk) begin
-              if (la_write[i]) count[i] <= la_input[i];
-          end
-        end
-    endgenerate
-
-endmodule
-`default_nettype wire
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index 47d92f4..e114075 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -19,12 +19,7 @@
  *
  * user_project_wrapper
  *
- * This wrapper enumerates all of the pins available to the
- * user for the user project.
- *
- * An example user project is provided in this wrapper.  The
- * example should be removed and replaced with the actual
- * user project.
+ * This connects microwatt up to caravel.
  *
  *-------------------------------------------------------------
  */
@@ -46,6 +41,7 @@
     // Wishbone Slave ports (WB MI A)
     input wb_clk_i,
     input wb_rst_i,
+
     input wbs_stb_i,
     input wbs_cyc_i,
     input wbs_we_i,
@@ -74,51 +70,170 @@
     // Independent clock (on independent integer divider)
     input   user_clock2
 );
+    wire clk;
+    wire rst; // active high
 
-    /*--------------------------------------*/
-    /* User project is instantiated  here   */
-    /*--------------------------------------*/
+    wire [`MPRJ_IO_PADS-1:0] io_in;
+    wire [`MPRJ_IO_PADS-1:0] io_out;
+    wire [`MPRJ_IO_PADS-1:0] io_oeb;
 
-    user_proj_example mprj (
+   // microwatt signals
+   wire 	ext_clk;
+   reg	 	ext_rst_n; // active low
+   wire         alt_reset;
+   wire 	jtag_tck;
+   wire 	jtag_tdi;
+   wire 	jtag_tdo;
+   wire 	jtag_tms;
+   wire 	jtag_trst;
+   wire 	spi_flash_clk;
+   wire 	spi_flash_cs_n;
+   wire         [3:0] spi_flash_i;
+   wire         [3:0] spi_flash_o;
+   wire         [3:0] spi_flash_oe;
+   wire 	uart0_rxd;
+   wire 	uart0_txd;
+   wire 	uart1_rxd; // not hooked up
+   wire 	uart1_txd; // not hooked up
+   wire		[31:0] logic_analyzeri;
+   wire		[31:0] logic_analyzero;
+
+   wire		oib_clk;
+   wire	[7:0]	ob_data;
+   wire		ob_pty;
+   wire	[7:0]	ib_data;
+   wire		ib_pty;
+
+   assign uart1_rxd = 1; // not hooked up
+
+   // Management engine wishbone slave is unused
+   assign wbs_ack_o = 1'b0;
+
+   assign clk = wb_clk_i;
+
+   // LA probe 65 controls microwatt reset
+   assign rst = (~la_oen[65]) ? la_data_in[65]: wb_rst_i;
+
+   // LA probe 66 controls the reset address (RAM or FLASH)
+   assign alt_reset = (~la_oen[66]) ? la_data_in[66]:  1'b0;
+
+   // microwatt signals
+   assign ext_clk = clk;
+
+   reg [11:0] reset_counter;
+   always @(posedge clk) begin
+      if (rst) begin
+         ext_rst_n <= 1'b0;
+         reset_counter <= 0;
+      end else if (reset_counter < 4095) begin
+         ext_rst_n <= 1'b0;
+         reset_counter <= reset_counter + 1'b1;
+      end else begin
+         ext_rst_n <= 1'b1;
+      end
+   end
+
+   // UART pins 5-6 shared with management soc
+   assign uart0_rxd = io_in[5];
+   assign io_out[5] = 0; // don't care
+   assign io_oeb[5] = 1; // input
+
+   // assign unused  = io_in[6];
+   assign io_out[6] = uart0_txd;
+   assign io_oeb[6] = rst;
+
+   // 7 unused
+
+   // SPI pins 8-13
+   // assign unused  = io_in[8];
+   assign io_out[8] = spi_flash_cs_n; //(polarity??)
+   assign io_oeb[8] = rst; // output
+
+   // assign unused  = io_in[9];
+   assign io_out[9] = spi_flash_clk;
+   assign io_oeb[9] = rst; // output
+
+   // Bi direction SPI pins
+   assign io_out[10] = spi_flash_o[0];
+   assign io_out[11] = spi_flash_o[1];
+   assign io_out[12] = spi_flash_o[2];
+   assign io_out[13] = spi_flash_o[3];
+
+   assign io_oeb[10] = ~spi_flash_oe[0];
+   assign io_oeb[11] = ~spi_flash_oe[1];
+   assign io_oeb[12] = ~spi_flash_oe[2];
+   assign io_oeb[13] = ~spi_flash_oe[3];
+
+   assign spi_flash_i[0] = io_in[10];
+   assign spi_flash_i[1] = io_in[11];
+   assign spi_flash_i[2] = io_in[12];
+   assign spi_flash_i[3] = io_in[13];
+
+   // JTAG pins 14-17
+   // assign unused  = io_in[14];
+   assign io_out[14] = jtag_tdo;
+   assign io_oeb[14] = rst; // output
+
+   assign jtag_tms = io_in[15];
+   assign io_out[15] = 0; // don't care
+   assign io_oeb[15] = 1; // input
+
+   assign jtag_tck = io_in[16];
+   assign io_out[16] = 0; // don't care
+   assign io_oeb[16] = 1; // input
+
+   assign jtag_tdi = io_in[17];
+   assign io_out[17] = 0; // don't care
+   assign io_oeb[17] = 1; // input
+
+   assign jtag_trst = rst;
+
+   // external bus pins 18-36 -> 18-27 outputs, 28-36 inputs
+   //assign =  in[18:27] = rst; don't care
+   assign io_oeb[27:18] = {10{rst}}; // outputs
+   assign io_out[18] = oib_clk;
+   assign io_out[26:19] = ob_data;
+   assign io_out[27] = ob_pty;
+
+   assign io_out[36:28] = 0; // don't care
+   assign io_oeb[36:28] = {9{1'b1}}; // input
+   assign ib_data = io_in[35:28];
+   assign ib_pty = io_in[36];
+
+   // 37 unused
+
+   assign la_data_out[31:0] = logic_analyzero[31:0];
+   assign logic_analyzeri[31:0] = la_data_in[63:32];
+
+   microwatt microwatt_0(
     `ifdef USE_POWER_PINS
-	.vdda1(vdda1),	// User area 1 3.3V power
-	.vdda2(vdda2),	// User area 2 3.3V power
-	.vssa1(vssa1),	// User area 1 analog ground
-	.vssa2(vssa2),	// User area 2 analog ground
 	.vccd1(vccd1),	// User area 1 1.8V power
-	.vccd2(vccd2),	// User area 2 1.8V power
 	.vssd1(vssd1),	// User area 1 digital ground
-	.vssd2(vssd2),	// User area 2 digital ground
     `endif
-
-	// MGMT core clock and reset
-
-    	.wb_clk_i(wb_clk_i),
-    	.wb_rst_i(wb_rst_i),
-
-	// MGMT SoC Wishbone Slave
-
-	.wbs_cyc_i(wbs_cyc_i),
-	.wbs_stb_i(wbs_stb_i),
-	.wbs_we_i(wbs_we_i),
-	.wbs_sel_i(wbs_sel_i),
-	.wbs_adr_i(wbs_adr_i),
-	.wbs_dat_i(wbs_dat_i),
-	.wbs_ack_o(wbs_ack_o),
-	.wbs_dat_o(wbs_dat_o),
-
-	// Logic Analyzer
-
-	.la_data_in(la_data_in),
-	.la_data_out(la_data_out),
-	.la_oen (la_oen),
-
-	// IO Pads
-
-	.io_in (io_in),
-    	.io_out(io_out),
-    	.io_oeb(io_oeb)
-    );
+	       .ext_clk(ext_clk),
+	       .ext_rst(ext_rst_n),
+	       .alt_reset(alt_reset),
+	       .uart0_rxd(uart0_rxd),
+	       .uart1_rxd(uart1_rxd),
+	       .jtag_tck(jtag_tck),
+	       .jtag_tdi(jtag_tdi),
+	       .jtag_tms(jtag_tms),
+	       .jtag_trst(jtag_trst),
+	       .uart0_txd(uart0_txd),
+	       .uart1_txd(uart1_txd),
+	       .spi_flash_cs_n(spi_flash_cs_n),
+	       .spi_flash_clk(spi_flash_clk),
+	       .spi_flash_sdat_o(spi_flash_o),
+	       .spi_flash_sdat_i(spi_flash_i),
+	       .spi_flash_sdat_oe(spi_flash_oe),
+	       .jtag_tdo(jtag_tdo),
+	       .oib_clk(oib_clk),
+	       .ob_data(ob_data),
+	       .ob_pty(ob_pty),
+	       .ib_data(ib_data),
+		 .ib_pty(ib_pty),
+		.gpio_in(logic_analyzeri),
+		.gpio_out(logic_analyzero));
 
 endmodule	// user_project_wrapper
 `default_nettype wire
