From 914d865c3b0c4f4971cc36afb935b07760699a52 Mon Sep 17 00:00:00 2001 From: marwaneltoukhy Date: Sun, 18 Aug 2024 14:30:31 +0300 Subject: [PATCH 1/2] adjusted ip check to take maturity into consideration --- ipm/common.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/ipm/common.py b/ipm/common.py index 3163fc3..817ff2f 100644 --- a/ipm/common.py +++ b/ipm/common.py @@ -867,9 +867,14 @@ def check_hierarchy(self): bool: True if hierarchy is correct, False if it is not """ logger = Logger() - common_dirs = ["verify/beh_model", "fw", "hdl/rtl/bus_wrapper"] + if self.maturity.lower() == "unqualified" or self.maturity.lower() == "defined": + common_dirs = [] + elif self.maturity.lower() == "implemented": + common_dirs = ["hdl/rtl/bus_wrapper"] + else: + common_dirs = ["verify/beh_model", "fw", "hdl/rtl/bus_wrapper"] # check the folder hierarchy - if self.type == "hard": + if self.type == "hard" and (self.maturity.lower() != "unqualified" or self.maturity.lower() != "defined"): ipm_dirs = [ "hdl/gl", "timing/lib", @@ -878,9 +883,9 @@ def check_hierarchy(self): "layout/gds", "layout/lef", ] - elif self.type == "soft" and self.category == "digital": + elif self.type == "soft" and self.category == "digital" and (self.maturity.lower() != "unqualified" or self.maturity.lower() != "defined" or self.maturity.lower() != "implemented"): ipm_dirs = ["verify/utb"] - if self.category == "analog": + if self.category == "analog" and (self.maturity.lower() != "unqualified" or self.maturity.lower() != "defined"): ipm_dirs = ["spice"] ipm_dirs = ipm_dirs + common_dirs ipm_files = [f"{self.ip_name}.yaml", "README.md", "doc/datasheet.pdf"] From 8114687abe7c7b835a5a872e082610a66900414b Mon Sep 17 00:00:00 2001 From: marwaneltoukhy Date: Tue, 20 Aug 2024 14:06:34 +0300 Subject: [PATCH 2/2] added beh model only in analog --- ipm/common.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ipm/common.py b/ipm/common.py index 817ff2f..7267309 100644 --- a/ipm/common.py +++ b/ipm/common.py @@ -872,7 +872,7 @@ def check_hierarchy(self): elif self.maturity.lower() == "implemented": common_dirs = ["hdl/rtl/bus_wrapper"] else: - common_dirs = ["verify/beh_model", "fw", "hdl/rtl/bus_wrapper"] + common_dirs = ["fw", "hdl/rtl/bus_wrapper"] # check the folder hierarchy if self.type == "hard" and (self.maturity.lower() != "unqualified" or self.maturity.lower() != "defined"): ipm_dirs = [ @@ -886,7 +886,7 @@ def check_hierarchy(self): elif self.type == "soft" and self.category == "digital" and (self.maturity.lower() != "unqualified" or self.maturity.lower() != "defined" or self.maturity.lower() != "implemented"): ipm_dirs = ["verify/utb"] if self.category == "analog" and (self.maturity.lower() != "unqualified" or self.maturity.lower() != "defined"): - ipm_dirs = ["spice"] + ipm_dirs = ["spice", "verify/beh_model"] ipm_dirs = ipm_dirs + common_dirs ipm_files = [f"{self.ip_name}.yaml", "README.md", "doc/datasheet.pdf"] flag = True @@ -1137,9 +1137,17 @@ def list_verified_ips(category=None, technology=None): text = link.text if "View Details" not in text and "\n\n" not in text: platform_ips.append(text) + # print(platform_ips) for ip_name, ip_data in verified_ips.items(): + # print(ip_name.upper()) + if ip_name.upper() == "EF_SRAM_1024X32": + if "EF_SRAM_1024X32" in platform_ips: + print("good") + else: + print("bad") if ip_name.upper() in platform_ips: + # print(ip_name.upper()) if category and not technology: if ip_data["category"] == category: ip_list.append({ip_name: ip_data})