mirror of https://github.com/KLayout/klayout.git
Postpone decision about "invalid vias are errors."
This commit is contained in:
parent
e27e24ff4f
commit
a2ac8d45de
|
|
@ -749,7 +749,12 @@ DEFImporter::read_single_net (std::string &nondefaultrule, Layout &layout, db::C
|
||||||
}
|
}
|
||||||
|
|
||||||
std::map<std::string, ViaDesc>::const_iterator vd = m_via_desc.find (vn);
|
std::map<std::string, ViaDesc>::const_iterator vd = m_via_desc.find (vn);
|
||||||
if (vd != m_via_desc.end () && ! pts.empty ()) {
|
|
||||||
|
if (vd == m_via_desc.end ()) {
|
||||||
|
|
||||||
|
warn (tl::to_string (tr ("Invalid via name: ")) + vn);
|
||||||
|
|
||||||
|
} else if (! pts.empty ()) {
|
||||||
|
|
||||||
// For the via, the masks are encoded in a three-digit number (<mask-top> <mask-cut> <mask_bottom>)
|
// For the via, the masks are encoded in a three-digit number (<mask-top> <mask-cut> <mask_bottom>)
|
||||||
unsigned int mask_top = (mask / 100) % 10;
|
unsigned int mask_top = (mask / 100) % 10;
|
||||||
|
|
|
||||||
|
|
@ -898,6 +898,21 @@ TEST(132_issue1307_pin_names)
|
||||||
run_test (_this, "issue-1307c", "lef:in.lef+def:in.def", "au.oas", opt, false);
|
run_test (_this, "issue-1307c", "lef:in.lef+def:in.def", "au.oas", opt, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
TODO: need to clarify first, if invalid via specs should be errors
|
||||||
|
TEST(133_unknown_vias_are_errors)
|
||||||
|
{
|
||||||
|
db::LEFDEFReaderOptions opt = default_options ();
|
||||||
|
|
||||||
|
try {
|
||||||
|
run_test (_this, "invalid_via", "lef:tech.lef+def:comp_invalid_via.def", "au.oas", opt, false);
|
||||||
|
EXPECT_EQ (true, false);
|
||||||
|
} catch (db::LEFDEFReaderException &ex) {
|
||||||
|
EXPECT_EQ (ex.msg ().find ("Invalid via name"), size_t (0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
TEST(200_lefdef_plugin)
|
TEST(200_lefdef_plugin)
|
||||||
{
|
{
|
||||||
db::Layout ly;
|
db::Layout ly;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
VERSION 5.8 ;
|
||||||
|
DIVIDERCHAR "/" ;
|
||||||
|
BUSBITCHARS "[]" ;
|
||||||
|
DESIGN comp_invalid_via ;
|
||||||
|
UNITS DISTANCE MICRONS 1000 ;
|
||||||
|
DIEAREA ( 0 0 ) ( 10000 2000 ) ;
|
||||||
|
|
||||||
|
SPECIALNETS 2 ;
|
||||||
|
- VGND ( PIN VGND ) ( * VNB ) ( * VGND ) + USE GROUND
|
||||||
|
+ ROUTED met1 480 + SHAPE FOLLOWPIN ( 0 1000 ) ( 2000 1000 )
|
||||||
|
NEW met1 0 + SHAPE STRIPE ( 2000 1000 ) via1
|
||||||
|
+ ROUTED met2 480 + SHAPE FOLLOWPIN ( 2000 1000 ) ( 4000 1000 )
|
||||||
|
NEW met2 0 + SHAPE STRIPE ( 4000 1000 ) invalid_via ;
|
||||||
|
END SPECIALNETS
|
||||||
|
END DESIGN
|
||||||
|
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
|
||||||
|
VERSION 5.7 ;
|
||||||
|
|
||||||
|
BUSBITCHARS "[]" ;
|
||||||
|
DIVIDERCHAR "/" ;
|
||||||
|
USEMINSPACING OBS OFF ;
|
||||||
|
|
||||||
|
UNITS
|
||||||
|
DATABASE MICRONS 1000 ;
|
||||||
|
END UNITS
|
||||||
|
|
||||||
|
MANUFACTURINGGRID 0.005 ;
|
||||||
|
|
||||||
|
LAYER met1
|
||||||
|
TYPE ROUTING ;
|
||||||
|
DIRECTION HORIZONTAL ;
|
||||||
|
PITCH 0.34 ;
|
||||||
|
OFFSET 0.17 ;
|
||||||
|
WIDTH 0.14 ;
|
||||||
|
END met1
|
||||||
|
|
||||||
|
LAYER via
|
||||||
|
TYPE CUT ;
|
||||||
|
WIDTH 0.15 ;
|
||||||
|
SPACING 0.17 ;
|
||||||
|
END via
|
||||||
|
|
||||||
|
LAYER met2
|
||||||
|
TYPE ROUTING ;
|
||||||
|
DIRECTION VERTICAL ;
|
||||||
|
PITCH 0.46 ;
|
||||||
|
OFFSET 0.23 ;
|
||||||
|
WIDTH 0.14 ;
|
||||||
|
END met2
|
||||||
|
|
||||||
|
LAYER via2
|
||||||
|
TYPE CUT ;
|
||||||
|
WIDTH 0.2 ;
|
||||||
|
SPACING 0.2 ;
|
||||||
|
END via2
|
||||||
|
|
||||||
|
LAYER met3
|
||||||
|
TYPE ROUTING ;
|
||||||
|
DIRECTION HORIZONTAL ;
|
||||||
|
PITCH 0.68 ;
|
||||||
|
OFFSET 0.34 ;
|
||||||
|
WIDTH 0.3 ;
|
||||||
|
END met3
|
||||||
|
|
||||||
|
VIA via1 DEFAULT
|
||||||
|
LAYER via ;
|
||||||
|
RECT -0.075 -0.075 0.075 0.075 ;
|
||||||
|
LAYER met1 ;
|
||||||
|
RECT -0.16 -0.24 0.16 0.24 ;
|
||||||
|
LAYER met2 ;
|
||||||
|
RECT -0.13 -0.24 0.13 0.24 ;
|
||||||
|
END via1
|
||||||
|
|
||||||
|
VIARULE M1M2_PR GENERATE
|
||||||
|
LAYER met1 ;
|
||||||
|
ENCLOSURE 0.085 0.055 ;
|
||||||
|
LAYER met2 ;
|
||||||
|
ENCLOSURE 0.055 0.085 ;
|
||||||
|
LAYER via ;
|
||||||
|
RECT -0.075 -0.075 0.075 0.075 ;
|
||||||
|
SPACING 0.32 BY 0.32 ;
|
||||||
|
END M1M2_PR
|
||||||
|
|
||||||
|
VIA via2 DEFAULT
|
||||||
|
LAYER via2 ;
|
||||||
|
RECT -0.1 -0.1 0.1 0.1 ;
|
||||||
|
LAYER met2 ;
|
||||||
|
RECT -0.14 -0.24 0.14 0.24 ;
|
||||||
|
LAYER met3 ;
|
||||||
|
RECT -0.165 -0.165 0.165 0.165 ;
|
||||||
|
END via2
|
||||||
|
|
||||||
|
VIARULE M2M3_PR GENERATE
|
||||||
|
LAYER met2 ;
|
||||||
|
ENCLOSURE 0.04 0.085 ;
|
||||||
|
LAYER met3 ;
|
||||||
|
ENCLOSURE 0.065 0.065 ;
|
||||||
|
LAYER via2 ;
|
||||||
|
RECT -0.1 -0.1 0.1 0.1 ;
|
||||||
|
SPACING 0.4 BY 0.4 ;
|
||||||
|
END M2M3_PR
|
||||||
|
|
||||||
|
END LIBRARY
|
||||||
|
|
||||||
Binary file not shown.
Loading…
Reference in New Issue