1. °²³]¨â¯x§ÎªºÂI©MÂI³s±µ,¨ººâ¬O¦³³s±µªºÃö«Y?
ans: NO. (¤£ºâ)
2. ¦b´ú¸ÕÀÉtest31¤¤ªºlabelÀɮצ³«½Æªºlabel¦WºÙ¡C
¦pªG¹J¨ì³oºØ±¡§Î¬O§ä¥X¤£¦Plabel¶¡ªº¸ô®|ÁÙ¬O¬Û¦Plabel¤]n¦Ò¼{?
ans: We should treat these labels with same label name as a group.
From the topology, there will be multiple paths between the two different label
groups.
And there is connected path(s) between any two different labels.
These labels help to identify the shorted path between the two different label
groups.
The program should be able to identify a shortest path from these paths.
For Example,
1 2 3
VDD+--------------+---------------+------------------------+VSS
13 | | 14 | 15
VDD+-------------------------------+------------+----------+VSS
16 | 4 5 6 |
| | 17
VDD +------+--------+--------+------------------+---------+VSS
7 8 9 11 12
Numbers 1 - 17 represent the shapes, there are so many paths between VDD to VSS,
while the shortest one would be
VDD (the middle one) through Shape 4 to Shape 14 to Shape 3 to VSS (the top
one).
¡@
3.
I want to make sure a shortest path on two different nets is determined by
the number of polygons only.(I mean it is not to include the number of vias
,right
¡@
ans: Yes, only the shapes of interconnect layers (metal1 and metal2).
¡@
4. ¨CÓtest case·|¤£·|¦³¶W¹L¨âºØªºlabel??
¬O¤£¬O©Ò¦³ªºtest case ³£·|¦³short¦s¦b¡H
ans:
In order to simplify the problem,
Yes, each test case contains exactly two different names of labels; and it
really has short problem.
¡@
5. §Ú·Q½Ð°Ý¤@Ó°ÝÃD~´N¬O·í¨âÓnode¤W¦³¶W¹L¤@±ø¥H¤Wªº³Ìµu¸ô®|®É
§ÚÌ»Ýn±N©Ò¦³ªº³Ìµu¸ô®|³£ªí¥Ü¥X¨Ó¶Ü??
ÁÙ¬O¥unªí¥Ü¨ä¤¤¤@±ø´N¥i¥HÅo??
Á|¨Ò : a -> b ¤W¦³¤T±ø ³Ìµu¸ô®|
a -> c -> d -> b
a -> 1 -> 2 -> b
a -> e -> f -> b
³o¤T±øªº¸ô®|¼Æ³£¬O¬Û¦P¥B³£¬O³Ìµu¸ô®|
¨º¬On¤T±ø³£ªí¥Ü¥X¨Ó¶Ü??
ÁÙ¬O¥unªí¥Ü¨ä¤¤¤@±ø´N¥i¥HÅo?
¡@
ans: We encourage you to report all of the paths into different output files.
While at least one of the shortest path should be output.
¡@
6. §Ú½Ð°Ý¤@¤U,¦btest31³oÓ´ú¸ÕÀɤ¤,¬O§_·|¦³¨âªºlabelªº®y¼ÐÂI¥´¨ì¦P¤@Ó¯x§Î¤W,
¦pªG·|µo¥Í³oºØ±¡§Î®É,§Ú̸Ӧp¦ó³B²z??
ans:
If the label names are the same, then it is OK.
If the label names are different, then it's a short; and the output for such
case is very simple,
i.e. just the rectangle they are located on.
Please note, you should also check with the ATTACH layerName for the labels;
maybe, they are attached to different layer shape (one attached to MET1, the
other attached to MET2);
then, it will be a different situation.
If you could, please send me the label names and the coordinates of the two
labels you found for
this specific testcase (test31). I can double check it for you.
¡@
---------------------------------------------------------------------------------------------------
6.1. ¦]¬°test31¸Ì±©Ò¦³ªºlabel name³£¬O¥´¤J¦P¤@¼h layer (³£¬Ometal2)
¦blabel name = VSS ®y¼Ð¬° (1300.3 , 3.75) ©M ( 0.5 , 4 ) ³o¨âÓlabel ³£·|¸¨¤J ( 0 , 1.5 ) (
1300.5 , 6 ) ³oÓ¯x§Î·í¤¤
¦Ólabel name = VSS ®y¼Ð¬° ( 0.25 , 253.25 ) ©M ( 1300.35 , 253.25 ) ³o¨âÓlabel ³£·|¸¨¤J ( 0
, 251.25 ) ( 1300.5 , 255.75 ) ³oÓ¯x§Î·í¤¤
ans:
¦]¬°¥´¦b¦P¤@Ó¯x§Îªº³o¨âÓlabel name ³£¬O VSS, ©Ò¥H¬OOKªº. They just confirm that the rectangle
they attached is really for VSS. §ÚÌ¥i¥H±N³o¨âÓlabel©Ò¦bªºÂI, ¨Ò¦p (1300.3 , 3.75) ¤Î ( 0.5 ,
4 ), ·í¦¨
¦P¤@Ó°_©lÂIfor path tracing.
¡@
8. ¦bÃD¥ØpdfÀɸ̱ªºªºevalution¨º¬q...
"Number of interconnect shapes in the output"
¬O¤°»ò·N«ä??
¡@
ans:
It means number of shapes (number of lines) reported in the output file. I.e.
those shapes (metal1 & metal2) belonging
to a net identified as short. It is 7 for the case shown in the example of
the problem statement (pdf/doc document).
Since there are 7 shapes reported in the output file.
9. ¤@Óvia¦b"¦P¤@¼h"¦³¨S¦³¥i¯à³s¨ì¨âÓ¥H¤Wªºmetal?
¦]¬°¦btest31¸Ì±¦n¹³¦³³oºØ±¡§Îµo¥Í...
¡@
ans: It's possible. As long as these metals shapes are abutting (i.e.
belonging to the same polygon/net);
´N¦p¤U¹Ï .
10. ¦³Ãölabelªº§PÂ_-----
1. ¦pªGlabelµ¹ªº®y¼Ð ¸¨¦b¦P¤@¼hªº¨âÓmetalªºÃä½t
³o¼ËÀ³¸Ó¨âÓmetal³£nºâ¹ï§a??
2.
¦pªG¬O°ªº¸Ü, ¦b´ú¸ÕÀÉtest22¸Ì±, À³¸Ó¨S¦³multiple shortest path§a??
¦]¬°®Ú¾Útest22ªºlabel¸Ì±²Ä¥|¦æ, ¥H¤Îmetal1¤¤²Ä2, 3¦æ
³o¨âÓmetalÀ³¸Ó¦P¼Ë¬°²×ÂI(°²³]VDD¬°²×ÂI)§a??
°¤l³Ìµu¸ô®|À³¸Ó¬O:
0.000 0.000 56.000 209.000(metal1)
|
0.000 209.000 942.000 226.000(metal1)
|
523.000 51.500 542.000 225.500(metal2)
|
161.000 52.000 1061.000 69.000(metal1)
¥|Ó§a???
3.
¤£¹L¦pªGlabel²Ä¥|¦æ±qì¨Óªº 1061.00 52.00 §ï¦¨ÅýY®y¼Ð¤p©ó52,
À³¸Ó´N¦³multiple shortest path¤F...
ÁÙ¬O³o´N¬Oreadme¸Ì±»¡ªºcombining the errors of test21 and test23 ?
¤£ª¾¹D¦³¨S¦³ºâ¿ù... ¿ù¤F½Ð¦h¥]§t... ^^"
p.s.ÀH¥óªþ¤W¥Îmfcµe¥X¨Óªºlayout¹Ï...
ans:
1. Both of the metal shapes need to be considered when we are tracing the
shorted path.
It appears at the lower-right corner with label name VDD.
±zì¨Óªþªº¹Ï¦n¹³¤W¤UÄAˤF. «·sªþ¤Wrotated «áªº¹Ï with label names highlighted.
2. In the figure of file spapa_test22_A, several shorted paths are
highlighted with different colors (there are more not highlighted).
You are right that the shape of rectangle (1005,0 ) (1061, 52), filled with cyan
color, could be ignored in counting the
"number of connected shapes" for the shorted path since there is no other shape
connected to it -- it is definitely belonging
to VDD and does not cause confusion.
So, there is only one shortest path --- highlighted by the line with green
color.
¡@
3. Your comments about the fourth label coordination are correct and valid.
Sorry for the confusion.
¡@
11.
1. ¤§«eªº°ÝÃD9©Ò°Ýªº¡G¤@Óvia¦b"¦P¤@¼h"¦³¨S¦³¥i¯à³s¨ì¨âÓ¥H¤Wªºmetal"
¨º·Ó¦^µª¨Ó¬Ý¡A¬O§_ªí¥Üvia¤£¤@©wn§¹¥þ³£¦bmetal rectangle¤§¤º
2. ÁÙ¬O¥²¶·¨º¦P¤@¼hªºmetal¤¬¬Û¬Û³s¡A©Ò¥Hvia¤~¥i¥H¦³¾î¸ó¤@Ómetal rectangleªº±¡§Î¥X²{¡H
3. ¨º¤U±³o2Ócase¥i¥H»¡ºâ¬O¬Û³sªº±¡ªp¶Ü¡H
Black¡Gvia Blue¡Gmetal2
Red¡Gmetal1
Case 1
Case 2
4. ·|¦³³æ¿Wªºvia¦s¦b©Î¬O¥u¸ò¨ä¤¤¤@¼hmetal rectangle overlapªº±¡§Îµo¥Í¶Ü¡H
Ãþ¦ü©³¤U³o¼Ë
ans:
1. via ¤@©w·|³Qmetal1, metal2 §¹¥þ¥]¦í, ¦ý¤£¤@©w¥u¦b³æ¤@Ó metal rectangle ¤§¤º
2.¬Oªº
3.³£¤£ºâ. °ò¥»¤W³o¨âÓcases ³£¹H¤ÏDesign Rule.
Testcases¤¤À³¸Ó¤£·|¦³³o¨Çª¬ªp¤~¹ï
4.No. If there is, please just ignore it.
¡@
12.
Y¦b¥Õ¦âªºmetal 1¤¤¦³metal-11»Pmetal-12¬Û¾F,¨Ã¥B¦b¥t¤@¼hÁÙ¦³¤@Ómetal 2»P¥¦Ì«Å|,°£¦¹¤§¥~,¦³¤@Óvia¥¿¦n¥´¦b¦¹¨â¬Û¾Fmetal 1ªºÃä¤W¡C³]¦¹viaªº¥kÃ䥿¦n»Pmetal-11»Pmetal-12¬Û¾FªºÃ䫦X,½Ð°Ý¦b³oºØ±¡ªp¤U: (1)metal 2¥²¶·ÂÇ¥Ñmetal-11¤~¯à»Pmetal-12³s³q,©Î¬O(2)¦]¬°viaªºÃ䦳»Pmetal-12ªºÃä¬Û¾F,©Ò¥H¤]µø¬°metal-12¥i¥Hª½±µÂÇ¥Ñvia³s³q¨ìmetal 2,¦Ó¤£»Ýn³z¹Lmetal-11¤~¯à»Pmetal 2³s³q?
¡@
¡@
¡@
¡@
ans:
For this case, Metal1-11 through via to Metal2 would be enough.
Since this via is fully enclosed by Metal-11, we can ignore Metal-12 which does
not enclose (or overlap) the via, but only with edge touched.
¡@
13.
1. A¡BB¡BC¬O«ü¬õ¦âªº¯x§Î¡A1¡B2¡B3¬O«üÂŦ⪺¯x§Î
¨Ì·Ó¤W¹Ï¡A¦pªGn±q¤U±ºñ¦âªº¤pÂI¨«¨ì¤W±ºñ¦âªº¤pÂI¡Aþ»ò¸ô®|ªººâªk
ƒÜ 3¡B2¡BB¡BC ¡]ªí¥ÜA¡B1¥iºâ¬Oª½±µ¬Û³s ©Î¬OB¡B2¤]¬O¡^
ƒÜ 3¡B2¡B1¡BA¡BB¡BC ¡]ªí¥Ün¸g¹L³o¨Çvia¨º»ò4Ó¯x§Î³£nºâ¤~¥i¡^
¤£ª¾¹D¬O±Ä¥Î¤W±þ¤@ºØºâªk¡H
2.
¦b°ÝÃD6¤¤¨Ì·Ó¦^µª¨Ó¬Ý¡A¦³¥i¯à¤@Ó¯x§Î¦P®É³Q¼Ð¤WÄÝ©ó¦P¤@layerªºVSS¸òVDDªºlabel¡A¨º»ò³oºØcaseªº³Ìµu¸ô®|´N¬O³oÓ¯x§Î¥»¨¡A¥i¬O³oºØcaseªºall
pathn¦p¦ó¦C¥X©O¡H³oºØcaseÀ³¸Ó¤£ºâ¬Oµu¸ô°ÝÃD¦Ó¬O³]p¿ù»~©Ò¥H¥u»Ý¦C¥X³oÓ¯x§Î¶Ü¡H©Î¬O¦b¦Cpath®É¥i¥H±N¦¹¯x§Î·í§@¬O¤@Ó¨S¦³label¦s¦bªº¯x§Î¨Ópºâpath¶Ü¡H
¡@
ans:
1.
¸û¥¿½Tªºªí¥ÜÀ³±Ä¥Î²Ä¤GºØ, §Y3¡B2¡B1¡BA¡BB¡BC
We need to include all of shapes fully enclosing the via(s), if the via(s) is on
the shorted paths.
¡@
2.
We can treat this special case as a shorted path. The iteration of short
location will finally come
to such situation, so that we know where the short is exactly located. Normally,
this rectangle is
wrongly placed in the layout and the designers need to correct it. You may refer
to the reference paper.
¡@
14.
1.½Ð°Ý¤@¤U¥[¤Àªº³¡¤À¡A¬O»¡¥un¬Oµu¸ôªº¸ô®|´Nnoutput¥X¨Ó¡A¦ý¬O³o±ø¸ô®|¤£¤@©wn¬O³Ìµuªº¡A¬O³oÓ·N«ä¶Ü¡H(¦]¬°°ÝÃD5ªº¦^µª¦n¹³¬O¥u°w¹ï³Ìµu¸ô®|¸òÃD¥Ø¤Wªº¥[¤Àn¨D¦³¨Ç¤£¦P¡A©Ò¥H·Q§Ë²M·¡^^||)
2.¸ô®|¬Onrectangleªº¶°¦X¨Ó¥Nªí¡A¨º»ò¦pªG±N¨ä¤¤¬Y¨Ç¯x§Îªº¶¶§Ç±¼´«¤@¤U¡A¤]´N¬O±qVSS¨ìVDDªº¨Ì§Ç¨«ªºrectangle¤£¦P¡A³o¼Ë¥i¥Hºâ¬O¥t¤@±øªº¸ô®|¶Ü¡HÁÙ¬O¥un¶°¦X¤¤ªºrectangle
¬O¤@¼Ò¤@¼Ëªº¡A¨º»ò¤£ºÞ¶¶§Ç¤@½×³£·í¦¨¤@±ø¸ô®|¨Ópºâ¡H
¡@
ans:
1.Yes. ¥[¤Àªº³¡¤À: ¥un¬Oµu¸ôªº¸ô®|´Nnoutput¥X¨Ó¡A¦ý¬O³o±ø¸ô®|¤£¤@©wn¬O³Ìµuªº.
¡@
2. If you could report the rectangles in an order (either from VSS or from
VDD) that would be a plus. It would be very helpful
if the users want to trace the layout with the text report.
Since we have the scheme to show the results in graphics, it does not matter the
order of the rectangles reported.
The output path should be unique, i.e. ¥un¶°¦X¤¤ªºrectangle
¬O¤@¼Ò¤@¼Ëªº¡A¨º»ò¤£ºÞ¶¶§Ç¤@½×³£·í¦¨¤@±ø¸ô®|¨Ópºâ.
¡@
15.
³]¦b¥Õ¦âªºmetal 1¤¤(¦³metal-11»Pmetal-12¬Û¾F),¦b¥t¤@¼hÁÙ¦³ÂŦ⪺metal 2 (¥Bmetal-21»Pmetal-22¬Û¾F),°£¦¹¤§¥~,metal-21©Mmetal-22§¡»Pmetal-11«Å|,¦P®É, metal-22¤]»Pmetal-12«Å|¡CY¦³¤@Óvia¥¿¦n¥´¦b¦¹¨â¬Û¾Fmetal 1ªºÃä¤W,³]¦¹via¥ç¥¿¦n¥´¦bmetal-21»Pmetal-22¬Û¾FªºÃä¤W,½Ð°Ý:(1)metal-12¥²¶·ÂÇ¥Ñmetal-11©Îmetal-22¤~¯à»Pmetal-21³s³q?ÁÙ¬O(2)¦]¬°viaªº¥k¥b³¡¥´¦bmetal-12¤W,viaªº¥ª¥b³¡¤]¥´¦bmetal-21¤W,©Ò¥H¤]µø¬°metal-12¥i¥Hª½±µÂÇ¥Ñvia³s³q¨ìmetal-21,¦Ó¤£»Ýn³z¹Lmetal-11©Îmetal-22¤~»Pmetal-21³s³q?(3)¦b¦¹¦P®É,metal-11¥i§_ºâ¬Oª½±µ»Pmetal-21©Mmetal-22¬Û³q?
¡@
¡@
¡@
¡@
¡@
ans:
The guideline would be, all of the connect layers¡¦ shapes need to be reported
once their enclosed via(s) is in the path.
If we trace the path from Metal-12, and decide to trace up to metal2 through the
via,
Ć Since the via is partially enclosed by Metal-12 and Metal-11 encloses it also,
Metal-11 needs to be included in the path
Ć Get Metal-21 and Metal-22 enclosing this via. Both of Metal-21 and Metal-22
need to be included in the path once we select this via into the path -- no
matter the path goes to the left-hand side from Metal-21 or to the right-hand
side from Metal-22.
So, for this case, all of the four shapes should be reported.
¡@
16. [³q§i]
¥D¿ì³æ¦ì¤w¸g±N¶l±H³ø§i¥H¤ÎFTP¤W¶Ç§@«~ªº¤è¦¡¤½¥¬©ó°ÑÁɤâ¥U(April 22, 2004ª©¥»), ·q½ÐºÉ³t¦ÜÄvÁɺô¶¤U¸ü. ¥t¥~,
FTP¯¸¤]¤w¶}©ñ¤W¶Ç§@«~, ¤]½ÐºÉ³t½T»{¯à§_¦¨¥\µn¤J.
Y¦³¥ô¦óºÃ°Ý, ½Ð¨Ó«H cad@cs.nthu.edu.tw
ÁÂÁÂ
¡@
17.
(1)³]ÂŦâ¬Ometal 1,¬õ¦â¬Ometal 2,¦b¥H¤U¹q¸ô¹Ï¤¤,
¦³¤@±ø³Ìµu¸ô®|±q(VDD)1„³2„³3„³4(VSS),
¦¹®ÉYn§ämultiple paths,¬O§_¯à§ä¨ì¥t¤@±ø¸ô®|: (VDD)1„³2„³3„³4(VSS)„³5(VSS)
(2)·Q½Ð±Ðmultiple paths ªº§PÂ_±ø¥ó¨ú¨M©ó¤°»ò?
(¤£¦Pªº§PÂ_±ø¥ó·|¦³¤£¦Pªºmultiple paths¿é¥X)
¬O§_¬°¡§¥un¥ô·NVDD¨ì¥ô·NVSS¦³¸ô®|³s³q,¨Ã¥B¥ô·N¤@Ómetal¦b¤@±ø¸ô®|¤¤
¥u¯à³Q¸g¹L¤@¦¸ªº±¡ªp¤U,³o´Nºâ¬O¤@±ømultiple paths¤§¤@¶Ü?¡¨
Ex:¥Hºô¶¤W°ÝÃD2ªºµª®×¹Ï¥Ü¬°¨Ò:
¦¹¹Ïªºmultiple paths ¬O§_¥]¬A¥H¤U´X±ø:
VDD„³1„³2„³3„³VSS
VDD„³1„³2„³3„³15„³VSS
VDD„³ 1„³2„³3„³15„³17„³VSS
VDD„³16„³13„³1„³2„³3„³15„³17„³VSS
VDD„³ 1„³2„³3„³15„³6„³5„³4„³16„³7„³8„³9„³11„³12„³VSS
:
1 2 3
VDD+--------------+---------------+------------------------+VSS
13 | | 14 | 15
VDD+-------------------------------+------------+----------+VSS
16 | 4 5 6 |
| | 17
VDD +------+--------+--------+------------------+---------+VSS
7 8 9 11 12
¡@
ans:
(1) Yes. The path (VDD)1„³2„³3„³4(VSS)„³5(VSS) could be treated as another shorted path.
(2) Basically, yes. While if the program is smart enough, the shapes of 13, 16, 15, 17 should be ignored and not considered in the shorted paths. For example, shape 13 connected to VDD in both sides directly, it is definitely correct.
¡@
¡@
¡@