mirror of
https://github.com/KLayout/klayout.git
synced 2026-08-29 09:20:45 +02:00
Merge branch 'master' into complex_drc_ops
This commit is contained in:
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
LAYER M1
|
||||
TYPE ROUTING ;
|
||||
END M1
|
||||
LAYER VIA1
|
||||
TYPE CUT ;
|
||||
END VIA1
|
||||
|
||||
MACRO dense
|
||||
CLASS CORE ;
|
||||
ORIGIN 0.0 0.0 ;
|
||||
FOREIGN dense ;
|
||||
SIZE 0.7 BY 0.9 ;
|
||||
OBS
|
||||
LAYER M1 DESIGNRULEWIDTH 0.05 ;
|
||||
RECT 0.04 0.095 0.66 0.685 ;
|
||||
LAYER VIA1 ;
|
||||
RECT 0.285 0.31 0.415 0.36 ;
|
||||
RECT 0.285 0.18 0.415 0.23 ;
|
||||
END
|
||||
DENSITY
|
||||
LAYER M1 ;
|
||||
RECT 0.04 0.09 0.66 0.685 100.0 ;
|
||||
LAYER VIA1 ;
|
||||
RECT 0 0 100 100 45.5 ; #rect from (0,0) to (100,100), density of 45.5%
|
||||
RECT 100 0 200 100 42.2 ; #rect from (100,0) to (200, 100), density of 42.2%
|
||||
END
|
||||
END dense
|
||||
END LIBRARY
|
||||
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
# some variations of map file entries
|
||||
DIEAREA ALL 1 0
|
||||
COMP ALL 2 0
|
||||
M1 PIN 3,4 0
|
||||
M1 LEFPIN,LEFOBS,PIN,NET,SPNET,VIA 1 5
|
||||
DOES NOT MEAN ANYTHING
|
||||
M1 NET,SPNET,PIN,VIA:MASK:1 6 0
|
||||
M1 NET:MASK:1 7 0
|
||||
M1 TEXT 8 0
|
||||
M1 FILLOPC 9 0
|
||||
M1 FILLOPC:MASK:1 10 0
|
||||
M1 FILLOPC:MASK:2 11 0
|
||||
M1 BLOCKAGEFILL 12 0
|
||||
M1 BLOCKAGE 13 0
|
||||
M1 FILL 14 0
|
||||
M1 VIAFILL,FILL 15 0
|
||||
M1 NET,SPNET,CUSTOM 16 0
|
||||
M1 VIAFILL:FLOATING,FILL:FLOATING 17 0
|
||||
M1 NET:VOLTAGE:0.8 18 0
|
||||
M1 VIAFILL 19 0
|
||||
M1 VIA:SIZE:0.05x0.05 20 0
|
||||
M1 VIA:SIZE:3x3 21 0
|
||||
M1 ALL 22 2
|
||||
NAME DIEAREA 23 0
|
||||
NAME ALL 24 0
|
||||
NAME COMP 25 0
|
||||
NAME M1/PIN 26 0
|
||||
NAME M1/NET 27 0
|
||||
NAME M1/SPNET 28 1
|
||||
NAME M1_TEXT 29 0
|
||||
Vendored
BIN
Binary file not shown.
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
|
||||
VERSION 5.8 ;
|
||||
DIVIDERCHAR "/" ;
|
||||
BUSBITCHARS "[]" ;
|
||||
DESIGN chip_top ;
|
||||
UNITS DISTANCE MICRONS 1000 ;
|
||||
DIEAREA ( 30000 3000 ) ( 10000000 4000 ) ;
|
||||
VIAS 1 ;
|
||||
- VIA1_dummy
|
||||
+ RECT M1 ( -200 -140 ) ( 200 140 )
|
||||
+ RECT VIA1 ( -100 -100 ) ( 100 100 )
|
||||
+ RECT M2 ( -300 -120 ) ( 300 120 ) ;
|
||||
END VIAS
|
||||
SPECIALNETS 1 ;
|
||||
- dummy
|
||||
+ ROUTED M1 150 + SHAPE IOWIRE ( 40000 3600 ) VIA1_dummy DO 16000 BY 1 STEP 700 0
|
||||
;
|
||||
END SPECIALNETS
|
||||
SCANCHAINS 77 ;
|
||||
- chain1_clock1
|
||||
+ PARTITION clock1
|
||||
+ START block1/bsr_reg_0 Q
|
||||
+ FLOATING
|
||||
block1/pgm_cgm_en_reg_reg ( IN SD ) ( OUT QZ )
|
||||
block1/start_reset_dd_reg ( IN SD ) ( OUT QZ )
|
||||
+ STOP block1/start_reset_d_reg SD ;
|
||||
END SCANCHAINS
|
||||
END DESIGN
|
||||
Vendored
+54
-1
@@ -30,7 +30,11 @@ class DBLayout_TestClass < TestBase
|
||||
lmap = RBA::LayerMap::new
|
||||
|
||||
lmap.map( "1/0", 0 )
|
||||
assert_equal(lmap.is_mapped(RBA::LayerInfo::new(1, 0)), true)
|
||||
assert_equal(lmap.is_mapped(RBA::LayerInfo::new(1, 1)), false)
|
||||
assert_equal(lmap.is_mapped(RBA::LayerInfo::new(2, 2)), false)
|
||||
lmap.map( "2/2", 0 )
|
||||
assert_equal(lmap.is_mapped(RBA::LayerInfo::new(2, 2)), true)
|
||||
lmap.map( "10/2", 0 )
|
||||
assert_equal( lmap.mapping_str(0), "1/0;2/2;10/2" )
|
||||
|
||||
@@ -39,7 +43,7 @@ class DBLayout_TestClass < TestBase
|
||||
lmap.map( "4/2", 1 )
|
||||
lmap.map( "1/2", 1 )
|
||||
lmap.map( "0/0", 1 )
|
||||
assert_equal( lmap.mapping_str(1), "0/0;1/2;2-4/2" ) # could be "0/0;1-4/2" as well ...
|
||||
assert_equal( lmap.mapping_str(1), "0/0;1-4/2" ) # could be "0/0;1-4/2" as well ...
|
||||
|
||||
lmap.map( RBA::LayerInfo::new(2, 2), RBA::LayerInfo::new(4, 4), 2 )
|
||||
lmap.map( RBA::LayerInfo::new(0, 1), 2 )
|
||||
@@ -85,6 +89,55 @@ class DBLayout_TestClass < TestBase
|
||||
assert_equal( lmap.mapping_str(0), "2/2 : 4/4" )
|
||||
assert_equal( lmap.mapping(0).to_s, "4/4" )
|
||||
assert_equal( lmap.mapping(2).to_s, "5/5" )
|
||||
|
||||
lmap = RBA::LayerMap::new
|
||||
|
||||
lmap.map("*/*", 0)
|
||||
lmap.unmap(RBA::LayerInfo::new(5, 10))
|
||||
assert_equal(lmap.mapping_str(0), "0-4/*;5/0-9,11-*;6-*/*")
|
||||
|
||||
lmap.clear
|
||||
lmap.map("*/*", 0)
|
||||
lmap.unmap(RBA::LayerInfo::new(5, 10), RBA::LayerInfo::new(16, 21))
|
||||
assert_equal(lmap.mapping_str(0), "0-4/*;5-16/0-9,22-*;17-*/*")
|
||||
|
||||
lmap.clear
|
||||
lmap.map("*/*", 0)
|
||||
lmap.unmap("5-16/10-21")
|
||||
assert_equal(lmap.mapping_str(0), "0-4/*;5-16/0-9,22-*;17-*/*")
|
||||
|
||||
lmap.clear
|
||||
lmap.map("*/*", 0)
|
||||
lmap.mmap(RBA::LayerInfo::new(5, 10), 1)
|
||||
assert_equal(lmap.mapping_str(0), "+*/*")
|
||||
assert_equal(lmap.mapping_str(1), "+5/10")
|
||||
|
||||
lmap.clear
|
||||
lmap.map("*/*", 0)
|
||||
lmap.mmap(RBA::LayerInfo::new(5, 10), 1, RBA::LayerInfo::new(100, 0))
|
||||
assert_equal(lmap.mapping_str(0), "+*/*")
|
||||
assert_equal(lmap.mapping_str(1), "+5/10 : 100/0")
|
||||
|
||||
lmap.clear
|
||||
lmap.map("*/*", 0)
|
||||
lmap.mmap(RBA::LayerInfo::new(5, 10), RBA::LayerInfo::new(16, 21), 1)
|
||||
assert_equal(lmap.mapping_str(0), "+*/*")
|
||||
assert_equal(lmap.mapping_str(1), "+5-16/10-21")
|
||||
|
||||
lmap.clear
|
||||
lmap.map("*/*", 0)
|
||||
lmap.mmap(RBA::LayerInfo::new(5, 10), RBA::LayerInfo::new(16, 21), 1, RBA::LayerInfo::new(100, 0))
|
||||
assert_equal(lmap.mapping_str(0), "+*/*")
|
||||
assert_equal(lmap.mapping_str(1), "+5-16/10-21 : 100/0")
|
||||
|
||||
lmap.clear
|
||||
lmap.map("*/*", 0)
|
||||
lmap.mmap("5-16/10-21", 1)
|
||||
assert_equal(lmap.mapping_str(0), "+*/*")
|
||||
assert_equal(lmap.mapping_str(1), "+5-16/10-21")
|
||||
|
||||
assert_equal(lmap.logicals(RBA::LayerInfo::new(5, 10)), [ 0, 1 ])
|
||||
assert_equal(lmap.logicals(RBA::LayerInfo::new(0, 10)), [ 0 ])
|
||||
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user