forked from lowRISC/opentitan
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[otbn,dv] Sort out timing for done/status signals in ISS
Now that otbn_core_model exposes a STATUS register, we can use it to derive the "done" signal. Using the status register directly, rather than reconstructing it from the done signal, models the OTBN block more closely and actually simplifies a load of tracking DV code (mainly because the two things that we're comparing Just Match, so we don't need to convert between the two views of the world). Unfortunately, we can't get rid of the "done" signal entirely, because otbn.sv can choose to instantiate the model instead of the RTL to represent the core. The timing isn't *quite* right here, because the core flops STATUS but not its done_o output. But this shouldn't matter for the chip-level sims where we use the model like this. We *do* check that the RTL's done signal is as predicted in the UVM and verilator testbenches. This patch also sorts out the timing of the start of execution in the UVM testbench: the ISS was probing the wrong start signal, so started a cycle late. This didn't matter too much, because it and the design were both waiting on the EDN, which took more than one cycle. Finally, we fix the assertion that checks the model and RTL have matching STATUS. This was broken before (using "rst_n", rather than "!rst_n"), which is why we didn't notice the off-by-one at the start. Signed-off-by: Rupert Swarbrick <[email protected]>
- Loading branch information
1 parent
19ccefb
commit d88e5c3
Showing
10 changed files
with
88 additions
and
117 deletions.
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
Oops, something went wrong.