-
Notifications
You must be signed in to change notification settings - Fork 3
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
Transfer clash-cores tests in clash-testsuite to clash-cores #3
Merged
Conversation
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
Single-precision floating point addition, realized through instantiation of the Xilinx Floating-Point LogiCORE IP v7.1.
Single-precision floating point operations, realized through instantiation of the Xilinx Floating-Point LogiCORE IP v7.1.
Also don't use `MagicHash` since it's not enabled by default for `clash-testsuite`.
New in `clash-cores`: convert `Unsigned 32` to `Float` with Xilinx IP.
Only a limited number of configurations is supported; see module documentation. The Haskell model does not correspond exactly to RTL. This closes bittide/bittide-hardware#59 Co-authored-by: Martijn Bastiaan <[email protected]> Co-authored-by: Peter Lebbing <[email protected]>
New in `clash-cores`: convert `Signed 32` to `Float` with Xilinx IP.
PR #2345 made it possible to use multiple build targets in all tools. This PR leverages that functionality, combining build targets that were previously split over multiple top entity files. Not counting Vivado, 90% of `clash-testsuite`'s execution time is spent on Clash startup costs. These costs are shared between the multiple build targets, making the test suite a bit quicker.
Co-authored-by: Peter Lebbing <[email protected]>
Before adding the `KEEP` attribute to `vioProbe` ports, clash did not generate valid VHDL since the types of vioProbe declaration and instantiation did not match. This has been fixed, but to make sure these bugs do not occur again the circuits in `shouldwork` are now loaded in Vivado. The circuits in `shouldwork` also did not produce valid VHDL, as the words `in` and `out` are reserved. The names of ports have been updated to produce valid VHDL.
A design with VIO probes is inspected (through the GUI of the synthesis tool) when programmed on an FPGA. It therefore makes sense to give each individual probe a logical name. The names of in- and output ports should be given as two `Vec`tor of `Strings`, where the length should match the number of probes. Co-authored-by: Hidde Moll <[email protected]>
A design with VIO probes is inspected (through the GUI of the synthesis tool) when programmed on an FPGA. It therefore makes sense to give each individual probe a logical name. The names of in- and output ports should be given as two `Vec`tor of `Strings`, where the length should match the number of probes. Co-authored-by: Hidde Moll <[email protected]>
Co-authored-by: Peter Lebbing <[email protected]>
* The HDL generated incorrectly set DEST_EXT_HSK=0, configuring it to generate acks automatically. While the exposed API and simulation model assumed external handshaking. * The dstStages and srcStages settings were flipped. This also updates the test so it can detect that first error. And improves the haddock a bit to clarify what the settings do and relate them to the XPM documentation.
Given a global binder `accum` and an application `f accum`, Clash now calls the new, specialized binder `f_accum` instead of just `accum`, provided that both are marked `NOINLINE`/`OPAQUE`. This more accurately reflects the body of the function and will result in more sensible file names. For example, previously Clash would generate a separate file `accum.{v,vhdl}` that contained the inlined bodies of both `f` and `accum`. After this patch, it will generate `f_accum.{v,vhdl}`. Tabulated the new behavior looks like: | OPAQUE | Old name for `f g` | New name for `f g` | |---------------|--------------------|--------------------| | `f` | `g` | `f` | | `g` | `g` | `g` | | `f` and `g` | `g` | `f_g` | | !`f` and !`g` | `g` | `f_g` | Fixes #2508
XpmCdcSingle was using as iots test signal: fromList [0..] :: Signal dom (Unsigned 1) which evaluates to 0 :> 1 :> errorX "finite list". When that flows though sample . fmap pack . unsafeSynchronizer it turns into [0b0, 0b1, 0b., 0b., 0b., ... Now we use the random package to generate random test data. And the seed is also randomly generated via TH on each compile. So everytime you recompile you get different test data.
Co-authored-by: Martijn Bastiaan <[email protected]>
Combine function names when specializing
t-wallet
changed the title
Transfer clash-cores tests in clash-testsuite
Transfer clash-cores tests in clash-testsuite to clash-cores
Aug 26, 2024
Closed
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.
Repeat this PR