| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
nexus: Add timing data for LRAM
|
|/
|
|
| |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\
| |
| | |
refactor: id(stringf(...)) to new idf(...) helper
|
|/
|
|
| |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\
| |
| | |
generic: addBelPin with direction as an arg
|
|/
|
|
| |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\
| |
| | |
gowin: Remove incomprehensible names of the muxes
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
nexus: Fix CSDECODE parsing
|
|/ /
| |
| |
| | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
There is no need to multiply item names, it is a rudiment of my very
first addition to nextpnr.
Fully compatible with older versions of Apicula.
Note: the cosmetic changes in lines with RAM are not my initiative, but
the result of applying clang-format.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
|
|\
| |
| | |
gowin: add a separate router for the clocks
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
netlist: Add PseudoCell API
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When implementing concepts such as partition pins or deliberately split
nets, there's a need for something that looks like a cell (starts/ends
routing with pins on nets, has timing data) but isn't mapped to a fixed
bel in the architecture, but instead can have pin mappings defined at
runtime.
The PseudoCell allows this by providing an alternate, virtual-function
based API for such cells. When a cell has `pseudo_cell` used, instead of
calling functions such as getBelPinWire, getBelLocation or getCellDelay
in the Arch API; such data is provided by the cell itself, fully
flexible at runtime regardless of arch, via methods on the PseudoCell
implementation.
|
| |
| |
| |
| | |
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
Gowin: WIP shadowram
|
| | | |
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
generic: Use arch_pybindings_shared
|
| | |/ /
| |/| |
| | | |
| | | | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\ \ \ \
| |/ / /
|/| | | |
Enable building against unbundled pybind11
|
|/ / /
| | |
| | |
| | | |
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Refactor in order to detect networks that will be routed in a special
mode earlier. This makes it possible to mark the source of such networks
as a global buffer, thereby removing their influence on element
placement.
In addition, timing classes are set for some cells.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
|
| | |\
| |_|/
|/| | |
|
|\ \ \
| | | |
| | | | |
ice40: Fix accidental creation of empty ports
|
|/ / /
| | |
| | |
| | | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\ \ \
| | | |
| | | | |
Update README.md
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Also removed the useless references.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A simple router that takes advantage of the fact that in each cell with
DFFs their CLK inputs can directly connect to the global clock network.
Networks with a large number of such sinks are sought and then each
network is assigned to the available independent global clock networks.
There are limited possibilities for routing mixed networks, that is,
when the sinks are not only CLKs: in this case an attempt is made to use
wires such as SN10/20 and EW10/20, that is, one short transition can be
added between the global clock network and the sink.
* At this time, networks with a source other than the I/O pin are not
supported. This is typical for Tangnano4k and runber boards.
* Router is disabled by default, you need to specify option
--enable-globals to activate
* No new chip bases are required. This may change in the distant future.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
|
| |
| |
| |
| | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\ \
| | |
| | | |
gowin: Use local aliases
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the Gowin chips, the tiles are connected to each other by a one-hop
wire, among others. There are 4 one-hop wires, of which 2 are shared
between north/south and east/west, have three names: e.g. SN10 and N110
and S110.
But only one of them, the first, occurs as a sink for PIP, that is, you
can not get a route that would pass through the S110 for example.
This commit corrects the names to SN?0 and EW?0 at the wire creation
stage to avoid dead wires.
In addition, the SN?0 and EW?0 are among the few sinks for global clock
wires and now there is the possibility of a more optimal clock routing.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
|
|\ \
| |/
|/| |
gowin: Add support for long wires
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Gowin chips have a highly sophisticated system of long wires that are
wired to each cell and allow the clock or logic to spread quickly.
This commit implements some of the capabilities of the long wire system
for quadrants, leaving out the fine-tuning of them for each column.
To make use of the long wire system, the specified wire is cut at the
driver and a special cell is placed between the driver and the rest of
the wire.
* VCC and GND can not use long wires because they are in every cell and
there is no point in using a net
* Long wire numbers can be specified manually or assigned automatically.
* The route from the driver to the port of the new cell can be quite
long, this will have to be solved somehow.
* It might make sense to add a mechanism for automatically finding
candidates for long wires.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
|
|\ \
| | |
| | | |
Change write_dcc to work with tilegroups from prjoxide
|
| |/
| |
| |
| | |
Signed-off-by: Maciej Dudek <mdudek@antmicro.com>
|
|\ \
| | |
| | | |
Don't assert on mixed domain paths in report
|
|/ /
| |
| |
| | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\ \
| |/
|/| |
Bump minimum CMake to 3.13
|
|/ |
|