2020-10-06 12:56:10 -05:00
|
|
|
Technical Highlights
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
The follow lists of technical features are created to help users spot their needs in customizing FPGA fabrics.(**as of October 2020**)
|
|
|
|
|
|
|
|
Supported Circuit Designs
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| Circuit Types | Auto-generation | User-Defined | Design Topologies |
|
|
|
|
+===============+=================+==============+=========================+
|
|
|
|
| Inverter | Yes | Yes | - Power-gating |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| Buffer | Yes | Yes | - Tapered buffers |
|
|
|
|
| | | | - Power-gating |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| AND gate | Yes | Yes | - 2-input |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| OR gate | Yes | Yes | - 2-input |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| MUX2 gate | Yes | Yes | - 2-input |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| Pass gate | Yes | Yes | - Transmission gate |
|
|
|
|
| | | | - Pass transistor |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| Look-Up Table | Yes | Yes | - **Any size** |
|
|
|
|
| | | | - Single-output LUT |
|
|
|
|
| | | | - Fracturable LUT |
|
|
|
|
| | | | - Buffer location |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| Routing | Yes | No | - **Any size** |
|
|
|
|
| Multiplexer | | | - Buffer location |
|
|
|
|
| | | | - One-level structure |
|
2020-10-06 13:00:30 -05:00
|
|
|
| | | | - Tree structure |
|
2020-10-06 12:56:10 -05:00
|
|
|
| | | | - Multi-level structure |
|
|
|
|
| | | | - Local encoders |
|
|
|
|
| | | | - Constant inputs |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| Configurable | No | Yes | - Latch |
|
|
|
|
| Memory | | | - SRAM |
|
|
|
|
| | | | - D-type flip-flop |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| Block RAM | No | Yes | - Single-port |
|
|
|
|
| | | | - Dual-port |
|
|
|
|
| | | | - Fracturable |
|
|
|
|
| | | | - **Any size** |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| Arithmetic | No | Yes | - **Any size** |
|
|
|
|
| Units | | | - Multiplier |
|
|
|
|
| | | | - Adder |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
| I/O | No | Yes | - General purpose I/O |
|
|
|
|
| | | | - Bi-directional buffer |
|
|
|
|
| | | | - AIB |
|
|
|
|
+---------------+-----------------+--------------+-------------------------+
|
|
|
|
|
|
|
|
|
|
|
|
* The user defined netlist could come from a standard cell
|
|
|
|
|
|
|
|
Supported FPGA Architectures
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
We support most FPGA architectures that VPR can support!
|
|
|
|
The following are most commonly seen architectural features:
|
|
|
|
|
|
|
|
+--------------------+----------------------------------------------+
|
|
|
|
| Block Type | Architecture features |
|
|
|
|
+====================+==============================================+
|
|
|
|
| Programmable Block | - Single-mode Configurable Logic Block (CLB) |
|
|
|
|
| | - Multi-mode Configurable Logic Block (CLB) |
|
|
|
|
| | - Single-mode heterogeneous blocks |
|
|
|
|
| | - Multi-mode heterogeneous blocks |
|
|
|
|
| | - Flexible local routing architecture |
|
|
|
|
+--------------------+----------------------------------------------+
|
|
|
|
| Routing Block | - Tileable routing architecture |
|
|
|
|
| | - Flexible connectivity |
|
|
|
|
| | - Flexible Switch Block Patterns |
|
|
|
|
+--------------------+----------------------------------------------+
|
2020-10-06 13:16:15 -05:00
|
|
|
| Configuration | - Chain-based organization |
|
|
|
|
| Protocol | - Frame-based organization |
|
|
|
|
| | - Memory bank organization |
|
|
|
|
| | - Flatten organization |
|
|
|
|
+--------------------+----------------------------------------------+
|
2020-10-06 12:56:10 -05:00
|
|
|
|
|
|
|
Supported Verilog Modeling
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
OpenFPGA supports the following Verilog features in auto-generated netlists for circuit designs
|
|
|
|
|
|
|
|
- Synthesizable Behavioral Verilog
|
|
|
|
|
|
|
|
- Structural Verilog
|
|
|
|
|
|
|
|
- Implicit/Explicit port mapping
|
|
|
|
|