diff --git a/docs/Simulation/FPGA-Prototyping.rst b/docs/Simulation/FPGA-Prototyping.rst index ba53a0b7..ed07a7f4 100644 --- a/docs/Simulation/FPGA-Prototyping.rst +++ b/docs/Simulation/FPGA-Prototyping.rst @@ -54,6 +54,21 @@ However, like a software RTL simulation, you can also run the intermediate make Running a Design on Arty ------------------------ +Basic Design +~~~~~~~~~~~~ + +The default Arty FPGA target design is setup to have JTAG, UART, SPI, and I2C available over the board's GPIO pins. The pin mappings of these interfaces are identical to those described in the `SiFive Freedom E310 Arty Getting Started Guide `__. +The JTAG interface allows a user to connect to the core over OpenOCD, run bare-metal applications, and debug using gdb. +To extend this design, you can create your own Chipyard configuration and add the ``WithArtyTweaks`` located in ``fpga/src/main/scala/arty/Configs.scala``. +Adding this config. fragment will enable and connect the JTAG, UART, SPI, and I2C interfaces to your Chipyard design/config. + +.. literalinclude:: ../../fpga/src/main/scala/arty/Configs.scala + :language: scala + :start-after: DOC include start: AbstractArty and Rocket + :end-before: DOC include end: AbstractArty and Rocket + +Future peripherals to be supported include the Arty's SPI Flash EEPROM. + Running a Design on VCU118 -------------------------- diff --git a/fpga/src/main/scala/arty/Configs.scala b/fpga/src/main/scala/arty/Configs.scala index bc62bcf9..61a6234c 100644 --- a/fpga/src/main/scala/arty/Configs.scala +++ b/fpga/src/main/scala/arty/Configs.scala @@ -26,7 +26,7 @@ class WithDefaultPeripherals extends Config((site, here, up) => { debugIdleCycles = 5) case SerialTLKey => None // remove serialized tl port }) - +// DOC include start: AbstractArty and Rocket class WithArtyTweaks extends Config( new WithArtyJTAGHarnessBinder ++ new WithArtyUARTHarnessBinder ++ @@ -41,3 +41,4 @@ class WithArtyTweaks extends Config( class TinyRocketArtyConfig extends Config( new WithArtyTweaks ++ new chipyard.TinyRocketConfig) +// DOC include start: AbstractArty and Rocket