forked from YosysHQ/nextpnr
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] master from YosysHQ:master #258
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
Open
pull
wants to merge
1,608
commits into
timvideos:master
Choose a base branch
from
YosysHQ:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or 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
for more complex PLL type setups, we might want a toposort or iterative loop as the PLL must be placednextpnr/fpga_interchange/globals.cc Lines 161 to 166 in 432b9d8
This comment was generated by todo based on a
|
substantial performance improvements are probably possible, although of questionable benefit givennextpnr/fpga_interchange/globals.cc Lines 200 to 205 in 432b9d8
This comment was generated by todo based on a
|
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
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]>
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
* apicula: add support for magic sip pins * fix nullptr check * DDR fix by xiwang * WIP support for setting the iostd * add iostd
Signed-off-by: gatecat <[email protected]>
Signed-off-by: gatecat <[email protected]>
* 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]>
Over time, it became clear that the special status of corner tiles is handled in other parts of the toolchain, and in the GW5A chip series, it began to interfere—in this series, IO can be located in the corners. So we move the only function (creating VCC and GND) to the extra function itself, and at the same time create a mechanism for explicitly specifying the location of these sources in Apicula when necessary. Signed-off-by: YRabbit <[email protected]>
In the new series of chips, the SemiDual Port primitive has one RESET pin instead of two in previous versions - RESETA and RESETB. Physically, the two pins are still there and both must be connected, with RESETA being constant. Signed-off-by: YRabbit <[email protected]>
If the chipdb is not found, the Setup() call throws, but GTest still calls TearDown, which then stumbles over the uninitialized pointer. This makes the tests fail without valgrind errors or segfaults at least.
…parated by a comma (#1571)
* rust: formatting cleanup * rust: explicitly mark as ISC license * rust: use std::ffi C types instead of libc dependency
In the GW5A series, the primitive SemiDual Port BSRAM cannot function when the width of any of the ports is 32/36 bits - it is necessary to divide one block into two identical ones, each of which will be responsible for 16 bits. Here, we perform such a division and, in addition, ensure that the new cells resulting from the division undergo the same packing procedure as the original ones. Naturally, with some reservations (the AUX attribute is responsible for this) - in the case of SP, when service elements are added, it makes sense to do this immediately for 32-bit SP and only then divide. Also, SDPs are currently being corrected for cases where both ports are ‘problematic’, but it may happen that one port is 32 and the other is, say, 1/2/4/8/16. This has been left for the future. Signed-off-by: YRabbit <[email protected]>
* Use QtPropertyBrowser for Qt5/6 * Fix cmake for python-console for consistency * Make GUI compile for both Qt5 and Qt6 * Fix crash on init with Wayland on Qt6 * Cleanup * disable deprecation warnings for now * Relaxed cmake check for initial Qt6 test
* gatemate: support multiple clock distribution strategies * error out on non supported cases * Implement full use strategy * Address review comments
* gatemate: document clock distribution strategies * gatemate: rename option to strategy
Co-authored-by: OpenProgger <[email protected]>
* remove copy of googletest from 3rdparty * Add googletest as submodule * Use googletest v1.17.0 * Update main CMakeLists.txt
Paired with YosysHQ/yosys@6535995 now that we may receive unattached OBUFs, we ignore them. Signed-off-by: YRabbit <[email protected]>
* gatemate: Use GATEMATE_DIE attribute to select placement die * add DIE parameter in CCF * add penalty delay when crossing between dies * Add predictDelay
* himbaechel: add uarch specific options parsing * fix tests * add reference to additional help * review comments addressed * cleanup and unify other uarch * Adressed PR comments
Signed-off-by: gatecat <[email protected]>
Since ctx->getArchArgs() no longer returns architecture-specific arguments, we read the args field directly. Signed-off-by: YRabbit <[email protected]>
* Cleanup Context API * Remove exit to prvent crash
* gatemate: handle default parameters for IO This is probably a VHDL specific issue. In VHDL, there is no black-box. Primitive instantiations are done using VHDL component instantiations and the component must have been declared with all its ports and parameters (generic). Currently the components are translated from cells_sim.v and cells_bb.v If a user doesn't override a parameter, the default value is used instead. As a consequence, nextpnr can have 'UNDEFINED' for DRIVER or SLEW parameters of CC_IOBUF. I think this is a main difference with verilog, where unspecified parameters do not appear. With this change, the UNPLACED value of PIN_NAME and UNDEFINED value of DRIVE are simply ignored. * gatemate/pack_io.cc: also handle UNDEFINED for id_SLEW
ADC support for GW5A-25 chips has been added. The inputs of this primitive are fixed and do not require routing, although they can be switched dynamically. The .CST file also specifies the pins used as signal sources for the bus0 and bus1 ADC buses. Signed-off-by: YRabbit <[email protected]>
The TLVDS_IBUF_ADC IO primitives have been implemented, which provide a signal for ADC bus 2. These differential IO primitives also have an additional input that allows them to be disabled, thereby providing dynamic switching of the signal source for the ADC. Signed-off-by: YRabbit <[email protected]>
* small cleanup * gatemate: pack output flops for multipliers * remove possibly-inaccurate comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )