diff options
author | Clifford Wolf <clifford@clifford.at> | 2013-10-16 06:32:35 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2013-10-16 06:32:35 +0200 |
commit | 845590aa8e3a7994b7082b5f0b4ab39c377163ba (patch) | |
tree | 0309d32cfabb40457593a89a9e04b591dafb574d /passes | |
parent | a12d39bc86b2161947f83f0dcb52da9dcf7744c3 (diff) | |
download | yosys-845590aa8e3a7994b7082b5f0b4ab39c377163ba.tar.gz yosys-845590aa8e3a7994b7082b5f0b4ab39c377163ba.tar.bz2 yosys-845590aa8e3a7994b7082b5f0b4ab39c377163ba.zip |
Fixed parsing or liberty file statements such as 'clocked_on : "(!CLK)";'
Patch by Tim Edwards
Diffstat (limited to 'passes')
-rw-r--r-- | passes/dfflibmap/dfflibmap.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/passes/dfflibmap/dfflibmap.cc b/passes/dfflibmap/dfflibmap.cc index dd873cadd..5e3219d55 100644 --- a/passes/dfflibmap/dfflibmap.cc +++ b/passes/dfflibmap/dfflibmap.cc @@ -69,12 +69,15 @@ static bool parse_pin(LibertyAst *cell, LibertyAst *attr, std::string &pin_name, std::string value = attr->value; - for (size_t pos = value.find_first_of("\" \t"); pos != std::string::npos; pos = value.find_first_of("\" \t")) + for (size_t pos = value.find_first_of("\" \t()"); pos != std::string::npos; pos = value.find_first_of("\" \t()")) value.erase(pos, 1); if (value[value.size()-1] == '\'') { pin_name = value.substr(0, value.size()-1); pin_pol = false; + } else if (value[0] == '!') { + pin_name = value.substr(1, value.size()-1); + pin_pol = false; } else { pin_name = value; pin_pol = true; |