-
Notifications
You must be signed in to change notification settings - Fork 5
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
readme: add section 'References' #5
Conversation
This is great. Been meaning to talk to you to see where we can find points of collaboration, but I didn't remember the presentation side of vboard was this advanced last time I looked at it. Very excited to see what we can come up with. Let's drop the verilatio link though. This is pretty much the same thing with a new name, so I'm intending to just remove the verilatio repo after I have transferred the data from there.. Hmm... maybe we could have the link until then and I'll just mark verilatio as deprecated Anyway. Thanks. Picked and pushed |
Actually, the challenge in vboard is that there are half a dozen different quite good looking frontends, but each of them is completely independent.
I created the diagram in dbhi/vboard to hopefully start wrapping our heads around a similar set of layers, that can help us reuse pieces. As you see:
Hence, the structure of vidbo does fit in the vboard conceptual model, except it's missing the "virtual HDL component instantiation", because it is common for verilator users to hook themselves into the hierarchy of the verilated output. That's one of the issues I talked with @kgugala and @PiotrZierhoffer about. In order for virtual peripherals to be useful for HDL designers, they should be used in HDL as it is done with regular Verification Components or Bus Functional Models. Virtual peripherals/boards are, in fact, "just fancy verification models". The "gRPC, ZeroMQ..." block in vboard is worth an additional comment. Some years ago, I prototyped having "virtual Stream queues" using gRPC: dbhi/gRPC. That allows having multiple "clients" running on development boards, workstations, laptops, SBCs... Some clients are HDL simulations, others are pure software, others might be actual hardware. Each client pushes/pulls to queues in a common pool, identified by a name. In the context of vidbo/vboard, some of the "virtual peripherals" might be attached as clients to those queues. This is something we discussed during the last months in gitter.im/hdl/community both with @pepijndevos (NyanCAD) and @ktbarrett (cocotb). Last, but not least, managing the sources for co-simulation along with HDL sources and the software sources for embedded CPUs is the main challenge I want to solve in the context of the discussions we had about FuseSoC, |
This PR adds a 'References' section to the README. Two items are added: