yowasp-yosys 0.39.0.0.post694__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.
@@ -625,11 +625,11 @@ struct value : public expr_base<value<Bits>> {
625
625
  value<Bits + 1> remainder;
626
626
  value<Bits + 1> dividend = sext<Bits + 1>();
627
627
  value<Bits + 1> divisor = other.template sext<Bits + 1>();
628
- if (dividend.is_neg()) dividend = dividend.neg();
629
- if (divisor.is_neg()) divisor = divisor.neg();
628
+ if (is_neg()) dividend = dividend.neg();
629
+ if (other.is_neg()) divisor = divisor.neg();
630
630
  std::tie(quotient, remainder) = dividend.udivmod(divisor);
631
- if (dividend.is_neg() != divisor.is_neg()) quotient = quotient.neg();
632
- if (dividend.is_neg()) remainder = remainder.neg();
631
+ if (is_neg() != other.is_neg()) quotient = quotient.neg();
632
+ if (is_neg()) remainder = remainder.neg();
633
633
  return {quotient.template trunc<Bits>(), remainder.template trunc<Bits>()};
634
634
  }
635
635
  };
@@ -1010,22 +1010,24 @@ struct observer {
1010
1010
  // Default member initializers would make this a non-aggregate-type in C++11, so they are commented out.
1011
1011
  struct fmt_part {
1012
1012
  enum {
1013
- STRING = 0,
1013
+ LITERAL = 0,
1014
1014
  INTEGER = 1,
1015
- CHARACTER = 2,
1016
- VLOG_TIME = 3,
1015
+ STRING = 2,
1016
+ UNICHAR = 3,
1017
+ VLOG_TIME = 4,
1017
1018
  } type;
1018
1019
 
1019
- // STRING type
1020
+ // LITERAL type
1020
1021
  std::string str;
1021
1022
 
1022
- // INTEGER/CHARACTER types
1023
+ // INTEGER/STRING/UNICHAR types
1023
1024
  // + value<Bits> val;
1024
1025
 
1025
- // INTEGER/CHARACTER/VLOG_TIME types
1026
+ // INTEGER/STRING/VLOG_TIME types
1026
1027
  enum {
1027
1028
  RIGHT = 0,
1028
1029
  LEFT = 1,
1030
+ NUMERIC = 2,
1029
1031
  } justify; // = RIGHT;
1030
1032
  char padding; // = '\0';
1031
1033
  size_t width; // = 0;
@@ -1033,7 +1035,14 @@ struct fmt_part {
1033
1035
  // INTEGER type
1034
1036
  unsigned base; // = 10;
1035
1037
  bool signed_; // = false;
1036
- bool plus; // = false;
1038
+ enum {
1039
+ MINUS = 0,
1040
+ PLUS_MINUS = 1,
1041
+ SPACE_MINUS = 2,
1042
+ } sign; // = MINUS;
1043
+ bool hex_upper; // = false;
1044
+ bool show_base; // = false;
1045
+ bool group; // = false;
1037
1046
 
1038
1047
  // VLOG_TIME type
1039
1048
  bool realtime; // = false;
@@ -1049,11 +1058,12 @@ struct fmt_part {
1049
1058
  // We might want to replace some of these bit() calls with direct
1050
1059
  // chunk access if it turns out to be slow enough to matter.
1051
1060
  std::string buf;
1061
+ std::string prefix;
1052
1062
  switch (type) {
1053
- case STRING:
1063
+ case LITERAL:
1054
1064
  return str;
1055
1065
 
1056
- case CHARACTER: {
1066
+ case STRING: {
1057
1067
  buf.reserve(Bits/8);
1058
1068
  for (int i = 0; i < Bits; i += 8) {
1059
1069
  char ch = 0;
@@ -1067,35 +1077,76 @@ struct fmt_part {
1067
1077
  break;
1068
1078
  }
1069
1079
 
1080
+ case UNICHAR: {
1081
+ uint32_t codepoint = val.template get<uint32_t>();
1082
+ if (codepoint >= 0x10000)
1083
+ buf += (char)(0xf0 | (codepoint >> 18));
1084
+ else if (codepoint >= 0x800)
1085
+ buf += (char)(0xe0 | (codepoint >> 12));
1086
+ else if (codepoint >= 0x80)
1087
+ buf += (char)(0xc0 | (codepoint >> 6));
1088
+ else
1089
+ buf += (char)codepoint;
1090
+ if (codepoint >= 0x10000)
1091
+ buf += (char)(0x80 | ((codepoint >> 12) & 0x3f));
1092
+ if (codepoint >= 0x800)
1093
+ buf += (char)(0x80 | ((codepoint >> 6) & 0x3f));
1094
+ if (codepoint >= 0x80)
1095
+ buf += (char)(0x80 | ((codepoint >> 0) & 0x3f));
1096
+ break;
1097
+ }
1098
+
1070
1099
  case INTEGER: {
1071
- size_t width = Bits;
1100
+ bool negative = signed_ && val.is_neg();
1101
+ if (negative) {
1102
+ prefix = "-";
1103
+ val = val.neg();
1104
+ } else {
1105
+ switch (sign) {
1106
+ case MINUS: break;
1107
+ case PLUS_MINUS: prefix = "+"; break;
1108
+ case SPACE_MINUS: prefix = " "; break;
1109
+ }
1110
+ }
1111
+
1112
+ size_t val_width = Bits;
1072
1113
  if (base != 10) {
1073
- width = 0;
1114
+ val_width = 1;
1074
1115
  for (size_t index = 0; index < Bits; index++)
1075
1116
  if (val.bit(index))
1076
- width = index + 1;
1117
+ val_width = index + 1;
1077
1118
  }
1078
1119
 
1079
1120
  if (base == 2) {
1080
- for (size_t i = width; i > 0; i--)
1081
- buf += (val.bit(i - 1) ? '1' : '0');
1121
+ if (show_base)
1122
+ prefix += "0b";
1123
+ for (size_t index = 0; index < val_width; index++) {
1124
+ if (group && index > 0 && index % 4 == 0)
1125
+ buf += '_';
1126
+ buf += (val.bit(index) ? '1' : '0');
1127
+ }
1082
1128
  } else if (base == 8 || base == 16) {
1129
+ if (show_base)
1130
+ prefix += (base == 16) ? (hex_upper ? "0X" : "0x") : "0o";
1083
1131
  size_t step = (base == 16) ? 4 : 3;
1084
- for (size_t index = 0; index < width; index += step) {
1132
+ for (size_t index = 0; index < val_width; index += step) {
1133
+ if (group && index > 0 && index % (4 * step) == 0)
1134
+ buf += '_';
1085
1135
  uint8_t value = val.bit(index) | (val.bit(index + 1) << 1) | (val.bit(index + 2) << 2);
1086
1136
  if (step == 4)
1087
1137
  value |= val.bit(index + 3) << 3;
1088
- buf += "0123456789abcdef"[value];
1138
+ buf += (hex_upper ? "0123456789ABCDEF" : "0123456789abcdef")[value];
1089
1139
  }
1090
- std::reverse(buf.begin(), buf.end());
1091
1140
  } else if (base == 10) {
1092
- bool negative = signed_ && val.is_neg();
1093
- if (negative)
1094
- val = val.neg();
1141
+ if (show_base)
1142
+ prefix += "0d";
1095
1143
  if (val.is_zero())
1096
1144
  buf += '0';
1097
1145
  value<(Bits > 4 ? Bits : 4)> xval = val.template zext<(Bits > 4 ? Bits : 4)>();
1146
+ size_t index = 0;
1098
1147
  while (!xval.is_zero()) {
1148
+ if (group && index > 0 && index % 3 == 0)
1149
+ buf += '_';
1099
1150
  value<(Bits > 4 ? Bits : 4)> quotient, remainder;
1100
1151
  if (Bits >= 4)
1101
1152
  std::tie(quotient, remainder) = xval.udivmod(value<(Bits > 4 ? Bits : 4)>{10u});
@@ -1103,11 +1154,18 @@ struct fmt_part {
1103
1154
  std::tie(quotient, remainder) = std::make_pair(value<(Bits > 4 ? Bits : 4)>{0u}, xval);
1104
1155
  buf += '0' + remainder.template trunc<4>().template get<uint8_t>();
1105
1156
  xval = quotient;
1157
+ index++;
1106
1158
  }
1107
- if (negative || plus)
1108
- buf += negative ? '-' : '+';
1109
- std::reverse(buf.begin(), buf.end());
1110
1159
  } else assert(false && "Unsupported base for fmt_part");
1160
+ if (justify == NUMERIC && group && padding == '0') {
1161
+ int group_size = base == 10 ? 3 : 4;
1162
+ while (prefix.size() + buf.size() < width) {
1163
+ if (buf.size() % (group_size + 1) == group_size)
1164
+ buf += '_';
1165
+ buf += '0';
1166
+ }
1167
+ }
1168
+ std::reverse(buf.begin(), buf.end());
1111
1169
  break;
1112
1170
  }
1113
1171
 
@@ -1123,17 +1181,29 @@ struct fmt_part {
1123
1181
 
1124
1182
  std::string str;
1125
1183
  assert(width == 0 || padding != '\0');
1126
- if (justify == RIGHT && buf.size() < width) {
1127
- size_t pad_width = width - buf.size();
1128
- if (padding == '0' && (buf.front() == '+' || buf.front() == '-')) {
1129
- str += buf.front();
1130
- buf.erase(0, 1);
1131
- }
1132
- str += std::string(pad_width, padding);
1184
+ if (prefix.size() + buf.size() < width) {
1185
+ size_t pad_width = width - prefix.size() - buf.size();
1186
+ switch (justify) {
1187
+ case LEFT:
1188
+ str += prefix;
1189
+ str += buf;
1190
+ str += std::string(pad_width, padding);
1191
+ break;
1192
+ case RIGHT:
1193
+ str += std::string(pad_width, padding);
1194
+ str += prefix;
1195
+ str += buf;
1196
+ break;
1197
+ case NUMERIC:
1198
+ str += prefix;
1199
+ str += std::string(pad_width, padding);
1200
+ str += buf;
1201
+ break;
1202
+ }
1203
+ } else {
1204
+ str += prefix;
1205
+ str += buf;
1133
1206
  }
1134
- str += buf;
1135
- if (justify == LEFT && buf.size() < width)
1136
- str += std::string(width - buf.size(), padding);
1137
1207
  return str;
1138
1208
  }
1139
1209
  };
@@ -53,22 +53,24 @@ struct VerilogFmtArg {
53
53
  // Must be kept in sync with `struct fmt_part` in backends/cxxrtl/runtime/cxxrtl/cxxrtl.h!
54
54
  struct FmtPart {
55
55
  enum {
56
- STRING = 0,
56
+ LITERAL = 0,
57
57
  INTEGER = 1,
58
- CHARACTER = 2,
59
- VLOG_TIME = 3,
58
+ STRING = 2,
59
+ UNICHAR = 3,
60
+ VLOG_TIME = 4,
60
61
  } type;
61
62
 
62
- // STRING type
63
+ // LITERAL type
63
64
  std::string str;
64
65
 
65
- // INTEGER/CHARACTER types
66
+ // INTEGER/STRING/UNICHAR types
66
67
  RTLIL::SigSpec sig;
67
68
 
68
- // INTEGER/CHARACTER/VLOG_TIME types
69
+ // INTEGER/STRING/VLOG_TIME types
69
70
  enum {
70
71
  RIGHT = 0,
71
72
  LEFT = 1,
73
+ NUMERIC = 2,
72
74
  } justify = RIGHT;
73
75
  char padding = '\0';
74
76
  size_t width = 0;
@@ -76,7 +78,14 @@ struct FmtPart {
76
78
  // INTEGER type
77
79
  unsigned base = 10;
78
80
  bool signed_ = false;
79
- bool plus = false;
81
+ enum {
82
+ MINUS = 0,
83
+ PLUS_MINUS = 1,
84
+ SPACE_MINUS = 2,
85
+ } sign = MINUS;
86
+ bool hex_upper = false;
87
+ bool show_base = false;
88
+ bool group = false;
80
89
 
81
90
  // VLOG_TIME type
82
91
  bool realtime = false;
@@ -86,7 +95,7 @@ struct Fmt {
86
95
  public:
87
96
  std::vector<FmtPart> parts;
88
97
 
89
- void append_string(const std::string &str);
98
+ void append_literal(const std::string &str);
90
99
 
91
100
  void parse_rtlil(const RTLIL::Cell *cell);
92
101
  void emit_rtlil(RTLIL::Cell *cell) const;
@@ -149,7 +149,7 @@ template <typename T, typename C = std::less<T>, typename OPS = hash_ops<T>> cla
149
149
  std::map<T, int, C> node_to_index;
150
150
  std::vector<std::set<int, IndirectCmp>> edges;
151
151
  std::vector<T> sorted;
152
- std::set<std::set<T, C>> loops;
152
+ std::set<std::vector<T>> loops;
153
153
 
154
154
  TopoSort() : indirect_cmp(nodes)
155
155
  {
@@ -220,10 +220,10 @@ template <typename T, typename C = std::less<T>, typename OPS = hash_ops<T>> cla
220
220
  if (active_cells[root_index]) {
221
221
  found_loops = true;
222
222
  if (analyze_loops) {
223
- std::set<T, C> loop;
223
+ std::vector<T> loop;
224
224
  for (int i = GetSize(active_stack) - 1; i >= 0; i--) {
225
225
  const int index = active_stack[i];
226
- loop.insert(nodes[index]);
226
+ loop.push_back(nodes[index]);
227
227
  if (index == root_index)
228
228
  break;
229
229
  }
@@ -1,5 +1,5 @@
1
1
  // **AUTOGENERATED FILE** **DO NOT EDIT**
2
- // Generated by ../yosys-src/techlibs/quicklogic/qlf_k6n10f/generate_bram_types_sim.py at 2024-03-13 01:02:00.071786+00:00
2
+ // Generated by ../yosys-src/techlibs/quicklogic/qlf_k6n10f/generate_bram_types_sim.py at 2024-04-04 02:33:31.959107+00:00
3
3
  `timescale 1ns /10ps
4
4
 
5
5
  module TDP36K_BRAM_A_X1_B_X1_nonsplit (
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.39.0.0.post694
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
@@ -2,7 +2,7 @@ yowasp_yosys/__init__.py,sha256=x--xPTzLWZNoX6H0B2E3a1HMZMk3di10gVnWVLJ92xc,1325
2
2
  yowasp_yosys/sby.py,sha256=lYWozSmdPDReqYxqthJEyqVPJ5xctfV5YM-eUlQkbFk,18442
3
3
  yowasp_yosys/smtbmc.py,sha256=bGnVDnvEGCRWuNdHfsqwMdCNJ9GJqdeBuxehh8N9M64,73159
4
4
  yowasp_yosys/witness.py,sha256=m3iV2Nydm0p4G79VRaaX3lGul-nGnuxeKnx20MCJgi0,17279
5
- yowasp_yosys/yosys.wasm,sha256=n8OVZCx29LDuFpNBDCPiUO8nK1IQD4vlxNEG4SSoGng,21685361
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,7 +101,7 @@ 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
104
+ yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl.h,sha256=LS7KRLw0QeYBy4hVN-HXOlffO0haftiyO8H5jX7YRC8,70249
105
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
@@ -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
@@ -243,7 +243,7 @@ yowasp_yosys/share/quicklogic/pp3/latches_map.v,sha256=UrGzRlwwITwA7mMlXhHlDFPiw
243
243
  yowasp_yosys/share/quicklogic/pp3/lut_map.v,sha256=BmijMS4EqVQPP2BPo2zgKStKPPhRLTf5kbcAtGKZEVs,928
244
244
  yowasp_yosys/share/quicklogic/qlf_k6n10f/TDP18K_FIFO.v,sha256=k1AVrwpOQ3vpxoWAbchRpmNbncYCYtVfDExz6VcmtBg,10404
245
245
  yowasp_yosys/share/quicklogic/qlf_k6n10f/arith_map.v,sha256=Ea7aX3l71nFxP1Az5NHtca-ZPnQmUmUvlWI-tVl4Bkk,2560
246
- yowasp_yosys/share/quicklogic/qlf_k6n10f/bram_types_sim.v,sha256=3vh5MjkopEptxCAjSg_z3QfRiTDo6xiTw77Q5D6WyY4,2551774
246
+ yowasp_yosys/share/quicklogic/qlf_k6n10f/bram_types_sim.v,sha256=wmQVDKdgvUhjWt8C0z5nTtTHHZtap5pYbri4jCJ-kz8,2551774
247
247
  yowasp_yosys/share/quicklogic/qlf_k6n10f/brams_map.v,sha256=Iqj4w3Vna6W80liLUtDhAQKwciQNZWX3aFr9FDBU5o4,103558
248
248
  yowasp_yosys/share/quicklogic/qlf_k6n10f/brams_sim.v,sha256=mJXEws9AvJLeUBr3eJzxTEvN7Y89zpkNsoR2tpjLu-w,339634
249
249
  yowasp_yosys/share/quicklogic/qlf_k6n10f/cells_sim.v,sha256=70GVgjrXbld6c2yITFriyoJLqO8CAcHDyA8oUPfkItg,7347
@@ -292,8 +292,8 @@ yowasp_yosys/share/xilinx/xc5v_dsp_map.v,sha256=I4lg0RQ54fBBba_7NNvUgwS4tQ1yLIsU
292
292
  yowasp_yosys/share/xilinx/xc6s_dsp_map.v,sha256=gTxHocB-Dn5G4BplWgri_tLhT6DIO2S0X-yu4iBKYyk,562
293
293
  yowasp_yosys/share/xilinx/xc7_dsp_map.v,sha256=zrzreQi7mElrAMtrayxtiO_Bw00S6zsjSjSVcjmJPH0,884
294
294
  yowasp_yosys/share/xilinx/xcu_dsp_map.v,sha256=gzCgl1emrHGcigVmU0nP0pW7dlhQ01SaWwXzHHcqt-o,882
295
- yowasp_yosys-0.39.0.0.post694.dist-info/METADATA,sha256=MLY3hBHE8Yjp2xwWQ2s0boyB6H9jxKZVGnhFZ-W3f3w,2607
296
- yowasp_yosys-0.39.0.0.post694.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
297
- yowasp_yosys-0.39.0.0.post694.dist-info/entry_points.txt,sha256=p_9sIVi2ZqsqgYYo14PywYkwHYTa76fMEq3LxweXJpc,220
298
- yowasp_yosys-0.39.0.0.post694.dist-info/top_level.txt,sha256=_yiNT8kLYkcD1TEuUCzQ_MkON1c3xuIRV59zXds4zd4,13
299
- yowasp_yosys-0.39.0.0.post694.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,,