I'm testing an RTL implementation of a certain block from a 3rd party company in SystemVerilog using Questa. The block is fairly large and my block which acts as a wrapper around it is also large. The regression suite took around 20 hours to complete. I have access to only one license and with this much time, nightly regressions are not feasible.
So I thought about making a simple model in SystemVerilog. I was able to extract the functionality based on the data-sheet provided. It was simple enough.
The I/O interfaces were AXI4-streaming and it had one AXI4-mm DRAM interface. I used associative arrays within the model to capture any previous data(i had a unique ID to do so). Any processing was done by utilizing a golden reference model (C-function provided by the company) via the dpi.
Now the regression is taking over 30 hours to complete. Clearly, I've done something very wrong and I have no idea where to begin.
Any thoughts will be appreciated.