From 2c95dfcb5bbce7f5b19d36d8d5d1258f48aaedcf Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 15 Feb 2018 17:36:08 +0100 Subject: [PATCH] Improve handling of "bus" pins in liberty front-end (some files use bus.pin.direction) Signed-off-by: Clifford Wolf --- frontends/liberty/liberty.cc | 6 ++++++ 1 file changed, 6 insertions(+) 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)); -- 2.30.2