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

New verification framework #394

Open
sequencer opened this issue Dec 29, 2023 · 0 comments
Open

New verification framework #394

sequencer opened this issue Dec 29, 2023 · 0 comments

Comments

@sequencer
Copy link
Member

The basic verification idea of T1 IP is based on the online difftest. However when we are getting bigger and bigger, verification becomes a new problem, which we need to think about in a new way:

  • Does online difftest really necessary?
  • Answer is NO. Basically online difftest has no difference between offline. It just stop verification at early as possible, but does this really necessary? I don't think so.
  • difftest only helps for those lazy guys don't wanna to re-implement SVA for each instructions.
  • What's the interface between RTL and DV?
  • Originally we use DPI to probe each signals from designs.
  • But problem is, when we have different configurations, DPI call is different. C codegen is a nightmare.

Thus what we are looking for is a decoupled verification framework:

  • There are two Verification frameworks to provide trade-off among: simulation performance, verification target, and delivery.
    • IP Level: forcing on the vector performance, avoiding and overhead from scalar part, it should skip the scalar execution with emulating by spike. The DPI input is Scalar->Vector IO and Memory IO. This signals are driven by DPI.
    • SoC Level: forcing on the Tile-level verification with Rocket as scalar code, it will fully test the performance of the vector tile. The interface is the front-pront for ITCM and DTCM and all vector memory ports

TBD, too tired.

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

No branches or pull requests

1 participant