commit
5a2321ef9d
|
@ -1 +1 @@
|
||||||
Subproject commit 7f795252dcbf6909aea6bd5eb9c5ea98b2ae7a74
|
Subproject commit 7343e0e05fa00c3e763ae7b6837b1b59bc4b2de6
|
|
@ -1 +1 @@
|
||||||
Subproject commit 4cbecdca96976da7730fa1141910b8995dc70346
|
Subproject commit 8fbd4642cf717e487c090332bea9cca28c4182bf
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7f795252dcbf6909aea6bd5eb9c5ea98b2ae7a74
|
Subproject commit 7343e0e05fa00c3e763ae7b6837b1b59bc4b2de6
|
|
@ -1 +1 @@
|
||||||
Subproject commit c4512ed05f2211985f984c12ecfa819604af9318
|
Subproject commit bedaa668e40fd33f1b4f010c3e9dadf4c1f7ccad
|
|
@ -1 +1 @@
|
||||||
Subproject commit 60697a72b40969b7818cae0efb79b66e2cd93e74
|
Subproject commit 417d7320322248ce42a17332eb3d539daaad0f28
|
|
@ -1 +1 @@
|
||||||
Subproject commit c4512ed05f2211985f984c12ecfa819604af9318
|
Subproject commit bedaa668e40fd33f1b4f010c3e9dadf4c1f7ccad
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8bc807e704409ec72223e1e7b9462ea9dd81e5a3
|
Subproject commit 78d267f3d4e9468aad3c792d50d7bbbf1b7943bf
|
|
@ -1 +1 @@
|
||||||
Subproject commit 73908d9138e521567132102472622e5fc534fe0d
|
Subproject commit a91cba780217867c7ea6859e26e43abff0c523f2
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8bc807e704409ec72223e1e7b9462ea9dd81e5a3
|
Subproject commit 78d267f3d4e9468aad3c792d50d7bbbf1b7943bf
|
|
@ -1 +1 @@
|
||||||
Subproject commit b8d4fa73fb356364f01439adf6fae5d0187a4094
|
Subproject commit 6f224b969032bdef9d27292b8365f9e144fd73cb
|
|
@ -1 +1 @@
|
||||||
Subproject commit 06ffd21614b39f9d1a6b100e29f6813fcd01ed75
|
Subproject commit 9d09e70eae31440cd88c0fb1528a2585dba3ae83
|
|
@ -1 +1 @@
|
||||||
Subproject commit b8d4fa73fb356364f01439adf6fae5d0187a4094
|
Subproject commit 6f224b969032bdef9d27292b8365f9e144fd73cb
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7ef2bc933dd3dba52b1a3abbc741e5130ae034d3
|
Subproject commit 124305843c9f3efc948261b22adbbf17a3413d41
|
|
@ -1 +1 @@
|
||||||
Subproject commit 5825c0bd2c1b5156b7a3f671b94d2ebeacbb43e3
|
Subproject commit 72b01744bdbdf20017a578d55ea08e60384bd2fb
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7ef2bc933dd3dba52b1a3abbc741e5130ae034d3
|
Subproject commit 124305843c9f3efc948261b22adbbf17a3413d41
|
|
@ -918,7 +918,6 @@ def liberty_list(k, v, i=tuple()):
|
||||||
|
|
||||||
|
|
||||||
def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None):
|
def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
>>> def g(a, b, c):
|
>>> def g(a, b, c):
|
||||||
|
@ -945,8 +944,6 @@ def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None):
|
||||||
}
|
}
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
assert isinstance(data, dict), (dtype, dvalue, data)
|
assert isinstance(data, dict), (dtype, dvalue, data)
|
||||||
|
|
||||||
if attribute_types is None:
|
if attribute_types is None:
|
||||||
|
@ -968,8 +965,9 @@ def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None):
|
||||||
# Sort the attributes
|
# Sort the attributes
|
||||||
def attr_sort_key(item):
|
def attr_sort_key(item):
|
||||||
k, v = item
|
k, v = item
|
||||||
if " " in k:
|
|
||||||
ktype, kvalue = k.split(" ", 1)
|
if "," in k:
|
||||||
|
ktype, kvalue = k.split(",", 1)
|
||||||
sortable_kv = sortable_extracted_numbers(kvalue)
|
sortable_kv = sortable_extracted_numbers(kvalue)
|
||||||
else:
|
else:
|
||||||
ktype = k
|
ktype = k
|
||||||
|
@ -1040,12 +1038,15 @@ def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None):
|
||||||
elif is_liberty_list(ktype):
|
elif is_liberty_list(ktype):
|
||||||
o.extend(liberty_list(ktype, v, indent_n))
|
o.extend(liberty_list(ktype, v, indent_n))
|
||||||
|
|
||||||
|
elif "table" == ktype:
|
||||||
|
o.append('%s%s : "%s";' % (INDENT*len(indent_n), k, ",".join(v)))
|
||||||
|
|
||||||
elif "clk_width" == ktype:
|
elif "clk_width" == ktype:
|
||||||
for l in sorted(v):
|
for l in sorted(v):
|
||||||
o.append('%s%s : "%s";' % (INDENT*len(indent_n), k, l))
|
o.append('%s%s : "%s";' % (INDENT*len(indent_n), k, l))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise ValueError("Unknown %s: %r\n%s" % (k, v, indent_n))
|
raise ValueError("Unknown %s: %r\n%s" % ((ktype, kvalue, k), v, indent_n))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if ktype in dtype_attribute_types:
|
if ktype in dtype_attribute_types:
|
||||||
|
@ -1152,5 +1153,7 @@ def main():
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import doctest
|
import doctest
|
||||||
doctest.testmod()
|
fail, _ = doctest.testmod()
|
||||||
|
if fail > 0:
|
||||||
|
sys.exit(1)
|
||||||
sys.exit(main())
|
sys.exit(main())
|
||||||
|
|
Loading…
Reference in New Issue