yowasp-yosys 0.38.0.92.post687.dev0__py3-none-any.whl → 0.39.0.165.post702.dev0__py3-none-any.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.
yowasp_yosys/smtbmc.py CHANGED
@@ -57,6 +57,8 @@ keep_going = False
57
57
  check_witness = False
58
58
  detect_loops = False
59
59
  incremental = None
60
+ track_assumes = False
61
+ minimize_assumes = False
60
62
  so = SmtOpts()
61
63
 
62
64
 
@@ -189,6 +191,15 @@ def help():
189
191
  --incremental
190
192
  run in incremental mode (experimental)
191
193
 
194
+ --track-assumes
195
+ track individual assumptions and report a subset of used
196
+ assumptions that are sufficient for the reported outcome. This
197
+ can be used to debug PREUNSAT failures as well as to find a
198
+ smaller set of sufficient assumptions.
199
+
200
+ --minimize-assumes
201
+ when using --track-assumes, solve for a minimal set of sufficient assumptions.
202
+
192
203
  """ + so.helpmsg())
193
204
 
194
205
  def usage():
@@ -200,7 +211,8 @@ try:
200
211
  opts, args = getopt.getopt(sys.argv[1:], so.shortopts + "t:higcm:", so.longopts +
201
212
  ["help", "final-only", "assume-skipped=", "smtc=", "cex=", "aig=", "aig-noheader", "yw=", "btorwit=", "presat",
202
213
  "dump-vcd=", "dump-yw=", "dump-vlogtb=", "vlogtb-top=", "dump-smtc=", "dump-all", "noinfo", "append=",
203
- "smtc-init", "smtc-top=", "noinit", "binary", "keep-going", "check-witness", "detect-loops", "incremental"])
214
+ "smtc-init", "smtc-top=", "noinit", "binary", "keep-going", "check-witness", "detect-loops", "incremental",
215
+ "track-assumes", "minimize-assumes"])
204
216
  except:
205
217
  usage()
206
218
 
@@ -289,6 +301,10 @@ for o, a in opts:
289
301
  elif o == "--incremental":
290
302
  from smtbmc_incremental import Incremental
291
303
  incremental = Incremental()
304
+ elif o == "--track-assumes":
305
+ track_assumes = True
306
+ elif o == "--minimize-assumes":
307
+ minimize_assumes = True
292
308
  elif so.handle(o, a):
293
309
  pass
294
310
  else:
@@ -447,6 +463,9 @@ def get_constr_expr(db, state, final=False, getvalues=False, individual=False):
447
463
 
448
464
  smt = SmtIo(opts=so)
449
465
 
466
+ if track_assumes:
467
+ smt.smt2_options[':produce-unsat-assumptions'] = 'true'
468
+
450
469
  if noinfo and vcdfile is None and vlogtbfile is None and outconstr is None:
451
470
  smt.produce_models = False
452
471
 
@@ -649,14 +668,20 @@ if aimfile is not None:
649
668
  num_steps = max(num_steps, step+2)
650
669
  step += 1
651
670
 
671
+ ywfile_hierwitness_cache = None
672
+
652
673
  def ywfile_constraints(inywfile, constr_assumes, map_steps=None, skip_x=False):
674
+ global ywfile_hierwitness_cache
653
675
  if map_steps is None:
654
676
  map_steps = {}
655
677
 
656
678
  with open(inywfile, "r") as f:
657
679
  inyw = ReadWitness(f)
658
680
 
659
- inits, seqs, clocks, mems = smt.hierwitness(topmod, allregs=True, blackbox=True)
681
+ if ywfile_hierwitness_cache is None:
682
+ ywfile_hierwitness_cache = smt.hierwitness(topmod, allregs=True, blackbox=True)
683
+
684
+ inits, seqs, clocks, mems = ywfile_hierwitness_cache
660
685
 
661
686
  smt_wires = defaultdict(list)
662
687
  smt_mems = defaultdict(list)
@@ -1491,6 +1516,44 @@ def get_active_assert_map(step, active):
1491
1516
 
1492
1517
  return assert_map
1493
1518
 
1519
+ assume_enables = {}
1520
+
1521
+ def declare_assume_enables():
1522
+ def recurse(mod, path, key_base=()):
1523
+ for expr, desc in smt.modinfo[mod].assumes.items():
1524
+ enable = f"|assume_enable {len(assume_enables)}|"
1525
+ smt.smt2_assumptions[(expr, key_base)] = enable
1526
+ smt.write(f"(declare-const {enable} Bool)")
1527
+ assume_enables[(expr, key_base)] = (enable, path, desc)
1528
+
1529
+ for cell, submod in smt.modinfo[mod].cells.items():
1530
+ recurse(submod, f"{path}.{cell}", (mod, cell, key_base))
1531
+
1532
+ recurse(topmod, topmod)
1533
+
1534
+ if track_assumes:
1535
+ declare_assume_enables()
1536
+
1537
+ def smt_assert_design_assumes(step):
1538
+ if not track_assumes:
1539
+ smt_assert_consequent("(|%s_u| s%d)" % (topmod, step))
1540
+ return
1541
+
1542
+ if not assume_enables:
1543
+ return
1544
+
1545
+ def expr_for_assume(assume_key, base=None):
1546
+ expr, key_base = assume_key
1547
+ expr_prefix = f"(|{expr}| "
1548
+ expr_suffix = ")"
1549
+ while key_base:
1550
+ mod, cell, key_base = key_base
1551
+ expr_prefix += f"(|{mod}_h {cell}| "
1552
+ expr_suffix += ")"
1553
+ return f"{expr_prefix} s{step}{expr_suffix}"
1554
+
1555
+ for assume_key, (enable, path, desc) in assume_enables.items():
1556
+ smt_assert_consequent(f"(=> {enable} {expr_for_assume(assume_key)})")
1494
1557
 
1495
1558
  states = list()
1496
1559
  asserts_antecedent_cache = [list()]
@@ -1645,6 +1708,13 @@ def smt_check_sat(expected=["sat", "unsat"]):
1645
1708
  smt_forall_assert()
1646
1709
  return smt.check_sat(expected=expected)
1647
1710
 
1711
+ def report_tracked_assumptions(msg):
1712
+ if track_assumes:
1713
+ print_msg(msg)
1714
+ for key in smt.get_unsat_assumptions(minimize=minimize_assumes):
1715
+ enable, path, descr = assume_enables[key]
1716
+ print_msg(f" In {path}: {descr}")
1717
+
1648
1718
 
1649
1719
  if incremental:
1650
1720
  incremental.mainloop()
@@ -1658,7 +1728,7 @@ elif tempind:
1658
1728
  break
1659
1729
 
1660
1730
  smt_state(step)
1661
- smt_assert_consequent("(|%s_u| s%d)" % (topmod, step))
1731
+ smt_assert_design_assumes(step)
1662
1732
  smt_assert_antecedent("(|%s_h| s%d)" % (topmod, step))
1663
1733
  smt_assert_antecedent("(not (|%s_is| s%d))" % (topmod, step))
1664
1734
  smt_assert_consequent(get_constr_expr(constr_assumes, step))
@@ -1701,6 +1771,7 @@ elif tempind:
1701
1771
 
1702
1772
  else:
1703
1773
  print_msg("Temporal induction successful.")
1774
+ report_tracked_assumptions("Used assumptions:")
1704
1775
  retstatus = "PASSED"
1705
1776
  break
1706
1777
 
@@ -1726,7 +1797,7 @@ elif covermode:
1726
1797
 
1727
1798
  while step < num_steps:
1728
1799
  smt_state(step)
1729
- smt_assert_consequent("(|%s_u| s%d)" % (topmod, step))
1800
+ smt_assert_design_assumes(step)
1730
1801
  smt_assert_antecedent("(|%s_h| s%d)" % (topmod, step))
1731
1802
  smt_assert_consequent(get_constr_expr(constr_assumes, step))
1732
1803
 
@@ -1747,6 +1818,7 @@ elif covermode:
1747
1818
  smt_assert("(distinct (covers_%d s%d) #b%s)" % (coveridx, step, "0" * len(cover_desc)))
1748
1819
 
1749
1820
  if smt_check_sat() == "unsat":
1821
+ report_tracked_assumptions("Used assumptions:")
1750
1822
  smt_pop()
1751
1823
  break
1752
1824
 
@@ -1755,13 +1827,14 @@ elif covermode:
1755
1827
  print_msg("Appending additional step %d." % i)
1756
1828
  smt_state(i)
1757
1829
  smt_assert_antecedent("(not (|%s_is| s%d))" % (topmod, i))
1758
- smt_assert_consequent("(|%s_u| s%d)" % (topmod, i))
1830
+ smt_assert_design_assumes(i)
1759
1831
  smt_assert_antecedent("(|%s_h| s%d)" % (topmod, i))
1760
1832
  smt_assert_antecedent("(|%s_t| s%d s%d)" % (topmod, i-1, i))
1761
1833
  smt_assert_consequent(get_constr_expr(constr_assumes, i))
1762
1834
  print_msg("Re-solving with appended steps..")
1763
1835
  if smt_check_sat() == "unsat":
1764
1836
  print("%s Cannot appended steps without violating assumptions!" % smt.timestamp())
1837
+ report_tracked_assumptions("Conflicting assumptions:")
1765
1838
  found_failed_assert = True
1766
1839
  retstatus = "FAILED"
1767
1840
  break
@@ -1817,7 +1890,7 @@ else: # not tempind, covermode
1817
1890
  retstatus = "PASSED"
1818
1891
  while step < num_steps:
1819
1892
  smt_state(step)
1820
- smt_assert_consequent("(|%s_u| s%d)" % (topmod, step))
1893
+ smt_assert_design_assumes(step)
1821
1894
  smt_assert_antecedent("(|%s_h| s%d)" % (topmod, step))
1822
1895
  smt_assert_consequent(get_constr_expr(constr_assumes, step))
1823
1896
 
@@ -1847,7 +1920,7 @@ else: # not tempind, covermode
1847
1920
  if step+i < num_steps:
1848
1921
  smt_state(step+i)
1849
1922
  smt_assert_antecedent("(not (|%s_is| s%d))" % (topmod, step+i))
1850
- smt_assert_consequent("(|%s_u| s%d)" % (topmod, step+i))
1923
+ smt_assert_design_assumes(step + i)
1851
1924
  smt_assert_antecedent("(|%s_h| s%d)" % (topmod, step+i))
1852
1925
  smt_assert_antecedent("(|%s_t| s%d s%d)" % (topmod, step+i-1, step+i))
1853
1926
  smt_assert_consequent(get_constr_expr(constr_assumes, step+i))
@@ -1861,7 +1934,8 @@ else: # not tempind, covermode
1861
1934
  print_msg("Checking assumptions in steps %d to %d.." % (step, last_check_step))
1862
1935
 
1863
1936
  if smt_check_sat() == "unsat":
1864
- print("%s Assumptions are unsatisfiable!" % smt.timestamp())
1937
+ print_msg("Assumptions are unsatisfiable!")
1938
+ report_tracked_assumptions("Conficting assumptions:")
1865
1939
  retstatus = "PREUNSAT"
1866
1940
  break
1867
1941
 
@@ -1914,13 +1988,14 @@ else: # not tempind, covermode
1914
1988
  print_msg("Appending additional step %d." % i)
1915
1989
  smt_state(i)
1916
1990
  smt_assert_antecedent("(not (|%s_is| s%d))" % (topmod, i))
1917
- smt_assert_consequent("(|%s_u| s%d)" % (topmod, i))
1991
+ smt_assert_design_assumes(i)
1918
1992
  smt_assert_antecedent("(|%s_h| s%d)" % (topmod, i))
1919
1993
  smt_assert_antecedent("(|%s_t| s%d s%d)" % (topmod, i-1, i))
1920
1994
  smt_assert_consequent(get_constr_expr(constr_assumes, i))
1921
1995
  print_msg("Re-solving with appended steps..")
1922
1996
  if smt_check_sat() == "unsat":
1923
- print("%s Cannot append steps without violating assumptions!" % smt.timestamp())
1997
+ print_msg("Cannot append steps without violating assumptions!")
1998
+ report_tracked_assumptions("Conflicting assumptions:")
1924
1999
  retstatus = "FAILED"
1925
2000
  break
1926
2001
  print_anyconsts(step)
yowasp_yosys/yosys.wasm CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: yowasp-yosys
3
- Version: 0.38.0.92.post687.dev0
3
+ Version: 0.39.0.165.post702.dev0
4
4
  Summary: Yosys Open SYnthesis Suite
5
5
  Author-email: Catherine <whitequark@whitequark.org>
6
6
  License: ISC
@@ -1,8 +1,8 @@
1
1
  yowasp_yosys/__init__.py,sha256=x--xPTzLWZNoX6H0B2E3a1HMZMk3di10gVnWVLJ92xc,1325
2
- yowasp_yosys/sby.py,sha256=_oSJ8qe3OlpHWMZSA8rI-n3Oxh-0-jAMuyQd71obCcc,16625
3
- yowasp_yosys/smtbmc.py,sha256=V-k5PSEHcH814OmddDMAqxrblAIAAR39l2BcdC5Rkng,70560
2
+ yowasp_yosys/sby.py,sha256=lYWozSmdPDReqYxqthJEyqVPJ5xctfV5YM-eUlQkbFk,18442
3
+ yowasp_yosys/smtbmc.py,sha256=bGnVDnvEGCRWuNdHfsqwMdCNJ9GJqdeBuxehh8N9M64,73159
4
4
  yowasp_yosys/witness.py,sha256=m3iV2Nydm0p4G79VRaaX3lGul-nGnuxeKnx20MCJgi0,17279
5
- yowasp_yosys/yosys.wasm,sha256=RBsOaejj-LGnyj8bXI9i0PRUyt_RfPK7kT1uvRo0YKE,21652554
5
+ yowasp_yosys/yosys.wasm,sha256=7vWd8EVZdGTj5ppFECLzRHyu-Lk1W85QSgx6smxo7qQ,21709649
6
6
  yowasp_yosys/share/abc9_map.v,sha256=uWDqMpBQTeeadH1BlHVwkCy2StKF892xbgBgMKLK5-w,923
7
7
  yowasp_yosys/share/abc9_model.v,sha256=IfMyEGOEUBdZyiVule0wMhrVYVYQpmSIcxygbgtHItI,653
8
8
  yowasp_yosys/share/abc9_unmap.v,sha256=w107Y3iJjMU6D_6_aYLf2NziXTnAhpa5_CFAwaYO1iU,638
@@ -101,8 +101,8 @@ yowasp_yosys/share/ice40/ff_map.v,sha256=0ikq-i1_UVT6xuFLMj2Zfilwu6wz8oibMdtPegZ
101
101
  yowasp_yosys/share/ice40/latches_map.v,sha256=V5NwBaIML68eOlhDaUJUs8W-ggRePjPsDtUn3mnSpao,258
102
102
  yowasp_yosys/share/ice40/spram.txt,sha256=dCRV0flfJunvnvKV0Q5Kq5NBrhh_PkZGXvUt675aiIk,153
103
103
  yowasp_yosys/share/ice40/spram_map.v,sha256=O8fRkVuH1dgAXEAtYJgh8wTHnZEK75fPAMBI-PgYVqs,475
104
- yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl.h,sha256=3epefBQabq2FnXOGzpcyHGHwKe8TV5BuP_OCEUWFpRM,68503
105
- yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl_replay.h,sha256=uBh_U2I2yiDCMBrvVJAIvvGsKSIeNfPIUoeY8mc66gI,25799
104
+ yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl.h,sha256=LS7KRLw0QeYBy4hVN-HXOlffO0haftiyO8H5jX7YRC8,70249
105
+ yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl_replay.h,sha256=RoCV7UivYQnLU2y5keBtGkSoKuiZ3onK4o7zFLItw3w,29990
106
106
  yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl_time.h,sha256=6zIxuXG7bXy5UWe7WuA_KQHiwV7VWvcsNecwOPAL_bU,6174
107
107
  yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl_vcd.h,sha256=F2N7FdVUFoOu089dZIBgIT2mmn22QAj0717d26oVPpc,8488
108
108
  yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/capi/cxxrtl_capi.cc,sha256=PaxuEg0ZK7anL1qsyjJuf-5nxn4GfMIegCPjyT5e-Sw,4549
@@ -123,7 +123,7 @@ yowasp_yosys/share/include/kernel/cost.h,sha256=4f29ZI-4GhsPrI73TNZ89KqtTt7fo48G
123
123
  yowasp_yosys/share/include/kernel/ff.h,sha256=Rm9a6qsbXTPADi3TG794tzYXjOvRkewNMy8AXMA5vtE,7574
124
124
  yowasp_yosys/share/include/kernel/ffinit.h,sha256=2kcOTgBDxCsCongoGYFPgnFXZugY34WZBDCN2xIHv8M,3473
125
125
  yowasp_yosys/share/include/kernel/ffmerge.h,sha256=I3mXyytzRyP92T9XhSQTlv7EN2G31nJhspBxlLYiMEY,6305
126
- yowasp_yosys/share/include/kernel/fmt.h,sha256=tdDZrvksFi5EXlXcYsK2Odf6Gb91MOZl26Q8m5SDwQ0,2626
126
+ yowasp_yosys/share/include/kernel/fmt.h,sha256=0UT-aDVX7_KnzlaNyK3iMsSzoICa4Q0HhqsFIrwHBMw,2790
127
127
  yowasp_yosys/share/include/kernel/hashlib.h,sha256=puZr8kGY10J_g2M7j3pPFJQk9aGDFWwqVLO3nHf4sCQ,30207
128
128
  yowasp_yosys/share/include/kernel/json.h,sha256=tE3AgUslbZd5TRFEipj0HptYjWgNfMjzV44l3A5zAu8,2851
129
129
  yowasp_yosys/share/include/kernel/log.h,sha256=YPv7HbRY7Aiin43nbnmiPBM7-dpdvhQYHoOYEpslgQ4,15339
@@ -137,7 +137,7 @@ yowasp_yosys/share/include/kernel/satgen.h,sha256=zx8LptIgds0Z9sxXx6HGxNNYuk05dH
137
137
  yowasp_yosys/share/include/kernel/scopeinfo.h,sha256=Oc1lOh6b7qNL9zD4DVq5rvlkur6-IXALhx32ewD1UHk,11230
138
138
  yowasp_yosys/share/include/kernel/sigtools.h,sha256=qC0CgK3OJwam_ljqtW-kauA3djylLLoI2rbSs4Zhn5s,7504
139
139
  yowasp_yosys/share/include/kernel/timinginfo.h,sha256=9MI3ve19pJouYXKng1EBlrryAKy-OaH6Hc8VbLu0GYY,7100
140
- yowasp_yosys/share/include/kernel/utils.h,sha256=S5QCW6poCBXDmgtYT8-KQrhZ2ppIO76a_NLsfx53GVw,6821
140
+ yowasp_yosys/share/include/kernel/utils.h,sha256=r5GUGry9LEcyasrGnI6luII_8wgf-Iri0H8_FgwWzRY,6824
141
141
  yowasp_yosys/share/include/kernel/yosys.h,sha256=x6hhqiFhUdq5yMVlCmqY6xEP2w4d6NfsWEADlNxfSlo,13683
142
142
  yowasp_yosys/share/include/kernel/yw.h,sha256=jibYunDP1ZMYwCxo616nHgdGyPGis_8TO9fYmYdHfd4,5429
143
143
  yowasp_yosys/share/include/libs/ezsat/ezminisat.h,sha256=bSrDL6VRinpXdULoR8P9lQaT1Dy4kAEZfTcKjRKOdjg,2098
@@ -215,21 +215,22 @@ yowasp_yosys/share/nexus/lrams_map.v,sha256=4zrLGWT46St00iR-7e0f0A7xWpCIpwI5crC1
215
215
  yowasp_yosys/share/nexus/lutrams.txt,sha256=1nZ4EV0rCLM1NHWidtbpKvDm2U18UJ6rpjA9ijK6J5A,148
216
216
  yowasp_yosys/share/nexus/lutrams_map.v,sha256=zTFiwK5YeohiO3kjV04S3h2dJdpSKpOILKpfhJGWNGM,428
217
217
  yowasp_yosys/share/nexus/parse_init.vh,sha256=Weev9ITWk8JEoaovId36MYw_vXLmsZvpZ9U59jFC7n4,855
218
- yowasp_yosys/share/python3/sby_autotune.py,sha256=EuatA7Nvy_n-5JMSb0VaQ7H_nDaiGI__PBeEFoRfMa8,25276
219
- yowasp_yosys/share/python3/sby_cmdline.py,sha256=Wy_7Pa6BgV1ssurCpV0FnzP75xXxhxHXIwFCR0YpweM,4790
220
- yowasp_yosys/share/python3/sby_core.py,sha256=4skJIhHs_G31EbKLyD7bURZEhYtO-bJdf1QqCjWE0Zw,58020
221
- yowasp_yosys/share/python3/sby_design.py,sha256=54ZiGbHIgNQUFjvuml5ZbQj2_anEuzEyH7NxZ_cp4GY,9168
222
- yowasp_yosys/share/python3/sby_engine_abc.py,sha256=_BPt0D5qNJF2Sw88CCM-m9T7wDmO7AHG-PDHrbpbg-o,4016
223
- yowasp_yosys/share/python3/sby_engine_aiger.py,sha256=5HjGydMnR-my0uF7WS2wwzxFlbKzrx1dCyp29Ggoy1k,7798
218
+ yowasp_yosys/share/python3/sby_autotune.py,sha256=OvrwQKPK-3s_xGpQRj6SP238h97ma1t3t905EeDw8mI,25322
219
+ yowasp_yosys/share/python3/sby_cmdline.py,sha256=smwh_vUjRnclYGXMfFD4Bt9C1l3G0oBUPPvCWi_5-Lw,5074
220
+ yowasp_yosys/share/python3/sby_core.py,sha256=gO6QmiGuYVUEIOZL6FpW8jOPqD2S6pIWTF-Svc5JQqE,60212
221
+ yowasp_yosys/share/python3/sby_design.py,sha256=5IbfwvGBkGeMuv7BcCd9eokYv989EHvw3eT3T22xPSw,9351
222
+ yowasp_yosys/share/python3/sby_engine_abc.py,sha256=qvPXbwR6-fVexQ5TczLPiVtYqi63QwFBBu3fDpDZDns,9173
223
+ yowasp_yosys/share/python3/sby_engine_aiger.py,sha256=wq4IipN00G3_gj0Kq4UhywV5uB3UhYH-E6Uoqry70Q8,9073
224
224
  yowasp_yosys/share/python3/sby_engine_btor.py,sha256=ulUhsJRm7UjMiMwb4Jk6aRQVI_RJN1B6iqQD7MMp8uw,11088
225
- yowasp_yosys/share/python3/sby_engine_smtbmc.py,sha256=KU0do7hm1tx3bdG7GFOrlzWov7TvDsM_izB_yuCrrU8,11371
225
+ yowasp_yosys/share/python3/sby_engine_smtbmc.py,sha256=OKwrPTqSgC2ms1rqTMe9Cb53sa_Cy9ImJ-RyBtAs6hs,11979
226
226
  yowasp_yosys/share/python3/sby_jobserver.py,sha256=Zv97i6x7Wn0NQ0g6EpC9QvbOks_S25tyg_mD7B0Y150,12066
227
227
  yowasp_yosys/share/python3/sby_mode_bmc.py,sha256=M681KDRXnaH_yN4xhL_ASGfVPml5NA9s-LWSMqaLXsU,1908
228
228
  yowasp_yosys/share/python3/sby_mode_cover.py,sha256=JHt1NDaocK-j0kkGuJf4om47mMJxrEVHa5XMjyyJkhg,1598
229
229
  yowasp_yosys/share/python3/sby_mode_live.py,sha256=jpINzeD4tEZDhsVORbfg3tIXZbA5z-bGr-L2HHi83K0,1491
230
230
  yowasp_yosys/share/python3/sby_mode_prove.py,sha256=igQAoaxEfO6SSXNm8PeIYV1qWLC9os96V1m7FHAJVKo,1941
231
231
  yowasp_yosys/share/python3/sby_sim.py,sha256=HWSLhMOv1RrNXVrmgsibBTf3lHUHUNaAhfnBF2Wx9Bc,4403
232
- yowasp_yosys/share/python3/smtio.py,sha256=TDz0FEObJt2iHkLYXd2Q3r_DYL5a8rfhmnczca-HQ04,44977
232
+ yowasp_yosys/share/python3/sby_status.py,sha256=g__ivZ0bHmqrJLG_zx0LcFOe3E5O5yV34HhG9uvZo4Q,10946
233
+ yowasp_yosys/share/python3/smtio.py,sha256=Mk_XdkJkpatfu1WHlboDRO0e_eAIn1JHDeCq2ZlEXI4,48097
233
234
  yowasp_yosys/share/python3/ywio.py,sha256=F3V-lAn7GNAlDh8oO3VtLJbQd3LwJZyrq3qjZVW_A_4,12442
234
235
  yowasp_yosys/share/quicklogic/common/cells_sim.v,sha256=XjVURrz_kgf2n32Mq9KKUXAbmKJsazqS87PiznC75Ew,366
235
236
  yowasp_yosys/share/quicklogic/pp3/abc9_map.v,sha256=wRzXyD70RDkif2ytEgvL2rmPU7mrNmISDB71YgfnHxw,771
@@ -242,7 +243,7 @@ yowasp_yosys/share/quicklogic/pp3/latches_map.v,sha256=UrGzRlwwITwA7mMlXhHlDFPiw
242
243
  yowasp_yosys/share/quicklogic/pp3/lut_map.v,sha256=BmijMS4EqVQPP2BPo2zgKStKPPhRLTf5kbcAtGKZEVs,928
243
244
  yowasp_yosys/share/quicklogic/qlf_k6n10f/TDP18K_FIFO.v,sha256=k1AVrwpOQ3vpxoWAbchRpmNbncYCYtVfDExz6VcmtBg,10404
244
245
  yowasp_yosys/share/quicklogic/qlf_k6n10f/arith_map.v,sha256=Ea7aX3l71nFxP1Az5NHtca-ZPnQmUmUvlWI-tVl4Bkk,2560
245
- yowasp_yosys/share/quicklogic/qlf_k6n10f/bram_types_sim.v,sha256=SeeSiy6P9CFBlF0Xk_NsLZH-RVEYdnRPtVHiqOn1-JE,2551774
246
+ yowasp_yosys/share/quicklogic/qlf_k6n10f/bram_types_sim.v,sha256=wmQVDKdgvUhjWt8C0z5nTtTHHZtap5pYbri4jCJ-kz8,2551774
246
247
  yowasp_yosys/share/quicklogic/qlf_k6n10f/brams_map.v,sha256=Iqj4w3Vna6W80liLUtDhAQKwciQNZWX3aFr9FDBU5o4,103558
247
248
  yowasp_yosys/share/quicklogic/qlf_k6n10f/brams_sim.v,sha256=mJXEws9AvJLeUBr3eJzxTEvN7Y89zpkNsoR2tpjLu-w,339634
248
249
  yowasp_yosys/share/quicklogic/qlf_k6n10f/cells_sim.v,sha256=70GVgjrXbld6c2yITFriyoJLqO8CAcHDyA8oUPfkItg,7347
@@ -291,8 +292,8 @@ yowasp_yosys/share/xilinx/xc5v_dsp_map.v,sha256=I4lg0RQ54fBBba_7NNvUgwS4tQ1yLIsU
291
292
  yowasp_yosys/share/xilinx/xc6s_dsp_map.v,sha256=gTxHocB-Dn5G4BplWgri_tLhT6DIO2S0X-yu4iBKYyk,562
292
293
  yowasp_yosys/share/xilinx/xc7_dsp_map.v,sha256=zrzreQi7mElrAMtrayxtiO_Bw00S6zsjSjSVcjmJPH0,884
293
294
  yowasp_yosys/share/xilinx/xcu_dsp_map.v,sha256=gzCgl1emrHGcigVmU0nP0pW7dlhQ01SaWwXzHHcqt-o,882
294
- yowasp_yosys-0.38.0.92.post687.dev0.dist-info/METADATA,sha256=3frOi7HXM7yC3Y4A1sFOhN3wM4SZR2zjgjZIO1sz-xo,2613
295
- yowasp_yosys-0.38.0.92.post687.dev0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
296
- yowasp_yosys-0.38.0.92.post687.dev0.dist-info/entry_points.txt,sha256=p_9sIVi2ZqsqgYYo14PywYkwHYTa76fMEq3LxweXJpc,220
297
- yowasp_yosys-0.38.0.92.post687.dev0.dist-info/top_level.txt,sha256=_yiNT8kLYkcD1TEuUCzQ_MkON1c3xuIRV59zXds4zd4,13
298
- yowasp_yosys-0.38.0.92.post687.dev0.dist-info/RECORD,,
295
+ yowasp_yosys-0.39.0.165.post702.dev0.dist-info/METADATA,sha256=0fDBPj7YEoTZALz6__iF5O4oqZw5YFXZZZPOWMiV8mU,2614
296
+ yowasp_yosys-0.39.0.165.post702.dev0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
297
+ yowasp_yosys-0.39.0.165.post702.dev0.dist-info/entry_points.txt,sha256=p_9sIVi2ZqsqgYYo14PywYkwHYTa76fMEq3LxweXJpc,220
298
+ yowasp_yosys-0.39.0.165.post702.dev0.dist-info/top_level.txt,sha256=_yiNT8kLYkcD1TEuUCzQ_MkON1c3xuIRV59zXds4zd4,13
299
+ yowasp_yosys-0.39.0.165.post702.dev0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5