core-v-verif icon indicating copy to clipboard operation
core-v-verif copied to clipboard

Enabling CLIC in imperas' ISS

Open silabs-hfegran opened this issue 2 years ago • 6 comments

Is the necessary steps required to use CLIC interrupts with the ISS documented anywhere? I presume there will be some new nets that needs to be interfaced with the test environment.

silabs-hfegran avatar Jul 13 '22 12:07 silabs-hfegran

@silabs-hfegran This is documented here for all of the possible bespoke configurations Imperas/doc/ovp/OVP_RISCV_Model_Custom_Extension_Guide.pdf

Can you take a look at the section on CLIC, and let me know what your configuration should look like.

The issue we have here is that the signal interface is generated dynamically by whatever CLIC parameter value settings are selected. For the Imperas model generation that is fine - it is a dynamically configured interface. For SystemVerilog this presents a problem, as the interface is statically defined, and there is effectively a large possible configuration space.

This is one of the problems we have aimed to resolve using ImperasDV

  • rather than statically defining the signal interface, we can simply pass signal changes to the reference using key/value pairs. This abstracts the static listing of signals in the interface, so that any configuration can be handled, so long as there is equivalence in configuration between the RTL and the REF model

eroom1966 avatar Jul 14 '22 09:07 eroom1966

Thank you @eroom1966, That document seems to answer my questions.

As for the systemverilog side of things, as the CLIC-parameters are statically defined at elaboration time, we should be able to use a generate construct to create a suitable interface for any given configuration.

silabs-hfegran avatar Jul 14 '22 11:07 silabs-hfegran

For SystemVerilog this presents a problem, as the interface is statically defined, and there is effectively a large possible configuration space.

Unless I misunderstand something, this should not be a problem. SV Interfaces are static but unless we need to change the interface configuration at run time, the solution proposed by @silabs-hfegran will work. If run-time configuration is needed, we can use virtual interfaces to connect to statically defined interfaces. SV supports this and the concept is well supported by UVM.

MikeOpenHWGroup avatar Jul 14 '22 15:07 MikeOpenHWGroup

@MikeOpenHWGroup this testbench that you are suggesting enhancing is the old one that by now should be deprecated and the old ISS (fixed platform) also has been deprecated as we move from 40x 0.2.0 to 0.4.0 - it was for these reasons that ages ago we all talked about who was going to maintain this previous SteveR testbench - and we all agreed that we would move to a new one using RVVI/ImperasDV as that is just simple configuration for this spec enhancement. Lets discuss this as an action in the next 40X verif meeting. Simon

Imperas avatar Jul 14 '22 17:07 Imperas

@Imperas Our stance, as previously communicated by @Silabs-ArjanB, is that the new interface is to be implemented and triaged within our testbench to the same quality standard, including regression status, as our current ISS model interface, and from our understanding, you were to work with @MikeOpenHWGroup to get this in place. Any extra work incurred for us due to the change of interface, including regression triage and debug, is not something we deem acceptable. Only when this is in place and verified will we be able to deprecate the old interface.

If this is not possible within the given timeline, we expect the ISS model 0.4.0 to be delivered with features described using the current testbench interface.

silabs-hfegran avatar Jul 15 '22 09:07 silabs-hfegran

@silabs-hfegran Henrik - agree with what you stated though the testbench is with @MikeOpenHWGroup - yep got it. - lets discuss in this weds 40X verif meeting. Simon

Imperas avatar Jul 18 '22 16:07 Imperas

is this issue still open - or can this be closed

eroom1966 avatar Nov 04 '22 10:11 eroom1966

It is resolved - there are a couple of issues I am investigating, but those should be in separate issues

silabs-hfegran avatar Nov 04 '22 10:11 silabs-hfegran