diff options
| -rw-r--r-- | gowin/arch.cc | 48 | 
1 files changed, 24 insertions, 24 deletions
diff --git a/gowin/arch.cc b/gowin/arch.cc index f47d00f7..438c6ca9 100644 --- a/gowin/arch.cc +++ b/gowin/arch.cc @@ -488,20 +488,20 @@ void Arch::read_cst(std::istream &in)      std::regex portre = std::regex("IO_PORT +\"([^\"]+)\" +([^ =;]+=[^ =;]+) *;.*");      std::smatch match;      std::string line; -	bool io_loc; +    bool io_loc;      while (!in.eof()) {          std::getline(in, line); -		io_loc = true; +        io_loc = true;          if (!std::regex_match(line, match, iobre)) { -			if (std::regex_match(line, match, portre)) { -				io_loc = false; -			} else { -				if ( (!line.empty()) &&  (line.rfind("//", 0) == std::string::npos)) { -					log_warning("Invalid constraint: %s\n", line.c_str()); -				} -				continue; -			} -		} +            if (std::regex_match(line, match, portre)) { +                io_loc = false; +            } else { +                if ((!line.empty()) && (line.rfind("//", 0) == std::string::npos)) { +                    log_warning("Invalid constraint: %s\n", line.c_str()); +                } +                continue; +            } +        }          IdString net = id(match[1]);          auto it = cells.find(net); @@ -509,19 +509,19 @@ void Arch::read_cst(std::istream &in)              log_info("Cell %s not found\n", net.c_str(this));              continue;          } -		if (io_loc) { // IO_LOC name pin -			IdString pinname = id(match[2]); -			const PairPOD *belname = pairLookup(package->pins.get(), package->num_pins, pinname.index); -			if (belname == nullptr) -				log_error("Pin %s not found\n", pinname.c_str(this)); -			std::string bel = IdString(belname->src_id).str(this); -			it->second->attrs[IdString(ID_BEL)] = bel; -		} else { // IO_PORT attr=value -			std::string attr = "&"; -			attr += match[2]; -			boost::algorithm::to_upper(attr); -			it->second->attrs[id(attr)] = 1; -		} +        if (io_loc) { // IO_LOC name pin +            IdString pinname = id(match[2]); +            const PairPOD *belname = pairLookup(package->pins.get(), package->num_pins, pinname.index); +            if (belname == nullptr) +                log_error("Pin %s not found\n", pinname.c_str(this)); +            std::string bel = IdString(belname->src_id).str(this); +            it->second->attrs[IdString(ID_BEL)] = bel; +        } else { // IO_PORT attr=value +            std::string attr = "&"; +            attr += match[2]; +            boost::algorithm::to_upper(attr); +            it->second->attrs[id(attr)] = 0; +        }      }  }  | 
