开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育
Re: Unable to use interface method argument in `when` guard
Kudos to bluespec for consistent semantics... I tried to use RWire within the module such that you had to call the following in the same rule to retire a tag: ``` tagEngine.setTagToRetire
By Yehowshua Immanuel · #810 ·
Re: Unable to use interface method argument in `when` guard
That might be OK if it can all happen in the same cycle
By Yehowshua Immanuel · #809 ·
Re: Unable to use interface method argument in `when` guard
Another option is to have two separate methods: one that takes the argument and returns if it's ok, and a method that can then be called to do the action. J <programmed4jesus@...>
By Julie Schwartz · #808 ·
Re: crossing reset domains
I don't believe there is a way to surgically suppress the warning. If you have thoughts on how you would want to specify it, that would be a reasonable enhancement request. I can imagine allowing an
By Julie Schwartz · #807 ·
Re: Unable to use interface method argument in `when` guard
So I suppose my only option is to have the method indicate whether or not the transaction was successful.
By Yehowshua Immanuel · #806 ·
Re: Unable to use interface method argument in `when` guard
It is intentional. The logical order of events for a method is that the RDY is available first, then the arguments are provided (and an EN signal, if it's an action), and then the return value is
By Julie Schwartz · #805 ·
Unable to use interface method argument in `when` guard
Un-commenting the commented-out lines in the snippet
By Yehowshua Immanuel · #804 ·
Re: Trouble With FShow for Registered custom type
Interestingly, the BSV parser can insert implicit "_read" method calls in more places than BH. For example, "tagVec[0]" can be used for the register value. I don't recall offhand why this works, but
By Julie Schwartz · #803 ·
Re: Programmatically create a vector of registers in Bluespec Haskell initialized from 0..5
<programmed4jesus@...> wrote: The BSV parser desugars into BH code, so if you're familiar with BH or Haskell, it may be helpful to mentally think of the BSV code in those terms.
By Julie Schwartz · #802 ·
New (unofficial) social media gathering places
Hi all! Hopefully this is the right place to post this, and I hope you don't mind a *tiny* bit of self advertising: I decided to take the initiative to create a Discord server and a SubReddit for
By Aistis Raulinaitis · #801 ·
Re: Trouble With FShow for Registered custom type
The bsc library has a function ?'readVReg :: Vector n (Reg a) -> Vector n a' which performs _read on each register in a vector of registers and returns a vector of the values. There is also
By Rishiyur Nikhil · #800 ·
Re: Trouble With FShow for Registered custom type
So the error message is telling you what the problem is: your vector has `Reg ...` inside, and so if you take an element from that vector with `!!` then you get back a thing of type `Reg ...`, which
By Mieszko · #799 ·
Trouble With FShow for Registered custom type
The `$display (fshow (tagVec !! 0))` found here ( https://git.joyofhardware.com/ReferenceProjects/riscv-bluespec-classic/src/commit/ac48f5a4adeea1cbcd7b472db88d666d89942dca/bs/TagEngine.bs#L57 ) is
By Yehowshua Immanuel · #798 ·
Re: Programmatically create a vector of registers in Bluespec Haskell initialized from 0..5
I've updated my example so it is parameterized. Note, it's parameterized both on the vector length and on the bit-width of each register. The example shows two instances of vector-of-registers, with
By Rishiyur Nikhil · #797 ·
Re: Programmatically create a vector of registers in Bluespec Haskell initialized from 0..5
I think I eventually made progress on the previous issue... So in BH RN I have the following where the number of bits in `UInt` is parameterizable: data Tag a = Next ( UInt a) | Empty deriving ( Bits
By Yehowshua Immanuel · #796 ·
Re: Programmatically create a vector of registers in Bluespec Haskell initialized from 0..5
Thanks for that code! I'm wondering how I can make it parametrizable... So far - no luck! import Vector ::*; // Required for Vector module mkTop #(parameter Integer bitWidth ) (Empty); // No default
By Yehowshua Immanuel · #795 ·
Re: Programmatically create a vector of registers in Bluespec Haskell initialized from 0..5
Here's how I'd write it in BSV; I'd guess it's not too different in BH (would use the same mapM and genVector). Example run: ./exe_HW_bsim v_rgs [ 0] = 0 v_rgs [ 1] = 1 v_rgs [ 2] = 2 v_rgs [ 3]
Programmatically create a vector of registers in Bluespec Haskell initialized from 0..5
I'm trying to figure out how to programmatically create a vector of registers in Bluespec Haskell initialized from 0..5. I think I should use mapM with mkReg next - but I'm not quite sure... Any help
By Yehowshua Immanuel · #793 ·
Re: Using the Completion Buffer in Bluespec Haskell
NVM - I think I figured it out
By Yehowshua Immanuel · #792 ·
Re: Testbenches
I also like the idea. Always found such lists really useful in other languages/frameworks. Johannes
By @wirthjohannes · #791 ·