Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion README-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,6 @@ organization={IEEE}
| 子模块 | 来源 | 详细用途 |
| -------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| flute3 | [FastRoute](https://github.com/The-OpenROAD-Project-Attic/flute3) | 借助flute3来产生rectange steiner tree. |
| abseil-cpp | [Google abseil](https://github.com/abseil/abseil-cpp.git) | 使用Google的高性能C++容器和算法库提升性能,相比STL会改进程序性能. |
| json | [JSON for Modern C++](https://github.com/nlohmann/json) | Json C++库,用来解析程序Json配置文件. |
| libfort | [Seleznev Anton libfort](https://github.com/seleznevae/libfort.git) | C/C++ library 产生格式化的 ASCII tables. |
| pegtl | [PEGTL(Parsing Expression Grammar Template Library)](https://github.com/taocpp/PEGTL/) | 使用PEGTL来方便的解析SPEF文件. |
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,6 @@ In the development of iEDA, some sub-modules from the open-source community are
| Sub-module | Source | Detail |
| -------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| flute3 | [FastRoute](https://github.com/The-OpenROAD-Project-Attic/flute3) | Generate rectange steiner tree by flute3. |
| abseil-cpp | [Google abseil](https://github.com/abseil/abseil-cpp.git) | Use Google's high performance C++ container and algorithm library to improve performance compared to STL. |
| json | [JSON for Modern C++](https://github.com/nlohmann/json) | Json C++ library, used to parse the program Json configuration file. |
| libfort | [Seleznev Anton libfort](https://github.com/seleznevae/libfort.git) | The C/C++ library produces formatted ASCII tables. |
| pegtl | [PEGTL(Parsing Expression Grammar Template Library)](https://github.com/taocpp/PEGTL/) | Use PEGTL to parse SPEF files easily. |
Expand Down
2 changes: 0 additions & 2 deletions src/database/manager/builder/lef_builder/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ target_include_directories(lef_builder
)

target_link_libraries(lef_builder PRIVATE lef geometry_db ecc_logger)
target_link_libraries(lef_builder PUBLIC absl::strings)

option(TEST_LEFPARSER "If ON, test db." OFF)
if(TEST_LEFPARSER)
find_package(GTest REQUIRED)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

#include <memory>

#include "absl/strings/match.h"
#include "db_property/IdbRoutingLayerLef58Property.h"
#include "lef58_property/routinglayer_property_parser.h"
#include "property_parser/lef58_property/routinglayer_property.h"
Expand Down Expand Up @@ -316,10 +315,10 @@ bool RoutingLayerParser::parse_lef58_spacingtable_jogtojog(const std::string& va

bool RoutingLayerParser::parse_lef58_spacing(const std::string& value, IdbLayerRouting* data)
{
if (absl::StrContains(value, "NOTCHLENGTH")) {
if (value.find("NOTCHLENGTH") != std::string::npos) {
return parse_lef58_spacing_notchlength(value, data);
}
if (absl::StrContains(value, "ENDOFLINE")) {
if (value.find("ENDOFLINE") != std::string::npos) {
return parse_lef58_spacing_eol(value, data);
}
ECCLOG.warn(ecc::Loc::current(), "Unhandled LEF58_SPACING value: ", value);
Expand All @@ -328,7 +327,7 @@ bool RoutingLayerParser::parse_lef58_spacing(const std::string& value, IdbLayerR

bool RoutingLayerParser::parse_lef58_spacingtable(const std::string& value, IdbLayerRouting* data)
{
if (absl::StrContains(value, "JOGTOJOGSPACING")) {
if (value.find("JOGTOJOGSPACING") != std::string::npos) {
return parse_lef58_spacingtable_jogtojog(value, data);
}
ECCLOG.warn(ecc::Loc::current(), "Unhandled LEF58_SPACINGTABLE value: ", value);
Expand Down
4 changes: 2 additions & 2 deletions src/database/manager/parser/aocv/AocvParser.hh
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@
#include <fstream>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <unordered_map>
#include <vector>

#include "absl/container/btree_map.h"
#include "Type.hh"

namespace idb {
Expand Down Expand Up @@ -156,7 +156,7 @@ class AocvLibrary
std::string _version_number; //!< The version of the aocv file.
std::string _aocv_name; //!< The name of the aocv file.
std::vector<std::unique_ptr<AocvObjectSpecSet>> _object_spec_sets; //!< The all object specs of the aocv file.
absl::btree_multimap<std::string_view, AocvObjectSpecSet*> _obj_name_to_spec_set; //!< The obj name map to the object spec set.
std::multimap<std::string_view, AocvObjectSpecSet*> _obj_name_to_spec_set; //!< The obj name map to the object spec set.

FORBIDDEN_COPY(AocvLibrary);
};
Expand Down
2 changes: 1 addition & 1 deletion src/database/manager/parser/aocv/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ TARGET_INCLUDE_DIRECTORIES(aocv-parser
${HOME_UTILITY}
)

TARGET_LINK_LIBRARIES(aocv-parser PUBLIC absl::btree ecc_logger tcl)
TARGET_LINK_LIBRARIES(aocv-parser PUBLIC ecc_logger tcl)
2 changes: 1 addition & 1 deletion src/database/manager/parser/liberty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -DNDEBUG")
aux_source_directory(./ SRC)
add_library(liberty ${SRC})

target_link_libraries(liberty PUBLIC absl::btree absl::inlined_vector ecc_logger tcl dl)
target_link_libraries(liberty PUBLIC ecc_logger tcl dl)

target_include_directories(liberty PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
Expand Down
18 changes: 9 additions & 9 deletions src/database/manager/parser/liberty/Lib.cc
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ LibTable& LibTable::operator=(LibTable&& rhs) noexcept
* @Brief : get axes or template axes.
* @return auto&
*/
absl::InlinedVector<std::unique_ptr<LibAxis>, 64>& LibTable::get_axes()
std::vector<std::unique_ptr<LibAxis>>& LibTable::get_axes()
{
if (_axes.empty()) {
LibLutTableTemplate* table_template = get_table_template();
Expand Down Expand Up @@ -536,7 +536,7 @@ LibCurrentData::LibCurrentData(LibVectorTable* low_low, LibVectorTable* low_high
*/
std::tuple<double, int> LibCurrentData::getSimulationTotalTimeAndNumPoints()
{
absl::btree_map<double, int> total_simulation_times;
std::map<double, int> total_simulation_times;

for (auto* table : {_low_low, _low_high, _high_low, _high_high}) {
auto [total_time, num_point] = table->getSimulationTotalTimeAndNumPoints();
Expand Down Expand Up @@ -1122,13 +1122,13 @@ LibLeakagePower& LibLeakagePower::operator=(LibLeakagePower&& rhs) noexcept
return *this;
}

absl::btree_map<std::string, LibArc::TimingType> LibArc::_str_to_type = {{"setup_rising", TimingType::kSetupRising},
{"hold_rising", TimingType::kHoldRising},
{"recovery_rising", TimingType::kRecoveryRising},
{"removal_rising", TimingType::kRemovalRising},
{"rising_edge", TimingType::kRisingEdge},
{"preset", TimingType::kPreset},
{"clear", TimingType::kClear},
std::map<std::string, LibArc::TimingType> LibArc::_str_to_type = {{"setup_rising", TimingType::kSetupRising},
{"hold_rising", TimingType::kHoldRising},
{"recovery_rising", TimingType::kRecoveryRising},
{"removal_rising", TimingType::kRemovalRising},
{"rising_edge", TimingType::kRisingEdge},
{"preset", TimingType::kPreset},
{"clear", TimingType::kClear},
{"three_state_enable", TimingType::kThreeStateEnable},
{"three_state_enable_rise", TimingType::kThreeStateEnableRise},
{"three_state_enable_fall", TimingType::kThreeStateEnableFall},
Expand Down
25 changes: 12 additions & 13 deletions src/database/manager/parser/liberty/Lib.hh
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

#pragma once

#include <array>
#include <map>
#include <memory>
#include <optional>
Expand All @@ -33,8 +34,6 @@
#include <utility>
#include <vector>

#include "absl/container/btree_map.h"
#include "absl/container/inlined_vector.h"
#include "LibParserCpp.hh"
#include "Config.hh"
#include "Type.hh"
Expand Down Expand Up @@ -169,7 +168,7 @@ class LibTable : public LibObject

LibAxis& getAxis(unsigned int index);

absl::InlinedVector<std::unique_ptr<LibAxis>, 64>& get_axes();
std::vector<std::unique_ptr<LibAxis>>& get_axes();
auto getAxesSize() { return _axes.size(); }

void addTableValue(std::unique_ptr<LibAttrValue> table_value) { _table_values.emplace_back(std::move(table_value)); }
Expand All @@ -191,7 +190,7 @@ class LibTable : public LibObject
double driveResistance();

private:
absl::InlinedVector<std::unique_ptr<LibAxis>, 64> _axes; //!< May be zero, one, two, three axes.
std::vector<std::unique_ptr<LibAxis>> _axes; //!< May be zero, one, two, three axes.
std::vector<std::unique_ptr<LibAttrValue>> _table_values; //!< The axis values.
TableType _table_type; //!< The table type.

Expand Down Expand Up @@ -641,7 +640,7 @@ class LibPort : public LibObject
std::optional<double> _fanout_load;
std::optional<double> _max_fanout;

absl::InlinedVector<std::unique_ptr<LibInternalPowerInfo>, 64> _internal_powers; //!< The internal power information.
std::vector<std::unique_ptr<LibInternalPowerInfo>> _internal_powers; //!< The internal power information.

FORBIDDEN_COPY(LibPort);
};
Expand Down Expand Up @@ -725,7 +724,7 @@ class LibPortBus : public LibPort
LibPort* operator[](int index);

private:
absl::InlinedVector<std::unique_ptr<LibPort>, 64> _ports; //!< The bus ports.
std::vector<std::unique_ptr<LibPort>> _ports; //!< The bus ports.
LibType* _bus_type = nullptr;

FORBIDDEN_COPY(LibPortBus);
Expand Down Expand Up @@ -931,7 +930,7 @@ class LibArc : public LibObject

std::unique_ptr<LibTableModel> _table_model; //!< The arc timing model.

static absl::btree_map<std::string, TimingType> _str_to_type;
static std::map<std::string, TimingType> _str_to_type;

unsigned _is_disable_arc = 0; //!< Forbidden arc.

Expand Down Expand Up @@ -966,7 +965,7 @@ class LibArcSet
unsigned isTwoTypeSenseArcSet();

private:
absl::InlinedVector<std::unique_ptr<LibArc>, 64> _arcs;
std::vector<std::unique_ptr<LibArc>> _arcs;

FORBIDDEN_COPY(LibArcSet);
};
Expand Down Expand Up @@ -1043,7 +1042,7 @@ class LibPowerArcSet
auto& get_power_arcs() { return _power_arcs; }

private:
absl::InlinedVector<std::unique_ptr<LibPowerArc>, 64> _power_arcs;
std::vector<std::unique_ptr<LibPowerArc>> _power_arcs;

FORBIDDEN_COPY(LibPowerArcSet);
};
Expand Down Expand Up @@ -1359,7 +1358,7 @@ class LibLutTableTemplate : public LibObject
std::optional<Variable> _template_variable3;
std::optional<Variable> _template_variable4;

absl::InlinedVector<std::unique_ptr<LibAxis>, 64> _axes; //!< May be zero, one, two, three axes.
std::vector<std::unique_ptr<LibAxis>> _axes; //!< May be zero, one, two, three axes.

FORBIDDEN_COPY(LibLutTableTemplate);
};
Expand Down Expand Up @@ -1669,15 +1668,15 @@ class LibLibrary : public LibObject
std::vector<std::unique_ptr<LibCell>> _cells; //!< The liberty cell, perserve the cell read order.
std::map<std::string, LibCell*> _str2cell;

absl::InlinedVector<std::unique_ptr<LibLutTableTemplate>, 64> _lut_templates; //!< The timing table lut template, preserve the
std::vector<std::unique_ptr<LibLutTableTemplate>> _lut_templates; //!< The timing table lut template, preserve the
//!< template order.

std::map<std::string, LibLutTableTemplate*> _str2template;

absl::InlinedVector<std::unique_ptr<LibWireLoad>, 64> _wire_loads; //!< The wire load models.
std::vector<std::unique_ptr<LibWireLoad>> _wire_loads; //!< The wire load models.
std::map<std::string, LibWireLoad*> _str2wireLoad;

absl::InlinedVector<std::unique_ptr<LibType>, 64> _types; //!< The lib type
std::vector<std::unique_ptr<LibType>> _types; //!< The lib type

std::map<std::string, LibType*> _str2type;

Expand Down
4 changes: 2 additions & 2 deletions src/database/manager/parser/liberty/LibClassifyCell.cc
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ bool LibClassifyCell::compareFunction(LibCell* the_cell1, LibCell* the_cell2)
* @param hash_to_cells
*/
void LibClassifyCell::classifyOneLibCell(LibLibrary* the_lib,
std::unordered_map<std::size_t, absl::InlinedVector<LibCell*, 64>>& hash_to_cells)
std::unordered_map<std::size_t, std::vector<LibCell*>>& hash_to_cells)
{
LibCell* cell;
FOREACH_LIB_CELL(the_lib, cell)
Expand Down Expand Up @@ -311,7 +311,7 @@ void LibClassifyCell::classifyOneLibCell(LibLibrary* the_lib,
*/
void LibClassifyCell::classifyLibCell(std::vector<LibLibrary*>& the_libs)
{
std::unordered_map<std::size_t, absl::InlinedVector<LibCell*, 64>> hash_to_cells;
std::unordered_map<std::size_t, std::vector<LibCell*>> hash_to_cells;
for (auto* the_lib : the_libs) {
classifyOneLibCell(the_lib, hash_to_cells);
}
Expand Down
11 changes: 5 additions & 6 deletions src/database/manager/parser/liberty/LibClassifyCell.hh
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
*/
#pragma once

#include <map>
#include <unordered_map>
#include <vector>

#include "absl/container/btree_map.h"
#include "absl/container/inlined_vector.h"
#include "Lib.hh"

namespace idb {
Expand All @@ -27,7 +27,7 @@ class LibClassifyCell
{
public:
void classifyLibCell(std::vector<LibLibrary*>& the_libs);
absl::InlinedVector<LibCell*, 64>* getClassOfCell(LibCell* cell)
std::vector<LibCell*>* getClassOfCell(LibCell* cell)
{
if (_func_same_cells.contains(cell)) {
return &_func_same_cells[cell];
Expand All @@ -50,9 +50,8 @@ class LibClassifyCell

bool compareFunction(LibCell* the_cell1, LibCell* the_cell2);

void classifyOneLibCell(LibLibrary* the_lib, std::unordered_map<std::size_t, absl::InlinedVector<LibCell*, 64>>& hash_to_cells);
void classifyOneLibCell(LibLibrary* the_lib, std::unordered_map<std::size_t, std::vector<LibCell*>>& hash_to_cells);

absl::btree_map<LibCell*, absl::InlinedVector<LibCell*, 64>> _func_same_cells; //!< The one cell map to the func same cell with
//!< different size.
std::map<LibCell*, std::vector<LibCell*>> _func_same_cells; //!< The one cell map to the func same cell with different size.
};
} // namespace idb
12 changes: 5 additions & 7 deletions src/database/manager/parser/liberty/LibParserCpp.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
* @date 2023-10-13
*
*/
#include "absl/container/btree_set.h"
#include "CppLibertyDriver.hh"
#include "Lib.hh"
#include "LibParserCpp.hh"
Expand All @@ -34,6 +33,7 @@
#include <cstdlib>
#include <memory>
#include <regex>
#include <set>
#include <sstream>
#include <string>
#include <string_view>
Expand Down Expand Up @@ -1582,11 +1582,10 @@ unsigned LibertyReader::visitGroup(LibertyGroupStmt* group) {
unsigned is_ok = 1;
const char* group_name = group->group_name;

static const absl::btree_set<std::string> table_names = {
static const std::set<std::string> table_names = {
"cell_rise", "cell_fall", "rise_transition",
"fall_transition", "rise_constraint", "fall_constraint"};
static const absl::btree_set<std::string> power_table_names = {"rise_power",
"fall_power"};
static const std::set<std::string> power_table_names = {"rise_power", "fall_power"};

if (isEqual(group_name, "library")) {
is_ok = visitLibrary(group);
Expand Down Expand Up @@ -2040,11 +2039,10 @@ unsigned LibertyReader::visitGroup(liberty_ast::LibGroup* group) {
unsigned is_ok = 1;
const char* group_name = group->getGroupType();

static const absl::btree_set<std::string> table_names = {
static const std::set<std::string> table_names = {
"cell_rise", "cell_fall", "rise_transition",
"fall_transition", "rise_constraint", "fall_constraint"};
static const absl::btree_set<std::string> power_table_names = {"rise_power",
"fall_power"};
static const std::set<std::string> power_table_names = {"rise_power", "fall_power"};

if (isEqual(group_name, "library")) {
is_ok = visitLibrary(group);
Expand Down
2 changes: 1 addition & 1 deletion src/interface/tcl/tcl_engine/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ else()
add_library(tcl SHARED ${SRC})
endif()

target_link_libraries(tcl PUBLIC ${LINK_tcl} absl::inlined_vector ecc_logger)
target_link_libraries(tcl PUBLIC ${LINK_tcl} ecc_logger)

target_include_directories(tcl
PUBLIC
Expand Down
3 changes: 1 addition & 2 deletions src/interface/tcl/tcl_engine/ScriptEngine.hh
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
#include <string>
#include <vector>

#include "absl/container/inlined_vector.h"
#include "utility/logger/Logger.hpp"

namespace ecc {
Expand Down Expand Up @@ -600,7 +599,7 @@ class TclCmd
}
std::string _cmd_name;
std::map<std::string, std::unique_ptr<TclOption>> _options; //!< The tcl option do not need keep order.
absl::InlinedVector<TclOption*, 64> _args; //!< The tcl arg need keep order.
std::vector<TclOption*> _args; //!< The tcl arg need keep order.
};

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ target_link_libraries(
PRIVATE
icts_source_data_manager_io
icts_source_toolkit_logger
absl::inlined_vector
liberty
)

Expand Down Expand Up @@ -110,7 +109,6 @@ target_link_libraries(
PRIVATE
icts_source_data_manager_adapter_fast_sta_clock_net_parasitic
icts_source_data_manager_adapter_fast_sta_liberty_model
absl::fixed_array
)

target_include_directories(
Expand Down
1 change: 0 additions & 1 deletion src/third_party/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ endif()
add_subdirectory(libfort)
add_subdirectory(flute3)
add_subdirectory(pybind11)
add_subdirectory(abseil-cpp)
add_subdirectory(lefdef EXCLUDE_FROM_ALL)
add_subdirectory(salt)
add_subdirectory(lemon)
Expand Down
4 changes: 0 additions & 4 deletions src/third_party/abseil-cpp/.clang-format

This file was deleted.

Loading
Loading