From: Irides Date: Mon, 13 Dec 2021 09:10:40 +0000 (-0600) Subject: docs: cover `nmigen.vendor`. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1a17f05009957f7cf4ba9282cb46229ee626ed98;p=nmigen.git docs: cover `nmigen.vendor`. --- diff --git a/docs/index.rst b/docs/index.rst index 97a51ca..2293a5d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -14,3 +14,4 @@ Language & toolchain tutorial lang stdlib + platform diff --git a/docs/platform.rst b/docs/platform.rst new file mode 100644 index 0000000..011e488 --- /dev/null +++ b/docs/platform.rst @@ -0,0 +1,16 @@ +Platform integration +#################### + +.. todo:: + + Write this section. + +.. toctree:: + :maxdepth: 2 + + platform/intel + platform/lattice-ecp5 + platform/lattice-ice40 + platform/lattice-machxo-2-3l + platform/quicklogic + platform/xilinx \ No newline at end of file diff --git a/docs/platform/intel.rst b/docs/platform/intel.rst new file mode 100644 index 0000000..6642dff --- /dev/null +++ b/docs/platform/intel.rst @@ -0,0 +1,10 @@ +Intel +##### + +.. py:module:: nmigen.vendor.intel + +The :mod:`nmigen.vendor.intel` package provides a base platform to support Intel toolchains. + +The Quartus and Mistral toolchains are supported. + +.. autoclass:: IntelPlatform \ No newline at end of file diff --git a/docs/platform/lattice-ecp5.rst b/docs/platform/lattice-ecp5.rst new file mode 100644 index 0000000..5a6db08 --- /dev/null +++ b/docs/platform/lattice-ecp5.rst @@ -0,0 +1,10 @@ +Lattice ECP5 +############ + +.. py:module:: nmigen.vendor.lattice_ecp5 + +The :mod:`nmigen.vendor.lattice_ecp5` package provides a base platform to support Lattice ECP5 devices. + +The Trellis and Diamond toolchains are supported. + +.. autoclass:: LatticeECP5Platform \ No newline at end of file diff --git a/docs/platform/lattice-ice40.rst b/docs/platform/lattice-ice40.rst new file mode 100644 index 0000000..e1e3887 --- /dev/null +++ b/docs/platform/lattice-ice40.rst @@ -0,0 +1,10 @@ +Lattice iCE40 +############# + +.. py:module:: nmigen.vendor.lattice_ice40 + +The :mod:`nmigen.vendor.lattice_ice40` package provides a base platform to support Lattice iCE40 devices. + +The IceStorm and iCECube2 toolchains are supported. + +.. autoclass:: LatticeICE40Platform \ No newline at end of file diff --git a/docs/platform/lattice-machxo-2-3l.rst b/docs/platform/lattice-machxo-2-3l.rst new file mode 100644 index 0000000..df262e7 --- /dev/null +++ b/docs/platform/lattice-machxo-2-3l.rst @@ -0,0 +1,19 @@ +Lattice MachXO2 and MachXO3L +############################ + +.. py:module:: nmigen.vendor.lattice_machxo_2_3l + +The :mod:`nmigen.vendor.lattice_machxo_2_3l` package provides a base platform to support Lattice +MachXO2 and MachXO3L devices. + +The Diamond toolchain is supported. + + + +.. autoclass:: LatticeMachXO2Platform +.. autoclass:: LatticeMachXO3LPlatform + +.. note:: Both of the above are aliases for the actual platform below, however only the aliased + definitions are actually exported from the module for use. + +.. autoclass:: LatticeMachXO2Or3LPlatform \ No newline at end of file diff --git a/docs/platform/quicklogic.rst b/docs/platform/quicklogic.rst new file mode 100644 index 0000000..7abd965 --- /dev/null +++ b/docs/platform/quicklogic.rst @@ -0,0 +1,10 @@ +Quicklogic +########## + +.. py:module:: nmigen.vendor.quicklogic + +The :mod:`nmigen.vendor.quicklogic` package provides a base platform to support Quicklogic toolchains. + +The Symbiflow toolchain is supported. + +.. autoclass:: QuicklogicPlatform \ No newline at end of file diff --git a/docs/platform/xilinx.rst b/docs/platform/xilinx.rst new file mode 100644 index 0000000..5630382 --- /dev/null +++ b/docs/platform/xilinx.rst @@ -0,0 +1,10 @@ +Xilinx +###### + +.. py:module:: nmigen.vendor.xilinx + +The :mod:`nmigen.vendor.xilinx` package provides a base platform to support Xilinx toolchains. + +The ISE, Vivado, and Symbiflow toolchains are supported. + +.. autoclass:: XilinxPlatform \ No newline at end of file diff --git a/nmigen/vendor/intel.py b/nmigen/vendor/intel.py index b786393..1a4973c 100644 --- a/nmigen/vendor/intel.py +++ b/nmigen/vendor/intel.py @@ -9,8 +9,7 @@ __all__ = ["IntelPlatform"] class IntelPlatform(TemplatedPlatform): """ - Quartus toolchain - ----------------- + .. rubric:: Quartus toolchain Required tools: * ``quartus_map`` @@ -36,8 +35,7 @@ class IntelPlatform(TemplatedPlatform): * ``{{name}}.rbf``: bitstream as raw binary file. - Mistral toolchain - ----------------- + .. rubric:: Mistral toolchain Required tools: * ``yosys`` diff --git a/nmigen/vendor/lattice_ecp5.py b/nmigen/vendor/lattice_ecp5.py index eb0027f..e2955a2 100644 --- a/nmigen/vendor/lattice_ecp5.py +++ b/nmigen/vendor/lattice_ecp5.py @@ -9,8 +9,7 @@ __all__ = ["LatticeECP5Platform"] class LatticeECP5Platform(TemplatedPlatform): """ - Trellis toolchain - ----------------- + .. rubric:: Trellis toolchain Required tools: * ``yosys`` @@ -39,8 +38,7 @@ class LatticeECP5Platform(TemplatedPlatform): * ``{{name}}.bit``: binary bitstream. * ``{{name}}.svf``: JTAG programming vector. - Diamond toolchain - ----------------- + .. rubric:: Diamond toolchain Required tools: * ``pnmainc`` diff --git a/nmigen/vendor/lattice_ice40.py b/nmigen/vendor/lattice_ice40.py index c9c35b3..8be1913 100644 --- a/nmigen/vendor/lattice_ice40.py +++ b/nmigen/vendor/lattice_ice40.py @@ -10,8 +10,7 @@ __all__ = ["LatticeICE40Platform"] class LatticeICE40Platform(TemplatedPlatform): """ - IceStorm toolchain - ------------------ + .. rubric:: IceStorm toolchain Required tools: * ``yosys`` @@ -39,8 +38,7 @@ class LatticeICE40Platform(TemplatedPlatform): * ``{{name}}.asc``: ASCII bitstream. * ``{{name}}.bin``: binary bitstream. - iCECube2 toolchain - ------------------ + .. rubric:: iCECube2 toolchain This toolchain comes in two variants: ``LSE-iCECube2`` and ``Synplify-iCECube2``. diff --git a/nmigen/vendor/quicklogic.py b/nmigen/vendor/quicklogic.py index 8554fff..8deb025 100644 --- a/nmigen/vendor/quicklogic.py +++ b/nmigen/vendor/quicklogic.py @@ -10,8 +10,7 @@ __all__ = ["QuicklogicPlatform"] class QuicklogicPlatform(TemplatedPlatform): """ - Symbiflow toolchain - ------------------- + .. rubric:: Symbiflow toolchain Required tools: * ``symbiflow_synth`` diff --git a/nmigen/vendor/xilinx.py b/nmigen/vendor/xilinx.py index 9a1e6a8..d6d9886 100644 --- a/nmigen/vendor/xilinx.py +++ b/nmigen/vendor/xilinx.py @@ -10,8 +10,7 @@ __all__ = ["XilinxPlatform"] class XilinxPlatform(TemplatedPlatform): """ - Vivado toolchain - ---------------- + .. rubric:: Vivado toolchain Required tools: * ``vivado`` @@ -49,8 +48,7 @@ class XilinxPlatform(TemplatedPlatform): * ``{{name}}.bit``: binary bitstream with metadata. * ``{{name}}.bin``: binary bitstream. - ISE toolchain - ------------- + .. rubric:: ISE toolchain Required tools: * ``xst`` @@ -89,8 +87,7 @@ class XilinxPlatform(TemplatedPlatform): * ``{{name}}.bit``: binary bitstream with metadata. * ``{{name}}.bin``: raw binary bitstream. - Symbiflow toolchain - ------------------- + .. rubric:: Symbiflow toolchain Required tools: * ``symbiflow_synth``