blob: 3f88fbace13bf15898723edc2bd067502b03d360 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
{
name: "pinmux"
import_testplans: ["hw/dv/tools/dvsim/testplans/fpv_csr_testplan.hjson"]
entries: [
{
name: InSel0_A
desc: "When register periph_insel is set to 0, the corresponding mio_to_periph_o must be 0."
milestone: V2
tests: ["pinmux_assert"]
}
{
name: InSel1_A
desc: "When register periph_insel is set to 1, the corresponding mio_to_periph_o must be 1."
milestone: V2
tests: ["pinmux_assert"]
}
{
name: InSelN_A
desc: '''When register periph_insel is set to any value between 2 and
(2 + number of MioPads), the corresponding mio_to_periph_o must be equal to the related
mio_in_i value.'''
milestone: V2
tests: ["pinmux_assert"]
}
{
name: InSelOOB_A
desc: '''When register periph_insel is set to any value larger than (2 + number of MioPads),
the corresponding mio_to_periph_o must be 0.'''
milestone: V2
tests: ["pinmux_assert"]
}
{
name: MioToPeriphO_A
desc: '''This assertion checks that any changes from the mio_to_periph_o output are due to
the changes from either mio_in_i or register periph_insel.'''
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSel0_A
desc: "When register mio_outsel is set to 0, the corresponding mio_out_o must be 0."
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSel1_A
desc: "When register mio_outsel is set to 1, the corresponding mio_out_o must be 1."
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSel2_A
desc: "When register mio_outsel is set to 2, the corresponding mio_out_o must be 0."
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSelN_A
desc: '''When register mio_outsel is set to any value between 3 and
(3 + Number of periph out), the corresponding mio_out_o must be equal to the related
periph_to_mio_i value.'''
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSelOOB_A
desc: '''When register mio_outsel is set to any value larger than
(3 + Number of periph out), the corresponding mio_out_o must be 0.'''
milestone: V2
tests: ["pinmux_assert"]
}
{
name: MioOutO_A
desc: '''This assertion checks that any changes from the mio_out_o output are due to the
changes from either periph_to_mio_i or register mio_outsel.'''
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSelOe0_A
desc: "When register mio_outsel is set to 0, the corresponding mio_oe_o must be 0."
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSelOe1_A
desc: "When register mio_outsel is set to 1, the corresponding mio_oe_o must be 1."
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSelOe2_A
desc: "When register mio_outsel is set to 2, the corresponding mio_out_o must be 0."
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSelOeN_A
desc: '''When register mio_outsel is set to any value between 3 and
(3 + Number of periph out), the corresponding mio_oe_o must be equal to the related
periph_to_mio_oe_i value.'''
milestone: V2
tests: ["pinmux_assert"]
}
{
name: OutSelOeOOB_A
desc: '''When register mio_outsel is set to any value larger than
(3 + Number of periph out), the corresponding mio_oe_o must be 0.'''
milestone: V2
tests: ["pinmux_assert"]
}
{
name: MioOeO_A
desc: '''This assertion checks that any changes from the mio_oe_o output are due to the
changes from either periph_to_mio_oe_i or register mio_outsel.'''
milestone: V2
tests: ["pinmux_assert"]
}
]
}