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

Create different InsnTest cases for non-combinational mem + pipelined CPU #83

Open
jardhu opened this issue Jul 31, 2019 · 1 comment
Open

Comments

@jardhu
Copy link
Collaborator

jardhu commented Jul 31, 2019

Right now, since the tests were built with only combinational memory on hand, the InsnTests assume that the CPUs use combinational memory. This poses a problem for testing the pipelined CPU with the non-combinational memory. Since these are delayed the execution of these tests inherently lasts longer, and the short cycle count the tests dedicate to the simulator do not allow the CPUs to finish execution.

To remedy this, the testing suites should be revised to include a combinational and non-combinational memory section, which assigns the memType and memPortType parameters in the configuration file appropriately. This will permit the tester drivers to thoroughly test the non-combinational pipelined + pipelined with branch predictor CPU models.

I do not know if there is an exact formula that determines how many cycles the non-combin pipeline should take, though after messing with CPUTesterDriver I found that multiplying the number of combin cycles by the delay suffices for all of the tests to complete.

@powerjg
Copy link
Contributor

powerjg commented Jul 31, 2019

We need to think about whether we want to figure out the exact number of cycles or not... I like the idea of encoding the exact number of cycles in the tests as I think it will capture more bugs. However, this makes the tester quite complicated.

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

2 participants