diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_clb_arch.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_clb_arch.svg
new file mode 100644
index 0000000..bbda53b
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_clb_arch.svg
@@ -0,0 +1,751 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_embedded_io_schematic.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_embedded_io_schematic.svg
new file mode 100644
index 0000000..75482cb
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_embedded_io_schematic.svg
@@ -0,0 +1,253 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fabric_scan_chain.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fabric_scan_chain.svg
new file mode 100644
index 0000000..0bf9cc5
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fabric_scan_chain.svg
@@ -0,0 +1,320 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_dual_lut3_mode.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_dual_lut3_mode.svg
new file mode 100644
index 0000000..a559eef
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_dual_lut3_mode.svg
@@ -0,0 +1,385 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_schematic.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_schematic.svg
new file mode 100644
index 0000000..064d224
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_schematic.svg
@@ -0,0 +1,385 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_shift_register_mode.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_shift_register_mode.svg
new file mode 100644
index 0000000..c239b7e
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_shift_register_mode.svg
@@ -0,0 +1,385 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_single_lut4_mode.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_single_lut4_mode.svg
new file mode 100644
index 0000000..018c66d
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_single_lut4_mode.svg
@@ -0,0 +1,385 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_soft_adder_mode.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_soft_adder_mode.svg
new file mode 100644
index 0000000..35ffba6
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fle_arch_soft_adder_mode.svg
@@ -0,0 +1,385 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_arch.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_arch.svg
new file mode 100644
index 0000000..59678b3
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_arch.svg
@@ -0,0 +1,1089 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_io_map_logic_analyzer_mode.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_io_map_logic_analyzer_mode.svg
new file mode 100644
index 0000000..e29fd87
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_io_map_logic_analyzer_mode.svg
@@ -0,0 +1,247 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_io_map_wishbone_mode.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_io_map_wishbone_mode.svg
new file mode 100644
index 0000000..4744bdb
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_io_map_wishbone_mode.svg
@@ -0,0 +1,259 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_io_switch.svg b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_io_switch.svg
new file mode 100644
index 0000000..3e91b9b
--- /dev/null
+++ b/DOC/source/datasheet/qlsofa_hd/figures/qlsofa_hd_fpga_io_switch.svg
@@ -0,0 +1,353 @@
+
+
+
diff --git a/DOC/source/datasheet/qlsofa_hd/qlsofa_hd_fpga_arch.rst b/DOC/source/datasheet/qlsofa_hd/qlsofa_hd_fpga_arch.rst
index 59f9cca..f1d079d 100644
--- a/DOC/source/datasheet/qlsofa_hd/qlsofa_hd_fpga_arch.rst
+++ b/DOC/source/datasheet/qlsofa_hd/qlsofa_hd_fpga_arch.rst
@@ -3,6 +3,12 @@
Architecture
-------------
+.. _qlsofa_hd_fpga_arch_floorplan:
+
+Floorplan
+^^^^^^^^^
+
+
:numref:`fig_qlsofa_hd_fpga_arch` shows an overview on the architecture of the embedded FPGA fabric.
The FPGA follows a homogeneous architecture which only contains single type of tiles in the center fabric.
I/O tiles are placed at the boundary of the FPGA to interface with GPIOs and RISC-V processors (see details in :ref:`qlsofa_hd_io_resource`).
@@ -19,7 +25,7 @@ I/O tiles are placed at the boundary of the FPGA to interface with GPIOs and RIS
.. _qlsofa_hd_fpga_arch_tiles:
Tiles
------
+^^^^^
The FPGA architecture follows a tile-based organization, to exploit the fine-grainularity in physical design, where three types of tiles are built:
@@ -56,7 +62,7 @@ The FPGA architecture follows a tile-based organization, to exploit the fine-gra
.. _qlsofa_hd_fpga_arch_scan_chain:
Scan-chain
-----------
+^^^^^^^^^^
There is a built-in scan-chain in the FPGA which connects the the `sc_in` and `sc_out` ports of CLBs in a chain (see details in :ref:`qlsofa_hd_clb_arch_scan_chain`), as illustrated in :numref:`fig_qlsofa_hd_fabric_scan_chain`.
diff --git a/DOC/source/datasheet/qlsofa_hd/qlsofa_hd_io_resource.rst b/DOC/source/datasheet/qlsofa_hd/qlsofa_hd_io_resource.rst
index 229295f..fc2badb 100644
--- a/DOC/source/datasheet/qlsofa_hd/qlsofa_hd_io_resource.rst
+++ b/DOC/source/datasheet/qlsofa_hd/qlsofa_hd_io_resource.rst
@@ -3,8 +3,8 @@
I/O Resources
-------------
-DATA I/Os
-^^^^^^^^^
+Pin Assignment
+^^^^^^^^^^^^^^
The *High-Density* (HD) FPGA IP has 144 data I/O pins as shown in :numref:`fig_qlsofa_hd_fpga_io_switch`.
@@ -31,9 +31,9 @@ Among the 144 I/Os,
.. _io_resource_qlsofa_hd_external_io:
External I/Os
-~~~~~~~~~~~~~
+^^^^^^^^^^^^^
-A SOFA HD FPGA IP contains 37 external I/O pins, including 29 data I/Os and 8 control I/Os.
+A SOFA HD FPGA IP contains 37 external I/O pins, including 27 data I/Os and 10 control I/Os.
Full details are summarized in the following table.
@@ -42,21 +42,25 @@ Full details are summarized in the following table.
+-----------+------------------------------------------------------------------------+-------------+
| I/O Type | Description | No. of Pins |
+===========+========================================================================+=============+
- | Data I/O | Datapath I/Os of FPGA fabric | 29 |
+ | Data I/O | Datapath I/Os of FPGA fabric | 27 |
+-----------+------------------------------------------------------------------------+-------------+
- | Clk | Operating clock of FPGA core | 1 |
+ | CLK | Operating clock of FPGA core | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | ProgClk | Clock used by configuration protocol to program FPGA fabric | 1 |
+ | PROG_CLK | Clock used by configuration protocol to program FPGA fabric | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | CCin | Input of configuation protocol to load bitstream | 1 |
+ | RESET | Active-low reset for datapath flip-flops in the FPGA | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | CCout | Output of configuration protocol to read back bitstream | 1 |
+ | PROG_RESET| Active-low reset for configuration flip-flops in the FPGA | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | TestEn | Activate the test mode of FPGA fabric | 1 |
+ | CCFF_HEAD | Input of configuation protocol to load bitstream | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | SCin | Input of built-in scan-chain to load data to flip-flops of FPGA fabric | 1 |
+ | CCFF_TAIL | Output of configuration protocol to read back bitstream | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | SCout | Output of built-in scan-chain to read back flip-flops from FPGA fabric | 1 |
+ | TEST_EN | Activate the test mode of FPGA fabric | 1 |
+ +-----------+------------------------------------------------------------------------+-------------+
+ | SC_HEAD | Input of built-in scan-chain to load data to flip-flops of FPGA fabric | 1 |
+ +-----------+------------------------------------------------------------------------+-------------+
+ | SC_TAIL | Output of built-in scan-chain to read back flip-flops from FPGA fabric | 1 |
+-----------+------------------------------------------------------------------------+-------------+
| IO_ISLO_N | Active-low signal to enable I/O datapath isolation from external ports | 1 |
+-----------+------------------------------------------------------------------------+-------------+
@@ -66,7 +70,7 @@ Full details are summarized in the following table.
.. _qlsofa_hd_io_resource_accelerator:
Accelerator Mode
-~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^
When the Wishbone interface is enabled, the FPGA can operate as an accelerator for the RISC-V processor.
:numref:`fig_qlsofa_hd_fpga_io_map_wishbone_mode` illustrates the detailed I/O arrangement for the FPGA, where the wishbone bus signals are connected to fixed FPGA I/O locations.
@@ -86,7 +90,7 @@ When the Wishbone interface is enabled, the FPGA can operate as an accelerator f
.. _qlsofa_hd_io_resource_debug:
Debug Mode
-~~~~~~~~~~
+^^^^^^^^^^
When the logic analyzer interface is enabled, the FPGA can operate in debug mode, whose internal signals can be readback through the registers of the RISC-V processor.
:numref:`fig_qlsofa_hd_fpga_io_map_logic_analyzer_mode` illustrates the detailed I/O arrangement for the FPGA, where the logic analyzer signals are connected to fixed FPGA I/O locations.
diff --git a/DOC/source/datasheet/sofa_hd/sofa_hd_fpga_arch.rst b/DOC/source/datasheet/sofa_hd/sofa_hd_fpga_arch.rst
index adffbf4..5f503c9 100644
--- a/DOC/source/datasheet/sofa_hd/sofa_hd_fpga_arch.rst
+++ b/DOC/source/datasheet/sofa_hd/sofa_hd_fpga_arch.rst
@@ -3,6 +3,12 @@
Architecture
-------------
+
+.. _sofa_hd_fpga_arch_floorplan:
+
+Floorplan
+^^^^^^^^^
+
:numref:`fig_sofa_hd_fpga_arch` shows an overview on the architecture of the embedded FPGA fabric.
The FPGA follows a homogeneous architecture which only contains single type of tiles in the center fabric.
I/O tiles are placed at the boundary of the FPGA to interface with GPIOs and RISC-V processors (see details in :ref:`sofa_hd_io_resource`).
@@ -19,7 +25,7 @@ I/O tiles are placed at the boundary of the FPGA to interface with GPIOs and RIS
.. _sofa_hd_fpga_arch_tiles:
Tiles
------
+^^^^^
The FPGA architecture follows a tile-based organization, to exploit the fine-grainularity in physical design, where three types of tiles are built:
@@ -56,7 +62,7 @@ The FPGA architecture follows a tile-based organization, to exploit the fine-gra
.. _sofa_hd_fpga_arch_scan_chain:
Scan-chain
-----------
+^^^^^^^^^^
There is a built-in scan-chain in the FPGA which connects the the `sc_in` and `sc_out` ports of CLBs in a chain (see details in :ref:`sofa_hd_clb_arch_scan_chain`), as illustrated in :numref:`fig_sofa_hd_fabric_scan_chain`.
diff --git a/DOC/source/datasheet/sofa_hd/sofa_hd_io_resource.rst b/DOC/source/datasheet/sofa_hd/sofa_hd_io_resource.rst
index 516f875..48f29a3 100644
--- a/DOC/source/datasheet/sofa_hd/sofa_hd_io_resource.rst
+++ b/DOC/source/datasheet/sofa_hd/sofa_hd_io_resource.rst
@@ -3,8 +3,8 @@
I/O Resources
-------------
-DATA I/Os
-^^^^^^^^^
+Pin Assignment
+^^^^^^^^^^^^^^
The *High-Density* (HD) FPGA IP has 144 data I/O pins as shown in :numref:`fig_sofa_hd_fpga_io_switch`.
@@ -31,7 +31,7 @@ Among the 144 I/Os,
.. _io_resource_sofa_hd_external_io:
External I/Os
-~~~~~~~~~~~~~
+^^^^^^^^^^^^^
A SOFA HD FPGA IP contains 37 external I/O pins, including 29 data I/Os and 8 control I/Os.
@@ -44,19 +44,19 @@ Full details are summarized in the following table.
+===========+========================================================================+=============+
| Data I/O | Datapath I/Os of FPGA fabric | 29 |
+-----------+------------------------------------------------------------------------+-------------+
- | Clk | Operating clock of FPGA core | 1 |
+ | CLK | Operating clock of FPGA core | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | ProgClk | Clock used by configuration protocol to program FPGA fabric | 1 |
+ | PROG_CLK | Clock used by configuration protocol to program FPGA fabric | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | CCin | Input of configuation protocol to load bitstream | 1 |
+ | CCFF_HEAD | Input of configuation protocol to load bitstream | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | CCout | Output of configuration protocol to read back bitstream | 1 |
+ | CCFF_TAIL | Output of configuration protocol to read back bitstream | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | TestEn | Activate the test mode of FPGA fabric | 1 |
+ | TEST_EN | Activate the test mode of FPGA fabric | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | SCin | Input of built-in scan-chain to load data to flip-flops of FPGA fabric | 1 |
+ | SC_HEAD | Input of built-in scan-chain to load data to flip-flops of FPGA fabric | 1 |
+-----------+------------------------------------------------------------------------+-------------+
- | SCout | Output of built-in scan-chain to read back flip-flops from FPGA fabric | 1 |
+ | SC_TAIL | Output of built-in scan-chain to read back flip-flops from FPGA fabric | 1 |
+-----------+------------------------------------------------------------------------+-------------+
| IO_ISLO_N | Active-low signal to enable I/O datapath isolation from external ports | 1 |
+-----------+------------------------------------------------------------------------+-------------+
@@ -66,7 +66,7 @@ Full details are summarized in the following table.
.. _sofa_hd_io_resource_accelerator:
Accelerator Mode
-~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^
When the Wishbone interface is enabled, the FPGA can operate as an accelerator for the RISC-V processor.
:numref:`fig_sofa_hd_fpga_io_map_wishbone_mode` illustrates the detailed I/O arrangement for the FPGA, where the wishbone bus signals are connected to fixed FPGA I/O locations.
@@ -86,7 +86,7 @@ When the Wishbone interface is enabled, the FPGA can operate as an accelerator f
.. _sofa_hd_io_resource_debug:
Debug Mode
-~~~~~~~~~~
+^^^^^^^^^^
When the logic analyzer interface is enabled, the FPGA can operate in debug mode, whose internal signals can be readback through the registers of the RISC-V processor.
:numref:`fig_sofa_hd_fpga_io_map_logic_analyzer_mode` illustrates the detailed I/O arrangement for the FPGA, where the logic analyzer signals are connected to fixed FPGA I/O locations.