najaeda 0.1.21__cp310-cp310-macosx_11_0_arm64.whl → 0.1.23__cp310-cp310-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.

@@ -15,7 +15,7 @@ sys.path.insert(0, os.path.abspath('../../../'))
15
15
  project = 'najaeda'
16
16
  copyright = '2024, Naja authors'
17
17
  author = 'Naja authors'
18
- release = '0.1.9'
18
+ release = '0.1.22'
19
19
 
20
20
  # -- General configuration ---------------------------------------------------
21
21
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
@@ -27,7 +27,7 @@ extensions = [
27
27
  'sphinx.ext.todo', # (Optional) For TODOs in the documentation
28
28
  ]
29
29
 
30
- autodoc_mock_imports = ["najaeda.snl"]
30
+ autodoc_mock_imports = ["najaeda.naja"]
31
31
  templates_path = ['_templates']
32
32
  exclude_patterns = []
33
33
 
Binary file
najaeda/naja.so CHANGED
Binary file
najaeda/netlist.py CHANGED
@@ -11,6 +11,7 @@ import struct
11
11
  import sys
12
12
  import os
13
13
  from enum import Enum
14
+ from typing import Union, List
14
15
 
15
16
  from najaeda import naja
16
17
 
@@ -352,6 +353,15 @@ class Net:
352
353
  yield Term(path, term.getBitTerm())
353
354
  path.pop()
354
355
 
356
+ def count_inst_terms(self) -> int:
357
+ """
358
+ Count the instance terminals of this net.
359
+
360
+ :return: the number of instance terminals of this net.
361
+ :rtype: int
362
+ """
363
+ return sum(1 for _ in self.get_inst_terms())
364
+
355
365
  def get_design_terms(self):
356
366
  """
357
367
  :return: an iterator over the design terminals of the net.
@@ -455,9 +465,9 @@ class Term:
455
465
  term_str = (
456
466
  f"{path}/{get_snl_term_for_ids(self.pathIDs, self.termIDs).getName()}"
457
467
  )
458
- if self.is_bus:
468
+ if self.is_bus():
459
469
  term_str += f"[{self.get_msb()}:{self.get_lsb()}]"
460
- elif self.is_bus_bit:
470
+ elif self.is_bus_bit():
461
471
  term_str += f"[{self.get_lsb()}]"
462
472
  return term_str
463
473
 
@@ -978,7 +988,7 @@ class Instance:
978
988
  yield Instance(path_child)
979
989
  # path.pop()
980
990
 
981
- def get_number_of_child_instances(self) -> int:
991
+ def count_child_instances(self) -> int:
982
992
  """
983
993
  :return: the number of child instances of this instance.
984
994
  :rtype: int
@@ -1467,7 +1477,14 @@ class VerilogConfig:
1467
1477
  self.keep_assigns = keep_assigns
1468
1478
 
1469
1479
 
1470
- def load_verilog(files: list, config: VerilogConfig = None) -> Instance:
1480
+ def load_verilog(files: Union[str, List[str]], config: VerilogConfig = None) -> Instance:
1481
+ """Load verilog files into the top design.
1482
+ :param files: a list of verilog files to load or a single file.
1483
+ :param config: the configuration to use when loading the files.
1484
+ :return: the top Instance.
1485
+ """
1486
+ if isinstance(files, str):
1487
+ files = [files]
1471
1488
  if not files or len(files) == 0:
1472
1489
  raise Exception("No verilog files provided")
1473
1490
  if config is None:
@@ -1480,7 +1497,14 @@ def load_verilog(files: list, config: VerilogConfig = None) -> Instance:
1480
1497
  return get_top()
1481
1498
 
1482
1499
 
1483
- def load_liberty(files: list):
1500
+ def load_liberty(files: Union[str, List[str]]):
1501
+ """Load liberty files.
1502
+ :param files: a list of liberty files to load or a single file.
1503
+ """
1504
+ if isinstance(files, str):
1505
+ files = [files]
1506
+ if not files or len(files) == 0:
1507
+ raise Exception("No liberty files provided")
1484
1508
  logging.info(f"Loading liberty files: {', '.join(files)}")
1485
1509
  __get_top_db().loadLibertyPrimitives(files)
1486
1510
 
@@ -1,9 +1,20 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: najaeda
3
- Version: 0.1.21
3
+ Version: 0.1.23
4
4
  Summary: Naja EDA Python package
5
5
  Author-Email: Naja Authors <contact@keplertech.io>
6
6
  License: Apache License 2.0
7
+ Classifier: Development Status :: 4 - Beta
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: License :: OSI Approved :: Apache Software License
10
+ Classifier: Operating System :: MacOS
11
+ Classifier: Operating System :: POSIX :: Linux
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
7
18
  Project-URL: Homepage, https://github.com/najaeda/naja
8
19
  Requires-Python: >=3.8
9
20
  Description-Content-Type: text/x-rst
