Presentation is loading. Please wait.

Presentation is loading. Please wait.

مرتضي صاحب الزماني 1 Data Structures. مرتضي صاحب الزماني 2 Corner Stitching.

Similar presentations


Presentation on theme: "مرتضي صاحب الزماني 1 Data Structures. مرتضي صاحب الزماني 2 Corner Stitching."— Presentation transcript:

1 مرتضي صاحب الزماني 1 Data Structures

2 مرتضي صاحب الزماني 2 Corner Stitching

3 مرتضي صاحب الزماني 3 Corner Stitching Advantages: Easy changes. Many basic operations in O(# of neighbors) (worst case: O(n)) Number of pointers = 4 independent of number of neighbors. xytr rt bl lb height width Text (name)

4 مرتضي صاحب الزماني 4 Point Finding or

5 مرتضي صاحب الزماني 5 Point Finding (Example)

6 مرتضي صاحب الزماني 6 Point Finding Algorithm B: current block x,y: destination point or (x B.x + B.width) is optional.

7 مرتضي صاحب الزماني 7 Neighbor Finding همة tile هايي را که با ضلع مشخصي از tile مورد نظر تماس دارند بيابيد. الگوريتم ( براي سمت راست ): از اشاره گر tr با استفاده از lb ها آنقدر پايين بيا تا به tile ي برسي که اصلاً در محدودة عمودي tile اوليه نيفتد.

8 مرتضي صاحب الزماني 8 Area Searching در يک ناحية مستطيلي، اگر بلوکي وجود دارد اعلام شود.

9 مرتضي صاحب الزماني 9 Area Searching Algorithm 1) tile ي را پيدا کن که گوشة بالا - چپ ناحيه در آن باشد. 2) اگر space tile است  اگر لبة راست آن داخل ناحيه باشد پس tile مجاور بلوک است ( دو tile space نمي توانند افقي مجاور هم باشند ). 3) اگر در 2 پيداشد جستجو پايان يافته. اگر نه، با يک lb به پايين و سپس با tr ها به راست به tile بعدي که لبة سمت چپ ناحيه در آن قرار دارد برو. 4) تکرار 2 و 3 تا کل ناحيه جستجو شود يا بلوک پيدا شود.

10 مرتضي صاحب الزماني 10 Tile Enumeration در يک ناحية مستطيلي، همة بلوکها ليست شوند.

11 مرتضي صاحب الزماني 11 1) tile ي را پيدا کن که گوشة بالا - چپ ناحيه در آن باشد. سپس مرحله به مرحله پايين بيا و همة tile هايي را که ضلع چپ ناحيه در آنها قرار دارد ( مشابه جستجوي ناحيه ) بپيما. 2) براي هر tile پيدا شده در ( 1 ) به صورت بازگشتي R1 تا R5 را انجام بده. R1) tile را enumerate کن. R2) اگر لبة راست tile خارج از ناحيه است از پروسة R return کن. Tile Enumeration Algorithm R3) والا با Neighbor Finding همة tile هايي که با لبة راست tile جاري تماس دارند و با ناحيه هم تقاطع دارند پيدا کن. با ناحيه تقاطع ندارد.

12 مرتضي صاحب الزماني 12 Tile Enumeration Algorithm R4) براي هر کدام از اين همسايه ها اگر گوشة پايين - چپ همسايه با tile جاري تماس دارد R را به طور بازگشتي براي همسايه اجرا کن. ( پايين ترين همسايه را به مرحلة بعدي واگذار مي کند ).

13 مرتضي صاحب الزماني 13 Tile Enumeration Algorithm R5) اگر لبة پاييني ناحيه، هر دو tile جاري و همسايه را قطع مي کند R را فراخوان تا همسايه را بازگشتي enumerate کند.

14 مرتضي صاحب الزماني 14 Block Insertion

15 مرتضي صاحب الزماني 15 Block Deletion

