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

readme: add section 'References' #5

Merged
merged 1 commit into from
Sep 27, 2021
Merged

Conversation

umarcor
Copy link
Contributor

@umarcor umarcor commented Sep 27, 2021

This PR adds a 'References' section to the README. Two items are added:

  • olofk/verilatio, which I assume is related to the 'Specification' in this repo.
  • dbhi/vboard, which is a superset of this repo, since it targets additional languages and protocols.

@olofk olofk merged commit 718be72 into olofk:main Sep 27, 2021
@olofk
Copy link
Owner

olofk commented Sep 27, 2021

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

@umarcor
Copy link
Contributor Author

umarcor commented Sep 27, 2021

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.

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:

  • The "Specification" in vidbo matches the "HTTPS(s)" block in vboard.
  • The "Backend" in vidbo matches the "Transport" and "Backend" blocks of a "Virtual peripheral" in vboard.
  • The "Frontend" in vidbo matches the "JS/TS frontend" in vboard.

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, .core files, edaa-org.github.io, etc. When I started using co-simulation solutions 4 years ago, I found that existing "project management" tools were too focused on "traditional" simulation and/or synthesis (which is fair, not a criticism). See dbhi.github.io/concept/run. That represents 5-10 "digital twins".

/cc @LarsAsplund @mithro @sylefeb @Paebbels @JimLewis

@umarcor umarcor deleted the umarcor/readme branch October 2, 2021 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants