diff options
Diffstat (limited to 'ext/dsent/tech')
-rw-r--r-- | ext/dsent/tech/TechModel.cc | 44 | ||||
-rw-r--r-- | ext/dsent/tech/TechModel.h | 29 | ||||
-rw-r--r-- | ext/dsent/tech/tech_models/Bulk22LVT.model | 20 | ||||
-rw-r--r-- | ext/dsent/tech/tech_models/Bulk32LVT.model | 20 | ||||
-rw-r--r-- | ext/dsent/tech/tech_models/Bulk45LVT.model | 20 | ||||
-rw-r--r-- | ext/dsent/tech/tech_models/Photonics.model | 20 | ||||
-rw-r--r-- | ext/dsent/tech/tech_models/TG11LVT.model | 20 |
7 files changed, 161 insertions, 12 deletions
diff --git a/ext/dsent/tech/TechModel.cc b/ext/dsent/tech/TechModel.cc index 5922177ad..67ffbbc97 100644 --- a/ext/dsent/tech/TechModel.cc +++ b/ext/dsent/tech/TechModel.cc @@ -1,3 +1,24 @@ +/* Copyright (c) 2012 Massachusetts Institute of Technology + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + #include "tech/TechModel.h" #include <cmath> @@ -7,12 +28,17 @@ namespace DSENT { TechModel::TechModel() - : Config(), m_std_cell_lib_(NULL), m_available_wire_layers_(NULL) + : m_std_cell_lib_(NULL), m_available_wire_layers_(NULL) {} TechModel::~TechModel() {} + const String& TechModel::get(const String &key_) const + { + return params.at(key_); + } + void TechModel::setStdCellLib(const StdCellLib* std_cell_lib_) { m_std_cell_lib_ = std_cell_lib_; @@ -32,17 +58,16 @@ namespace DSENT void TechModel::readFile(const String& filename_) { // Read the main technology file - LibUtil::Config::readFile(filename_); + LibUtil::readFile(filename_, params); // Search for "INCLUDE" to include more technology files - StringMap::ConstIterator it; - for(it = begin(); it != end(); ++it) + for (const auto &it : params) { - const String& key = it->first; + const String& key = it.first; if(key.compare(0, 8, "INCLUDE_") == 0) { - const String& include_filename = it->second; - LibUtil::Config::readFile(include_filename); + const String& include_filename = it.second; + LibUtil::readFile(include_filename, params); } } @@ -53,7 +78,6 @@ namespace DSENT { m_available_wire_layers_->insert(available_wire_layer_vector[i]); } - return; } //------------------------------------------------------------------------- @@ -314,7 +338,7 @@ namespace DSENT //------------------------------------------------------------------------- TechModel::TechModel(const TechModel& tech_model_) - : Config(tech_model_), m_std_cell_lib_(tech_model_.m_std_cell_lib_) + : m_std_cell_lib_(tech_model_.m_std_cell_lib_), + params(tech_model_.params) {} } // namespace DSENT - diff --git a/ext/dsent/tech/TechModel.h b/ext/dsent/tech/TechModel.h index 92e5a30ac..a4578f168 100644 --- a/ext/dsent/tech/TechModel.h +++ b/ext/dsent/tech/TechModel.h @@ -1,3 +1,24 @@ +/* Copyright (c) 2012 Massachusetts Institute of Technology + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + #ifndef __DSENT_TECH_TECH_MODEL_H__ #define __DSENT_TECH_TECH_MODEL_H__ @@ -15,7 +36,7 @@ namespace DSENT using std::vector; using LibUtil::String; - class TechModel : public LibUtil::Config + class TechModel { public: typedef std::set<String>::const_iterator ConstWireLayerIterator; @@ -25,6 +46,9 @@ namespace DSENT virtual ~TechModel(); public: + // Get the value_ corresponding to the key_ + const String& get(const String& key_) const; + // Set the pointer to a standard cell library void setStdCellLib(const StdCellLib* std_cell_lib_); // Get the pointer to the standard cell library @@ -64,8 +88,9 @@ namespace DSENT const StdCellLib* m_std_cell_lib_; // A set of available wire layers std::set<String>* m_available_wire_layers_; + // A map of model's parameters + std::map<String, String> params; }; // class TechModel } // namespace DSENT #endif // __DSENT_TECH_TECH_MODEL_H__ - diff --git a/ext/dsent/tech/tech_models/Bulk22LVT.model b/ext/dsent/tech/tech_models/Bulk22LVT.model index e2087a12d..d1cdb93ec 100644 --- a/ext/dsent/tech/tech_models/Bulk22LVT.model +++ b/ext/dsent/tech/tech_models/Bulk22LVT.model @@ -1,3 +1,23 @@ +# Copyright (c) 2012 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + # WARNING: Most commercial fabs will not be happy if you release their exact # process information! If you derive these numbers through SPICE models, # the process design kit, or any other confidential material, please round-off diff --git a/ext/dsent/tech/tech_models/Bulk32LVT.model b/ext/dsent/tech/tech_models/Bulk32LVT.model index 9a90bdaf9..2514407db 100644 --- a/ext/dsent/tech/tech_models/Bulk32LVT.model +++ b/ext/dsent/tech/tech_models/Bulk32LVT.model @@ -1,3 +1,23 @@ +# Copyright (c) 2012 Massachusetts Institute of Technology
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
# WARNING: Most commercial fabs will not be happy if you release their exact
# process information! If you derive these numbers through SPICE models,
# the process design kit, or any other confidential material, please round-off
diff --git a/ext/dsent/tech/tech_models/Bulk45LVT.model b/ext/dsent/tech/tech_models/Bulk45LVT.model index d8015c522..2398d781d 100644 --- a/ext/dsent/tech/tech_models/Bulk45LVT.model +++ b/ext/dsent/tech/tech_models/Bulk45LVT.model @@ -1,3 +1,23 @@ +# Copyright (c) 2012 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + # WARNING: Most commercial fabs will not be happy if you release their exact # process information! If you derive these numbers through SPICE models, # the process design kit, or any other confidential material, please round-off diff --git a/ext/dsent/tech/tech_models/Photonics.model b/ext/dsent/tech/tech_models/Photonics.model index 335e1e832..9e33c710d 100644 --- a/ext/dsent/tech/tech_models/Photonics.model +++ b/ext/dsent/tech/tech_models/Photonics.model @@ -1,3 +1,23 @@ +# Copyright (c) 2012 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + # This file contains the model for photonic devices/circuits PhotonicsName = Photonics diff --git a/ext/dsent/tech/tech_models/TG11LVT.model b/ext/dsent/tech/tech_models/TG11LVT.model index 292e40ab0..f1cb7eeae 100644 --- a/ext/dsent/tech/tech_models/TG11LVT.model +++ b/ext/dsent/tech/tech_models/TG11LVT.model @@ -1,3 +1,23 @@ +# Copyright (c) 2012 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + # WARNING: Most commercial fabs will not be happy if you release their exact # process information! If you derive these numbers through SPICE models, # the process design kit, or any other confidential material, please round-off |