@@ -1,11 +1,16 @@
1
- najaeda/netlist.py,sha256=vDzsRYZDM7svKEJHVquM-pyfIikALY-RkvLm6vm-MSM,52810
1
+ najaeda-0.1.23.dist-info/RECORD,,
2
+ najaeda-0.1.23.dist-info/WHEEL,sha256=nFSIsNnUJn_8RF-FUhBaXtCep1yHZRCxSkBom4ebATM,114
3
+ najaeda-0.1.23.dist-info/METADATA,sha256=fUZcD04Cf0r8tlSQgRGVIOQ9NeRfMJYPNLdAR5UcSZE,3046
4
+ najaeda-0.1.23.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
5
+ najaeda-0.1.23.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377
6
+ najaeda/netlist.py,sha256=RA8jMz9uwwlLSLVli5mzqI5Z3RS6mk9YuFol-7SeEIM,53647
2
7
  najaeda/libnaja_nl.dylib,sha256=O1pfUil1jLkWu89X3JGpKyTwuVqmpsnwZDOESYqjqeU,713152
3
8
  najaeda/pandas_stats.py,sha256=yOb4ka965U7rN4D6AwvSGmRyeT_O7Ed-5cmT8BFbfeo,1070
4
9
  najaeda/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- najaeda/naja.so,sha256=wSN6dKKqhK3f77ylSjgItoT-5o52oVdM7I3C7ZdnZZw,99440
10
+ najaeda/naja.so,sha256=JEs_riu9NVyeUxjM6zLrkvqMXW-_JAohjNiyh1J4sjw,99440
6
11
  najaeda/net_visitor.py,sha256=P_esjibYb-wBDuF-AyF7es9sJYw1Ha8RhTPu-qKe7G4,1940
7
12
  najaeda/libnaja_opt.dylib,sha256=91kz37-SLpztC7x1F_VYZlddwzCBoNVaD6NqL7OL2GQ,190816
8
- najaeda/libnaja_python.dylib,sha256=J6TSYbYPdU4ylvJv1ugZEK5g2GX3o1Z68rJGn-5V3ik,904240
13
+ najaeda/libnaja_python.dylib,sha256=hIuCT1JSoC1yeSVVF4JXD90cXa0MNAwhmqoM7MGV1K8,904240
9
14
  najaeda/stats.py,sha256=wackXsf0x24ic9v-UifECHj4t5yveUWssMDZp2B057A,16187
10
15
  najaeda/instance_visitor.py,sha256=JMsPSQaWNiDjxS05rxg83a0PIsrOIuTi9G35hkwdibs,1530
11
16
  najaeda/libnaja_bne.dylib,sha256=r9-g0qCILL6w_BgXYg62karCWloSPSpdNGEeS2Ey0Jk,134064
@@ -16,7 +21,7 @@ najaeda/docs/requirements.txt,sha256=1XIBGTIplm2arC9HhDCfLuAjozGdVSXkqmOj8ybuT6U
16
21
  najaeda/docs/.readthedocs.yaml,sha256=nN_Psro-YdfPcIiueZkJcZepts68g23rqVThhKnmVRw,790
17
22
  najaeda/docs/source/index.rst,sha256=80VMfeEGHObnOUXRBxIzISQsG_HNkgT-pUpsDZsCfOY,387
18
23
  najaeda/docs/source/instance.rst,sha256=7B2IBB0p32Tb4qvOCE77OlrQaYpFADvmTlq1q8eyVqw,458
19
- najaeda/docs/source/conf.py,sha256=iSeerg2pJlZlhtwkJ9edRRYrLEdx3R1p7GWi78dHP1o,2019
24
+ najaeda/docs/source/conf.py,sha256=XqCFo29gZCbaoPe1xEan9ZonYyQW5NZnWHGEWrB7p8Q,2021
20
25
  najaeda/docs/source/preprocessor.py,sha256=TK4LsTdNbv2dxkKQaJ7cEyo9PU5v_56vlrFCJYIPKf8,2625
21
26
  najaeda/docs/source/term.rst,sha256=QKWT6u1xjEjusvcZYknKQ-M83ibohO5y1EYTQnnXqak,690
22
27
  najaeda/docs/source/net.rst,sha256=i6YEir8ZOldSY8-UmPxgVJ4Ot3y-Q6seRkBr2H-KmXc,732
@@ -33,8 +38,3 @@ najaeda/.dylibs/libtbb.12.15.dylib,sha256=MGGmYnvwo6PQYq7aVv_m2gKHBbOkAdwjPLJtYZ
33
38
  najaeda/.dylibs/libkj-1.1.0.dylib,sha256=pB7dMks8b8ybJ6xKWqFR_hHjKsmpf7wzbcunZaS7gO4,578320
34
39
  najaeda/primitives/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
40
  najaeda/primitives/xilinx.py,sha256=Ka-jlu-OxixEZ_yR_niXLHtaUL8HxT1Bg9H9Kpnr4ns,26551
36
- najaeda-0.1.21.dist-info/RECORD,,
37
- najaeda-0.1.21.dist-info/WHEEL,sha256=nFSIsNnUJn_8RF-FUhBaXtCep1yHZRCxSkBom4ebATM,114
38
- najaeda-0.1.21.dist-info/METADATA,sha256=F9KxuiPDRio9g80RxoIDE7lwBcbAwk85-8GA5c5Mmxo,2475
39
- najaeda-0.1.21.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
40
- najaeda-0.1.21.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377