[Doc] Add description about operating modes of Logic Elements

This commit is contained in:
tangxifan 2020-11-25 17:43:35 -07:00
parent a4f6c34466
commit ba17de5509
1 changed files with 60 additions and 3 deletions

View File

@ -25,6 +25,9 @@ Feedback connections between LEs are implemented by the global routing architect
Multi-mode Logic Element
~~~~~~~~~~~~~~~~~~~~~~~~
Physical Implementation
^^^^^^^^^^^^^^^^^^^^^^^
As shown in :numref:`fig_fle_arch`, each Logic Element (LE) consists of
- a fracturable 4-input Look-Up Table (LUT)
@ -40,9 +43,63 @@ As shown in :numref:`fig_fle_arch`, each Logic Element (LE) consists of
The LE can operate in different modes to map logic function efficiently
- 4-input LUT and single FF
- Dual 3-input LUTs and 2 FFs
- 2-bit shift registers
- 4-input LUT and single FF (see details in :ref:`clb_arch_le_single_lut4_mode`).
- Dual 3-input LUTs and 2 FFs (see details in :ref:`clb_arch_le_dual_lut3_mode`).
- 2-bit shift registers (see details in :ref:`clb_arch_le_shift_reg_mode`).
.. _clb_arch_le_single_lut4_mode:
Operating mode: LUT4 + FF
^^^^^^^^^^^^^^^^^^^^^^^^^
The logic element can operate in the Look-Up Table (LUT) + Flip-flop (FF) mode as many classical FPGA logic elements.
As depicted in :numref:`fig_fle_arch_single_lut4_mode`, the fracturable LUT will operate as a single-output 4-input LUT and the upper FF is used to implemented sequential logic.
The operating mode is designed to efficiently implement 4-input functions.
.. _fig_fle_arch_single_lut4_mode:
.. figure:: ./figures/fle_arch_single_lut4_mode.svg
:scale: 30%
:alt: Logic element schematic
Resource usage of the logic element operating in LUT4 + FF mode (Grey blocks and lines are unused resources).
.. _clb_arch_le_dual_lut3_mode:
Operating mode: Dual-LUT3
^^^^^^^^^^^^^^^^^^^^^^^^^
The logic element can operate in the dual Look-Up Tables (LUTs) and Flip-flops (FFs) mode as many modern FPGA logic elements.
As depicted in :numref:`fig_fle_arch_dual_lut3_mode`, the fracturable LUT will operate as two 3-input LUTs with shared inputs.
The operating mode is designed to efficiently implement two 3-input functions with shared input variables. A popular example is the adder function, where the carry logic can be mapped to the upper LUT3 and the sum logic can be mapped to the lower LUT3.
.. _fig_fle_arch_dual_lut3_mode:
.. figure:: ./figures/fle_arch_dual_lut3_mode.svg
:scale: 30%
:alt: Logic element schematic
Resource usage of the logic element operating in dual LUT3 + FFs mode (Grey blocks and lines are unused resources).
.. _clb_arch_le_shift_reg_mode:
Operating mode: Shift-Register
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As depicted in :numref:`fig_fle_arch_shift_reg_mode`, the Flip-flops (FFs) can be connected in dedicated routing wires to implement high-performance shift registers.
The operating mode is designed to efficiently implement shift registers which are widely used in buffer logic, e.g., FIFOs.
.. _fig_fle_arch_shift_reg_mode:
.. figure:: ./figures/fle_arch_shift_reg_mode.svg
:scale: 30%
:alt: Logic element schematic
Resource usage of the logic element operating in shift register mode (Grey blocks and lines are unused resources).
.. _clb_arch_scan_chain: