[rv_plic/fpv] Update testplan for csr test
Update the testplan for FPV auto-generated CSR test
Signed-off-by: Cindy Chen <chencindy@google.com>
diff --git a/hw/dv/tools/testplans/fpv_csr_testplan.hjson b/hw/dv/tools/testplans/fpv_csr_testplan.hjson
new file mode 100644
index 0000000..ee2e2cd
--- /dev/null
+++ b/hw/dv/tools/testplans/fpv_csr_testplan.hjson
@@ -0,0 +1,18 @@
+// Copyright lowRISC contributors.
+// Licensed under the Apache License, Version 2.0, see LICENSE for details.
+// SPDX-License-Identifier: Apache-2.0
+{
+ entries: [
+ {
+ name: fpv_csr_rw
+ desc: '''
+ Write assertions to verify all the CSRs from the TileLink. Each CSR will include a read
+ assertion to ensure the read value from the TileLink is expected, and a write assertion
+ to ensure the write value is updated correctly to DUT according to the register's access.
+ '''
+ milestone: V2
+ tests: ["{name}{intf}_fpv_csr_rw"]
+ }
+ ]
+}
+
diff --git a/hw/ip/rv_plic/data/rv_plic_fpv_testplan.hjson b/hw/ip/rv_plic/data/rv_plic_fpv_testplan.hjson
index 82f0537..9aaca44 100644
--- a/hw/ip/rv_plic/data/rv_plic_fpv_testplan.hjson
+++ b/hw/ip/rv_plic/data/rv_plic_fpv_testplan.hjson
@@ -1,5 +1,6 @@
{
name: "rv_plic"
+ import_testplans: ["hw/dv/tools/testplans/fpv_csr_testplan.hjson"]
entries: [
{
name: LevelTriggeredIp_A
diff --git a/hw/ip/rv_plic/doc/dv_plan/index.md b/hw/ip/rv_plic/doc/dv_plan/index.md
index c9315e5..7f81998 100644
--- a/hw/ip/rv_plic/doc/dv_plan/index.md
+++ b/hw/ip/rv_plic/doc/dv_plan/index.md
@@ -28,14 +28,15 @@

#### TLUL assertions
-* The `../fpv/tb/rv_plic_bind.sv` binds the `tlul_assert` [assertions]({{< relref "hw/ip/tlul/doc/TlulProtocolChecker.md" >}})
- to rv_plic to ensure TileLink interface protocol compliance
-* TODO: Plan to implement csr assertions under `../fpv/vip/` to assert the
- TileLink writes and reads correct CSRs
+* The `hw/rv_plic/fpv/tb/rv_plic_bind.sv` binds the `tlul_assert` [assertions]({{< relref "hw/ip/tlul/doc/TlulProtocolChecker.md" >}})
+ to rv_plic to ensure TileLink interface protocol compliance.
+* The `hw/rv_plic/fpv/tb/rv_plic_bind.sv` also binds the `rv_plic_csr_assert_fpv`
+ under `hw/rv_plic/fpv/vip/` to check if TileLink writes and reads correct
+ CSRs.
#### RV_PLIC assertions
-The `../fpv/tb/rv_plic_bind.sv` binds the `rv_plic_assert` under
-`../fpv/vip/rv_plic_assert.sv`. The assertion file ensures RV_PLIC's outputs
+The `hw/rv_plic/fpv/tb/rv_plic_bind.sv` binds the `rv_plic_assert` under
+`hw/rv_plic/fpv/vip/rv_plic_assert.sv`. The assertion file ensures RV_PLIC's outputs
(`irq_o` and `irq_id_o`) and important signals (`ip`) are being asserted.
##### Symbolic variables