Merge pull request #135 from LNIS-Projects/dev

Support on Native Fracturable LUT Design
This commit is contained in:
Laboratory for Nano Integrated Systems (LNIS) 2020-11-26 13:55:37 -07:00 committed by GitHub
commit 8fde74542a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 3777 additions and 28 deletions

View File

@ -13,6 +13,9 @@ python3 openfpga_flow/scripts/run_fpga_task.py fpga_verilog/lut_design/single_mo
echo -e "Testing Verilog generation for LUTs: simple fracturable LUT4 ";
python3 openfpga_flow/scripts/run_fpga_task.py fpga_verilog/lut_design/frac_lut4 --debug --show_thread_logs
echo -e "Testing Verilog generation for LUTs: native fracturable LUT4 ";
python3 openfpga_flow/scripts/run_fpga_task.py fpga_verilog/lut_design/frac_native_lut4 --debug --show_thread_logs
echo -e "Testing Verilog generation for LUTs: simple fracturable LUT4 using AND gate to switch modes";
python3 openfpga_flow/scripts/run_fpga_task.py fpga_verilog/lut_design/frac_lut4_and_switch --debug --show_thread_logs

View File

@ -724,7 +724,15 @@ Template
- ``circuit_model_name="<string>"`` Specify the ``circuit_model`` that will be used to build these buffers
- ``location_map="[1|-]"`` Customize the location of buffers in intermediate stages. Users can define an integer array consisting of '1' and '-'. For example, ``-1-1-`` indicates buffer inseration to every two stages of the LUT multiplexer tree, considering a 6-input LUT.
- ``location_map="[1|-]"`` Customize the location of buffers in intermediate stages. Users can define an integer array consisting of '1' and '-'. Take the example in :numref:`fig_lut_intermediate_buffer_example`, ``-1-`` indicates buffer inseration to the second stage of the LUT multiplexer tree, considering a 3-input LUT.
.. _fig_lut_intermediate_buffer_example:
.. figure:: ./figures/lut_intermediate_buffer_example.svg
:scale: 80%
:alt: detailed lut composition
An example of adding intermediate buffers to a 3-input Look-Up Table (LUT).
.. note:: For a LUT, three types of ports (``input``, ``output`` and ``sram``) should be defined. If the user provides an customized Verilog/SPICE netlist, the bandwidth of ports should be defined to the same as the Verilog/SPICE netlist. To support customizable LUTs, each type of port contain special keywords.
@ -757,40 +765,89 @@ Template
Single-Output LUT
`````````````````
:numref:`fig_lut` illustrates an example of LUT modeling, which consists of input/output buffers and a transmission-gate-based tree structure.
:numref:`fig_single_lut3_example` illustrates an example of LUT modeling, which consists of input/output buffers and a transmission-gate-based tree structure.
.. _fig_lut:
.. _fig_single_lut3_example:
.. figure:: ./figures/lut.png
.. figure:: ./figures/single_lut3_example.svg
:scale: 80%
:alt: Detailed LUT composition
:alt: detailed lut composition
An example of a LUT with transistor-level design parameters.
An example of a single-output 3-input LUT.
The code describing this LUT is:
.. code-block:: xml
<circuit_model type="lut" name="lut6" prefix="lut6">
<circuit_model type="lut" name="lut3" prefix="lut3">
<input_buffer exist="on" circuit_model="inv1x"/>
<output_buffer exist="on" circuit_model_name="inv1x"/>
<lut_input_buffer exist="on" circuit_model_name="buf2"/>
<lut_input_inverter exist="on" circuit_model_name="inv1x"/>
<pass_gate_logic circuit_model_name="tgate"/>
<port type="input" prefix="in" size="6"/>
<port type="input" prefix="in" size="3"/>
<port type="output" prefix="out" size="1"/>
<port type="sram" prefix="sram" size="64"/>
<port type="sram" prefix="sram" size="8"/>
</circuit_model>
This example shows:
- A 6-input LUT which is configurable by 64 SRAM cells.
- The multiplexer inside LUT will be built with transmission gate using circuuit model ``inv1x``
- A 3-input LUT which is configurable by 8 SRAM cells.
- The multiplexer inside LUT will be built with transmission gate using circuit model ``inv1x``
- There are no internal buffered inserted to any intermediate stage of a LUT
.. _circuit_model_frac_lut_example:
Fracturable LUT
```````````````
Standard Fracturable LUT
`````````````````````````
:numref:`fig_frac_lut3_example` illustrates a typical example of 3-input fracturable LUT modeling, which consists of input/output buffers and a transmission-gate-based tree structure.
.. _fig_frac_lut3_example:
.. figure:: ./figures/frac_lut3_example.svg
:scale: 80%
:alt: detailed lut composition
An example of a fracturable 3-input LUT.
The code describing this LUT is:
.. code-block:: xml
<circuit_model type="lut" name="frac_lut3" prefix="frac_lut3" dump_structural_verilog="true">
<design_technology type="cmos" fracturable_lut="true"/>
<input_buffer exist="true" circuit_model_name="inv1x"/>
<output_buffer exist="true" circuit_model_name="inv1x"/>
<lut_input_inverter exist="true" circuit_model_name="inv1x"/>
<lut_input_buffer exist="true" circuit_model_name="buf4"/>
<pass_gate_logic circuit_model_name="tgate"/>
<port type="input" prefix="in" size="3" tri_state_map="--1" circuit_model_name="OR2"/>
<port type="output" prefix="lut2_out" size="1" lut_frac_level="3" lut_output_mask="0"/>
<port type="output" prefix="lut3_out" size="1" lut_output_mask="0"/>
<port type="sram" prefix="sram" size="8"/>
<port type="sram" prefix="mode" size="1" mode_select="true" circuit_model_name="ccff" default_val="1"/>
</circuit_model>
This example shows:
- Fracturable 3-input LUT which is configurable by 9 SRAM cells.
- There is a SRAM cell to switch the operating mode of this LUT, configured by a configuration-chain flip-flop ``ccff``
- The last input ``in[2]`` of LUT will be tri-stated in dual-LUT2 mode.
- An 2-input OR gate will be wired to the last input ``in[2]`` to tri-state the input. The mode-select SRAM will be wired to an input of the OR gate.
It means that when the mode-selection bit is '1', the LUT will operate in dual-LUT5 mode.
- There will be two outputs wired to the 5th stage of routing multiplexer (the outputs of dual 5-input LUTs)
- By default, the mode-selection configuration bit will be '1', indicating that by default the LUT will operate in dual-LUT2 mode.
:numref:`fig_std_frac_lut` illustrates the detailed schematic of a standard fracturable 6-input LUT, where the 5th and 6th inputs can be pull up/down to a fixed logic value to enable LUT4 and LUT5 outputs.
.. _fig_std_frac_lut:
.. figure:: ./figures/std_frac_lut.svg
:scale: 80%
:alt: detailed lut composition
Detailed schematic of a standard fracturable 6-input LUT.
The code describing this LUT is:
.. code-block:: xml
@ -800,24 +857,60 @@ Fracturable LUT
<output_buffer exist="true" circuit_model_name="inv1x"/>
<lut_input_inverter exist="true" circuit_model_name="inv1x"/>
<lut_input_buffer exist="true" circuit_model_name="buf4"/>
<lut_intermediate_buffer exist="true" circuit_model_name="buf4" location_map="-1-1-"/>
<pass_gate_logic circuit_model_name="tgate"/>
<port type="input" prefix="in" size="6" tri_state_map="-----1" circuit_model_name="OR2"/>
<port type="input" prefix="in" size="6" tri_state_map="----11" circuit_model_name="OR2"/>
<port type="output" prefix="lut4_out" size="2" lut_frac_level="4" lut_output_mask="0,2"/>
<port type="output" prefix="lut5_out" size="2" lut_frac_level="5" lut_output_mask="0,1"/>
<port type="output" prefix="lut6_out" size="1" lut_output_mask="0"/>
<port type="sram" prefix="sram" size="64"/>
<port type="sram" prefix="mode" size="1" mode_select="true" circuit_model_name="ccff" default_val="1"/>
<port type="sram" prefix="mode" size="2" mode_select="true" circuit_model_name="ccff" default_val="1"/>
</circuit_model>
This example shows:
- Fracturable 6-input LUT which is configurable by 65 SRAM cells.
- Intermedate buffers are added to every two stages of the internal multiplexer
- There is a SRAM cell to switch the operating mode of this LUT, configured by a configuration-chain flip-flop ``ccff``
- The last input ``in[5]`` of LUT will be tri-stated in dual-LUT5 mode.
- An 2-input OR gate will be wired to the last input ``in[5]`` to tri-state the input. The mode-select SRAM will be wired to an input of the OR gate.
It means that when the mode-selection bit is '1', the LUT will operate in dual-LUT5 mode.
- Fracturable 6-input LUT which is configurable by 66 SRAM cells.
- There are two SRAM cells to switch the operating mode of this LUT, configured by two configuration-chain flip-flops ``ccff``
- The inputs ``in[4]`` and ``in[5]`` of LUT will be tri-stated in dual-LUT4 and dual-LUT5 modes respectively.
- An 2-input OR gate will be wired to the inputs ``in[4]`` and ``in[5]`` to tri-state them. The mode-select SRAM will be wired to an input of the OR gate.
- There will be two outputs wired to the 4th stage of routing multiplexer (the outputs of dual 4-input LUTs)
- There will be two outputs wired to the 5th stage of routing multiplexer (the outputs of dual 5-input LUTs)
- By default, the mode-selection configuration bit will be '1', indicating that by default the LUT will operate in dual-LUT5 mode.
- By default, the mode-selection configuration bit will be '11', indicating that by default the LUT will operate in dual-LUT4 mode.
Native Fracturable LUT
``````````````````````
:numref:`fig_native_frac_lut` illustrates the detailed schematic of a native fracturable 6-input LUT, where LUT4, LUT5 and LUT6 outputs are always active and there are no tri-state buffers.
.. _fig_native_frac_lut:
.. figure:: ./figures/native_frac_lut.svg
:scale: 80%
:alt: detailed lut composition
Detailed schematic of a native fracturable 6-input LUT.
The code describing this LUT is:
.. code-block:: xml
<circuit_model type="lut" name="frac_lut6" prefix="frac_lut6" dump_structural_verilog="true">
<design_technology type="cmos" fracturable_lut="true"/>
<input_buffer exist="true" circuit_model_name="inv1x"/>
<output_buffer exist="true" circuit_model_name="inv1x"/>
<lut_input_inverter exist="true" circuit_model_name="inv1x"/>
<lut_input_buffer exist="true" circuit_model_name="buf4"/>
<pass_gate_logic circuit_model_name="tgate"/>
<port type="input" prefix="in" size="6"/>
<port type="output" prefix="lut4_out" size="2" lut_frac_level="4" lut_output_mask="0,2"/>
<port type="output" prefix="lut5_out" size="2" lut_frac_level="5" lut_output_mask="0,1"/>
<port type="output" prefix="lut6_out" size="1" lut_output_mask="0"/>
<port type="sram" prefix="sram" size="64"/>
</circuit_model>
This example shows:
- Fracturable 6-input LUT which is configurable by 64 SRAM cells.
- There will be two outputs wired to the 4th stage of routing multiplexer (the outputs of dual 4-input LUTs)
- There will be two outputs wired to the 5th stage of routing multiplexer (the outputs of dual 5-input LUTs)
Flip-Flops
~~~~~~~~~~

View File

@ -0,0 +1,819 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="39.1 77.74509 628.8097 564.4792" width="628.8097" height="564.4792">
<defs>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.61719" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="400">
<font-face-src>
<font-face-name name="Courier"/>
</font-face-src>
</font-face>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-144.04297" underline-thickness="91.79688" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="700">
<font-face-src>
<font-face-name name="Courier-Bold"/>
</font-face-src>
</font-face>
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -3 6 6" markerWidth="6" markerHeight="6" color="black">
<g>
<path d="M 4 0 L 0 -1.5 L 0 1.5 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
</g>
</marker>
<font-face font-family="Times New Roman" font-size="13" panose-1="2 2 6 3 5 4 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="0" x-height="447.2656" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPSMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="12" panose-1="2 2 5 3 5 4 5 9 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="-1361.0827" x-height="430.1758" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-style="italic" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPS-ItalicMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times" font-size="12" panose-1="0 0 5 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="0" x-height="453.6133" cap-height="661.6211" ascent="750" descent="-250" font-weight="400">
<font-face-src>
<font-face-name name="Times-Roman"/>
</font-face-src>
</font-face>
<font-face font-family="Times" font-size="12" panose-1="0 0 8 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-66.40625" underline-thickness="67.87109" slope="0" x-height="460.4492" cap-height="675.78125" ascent="750" descent="-250" font-weight="700">
<font-face-src>
<font-face-name name="Times-Bold"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="16" panose-1="2 2 6 3 5 4 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="0" x-height="447.2656" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPSMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="11" panose-1="2 2 6 3 5 4 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="0" x-height="447.2656" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPSMT"/>
</font-face-src>
</font-face>
</defs>
<metadata> Produced by OmniGraffle 7.18\n2020-11-26 19:26:01 +0000</metadata>
<g id="frac_lut3_example" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
<title>frac_lut3_example</title>
<g id="frac_lut3_example_Legend">
<title>Legend</title>
<g id="Graphic_7730">
<rect x="159.9008" y="225.52716" width="45.73276" height="352.2031" fill="#c0ffff"/>
<path d="M 159.9008 225.52716 L 205.63355 225.52716 L 205.63355 577.73027 L 159.9008 577.73027 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_8109">
<rect x="323.1021" y="477.73624" width="160.47677" height="163.98805" fill="#c0ffc0"/>
<path d="M 323.1021 477.73624 L 483.57887 477.73624 L 483.57887 641.7243 L 323.1021 641.7243 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_7792">
<rect x="39.6" y="173.1131" width="181.44" height="29.51586" fill="#c0ffff"/>
<rect x="39.6" y="173.1131" width="181.44" height="29.51586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(44.6 175.87103)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="10.707794" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">input_buffer</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> exist=“true </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="1.7063293" y="22">circuit_model_name=“inv1x”/&gt;</tspan>
</text>
</g>
<g id="Graphic_7793">
<rect x="55.344314" y="610.0443" width="251.64" height="31.68" fill="#c0ffc0"/>
<rect x="55.344314" y="610.0443" width="251.64" height="31.68" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(60.34431 613.8843)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="72.81219" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">pass_gate_logic</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="0" y="22">circuit_model_name=“transmission_gate”/&gt; </tspan>
</text>
</g>
<g id="Line_7795">
<line x1="142.55234" y1="203.01795" x2="156.19392" y2="219.9099" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_7731">
<rect x="307.60817" y="78.24509" width="196.78681" height="29.51586" fill="#ccc"/>
<rect x="307.60817" y="78.24509" width="196.78681" height="29.51586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(312.60817 81.00302)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="6.3792496" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">lut_input_buffer</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> exist=“true </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="9.379738" y="22">circuit_model_name=“buf2x”/&gt;</tspan>
</text>
</g>
<g id="Line_7799">
<line x1="384.92" y1="166" x2="270.48488" y2="152.248" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_7803">
<rect x="419.0986" y="352.4097" width="181.44" height="29.51586" fill="#ffffc0"/>
<rect x="419.0986" y="352.4097" width="181.44" height="29.51586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(424.0986 355.16763)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="4.7068176" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">output_buffer</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> exist=“true” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="1.7063293" y="22">circuit_model_name=“inv1x”/&gt;</tspan>
</text>
</g>
<g id="Graphic_8098">
<rect x="214.07214" y="137.15134" width="49.56202" height="22.590742" fill="#ffc0c0"/>
<rect x="214.07214" y="137.15134" width="49.56202" height="22.590742" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(219.07214 140.67059)" fill="black">
<tspan font-family="Times New Roman" font-size="13" font-weight="400" fill="black" x=".4047909" y="12">Buffers</tspan>
</text>
</g>
<g id="Graphic_8119">
<rect x="92.27476" y="78.24509" width="201.10681" height="29.51586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(97.27476 81.00302)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="2.538269" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">lut_input_inverter</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> exist=“true </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="11.539734" y="22">circuit_model_name=“inv2x”/&gt;</tspan>
</text>
</g>
<g id="Graphic_8210">
<text transform="translate(226.51624 110.35832)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in[0]</tspan>
</text>
</g>
<g id="Graphic_8312">
<rect x="341.71926" y="299.52" width="54.15413" height="136.63087" fill="#ffffc0"/>
<path d="M 341.71926 299.52 L 395.8734 299.52 L 395.8734 436.15087 L 341.71926 436.15087 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_8386">
<rect x="384.92" y="148.28755" width="83.79999" height="115.23245" fill="#ffc0c0"/>
<path d="M 384.92 148.28755 L 468.72 148.28755 L 468.72 263.52 L 384.92 263.52 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8387">
<line x1="384.92" y1="166" x2="317.64336" y2="196.8726" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8388">
<line x1="384.92" y1="166" x2="349.1669" y2="247.92584" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8389">
<path d="M 292.8965 107.5454 C 293.05818 107.58582 278.24372 103.92461 293.38158 107.66667 C 308.51943 111.40873 365.54145 117.9897 383.7327 130 C 399.9112 140.68142 397.23044 158.5907 400.84863 174.0839" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8390">
<path d="M 429.76024 108.0282 C 442.7455 116.2402 466.03025 121.10267 468.72 132.66667 C 471.1079 142.9331 457.26464 158.487 448.8059 172.28553" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8391">
<line x1="418.5986" y1="367.5996" x2="402.2733" y2="367.6769" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8392">
<line x1="234.84165" y1="609.9016" x2="316.96823" y2="585.448" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8393">
<line x1="322.63415" y1="529.35074" x2="277.63422" y2="512.41184" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_8394">
<text transform="translate(328.1021 462.9522)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" x="0" y="10">2-input MUX</tspan>
</text>
</g>
<g id="Graphic_8395">
<text transform="translate(387.2342 269.06528)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" x="0" y="10">Input buffers</tspan>
</text>
</g>
<g id="Graphic_8405">
<rect x="404.4176" y="421.23305" width="210.80197" height="29.51586" fill="#ffc0ff"/>
<rect x="404.4176" y="421.23305" width="210.80197" height="29.51586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(409.4176 423.991)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="43.39171" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“output” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="4.3853607" y="22">name=“lut3_out” frac_level=“3”/&gt;</tspan>
</text>
</g>
<g id="Graphic_8406">
<rect x="456.6077" y="303.46874" width="210.80197" height="36.86855" fill="#ffc0ff"/>
<rect x="456.6077" y="303.46874" width="210.80197" height="36.86855" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(461.6077 303.90302)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="43.39171" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“output” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="10.386337" y="22">name=“lut2_out” frac_level=“2” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="37.39073" y="34">lut_output_mask=“0”/&gt;</tspan>
</text>
</g>
</g>
<g id="frac_lut3_example_subckt">
<title>subckt</title>
<g id="Group_8315">
<g id="Graphic_8339">
<text transform="translate(418.3321 147.3084)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in</tspan>
</text>
</g>
<g id="Group_8336">
<g id="Line_8338">
<path d="M 404.95177 169.31 L 441.04647 169.31 L 441.04647 177.81" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8337">
<line x1="404.95177" y1="169.31" x2="404.95177" y2="178.31" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Line_8335">
<line x1="423.947" y1="169.31" x2="423.947" y2="161.77912" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8330">
<g id="Group_8332">
<g id="Graphic_8334">
<ellipse cx="440.30186" cy="201.60267" rx="3.31564537777781" ry="3.11593151443022" fill="#ccc"/>
<ellipse cx="440.30186" cy="201.60267" rx="3.31564537777781" ry="3.11593151443022" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8333">
<path d="M 455.0598 178.31 L 440.30186 198.48674 L 425.54394 178.31 Z" fill="#ccc"/>
<path d="M 455.0598 178.31 L 440.30186 198.48674 L 425.54394 178.31 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8331">
<text transform="translate(433.8829 177.81)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8325">
<g id="Group_8327">
<g id="Graphic_8329">
<ellipse cx="440.30186" cy="228.01126" rx="3.31564537777781" ry="3.11593151443024" fill="#ccc"/>
<ellipse cx="440.30186" cy="228.01126" rx="3.31564537777781" ry="3.11593151443024" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8328">
<path d="M 455.0598 204.7186 L 440.30186 224.89534 L 425.54394 204.7186 Z" fill="#ccc"/>
<path d="M 455.0598 204.7186 L 440.30186 224.89534 L 425.54394 204.7186 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8326">
<text transform="translate(433.8829 204.2186)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">2</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8320">
<g id="Group_8322">
<g id="Graphic_8324">
<ellipse cx="404.9979" cy="203.02832" rx="3.3156453777778" ry="3.11593151443024" fill="white"/>
<ellipse cx="404.9979" cy="203.02832" rx="3.3156453777778" ry="3.11593151443024" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8323">
<path d="M 419.75585 179.73566 L 404.9979 199.9124 L 390.24 179.73566 Z" fill="white"/>
<path d="M 419.75585 179.73566 L 404.9979 199.9124 L 390.24 179.73566 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8321">
<text transform="translate(398.57898 179.23566)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">2</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8319">
<line x1="405.45177" y1="243.04755" x2="405.0446" y2="207.144" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8318">
<line x1="440.54647" y1="244.04755" x2="440.36464" y2="232.12676" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8317">
<text transform="translate(386.73545 243.0684)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in_buf</tspan>
</text>
</g>
<g id="Graphic_8316">
<text transform="translate(428.097 243.0684)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in_inv</tspan>
</text>
</g>
</g>
<g id="Group_8340">
<g id="Line_8384">
<line x1="371.9664" y1="540.69314" x2="384.4234" y2="540.6909" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8380">
<g id="Line_8383">
<path d="M 389.8245 598.7285 L 403.9075 598.7285 L 403.9075 591.1976 L 417.99053 591.1976 L 417.99053 598.7285 L 432.07355 598.7285" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8382">
<line x1="410.94902" y1="587.223" x2="410.94902" y2="579.6921" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8381">
<line x1="403.9075" y1="587.223" x2="417.99053" y2="587.223" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Group_8374">
<g id="Group_8376">
<g id="Line_8379">
<path d="M 389.8245 611.90284 L 403.9075 611.90284 L 403.9075 619.4337 L 417.99053 619.4337 L 417.99053 611.90284 L 432.07355 611.90284" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8378">
<line x1="410.94902" y1="623.40835" x2="410.94902" y2="630.9392" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8377">
<line x1="403.9075" y1="623.40835" x2="417.99053" y2="623.40835" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8375">
<ellipse cx="410.94904" cy="625.67206" rx="1.76745243624395" ry="2.02583589152117" fill="white"/>
<ellipse cx="410.94904" cy="625.67206" rx="1.76745243624395" ry="2.02583589152117" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Line_8373">
<path d="M 389.8245 598.7285 L 389.8245 611.4977 L 389.8245 611.90284" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8372">
<path d="M 432.07355 598.7285 L 432.07355 605.015 L 432.07355 611.90284" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8358">
<g id="Group_8361">
<g id="Group_8368">
<g id="Line_8371">
<path d="M 389.6949 534.307 L 403.7779 534.307 L 403.7779 526.7761 L 417.8609 526.7761 L 417.8609 534.307 L 431.94393 534.307" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8370">
<line x1="410.8194" y1="522.8015" x2="410.8194" y2="515.2706" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8369">
<line x1="403.7779" y1="522.8015" x2="417.8609" y2="522.8015" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Group_8362">
<g id="Group_8364">
<g id="Line_8367">
<path d="M 389.6949 547.48136 L 403.7779 547.48136 L 403.7779 555.01224 L 417.8609 555.01224 L 417.8609 547.48136 L 431.94393 547.48136" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8366">
<line x1="410.8194" y1="558.98687" x2="410.8194" y2="566.51775" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8365">
<line x1="403.7779" y1="558.98687" x2="417.8609" y2="558.98687" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8363">
<ellipse cx="410.81942" cy="561.2506" rx="1.76745243624388" ry="2.02583589152117" fill="white"/>
<ellipse cx="410.81942" cy="561.2506" rx="1.76745243624388" ry="2.02583589152117" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
</g>
<g id="Line_8360">
<path d="M 389.6949 534.307 L 389.6949 547.0762 L 389.6949 547.48136" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8359">
<path d="M 431.94393 534.307 L 431.94394 535.52894 L 431.94393 547.48136" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Line_8357">
<line x1="375.8675" y1="605.625" x2="389.8245" y2="605.62276" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8356">
<path d="M 432.2295 541.6087 L 443.61974 541.20354 L 443.56943 604.8124 L 432.07355 605.015" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8355">
<line x1="376.7379" y1="540.4913" x2="389.1949" y2="540.489" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8354">
<path d="M 435.1947 500.0386 L 435.9679 573.5786 L 410.8882 573.8286 L 410.8194 566.51775" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8353">
<line x1="410.8194" y1="566.51775" x2="410.8882" y2="573.8286" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_8352">
<line x1="410.94902" y1="579.6921" x2="410.8882" y2="573.8286" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8351">
<path d="M 410.8882 631.5786 L 410.8882 638.3286 L 385.1382 638.239 L 384.3882 514.99194 L 410.8882 514.99194 L 410.8194 515.2706" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8350">
<line x1="399.08286" y1="514.2699" x2="398.83117" y2="500.0386" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8349">
<text transform="translate(380.88786 480.1528)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in_inv</tspan>
</text>
</g>
<g id="Graphic_8348">
<text transform="translate(418.9133 480.1528)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in_buf</tspan>
</text>
</g>
<g id="Graphic_8347">
<ellipse cx="399.07257" cy="513.6881" rx="3.31564537777781" ry="3.11593151443021" fill="black"/>
<ellipse cx="399.07257" cy="513.6881" rx="3.31564537777781" ry="3.11593151443021" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8346">
<ellipse cx="410.8834" cy="573.31923" rx="3.31564537777781" ry="3.11593151443027" fill="black"/>
<ellipse cx="410.8834" cy="573.31923" rx="3.31564537777781" ry="3.11593151443027" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8345">
<line x1="445.26815" y1="572.8215" x2="457.72515" y2="572.81923" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8344">
<ellipse cx="443.59555" cy="571.7883" rx="3.3156453777778" ry="3.11593151443018" fill="black"/>
<ellipse cx="443.59555" cy="571.7883" rx="3.3156453777778" ry="3.11593151443018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8343">
<text transform="translate(325.57524 535.4493)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">mem_in0</tspan>
</text>
</g>
<g id="Graphic_8342">
<text transform="translate(329.16233 596.7928)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">mem_in1</tspan>
</text>
</g>
<g id="Graphic_8341">
<text transform="translate(463.2241 564.5334)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">out</tspan>
</text>
</g>
</g>
</g>
<g id="frac_lut3_example_LUT_MUX">
<title>LUT_MUX</title>
<g id="Line_8272">
<path d="M 230.06137 369.02226 L 254.07193 368.70565 L 254.1232 340.25 L 267.61246 339.75 L 267.70637 322.86263" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8271">
<path d="M 230.0614 275.0838 L 255.07193 275.13995 L 255.11308 310.61083 L 267.43494 310.86083 L 267.70637 322.86263" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8270">
<line x1="152.17127" y1="254.79444" x2="164.81196" y2="255.04496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8269">
<line x1="198.4216" y1="254.7735" x2="210.8786" y2="254.77126" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8268">
<line x1="201.61514" y1="254.61017" x2="214.07214" y2="254.6079" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8264">
<g id="Graphic_8267">
<ellipse cx="199.10607" cy="255.17642" rx="4.00000639160755" ry="4.1250065913453" fill="white"/>
<ellipse cx="199.10607" cy="255.17642" rx="4.00000639160755" ry="4.1250065913453" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8266">
<path d="M 164.99386 237.27126 L 195.10607 255.27126 L 164.99386 273.27126 Z" fill="white"/>
<path d="M 164.99386 237.27126 L 195.10607 255.27126 L 164.99386 273.27126 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8265">
<text transform="translate(169.81196 248.27126)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8260">
<g id="Graphic_8263">
<ellipse cx="199.10607" cy="295.0451" rx="4.00000639160755" ry="4.1250065913453" fill="white"/>
<ellipse cx="199.10607" cy="295.0451" rx="4.00000639160755" ry="4.1250065913453" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8262">
<path d="M 164.99386 277.13995 L 195.10607 295.13995 L 164.99386 313.13995 Z" fill="white"/>
<path d="M 164.99386 277.13995 L 195.10607 295.13995 L 164.99386 313.13995 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8261">
<text transform="translate(169.81196 288.13995)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8259">
<line x1="204.1027" y1="295.234" x2="214.07214" y2="295.61083" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8258">
<path d="M 214.07214 306.51707 L 214.07214 243.61348 L 229.5614 256.1942 L 229.5614 293.93635 Z" fill="#c0ffc0"/>
<path d="M 214.07214 306.51707 L 214.07214 243.61348 L 229.5614 256.1942 L 229.5614 293.93635 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 250.5006) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8257">
<line x1="152.17127" y1="348.86014" x2="164.81196" y2="349.11065" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8256">
<line x1="198.4216" y1="348.8392" x2="210.8786" y2="348.83695" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8255">
<line x1="201.61514" y1="348.67587" x2="214.07214" y2="348.6736" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8251">
<g id="Graphic_8254">
<ellipse cx="199.10607" cy="349.2421" rx="4.00000639160757" ry="4.12500659134533" fill="white"/>
<ellipse cx="199.10607" cy="349.2421" rx="4.00000639160757" ry="4.12500659134533" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8253">
<path d="M 164.99386 331.33695 L 195.10607 349.33695 L 164.99386 367.33695 Z" fill="white"/>
<path d="M 164.99386 331.33695 L 195.10607 349.33695 L 164.99386 367.33695 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8252">
<text transform="translate(169.81196 342.33695)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8247">
<g id="Graphic_8250">
<ellipse cx="199.10607" cy="389.1108" rx="4.00000639160755" ry="4.12500659134533" fill="white"/>
<ellipse cx="199.10607" cy="389.1108" rx="4.00000639160755" ry="4.12500659134533" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8249">
<path d="M 164.99386 371.20565 L 195.10607 389.20565 L 164.99386 407.20565 Z" fill="white"/>
<path d="M 164.99386 371.20565 L 195.10607 389.20565 L 164.99386 407.20565 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8248">
<text transform="translate(169.81196 382.20565)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8246">
<line x1="204.1027" y1="389.2997" x2="214.07214" y2="389.67653" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8245">
<path d="M 214.07214 400.58277 L 214.07214 337.67917 L 229.5614 350.2599 L 229.5614 388.00205 Z" fill="#c0ffc0"/>
<path d="M 214.07214 400.58277 L 214.07214 337.67917 L 229.5614 350.2599 L 229.5614 388.00205 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 344.5663) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8244">
<line x1="149.37656" y1="432.414" x2="164.81196" y2="432.6881" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8243">
<line x1="195.6269" y1="432.3931" x2="208.0839" y2="432.3908" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8242">
<line x1="198.82044" y1="432.22974" x2="211.27744" y2="432.2275" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8238">
<g id="Graphic_8241">
<ellipse cx="199.10607" cy="432.796" rx="4.00000639160757" ry="4.12500659134529" fill="white"/>
<ellipse cx="199.10607" cy="432.796" rx="4.00000639160757" ry="4.12500659134529" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8240">
<path d="M 164.99386 414.89083 L 195.10607 432.8908 L 164.99386 450.8908 Z" fill="white"/>
<path d="M 164.99386 414.89083 L 195.10607 432.8908 L 164.99386 450.8908 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8239">
<text transform="translate(169.81196 425.8908)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8234">
<g id="Graphic_8237">
<ellipse cx="196.31137" cy="472.6647" rx="4.00000639160757" ry="4.12500659134532" fill="white"/>
<ellipse cx="196.31137" cy="472.6647" rx="4.00000639160757" ry="4.12500659134532" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8236">
<path d="M 162.19916 454.7595 L 192.31137 472.7595 L 162.19916 490.7595 Z" fill="white"/>
<path d="M 162.19916 454.7595 L 192.31137 472.7595 L 162.19916 490.7595 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8235">
<text transform="translate(167.01726 465.7595)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8233">
<line x1="201.30799" y1="472.85355" x2="211.27744" y2="473.2304" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8232">
<path d="M 211.27744 484.13664 L 211.27744 421.23305 L 226.7667 433.81376 L 226.7667 471.5559 Z" fill="#c0ffc0"/>
<path d="M 211.27744 484.13664 L 211.27744 421.23305 L 226.7667 433.81376 L 226.7667 471.5559 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(227.55213 428.12015) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8231">
<line x1="149.37656" y1="472.2595" x2="162.01726" y2="472.51003" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8230">
<line x1="152.17127" y1="388.03906" x2="164.81196" y2="388.28957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8229">
<line x1="152.17127" y1="294.63995" x2="164.81196" y2="294.89046" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8228">
<path d="M 259.96174 354.31442 L 259.96174 291.41083 L 275.451 303.99155 L 275.451 341.7337 Z" fill="#c0ffc0"/>
<path d="M 259.96174 354.31442 L 259.96174 291.41083 L 275.451 303.99155 L 275.451 341.7337 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(276.23643 298.29794) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8226">
<line x1="149.37656" y1="519.38476" x2="162.01726" y2="519.6353" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8225">
<line x1="195.6269" y1="519.3638" x2="208.0839" y2="519.3616" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8224">
<line x1="198.82044" y1="519.2005" x2="211.27744" y2="519.1982" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8220">
<g id="Graphic_8223">
<ellipse cx="196.31137" cy="519.76673" rx="4.00000639160756" ry="4.12500659134532" fill="white"/>
<ellipse cx="196.31137" cy="519.76673" rx="4.00000639160756" ry="4.12500659134532" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8222">
<path d="M 162.19916 501.8616 L 192.31137 519.8616 L 162.19916 537.8616 Z" fill="white"/>
<path d="M 162.19916 501.8616 L 192.31137 519.8616 L 162.19916 537.8616 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8221">
<text transform="translate(167.01726 512.8616)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8216">
<g id="Graphic_8219">
<ellipse cx="196.31137" cy="559.6354" rx="4.00000639160756" ry="4.1250065913453" fill="white"/>
<ellipse cx="196.31137" cy="559.6354" rx="4.00000639160756" ry="4.1250065913453" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8218">
<path d="M 162.19916 541.73027 L 192.31137 559.73027 L 162.19916 577.73027 Z" fill="white"/>
<path d="M 162.19916 541.73027 L 192.31137 559.73027 L 162.19916 577.73027 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8217">
<text transform="translate(167.01726 552.73027)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8215">
<line x1="201.30799" y1="559.8243" x2="211.27744" y2="560.20115" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8214">
<path d="M 211.27744 571.2477 L 211.27744 508.3441 L 226.7667 520.92484 L 226.7667 558.667 Z" fill="#c0ffc0"/>
<path d="M 211.27744 571.2477 L 211.27744 508.3441 L 226.7667 520.92484 L 226.7667 558.667 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(227.55213 515.2312) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8213">
<line x1="149.37656" y1="559.23027" x2="162.01726" y2="559.4808" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8274">
<path d="M 226.7667 541.5446 L 249.77723 541.5939 L 249.5 514.6982 L 264.14024 514.7491 L 264.41167 495.25087" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8273">
<path d="M 226.7667 447.48 L 249.5 447.3908 L 249.5 483.63664 L 264.14024 483.2491 L 264.41167 495.25087" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8227">
<path d="M 256.6232 529.8525 L 256.6232 466.9489 L 272.11246 479.5296 L 272.11246 517.27176 Z" fill="#c0ffc0"/>
<path d="M 256.6232 529.8525 L 256.6232 466.9489 L 272.11246 479.5296 L 272.11246 517.27176 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(272.89788 473.836) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8277">
<path d="M 272.61242 498.29424 L 298.5 497.96003 L 298.5 429.6774 L 321.4248 429.25 L 324.33 411.02354" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8276">
<path d="M 275.951 322.89825 L 299.5 323 L 299 393.53906 L 321.4248 393.25 L 324.33 411.02354" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8275">
<path d="M 316.58537 442.47534 L 316.58537 379.57174 L 332.07464 392.15246 L 332.07464 429.8946 Z" fill="#c0ffc0"/>
<path d="M 316.58537 442.47534 L 316.58537 379.57174 L 332.07464 392.15246 L 332.07464 429.8946 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(332.86006 386.45885) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8282">
<line x1="332.57464" y1="411.02354" x2="345.4386" y2="411.02354" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8278">
<g id="Graphic_8281">
<ellipse cx="379.7327" cy="410.9287" rx="4.0000063916076" ry="4.12500659134535" fill="white"/>
<ellipse cx="379.7327" cy="410.9287" rx="4.0000063916076" ry="4.12500659134535" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8280">
<path d="M 345.6205 393.02354 L 375.7327 411.02354 L 345.6205 429.02354 Z" fill="white"/>
<path d="M 345.6205 393.02354 L 375.7327 411.02354 L 345.6205 429.02354 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8279">
<text transform="translate(350.4386 404.02354)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8283">
<line x1="383.7327" y1="410.09614" x2="395.8734" y2="410.09614" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8284">
<line x1="239" y1="208.5" x2="238" y2="499.8616" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8285">
<line x1="232.42965" y1="191.16686" x2="244.57035" y2="184.5752" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_8286">
<line x1="238.85315" y1="136.15134" x2="238.85315" y2="124.0746" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8288">
<path d="M 238.5926 327.20073 L 222.07584 327.5 L 221.97568 343.59608" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8294">
<path d="M 238.91402 233.55182 L 222.94016 234.00223 L 222.84 250.0983" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8295">
<path d="M 238.3012 412.1013 L 220.06016 412.0005 L 219.6638 427.53443" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8296">
<path d="M 238 499.8616 L 219.33945 500.1823 L 219.22637 514.2972" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Graphic_8301">
<rect x="262.719" y="187.10925" width="49.56202" height="22.590742" fill="#ffc0c0"/>
<rect x="262.719" y="187.10925" width="49.56202" height="22.590742" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(267.719 190.6285)" fill="black">
<tspan font-family="Times New Roman" font-size="13" font-weight="400" fill="black" x=".4047909" y="12">Buffers</tspan>
</text>
</g>
<g id="Graphic_8300">
<text transform="translate(274.78554 162.65777)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in[1]</tspan>
</text>
</g>
<g id="Line_8299">
<line x1="288" y1="209.7" x2="287" y2="457.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8298">
<line x1="281.42965" y1="225.93805" x2="293.57035" y2="219.3464" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_8297">
<line x1="287.33708" y1="186.10934" x2="287.20808" y2="176.37404" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8302">
<path d="M 287.7225 278.46632 L 268.02016 278.54387 L 267.88704 297.34507" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8303">
<path d="M 287 457.5 L 264.5448 457.7512 L 264.47915 472.8279" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Graphic_8306">
<rect x="299.549" y="250.6304" width="49.56202" height="22.590742" fill="#ffc0c0"/>
<rect x="299.549" y="250.6304" width="49.56202" height="22.590742" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(304.549 254.14964)" fill="black">
<tspan font-family="Times New Roman" font-size="13" font-weight="400" fill="black" x=".4047909" y="12">Buffers</tspan>
</text>
</g>
<g id="Graphic_8305">
<text transform="translate(311.9931 224.73367)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in[2]</tspan>
</text>
</g>
<g id="Line_8304">
<line x1="324.33" y1="249.6304" x2="324.33" y2="238.44994" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8307">
<line x1="324.33" y1="274.22113" x2="324.33" y2="385.3621" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8308">
<line x1="238.88322" y1="160.74208" x2="239" y2="208.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8309">
<line x1="319.93395" y1="298.00248" x2="332.07464" y2="291.41083" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_8311">
<rect x="61.05118" y="237.27126" width="90" height="340.459" fill="#c0c0ff"/>
<rect x="61.05118" y="237.27126" width="90" height="340.459" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(66.05118 395.03348)" fill="black">
<tspan font-family="Times New Roman" font-size="11" font-weight="400" fill="black" x="10.97998" y="10">Configurable </tspan>
<tspan font-family="Times New Roman" font-size="11" font-weight="400" fill="black" x="8.074219" y="22.467285">Memory Bank</tspan>
</text>
</g>
<g id="Graphic_8313">
<text transform="translate(401.8767 403.76866)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">lut3_out</tspan>
</text>
</g>
<g id="Line_8396">
<line x1="299.5" y1="323" x2="345.4386" y2="322.93204" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8397">
<g id="Graphic_8400">
<ellipse cx="379.7327" cy="322.8203" rx="4.0000063916076" ry="4.12500659134533" fill="white"/>
<ellipse cx="379.7327" cy="322.8203" rx="4.0000063916076" ry="4.12500659134533" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8399">
<path d="M 345.6205 304.91514 L 375.7327 322.91514 L 345.6205 340.91514 Z" fill="white"/>
<path d="M 345.6205 304.91514 L 375.7327 322.91514 L 345.6205 340.91514 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8398">
<text transform="translate(350.4386 315.91514)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8402">
<line x1="385.4651" y1="321.98775" x2="397.60577" y2="321.98775" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8401">
<text transform="translate(406.2396 314.64814)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">lut2_out</tspan>
</text>
</g>
<g id="Graphic_8403">
<circle cx="298.99713" cy="323.40325" r="1.80000290304556" fill="black"/>
<circle cx="298.99713" cy="323.40325" r="1.80000290304556" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

View File

@ -0,0 +1,567 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="101.1126 173.02 453.5335 642.4166" width="453.5335" height="642.4166">
<defs>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.61719" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="400">
<font-face-src>
<font-face-name name="Courier"/>
</font-face-src>
</font-face>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-144.04297" underline-thickness="91.79688" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="700">
<font-face-src>
<font-face-name name="Courier-Bold"/>
</font-face-src>
</font-face>
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -3 6 6" markerWidth="6" markerHeight="6" color="black">
<g>
<path d="M 4 0 L 0 -1.5 L 0 1.5 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
</g>
</marker>
<font-face font-family="Courier" font-size="19" units-per-em="1000" underline-position="-144.04297" underline-thickness="91.79688" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="700">
<font-face-src>
<font-face-name name="Courier-Bold"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="16" panose-1="2 2 6 3 5 4 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="0" x-height="447.2656" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPSMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times" font-size="12" panose-1="0 0 5 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="0" x-height="453.6133" cap-height="661.6211" ascent="750" descent="-250" font-weight="400">
<font-face-src>
<font-face-name name="Times-Roman"/>
</font-face-src>
</font-face>
<font-face font-family="Times" font-size="12" panose-1="0 0 8 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-66.40625" underline-thickness="67.87109" slope="0" x-height="460.4492" cap-height="675.78125" ascent="750" descent="-250" font-weight="700">
<font-face-src>
<font-face-name name="Times-Bold"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="11" panose-1="2 2 6 3 5 4 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="0" x-height="447.2656" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPSMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="12" panose-1="2 2 5 3 5 4 5 9 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="-1361.0827" x-height="430.1758" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-style="italic" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPS-ItalicMT"/>
</font-face-src>
</font-face>
</defs>
<metadata> Produced by OmniGraffle 7.18\n2020-11-26 19:26:01 +0000</metadata>
<g id="lut_intermediate_buffer" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
<title>lut_intermediate_buffer</title>
<g id="lut_intermediate_buffer_Legend">
<title>Legend</title>
<g id="Graphic_8614">
<rect x="397.6" y="210.6" width="12.518235" height="36" fill="#c0ffff"/>
<path d="M 397.6 210.6 L 410.11823 210.6 L 410.11823 246.6 L 397.6 246.6 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_8613">
<rect x="442.8" y="210.6" width="12.518235" height="36" fill="#ffc0c0"/>
<path d="M 442.8 210.6 L 455.3182 210.6 L 455.3182 246.6 L 442.8 246.6 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_7731">
<rect x="102.1126" y="173.52" width="451.1256" height="28.08" fill="white"/>
<rect x="102.1126" y="173.52" width="451.1256" height="28.08" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(107.1126 175.56)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="31.53206" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">lut_intermediate_buffer</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> exist=“true circuit_model_name=“buf1x” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" x="160.55305" y="22">location_map=“</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="#011893" y="22">-</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="22">1-“</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="22">/&gt;</tspan>
</text>
</g>
<g id="Line_8609">
<line x1="421.2" y1="247.33333" x2="402.99364" y2="276.74384" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_8610">
<rect x="421.2" y="210.6" width="12.518235" height="36" fill="#ffffc0"/>
<path d="M 421.2 210.6 L 433.7182 210.6 L 433.7182 246.6 L 421.2 246.6 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_8611">
<text transform="translate(239 215.6)" fill="black">
<tspan font-family="Courier" font-size="19" font-weight="700" fill="black" x="0" y="18">location_map=“</tspan>
<tspan font-family="Courier" font-size="19" font-weight="700" fill="black" y="18">-</tspan>
<tspan font-family="Courier" font-size="19" font-weight="700" fill="#011893" y="18"> </tspan>
<tspan font-family="Courier" font-size="19" font-weight="700" fill="black" y="18">1 -“</tspan>
</text>
</g>
<g id="Line_8612">
<line x1="324.07204" y1="202.08529" x2="320.17317" y2="217.80173" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8615">
<line x1="396.0419" y1="246.66667" x2="264.03478" y2="266.45852" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
</g>
<g id="lut_intermediate_buffer_LUT_MUX">
<title>LUT_MUX</title>
<g id="Line_8268">
<line x1="192.96" y1="254.61017" x2="214.07214" y2="254.6079" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8258">
<path d="M 214.07214 306.51707 L 214.07214 243.61348 L 229.5614 256.1942 L 229.5614 293.93635 Z" fill="#c0ffc0"/>
<path d="M 214.07214 306.51707 L 214.07214 243.61348 L 229.5614 256.1942 L 229.5614 293.93635 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 250.5006) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8396">
<line x1="192.96" y1="289.80225" x2="213.22474" y2="289.8" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8397">
<line x1="230.0614" y1="274.56753" x2="245.55068" y2="274.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8523">
<g id="Line_8401">
<line x1="258.2" y1="292.8196" x2="279.31214" y2="292.81735" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8400">
<path d="M 279.31214 344.7265 L 279.31214 281.82292 L 294.8014 294.40364 L 294.8014 332.1458 Z" fill="#c0ffc0"/>
<path d="M 279.31214 344.7265 L 279.31214 281.82292 L 294.8014 294.40364 L 294.8014 332.1458 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(295.58683 288.71003) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8399">
<line x1="258.2" y1="328.0117" x2="278.46474" y2="328.00944" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8398">
<line x1="295.3014" y1="312.77697" x2="310.79068" y2="312.70944" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Line_8405">
<line x1="192.96" y1="323.8367" x2="214.07214" y2="323.83443" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8404">
<path d="M 214.07214 375.7436 L 214.07214 312.84 L 229.5614 325.4207 L 229.5614 363.16287 Z" fill="#c0ffc0"/>
<path d="M 214.07214 375.7436 L 214.07214 312.84 L 229.5614 325.4207 L 229.5614 363.16287 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 319.7271) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8403">
<line x1="192.96" y1="359.02877" x2="213.22474" y2="359.0265" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8402">
<line x1="230.0614" y1="343.79405" x2="245.55068" y2="343.7265" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8421">
<line x1="192.96" y1="402.6767" x2="214.07214" y2="402.67443" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8420">
<path d="M 214.07214 454.5836 L 214.07214 391.68 L 229.5614 404.2607 L 229.5614 442.00287 Z" fill="#c0ffc0"/>
<path d="M 214.07214 454.5836 L 214.07214 391.68 L 229.5614 404.2607 L 229.5614 442.00287 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 398.5671) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8419">
<line x1="192.96" y1="437.86876" x2="213.22474" y2="437.8665" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8418">
<line x1="230.0614" y1="422.63405" x2="245.55068" y2="422.5665" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8413">
<line x1="192.96" y1="471.9032" x2="214.07214" y2="471.90094" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8412">
<path d="M 214.07214 523.8101 L 214.07214 460.9065 L 229.5614 473.4872 L 229.5614 511.2294 Z" fill="#c0ffc0"/>
<path d="M 214.07214 523.8101 L 214.07214 460.9065 L 229.5614 473.4872 L 229.5614 511.2294 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 467.7936) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8411">
<line x1="192.96" y1="507.0953" x2="213.22474" y2="507.093" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8410">
<line x1="230.0614" y1="491.86056" x2="245.55068" y2="491.79303" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8449">
<line x1="192.96" y1="545.2367" x2="214.07214" y2="545.2344" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8448">
<path d="M 214.07214 597.1436 L 214.07214 534.24 L 229.5614 546.8207 L 229.5614 584.5629 Z" fill="#c0ffc0"/>
<path d="M 214.07214 597.1436 L 214.07214 534.24 L 229.5614 546.8207 L 229.5614 584.5629 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 541.1271) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8447">
<line x1="192.96" y1="580.42876" x2="213.22474" y2="580.4265" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8446">
<line x1="230.0614" y1="565.19404" x2="245.55068" y2="565.1265" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8441">
<line x1="192.96" y1="614.4632" x2="214.07214" y2="614.46094" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8440">
<path d="M 214.07214 666.3701 L 214.07214 603.4665 L 229.5614 616.0472 L 229.5614 653.7894 Z" fill="#c0ffc0"/>
<path d="M 214.07214 666.3701 L 214.07214 603.4665 L 229.5614 616.0472 L 229.5614 653.7894 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 610.3536) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8439">
<line x1="192.96" y1="649.6553" x2="213.22474" y2="649.653" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8438">
<line x1="230.0614" y1="634.42056" x2="245.55068" y2="634.353" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8435">
<line x1="192.96" y1="693.3032" x2="214.07214" y2="693.3009" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8434">
<path d="M 214.07214 745.2101 L 214.07214 682.3065 L 229.5614 694.8872 L 229.5614 732.6294 Z" fill="#c0ffc0"/>
<path d="M 214.07214 745.2101 L 214.07214 682.3065 L 229.5614 694.8872 L 229.5614 732.6294 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 689.1936) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8433">
<line x1="192.96" y1="728.4953" x2="213.22474" y2="728.493" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8432">
<line x1="230.0614" y1="713.26056" x2="245.55068" y2="713.193" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8427">
<line x1="192.96" y1="762.5297" x2="214.07214" y2="762.52745" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8426">
<path d="M 214.07214 814.4366 L 214.07214 751.533 L 229.5614 764.1137 L 229.5614 801.8559 Z" fill="#c0ffc0"/>
<path d="M 214.07214 814.4366 L 214.07214 751.533 L 229.5614 764.1137 L 229.5614 801.8559 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 758.4201) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8425">
<line x1="192.96" y1="797.7218" x2="213.22474" y2="797.7195" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8424">
<line x1="230.0614" y1="782.4871" x2="245.55068" y2="782.4195" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8521">
<rect x="240.2" y="255.6" width="18" height="538.56" fill="#c0ffff"/>
<path d="M 240.2 255.6 L 258.2 255.6 L 258.2 794.16 L 240.2 794.16 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Group_8524">
<g id="Line_8528">
<line x1="258.2" y1="437.2367" x2="279.31214" y2="437.2344" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8527">
<path d="M 279.31214 489.1436 L 279.31214 426.24 L 294.8014 438.8207 L 294.8014 476.56287 Z" fill="#c0ffc0"/>
<path d="M 279.31214 489.1436 L 279.31214 426.24 L 294.8014 438.8207 L 294.8014 476.56287 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(295.58683 433.1271) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8526">
<line x1="258.2" y1="472.42876" x2="278.46474" y2="472.4265" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8525">
<line x1="295.3014" y1="457.19405" x2="310.79068" y2="457.1265" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Group_8529">
<g id="Line_8533">
<line x1="258.2" y1="583.4461" x2="279.31214" y2="583.4439" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8532">
<path d="M 279.31214 635.353 L 279.31214 572.4494 L 294.8014 585.03015 L 294.8014 622.7723 Z" fill="#c0ffc0"/>
<path d="M 279.31214 635.353 L 279.31214 572.4494 L 294.8014 585.03015 L 294.8014 622.7723 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(295.58683 579.33654) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8531">
<line x1="258.2" y1="618.6382" x2="278.46474" y2="618.63595" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8530">
<line x1="295.3014" y1="603.4035" x2="310.79068" y2="603.33595" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Group_8534">
<g id="Line_8538">
<line x1="258.2" y1="728.4767" x2="279.31214" y2="728.4744" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8537">
<path d="M 279.31214 780.3836 L 279.31214 717.48 L 294.8014 730.0607 L 294.8014 767.8029 Z" fill="#c0ffc0"/>
<path d="M 279.31214 780.3836 L 279.31214 717.48 L 294.8014 730.0607 L 294.8014 767.8029 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(295.58683 724.3671) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8536">
<line x1="258.2" y1="763.6688" x2="278.46474" y2="763.6665" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8535">
<line x1="295.3014" y1="748.434" x2="310.79068" y2="748.3665" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8539">
<rect x="310.79068" y="281.82292" width="104.64932" height="501.5966" fill="#ffffc0"/>
<path d="M 310.79068 281.82292 L 415.44 281.82292 L 415.44 783.4195 L 310.79068 783.4195 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Group_8540">
<g id="Line_8544">
<line x1="408.24" y1="370.0232" x2="429.35214" y2="370.02094" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8543">
<path d="M 429.35214 421.9301 L 429.35214 359.0265 L 444.8414 371.60723 L 444.8414 409.3494 Z" fill="#c0ffc0"/>
<path d="M 429.35214 421.9301 L 429.35214 359.0265 L 444.8414 371.60723 L 444.8414 409.3494 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(445.62683 365.9136) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8542">
<line x1="408.24" y1="405.2153" x2="428.50474" y2="405.21303" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8541">
<line x1="445.3414" y1="389.98056" x2="460.83067" y2="389.91303" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Group_8545">
<g id="Line_8549">
<line x1="408.24" y1="649.0562" x2="429.35214" y2="649.054" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8548">
<path d="M 429.35214 700.9631 L 429.35214 638.05954 L 444.8414 650.6403 L 444.8414 688.3824 Z" fill="#c0ffc0"/>
<path d="M 429.35214 700.9631 L 429.35214 638.05954 L 444.8414 650.6403 L 444.8414 688.3824 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(445.62683 644.94665) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8547">
<line x1="408.24" y1="684.2483" x2="428.50474" y2="684.2461" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8546">
<line x1="445.3414" y1="669.0136" x2="460.83067" y2="668.9461" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8550">
<rect x="462.97716" y="382.4265" width="21.112148" height="304.92" fill="#ffc0c0"/>
<path d="M 462.97716 382.4265 L 484.0893 382.4265 L 484.0893 687.3465 L 462.97716 687.3465 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Group_8551">
<g id="Line_8555">
<line x1="484.0893" y1="506.49624" x2="505.20146" y2="506.494" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8554">
<path d="M 505.20146 558.40314 L 505.20146 495.49955 L 520.6907 508.08027 L 520.6907 545.8224 Z" fill="#c0ffc0"/>
<path d="M 505.20146 558.40314 L 505.20146 495.49955 L 520.6907 508.08027 L 520.6907 545.8224 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(521.47615 502.38666) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8553">
<line x1="484.0893" y1="541.6883" x2="504.35405" y2="541.68606" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8552">
<line x1="521.1907" y1="526.4536" x2="536.68" y2="526.3861" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Group_8556">
<g id="Graphic_8559">
<ellipse cx="357.7341" cy="313.17988" rx="4.00000639160763" ry="4.12500659134532" fill="white"/>
<ellipse cx="357.7341" cy="313.17988" rx="4.00000639160763" ry="4.12500659134532" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8558">
<path d="M 323.6219 295.27472 L 353.7341 313.2747 L 323.6219 331.2747 Z" fill="white"/>
<path d="M 323.6219 295.27472 L 353.7341 313.2747 L 323.6219 331.2747 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8557">
<text transform="translate(328.44 306.2747)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8560">
<g id="Graphic_8563">
<ellipse cx="396.7293" cy="313.17988" rx="4.00000639160758" ry="4.12500659134532" fill="white"/>
<ellipse cx="396.7293" cy="313.17988" rx="4.00000639160758" ry="4.12500659134532" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8562">
<path d="M 362.6171 295.27472 L 392.7293 313.2747 L 362.6171 331.2747 Z" fill="white"/>
<path d="M 362.6171 295.27472 L 392.7293 313.2747 L 362.6171 331.2747 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8561">
<text transform="translate(367.4352 306.2747)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8564">
<line x1="310.79068" y1="312.70944" x2="323.44" y2="313.00653" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8565">
<path d="M 401.72914 313.13684 L 408.85197 313.07552 L 408.24 370.0232" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8566">
<line x1="238.32548" y1="274.5315" x2="258.2" y2="292.8196" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8571">
<g id="Graphic_8574">
<ellipse cx="353.8476" cy="457.59695" rx="4.0000063916076" ry="4.12500659134535" fill="white"/>
<ellipse cx="353.8476" cy="457.59695" rx="4.0000063916076" ry="4.12500659134535" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8573">
<path d="M 319.7354 439.6918 L 349.8476 457.6918 L 319.7354 475.6918 Z" fill="white"/>
<path d="M 319.7354 439.6918 L 349.8476 457.6918 L 319.7354 475.6918 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8572">
<text transform="translate(324.5535 450.6918)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8567">
<g id="Graphic_8570">
<ellipse cx="392.8428" cy="457.59695" rx="4.00000639160758" ry="4.12500659134535" fill="white"/>
<ellipse cx="392.8428" cy="457.59695" rx="4.00000639160758" ry="4.12500659134535" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8569">
<path d="M 358.7306 439.6918 L 388.8428 457.6918 L 358.7306 475.6918 Z" fill="white"/>
<path d="M 358.7306 439.6918 L 388.8428 457.6918 L 358.7306 475.6918 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8568">
<text transform="translate(363.5487 450.6918)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8575">
<line x1="310.79068" y1="457.1265" x2="319.5535" y2="457.37195" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8576">
<path d="M 397.84073 457.44847 L 408.0001 457.14666 L 408.24 405.2153" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8591">
<g id="Graphic_8594">
<ellipse cx="353.0467" cy="606.14515" rx="4.00000639160761" ry="4.1250065913453" fill="white"/>
<ellipse cx="353.0467" cy="606.14515" rx="4.00000639160761" ry="4.1250065913453" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8593">
<path d="M 318.9345 588.24 L 349.0467 606.24 L 318.9345 624.24 Z" fill="white"/>
<path d="M 318.9345 588.24 L 349.0467 606.24 L 318.9345 624.24 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8592">
<text transform="translate(323.7526 599.24)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8587">
<g id="Graphic_8590">
<ellipse cx="392.0419" cy="606.14515" rx="4.00000639160763" ry="4.1250065913453" fill="white"/>
<ellipse cx="392.0419" cy="606.14515" rx="4.00000639160763" ry="4.1250065913453" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8589">
<path d="M 357.9297 588.24 L 388.0419 606.24 L 357.9297 624.24 Z" fill="white"/>
<path d="M 357.9297 588.24 L 388.0419 606.24 L 357.9297 624.24 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8588">
<text transform="translate(362.7478 599.24)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8586">
<path d="M 397.0418 606.1128 L 408.16457 606.0408 L 408.24 649.0562" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8582">
<g id="Graphic_8585">
<ellipse cx="349.1602" cy="750.5622" rx="4.00000639160763" ry="4.12500659134533" fill="white"/>
<ellipse cx="349.1602" cy="750.5622" rx="4.00000639160763" ry="4.12500659134533" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8584">
<path d="M 315.048 732.6571 L 345.1602 750.6571 L 315.048 768.6571 Z" fill="white"/>
<path d="M 315.048 732.6571 L 345.1602 750.6571 L 315.048 768.6571 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8583">
<text transform="translate(319.8661 743.6571)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8578">
<g id="Graphic_8581">
<ellipse cx="388.1554" cy="750.5622" rx="4.00000639160761" ry="4.12500659134533" fill="white"/>
<ellipse cx="388.1554" cy="750.5622" rx="4.00000639160761" ry="4.12500659134533" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8580">
<path d="M 354.0432 732.6571 L 384.1554 750.6571 L 354.0432 768.6571 Z" fill="white"/>
<path d="M 354.0432 732.6571 L 384.1554 750.6571 L 354.0432 768.6571 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8579">
<text transform="translate(358.8613 743.6571)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8577">
<path d="M 393.1542 750.4487 L 407.97935 750.1119 L 408.24 684.2483" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8595">
<line x1="309.98976" y1="603.4665" x2="318.7526" y2="603.71194" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8596">
<line x1="306.10327" y1="748.4318" x2="314.8661" y2="748.6772" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8597">
<line x1="238.33082" y1="343.758" x2="258.2" y2="328.0117" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8598">
<line x1="238.33402" y1="491.8245" x2="258.2" y2="472.42876" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8599">
<line x1="239.67942" y1="422.5921" x2="258.2" y2="437.2367" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8600">
<line x1="240.2" y1="781.9232" x2="259.3993" y2="763.8608" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8601">
<line x1="239.60034" y1="635.5334" x2="258.79965" y2="617.471" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8602">
<line x1="239.60034" y1="565.1265" x2="258.1209" y2="583.1044" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8603">
<line x1="240.87873" y1="711.5151" x2="259.3993" y2="729.493" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8604">
<line x1="460.83067" y1="389.91303" x2="484.0893" y2="506.49624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8605">
<line x1="460.83067" y1="668.9461" x2="484.0893" y2="541.6883" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8606">
<rect x="102.1126" y="243.61348" width="90" height="570.82314" fill="#c0c0ff"/>
<rect x="102.1126" y="243.61348" width="90" height="570.82314" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(107.1126 516.55776)" fill="black">
<tspan font-family="Times New Roman" font-size="11" font-weight="400" fill="black" x="10.97998" y="10">Configurable </tspan>
<tspan font-family="Times New Roman" font-size="11" font-weight="400" fill="black" x="8.074219" y="22.467285">Memory Bank</tspan>
</text>
</g>
<g id="Graphic_8607">
<text transform="translate(539.3121 517.6251)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">out</tspan>
</text>
</g>
<g id="Line_8616">
<line x1="451.8294" y1="247.09448" x2="471.1631" y2="376.1651" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -0,0 +1,364 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="156.96 201.47352 710.0226 352.01553" width="710.0226" height="352.01553">
<defs>
<font-face font-family="Times New Roman" font-size="15" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
<font-face-src>
<font-face-name name="TimesNewRomanPS-BoldMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="12" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
<font-face-src>
<font-face-name name="TimesNewRomanPS-BoldMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="15" panose-1="2 2 7 3 6 5 5 9 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="-1088.8662" x-height="438.96484" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-style="italic" font-weight="700">
<font-face-src>
<font-face-name name="TimesNewRomanPS-BoldItalicMT"/>
</font-face-src>
</font-face>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.61719" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="400">
<font-face-src>
<font-face-name name="Courier"/>
</font-face-src>
</font-face>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-144.04297" underline-thickness="91.79688" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="700">
<font-face-src>
<font-face-name name="Courier-Bold"/>
</font-face-src>
</font-face>
</defs>
<metadata> Produced by OmniGraffle 7.18\n2020-11-26 19:31:38 +0000</metadata>
<g id="native_frac_lut" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
<title>native_frac_lut</title>
<g id="native_frac_lut_Schematic">
<title>Schematic</title>
<g id="Graphic_182">
<path d="M 445.8387 459.4442 L 445.8387 410.8069 L 458.0235 420.53437 L 458.0235 449.71675 Z" fill="#0779ff"/>
<path d="M 445.8387 459.4442 L 445.8387 410.8069 L 458.0235 420.53437 L 458.0235 449.71675 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_181">
<path d="M 400.2386 542.80783 L 400.2386 494.17053 L 412.4234 503.898 L 412.4234 533.0804 Z" fill="#0779ff"/>
<path d="M 400.2386 542.80783 L 400.2386 494.17053 L 412.4234 503.898 L 412.4234 533.0804 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_180">
<path d="M 396.4454 381.24817 L 396.4454 332.61087 L 408.6302 342.33833 L 408.6302 371.5207 Z" fill="#0779ff"/>
<path d="M 396.4454 381.24817 L 396.4454 332.61087 L 408.6302 342.33833 L 408.6302 371.5207 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_162">
<path d="M 244.8453 253.25 L 403.0494 253.38043 L 403.5 336.11087" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_160">
<path d="M 397.7022 229.61944 L 451.63536 229.70474 L 452 414.3069" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_159">
<rect x="266.1987" y="268.50534" width="56.5337" height="55" fill="#0679ff"/>
<rect x="266.1987" y="268.50534" width="56.5337" height="55" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(271.1987 287.68674)" fill="white">
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="1.5981503" y="13">4-LUT</tspan>
</text>
</g>
<g id="Line_146">
<line x1="183.23692" y1="311.22365" x2="264.92635" y2="311.37596" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_139">
<line x1="183.237" y1="285.12746" x2="264.92644" y2="285.27977" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_138">
<line x1="183.237" y1="295.08153" x2="264.92644" y2="295.23384" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_137">
<line x1="183.237" y1="303.1526" x2="264.92644" y2="303.3049" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_136">
<rect x="266.1987" y="336.91364" width="56.5337" height="55" fill="#0679ff"/>
<rect x="266.1987" y="336.91364" width="56.5337" height="55" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(271.1987 356.09503)" fill="white">
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="1.5981503" y="13">4-LUT</tspan>
</text>
</g>
<g id="Line_133">
<path d="M 214.92743 311.28273 L 214.92644 382.57344 L 264.92635 382.8171" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_132">
<path d="M 243.92472 285.2406 L 244.02132 355.3171 L 265.55782 355.41672" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_131">
<path d="M 234.42576 295.17697 L 234.92644 365.3171 L 265.55782 365.3708" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_130">
<path d="M 224.92566 303.2303 L 225.42644 373.73916 L 265.55782 373.44185" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_129">
<ellipse cx="243.92516" cy="285.56513" rx="2.58243758861827" ry="2.75000439423021" fill="black"/>
<ellipse cx="243.92516" cy="285.56513" rx="2.58243758861827" ry="2.75000439423021" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_128">
<ellipse cx="234.50867" cy="295.17712" rx="2.58243758861829" ry="2.75000439423018" fill="black"/>
<ellipse cx="234.50867" cy="295.17712" rx="2.58243758861829" ry="2.75000439423018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_127">
<ellipse cx="224.928" cy="303.56055" rx="2.58243758861826" ry="2.7500043942302" fill="black"/>
<ellipse cx="224.928" cy="303.56055" rx="2.58243758861826" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_126">
<ellipse cx="214.92743" cy="311.5671" rx="2.58243758861826" ry="2.75000439423018" fill="black"/>
<ellipse cx="214.92743" cy="311.5671" rx="2.58243758861826" ry="2.75000439423018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_124">
<path d="M 322.64576 282.8673 L 382.20353 282.74957 L 382.44004 340.27496 L 395.6073 340.24957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_123">
<line x1="322.64576" y1="374.58626" x2="395.6073" y2="374.24957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_115">
<rect x="266.7135" y="429.08075" width="56.5337" height="55" fill="#0679ff"/>
<rect x="266.7135" y="429.08075" width="56.5337" height="55" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(271.7135 448.26215)" fill="white">
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="1.5981503" y="13">4-LUT</tspan>
</text>
</g>
<g id="Line_102">
<line x1="215.21317" y1="472.01214" x2="265.44113" y2="471.95137" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_95">
<line x1="244.8453" y1="445.75567" x2="265.44122" y2="445.8552" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_94">
<line x1="227.51044" y1="463.75567" x2="265.44122" y2="463.8803" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_93">
<rect x="266.7135" y="497.48905" width="56.5337" height="55" fill="#0679ff"/>
<rect x="266.7135" y="497.48905" width="56.5337" height="55" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(271.7135 516.67044)" fill="white">
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="1.5981503" y="13">4-LUT</tspan>
</text>
</g>
<g id="Line_90">
<path d="M 214.92644 382.57344 L 215.44122 543.14885 L 265.44113 543.3925" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_89">
<path d="M 244.02132 355.3171 L 243.93448 516.25567 L 266.0726 515.99213" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_88">
<path d="M 234.93664 368.5361 L 235.44122 525.8925 L 266.0726 525.9462" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_87">
<path d="M 225.42644 373.73916 L 225.94122 534.31457 L 266.0726 534.01726" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_86">
<ellipse cx="244.02132" cy="355.3171" rx="2.58243758861826" ry="2.75000439423023" fill="black"/>
<ellipse cx="244.02132" cy="355.3171" rx="2.58243758861826" ry="2.75000439423023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_85">
<ellipse cx="234.92622" cy="365.2861" rx="2.58243758861826" ry="2.7500043942302" fill="black"/>
<ellipse cx="234.92622" cy="365.2861" rx="2.58243758861826" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_84">
<ellipse cx="215.21072" cy="471.24786" rx="2.58243758861825" ry="2.75000439423021" fill="black"/>
<ellipse cx="215.21072" cy="471.24786" rx="2.58243758861825" ry="2.75000439423021" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_83">
<ellipse cx="214.92645" cy="381.73065" rx="2.58243758861827" ry="2.7500043942302" fill="black"/>
<ellipse cx="214.92645" cy="381.73065" rx="2.58243758861827" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_81">
<line x1="324.6664" y1="534.89426" x2="397.8194" y2="535.24957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_73">
<text transform="translate(398.2048 334.5209)" fill="white">
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="11">L</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="25.509766">U</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="40.01953">T</tspan>
</text>
</g>
<g id="Line_72">
<path d="M 324.85785 444.2116 L 384.4156 444.09386 L 384.65213 501.61925 L 397.8194 501.59386" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_70">
<text transform="translate(402.1326 496.01775)" fill="white">
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="11">L</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="25.509766">U</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="40.01953">T</tspan>
</text>
</g>
<g id="Line_69">
<path d="M 257.89472 416.2586 L 408.3739 416.4733 L 408.6302 497.17053" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_68">
<ellipse cx="256.37813" cy="253.2595" rx="2.58243758861827" ry="2.75000439423021" fill="black"/>
<ellipse cx="256.37813" cy="253.2595" rx="2.58243758861827" ry="2.75000439423021" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_67">
<line x1="256.40836" y1="256.50935" x2="257.89472" y2="416.2586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_65">
<text transform="translate(447.8648 413.3609)" fill="white">
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="11">L</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="25.509766">U</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="40.01953">T</tspan>
</text>
</g>
<g id="Line_64">
<path d="M 410.94586 356.1167 L 427.4244 355.78574 L 427.37316 422.33634 L 442.92514 422.46665" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_63">
<path d="M 413.4616 514.7606 L 427.33544 514.4572 L 427.4244 448.39054 L 444.8005 448.49957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_62">
<line x1="458.1989" y1="435.12556" x2="478.98" y2="435.12556" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_56">
<text transform="translate(159.95758 219.6969)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in0</tspan>
</text>
</g>
<g id="Graphic_55">
<text transform="translate(160.95758 244.97972)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in1</tspan>
</text>
</g>
<g id="Graphic_54">
<text transform="translate(160.95758 273.70744)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in2</tspan>
</text>
</g>
<g id="Graphic_53">
<text transform="translate(159.95758 284.87993)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in3</tspan>
</text>
</g>
<g id="Graphic_52">
<text transform="translate(158.9574 297.61358)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in4</tspan>
</text>
</g>
<g id="Graphic_51">
<text transform="translate(158.9574 309.19286)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in5</tspan>
</text>
</g>
<g id="Line_33">
<line x1="427.4244" y1="355.78574" x2="471.96" y2="355.5281" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_32">
<ellipse cx="425.71514" cy="355.82007" rx="2.58243758861829" ry="2.75000439423023" fill="black"/>
<ellipse cx="425.71514" cy="355.82007" rx="2.58243758861829" ry="2.75000439423023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_22">
<line x1="397.7022" y1="229.61944" x2="183.3948" y2="229.40767" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_12">
<line x1="244.8453" y1="253.25" x2="182.96475" y2="253.29047" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_11">
<line x1="235.20588" y1="455.67115" x2="266.42914" y2="455.7123" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_10">
<ellipse cx="225.71512" cy="463.78747" rx="2.58243758861827" ry="2.7500043942302" fill="black"/>
<ellipse cx="225.71512" cy="463.78747" rx="2.58243758861827" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_9">
<ellipse cx="235.21472" cy="455.25606" rx="2.58243758861827" ry="2.75000439423018" fill="black"/>
<ellipse cx="235.21472" cy="455.25606" rx="2.58243758861827" ry="2.75000439423018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_8">
<ellipse cx="243.97255" cy="445.7026" rx="2.58243758861827" ry="2.75000439423017" fill="black"/>
<ellipse cx="243.97255" cy="445.7026" rx="2.58243758861827" ry="2.75000439423017" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_3">
<ellipse cx="426.83577" cy="514.2146" rx="2.58243758861829" ry="2.7500043942302" fill="black"/>
<ellipse cx="426.83577" cy="514.2146" rx="2.58243758861829" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_165">
<line x1="427.33544" y1="514.4572" x2="471.96" y2="514.28247" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_166">
<rect x="478.98" y="425.37773" width="58.92155" height="19.49567" fill="#ccc"/>
<text transform="translate(482.59726 426.80696)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut6_out</tspan>
</text>
</g>
<g id="Graphic_167">
<rect x="471.96" y="345.56925" width="72.96155" height="19.49567" fill="#c0ffc0"/>
<text transform="translate(473.85214 346.99848)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut5_out[0]</tspan>
</text>
</g>
<g id="Graphic_168">
<rect x="471.96" y="504.3914" width="73.152985" height="19.49567" fill="#c0ffc0"/>
<text transform="translate(473.94786 505.8206)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut5_out[1]</tspan>
</text>
</g>
<g id="Graphic_169">
<rect x="476.28" y="273.22016" width="72.96155" height="19.49567" fill="#ffc0c0"/>
<text transform="translate(478.17214 274.6494)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut4_out[0]</tspan>
</text>
</g>
<g id="Graphic_170">
<rect x="473.14725" y="463.7882" width="72.96155" height="19.49567" fill="#ffc0c0"/>
<text transform="translate(475.0394 465.2174)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut4_out[1]</tspan>
</text>
</g>
<g id="Line_171">
<line x1="384.53553" y1="473.2581" x2="473.14725" y2="473.45496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_172">
<ellipse cx="384.53245" cy="472.5083" rx="2.58243758861826" ry="2.75000439423018" fill="black"/>
<ellipse cx="384.53245" cy="472.5083" rx="2.58243758861826" ry="2.75000439423018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_174">
<line x1="385.28686" y1="282.968" x2="476.28" y2="282.968" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_173">
<ellipse cx="382.20443" cy="282.968" rx="2.5824375886183" ry="2.7500043942302" fill="black"/>
<ellipse cx="382.20443" cy="282.968" rx="2.5824375886183" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
</g>
<g id="native_frac_lut_Legend">
<title>Legend</title>
<g id="Graphic_176">
<rect x="189.72" y="201.97352" width="274.68" height="19.49567" fill="#ffff80"/>
<rect x="189.72" y="201.97352" width="274.68" height="19.49567" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(194.72 205.72135)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="9.319977" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“input” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10">prefix=“in” size=“6”/&gt;</tspan>
</text>
</g>
<g id="Graphic_177">
<rect x="553.68" y="266.51615" width="307.8" height="32.903695" fill="#ffc0c0"/>
<rect x="553.68" y="266.51615" width="307.8" height="32.903695" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(558.68 270.968)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="10.877533" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“output” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10">prefix=“lut4_out” size=“2” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="22.879486" y="22">lut_frac_level=“4” lut_output_mask=“0,2”/&gt;</tspan>
</text>
</g>
<g id="Graphic_178">
<rect x="556.2" y="338.86523" width="307.8" height="32.903695" fill="#c0ffc0"/>
<rect x="556.2" y="338.86523" width="307.8" height="32.903695" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(561.2 343.3171)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="10.877533" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“output” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10">prefix=“lut5_out” size=“2” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="22.879486" y="22">lut_frac_level=“5” lut_output_mask=“0,1”/&gt;</tspan>
</text>
</g>
<g id="Graphic_179">
<rect x="558.6826" y="418.6737" width="307.8" height="32.903695" fill="#ccc"/>
<rect x="558.6826" y="418.6737" width="307.8" height="32.903695" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(563.6826 423.12556)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="10.877533" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“output” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10">prefix=“lut6_out” size=“1” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="28.880463" y="22">lut_frac_level=“6” lut_output_mask=“0”/&gt;</tspan>
</text>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,769 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="39.1 77.74509 484.55926 564.4792" width="484.55926" height="564.4792">
<defs>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.61719" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="400">
<font-face-src>
<font-face-name name="Courier"/>
</font-face-src>
</font-face>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-144.04297" underline-thickness="91.79688" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="700">
<font-face-src>
<font-face-name name="Courier-Bold"/>
</font-face-src>
</font-face>
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -3 6 6" markerWidth="6" markerHeight="6" color="black">
<g>
<path d="M 4 0 L 0 -1.5 L 0 1.5 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
</g>
</marker>
<font-face font-family="Times New Roman" font-size="13" panose-1="2 2 6 3 5 4 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="0" x-height="447.2656" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPSMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="12" panose-1="2 2 5 3 5 4 5 9 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="-1361.0827" x-height="430.1758" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-style="italic" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPS-ItalicMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times" font-size="12" panose-1="0 0 5 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="0" x-height="453.6133" cap-height="661.6211" ascent="750" descent="-250" font-weight="400">
<font-face-src>
<font-face-name name="Times-Roman"/>
</font-face-src>
</font-face>
<font-face font-family="Times" font-size="12" panose-1="0 0 8 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-66.40625" underline-thickness="67.87109" slope="0" x-height="460.4492" cap-height="675.78125" ascent="750" descent="-250" font-weight="700">
<font-face-src>
<font-face-name name="Times-Bold"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="16" panose-1="2 2 6 3 5 4 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="0" x-height="447.2656" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPSMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="11" panose-1="2 2 6 3 5 4 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="0" x-height="447.2656" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="400">
<font-face-src>
<font-face-name name="TimesNewRomanPSMT"/>
</font-face-src>
</font-face>
</defs>
<metadata> Produced by OmniGraffle 7.18\n2020-11-26 19:26:01 +0000</metadata>
<g id="single_lut3_example" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
<title>single_lut3_example</title>
<g id="single_lut3_example_Legend">
<title>Legend</title>
<g id="Graphic_7730">
<rect x="159.9008" y="225.52716" width="45.73276" height="352.2031" fill="#c0ffff"/>
<path d="M 159.9008 225.52716 L 205.63355 225.52716 L 205.63355 577.73027 L 159.9008 577.73027 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_8109">
<rect x="323.1021" y="477.73624" width="160.47677" height="163.98805" fill="#c0ffc0"/>
<path d="M 323.1021 477.73624 L 483.57887 477.73624 L 483.57887 641.7243 L 323.1021 641.7243 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_7792">
<rect x="39.6" y="173.1131" width="181.44" height="29.51586" fill="#c0ffff"/>
<rect x="39.6" y="173.1131" width="181.44" height="29.51586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(44.6 175.87103)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="10.707794" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">input_buffer</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> exist=“true </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="1.7063293" y="22">circuit_model_name=“inv1x”/&gt;</tspan>
</text>
</g>
<g id="Graphic_7793">
<rect x="55.344314" y="610.0443" width="251.64" height="31.68" fill="#c0ffc0"/>
<rect x="55.344314" y="610.0443" width="251.64" height="31.68" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(60.34431 613.8843)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="72.81219" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">pass_gate_logic</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="0" y="22">circuit_model_name=“transmission_gate”/&gt; </tspan>
</text>
</g>
<g id="Line_7795">
<line x1="142.55234" y1="203.01795" x2="156.19392" y2="219.9099" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_7731">
<rect x="307.60817" y="78.24509" width="196.78681" height="29.51586" fill="#ccc"/>
<rect x="307.60817" y="78.24509" width="196.78681" height="29.51586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(312.60817 81.00302)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="6.3792496" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">lut_input_buffer</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> exist=“true </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="9.379738" y="22">circuit_model_name=“buf2x”/&gt;</tspan>
</text>
</g>
<g id="Line_7799">
<line x1="384.92" y1="166" x2="270.48488" y2="152.248" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_7803">
<rect x="341.71926" y="334.57902" width="181.44" height="29.51586" fill="#ffffc0"/>
<rect x="341.71926" y="334.57902" width="181.44" height="29.51586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(346.71926 337.33695)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="4.7068176" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">output_buffer</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> exist=“true” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="1.7063293" y="22">circuit_model_name=“inv1x”/&gt;</tspan>
</text>
</g>
<g id="Graphic_8098">
<rect x="214.07214" y="137.15134" width="49.56202" height="22.590742" fill="#ffc0c0"/>
<rect x="214.07214" y="137.15134" width="49.56202" height="22.590742" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(219.07214 140.67059)" fill="black">
<tspan font-family="Times New Roman" font-size="13" font-weight="400" fill="black" x=".4047909" y="12">Buffers</tspan>
</text>
</g>
<g id="Graphic_8119">
<rect x="92.27476" y="78.24509" width="201.10681" height="29.51586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(97.27476 81.00302)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="2.538269" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">lut_input_inverter</tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10"> exist=“true </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="11.539734" y="22">circuit_model_name=“inv2x”/&gt;</tspan>
</text>
</g>
<g id="Graphic_8210">
<text transform="translate(226.51624 110.35832)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in[0]</tspan>
</text>
</g>
<g id="Graphic_8312">
<rect x="341.71926" y="379.57174" width="54.15413" height="56.579126" fill="#ffffc0"/>
<path d="M 341.71926 379.57174 L 395.8734 379.57174 L 395.8734 436.15087 L 341.71926 436.15087 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_8386">
<rect x="384.92" y="148.28755" width="83.79999" height="115.23245" fill="#ffc0c0"/>
<path d="M 384.92 148.28755 L 468.72 148.28755 L 468.72 263.52 L 384.92 263.52 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8387">
<line x1="384.92" y1="166" x2="317.64336" y2="196.8726" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8388">
<line x1="384.92" y1="166" x2="349.1669" y2="247.92584" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8389">
<path d="M 292.8965 107.5454 C 293.05818 107.58582 278.24372 103.92461 293.38158 107.66667 C 308.51943 111.40873 365.54145 117.9897 383.7327 130 C 399.9112 140.68142 397.23044 158.5907 400.84863 174.0839" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8390">
<path d="M 429.76024 108.0282 C 442.7455 116.2402 466.03025 121.10267 468.72 132.66667 C 471.1079 142.9331 457.26464 158.487 448.8059 172.28553" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8391">
<line x1="416.02255" y1="364.43333" x2="400.58435" y2="378.6299" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8392">
<line x1="234.84165" y1="609.9016" x2="316.96823" y2="585.448" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Line_8393">
<line x1="322.63415" y1="529.35074" x2="277.63422" y2="512.41184" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
</g>
<g id="Graphic_8394">
<text transform="translate(328.1021 462.9522)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" x="0" y="10">2-input MUX</tspan>
</text>
</g>
<g id="Graphic_8395">
<text transform="translate(387.2342 269.06528)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" x="0" y="10">Input buffers</tspan>
</text>
</g>
</g>
<g id="single_lut3_example_subckt">
<title>subckt</title>
<g id="Group_8315">
<g id="Graphic_8339">
<text transform="translate(418.3321 147.3084)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in</tspan>
</text>
</g>
<g id="Group_8336">
<g id="Line_8338">
<path d="M 404.95177 169.31 L 441.04647 169.31 L 441.04647 177.81" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8337">
<line x1="404.95177" y1="169.31" x2="404.95177" y2="178.31" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Line_8335">
<line x1="423.947" y1="169.31" x2="423.947" y2="161.77912" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8330">
<g id="Group_8332">
<g id="Graphic_8334">
<ellipse cx="440.30186" cy="201.60267" rx="3.31564537777781" ry="3.11593151443022" fill="#ccc"/>
<ellipse cx="440.30186" cy="201.60267" rx="3.31564537777781" ry="3.11593151443022" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8333">
<path d="M 455.0598 178.31 L 440.30186 198.48674 L 425.54394 178.31 Z" fill="#ccc"/>
<path d="M 455.0598 178.31 L 440.30186 198.48674 L 425.54394 178.31 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8331">
<text transform="translate(433.8829 177.81)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8325">
<g id="Group_8327">
<g id="Graphic_8329">
<ellipse cx="440.30186" cy="228.01126" rx="3.31564537777781" ry="3.11593151443024" fill="#ccc"/>
<ellipse cx="440.30186" cy="228.01126" rx="3.31564537777781" ry="3.11593151443024" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8328">
<path d="M 455.0598 204.7186 L 440.30186 224.89534 L 425.54394 204.7186 Z" fill="#ccc"/>
<path d="M 455.0598 204.7186 L 440.30186 224.89534 L 425.54394 204.7186 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8326">
<text transform="translate(433.8829 204.2186)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">2</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8320">
<g id="Group_8322">
<g id="Graphic_8324">
<ellipse cx="404.9979" cy="203.02832" rx="3.3156453777778" ry="3.11593151443024" fill="white"/>
<ellipse cx="404.9979" cy="203.02832" rx="3.3156453777778" ry="3.11593151443024" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8323">
<path d="M 419.75585 179.73566 L 404.9979 199.9124 L 390.24 179.73566 Z" fill="white"/>
<path d="M 419.75585 179.73566 L 404.9979 199.9124 L 390.24 179.73566 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8321">
<text transform="translate(398.57898 179.23566)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">2</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8319">
<line x1="405.45177" y1="243.04755" x2="405.0446" y2="207.144" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8318">
<line x1="440.54647" y1="244.04755" x2="440.36464" y2="232.12676" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8317">
<text transform="translate(386.73545 243.0684)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in_buf</tspan>
</text>
</g>
<g id="Graphic_8316">
<text transform="translate(428.097 243.0684)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in_inv</tspan>
</text>
</g>
</g>
<g id="Group_8340">
<g id="Line_8384">
<line x1="371.9664" y1="540.69314" x2="384.4234" y2="540.6909" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8380">
<g id="Line_8383">
<path d="M 389.8245 598.7285 L 403.9075 598.7285 L 403.9075 591.1976 L 417.99053 591.1976 L 417.99053 598.7285 L 432.07355 598.7285" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8382">
<line x1="410.94902" y1="587.223" x2="410.94902" y2="579.6921" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8381">
<line x1="403.9075" y1="587.223" x2="417.99053" y2="587.223" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Group_8374">
<g id="Group_8376">
<g id="Line_8379">
<path d="M 389.8245 611.90284 L 403.9075 611.90284 L 403.9075 619.4337 L 417.99053 619.4337 L 417.99053 611.90284 L 432.07355 611.90284" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8378">
<line x1="410.94902" y1="623.40835" x2="410.94902" y2="630.9392" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8377">
<line x1="403.9075" y1="623.40835" x2="417.99053" y2="623.40835" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8375">
<ellipse cx="410.94904" cy="625.67206" rx="1.76745243624395" ry="2.02583589152117" fill="white"/>
<ellipse cx="410.94904" cy="625.67206" rx="1.76745243624395" ry="2.02583589152117" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Line_8373">
<path d="M 389.8245 598.7285 L 389.8245 611.4977 L 389.8245 611.90284" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8372">
<path d="M 432.07355 598.7285 L 432.07355 605.015 L 432.07355 611.90284" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8358">
<g id="Group_8361">
<g id="Group_8368">
<g id="Line_8371">
<path d="M 389.6949 534.307 L 403.7779 534.307 L 403.7779 526.7761 L 417.8609 526.7761 L 417.8609 534.307 L 431.94393 534.307" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8370">
<line x1="410.8194" y1="522.8015" x2="410.8194" y2="515.2706" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8369">
<line x1="403.7779" y1="522.8015" x2="417.8609" y2="522.8015" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Group_8362">
<g id="Group_8364">
<g id="Line_8367">
<path d="M 389.6949 547.48136 L 403.7779 547.48136 L 403.7779 555.01224 L 417.8609 555.01224 L 417.8609 547.48136 L 431.94393 547.48136" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8366">
<line x1="410.8194" y1="558.98687" x2="410.8194" y2="566.51775" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8365">
<line x1="403.7779" y1="558.98687" x2="417.8609" y2="558.98687" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Graphic_8363">
<ellipse cx="410.81942" cy="561.2506" rx="1.76745243624388" ry="2.02583589152117" fill="white"/>
<ellipse cx="410.81942" cy="561.2506" rx="1.76745243624388" ry="2.02583589152117" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
</g>
<g id="Line_8360">
<path d="M 389.6949 534.307 L 389.6949 547.0762 L 389.6949 547.48136" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8359">
<path d="M 431.94393 534.307 L 431.94394 535.52894 L 431.94393 547.48136" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
<g id="Line_8357">
<line x1="375.8675" y1="605.625" x2="389.8245" y2="605.62276" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8356">
<path d="M 432.2295 541.6087 L 443.61974 541.20354 L 443.56943 604.8124 L 432.07355 605.015" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8355">
<line x1="376.7379" y1="540.4913" x2="389.1949" y2="540.489" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8354">
<path d="M 435.1947 500.0386 L 435.9679 573.5786 L 410.8882 573.8286 L 410.8194 566.51775" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8353">
<line x1="410.8194" y1="566.51775" x2="410.8882" y2="573.8286" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_8352">
<line x1="410.94902" y1="579.6921" x2="410.8882" y2="573.8286" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8351">
<path d="M 410.8882 631.5786 L 410.8882 638.3286 L 385.1382 638.239 L 384.3882 514.99194 L 410.8882 514.99194 L 410.8194 515.2706" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8350">
<line x1="399.08286" y1="514.2699" x2="398.83117" y2="500.0386" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8349">
<text transform="translate(380.88786 480.1528)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in_inv</tspan>
</text>
</g>
<g id="Graphic_8348">
<text transform="translate(418.9133 480.1528)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in_buf</tspan>
</text>
</g>
<g id="Graphic_8347">
<ellipse cx="399.07257" cy="513.6881" rx="3.31564537777781" ry="3.11593151443021" fill="black"/>
<ellipse cx="399.07257" cy="513.6881" rx="3.31564537777781" ry="3.11593151443021" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8346">
<ellipse cx="410.8834" cy="573.31923" rx="3.31564537777781" ry="3.11593151443027" fill="black"/>
<ellipse cx="410.8834" cy="573.31923" rx="3.31564537777781" ry="3.11593151443027" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8345">
<line x1="445.26815" y1="572.8215" x2="457.72515" y2="572.81923" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8344">
<ellipse cx="443.59555" cy="571.7883" rx="3.3156453777778" ry="3.11593151443018" fill="black"/>
<ellipse cx="443.59555" cy="571.7883" rx="3.3156453777778" ry="3.11593151443018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8343">
<text transform="translate(325.57524 535.4493)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">mem_in0</tspan>
</text>
</g>
<g id="Graphic_8342">
<text transform="translate(329.16233 596.7928)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">mem_in1</tspan>
</text>
</g>
<g id="Graphic_8341">
<text transform="translate(463.2241 564.5334)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">out</tspan>
</text>
</g>
</g>
</g>
<g id="single_lut3_example_LUT_MUX">
<title>LUT_MUX</title>
<g id="Line_8272">
<path d="M 230.06137 369.02226 L 254.07193 368.70565 L 254.1232 340.25 L 267.61246 339.75 L 267.70637 322.86263" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8271">
<path d="M 230.0614 275.0838 L 255.07193 275.13995 L 255.11308 310.61083 L 267.43494 310.86083 L 267.70637 322.86263" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8270">
<line x1="152.17127" y1="254.79444" x2="164.81196" y2="255.04496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8269">
<line x1="198.4216" y1="254.7735" x2="210.8786" y2="254.77126" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8268">
<line x1="201.61514" y1="254.61017" x2="214.07214" y2="254.6079" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8264">
<g id="Graphic_8267">
<ellipse cx="199.10607" cy="255.17642" rx="4.00000639160755" ry="4.1250065913453" fill="white"/>
<ellipse cx="199.10607" cy="255.17642" rx="4.00000639160755" ry="4.1250065913453" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8266">
<path d="M 164.99386 237.27126 L 195.10607 255.27126 L 164.99386 273.27126 Z" fill="white"/>
<path d="M 164.99386 237.27126 L 195.10607 255.27126 L 164.99386 273.27126 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8265">
<text transform="translate(169.81196 248.27126)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8260">
<g id="Graphic_8263">
<ellipse cx="199.10607" cy="295.0451" rx="4.00000639160755" ry="4.1250065913453" fill="white"/>
<ellipse cx="199.10607" cy="295.0451" rx="4.00000639160755" ry="4.1250065913453" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8262">
<path d="M 164.99386 277.13995 L 195.10607 295.13995 L 164.99386 313.13995 Z" fill="white"/>
<path d="M 164.99386 277.13995 L 195.10607 295.13995 L 164.99386 313.13995 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8261">
<text transform="translate(169.81196 288.13995)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8259">
<line x1="204.1027" y1="295.234" x2="214.07214" y2="295.61083" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8258">
<path d="M 214.07214 306.51707 L 214.07214 243.61348 L 229.5614 256.1942 L 229.5614 293.93635 Z" fill="#c0ffc0"/>
<path d="M 214.07214 306.51707 L 214.07214 243.61348 L 229.5614 256.1942 L 229.5614 293.93635 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 250.5006) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8257">
<line x1="152.17127" y1="348.86014" x2="164.81196" y2="349.11065" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8256">
<line x1="198.4216" y1="348.8392" x2="210.8786" y2="348.83695" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8255">
<line x1="201.61514" y1="348.67587" x2="214.07214" y2="348.6736" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8251">
<g id="Graphic_8254">
<ellipse cx="199.10607" cy="349.2421" rx="4.00000639160757" ry="4.12500659134533" fill="white"/>
<ellipse cx="199.10607" cy="349.2421" rx="4.00000639160757" ry="4.12500659134533" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8253">
<path d="M 164.99386 331.33695 L 195.10607 349.33695 L 164.99386 367.33695 Z" fill="white"/>
<path d="M 164.99386 331.33695 L 195.10607 349.33695 L 164.99386 367.33695 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8252">
<text transform="translate(169.81196 342.33695)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8247">
<g id="Graphic_8250">
<ellipse cx="199.10607" cy="389.1108" rx="4.00000639160755" ry="4.12500659134533" fill="white"/>
<ellipse cx="199.10607" cy="389.1108" rx="4.00000639160755" ry="4.12500659134533" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8249">
<path d="M 164.99386 371.20565 L 195.10607 389.20565 L 164.99386 407.20565 Z" fill="white"/>
<path d="M 164.99386 371.20565 L 195.10607 389.20565 L 164.99386 407.20565 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8248">
<text transform="translate(169.81196 382.20565)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8246">
<line x1="204.1027" y1="389.2997" x2="214.07214" y2="389.67653" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8245">
<path d="M 214.07214 400.58277 L 214.07214 337.67917 L 229.5614 350.2599 L 229.5614 388.00205 Z" fill="#c0ffc0"/>
<path d="M 214.07214 400.58277 L 214.07214 337.67917 L 229.5614 350.2599 L 229.5614 388.00205 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(230.34683 344.5663) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8244">
<line x1="149.37656" y1="432.414" x2="164.81196" y2="432.6881" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8243">
<line x1="195.6269" y1="432.3931" x2="208.0839" y2="432.3908" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8242">
<line x1="198.82044" y1="432.22974" x2="211.27744" y2="432.2275" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8238">
<g id="Graphic_8241">
<ellipse cx="199.10607" cy="432.796" rx="4.00000639160757" ry="4.12500659134529" fill="white"/>
<ellipse cx="199.10607" cy="432.796" rx="4.00000639160757" ry="4.12500659134529" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8240">
<path d="M 164.99386 414.89083 L 195.10607 432.8908 L 164.99386 450.8908 Z" fill="white"/>
<path d="M 164.99386 414.89083 L 195.10607 432.8908 L 164.99386 450.8908 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8239">
<text transform="translate(169.81196 425.8908)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8234">
<g id="Graphic_8237">
<ellipse cx="196.31137" cy="472.6647" rx="4.00000639160757" ry="4.12500659134532" fill="white"/>
<ellipse cx="196.31137" cy="472.6647" rx="4.00000639160757" ry="4.12500659134532" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8236">
<path d="M 162.19916 454.7595 L 192.31137 472.7595 L 162.19916 490.7595 Z" fill="white"/>
<path d="M 162.19916 454.7595 L 192.31137 472.7595 L 162.19916 490.7595 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8235">
<text transform="translate(167.01726 465.7595)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8233">
<line x1="201.30799" y1="472.85355" x2="211.27744" y2="473.2304" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8232">
<path d="M 211.27744 484.13664 L 211.27744 421.23305 L 226.7667 433.81376 L 226.7667 471.5559 Z" fill="#c0ffc0"/>
<path d="M 211.27744 484.13664 L 211.27744 421.23305 L 226.7667 433.81376 L 226.7667 471.5559 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(227.55213 428.12015) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8231">
<line x1="149.37656" y1="472.2595" x2="162.01726" y2="472.51003" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8230">
<line x1="152.17127" y1="388.03906" x2="164.81196" y2="388.28957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8229">
<line x1="152.17127" y1="294.63995" x2="164.81196" y2="294.89046" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8228">
<path d="M 259.96174 354.31442 L 259.96174 291.41083 L 275.451 303.99155 L 275.451 341.7337 Z" fill="#c0ffc0"/>
<path d="M 259.96174 354.31442 L 259.96174 291.41083 L 275.451 303.99155 L 275.451 341.7337 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(276.23643 298.29794) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8226">
<line x1="149.37656" y1="519.38476" x2="162.01726" y2="519.6353" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8225">
<line x1="195.6269" y1="519.3638" x2="208.0839" y2="519.3616" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8224">
<line x1="198.82044" y1="519.2005" x2="211.27744" y2="519.1982" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8220">
<g id="Graphic_8223">
<ellipse cx="196.31137" cy="519.76673" rx="4.00000639160756" ry="4.12500659134532" fill="white"/>
<ellipse cx="196.31137" cy="519.76673" rx="4.00000639160756" ry="4.12500659134532" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8222">
<path d="M 162.19916 501.8616 L 192.31137 519.8616 L 162.19916 537.8616 Z" fill="white"/>
<path d="M 162.19916 501.8616 L 192.31137 519.8616 L 162.19916 537.8616 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8221">
<text transform="translate(167.01726 512.8616)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Group_8216">
<g id="Graphic_8219">
<ellipse cx="196.31137" cy="559.6354" rx="4.00000639160756" ry="4.1250065913453" fill="white"/>
<ellipse cx="196.31137" cy="559.6354" rx="4.00000639160756" ry="4.1250065913453" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8218">
<path d="M 162.19916 541.73027 L 192.31137 559.73027 L 162.19916 577.73027 Z" fill="white"/>
<path d="M 162.19916 541.73027 L 192.31137 559.73027 L 162.19916 577.73027 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8217">
<text transform="translate(167.01726 552.73027)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8215">
<line x1="201.30799" y1="559.8243" x2="211.27744" y2="560.20115" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8214">
<path d="M 211.27744 571.2477 L 211.27744 508.3441 L 226.7667 520.92484 L 226.7667 558.667 Z" fill="#c0ffc0"/>
<path d="M 211.27744 571.2477 L 211.27744 508.3441 L 226.7667 520.92484 L 226.7667 558.667 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(227.55213 515.2312) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8213">
<line x1="149.37656" y1="559.23027" x2="162.01726" y2="559.4808" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8274">
<path d="M 226.7667 541.5446 L 249.77723 541.5939 L 249.5 514.6982 L 264.14024 514.7491 L 264.41167 495.25087" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8273">
<path d="M 226.7667 447.48 L 249.5 447.3908 L 249.5 483.63664 L 264.14024 483.2491 L 264.41167 495.25087" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8227">
<path d="M 256.6232 529.8525 L 256.6232 466.9489 L 272.11246 479.5296 L 272.11246 517.27176 Z" fill="#c0ffc0"/>
<path d="M 256.6232 529.8525 L 256.6232 466.9489 L 272.11246 479.5296 L 272.11246 517.27176 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(272.89788 473.836) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8277">
<path d="M 272.61242 498.29424 L 298.5 497.96003 L 298.5 429.6774 L 321.4248 429.25 L 324.33 411.02354" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8276">
<path d="M 275.951 322.89825 L 299.5 323 L 299 393.53906 L 321.4248 393.25 L 324.33 411.02354" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8275">
<path d="M 316.58537 442.47534 L 316.58537 379.57174 L 332.07464 392.15246 L 332.07464 429.8946 Z" fill="#c0ffc0"/>
<path d="M 316.58537 442.47534 L 316.58537 379.57174 L 332.07464 392.15246 L 332.07464 429.8946 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(332.86006 386.45885) rotate(90)" fill="black">
<tspan font-family="Times New Roman" font-size="16" font-weight="400" fill="black" x="4.638649" y="14">MUX</tspan>
</text>
</g>
<g id="Line_8282">
<line x1="332.57464" y1="411.02354" x2="345.4386" y2="411.02354" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_8278">
<g id="Graphic_8281">
<ellipse cx="379.7327" cy="410.9287" rx="4.0000063916076" ry="4.12500659134535" fill="white"/>
<ellipse cx="379.7327" cy="410.9287" rx="4.0000063916076" ry="4.12500659134535" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8280">
<path d="M 345.6205 393.02354 L 375.7327 411.02354 L 345.6205 429.02354 Z" fill="white"/>
<path d="M 345.6205 393.02354 L 375.7327 411.02354 L 345.6205 429.02354 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_8279">
<text transform="translate(350.4386 404.02354)" fill="black">
<tspan font-family="Times" font-size="12" font-weight="400" fill="black" x="0" y="11">1</tspan>
<tspan font-family="Times" font-size="12" font-weight="700" fill="black" y="11">×</tspan>
</text>
</g>
</g>
<g id="Line_8283">
<line x1="383.7327" y1="410.09614" x2="395.8734" y2="410.09614" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8284">
<line x1="239" y1="208.5" x2="238" y2="499.8616" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8285">
<line x1="232.42965" y1="191.16686" x2="244.57035" y2="184.5752" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_8286">
<line x1="238.85315" y1="136.15134" x2="238.85315" y2="124.0746" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8288">
<path d="M 238.5926 327.20073 L 222.07584 327.5 L 221.97568 343.59608" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8294">
<path d="M 238.91402 233.55182 L 222.94016 234.00223 L 222.84 250.0983" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8295">
<path d="M 238.3012 412.1013 L 220.06016 412.0005 L 219.6638 427.53443" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8296">
<path d="M 238 499.8616 L 219.33945 500.1823 L 219.22637 514.2972" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Graphic_8301">
<rect x="262.719" y="187.10925" width="49.56202" height="22.590742" fill="#ffc0c0"/>
<rect x="262.719" y="187.10925" width="49.56202" height="22.590742" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(267.719 190.6285)" fill="black">
<tspan font-family="Times New Roman" font-size="13" font-weight="400" fill="black" x=".4047909" y="12">Buffers</tspan>
</text>
</g>
<g id="Graphic_8300">
<text transform="translate(274.78554 162.65777)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in[1]</tspan>
</text>
</g>
<g id="Line_8299">
<line x1="288" y1="209.7" x2="287" y2="457.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8298">
<line x1="281.42965" y1="225.93805" x2="293.57035" y2="219.3464" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_8297">
<line x1="287.33708" y1="186.10934" x2="287.20808" y2="176.37404" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8302">
<path d="M 287.7225 278.46632 L 268.02016 278.54387 L 267.88704 297.34507" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8303">
<path d="M 287 457.5 L 264.5448 457.7512 L 264.47915 472.8279" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Graphic_8306">
<rect x="299.549" y="250.6304" width="49.56202" height="22.590742" fill="#ffc0c0"/>
<rect x="299.549" y="250.6304" width="49.56202" height="22.590742" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(304.549 254.14964)" fill="black">
<tspan font-family="Times New Roman" font-size="13" font-weight="400" fill="black" x=".4047909" y="12">Buffers</tspan>
</text>
</g>
<g id="Graphic_8305">
<text transform="translate(311.9931 224.73367)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">in[2]</tspan>
</text>
</g>
<g id="Line_8304">
<line x1="324.33" y1="249.6304" x2="324.33" y2="238.44994" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_8307">
<line x1="324.33" y1="274.22113" x2="324.33" y2="385.3621" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8308">
<line x1="238.88322" y1="160.74208" x2="239" y2="208.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/>
</g>
<g id="Line_8309">
<line x1="318.44843" y1="295.63995" x2="330.58912" y2="289.0483" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_8311">
<rect x="61.05118" y="237.27126" width="90" height="340.459" fill="#c0c0ff"/>
<rect x="61.05118" y="237.27126" width="90" height="340.459" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(66.05118 395.03348)" fill="black">
<tspan font-family="Times New Roman" font-size="11" font-weight="400" fill="black" x="10.97998" y="10">Configurable </tspan>
<tspan font-family="Times New Roman" font-size="11" font-weight="400" fill="black" x="8.074219" y="22.467285">Memory Bank</tspan>
</text>
</g>
<g id="Graphic_8313">
<text transform="translate(399.82698 402.6064)" fill="black">
<tspan font-family="Times New Roman" font-size="12" font-style="italic" font-weight="400" fill="black" x="0" y="11">out</tspan>
</text>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 51 KiB

View File

@ -0,0 +1,428 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="156.96 182.62277 710.0226 370.8663" width="710.0226" height="370.8663">
<defs>
<font-face font-family="Times New Roman" font-size="15" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
<font-face-src>
<font-face-name name="TimesNewRomanPS-BoldMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="12" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
<font-face-src>
<font-face-name name="TimesNewRomanPS-BoldMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="15" panose-1="2 2 7 3 6 5 5 9 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="-1088.8662" x-height="438.96484" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-style="italic" font-weight="700">
<font-face-src>
<font-face-name name="TimesNewRomanPS-BoldItalicMT"/>
</font-face-src>
</font-face>
<font-face font-family="Times New Roman" font-size="11" panose-1="2 2 7 3 6 5 5 9 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="-1484.8175" x-height="438.96484" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-style="italic" font-weight="700">
<font-face-src>
<font-face-name name="TimesNewRomanPS-BoldItalicMT"/>
</font-face-src>
</font-face>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.61719" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="400">
<font-face-src>
<font-face-name name="Courier"/>
</font-face-src>
</font-face>
<font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-144.04297" underline-thickness="91.79688" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="700">
<font-face-src>
<font-face-name name="Courier-Bold"/>
</font-face-src>
</font-face>
</defs>
<metadata> Produced by OmniGraffle 7.18\n2020-11-26 19:31:38 +0000</metadata>
<g id="std_frac_lut" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
<title>std_frac_lut</title>
<g id="std_frac_lut_Schematic">
<title>Schematic</title>
<g id="Graphic_182">
<path d="M 445.57177 459.4442 L 445.57177 410.8069 L 457.75656 420.53437 L 457.75656 449.71675 Z" fill="#0779ff"/>
<path d="M 445.57177 459.4442 L 445.57177 410.8069 L 457.75656 420.53437 L 457.75656 449.71675 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_181">
<path d="M 400.00557 541.30783 L 400.00557 492.67053 L 412.19036 502.398 L 412.19036 531.5804 Z" fill="#0779ff"/>
<path d="M 400.00557 541.30783 L 400.00557 492.67053 L 412.19036 502.398 L 412.19036 531.5804 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_162">
<path d="M 246.5076 254.25567 L 404.0494 253.88043 L 403.8189 350.7247" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_160">
<path d="M 431.03387 234.45752 L 452.63536 234.20474 L 453 415.3069" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_159">
<rect x="266.1987" y="268.50534" width="56.5337" height="55" fill="#0679ff"/>
<rect x="266.1987" y="268.50534" width="56.5337" height="55" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(271.1987 287.68674)" fill="white">
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="1.5981503" y="13">4-LUT</tspan>
</text>
</g>
<g id="Line_146">
<line x1="183.23692" y1="311.22365" x2="264.92635" y2="311.37596" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_139">
<line x1="183.237" y1="285.12746" x2="264.92644" y2="285.27977" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_138">
<line x1="183.237" y1="295.08153" x2="264.92644" y2="295.23384" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_137">
<line x1="183.237" y1="303.1526" x2="264.92644" y2="303.3049" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_136">
<rect x="266.1987" y="336.91364" width="56.5337" height="55" fill="#0679ff"/>
<rect x="266.1987" y="336.91364" width="56.5337" height="55" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(271.1987 356.09503)" fill="white">
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="1.5981503" y="13">4-LUT</tspan>
</text>
</g>
<g id="Line_133">
<path d="M 214.92743 311.28273 L 214.92644 382.57344 L 264.92635 382.8171" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_132">
<path d="M 243.92472 285.2406 L 244.02132 355.3171 L 265.55782 355.41672" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_131">
<path d="M 234.42576 295.17697 L 234.92644 365.3171 L 265.55782 365.3708" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_130">
<path d="M 224.92566 303.2303 L 225.42644 373.73916 L 265.55782 373.44185" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_129">
<ellipse cx="243.92516" cy="285.56513" rx="2.58243758861827" ry="2.75000439423021" fill="black"/>
<ellipse cx="243.92516" cy="285.56513" rx="2.58243758861827" ry="2.75000439423021" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_128">
<ellipse cx="234.50867" cy="295.17712" rx="2.58243758861829" ry="2.75000439423018" fill="black"/>
<ellipse cx="234.50867" cy="295.17712" rx="2.58243758861829" ry="2.75000439423018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_127">
<ellipse cx="224.928" cy="303.56055" rx="2.58243758861826" ry="2.7500043942302" fill="black"/>
<ellipse cx="224.928" cy="303.56055" rx="2.58243758861826" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_126">
<ellipse cx="214.92743" cy="311.5671" rx="2.58243758861826" ry="2.75000439423018" fill="black"/>
<ellipse cx="214.92743" cy="311.5671" rx="2.58243758861826" ry="2.75000439423018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_124">
<path d="M 322.64576 282.8673 L 382.20353 282.74957 L 382.44004 340.27496 L 395.6073 340.24957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_123">
<line x1="322.64576" y1="374.58626" x2="395.6073" y2="374.24957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_115">
<rect x="266.7135" y="429.08075" width="56.5337" height="55" fill="#0679ff"/>
<rect x="266.7135" y="429.08075" width="56.5337" height="55" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(271.7135 448.26215)" fill="white">
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="1.5981503" y="13">4-LUT</tspan>
</text>
</g>
<g id="Line_102">
<line x1="215.21317" y1="472.01214" x2="265.44113" y2="471.95137" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_95">
<line x1="244.8453" y1="445.75567" x2="265.44122" y2="445.8552" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_94">
<line x1="227.51044" y1="463.75567" x2="265.44122" y2="463.8803" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_93">
<rect x="266.7135" y="497.48905" width="56.5337" height="55" fill="#0679ff"/>
<rect x="266.7135" y="497.48905" width="56.5337" height="55" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<text transform="translate(271.7135 516.67044)" fill="white">
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="1.5981503" y="13">4-LUT</tspan>
</text>
</g>
<g id="Line_90">
<path d="M 214.92644 382.57344 L 215.44122 543.14885 L 265.44113 543.3925" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_89">
<path d="M 244.02132 355.3171 L 243.93448 516.25567 L 266.0726 515.99213" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_88">
<path d="M 234.93664 368.5361 L 235.44122 525.8925 L 266.0726 525.9462" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_87">
<path d="M 225.42644 373.73916 L 225.94122 534.31457 L 266.0726 534.01726" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_86">
<ellipse cx="244.02132" cy="355.3171" rx="2.58243758861826" ry="2.75000439423023" fill="black"/>
<ellipse cx="244.02132" cy="355.3171" rx="2.58243758861826" ry="2.75000439423023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_85">
<ellipse cx="234.92622" cy="365.2861" rx="2.58243758861826" ry="2.7500043942302" fill="black"/>
<ellipse cx="234.92622" cy="365.2861" rx="2.58243758861826" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_84">
<ellipse cx="215.21072" cy="471.24786" rx="2.58243758861825" ry="2.75000439423021" fill="black"/>
<ellipse cx="215.21072" cy="471.24786" rx="2.58243758861825" ry="2.75000439423021" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_83">
<ellipse cx="214.92645" cy="381.73065" rx="2.58243758861827" ry="2.7500043942302" fill="black"/>
<ellipse cx="214.92645" cy="381.73065" rx="2.58243758861827" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_81">
<line x1="324.6664" y1="534.89426" x2="397.8194" y2="535.24957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_72">
<path d="M 324.85785 444.2116 L 384.4156 444.09386 L 384.65213 501.61925 L 397.8194 501.59386" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_70">
<text transform="translate(401.87897 495.33727)" fill="white">
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="11">L</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="25.509766">U</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="40.01953">T</tspan>
</text>
</g>
<g id="Line_69">
<path d="M 257.89472 416.2586 L 408.3739 416.4733 L 408.1302 496.67053" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_68">
<ellipse cx="258.68425" cy="254.22666" rx="2.58243758861826" ry="2.7500043942302" fill="black"/>
<ellipse cx="258.68425" cy="254.22666" rx="2.58243758861826" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_67">
<line x1="258.6684" y1="257.47662" x2="257.89472" y2="416.2586" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_65">
<text transform="translate(446.8648 413.8609)" fill="white">
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="11">L</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="25.509766">U</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="40.01953">T</tspan>
</text>
</g>
<g id="Line_64">
<path d="M 412.21243 356.44995 L 427.4244 355.78574 L 427.37316 422.33634 L 442.92514 422.46665" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_63">
<path d="M 412.9616 514.7606 L 427.33544 514.4572 L 427.4244 448.39054 L 444.8005 448.49957" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_62">
<line x1="457.1989" y1="435.57314" x2="478.98" y2="435.3829" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_56">
<text transform="translate(159.95758 219.6969)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in0</tspan>
</text>
</g>
<g id="Graphic_55">
<text transform="translate(161.22984 239.87654)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in1</tspan>
</text>
</g>
<g id="Graphic_54">
<text transform="translate(160.95758 273.70744)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in2</tspan>
</text>
</g>
<g id="Graphic_53">
<text transform="translate(159.95758 284.87993)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in3</tspan>
</text>
</g>
<g id="Graphic_52">
<text transform="translate(158.9574 297.61358)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in4</tspan>
</text>
</g>
<g id="Graphic_51">
<text transform="translate(158.9574 309.19286)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in5</tspan>
</text>
</g>
<g id="Group_43">
<g id="Graphic_48">
<rect x="365.04" y="234.36264" width="12.002284" height="11.988155" fill="#0062ff"/>
<rect x="365.04" y="234.36264" width="12.002284" height="11.988155" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_44">
<g id="Line_47">
<path d="M 365.04 234.36264 L 365.04 245.32895 L 377.04228 245.32895 L 377.04228 234.36264 L 365.04 234.36264" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_46">
<line x1="365.04" y1="234.36264" x2="377.04228" y2="245.32895" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_45">
<line x1="365.04" y1="245.32895" x2="377.04228" y2="234.36264" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
</g>
<g id="Line_33">
<line x1="427.4244" y1="355.78574" x2="471.96" y2="355.5281" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_32">
<ellipse cx="426.7827" cy="355.81376" rx="2.58243758861827" ry="2.75000439423021" fill="black"/>
<ellipse cx="426.7827" cy="355.81376" rx="2.58243758861827" ry="2.75000439423021" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_23">
<path d="M 395.6073 246.3508 L 402.54196 246.3508 C 419.8786 245.18263 421.61226 241.67816 430.28057 234.6692 C 421.61226 227.66025 419.8786 224.15577 402.54196 222.9876 L 395.6073 222.9876 C 397.34097 227.66025 398.2078 228.24433 399.07463 234.6692 C 398.2078 241.09408 397.34097 241.67816 395.6073 246.3508" fill="#ffff80"/>
<path d="M 395.6073 246.3508 L 402.54196 246.3508 C 419.8786 245.18263 421.61226 241.67816 430.28057 234.6692 C 421.61226 227.66025 419.8786 224.15577 402.54196 222.9876 L 395.6073 222.9876 C 397.34097 227.66025 398.2078 228.24433 399.07463 234.6692 C 398.2078 241.09408 397.34097 241.67816 395.6073 246.3508" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_22">
<line x1="397.7022" y1="229.61944" x2="183.3948" y2="229.40767" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_21">
<line x1="396.54228" y1="239.90767" x2="378.54228" y2="239.85672" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_15">
<g id="Graphic_20">
<rect x="196.7392" y="253.92023" width="12.002284" height="11.988155" fill="#0062ff"/>
<rect x="196.7392" y="253.92023" width="12.002284" height="11.988155" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Group_16">
<g id="Line_19">
<path d="M 196.7392 253.92023 L 196.7392 264.88654 L 208.74149 264.88654 L 208.74149 253.92023 L 196.7392 253.92023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_18">
<line x1="196.7392" y1="253.92023" x2="208.74149" y2="264.88654" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_17">
<line x1="196.7392" y1="264.88654" x2="208.74149" y2="253.92023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
</g>
<g id="Graphic_14">
<path d="M 217.17203 265.90838 L 224.10669 265.90838 C 241.44332 264.74022 243.17698 261.23575 251.8453 254.2268 C 243.17698 247.21784 241.44332 243.71336 224.10669 242.5452 L 217.17203 242.5452 C 218.9057 247.21784 219.77253 247.80192 220.63936 254.2268 C 219.77253 260.65167 218.9057 261.23575 217.17203 265.90838" fill="#ffff80"/>
<path d="M 217.17203 265.90838 L 224.10669 265.90838 C 241.44332 264.74022 243.17698 261.23575 251.8453 254.2268 C 243.17698 247.21784 241.44332 243.71336 224.10669 242.5452 L 217.17203 242.5452 C 218.9057 247.21784 219.77253 247.80192 220.63936 254.2268 C 219.77253 260.65167 218.9057 261.23575 217.17203 265.90838" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_13">
<line x1="218.02465" y1="259.75567" x2="210.41205" y2="259.75567" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_12">
<line x1="218.02465" y1="247.69515" x2="183.96484" y2="248.25567" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Line_11">
<line x1="235.20588" y1="455.67115" x2="266.42914" y2="455.7123" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_10">
<ellipse cx="225.71512" cy="463.78747" rx="2.58243758861827" ry="2.7500043942302" fill="black"/>
<ellipse cx="225.71512" cy="463.78747" rx="2.58243758861827" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_9">
<ellipse cx="235.21472" cy="455.25606" rx="2.58243758861827" ry="2.75000439423018" fill="black"/>
<ellipse cx="235.21472" cy="455.25606" rx="2.58243758861827" ry="2.75000439423018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_8">
<ellipse cx="243.97255" cy="445.7026" rx="2.58243758861827" ry="2.75000439423017" fill="black"/>
<ellipse cx="243.97255" cy="445.7026" rx="2.58243758861827" ry="2.75000439423017" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_5">
<text transform="translate(403.13633 228.43556)" fill="black">
<tspan font-family="Times New Roman" font-size="11" font-style="italic" font-weight="700" fill="black" x="0" y="10">OR</tspan>
</text>
</g>
<g id="Graphic_4">
<text transform="translate(224.76345 247.42963)" fill="black">
<tspan font-family="Times New Roman" font-size="11" font-style="italic" font-weight="700" fill="black" x="0" y="10">OR</tspan>
</text>
</g>
<g id="Graphic_3">
<ellipse cx="426.33563" cy="514.3188" rx="2.58243758861829" ry="2.75000439423024" fill="black"/>
<ellipse cx="426.33563" cy="514.3188" rx="2.58243758861829" ry="2.75000439423024" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_165">
<line x1="427.33544" y1="514.4572" x2="471.96" y2="514.71926" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_166">
<rect x="478.98" y="425.37773" width="58.92155" height="19.49567" fill="#ccc"/>
<text transform="translate(482.59726 426.80696)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut6_out</tspan>
</text>
</g>
<g id="Graphic_167">
<rect x="471.96" y="345.56925" width="72.96155" height="19.49567" fill="#c0ffc0"/>
<text transform="translate(473.85214 346.99848)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut5_out[0]</tspan>
</text>
</g>
<g id="Graphic_168">
<rect x="471.96" y="505.1862" width="73.152985" height="19.49567" fill="#c0ffc0"/>
<text transform="translate(473.94786 506.61544)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut5_out[1]</tspan>
</text>
</g>
<g id="Graphic_169">
<rect x="476.28" y="273.22016" width="72.96155" height="19.49567" fill="#ffc0c0"/>
<text transform="translate(478.17214 274.6494)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut4_out[0]</tspan>
</text>
</g>
<g id="Graphic_170">
<rect x="473.14725" y="463.7882" width="72.96155" height="19.49567" fill="#ffc0c0"/>
<text transform="translate(475.0394 465.2174)" fill="black">
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">lut4_out[1]</tspan>
</text>
</g>
<g id="Line_171">
<line x1="384.53553" y1="473.2581" x2="473.14725" y2="473.45496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_172">
<ellipse cx="384.53245" cy="472.5083" rx="2.58243758861826" ry="2.75000439423018" fill="black"/>
<ellipse cx="384.53245" cy="472.5083" rx="2.58243758861826" ry="2.75000439423018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_174">
<line x1="385.28686" y1="282.968" x2="476.28" y2="282.968" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_173">
<ellipse cx="382.20443" cy="282.968" rx="2.5824375886183" ry="2.7500043942302" fill="black"/>
<ellipse cx="382.20443" cy="282.968" rx="2.5824375886183" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_180">
<path d="M 397.712 381.9973 L 397.712 333.36 L 409.89677 343.08745 L 409.89677 372.26984 Z" fill="#0779ff"/>
<path d="M 397.712 381.9973 L 397.712 333.36 L 409.89677 343.08745 L 409.89677 372.26984 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
<g id="Graphic_73">
<text transform="translate(399.47137 335.05243)" fill="white">
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="11">L</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="25.509766">U</tspan>
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x=".3310547" y="40.01953">T</tspan>
</text>
</g>
</g>
<g id="std_frac_lut_Legend">
<title>Legend</title>
<g id="Graphic_176">
<rect x="172.08" y="183.12277" width="307.8" height="32.903695" fill="#ffff80"/>
<rect x="172.08" y="183.12277" width="307.8" height="32.903695" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(177.08 187.57461)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="31.88095" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“input” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10">prefix=“in” size=“6” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="1.8760681" y="22">tri_state_map=“----11” circuit_model_name=“OR2”/&gt;</tspan>
</text>
</g>
<g id="Graphic_177">
<rect x="553.68" y="266.51615" width="307.8" height="32.903695" fill="#ffc0c0"/>
<rect x="553.68" y="266.51615" width="307.8" height="32.903695" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(558.68 270.968)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="10.877533" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“output” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10">prefix=“lut4_out” size=“2” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="22.879486" y="22">lut_frac_level=“4” lut_output_mask=“0,2”/&gt;</tspan>
</text>
</g>
<g id="Graphic_178">
<rect x="556.2" y="338.86523" width="307.8" height="32.903695" fill="#c0ffc0"/>
<rect x="556.2" y="338.86523" width="307.8" height="32.903695" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(561.2 343.3171)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="10.877533" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“output” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10">prefix=“lut5_out” size=“2” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="22.879486" y="22">lut_frac_level=“5” lut_output_mask=“0,1”/&gt;</tspan>
</text>
</g>
<g id="Graphic_179">
<rect x="558.6826" y="418.6737" width="307.8" height="32.903695" fill="#ccc"/>
<rect x="558.6826" y="418.6737" width="307.8" height="32.903695" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(563.6826 423.12556)" fill="black">
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="10.877533" y="10">&lt;</tspan>
<tspan font-family="Courier" font-size="10" font-weight="700" fill="black" y="10">port type=“output” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" y="10">prefix=“lut6_out” size=“1” </tspan>
<tspan font-family="Courier" font-size="10" font-weight="400" fill="black" x="28.880463" y="22">lut_frac_level=“6” lut_output_mask=“0”/&gt;</tspan>
</text>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -73,7 +73,8 @@ void build_lut_module(ModuleManager& module_manager,
VTR_ASSERT (1 == lut_input_ports.size());
VTR_ASSERT (1 <= lut_output_ports.size());
VTR_ASSERT (1 == lut_regular_sram_ports.size());
VTR_ASSERT (1 == lut_mode_select_sram_ports.size());
VTR_ASSERT ( (0 == lut_mode_select_sram_ports.size())
|| (1 == lut_mode_select_sram_ports.size()));
}
/***********************************************
@ -268,7 +269,8 @@ void build_lut_module(ModuleManager& module_manager,
}
/* Sanitity check */
if ( true == circuit_lib.is_lut_fracturable(lut_model) ) {
if ( (true == circuit_lib.is_lut_fracturable(lut_model))
&& (false == lut_mode_select_sram_ports.empty()) ) {
if (mode_select_port_lsb != circuit_lib.port_size(lut_mode_select_sram_ports[0])) {
VTR_LOGF_ERROR(__FILE__, __LINE__,
"Circuit model '%s' has a unmatched tri-state map '%s' implied by mode_port size='%d'!\n",

View File

@ -2,8 +2,9 @@
Please reveal the following architecture features in the names to help quickly spot architecture files.
Note that an OpenFPGA architecture can be applied to multiple VPR architecture files.
- k<lut\_size>: Look-Up Table (LUT) size of FPGA. If you have fracturable LUTs or multiple LUT circuits, this should be largest input size.
- frac: If fracturable LUT is used or not.
- k<lut\_size>\_<frac><Native>: Look-Up Table (LUT) size of FPGA. If you have fracturable LUTs or multiple LUT circuits, this should be largest input size.
* The keyword 'frac' is to specify if fracturable LUT is used or not.
* The keyword 'Native' is to specify if fracturable LUT design is a native one (without mode switch) or a standard one (with mode switch).
- N<le\_size>: Number of logic elements for a CLB. If you have multiple CLB architectures, this should be largest number.
- adder\_chain: If hard adder/carry chain is used inside CLBs
- register\_chain: If shift register chain is used inside CLBs

View File

@ -0,0 +1,244 @@
<!-- Architecture annotation for OpenFPGA framework
This annotation supports the k6_N10_40nm.xml
- General purpose logic block
- K = 6, N = 10, I = 40
- Single mode
- Routing architecture
- L = 4, fc_in = 0.15, fc_out = 0.1
-->
<openfpga_architecture>
<technology_library>
<device_library>
<device_model name="logic" type="transistor">
<lib type="industry" corner="TOP_TT" ref="M" path="${OPENFPGA_PATH}/openfpga_flow/tech/PTM_45nm/45nm.pm"/>
<design vdd="0.9" pn_ratio="2"/>
<pmos name="pch" chan_length="40e-9" min_width="140e-9" variation="logic_transistor_var"/>
<nmos name="nch" chan_length="40e-9" min_width="140e-9" variation="logic_transistor_var"/>
</device_model>
<device_model name="io" type="transistor">
<lib type="academia" ref="M" path="${OPENFPGA_PATH}/openfpga_flow/tech/PTM_45nm/45nm.pm"/>
<design vdd="2.5" pn_ratio="3"/>
<pmos name="pch_25" chan_length="270e-9" min_width="320e-9" variation="io_transistor_var"/>
<nmos name="nch_25" chan_length="270e-9" min_width="320e-9" variation="io_transistor_var"/>
</device_model>
</device_library>
<variation_library>
<variation name="logic_transistor_var" abs_deviation="0.1" num_sigma="3"/>
<variation name="io_transistor_var" abs_deviation="0.1" num_sigma="3"/>
</variation_library>
</technology_library>
<circuit_library>
<circuit_model type="inv_buf" name="INVTX1" prefix="INVTX1" is_default="true">
<design_technology type="cmos" topology="inverter" size="1"/>
<device_technology device_model_name="logic"/>
<port type="input" prefix="in" size="1"/>
<port type="output" prefix="out" size="1"/>
<delay_matrix type="rise" in_port="in" out_port="out">
10e-12
</delay_matrix>
<delay_matrix type="fall" in_port="in" out_port="out">
10e-12
</delay_matrix>
</circuit_model>
<circuit_model type="inv_buf" name="buf4" prefix="buf4" is_default="false">
<design_technology type="cmos" topology="buffer" size="1" num_level="2" f_per_stage="4"/>
<device_technology device_model_name="logic"/>
<port type="input" prefix="in" size="1"/>
<port type="output" prefix="out" size="1"/>
<delay_matrix type="rise" in_port="in" out_port="out">
10e-12
</delay_matrix>
<delay_matrix type="fall" in_port="in" out_port="out">
10e-12
</delay_matrix>
</circuit_model>
<circuit_model type="inv_buf" name="tap_buf4" prefix="tap_buf4" is_default="false">
<design_technology type="cmos" topology="buffer" size="1" num_level="3" f_per_stage="4"/>
<device_technology device_model_name="logic"/>
<port type="input" prefix="in" size="1"/>
<port type="output" prefix="out" size="1"/>
<delay_matrix type="rise" in_port="in" out_port="out">
10e-12
</delay_matrix>
<delay_matrix type="fall" in_port="in" out_port="out">
10e-12
</delay_matrix>
</circuit_model>
<circuit_model type="pass_gate" name="TGATE" prefix="TGATE" is_default="true">
<design_technology type="cmos" topology="transmission_gate" nmos_size="1" pmos_size="2"/>
<device_technology device_model_name="logic"/>
<input_buffer exist="false"/>
<output_buffer exist="false"/>
<port type="input" prefix="in" lib_name="A" size="1"/>
<port type="input" prefix="sel" lib_name="S" size="1"/>
<port type="input" prefix="selb" lib_name="SI" size="1"/>
<port type="output" prefix="out" lib_name="Y" size="1"/>
<delay_matrix type="rise" in_port="in sel selb" out_port="out">
10e-12 5e-12 5e-12
</delay_matrix>
<delay_matrix type="fall" in_port="in sel selb" out_port="out">
10e-12 5e-12 5e-12
</delay_matrix>
</circuit_model>
<circuit_model type="chan_wire" name="chan_segment" prefix="track_seg" is_default="true">
<design_technology type="cmos"/>
<input_buffer exist="false"/>
<output_buffer exist="false"/>
<port type="input" prefix="in" size="1"/>
<port type="output" prefix="out" size="1"/>
<wire_param model_type="pi" R="101" C="22.5e-15" num_level="1"/> <!-- model_type could be T, res_val and cap_val DON'T CARE -->
</circuit_model>
<circuit_model type="wire" name="direct_interc" prefix="direct_interc" is_default="true">
<design_technology type="cmos"/>
<input_buffer exist="false"/>
<output_buffer exist="false"/>
<port type="input" prefix="in" size="1"/>
<port type="output" prefix="out" size="1"/>
<wire_param model_type="pi" R="0" C="0" num_level="1"/> <!-- model_type could be T, res_val cap_val should be defined -->
</circuit_model>
<circuit_model type="mux" name="mux_2level" prefix="mux_2level" dump_structural_verilog="true">
<design_technology type="cmos" structure="multi_level" num_level="2" add_const_input="true" const_input_val="1"/>
<input_buffer exist="true" circuit_model_name="INVTX1"/>
<output_buffer exist="true" circuit_model_name="INVTX1"/>
<pass_gate_logic circuit_model_name="TGATE"/>
<port type="input" prefix="in" size="1"/>
<port type="output" prefix="out" size="1"/>
<port type="sram" prefix="sram" size="1"/>
</circuit_model>
<circuit_model type="mux" name="mux_2level_tapbuf" prefix="mux_2level_tapbuf" dump_structural_verilog="true">
<design_technology type="cmos" structure="multi_level" num_level="2" add_const_input="true" const_input_val="1"/>
<input_buffer exist="true" circuit_model_name="INVTX1"/>
<output_buffer exist="true" circuit_model_name="tap_buf4"/>
<pass_gate_logic circuit_model_name="TGATE"/>
<port type="input" prefix="in" size="1"/>
<port type="output" prefix="out" size="1"/>
<port type="sram" prefix="sram" size="1"/>
</circuit_model>
<circuit_model type="mux" name="mux_1level_tapbuf" prefix="mux_1level_tapbuf" is_default="true" dump_structural_verilog="true">
<design_technology type="cmos" structure="one_level" add_const_input="true" const_input_val="1"/>
<input_buffer exist="true" circuit_model_name="INVTX1"/>
<output_buffer exist="true" circuit_model_name="tap_buf4"/>
<pass_gate_logic circuit_model_name="TGATE"/>
<port type="input" prefix="in" size="1"/>
<port type="output" prefix="out" size="1"/>
<port type="sram" prefix="sram" size="1"/>
</circuit_model>
<!--DFF subckt ports should be defined as <D> <Q> <CLK> <RESET> <SET> -->
<circuit_model type="ff" name="DFFSRQ" prefix="DFFSRQ" spice_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/spice/dff.sp" verilog_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/verilog/dff.v">
<design_technology type="cmos"/>
<input_buffer exist="true" circuit_model_name="INVTX1"/>
<output_buffer exist="true" circuit_model_name="INVTX1"/>
<port type="input" prefix="D" size="1"/>
<port type="input" prefix="set" lib_name="SET" size="1" is_global="true" default_val="0" is_set="true"/>
<port type="input" prefix="reset" lib_name="RST" size="1" is_global="true" default_val="0" is_reset="true"/>
<port type="output" prefix="Q" size="1"/>
<port type="clock" prefix="clk" lib_name="CK" size="1" is_global="true" default_val="0" />
</circuit_model>
<circuit_model type="lut" name="frac_lut4" prefix="frac_lut4" dump_structural_verilog="true">
<design_technology type="cmos" fracturable_lut="true"/>
<input_buffer exist="true" circuit_model_name="INVTX1"/>
<output_buffer exist="true" circuit_model_name="INVTX1"/>
<lut_input_inverter exist="true" circuit_model_name="INVTX1"/>
<lut_input_buffer exist="true" circuit_model_name="buf4"/>
<lut_intermediate_buffer exist="true" circuit_model_name="buf4" location_map="-1-"/>
<pass_gate_logic circuit_model_name="TGATE"/>
<port type="input" prefix="in" size="4"/>
<!-- Without mode switcher, the LUT3 always output the lower part of level-3 MUX insider the LUT4 structure -->
<port type="output" prefix="lut3_out" size="1" lut_frac_level="3" lut_output_mask="1"/>
<port type="output" prefix="lut4_out" size="1" lut_output_mask="0"/>
<port type="sram" prefix="sram" size="16"/>
</circuit_model>
<!--Scan-chain DFF subckt ports should be defined as <D> <Q> <Qb> <CLK> <RESET> <SET> -->
<circuit_model type="ccff" name="DFFR" prefix="DFFR" spice_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/spice/dff.sp" verilog_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/verilog/dff.v">
<design_technology type="cmos"/>
<input_buffer exist="true" circuit_model_name="INVTX1"/>
<output_buffer exist="true" circuit_model_name="INVTX1"/>
<port type="input" prefix="pReset" lib_name="RST" size="1" is_global="true" default_val="0" is_reset="true" is_prog="true"/>
<port type="input" prefix="D" size="1"/>
<port type="output" prefix="Q" size="1"/>
<port type="output" prefix="QN" size="1"/>
<port type="clock" prefix="prog_clk" lib_name="CK" size="1" is_global="true" default_val="0" is_prog="true"/>
</circuit_model>
<circuit_model type="iopad" name="GPIO" prefix="GPIO" spice_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/spice/gpio.sp" verilog_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/verilog/gpio.v">
<design_technology type="cmos"/>
<input_buffer exist="true" circuit_model_name="INVTX1"/>
<output_buffer exist="true" circuit_model_name="INVTX1"/>
<port type="inout" prefix="PAD" size="1" is_global="true" is_io="true" is_data_io="true"/>
<port type="sram" prefix="DIR" size="1" mode_select="true" circuit_model_name="DFFR" default_val="1"/>
<port type="input" prefix="outpad" lib_name="A" size="1"/>
<port type="output" prefix="inpad" lib_name="Y" size="1"/>
</circuit_model>
</circuit_library>
<configuration_protocol>
<organization type="scan_chain" circuit_model_name="DFFR"/>
</configuration_protocol>
<connection_block>
<switch name="ipin_cblock" circuit_model_name="mux_2level_tapbuf"/>
</connection_block>
<switch_block>
<switch name="0" circuit_model_name="mux_2level_tapbuf"/>
</switch_block>
<routing_segment>
<segment name="L4" circuit_model_name="chan_segment"/>
</routing_segment>
<pb_type_annotations>
<!-- physical pb_type binding in complex block IO -->
<pb_type name="io" physical_mode_name="physical" idle_mode_name="inpad"/>
<pb_type name="io[physical].iopad" circuit_model_name="GPIO" mode_bits="1"/>
<pb_type name="io[inpad].inpad" physical_pb_type_name="io[physical].iopad" mode_bits="1"/>
<pb_type name="io[outpad].outpad" physical_pb_type_name="io[physical].iopad" mode_bits="0"/>
<!-- End physical pb_type binding in complex block IO -->
<!-- physical pb_type binding in complex block CLB -->
<!-- physical mode will be the default mode if not specified -->
<pb_type name="clb">
<!-- Binding interconnect to circuit models as their physical implementation, if not defined, we use the default model -->
<interconnect name="crossbar" circuit_model_name="mux_2level"/>
</pb_type>
<pb_type name="clb.fle" physical_mode_name="physical"/>
<pb_type name="clb.fle[physical].fabric.frac_logic.frac_lut4" circuit_model_name="frac_lut4"/>
<pb_type name="clb.fle[physical].fabric.ff" circuit_model_name="DFFSRQ"/>
<!-- Binding operating pb_type to physical pb_type -->
<!-- BLE3 LUT uses the frac_LUT4 of physical mode:
Index in CLB of BLE3 LUT -> Index in CLB of physical mode LUT
LUT[0] -> LUT[0]
LUT[1] -> LUT[1]
LUT[2] -> LUT[2]
...
-->
<pb_type name="clb.fle[shared_lut3_lut4].ble3.lut3" physical_pb_type_name="clb.fle[physical].fabric.frac_logic.frac_lut4">
<!-- Binding the lut3 to the first 3 inputs of fracturable lut4 -->
<port name="in" physical_mode_port="in[0:2]"/>
<port name="out" physical_mode_port="lut3_out[0:0]"/>
</pb_type>
<!-- BLE4 LUT uses the frac_LUT4 of physical mode:
Index in CLB of BLE4 LUT -> Index in CLB of physical mode LUT
LUT[0] -> LUT[0]
LUT[1] -> LUT[1]
LUT[2] -> LUT[2]
...
-->
<pb_type name="clb.fle[shared_lut3_lut4].ble4.lut4" physical_pb_type_name="clb.fle[physical].fabric.frac_logic.frac_lut4">
<!-- Binding the lut4 to the first 4 inputs of fracturable lut4 -->
<port name="in" physical_mode_port="in[0:3]"/>
<port name="out" physical_mode_port="lut4_out"/>
</pb_type>
<!-- BLE3 FF uses the first FF of physical mode:
Index in CLB of BLE3 FF -> Index in CLB of physical mode FFs
FF[0] -> FF[0]
FF[1] -> FF[2]
FF[2] -> FF[4]
...
-->
<pb_type name="clb.fle[shared_lut3_lut4].ble3.ff" physical_pb_type_name="clb.fle[physical].fabric.ff" physical_pb_type_index_factor="2" physical_pb_type_index_offset="0"/>
<!-- BLE3 FF uses the second FF of physical mode:
Index in CLB of BLE3 FF -> Index in CLB of physical mode FFs
FF[0] -> FF[1]
FF[1] -> FF[3]
FF[2] -> FF[5]
...
-->
<pb_type name="clb.fle[shared_lut3_lut4].ble4.ff" physical_pb_type_name="clb.fle[physical].fabric.ff" physical_pb_type_index_factor="2" physical_pb_type_index_offset="1"/>
<!-- End physical pb_type binding in complex block IO -->
</pb_type_annotations>
</openfpga_architecture>

View File

@ -0,0 +1,37 @@
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
# Configuration file for running experiments
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
# timeout_each_job : FPGA Task script splits fpga flow into multiple jobs
# Each job execute fpga_flow script on combination of architecture & benchmark
# timeout_each_job is timeout for each job
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
[GENERAL]
run_engine=openfpga_shell
power_tech_file = ${PATH:OPENFPGA_PATH}/openfpga_flow/tech/PTM_45nm/45nm.xml
power_analysis = true
spice_output=false
verilog_output=true
timeout_each_job = 20*60
fpga_flow=vpr_blif
[OpenFPGA_SHELL]
openfpga_shell_template=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_shell_scripts/example_script.openfpga
openfpga_arch_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_arch/k4_fracNative_N4_40nm_cc_openfpga.xml
openfpga_sim_setting_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_simulation_settings/auto_sim_openfpga.xml
[ARCHITECTURES]
arch0=${PATH:OPENFPGA_PATH}/openfpga_flow/vpr_arch/k4_fracNative_N4_tileable_40nm.xml
[BENCHMARKS]
#
bench0=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/and2_or2/and2_or2.blif
[SYNTHESIS_PARAM]
bench0_top = and2_or2
bench0_act = ${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/and2_or2/and2_or2.act
bench0_verilog = ${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/and2_or2/and2_or2.v
[SCRIPT_PARAM_MIN_ROUTE_CHAN_WIDTH]
end_flow_with_test=
vpr_fpga_verilog_formal_verification_top_netlist=

View File

@ -1,7 +1,9 @@
# Naming convention for VPR architecture files
Please reveal the following architecture features in the names to help quickly spot architecture files.
- k<lut\_size>\_<frac>: Look-Up Table (LUT) size of FPGA. If you have fracturable LUTs or multiple LUT circuits, this should be largest input size. The keyword 'frac' is to specify if fracturable LUT is used or not.
- k<lut\_size>\_<frac><Native>: Look-Up Table (LUT) size of FPGA. If you have fracturable LUTs or multiple LUT circuits, this should be largest input size.
* The keyword 'frac' is to specify if fracturable LUT is used or not.
* The keyword 'Native' is to specify if fracturable LUT design is a native one (without mode switch) or a standard one (with mode switch).
- N<le\_size>: Number of logic elements for a CLB. If you have multiple CLB architectures, this should be largest number.
- tileable: If the routing architecture is tileable or not.
- adder\_chain: If hard adder/carry chain is used inside CLBs

View File

@ -0,0 +1,420 @@
<!--
Flagship Heterogeneous Architecture (No Carry Chains) for VTR 7.0.
- 40 nm technology
- General purpose logic block:
K = 4, N = 4, fracturable 4 LUTs (can operate as one 4-LUT or two 3-LUTs with all 3 inputs shared)
with optionally registered outputs
- Routing architecture: L = 4, fc_in = 0.15, Fc_out = 0.1
Details on Modelling:
Based on flagship k4_frac_N4_mem32K_40nm.xml architecture.
Authors: Jason Luu, Jeff Goeders, Vaughn Betz
-->
<architecture>
<!--
ODIN II specific config begins
Describes the types of user-specified netlist blocks (in blif, this corresponds to
".model [type_of_block]") that this architecture supports.
Note: Basic LUTs, I/Os, and flip-flops are not included here as there are
already special structures in blif (.names, .input, .output, and .latch)
that describe them.
-->
<models>
<!-- A virtual model for I/O to be used in the physical mode of io block -->
<model name="io">
<input_ports>
<port name="outpad"/>
</input_ports>
<output_ports>
<port name="inpad"/>
</output_ports>
</model>
<!-- A virtual model for I/O to be used in the physical mode of io block -->
<model name="frac_lut4">
<input_ports>
<port name="in"/>
</input_ports>
<output_ports>
<port name="lut3_out"/>
<port name="lut4_out"/>
</output_ports>
</model>
</models>
<tiles>
<!-- Do NOT add clock pins to I/O here!!! VPR does not build clock network in the way that OpenFPGA can support
If you need to register the I/O, define clocks in the circuit models
These clocks can be handled in back-end
-->
<tile name="io" capacity="8" area="0">
<equivalent_sites>
<site pb_type="io"/>
</equivalent_sites>
<input name="outpad" num_pins="1"/>
<output name="inpad" num_pins="1"/>
<fc in_type="frac" in_val="0.15" out_type="frac" out_val="0.10"/>
<pinlocations pattern="custom">
<loc side="left">io.outpad io.inpad</loc>
<loc side="top">io.outpad io.inpad</loc>
<loc side="right">io.outpad io.inpad</loc>
<loc side="bottom">io.outpad io.inpad</loc>
</pinlocations>
</tile>
<tile name="clb" area="53894">
<equivalent_sites>
<site pb_type="clb"/>
</equivalent_sites>
<input name="I" num_pins="12" equivalent="full"/>
<output name="O" num_pins="8" equivalent="none"/>
<clock name="clk" num_pins="1"/>
<fc in_type="frac" in_val="0.15" out_type="frac" out_val="0.10"/>
<pinlocations pattern="spread"/>
</tile>
</tiles>
<!-- ODIN II specific config ends -->
<!-- Physical descriptions begin -->
<layout tileable="true">
<auto_layout aspect_ratio="1.0">
<!--Perimeter of 'io' blocks with 'EMPTY' blocks at corners-->
<perimeter type="io" priority="100"/>
<corners type="EMPTY" priority="101"/>
<!--Fill with 'clb'-->
<fill type="clb" priority="10"/>
</auto_layout>
<fixed_layout name="2x2" width="4" height="4">
<!--Perimeter of 'io' blocks with 'EMPTY' blocks at corners-->
<perimeter type="io" priority="100"/>
<corners type="EMPTY" priority="101"/>
<!--Fill with 'clb'-->
<fill type="clb" priority="10"/>
</fixed_layout>
<fixed_layout name="4x4" width="6" height="6">
<!--Perimeter of 'io' blocks with 'EMPTY' blocks at corners-->
<perimeter type="io" priority="100"/>
<corners type="EMPTY" priority="101"/>
<!--Fill with 'clb'-->
<fill type="clb" priority="10"/>
</fixed_layout>
</layout>
<device>
<!-- VB & JL: Using Ian Kuon's transistor sizing and drive strength data for routing, at 40 nm. Ian used BPTM
models. We are modifying the delay values however, to include metal C and R, which allows more architecture
experimentation. We are also modifying the relative resistance of PMOS to be 1.8x that of NMOS
(vs. Ian's 3x) as 1.8x lines up with Jeff G's data from a 45 nm process (and is more typical of
45 nm in general). I'm upping the Rmin_nmos from Ian's just over 6k to nearly 9k, and dropping
RminW_pmos from 18k to 16k to hit this 1.8x ratio, while keeping the delays of buffers approximately
lined up with Stratix IV.
We are using Jeff G.'s capacitance data for 45 nm (in tech/ptm_45nm).
Jeff's tables list C in for transistors with widths in multiples of the minimum feature size (45 nm).
The minimum contactable transistor is 2.5 * 45 nm, so I need to multiply drive strength sizes in this file
by 2.5x when looking up in Jeff's tables.
The delay values are lined up with Stratix IV, which has an architecture similar to this
proposed FPGA, and which is also 40 nm
C_ipin_cblock: input capacitance of a track buffer, which VPR assumes is a single-stage
4x minimum drive strength buffer. -->
<sizing R_minW_nmos="8926" R_minW_pmos="16067"/>
<!-- The grid_logic_tile_area below will be used for all blocks that do not explicitly set their own (non-routing)
area; set to 0 since we explicitly set the area of all blocks currently in this architecture file.
-->
<area grid_logic_tile_area="0"/>
<chan_width_distr>
<x distr="uniform" peak="1.000000"/>
<y distr="uniform" peak="1.000000"/>
</chan_width_distr>
<switch_block type="wilton" fs="3" sub_type="subset" sub_fs="3"/>
<connection_block input_switch_name="ipin_cblock"/>
</device>
<switchlist>
<!-- VB: the mux_trans_size and buf_size data below is in minimum width transistor *areas*, assuming the purple
book area formula. This means the mux transistors are about 5x minimum drive strength.
We assume the first stage of the buffer is 3x min drive strength to be reasonable given the large
mux transistors, and this gives a reasonable stage ratio of a bit over 5x to the second stage. We assume
the n and p transistors in the first stage are equal-sized to lower the buffer trip point, since it's fed
by a pass transistor mux. We can then reverse engineer the buffer second stage to hit the specified
buf_size (really buffer area) - 16.2x minimum drive nmos and 1.8*16.2 = 29.2x minimum drive.
I then took the data from Jeff G.'s PTM modeling of 45 nm to get the Cin (gate of first stage) and Cout
(diff of second stage) listed below. Jeff's models are in tech/ptm_45nm, and are in min feature multiples.
The minimum contactable transistor is 2.5 * 45 nm, so I need to multiply the drive strength sizes above by
2.5x when looking up in Jeff's tables.
Finally, we choose a switch delay (58 ps) that leads to length 4 wires having a delay equal to that of SIV of 126 ps.
This also leads to the switch being 46% of the total wire delay, which is reasonable. -->
<switch type="mux" name="0" R="551" Cin=".77e-15" Cout="4e-15" Tdel="58e-12" mux_trans_size="2.630740" buf_size="27.645901"/>
<!--switch ipin_cblock resistance set to yeild for 4x minimum drive strength buffer-->
<switch type="mux" name="ipin_cblock" R="2231.5" Cout="0." Cin="1.47e-15" Tdel="7.247000e-11" mux_trans_size="1.222260" buf_size="auto"/>
</switchlist>
<segmentlist>
<!--- VB & JL: using ITRS metal stack data, 96 nm half pitch wires, which are intermediate metal width/space.
With the 96 nm half pitch, such wires would take 60 um of height, vs. a 90 nm high (approximated as square) Stratix IV tile so this seems
reasonable. Using a tile length of 90 nm, corresponding to the length of a Stratix IV tile if it were square. -->
<!-- GIVE a specific name for the segment! OpenFPGA appreciate that! -->
<segment name="L4" freq="1.000000" length="4" type="unidir" Rmetal="101" Cmetal="22.5e-15">
<mux name="0"/>
<sb type="pattern">1 1 1 1 1</sb>
<cb type="pattern">1 1 1 1</cb>
</segment>
</segmentlist>
<complexblocklist>
<!-- Define I/O pads begin -->
<!-- Capacity is a unique property of I/Os, it is the maximum number of I/Os that can be placed at the same (X,Y) location on the FPGA -->
<!-- Not sure of the area of an I/O (varies widely), and it's not relevant to the design of the FPGA core, so we're setting it to 0. -->
<pb_type name="io">
<input name="outpad" num_pins="1"/>
<output name="inpad" num_pins="1"/>
<!-- Do NOT add clock pins to I/O here!!! VPR does not build clock network in the way that OpenFPGA can support
If you need to register the I/O, define clocks in the circuit models
These clocks can be handled in back-end
-->
<!-- A mode denotes the physical implementation of an I/O
This mode will be not packable but is mainly used for fabric verilog generation
-->
<mode name="physical" disabled_in_pack="true">
<pb_type name="iopad" blif_model=".subckt io" num_pb="1">
<input name="outpad" num_pins="1"/>
<output name="inpad" num_pins="1"/>
</pb_type>
<interconnect>
<direct name="outpad" input="io.outpad" output="iopad.outpad">
<delay_constant max="1.394e-11" in_port="io.outpad" out_port="iopad.outpad"/>
</direct>
<direct name="inpad" input="iopad.inpad" output="io.inpad">
<delay_constant max="4.243e-11" in_port="iopad.inpad" out_port="io.inpad"/>
</direct>
</interconnect>
</mode>
<!-- IOs can operate as either inputs or outputs.
Delays below come from Ian Kuon. They are small, so they should be interpreted as
the delays to and from registers in the I/O (and generally I/Os are registered
today and that is when you timing analyze them.
-->
<mode name="inpad">
<pb_type name="inpad" blif_model=".input" num_pb="1">
<output name="inpad" num_pins="1"/>
</pb_type>
<interconnect>
<direct name="inpad" input="inpad.inpad" output="io.inpad">
<delay_constant max="4.243e-11" in_port="inpad.inpad" out_port="io.inpad"/>
</direct>
</interconnect>
</mode>
<mode name="outpad">
<pb_type name="outpad" blif_model=".output" num_pb="1">
<input name="outpad" num_pins="1"/>
</pb_type>
<interconnect>
<direct name="outpad" input="io.outpad" output="outpad.outpad">
<delay_constant max="1.394e-11" in_port="io.outpad" out_port="outpad.outpad"/>
</direct>
</interconnect>
</mode>
<!-- Every input pin is driven by 15% of the tracks in a channel, every output pin is driven by 10% of the tracks in a channel -->
<!-- IOs go on the periphery of the FPGA, for consistency,
make it physically equivalent on all sides so that only one definition of I/Os is needed.
If I do not make a physically equivalent definition, then I need to define 4 different I/Os, one for each side of the FPGA
-->
<!-- Place I/Os on the sides of the FPGA -->
<power method="ignore"/>
</pb_type>
<!-- Define I/O pads ends -->
<!-- Define general purpose logic block (CLB) begin -->
<!--- Area calculation: Total Stratix IV tile area is about 8100 um^2, and a minimum width transistor
area is 60 L^2 yields a tile area of 84375 MWTAs.
Routing at W=300 is 30481 MWTAs, leaving us with a total of 53000 MWTAs for logic block area
This means that only 37% of our area is in the general routing, and 63% is inside the logic
block. Note that the crossbar / local interconnect is considered part of the logic block
area in this analysis. That is a lower proportion of of routing area than most academics
assume, but note that the total routing area really includes the crossbar, which would push
routing area up significantly, we estimate into the ~70% range.
-->
<pb_type name="clb">
<input name="I" num_pins="12" equivalent="full"/>
<output name="O" num_pins="8" equivalent="none"/>
<clock name="clk" num_pins="1"/>
<!-- Describe fracturable logic element.
Each fracturable logic element has a 6-LUT that can alternatively operate as two 5-LUTs with shared inputs.
The outputs of the fracturable logic element can be optionally registered
-->
<pb_type name="fle" num_pb="4">
<input name="in" num_pins="4"/>
<output name="out" num_pins="2"/>
<clock name="clk" num_pins="1"/>
<!-- Physical mode definition begin (physical implementation of the fle) -->
<mode name="physical" disabled_in_pack="true">
<pb_type name="fabric" num_pb="1">
<input name="in" num_pins="4"/>
<output name="out" num_pins="2"/>
<clock name="clk" num_pins="1"/>
<pb_type name="frac_logic" num_pb="1">
<input name="in" num_pins="4"/>
<output name="out" num_pins="2"/>
<!-- Define a native (no mode switch) 4-input fracturable LUT
Different from standard fracturable LUT4 whose input can be tri-stated
to enable fracturable output,
The native fracturable LUT4 has a LUT3 output without any switches
to enable it. Therefore, none of its inputs will be tri-stated
The LUT3 output is directly wired to an internal point of LUT4
which can be considered a spy output
-->
<pb_type name="frac_lut4" blif_model=".subckt frac_lut4" num_pb="1">
<input name="in" num_pins="4"/>
<output name="lut3_out" num_pins="1"/>
<output name="lut4_out" num_pins="1"/>
</pb_type>
<interconnect>
<direct name="direct1" input="frac_logic.in" output="frac_lut4.in"/>
<direct name="direct2" input="frac_lut4.lut3_out[0]" output="frac_logic.out[0]"/>
<direct name="direct3" input="frac_lut4.lut4_out[0]" output="frac_logic.out[1]"/>
</interconnect>
</pb_type>
<!-- Define flip-flop -->
<pb_type name="ff" blif_model=".latch" num_pb="2" class="flipflop">
<input name="D" num_pins="1" port_class="D"/>
<output name="Q" num_pins="1" port_class="Q"/>
<clock name="clk" num_pins="1" port_class="clock"/>
<T_setup value="66e-12" port="ff.D" clock="clk"/>
<T_clock_to_Q max="124e-12" port="ff.Q" clock="clk"/>
</pb_type>
<interconnect>
<direct name="direct1" input="fabric.in" output="frac_logic.in"/>
<direct name="direct2" input="frac_logic.out[1:0]" output="ff[1:0].D"/>
<complete name="direct3" input="fabric.clk" output="ff[1:0].clk"/>
<mux name="mux1" input="ff[0].Q frac_logic.out[0]" output="fabric.out[0]">
<!-- LUT to output is faster than FF to output on a Stratix IV -->
<delay_constant max="25e-12" in_port="frac_logic.out[0]" out_port="fabric.out[0]"/>
<delay_constant max="45e-12" in_port="ff[0].Q" out_port="fabric.out[0]"/>
</mux>
<mux name="mux2" input="ff[1].Q frac_logic.out[1]" output="fabric.out[1]">
<!-- LUT to output is faster than FF to output on a Stratix IV -->
<delay_constant max="25e-12" in_port="frac_logic.out[1]" out_port="fabric.out[1]"/>
<delay_constant max="45e-12" in_port="ff[1].Q" out_port="fabric.out[1]"/>
</mux>
</interconnect>
</pb_type>
<interconnect>
<direct name="direct1" input="fle.in" output="fabric.in"/>
<direct name="direct2" input="fabric.out" output="fle.out"/>
<direct name="direct3" input="fle.clk" output="fabric.clk"/>
</interconnect>
</mode>
<!-- Physical mode definition end (physical implementation of the fle) -->
<!-- 3-LUT + LUT4 with shared inputs mode definition begin -->
<mode name="shared_lut3_lut4">
<pb_type name="ble3" num_pb="1">
<input name="in" num_pins="3"/>
<output name="out" num_pins="1"/>
<clock name="clk" num_pins="1"/>
<!-- Define LUT3 -->
<pb_type name="lut3" blif_model=".names" num_pb="1" class="lut">
<input name="in" num_pins="3" port_class="lut_in"/>
<output name="out" num_pins="1" port_class="lut_out"/>
<!-- LUT timing using delay matrix -->
<delay_matrix type="max" in_port="lut3.in" out_port="lut3.out">
235e-12
235e-12
235e-12
</delay_matrix>
</pb_type>
<!-- Define the flip-flop -->
<pb_type name="ff" blif_model=".latch" num_pb="1" class="flipflop">
<input name="D" num_pins="1" port_class="D"/>
<output name="Q" num_pins="1" port_class="Q"/>
<clock name="clk" num_pins="1" port_class="clock"/>
<T_setup value="66e-12" port="ff.D" clock="clk"/>
<T_clock_to_Q max="124e-12" port="ff.Q" clock="clk"/>
</pb_type>
<interconnect>
<direct name="direct1" input="ble3.in[2:0]" output="lut3[0:0].in[2:0]"/>
<direct name="direct2" input="lut3[0:0].out" output="ff[0:0].D">
<!-- Advanced user option that tells CAD tool to find LUT+FF pairs in netlist -->
<pack_pattern name="ble3" in_port="lut3[0:0].out" out_port="ff[0:0].D"/>
</direct>
<direct name="direct3" input="ble3.clk" output="ff[0:0].clk"/>
<mux name="mux1" input="ff[0:0].Q lut3.out[0:0]" output="ble3.out[0:0]">
<!-- LUT to output is faster than FF to output on a Stratix IV -->
<delay_constant max="25e-12" in_port="lut3.out[0:0]" out_port="ble3.out[0:0]"/>
<delay_constant max="45e-12" in_port="ff[0:0].Q" out_port="ble3.out[0:0]"/>
</mux>
</interconnect>
</pb_type>
<pb_type name="ble4" num_pb="1">
<input name="in" num_pins="4"/>
<output name="out" num_pins="1"/>
<clock name="clk" num_pins="1"/>
<!-- Define LUT4 -->
<pb_type name="lut4" blif_model=".names" num_pb="1" class="lut">
<input name="in" num_pins="4" port_class="lut_in"/>
<output name="out" num_pins="1" port_class="lut_out"/>
<!-- LUT timing using delay matrix -->
<delay_matrix type="max" in_port="lut4.in" out_port="lut4.out">
261e-12
261e-12
261e-12
261e-12
</delay_matrix>
</pb_type>
<!-- Define the flip-flop -->
<pb_type name="ff" blif_model=".latch" num_pb="1" class="flipflop">
<input name="D" num_pins="1" port_class="D"/>
<output name="Q" num_pins="1" port_class="Q"/>
<clock name="clk" num_pins="1" port_class="clock"/>
<T_setup value="66e-12" port="ff.D" clock="clk"/>
<T_clock_to_Q max="124e-12" port="ff.Q" clock="clk"/>
</pb_type>
<interconnect>
<direct name="direct1" input="ble4.in[3:0]" output="lut4[0:0].in[3:0]"/>
<direct name="direct2" input="lut4[0:0].out" output="ff[0:0].D">
<!-- Advanced user option that tells CAD tool to find LUT+FF pairs in netlist -->
<pack_pattern name="ble4" in_port="lut4[0:0].out" out_port="ff[0:0].D"/>
</direct>
<direct name="direct3" input="ble4.clk" output="ff[0:0].clk"/>
<mux name="mux1" input="ff[0:0].Q lut4.out[0:0]" output="ble4.out[0:0]">
<!-- LUT to output is faster than FF to output on a Stratix IV -->
<delay_constant max="25e-12" in_port="lut4.out[0:0]" out_port="ble4.out[0:0]"/>
<delay_constant max="45e-12" in_port="ff[0:0].Q" out_port="ble4.out[0:0]"/>
</mux>
</interconnect>
</pb_type>
<interconnect>
<direct name="direct1" input="fle.in[2:0]" output="ble3.in"/>
<direct name="direct2" input="fle.in[3:0]" output="ble4.in"/>
<direct name="direct3" input="ble3.out" output="fle.out[0:0]"/>
<direct name="direct4" input="ble4.out" output="fle.out[1:1]"/>
<direct name="direct5" input="fle.clk" output="ble3.clk"/>
<direct name="direct6" input="fle.clk" output="ble4.clk"/>
</interconnect>
</mode>
<!-- Dual 3-LUT mode definition end -->
</pb_type>
<interconnect>
<!-- We use a full crossbar to get logical equivalence at inputs of CLB
The delays below come from Stratix IV. the delay through a connection block
input mux + the crossbar in Stratix IV is 167 ps. We already have a 72 ps
delay on the connection block input mux (modeled by Ian Kuon), so the remaining
delay within the crossbar is 95 ps.
The delays of cluster feedbacks in Stratix IV is 100 ps, when driven by a LUT.
Since all our outputs LUT outputs go to a BLE output, and have a delay of
25 ps to do so, we subtract 25 ps from the 100 ps delay of a feedback
to get the part that should be marked on the crossbar. -->
<complete name="crossbar" input="clb.I fle[3:0].out" output="fle[3:0].in">
<delay_constant max="95e-12" in_port="clb.I" out_port="fle[3:0].in"/>
<delay_constant max="75e-12" in_port="fle[3:0].out" out_port="fle[3:0].in"/>
</complete>
<complete name="clks" input="clb.clk" output="fle[3:0].clk">
</complete>
<!-- This way of specifying direct connection to clb outputs is important because this architecture uses automatic spreading of opins.
By grouping to output pins in this fashion, if a logic block is completely filled by 6-LUTs,
then the outputs those 6-LUTs take get evenly distributed across all four sides of the CLB instead of clumped on two sides (which is what happens with a more
naive specification).
-->
<direct name="clbouts1" input="fle[3:0].out[0:0]" output="clb.O[3:0]"/>
<direct name="clbouts2" input="fle[3:0].out[1:1]" output="clb.O[7:4]"/>
</interconnect>
<!-- Every input pin is driven by 15% of the tracks in a channel, every output pin is driven by 10% of the tracks in a channel -->
<!-- Place this general purpose logic block in any unspecified column -->
</pb_type>
<!-- Define general purpose logic block (CLB) ends -->
</complexblocklist>
</architecture>