diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-02-15 17:36:08 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2018-02-15 17:36:08 +0100 |
commit | 2c95dfcb5bbce7f5b19d36d8d5d1258f48aaedcf (patch) | |
tree | ec4587899d6194876cce39ecfe079f54d109658c /frontends | |
parent | c1abd3b02cab235334342f3520e2535eb74c5792 (diff) | |
download | yosys-2c95dfcb5bbce7f5b19d36d8d5d1258f48aaedcf.tar.gz yosys-2c95dfcb5bbce7f5b19d36d8d5d1258f48aaedcf.tar.bz2 yosys-2c95dfcb5bbce7f5b19d36d8d5d1258f48aaedcf.zip |
Improve handling of "bus" pins in liberty front-end (some files use bus.pin.direction)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'frontends')
-rw-r--r-- | frontends/liberty/liberty.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/frontends/liberty/liberty.cc b/frontends/liberty/liberty.cc index 5458c60ea..af80c2921 100644 --- a/frontends/liberty/liberty.cc +++ b/frontends/liberty/liberty.cc @@ -582,6 +582,12 @@ struct LibertyFrontend : public Frontend { LibertyAst *dir = node->find("direction"); + if (dir == nullptr) { + LibertyAst *pin = node->find("pin"); + if (pin != nullptr) + dir = pin->find("direction"); + } + if (!dir || (dir->value != "input" && dir->value != "output" && dir->value != "inout" && dir->value != "internal")) log_error("Missing or invalid direction for bus %s on cell %s.\n", node->args.at(0).c_str(), log_id(module->name)); |