16 مرتضي صاحب الزماني 16 Layout Description Language CIF (Caltech Intermediate Form) Box: B width height center direction default: (1, 0) Polygon: P path Wire: W width path Layer: L layername User command: number usercommand Call: C symbol transformation DS symbol DF

17 مرتضي صاحب الزماني 17 GDSII Format GDSII (Graphics Database Systems): –Stream format –Standard file format for transferring/archiving 2D graphical design data. Binary format Platform independent –because it uses internally defined formats for its data types. Hierarchy of structures: –Boundary –Path –Text –box –Structure references (SREF) –Structure array references (AREF)

18 مرتضي صاحب الزماني 18 GDSII Records Nr.CodeMnemonicData Typedescription 00002HEADERTwo-Byte Signed Integerversion number 20206LIBNAMETwo-Byte Signed Integername of library 30305UNITSEight-Byte Realuser and database units 80800BOUNDARYNo Databegin of boundary element 90900PATHNo Databegin of path element 120C00TEXTNo Databegin of text element 130D02LAYERTwo-Byte Signed Integerlayer number of element 322006FONTSASCII stringname of text fonts definition files 332102PATHTYPETwo-Byte Signed Integertype of PATH element end ( rounded, square) The GDSII format is a sequential list of records: Some records:

19 مرتضي صاحب الزماني 19 GDSII Example # KEY file for GDS-II # File = example.key # ==================================================================== HEADERHEADER 5; # version BGNLIB; LASTMOD {98-8-25 15:53:12}; # last modification time LASTACC {98-8-25 15:53:12}; # last access time LIBNAME TEMPEGS.DB; UNITS; USERUNITS 0.01; PHYSUNITS 1e-08; BGNLIB LIBNAME UNITS BGNSTRBGNSTR; # Begin of structure CREATION {98-8-25 15:53:12}; # creation time LASTMOD {98-8-25 15:53:12}; # last modification time STRNAME AAP; STRNAME BOUNDARYBOUNDARY; LAYER 1; DATATYPE 0; XY 5; X -920000.000; Y 452000.000; X 656500.000; Y 765500.000; X 175000.000; Y -174000.000; X -756000.000; Y -198000.000; X -920000.000; Y 452000.000; ENDEL;LAYER ENDEL ENDSTRENDSTR AAP; BGNSTRBGNSTR; # Begin of structure CREATION {98-8-25 15:53:12}; # creation time LASTMOD {98-8-25 15:53:12}; # last modification time STRNAME LAYOUT; BOUNDARYBOUNDARY; LAYER 0; DATATYPE 0; XY 5; X -2032000.000; Y 1410000.000; X 1427000.000; Y 1666000.000; X 502000.000; Y -1580500.000; X 502000.000; Y -1523500.000; X -2032000.000; Y 1410000.000; ENDEL;

20 مرتضي صاحب الزماني 20 GDSII Example (continue) BOXBOX; LAYER 2; BOXTYPE 0; XY 5; X 1526500.000; Y -1034500.000; X 2623500.000; Y -1034500.000; X 2623500.000; Y 1105500.000; X 1526500.000; Y 1105500.000; X 1526500.000; Y -1034500.000; ENDEL; SREFSREF; SNAME AAP; STRANS 0,0,0; XY 1; X -1112500.000; Y -1267000.000; ENDEL; PATHPATH; LAYER 3; DATATYPE 0;WIDTH 100000; XY 4; X 891912.000; Y 2322024.000; X 966537.000; Y 1854278.000; X 2599515.000; Y 2311647.000; X 2626485.000; Y 2005353.000; ENDEL; TEXTTEXT; LAYER 3; TEXTTYPE 0; PRESENTATION 0,2,0; PATHTYPE 1; STRANS 0,0,0; MAG 1875; XY 1; X -2256500.000; Y 1539500.000; STRING "Boundary"; ENDEL;


Download ppt "مرتضي صاحب الزماني 1 Data Structures. مرتضي صاحب الزماني 2 Corner Stitching."

Similar presentations


Ads by Google