GaloisInc / HARDENS

Repository for the HARDENS project
Apache License 2.0
18 stars 1 forks source link

get all NERV SoC smoketests (single core and three core) up and running reliably #55

Open kiniry opened 2 years ago

kiniry commented 2 years ago
kiniry commented 2 years ago

What is the status on this @podhrmic? Do they all run, but only in Verilator or a proprietary simulator?

podhrmic commented 2 years ago

I am pretty sure Bluesim doesn't simulate imported verilog files (such as Nerv.sv). The SoC is running self-tests in Verilator. Are there any other tests that should be running?

kiniry commented 2 years ago

You are correct about Bluesim. The only way we could support it down the road is if we were using a full BSV-based SoC.

Wrt the Verilator question, I was just wondering if you had attempted to run the emitted Verilog SoC in any Verilog simulator besides Verilator.

And finally, I just wanted to double-check that all existing tests in the harness as well as self-test were passing.

podhrmic commented 2 years ago

Wrt the Verilator question, I was just wondering if you had attempted to run the emitted Verilog SoC in any Verilog simulator besides Verilator.

Only Verilator. IIRC iverilog doesn't properly support SystemVerilog files (nerv.sv), another issue might be the C function imports. Is there any other simulator that we should be trying?

And finally, I just wanted to double-check that all existing tests in the harness as well as self-test were passing.

I am doing a pass on it today, so I will report back. We had the self-tests passing, the goal is to run the scenario tests as well (identical to the SW only simulation)

kiniry commented 2 years ago

Wrt the Verilator question, I was just wondering if you had attempted to run the emitted Verilog SoC in any Verilog simulator besides Verilator.

Only Verilator. IIRC iverilog doesn't properly support SystemVerilog files (nerv.sv), another issue might be the C function imports. Is there any other simulator that we should be trying?

There are two commercial simulators we commonly have available to us: Xilinx's XSim and ISim and Siemens EDA's ModelSim and Questa simulators. We also used to have access to the Cadence and Synopsys simulators, but those licenses are now at Niobium. I have to renew our Siemens EDA licenses, so the only thing we have in-hand right now is Xilinx's.

The other simulator we have/use is, of course, Berkeley's FireSim, which we used for FETT and runs in AWS.

And finally, I just wanted to double-check that all existing tests in the harness as well as self-test were passing.

I am doing a pass on it today, so I will report back. We had the self-tests passing, the goal is to run the scenario tests as well (identical to the SW only simulation)

Exactly. Thanks for the update.