najaeda 0.2.5__cp39-cp39-macosx_11_0_arm64.whl → 0.2.6__cp39-cp39-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/docs/source/instance.rst +1 -1
- najaeda/docs/source/introduction.rst +9 -2
- najaeda/libnaja_dnl.dylib +0 -0
- najaeda/libnaja_nl.dylib +0 -0
- najaeda/libnaja_opt.dylib +0 -0
- najaeda/libnaja_python.dylib +0 -0
- najaeda/naja.so +0 -0
- najaeda/netlist.py +52 -48
- {najaeda-0.2.5.dist-info → najaeda-0.2.6.dist-info}/METADATA +1 -1
- {najaeda-0.2.5.dist-info → najaeda-0.2.6.dist-info}/RECORD +13 -13
- {najaeda-0.2.5.dist-info → najaeda-0.2.6.dist-info}/WHEEL +0 -0
- {najaeda-0.2.5.dist-info → najaeda-0.2.6.dist-info}/licenses/AUTHORS +0 -0
- {najaeda-0.2.5.dist-info → najaeda-0.2.6.dist-info}/licenses/LICENSE +0 -0
najaeda/docs/source/instance.rst
CHANGED
|
@@ -23,7 +23,7 @@ In this model:
|
|
|
23
23
|
- **n-input gates** have a **single scalar output** and a **bus input terminal** (of size *n*).
|
|
24
24
|
- **n-output gates** have a **scalar input** and a **bus output terminal** (of size *n*).
|
|
25
25
|
|
|
26
|
-
All terminals in these generic instances are **unnamed
|
|
26
|
+
All terminals in these generic instances are **unnamed** (see :py:attr:`najaeda.netlist.Instance.is_unnamed`).
|
|
27
27
|
|
|
28
28
|
Instance Attributes
|
|
29
29
|
-------------------
|
|
@@ -52,8 +52,15 @@ Installation
|
|
|
52
52
|
|
|
53
53
|
Bug Reports
|
|
54
54
|
-----------
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
|
|
56
|
+
If you encounter any bugs, please report them on the `najaeda` issue tracker:
|
|
57
|
+
https://github.com/najaeda/naja/issues
|
|
58
|
+
|
|
59
|
+
You’re also welcome to join the discussion on Matrix:
|
|
60
|
+
|
|
61
|
+
.. image:: https://img.shields.io/badge/Matrix-Join%20Chat-success?logo=matrix
|
|
62
|
+
:target: https://matrix.to/#/#naja:fossi-chat.org
|
|
63
|
+
:alt: Join the Matrix chat
|
|
57
64
|
|
|
58
65
|
License
|
|
59
66
|
-------
|
najaeda/libnaja_dnl.dylib
CHANGED
|
Binary file
|
najaeda/libnaja_nl.dylib
CHANGED
|
Binary file
|
najaeda/libnaja_opt.dylib
CHANGED
|
Binary file
|
najaeda/libnaja_python.dylib
CHANGED
|
Binary file
|
najaeda/naja.so
CHANGED
|
Binary file
|
najaeda/netlist.py
CHANGED
|
@@ -562,10 +562,10 @@ class Term:
|
|
|
562
562
|
:rtype: bool
|
|
563
563
|
"""
|
|
564
564
|
for term in self.get_instance().get_bit_terms():
|
|
565
|
-
clockRelatedInputs = term.
|
|
565
|
+
clockRelatedInputs = term.get_clock_related_inputs()
|
|
566
566
|
if self in clockRelatedInputs:
|
|
567
567
|
return True
|
|
568
|
-
clockRelatedOutputs = term.
|
|
568
|
+
clockRelatedOutputs = term.get_clock_related_outputs()
|
|
569
569
|
if self in clockRelatedOutputs:
|
|
570
570
|
return True
|
|
571
571
|
if (len(clockRelatedInputs) > 0 or len(clockRelatedOutputs) > 0) and (term == self):
|
|
@@ -635,6 +635,56 @@ class Term:
|
|
|
635
635
|
elif snlterm.getDirection() == naja.SNLTerm.Direction.InOut:
|
|
636
636
|
return Term.Direction.INOUT
|
|
637
637
|
|
|
638
|
+
def get_combinatorial_inputs(self):
|
|
639
|
+
"""Get all combinatorial input terms of this instance.
|
|
640
|
+
|
|
641
|
+
:return: a list of combinatorial input terms.
|
|
642
|
+
:rtype: List[Term]
|
|
643
|
+
"""
|
|
644
|
+
terms = self.__get_snl_model().getCombinatorialInputs(
|
|
645
|
+
get_snl_term_for_ids(self.pathIDs, self.termIDs))
|
|
646
|
+
# Convert SNL terms to Term objects
|
|
647
|
+
return [Term(self.pathIDs, term) for term in terms]
|
|
648
|
+
|
|
649
|
+
def get_combinatorial_outputs(self):
|
|
650
|
+
"""Get all combinatorial output terms of this instance.
|
|
651
|
+
|
|
652
|
+
:return: a list of combinatorial output terms.
|
|
653
|
+
:rtype: List[Term]
|
|
654
|
+
"""
|
|
655
|
+
terms = self.__get_snl_model().getCombinatorialOutputs(
|
|
656
|
+
get_snl_term_for_ids(self.pathIDs, self.termIDs))
|
|
657
|
+
# Convert SNL terms to Term objects
|
|
658
|
+
return [Term(self.pathIDs, term) for term in terms]
|
|
659
|
+
|
|
660
|
+
def get_clock_related_inputs(self):
|
|
661
|
+
"""Get all input terms that are related to the given clock term.
|
|
662
|
+
|
|
663
|
+
:param clock_term: the clock term to check for related inputs.
|
|
664
|
+
:return: a list of input terms that are related to the clock term.
|
|
665
|
+
:rtype: List[Term]
|
|
666
|
+
"""
|
|
667
|
+
terms = self.__get_snl_model().getClockRelatedInputs(
|
|
668
|
+
get_snl_term_for_ids(self.pathIDs, self.termIDs))
|
|
669
|
+
# Convert SNL terms to Term objects
|
|
670
|
+
return [Term(self.pathIDs, term) for term in terms]
|
|
671
|
+
|
|
672
|
+
def get_clock_related_outputs(self):
|
|
673
|
+
"""Get all output terms that are related to the given clock term.
|
|
674
|
+
|
|
675
|
+
:param clock_term: the clock term to check for related outputs.
|
|
676
|
+
:return: a list of output terms that are related to the clock term.
|
|
677
|
+
:rtype: List[Term]
|
|
678
|
+
"""
|
|
679
|
+
terms = self.__get_snl_model().getClockRelatedOutputs(
|
|
680
|
+
get_snl_term_for_ids(self.pathIDs, self.termIDs))
|
|
681
|
+
# Convert SNL terms to Term objects
|
|
682
|
+
return [Term(self.pathIDs, term) for term in terms]
|
|
683
|
+
|
|
684
|
+
def __get_snl_model(self):
|
|
685
|
+
snlterm = get_snl_term_for_ids(self.pathIDs, self.termIDs)
|
|
686
|
+
return snlterm.getDesign()
|
|
687
|
+
|
|
638
688
|
def __get_snl_bitnet(self, bit) -> Net:
|
|
639
689
|
# single bit
|
|
640
690
|
path = get_snl_path_from_id_list(self.pathIDs)
|
|
@@ -1572,18 +1622,6 @@ class Instance:
|
|
|
1572
1622
|
get_snl_term_for_ids(clock_term.pathIDs,
|
|
1573
1623
|
clock_term.termIDs))
|
|
1574
1624
|
|
|
1575
|
-
def get_clock_related_inputs(self, clock_term: Term) -> List[Term]:
|
|
1576
|
-
"""Get all input terms that are related to the given clock term.
|
|
1577
|
-
|
|
1578
|
-
:param clock_term: the clock term to check for related inputs.
|
|
1579
|
-
:return: a list of input terms that are related to the clock term.
|
|
1580
|
-
:rtype: List[Term]
|
|
1581
|
-
"""
|
|
1582
|
-
terms = self.__get_snl_model().getClockRelatedInputs(
|
|
1583
|
-
get_snl_term_for_ids(clock_term.pathIDs, clock_term.termIDs))
|
|
1584
|
-
# Convert SNL terms to Term objects
|
|
1585
|
-
return [Term(clock_term.pathIDs, term) for term in terms]
|
|
1586
|
-
|
|
1587
1625
|
def add_clock_related_outputs(self, clock_term: Term, output_terms: List[Term]):
|
|
1588
1626
|
"""Add output terms that are related to the given clock term.
|
|
1589
1627
|
|
|
@@ -1596,18 +1634,6 @@ class Instance:
|
|
|
1596
1634
|
self.__get_snl_model().addClockToOutputsArcs(
|
|
1597
1635
|
get_snl_term_for_ids(clock_term.pathIDs, clock_term.termIDs), snlterms)
|
|
1598
1636
|
|
|
1599
|
-
def get_clock_related_outputs(self, clock_term: Term) -> List[Term]:
|
|
1600
|
-
"""Get all output terms that are related to the given clock term.
|
|
1601
|
-
|
|
1602
|
-
:param clock_term: the clock term to check for related outputs.
|
|
1603
|
-
:return: a list of output terms that are related to the clock term.
|
|
1604
|
-
:rtype: List[Term]
|
|
1605
|
-
"""
|
|
1606
|
-
terms = self.__get_snl_model().getClockRelatedOutputs(
|
|
1607
|
-
get_snl_term_for_ids(clock_term.pathIDs, clock_term.termIDs))
|
|
1608
|
-
# Convert SNL terms to Term objects
|
|
1609
|
-
return [Term(clock_term.pathIDs, term) for term in terms]
|
|
1610
|
-
|
|
1611
1637
|
def add_combinatorial_arcs(self, input_terms: List[Term], output_terms: List[Term]):
|
|
1612
1638
|
"""Add input terms that are combinatorial inputs for the given output term.
|
|
1613
1639
|
|
|
@@ -1619,28 +1645,6 @@ class Instance:
|
|
|
1619
1645
|
[get_snl_term_for_ids(term.pathIDs, term.termIDs) for term in input_terms],
|
|
1620
1646
|
[get_snl_term_for_ids(term.pathIDs, term.termIDs) for term in output_terms])
|
|
1621
1647
|
|
|
1622
|
-
def get_combinatorial_inputs(self, output_term: Term) -> List[Term]:
|
|
1623
|
-
"""Get all combinatorial input terms of this instance.
|
|
1624
|
-
|
|
1625
|
-
:return: a list of combinatorial input terms.
|
|
1626
|
-
:rtype: List[Term]
|
|
1627
|
-
"""
|
|
1628
|
-
terms = self.__get_snl_model().getCombinatorialInputs(
|
|
1629
|
-
get_snl_term_for_ids(output_term.pathIDs, output_term.termIDs))
|
|
1630
|
-
# Convert SNL terms to Term objects
|
|
1631
|
-
return [Term(self.pathIDs, term) for term in terms]
|
|
1632
|
-
|
|
1633
|
-
def get_combinatorial_outputs(self, input_term: Term) -> List[Term]:
|
|
1634
|
-
"""Get all combinatorial output terms of this instance.
|
|
1635
|
-
|
|
1636
|
-
:return: a list of combinatorial output terms.
|
|
1637
|
-
:rtype: List[Term]
|
|
1638
|
-
"""
|
|
1639
|
-
terms = self.__get_snl_model().getCombinatorialOutputs(
|
|
1640
|
-
get_snl_term_for_ids(input_term.pathIDs, input_term.termIDs))
|
|
1641
|
-
# Convert SNL terms to Term objects
|
|
1642
|
-
return [Term(self.pathIDs, term) for term in terms]
|
|
1643
|
-
|
|
1644
1648
|
|
|
1645
1649
|
def __get_top_db() -> naja.NLDB:
|
|
1646
1650
|
if naja.NLUniverse.get() is None:
|
|
@@ -1,28 +1,23 @@
|
|
|
1
|
-
najaeda
|
|
2
|
-
najaeda
|
|
3
|
-
najaeda-0.2.5.dist-info/METADATA,sha256=eiDQdwCVkgO-2dtr2b5a_8g5upb0uPXfpUICWWL4Apc,3435
|
|
4
|
-
najaeda-0.2.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
5
|
-
najaeda-0.2.5.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377
|
|
6
|
-
najaeda/netlist.py,sha256=ZCFc5z7auEGAn2YURizMHnK0Twljug6vefuBCdxGopw,64298
|
|
7
|
-
najaeda/libnaja_nl.dylib,sha256=v773WRb6Pl9gpAtRNB8Z6YO0L0L1N121JPXRm9CjucI,757456
|
|
1
|
+
najaeda/netlist.py,sha256=V-hoHtyjXVblXzKOObNV0Jz-_MIqbirZY-zV2YnZwjw,64203
|
|
2
|
+
najaeda/libnaja_nl.dylib,sha256=3Ubjj002DjDDe-jmmHAdvK4e1eBfZTDhbyDyB8JWmsw,757408
|
|
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=
|
|
6
|
+
najaeda/naja.so,sha256=9_7fkon9EbQcmKfJ4nKE-RUfrUHfKo3HnHJt9G1ZRJg,99440
|
|
12
7
|
najaeda/net_visitor.py,sha256=P_esjibYb-wBDuF-AyF7es9sJYw1Ha8RhTPu-qKe7G4,1940
|
|
13
|
-
najaeda/libnaja_opt.dylib,sha256=
|
|
14
|
-
najaeda/libnaja_python.dylib,sha256=
|
|
8
|
+
najaeda/libnaja_opt.dylib,sha256=vW8P49UplpYdjSxqU3TeaV2s9ck75Spq5ZcrN3ET0f4,212720
|
|
9
|
+
najaeda/libnaja_python.dylib,sha256=JvIkI9G5CVnAMY6HvG5MGk3pjOnJkZbif747hElBJJM,961808
|
|
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
13
|
najaeda/libnaja_metrics.dylib,sha256=Nj1HCvjZR1q4PiWnwKiRHIJ0XFdhsX8XwSLNxXGrl0A,106864
|
|
19
|
-
najaeda/libnaja_dnl.dylib,sha256=
|
|
14
|
+
najaeda/libnaja_dnl.dylib,sha256=QJ6_p0xWdPZn0T1MmPQ74j3FRXkQliM_7E8KQiotRzg,148000
|
|
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
|
|
23
18
|
najaeda/docs/.readthedocs.yaml,sha256=nN_Psro-YdfPcIiueZkJcZepts68g23rqVThhKnmVRw,790
|
|
24
19
|
najaeda/docs/source/index.rst,sha256=80VMfeEGHObnOUXRBxIzISQsG_HNkgT-pUpsDZsCfOY,387
|
|
25
|
-
najaeda/docs/source/instance.rst,sha256
|
|
20
|
+
najaeda/docs/source/instance.rst,sha256=-a7QjaR6URnpMPw2L6vUJ7IOqKLAtWd78LI0Br52iKM,1010
|
|
26
21
|
najaeda/docs/source/conf.py,sha256=XqCFo29gZCbaoPe1xEan9ZonYyQW5NZnWHGEWrB7p8Q,2021
|
|
27
22
|
najaeda/docs/source/preprocessor.py,sha256=TK4LsTdNbv2dxkKQaJ7cEyo9PU5v_56vlrFCJYIPKf8,2625
|
|
28
23
|
najaeda/docs/source/term.rst,sha256=QKWT6u1xjEjusvcZYknKQ-M83ibohO5y1EYTQnnXqak,690
|
|
@@ -32,7 +27,7 @@ najaeda/docs/source/examples.rst.in,sha256=4ZStOA3N5VHbKZgdn2kaEQZL7wPoJwODS2E1B
|
|
|
32
27
|
najaeda/docs/source/common_classes.rst,sha256=o20u3mcpFYINwy0sVdye90ZPMQcPqoH3V4ERKcG7SZI,181
|
|
33
28
|
najaeda/docs/source/equipotential.rst,sha256=0MDi-4fPEsX7K_ezWj5DB3mCalnhqN-sicYbQKYQfNc,335
|
|
34
29
|
najaeda/docs/source/netlist_classes.rst,sha256=Zrha9MQVEdEwxmP2zhgC0K3iioZXXerzeFoOz5SrOXM,132
|
|
35
|
-
najaeda/docs/source/introduction.rst,sha256=
|
|
30
|
+
najaeda/docs/source/introduction.rst,sha256=zrXsg7tItEqVhcTEHF9I19d97cTLynw6q0mx7XUNynE,2656
|
|
36
31
|
najaeda/docs/source/api.rst,sha256=47VCPyF4Py_1cklZ3q9fmOMhqqI17rxwU_VUJETfCwY,151
|
|
37
32
|
najaeda/.dylibs/libcapnp-1.1.0.dylib,sha256=l9SvRdxPrCI2mB_UitO7QjsaC7I5mq2R3rZjoIQKEYI,709328
|
|
38
33
|
najaeda/.dylibs/libtbbmalloc.2.15.dylib,sha256=ORLa9YDlOcMwtcYPZoVnNTTbBpL4lHwYcfA3YCJm_xA,126688
|
|
@@ -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=Ka-jlu-OxixEZ_yR_niXLHtaUL8HxT1Bg9H9Kpnr4ns,26551
|
|
39
|
+
najaeda-0.2.6.dist-info/RECORD,,
|
|
40
|
+
najaeda-0.2.6.dist-info/WHEEL,sha256=Bp5NfjQuMM_4-YV1MlnhqEfxPV5ySj3kUtyINz66rJc,112
|
|
41
|
+
najaeda-0.2.6.dist-info/METADATA,sha256=gF5bC4WqE1s8qne54K68ObdRuxLHpYCYmmCy9hAWB7o,3435
|
|
42
|
+
najaeda-0.2.6.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
43
|
+
najaeda-0.2.6.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377
|
|
File without changes
|
|
File without changes
|
|
File without changes
|