najaeda 0.2.10__cp313-cp313-macosx_11_0_arm64.whl → 0.2.11__cp313-cp313-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of najaeda might be problematic. Click here for more details.

najaeda/libnaja_dnl.dylib CHANGED
Binary file
Binary file
najaeda/libnaja_nl.dylib CHANGED
Binary file
Binary file
najaeda/naja.so CHANGED
Binary file
najaeda/netlist.py CHANGED
@@ -72,6 +72,35 @@ def get_snl_path_from_id_list(id_list: list) -> naja.SNLPath:
72
72
  return path
73
73
 
74
74
 
75
+ class Attribute:
76
+ def __init__(self, snlAttribute):
77
+ self.snlAttribute = snlAttribute
78
+
79
+ def __str__(self):
80
+ return str(self.snlAttribute)
81
+
82
+ def get_name(self):
83
+ """
84
+ :return: the name of the attribute.
85
+ :rtype: str
86
+ """
87
+ return self.snlAttribute.getName()
88
+
89
+ def has_value(self):
90
+ """
91
+ :return: True if the attribute has a value.
92
+ :rtype: bool
93
+ """
94
+ return self.snlAttribute.hasValue()
95
+
96
+ def get_value(self):
97
+ """
98
+ :return: the value of the attribute.
99
+ :rtype: str
100
+ """
101
+ return self.snlAttribute.getValue()
102
+
103
+
75
104
  class Equipotential:
76
105
  """Class that represents the term and wraps
77
106
  some of the snl occurrence API.
@@ -423,6 +452,25 @@ class Net:
423
452
  yield from self.get_design_terms()
424
453
  yield from self.get_inst_terms()
425
454
 
455
+ def get_attributes(self) -> Iterator[Attribute]:
456
+ """Iterate over the attributes of this Net.
457
+
458
+ :return: the attributes of this Net.
459
+ :rtype: Iterator[Attribute]
460
+ """
461
+ if hasattr(self, "net"):
462
+ snlnet = self.net
463
+ for attribute in snlnet.getAttributes():
464
+ yield Attribute(attribute)
465
+
466
+ def count_attributes(self) -> int:
467
+ """Count the attributes of this Net.
468
+
469
+ :return: the number of attributes of this Net.
470
+ :rtype: int
471
+ """
472
+ return sum(1 for _ in self.get_attributes())
473
+
426
474
 
427
475
  def get_snl_term_for_ids(pathIDs, termIDs):
428
476
  path = get_snl_path_from_id_list(pathIDs)
@@ -638,6 +686,24 @@ class Term:
638
686
  elif snlterm.getDirection() == naja.SNLTerm.Direction.InOut:
639
687
  return Term.Direction.INOUT
640
688
 
689
+ def get_attributes(self) -> Iterator[Attribute]:
690
+ """Iterate over the attributes of this Term.
691
+
692
+ :return: the attributes of this Term.
693
+ :rtype: Iterator[Attribute]
694
+ """
695
+ snlterm = get_snl_term_for_ids(self.pathIDs, self.termIDs)
696
+ for attribute in snlterm.getAttributes():
697
+ yield Attribute(attribute)
698
+
699
+ def count_attributes(self) -> int:
700
+ """Count the attributes of this Term.
701
+
702
+ :return: the number of attributes of this Term.
703
+ :rtype: int
704
+ """
705
+ return sum(1 for _ in self.get_attributes())
706
+
641
707
  def get_combinatorial_inputs(self):
642
708
  """Get all combinatorial input terms of this instance.
643
709
 
@@ -894,35 +960,6 @@ def get_instance_by_path(names: list):
894
960
  return get_top().get_child_instance(names)
895
961
 
896
962
 
897
- class Attribute:
898
- def __init__(self, snlAttribute):
899
- self.snlAttribute = snlAttribute
900
-
901
- def __str__(self):
902
- return str(self.snlAttribute)
903
-
904
- def get_name(self):
905
- """
906
- :return: the name of the attribute.
907
- :rtype: str
908
- """
909
- return self.snlAttribute.getName()
910
-
911
- def has_value(self):
912
- """
913
- :return: True if the attribute has a value.
914
- :rtype: bool
915
- """
916
- return self.snlAttribute.hasValue()
917
-
918
- def get_value(self):
919
- """
920
- :return: the value of the attribute.
921
- :rtype: str
922
- """
923
- return self.snlAttribute.getValue()
924
-
925
-
926
963
  class Instance:
927
964
  """Class that represents an instance in the design hierarchy.
928
965
  """
@@ -1831,7 +1868,7 @@ def apply_constant_propagation():
1831
1868
  naja.NLUniverse.get().applyConstantPropagation()
1832
1869
 
1833
1870
 
1834
- def get_max_fanout() -> int:
1871
+ def get_max_fanout() -> list:
1835
1872
  """Get the maximum fanout of the top design.
1836
1873
 
1837
1874
  :return: the maximum fanout of the top design.
@@ -1842,10 +1879,10 @@ def get_max_fanout() -> int:
1842
1879
  top = naja.NLUniverse.get().getTopDesign()
1843
1880
  if top is not None:
1844
1881
  return naja.NLUniverse.get().getMaxFanout()
1845
- return 0
1882
+ return [0]
1846
1883
 
1847
1884
 
1848
- def get_max_logic_level() -> int:
1885
+ def get_max_logic_level() -> list:
1849
1886
  """Get the maximum logic level of the top design.
1850
1887
 
1851
1888
  :return: the maximum logic level of the top design.
@@ -1856,4 +1893,4 @@ def get_max_logic_level() -> int:
1856
1893
  top = naja.NLUniverse.get().getTopDesign()
1857
1894
  if top is not None:
1858
1895
  return naja.NLUniverse.get().getMaxLogicLevel()
