forked from YosysHQ/prjtrellis
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: Improving docs after significant fuzzing
Signed-off-by: David Shah <davey1576@gmail.com>
- Loading branch information
Showing
3 changed files
with
87 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,32 @@ | ||
General Routing | ||
=============== | ||
|
||
The ECP5's general routing is unidirectional and relatively straightforward. They are detailed below. The inputs and | ||
outputs of the routing inside tiles are: | ||
|
||
- The inputs to BELs are named **A0**-**A7**, **B0**-**B7**, **C0**-**C7**, **D0**-**D7** (LUT inputs), | ||
**M0**-**M7** ("miscellaneous" inputs for muxes and other functions); **LSR0** and **LSR1** (local set/reset); | ||
**CLK0** and **CLK1** (clock) and **CE0**-**CE3** (clock enable), for logic tiles. | ||
|
||
- The outputs are named **F0** to **F7** (LUT outputs) and **Q0** to **Q7** (FF outputs). | ||
|
||
- CIB tiles have an identical routing configuration to logic tiles, regardless of what they connect to - effectively, | ||
the logic slices are replaced by the special function - however, all the netnames aboved are prefixed with **J**. | ||
Fixed arcs connect the CIB signals to the signals inside the special function tile. | ||
|
||
Four types of routing resource are available: | ||
|
||
- 8 ***X0** wires inside each tile (**H00L0x00**, **H00R0x00**, **V00T0x00**, and **V00B0x00**) do not leave a tile, | ||
but can be driven from a variety of internal and external signals; and all of the horizontal or vertical signals | ||
are inputs to all of the BEL input muxes. | ||
- 8 **X1** "neighbour" wires originate, and terminate, in each tile (**H01E0x01**, **H01W0x00**, **V01S0x00** and | ||
**V01N0x01**). These connect together adjacent tiles in the specified direction, and can be driven by any of the | ||
LUT or FF outputs as well as a few other signals. | ||
- 32 **X2** span-2 wires (**H02E0x01**, **H02W0x01**, **V02S0x01** and **V02N0x01**) originate in each tile, each | ||
connecting to the two next tiles in a given direction. | ||
- 16 **X6** span-6 wires (**H06E0x03**, **H06W0x03**, **V06S0x03** and **V06N0x03**) originate in each tile | ||
connecting to two tiles, with a gap of 2 inbetween each, in a given direction. | ||
|
||
In all cases, wires can only be driven inside one tile. **X2** and **X6** inputs only drive muxes in tiles other than | ||
the tile they originate in; whereas **X0** and **X1** also "bounce back" internally (this being the very purpose of | ||
**X0** tiles). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters