From 5c54cf49235213c971e6c7d9a9dd9e00e19848f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Harboe?= Date: Wed, 11 Sep 2024 22:07:00 +0200 Subject: [PATCH 1/2] rtlmp: improve error message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Øyvind Harboe --- src/mpl2/src/rtl_mp.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mpl2/src/rtl_mp.cpp b/src/mpl2/src/rtl_mp.cpp index ab90ebfc487..f9d462493aa 100644 --- a/src/mpl2/src/rtl_mp.cpp +++ b/src/mpl2/src/rtl_mp.cpp @@ -146,8 +146,10 @@ void MacroPlacer2::placeMacro(odb::dbInst* inst, if (!core_area.contains(macro_new_bbox)) { logger_->error(MPL, 34, - "Specified location results in illegal placement. Cannot " - "place macro outside of the core."); + "Cannot place {} at {}, outside of the core {}.", + inst->getName(), + macro_new_bbox, + core_area); } // Orientation must be set before location so we don't end up flipping From a487b9b68b50381b212beb920a79e645b4f75cc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Harboe?= Date: Wed, 11 Sep 2024 22:07:00 +0200 Subject: [PATCH 2/2] rtlmp: improve error message, don't use dbu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Øyvind Harboe --- src/mpl2/src/rtl_mp.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/mpl2/src/rtl_mp.cpp b/src/mpl2/src/rtl_mp.cpp index f9d462493aa..1f5c50ad333 100644 --- a/src/mpl2/src/rtl_mp.cpp +++ b/src/mpl2/src/rtl_mp.cpp @@ -146,10 +146,17 @@ void MacroPlacer2::placeMacro(odb::dbInst* inst, if (!core_area.contains(macro_new_bbox)) { logger_->error(MPL, 34, - "Cannot place {} at {}, outside of the core {}.", + "Cannot place {} at ({}, {}) ({}, {}), outside of the core " + "({}, {}) ({}, {}).", inst->getName(), - macro_new_bbox, - core_area); + block->dbuToMicrons(macro_new_bbox.xMin()), + block->dbuToMicrons(macro_new_bbox.yMin()), + block->dbuToMicrons(macro_new_bbox.xMax()), + block->dbuToMicrons(macro_new_bbox.yMax()), + block->dbuToMicrons(core_area.xMin()), + block->dbuToMicrons(core_area.yMin()), + block->dbuToMicrons(core_area.xMax()), + block->dbuToMicrons(core_area.yMax())); } // Orientation must be set before location so we don't end up flipping