1859
- return 0
1896
+ return [0]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: najaeda
3
- Version: 0.2.10
3
+ Version: 0.2.11
4
4
  Summary: Naja EDA Python package
5
5
  Author-Email: Naja Authors <contact@keplertech.io>
6
6
  License: Apache License 2.0
@@ -1,22 +1,17 @@
1
- najaeda-0.2.10.dist-info/RECORD,,
2
- najaeda-0.2.10.dist-info/WHEEL,sha256=xL_I_TleH-YV9h3oMcQi1F0DSqA1tyOenDLO1uzk5E8,114
3
- najaeda-0.2.10.dist-info/METADATA,sha256=-9uJNNWWDpC0ofYCIvFlQgusbbd5iMvBmz60oz5HspE,3656
4
- najaeda-0.2.10.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
5
- najaeda-0.2.10.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377
6
- najaeda/netlist.py,sha256=iDaELvPq9irnAPmk6F7LqjP0W6w9uUpb3b_UG900Q-g,63744
7
- najaeda/libnaja_nl.dylib,sha256=G0kN6sg7R5sLwPFDL2jPZHjUPFbzA-CWycVTuYLowoo,774400
1
+ najaeda/netlist.py,sha256=ul6AMYWKDuAOmo_1P0z8KBiClfcQdhff_XBlYeTnmGk,64921
2
+ najaeda/libnaja_nl.dylib,sha256=wW6MuM89Q6WIK-GqDuFJrbHvb06IY8fX9LE1ijytHEo,774480
8
3
  najaeda/pandas_stats.py,sha256=yOb4ka965U7rN4D6AwvSGmRyeT_O7Ed-5cmT8BFbfeo,1070
9
4
  najaeda/_version.py,sha256=c-4hT20dyE-3BcdzOqR0vd92E7ydR5u2c-VmCc6oU8A,332
10
5
  najaeda/__init__.py,sha256=6QrOzlqTfd558FH9Zm6ve54IzkHaDJ8ZO8hTCaEwsL8,218
11
- najaeda/naja.so,sha256=K8xThT_m8ItCOizDDJZfmoy1Rp0zKHrZ7r5FQQ9Syvs,99440
6
+ najaeda/naja.so,sha256=oWAZ0K3KGTIumc1wL2eSZWCc3FIH5VPsDE65BYUm_08,99440
12
7
  najaeda/net_visitor.py,sha256=P_esjibYb-wBDuF-AyF7es9sJYw1Ha8RhTPu-qKe7G4,1940
13
8
  najaeda/libnaja_opt.dylib,sha256=vW8P49UplpYdjSxqU3TeaV2s9ck75Spq5ZcrN3ET0f4,212720
14
- najaeda/libnaja_python.dylib,sha256=hZ0aBKvCg7lw-grby1Xkt1dP9_pE7Vn_ZQA6m5R-j5I,962128
9
+ najaeda/libnaja_python.dylib,sha256=1i6bENegfxsZNhSqnh9n7EsUp5onsUpSnfZT4bwUaWE,962528
15
10
  najaeda/stats.py,sha256=g1F1CEBNVvGgzINOI7sK83123cCbclLDmyUjuep3-EU,16107
16
11
  najaeda/instance_visitor.py,sha256=JMsPSQaWNiDjxS05rxg83a0PIsrOIuTi9G35hkwdibs,1530
17
12
  najaeda/libnaja_bne.dylib,sha256=pLbGUnDr5PSGXbA8wKD-pqEyQIWHbiCb1icPpxRYrWE,136416
18
- najaeda/libnaja_metrics.dylib,sha256=Nj1HCvjZR1q4PiWnwKiRHIJ0XFdhsX8XwSLNxXGrl0A,106864
19
- najaeda/libnaja_dnl.dylib,sha256=QJ6_p0xWdPZn0T1MmPQ74j3FRXkQliM_7E8KQiotRzg,148000
13
+ najaeda/libnaja_metrics.dylib,sha256=83UJKTRmqtEvUZokv539CWcCENvd8lOf5U2SfgXnT7E,123440
14
+ najaeda/libnaja_dnl.dylib,sha256=B2jj02K-4rzjeAYCpXShrgNDjm9I1gz4e50n_DugUgg,148096
20
15
  najaeda/native/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
16
  najaeda/native/stats.py,sha256=t50hhE9pEFNtlssjES0A-K9TsO_2ZSUAb-e9L3Rt6yc,13063
22
17
  najaeda/docs/requirements.txt,sha256=1XIBGTIplm2arC9HhDCfLuAjozGdVSXkqmOj8ybuT6U,121
@@ -41,3 +36,8 @@ najaeda/.dylibs/libkj-1.1.0.dylib,sha256=pB7dMks8b8ybJ6xKWqFR_hHjKsmpf7wzbcunZaS
41
36
  najaeda/primitives/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
37
  najaeda/primitives/yosys.py,sha256=g1L70AUJoPCkd9B-b9aW4Pzc1AeR9KyIHoXvneW_UEU,8584
43
38
  najaeda/primitives/xilinx.py,sha256=dBzS0bDF9e3kGqadwJDW2H3LmvNfh-AZCU7Hup9ScQQ,31401
39
+ najaeda-0.2.11.dist-info/RECORD,,
40
+ najaeda-0.2.11.dist-info/WHEEL,sha256=xL_I_TleH-YV9h3oMcQi1F0DSqA1tyOenDLO1uzk5E8,114
41
+ najaeda-0.2.11.dist-info/METADATA,sha256=ZsUuSVVSJ8dJzc6WxNuIn-tdwcrH9C3uIFC0ZkMOpQQ,3656
42
+ najaeda-0.2.11.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
43
+ najaeda-0.2.11.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377