Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from YosysHQ:master #258

Open
wants to merge 1,385 commits into
base: master
Choose a base branch
from
Open

[pull] master from YosysHQ:master #258

wants to merge 1,385 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 25, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Apr 25, 2021
@todo
Copy link

todo bot commented May 7, 2021

for more complex PLL type setups, we might want a toposort or iterative loop as the PLL must be placed

// TODO: for more complex PLL type setups, we might want a toposort or iterative loop as the PLL must be placed
// before the GBs it drives
for (auto cell : sorted(ctx->cells)) {
CellInfo *ci = cell.second;
const GlobalCellPOD *glb_cell = global_cell_info(ci->type);
if (glb_cell == nullptr)


This comment was generated by todo based on a TODO comment in 432b9d8 in #258. cc @YosysHQ.

@todo
Copy link

todo bot commented May 7, 2021

substantial performance improvements are probably possible, although of questionable benefit given

// TODO: substantial performance improvements are probably possible, although of questionable benefit given
// the low number of globals in a typical device...
BelId best_bel;
int shortest_distance = std::numeric_limits<int>::max();
for (auto bel : getBels()) {


This comment was generated by todo based on a TODO comment in 432b9d8 in #258. cc @YosysHQ.

yrabbit and others added 27 commits August 31, 2023 08:28
Information about what function (main or auxiliary) the cell performs in
these primitives is transmitted through the tile's extra data. And this
also allows us to remove the calculation of the coordinates of the
auxiliary cell on the go.

Signed-off-by: YRabbit <[email protected]>
And also fix the clock router to allow (with a warning) non-dedicated
routing in case of false detection of clock wires.

Signed-off-by: YRabbit <[email protected]>
- OSER4 can be located in neighboring IOs;
- PLLVR also needs to rename the inputs.

Signed-off-by: YRabbit <[email protected]>
OSER16/IDES16 placement issue reports now indicate which location is
having trouble.

Signed-off-by: YRabbit <[email protected]>
In these chips, the midline IOs are still simple, but are no longer just
IOBUF - that is, unlike the GW1N-1 IBUF and OBUF are not obtained by
applying a signal to the OEN input.

Signed-off-by: YRabbit <[email protected]>
Using  extra cell functions to mark disabled units using the PLL example.

Signed-off-by: YRabbit <[email protected]>
Install the Himbaechel gowin chipdb .bin files to
/usr/local/nextpnr/himbaehel/gowin

Signed-off-by: YRabbit <[email protected]>
Slightly change the Gowin device selection mechanism for database generation.
By default, nothing is generated as before.

Signed-off-by: YRabbit <[email protected]>
Signed-off-by: gatecat <[email protected]>
This option can be empty, in which case the virtualenv is left
exactly as it was in the build environment.
Now the clock router can place a buffer into the specified network,
which divides the network into two parts: from the source to the buffer,
routing occurs through any available PIPs, and after the buffer to the
sink, only through a dedicated global clock network.

This is made specifically for the Tangnano20k where the external
oscillator is soldered to a regular non-clock pin. But it can be used
for other purposes, you just need to remember that the recipient must be
a CLK input or output pin.

The port/network to set the buffer to is specified in the .CST file:

CLOCK_LOC "name" BUFG;

Signed-off-by: YRabbit <[email protected]>
We add support right here so that later I don’t have to make patches to the ports.

Signed-off-by: YRabbit <[email protected]>
Use himbaechel/gowin instead of himbaechel/gowin/gowin.

Signed-off-by: YRabbit <[email protected]>
marzoul and others added 30 commits September 24, 2024 12:06
Signed-off-by: gatecat <[email protected]>
…r better interoperability with other synthesis tools and RTL languages
* Gowin. Fix the port check for connectivity.

What happens is that it's not enough to check for a network, we also
need to make sure that the network is functional: has src and sinks.

And the style edits - they get automatically when I make sure to run
clang-format10.

Signed-off-by: YRabbit <[email protected]>

* Gowin. Fix the port check for connectivity.

What happens is that it's not enough to check for a network, we also
need to make sure that the network is functional: has src and sinks

Signed-off-by: YRabbit <[email protected]>

---------

Signed-off-by: YRabbit <[email protected]>
* apicula: add support for magic sip pins

* fix nullptr check

* DDR fix by xiwang

* WIP support for setting the iostd

* add iostd
* Gowin. FFs placement.

* Allow clusters to be created from FFs and LUTs;

* Immediately create pass-through LUTs from free LUTs adjacent to FF - at the same time ensure alternating use of LUT inputs;

* In case of constant networks, such pass-through LUTs are disconnected from networks altogether;

* Allow FF to be placed directly into SSRAM slides - this is useful when using synchronous reading.

Signed-off-by: YRabbit <[email protected]>

* Gowin. Fix aux name creation

Signed-off-by: YRabbit <[email protected]>

* Gowin. Use I3 for pass-trough LUTs

Signed-off-by: YRabbit <[email protected]>

---------

Signed-off-by: YRabbit <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.