From 293a88fb87dcb3785d135107f2f80592ea5647a0 Mon Sep 17 00:00:00 2001 From: Alexander Williams Date: Fri, 3 Jan 2025 20:31:29 +0000 Subject: [PATCH] [pinmux] Clean up VLNVs Remove unused virtual VLNV exports. Directly depend on explicit real VLNVs for dependencies. Signed-off-by: Alexander Williams --- .../pinmux/data/pinmux.tpldesc.hjson | 12 +++++++--- .../pinmux/fpv/pinmux_chip_fpv.core.tpl | 22 +++++-------------- .../pinmux/fpv/pinmux_fpv.core.tpl | 14 ------------ hw/ip_templates/pinmux/pinmux.core.tpl | 15 ------------- hw/ip_templates/pinmux/pinmux_pkg.core.tpl | 3 ++- hw/ip_templates/pinmux/pinmux_reg.core.tpl | 7 +++--- .../pinmux/syn/pinmux_syn_cfg.hjson.tpl | 2 +- .../data/top_darjeeling_pinmux.ipconfig.hjson | 3 ++- .../pinmux/fpv/pinmux_chip_fpv.core | 16 +++++--------- .../ip_autogen/pinmux/fpv/pinmux_fpv.core | 8 ------- .../ip_autogen/pinmux/pinmux.core | 9 -------- .../ip_autogen/pinmux/pinmux_pkg.core | 3 ++- .../ip_autogen/pinmux/pinmux_reg.core | 7 +++--- .../pinmux/syn/pinmux_syn_cfg.hjson | 2 +- .../data/top_earlgrey_pinmux.ipconfig.hjson | 3 ++- .../pinmux/fpv/pinmux_chip_fpv.core | 16 +++++--------- .../ip_autogen/pinmux/fpv/pinmux_fpv.core | 8 ------- hw/top_earlgrey/ip_autogen/pinmux/pinmux.core | 9 -------- .../ip_autogen/pinmux/pinmux_pkg.core | 3 ++- .../ip_autogen/pinmux/pinmux_reg.core | 7 +++--- .../pinmux/syn/pinmux_syn_cfg.hjson | 2 +- ...top_englishbreakfast_pinmux.ipconfig.hjson | 3 ++- .../pinmux/fpv/pinmux_chip_fpv.core | 16 +++++--------- .../ip_autogen/pinmux/fpv/pinmux_fpv.core | 8 ------- .../ip_autogen/pinmux/pinmux.core | 9 -------- .../ip_autogen/pinmux/pinmux_pkg.core | 3 ++- .../ip_autogen/pinmux/pinmux_reg.core | 7 +++--- .../pinmux/syn/pinmux_syn_cfg.hjson | 2 +- util/topgen.py | 3 ++- 29 files changed, 61 insertions(+), 161 deletions(-) diff --git a/hw/ip_templates/pinmux/data/pinmux.tpldesc.hjson b/hw/ip_templates/pinmux/data/pinmux.tpldesc.hjson index 0144a48e2af14b..22c122c2a03f6e 100644 --- a/hw/ip_templates/pinmux/data/pinmux.tpldesc.hjson +++ b/hw/ip_templates/pinmux/data/pinmux.tpldesc.hjson @@ -70,10 +70,16 @@ default: "1" } { - name: "virtual_pkg_vlnv" - desc: "Provides a VLNV that contains all the virtual providers for constants" + name: "top_pkg_vlnv" + desc: "Provides the VLNV for the top_pkg used by this pinmux" type: "string" - default: "" + default: "lowrisc:constants:top_pkg" + } + { + name: "scan_role_pkg_vlnv" + desc: "Provides the VLNV for the scan_role_pkg used by this pinmux" + type: "string" + default: "lowrisc:systems:scan_role_pkg" } ] } diff --git a/hw/ip_templates/pinmux/fpv/pinmux_chip_fpv.core.tpl b/hw/ip_templates/pinmux/fpv/pinmux_chip_fpv.core.tpl index ae77785832ce46..73db5c4754c006 100644 --- a/hw/ip_templates/pinmux/fpv/pinmux_chip_fpv.core.tpl +++ b/hw/ip_templates/pinmux/fpv/pinmux_chip_fpv.core.tpl @@ -4,27 +4,23 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: ${instance_vlnv("lowrisc:systems:pinmux_chip_fpv:0.1")} description: "pinmux FPV target with chip_earlgrey parameters" -virtual: - - lowrisc:ip_interfaces:pinmux_chip_fpv filesets: files_formal: depend: - lowrisc:prim:all - lowrisc:ip:tlul + - lowrisc:ip:jtag_pkg + - lowrisc:prim:mubi_pkg + - lowrisc:ip:lc_ctrl_pkg - ${instance_vlnv("lowrisc:ip:pinmux:0.1")} - lowrisc:fpv:csr_assert_gen - ${instance_vlnv("lowrisc:fpv:pinmux_common_fpv:0.1")} - - lowrisc:systems:top_${topname}_pkg - - lowrisc:systems:scan_role_pkg + - ${top_pkg_vlnv} + - ${scan_role_pkg_vlnv} files: - tb/pinmux_chip_tb.sv file_type: systemVerilogSource -% if len(virtual_pkg_vlnv) > 0: - files_virtual_provider: - depend: - - "fileset_top ? (${virtual_pkg_vlnv})" -% endif generate: csr_assert_gen: @@ -43,14 +39,6 @@ targets: formal: <<: *default_target -% if len(virtual_pkg_vlnv) > 0: - filesets_append: - - files_virtual_provider -% endif lint: <<: *default_target -% if len(virtual_pkg_vlnv) > 0: - filesets_append: - - files_virtual_provider -% endif diff --git a/hw/ip_templates/pinmux/fpv/pinmux_fpv.core.tpl b/hw/ip_templates/pinmux/fpv/pinmux_fpv.core.tpl index ab32648217f851..796feb33fab0f9 100644 --- a/hw/ip_templates/pinmux/fpv/pinmux_fpv.core.tpl +++ b/hw/ip_templates/pinmux/fpv/pinmux_fpv.core.tpl @@ -12,15 +12,9 @@ filesets: - ${instance_vlnv("lowrisc:ip:pinmux:0.1")} - lowrisc:fpv:csr_assert_gen - ${instance_vlnv("lowrisc:fpv:pinmux_common_fpv")} - - lowrisc:systems:scan_role_pkg files: - tb/pinmux_tb.sv file_type: systemVerilogSource -% if len(virtual_pkg_vlnv) > 0: - files_virtual_provider: - depend: - - "fileset_top ? (${virtual_pkg_vlnv})" -% endif generate: csr_assert_gen: @@ -39,14 +33,6 @@ targets: formal: <<: *default_target - filesets_append: -% if len(virtual_pkg_vlnv) > 0: - - files_virtual_provider -% endif lint: <<: *default_target - filesets_append: -% if len(virtual_pkg_vlnv) > 0: - - files_virtual_provider -% endif diff --git a/hw/ip_templates/pinmux/pinmux.core.tpl b/hw/ip_templates/pinmux/pinmux.core.tpl index 1c80452d2c23a1..1d89a70adfe41f 100644 --- a/hw/ip_templates/pinmux/pinmux.core.tpl +++ b/hw/ip_templates/pinmux/pinmux.core.tpl @@ -4,8 +4,6 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: ${instance_vlnv("lowrisc:ip:pinmux:0.1")} description: "Pin Multiplexer" -virtual: - - lowrisc:ip_interfaces:pinmux filesets: files_rtl: @@ -33,12 +31,6 @@ filesets: % endif - rtl/pinmux.sv file_type: systemVerilogSource -% if len(virtual_pkg_vlnv) > 0: - - files_virtual_provider: - depend: - - "fileset_top ? (${virtual_pkg_vlnv})" -% endif files_verilator_waiver: depend: @@ -80,10 +72,6 @@ targets: lint: <<: *default_target -% if len(virtual_pkg_vlnv) > 0: - filesets_append: - - files_virtual_provider -% endif default_tool: verilator parameters: - SYNTHESIS=true @@ -105,7 +93,4 @@ targets: formal: filesets: - files_rtl -% if len(virtual_pkg_vlnv) > 0: - - files_virtual_provider -% endif toplevel: pinmux_tb diff --git a/hw/ip_templates/pinmux/pinmux_pkg.core.tpl b/hw/ip_templates/pinmux/pinmux_pkg.core.tpl index 1bb0fd756b1e0c..52351bf4cd88c1 100644 --- a/hw/ip_templates/pinmux/pinmux_pkg.core.tpl +++ b/hw/ip_templates/pinmux/pinmux_pkg.core.tpl @@ -11,8 +11,9 @@ filesets: files_rtl: depend: - lowrisc:prim:pad_wrapper_pkg - - ${instance_vlnv("lowrisc:ip:pinmux_reg")} + - lowrisc:tlul:headers files: + - rtl/pinmux_reg_pkg.sv - rtl/pinmux_pkg.sv file_type: systemVerilogSource diff --git a/hw/ip_templates/pinmux/pinmux_reg.core.tpl b/hw/ip_templates/pinmux/pinmux_reg.core.tpl index 0a4cde8cf448e8..41dd8bd452385c 100644 --- a/hw/ip_templates/pinmux/pinmux_reg.core.tpl +++ b/hw/ip_templates/pinmux/pinmux_reg.core.tpl @@ -4,15 +4,14 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: ${instance_vlnv("lowrisc:ip:pinmux_reg:0.1")} description: "Auto-generated pinmux register sources" -virtual: - - lowrisc:ip_interfaces:pinmux_reg filesets: files_rtl: depend: - - lowrisc:tlul:headers + - lowrisc:ip:tlul + - lowrisc:prim:subreg + - ${instance_vlnv("lowrisc:ip:pinmux_pkg")} files: - - rtl/pinmux_reg_pkg.sv - rtl/pinmux_reg_top.sv file_type: systemVerilogSource diff --git a/hw/ip_templates/pinmux/syn/pinmux_syn_cfg.hjson.tpl b/hw/ip_templates/pinmux/syn/pinmux_syn_cfg.hjson.tpl index 80f6ba895bb4d6..f04ab45594babd 100644 --- a/hw/ip_templates/pinmux/syn/pinmux_syn_cfg.hjson.tpl +++ b/hw/ip_templates/pinmux/syn/pinmux_syn_cfg.hjson.tpl @@ -6,7 +6,7 @@ name: pinmux // Fusesoc core file used for building the file list. - fusesoc_core: lowrisc:ip_interfaces:pinmux:0.1 + fusesoc_core: ${instance_vlnv("lowrisc:ip:pinmux:0.1")} import_cfgs: [// Project wide common synthesis config file "{proj_root}/hw/syn/tools/dvsim/common_syn_cfg.hjson"], diff --git a/hw/top_darjeeling/ip_autogen/pinmux/data/top_darjeeling_pinmux.ipconfig.hjson b/hw/top_darjeeling/ip_autogen/pinmux/data/top_darjeeling_pinmux.ipconfig.hjson index 28d19284868c23..2bd09790240818 100644 --- a/hw/top_darjeeling/ip_autogen/pinmux/data/top_darjeeling_pinmux.ipconfig.hjson +++ b/hw/top_darjeeling/ip_autogen/pinmux/data/top_darjeeling_pinmux.ipconfig.hjson @@ -15,7 +15,8 @@ n_dio_periph_out: 57 enable_usb_wakeup: false enable_strap_sampling: false - virtual_pkg_vlnv: lowrisc:opentitan:top_darjeeling_virtual_pkgs + top_pkg_vlnv: lowrisc:constants:top_darjeeling_top_pkg + scan_role_pkg_vlnv: lowrisc:systems:top_darjeeling_scan_role_pkg topname: darjeeling } } diff --git a/hw/top_darjeeling/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core b/hw/top_darjeeling/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core index 8f3c380a4c1422..8481c32b4159f5 100644 --- a/hw/top_darjeeling/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core +++ b/hw/top_darjeeling/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core @@ -4,25 +4,23 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: lowrisc:opentitan:top_darjeeling_pinmux_chip_fpv:0.1 description: "pinmux FPV target with chip_earlgrey parameters" -virtual: - - lowrisc:ip_interfaces:pinmux_chip_fpv filesets: files_formal: depend: - lowrisc:prim:all - lowrisc:ip:tlul + - lowrisc:ip:jtag_pkg + - lowrisc:prim:mubi_pkg + - lowrisc:ip:lc_ctrl_pkg - lowrisc:opentitan:top_darjeeling_pinmux:0.1 - lowrisc:fpv:csr_assert_gen - lowrisc:opentitan:top_darjeeling_pinmux_common_fpv:0.1 - - lowrisc:systems:top_darjeeling_pkg - - lowrisc:systems:scan_role_pkg + - lowrisc:constants:top_darjeeling_top_pkg + - lowrisc:systems:top_darjeeling_scan_role_pkg files: - tb/pinmux_chip_tb.sv file_type: systemVerilogSource - files_virtual_provider: - depend: - - "fileset_top ? (lowrisc:opentitan:top_darjeeling_virtual_pkgs)" generate: csr_assert_gen: @@ -41,10 +39,6 @@ targets: formal: <<: *default_target - filesets_append: - - files_virtual_provider lint: <<: *default_target - filesets_append: - - files_virtual_provider diff --git a/hw/top_darjeeling/ip_autogen/pinmux/fpv/pinmux_fpv.core b/hw/top_darjeeling/ip_autogen/pinmux/fpv/pinmux_fpv.core index 502d5df61972f2..412ee2337fc39c 100644 --- a/hw/top_darjeeling/ip_autogen/pinmux/fpv/pinmux_fpv.core +++ b/hw/top_darjeeling/ip_autogen/pinmux/fpv/pinmux_fpv.core @@ -12,13 +12,9 @@ filesets: - lowrisc:opentitan:top_darjeeling_pinmux:0.1 - lowrisc:fpv:csr_assert_gen - lowrisc:opentitan:top_darjeeling_pinmux_common_fpv - - lowrisc:systems:scan_role_pkg files: - tb/pinmux_tb.sv file_type: systemVerilogSource - files_virtual_provider: - depend: - - "fileset_top ? (lowrisc:opentitan:top_darjeeling_virtual_pkgs)" generate: csr_assert_gen: @@ -37,10 +33,6 @@ targets: formal: <<: *default_target - filesets_append: - - files_virtual_provider lint: <<: *default_target - filesets_append: - - files_virtual_provider diff --git a/hw/top_darjeeling/ip_autogen/pinmux/pinmux.core b/hw/top_darjeeling/ip_autogen/pinmux/pinmux.core index b74e6e13ace0d7..f17ed8e269234c 100644 --- a/hw/top_darjeeling/ip_autogen/pinmux/pinmux.core +++ b/hw/top_darjeeling/ip_autogen/pinmux/pinmux.core @@ -4,8 +4,6 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: lowrisc:opentitan:top_darjeeling_pinmux:0.1 description: "Pin Multiplexer" -virtual: - - lowrisc:ip_interfaces:pinmux filesets: files_rtl: @@ -31,10 +29,6 @@ filesets: - rtl/pinmux.sv file_type: systemVerilogSource - files_virtual_provider: - depend: - - "fileset_top ? (lowrisc:opentitan:top_darjeeling_virtual_pkgs)" - files_verilator_waiver: depend: # common waivers @@ -75,8 +69,6 @@ targets: lint: <<: *default_target - filesets_append: - - files_virtual_provider default_tool: verilator parameters: - SYNTHESIS=true @@ -98,5 +90,4 @@ targets: formal: filesets: - files_rtl - - files_virtual_provider toplevel: pinmux_tb diff --git a/hw/top_darjeeling/ip_autogen/pinmux/pinmux_pkg.core b/hw/top_darjeeling/ip_autogen/pinmux/pinmux_pkg.core index ecdb74a257c6e1..50e8fb88cde4c9 100644 --- a/hw/top_darjeeling/ip_autogen/pinmux/pinmux_pkg.core +++ b/hw/top_darjeeling/ip_autogen/pinmux/pinmux_pkg.core @@ -11,8 +11,9 @@ filesets: files_rtl: depend: - lowrisc:prim:pad_wrapper_pkg - - lowrisc:opentitan:top_darjeeling_pinmux_reg + - lowrisc:tlul:headers files: + - rtl/pinmux_reg_pkg.sv - rtl/pinmux_pkg.sv file_type: systemVerilogSource diff --git a/hw/top_darjeeling/ip_autogen/pinmux/pinmux_reg.core b/hw/top_darjeeling/ip_autogen/pinmux/pinmux_reg.core index 9882819e798fb9..05e3471f19a8bc 100644 --- a/hw/top_darjeeling/ip_autogen/pinmux/pinmux_reg.core +++ b/hw/top_darjeeling/ip_autogen/pinmux/pinmux_reg.core @@ -4,15 +4,14 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: lowrisc:opentitan:top_darjeeling_pinmux_reg:0.1 description: "Auto-generated pinmux register sources" -virtual: - - lowrisc:ip_interfaces:pinmux_reg filesets: files_rtl: depend: - - lowrisc:tlul:headers + - lowrisc:ip:tlul + - lowrisc:prim:subreg + - lowrisc:opentitan:top_darjeeling_pinmux_pkg files: - - rtl/pinmux_reg_pkg.sv - rtl/pinmux_reg_top.sv file_type: systemVerilogSource diff --git a/hw/top_darjeeling/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson b/hw/top_darjeeling/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson index b978a14f61fe09..2d9b5a6997bcda 100644 --- a/hw/top_darjeeling/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson +++ b/hw/top_darjeeling/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson @@ -6,7 +6,7 @@ name: pinmux // Fusesoc core file used for building the file list. - fusesoc_core: lowrisc:ip_interfaces:pinmux:0.1 + fusesoc_core: lowrisc:opentitan:top_darjeeling_pinmux:0.1 import_cfgs: [// Project wide common synthesis config file "{proj_root}/hw/syn/tools/dvsim/common_syn_cfg.hjson"], diff --git a/hw/top_earlgrey/ip_autogen/pinmux/data/top_earlgrey_pinmux.ipconfig.hjson b/hw/top_earlgrey/ip_autogen/pinmux/data/top_earlgrey_pinmux.ipconfig.hjson index 7655fab3f2ddfc..b2677c6502a887 100644 --- a/hw/top_earlgrey/ip_autogen/pinmux/data/top_earlgrey_pinmux.ipconfig.hjson +++ b/hw/top_earlgrey/ip_autogen/pinmux/data/top_earlgrey_pinmux.ipconfig.hjson @@ -15,7 +15,8 @@ n_dio_periph_out: 14 enable_usb_wakeup: true enable_strap_sampling: true - virtual_pkg_vlnv: lowrisc:opentitan:top_earlgrey_virtual_pkgs + top_pkg_vlnv: lowrisc:constants:top_earlgrey_top_pkg + scan_role_pkg_vlnv: lowrisc:systems:top_earlgrey_scan_role_pkg topname: earlgrey } } diff --git a/hw/top_earlgrey/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core b/hw/top_earlgrey/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core index 8f26274e222f0f..36fd56933ce4ec 100644 --- a/hw/top_earlgrey/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core +++ b/hw/top_earlgrey/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core @@ -4,25 +4,23 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: lowrisc:opentitan:top_earlgrey_pinmux_chip_fpv:0.1 description: "pinmux FPV target with chip_earlgrey parameters" -virtual: - - lowrisc:ip_interfaces:pinmux_chip_fpv filesets: files_formal: depend: - lowrisc:prim:all - lowrisc:ip:tlul + - lowrisc:ip:jtag_pkg + - lowrisc:prim:mubi_pkg + - lowrisc:ip:lc_ctrl_pkg - lowrisc:opentitan:top_earlgrey_pinmux:0.1 - lowrisc:fpv:csr_assert_gen - lowrisc:opentitan:top_earlgrey_pinmux_common_fpv:0.1 - - lowrisc:systems:top_earlgrey_pkg - - lowrisc:systems:scan_role_pkg + - lowrisc:constants:top_earlgrey_top_pkg + - lowrisc:systems:top_earlgrey_scan_role_pkg files: - tb/pinmux_chip_tb.sv file_type: systemVerilogSource - files_virtual_provider: - depend: - - "fileset_top ? (lowrisc:opentitan:top_earlgrey_virtual_pkgs)" generate: csr_assert_gen: @@ -41,10 +39,6 @@ targets: formal: <<: *default_target - filesets_append: - - files_virtual_provider lint: <<: *default_target - filesets_append: - - files_virtual_provider diff --git a/hw/top_earlgrey/ip_autogen/pinmux/fpv/pinmux_fpv.core b/hw/top_earlgrey/ip_autogen/pinmux/fpv/pinmux_fpv.core index 9c0518b129d229..6810cdb60eb9bf 100644 --- a/hw/top_earlgrey/ip_autogen/pinmux/fpv/pinmux_fpv.core +++ b/hw/top_earlgrey/ip_autogen/pinmux/fpv/pinmux_fpv.core @@ -12,13 +12,9 @@ filesets: - lowrisc:opentitan:top_earlgrey_pinmux:0.1 - lowrisc:fpv:csr_assert_gen - lowrisc:opentitan:top_earlgrey_pinmux_common_fpv - - lowrisc:systems:scan_role_pkg files: - tb/pinmux_tb.sv file_type: systemVerilogSource - files_virtual_provider: - depend: - - "fileset_top ? (lowrisc:opentitan:top_earlgrey_virtual_pkgs)" generate: csr_assert_gen: @@ -37,10 +33,6 @@ targets: formal: <<: *default_target - filesets_append: - - files_virtual_provider lint: <<: *default_target - filesets_append: - - files_virtual_provider diff --git a/hw/top_earlgrey/ip_autogen/pinmux/pinmux.core b/hw/top_earlgrey/ip_autogen/pinmux/pinmux.core index d16515f305b18c..9d0227cdbb1b53 100644 --- a/hw/top_earlgrey/ip_autogen/pinmux/pinmux.core +++ b/hw/top_earlgrey/ip_autogen/pinmux/pinmux.core @@ -4,8 +4,6 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: lowrisc:opentitan:top_earlgrey_pinmux:0.1 description: "Pin Multiplexer" -virtual: - - lowrisc:ip_interfaces:pinmux filesets: files_rtl: @@ -32,10 +30,6 @@ filesets: - rtl/pinmux.sv file_type: systemVerilogSource - files_virtual_provider: - depend: - - "fileset_top ? (lowrisc:opentitan:top_earlgrey_virtual_pkgs)" - files_verilator_waiver: depend: # common waivers @@ -76,8 +70,6 @@ targets: lint: <<: *default_target - filesets_append: - - files_virtual_provider default_tool: verilator parameters: - SYNTHESIS=true @@ -99,5 +91,4 @@ targets: formal: filesets: - files_rtl - - files_virtual_provider toplevel: pinmux_tb diff --git a/hw/top_earlgrey/ip_autogen/pinmux/pinmux_pkg.core b/hw/top_earlgrey/ip_autogen/pinmux/pinmux_pkg.core index 80618aa1af1aa4..099a5382c8c9db 100644 --- a/hw/top_earlgrey/ip_autogen/pinmux/pinmux_pkg.core +++ b/hw/top_earlgrey/ip_autogen/pinmux/pinmux_pkg.core @@ -11,8 +11,9 @@ filesets: files_rtl: depend: - lowrisc:prim:pad_wrapper_pkg - - lowrisc:opentitan:top_earlgrey_pinmux_reg + - lowrisc:tlul:headers files: + - rtl/pinmux_reg_pkg.sv - rtl/pinmux_pkg.sv file_type: systemVerilogSource diff --git a/hw/top_earlgrey/ip_autogen/pinmux/pinmux_reg.core b/hw/top_earlgrey/ip_autogen/pinmux/pinmux_reg.core index 1ad5e2a5641d32..585d4c3c04d04c 100644 --- a/hw/top_earlgrey/ip_autogen/pinmux/pinmux_reg.core +++ b/hw/top_earlgrey/ip_autogen/pinmux/pinmux_reg.core @@ -4,15 +4,14 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: lowrisc:opentitan:top_earlgrey_pinmux_reg:0.1 description: "Auto-generated pinmux register sources" -virtual: - - lowrisc:ip_interfaces:pinmux_reg filesets: files_rtl: depend: - - lowrisc:tlul:headers + - lowrisc:ip:tlul + - lowrisc:prim:subreg + - lowrisc:opentitan:top_earlgrey_pinmux_pkg files: - - rtl/pinmux_reg_pkg.sv - rtl/pinmux_reg_top.sv file_type: systemVerilogSource diff --git a/hw/top_earlgrey/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson b/hw/top_earlgrey/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson index 6d264f6b2be827..bfe2b047b27c7b 100644 --- a/hw/top_earlgrey/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson +++ b/hw/top_earlgrey/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson @@ -6,7 +6,7 @@ name: pinmux // Fusesoc core file used for building the file list. - fusesoc_core: lowrisc:ip_interfaces:pinmux:0.1 + fusesoc_core: lowrisc:opentitan:top_earlgrey_pinmux:0.1 import_cfgs: [// Project wide common synthesis config file "{proj_root}/hw/syn/tools/dvsim/common_syn_cfg.hjson"], diff --git a/hw/top_englishbreakfast/ip_autogen/pinmux/data/top_englishbreakfast_pinmux.ipconfig.hjson b/hw/top_englishbreakfast/ip_autogen/pinmux/data/top_englishbreakfast_pinmux.ipconfig.hjson index 77d4f5229a295f..82e1a32e6028c1 100644 --- a/hw/top_englishbreakfast/ip_autogen/pinmux/data/top_englishbreakfast_pinmux.ipconfig.hjson +++ b/hw/top_englishbreakfast/ip_autogen/pinmux/data/top_englishbreakfast_pinmux.ipconfig.hjson @@ -15,7 +15,8 @@ n_dio_periph_out: 12 enable_usb_wakeup: true enable_strap_sampling: true - virtual_pkg_vlnv: lowrisc:opentitan:top_englishbreakfast_virtual_pkgs + top_pkg_vlnv: lowrisc:constants:top_englishbreakfast_top_pkg + scan_role_pkg_vlnv: lowrisc:systems:top_englishbreakfast_scan_role_pkg topname: englishbreakfast } } diff --git a/hw/top_englishbreakfast/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core b/hw/top_englishbreakfast/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core index ed51e1dda955a1..d03515b7979555 100644 --- a/hw/top_englishbreakfast/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core +++ b/hw/top_englishbreakfast/ip_autogen/pinmux/fpv/pinmux_chip_fpv.core @@ -4,25 +4,23 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: lowrisc:opentitan:top_englishbreakfast_pinmux_chip_fpv:0.1 description: "pinmux FPV target with chip_earlgrey parameters" -virtual: - - lowrisc:ip_interfaces:pinmux_chip_fpv filesets: files_formal: depend: - lowrisc:prim:all - lowrisc:ip:tlul + - lowrisc:ip:jtag_pkg + - lowrisc:prim:mubi_pkg + - lowrisc:ip:lc_ctrl_pkg - lowrisc:opentitan:top_englishbreakfast_pinmux:0.1 - lowrisc:fpv:csr_assert_gen - lowrisc:opentitan:top_englishbreakfast_pinmux_common_fpv:0.1 - - lowrisc:systems:top_englishbreakfast_pkg - - lowrisc:systems:scan_role_pkg + - lowrisc:constants:top_englishbreakfast_top_pkg + - lowrisc:systems:top_englishbreakfast_scan_role_pkg files: - tb/pinmux_chip_tb.sv file_type: systemVerilogSource - files_virtual_provider: - depend: - - "fileset_top ? (lowrisc:opentitan:top_englishbreakfast_virtual_pkgs)" generate: csr_assert_gen: @@ -41,10 +39,6 @@ targets: formal: <<: *default_target - filesets_append: - - files_virtual_provider lint: <<: *default_target - filesets_append: - - files_virtual_provider diff --git a/hw/top_englishbreakfast/ip_autogen/pinmux/fpv/pinmux_fpv.core b/hw/top_englishbreakfast/ip_autogen/pinmux/fpv/pinmux_fpv.core index 05d7552810db6e..3e613448e9bc83 100644 --- a/hw/top_englishbreakfast/ip_autogen/pinmux/fpv/pinmux_fpv.core +++ b/hw/top_englishbreakfast/ip_autogen/pinmux/fpv/pinmux_fpv.core @@ -12,13 +12,9 @@ filesets: - lowrisc:opentitan:top_englishbreakfast_pinmux:0.1 - lowrisc:fpv:csr_assert_gen - lowrisc:opentitan:top_englishbreakfast_pinmux_common_fpv - - lowrisc:systems:scan_role_pkg files: - tb/pinmux_tb.sv file_type: systemVerilogSource - files_virtual_provider: - depend: - - "fileset_top ? (lowrisc:opentitan:top_englishbreakfast_virtual_pkgs)" generate: csr_assert_gen: @@ -37,10 +33,6 @@ targets: formal: <<: *default_target - filesets_append: - - files_virtual_provider lint: <<: *default_target - filesets_append: - - files_virtual_provider diff --git a/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux.core b/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux.core index 74a5318d001335..350d795e680c11 100644 --- a/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux.core +++ b/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux.core @@ -4,8 +4,6 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: lowrisc:opentitan:top_englishbreakfast_pinmux:0.1 description: "Pin Multiplexer" -virtual: - - lowrisc:ip_interfaces:pinmux filesets: files_rtl: @@ -32,10 +30,6 @@ filesets: - rtl/pinmux.sv file_type: systemVerilogSource - files_virtual_provider: - depend: - - "fileset_top ? (lowrisc:opentitan:top_englishbreakfast_virtual_pkgs)" - files_verilator_waiver: depend: # common waivers @@ -76,8 +70,6 @@ targets: lint: <<: *default_target - filesets_append: - - files_virtual_provider default_tool: verilator parameters: - SYNTHESIS=true @@ -99,5 +91,4 @@ targets: formal: filesets: - files_rtl - - files_virtual_provider toplevel: pinmux_tb diff --git a/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux_pkg.core b/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux_pkg.core index 123ee17656e1a9..39e76cb8da10fa 100644 --- a/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux_pkg.core +++ b/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux_pkg.core @@ -11,8 +11,9 @@ filesets: files_rtl: depend: - lowrisc:prim:pad_wrapper_pkg - - lowrisc:opentitan:top_englishbreakfast_pinmux_reg + - lowrisc:tlul:headers files: + - rtl/pinmux_reg_pkg.sv - rtl/pinmux_pkg.sv file_type: systemVerilogSource diff --git a/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux_reg.core b/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux_reg.core index 671ed110b2a3b5..161f7df7ff2035 100644 --- a/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux_reg.core +++ b/hw/top_englishbreakfast/ip_autogen/pinmux/pinmux_reg.core @@ -4,15 +4,14 @@ CAPI=2: # SPDX-License-Identifier: Apache-2.0 name: lowrisc:opentitan:top_englishbreakfast_pinmux_reg:0.1 description: "Auto-generated pinmux register sources" -virtual: - - lowrisc:ip_interfaces:pinmux_reg filesets: files_rtl: depend: - - lowrisc:tlul:headers + - lowrisc:ip:tlul + - lowrisc:prim:subreg + - lowrisc:opentitan:top_englishbreakfast_pinmux_pkg files: - - rtl/pinmux_reg_pkg.sv - rtl/pinmux_reg_top.sv file_type: systemVerilogSource diff --git a/hw/top_englishbreakfast/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson b/hw/top_englishbreakfast/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson index ef42cee856b157..28a2e8acaf38c6 100644 --- a/hw/top_englishbreakfast/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson +++ b/hw/top_englishbreakfast/ip_autogen/pinmux/syn/pinmux_syn_cfg.hjson @@ -6,7 +6,7 @@ name: pinmux // Fusesoc core file used for building the file list. - fusesoc_core: lowrisc:ip_interfaces:pinmux:0.1 + fusesoc_core: lowrisc:opentitan:top_englishbreakfast_pinmux:0.1 import_cfgs: [// Project wide common synthesis config file "{proj_root}/hw/syn/tools/dvsim/common_syn_cfg.hjson"], diff --git a/util/topgen.py b/util/topgen.py index 4d2f968f72644c..586710c01e80c8 100755 --- a/util/topgen.py +++ b/util/topgen.py @@ -358,7 +358,8 @@ def generate_pinmux(top: Dict[str, object], out_path: Path) -> None: "n_dio_periph_out": n_dio_periph_out, "enable_usb_wakeup": pinmux['enable_usb_wakeup'], "enable_strap_sampling": pinmux['enable_strap_sampling'], - "virtual_pkg_vlnv": f"lowrisc:opentitan:top_{topname}_virtual_pkgs", + "top_pkg_vlnv": f"lowrisc:constants:top_{topname}_top_pkg", + "scan_role_pkg_vlnv": f"lowrisc:systems:top_{topname}_scan_role_pkg", } ipgen_render("pinmux", topname, params, out_path)