[chip, gpio, dv] Renaming GPIO's smoketest.c to reg_access_test.c#406
[chip, gpio, dv] Renaming GPIO's smoketest.c to reg_access_test.c#406KinzaQamar wants to merge 1 commit intolowRISC:mainfrom
Conversation
sw/device/tests/CMakeLists.txt
Outdated
| mocha_add_test(NAME test_framework_test SOURCES test_framework/smoketest.c LIBRARIES ${LIBS} FPGA) | ||
| mocha_add_test(NAME test_framework_exception_test SOURCES test_framework/exception.c LIBRARIES ${LIBS}) | ||
| mocha_add_test(NAME gpio_smoketest SOURCES gpio/smoketest.c LIBRARIES ${LIBS} FPGA) | ||
| mocha_add_test(NAME gpio_smoketest_verilator SOURCES gpio/smoketest_verilator.c LIBRARIES ${LIBS} FPGA) |
There was a problem hiding this comment.
I am unsure about this modification, as the mocha_add_test will call this other macro mocha_add_verilator_test and thus create a test with _sim_verilator suffix.
@engdoreis, how to handle this kind of situation?
There was a problem hiding this comment.
Hi Martin,
My idea was to create another gpio_smoketest_xcelium and ask the build system to stop making FPGA and Verialtor images if the target name contains xcelium in it. So, we don't get gpio_smoketest_xcelium_sim_verilator. I am not sure if there is a better way to doing thing but that is making the CI happy on #382
There was a problem hiding this comment.
In my understanding this test can run in any platform (FPGA, VERILATOR and DV_SIM) right? So, we should not name it after verilator.
I suggest keeping this tests exactly the same. Then copy it to another file, extend it with the features that's create another test only supported by DV_SIM (xcelium), then name it <feature_tested>.c, then adapt cmake to mark this new test as not runnable in verilator.
Does that make sense?
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
e91857b to
87d9dd8
Compare
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
87d9dd8 to
be8db1e
Compare
Since we are using UVM, we have the control to drive the GPIOs inputs and hence can wait in SW for the driven pattern to appear. This will hang forever in case of verilator top. That is why two tests are required to be able to work on their corresponding top. For more context: visit lowRISC#406. Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Merge this PR first as a dependency on #382
The motivation of this PR comes from #382 which is adding a chip level GPIO test for Xcelium. That test fails on verilator. The reason being different tops used for both of the tools. For Xcelium, an interface is connecting the UVM to the GPIO. The UVM have the control to drive GPIOs inputs. In #382, the SW waits for a specific pattern driven by UVM to appear indata_inreg. If we run the exact test with the verilator top, which is using GPIO DPI, then the abilty to drive the inputs depends on a host SW infrastructure which is currently missing.With the above context, the best way forward is to separate the GPIO smoketest for both of the simulators for now to make the CI happy.Renaming the gpio/smoketest.c to gpio/reg_access_test.c