tutorial
lang
stdlib
+ platform
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
class IntelPlatform(TemplatedPlatform):
"""
- Quartus toolchain
- -----------------
+ .. rubric:: Quartus toolchain
Required tools:
* ``quartus_map``
* ``{{name}}.rbf``: bitstream as raw binary file.
- Mistral toolchain
- -----------------
+ .. rubric:: Mistral toolchain
Required tools:
* ``yosys``
class LatticeECP5Platform(TemplatedPlatform):
"""
- Trellis toolchain
- -----------------
+ .. rubric:: Trellis toolchain
Required tools:
* ``yosys``
* ``{{name}}.bit``: binary bitstream.
* ``{{name}}.svf``: JTAG programming vector.
- Diamond toolchain
- -----------------
+ .. rubric:: Diamond toolchain
Required tools:
* ``pnmainc``
class LatticeICE40Platform(TemplatedPlatform):
"""
- IceStorm toolchain
- ------------------
+ .. rubric:: IceStorm toolchain
Required tools:
* ``yosys``
* ``{{name}}.asc``: ASCII bitstream.
* ``{{name}}.bin``: binary bitstream.
- iCECube2 toolchain
- ------------------
+ .. rubric:: iCECube2 toolchain
This toolchain comes in two variants: ``LSE-iCECube2`` and ``Synplify-iCECube2``.
class QuicklogicPlatform(TemplatedPlatform):
"""
- Symbiflow toolchain
- -------------------
+ .. rubric:: Symbiflow toolchain
Required tools:
* ``symbiflow_synth``
class XilinxPlatform(TemplatedPlatform):
"""
- Vivado toolchain
- ----------------
+ .. rubric:: Vivado toolchain
Required tools:
* ``vivado``
* ``{{name}}.bit``: binary bitstream with metadata.
* ``{{name}}.bin``: binary bitstream.
- ISE toolchain
- -------------
+ .. rubric:: ISE toolchain
Required tools:
* ``xst``
* ``{{name}}.bit``: binary bitstream with metadata.
* ``{{name}}.bin``: raw binary bitstream.
- Symbiflow toolchain
- -------------------
+ .. rubric:: Symbiflow toolchain
Required tools:
* ``symbiflow_synth``