在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3238|回复: 3

鸟语版 soc encounter 使用指南,哪位兄弟帮翻译。

[复制链接]
发表于 2009-10-20 13:20:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
http://www.csd.uoc.gr/~hy523/socencounterhowto_2008.html

SoC Encounter HOWTO
Χρήστος Σωτηρίου, 19/11/2008
Περιεχόμενα1. SETUP
2. Προαπαιτούμενα γιατην εισαγωγή του σχεδίου
2.1 Πρόσθεση Επιθεμάτων(Pads) Εισόδων/Εξόδων
2.2 Ορισμός ΕπιθεμάτωνΤάσης/Γείωσης
2.3 Προτεινόμενη ΔομήΚαταλόγων
3. Εισαγωγή Σχεδίου στοSoC Encounter
4. Εισαγωγή ΧρονικώνΠεριορισμών
5. Eισαγωγή ΑρχείουΕπιθεμάτων Εισόδων/Εξόδων
6. Δημιουργία ΧρονικούΓράφου
7. Χρονική Ανάλυση καιΑνάλυση Περιορισμών
8. Χωροθέτηση καίΩφέλιμο Εμβαδό
8.1 Μονάδες στηνδιαδικασία Χωροθέτησης
9. ΧειρονακτικήΧωροθέτηση
9.1 Φυσικοί Περιορισμοί της Χωροθέτησης
9.2 Φυσική Ιεραρχία
10. Αυτόματη Χωροθέτηση
11. Ιεραρχική Σχεδίασημε την μέθοδο των Τμημάτων (Partitions)
12. Κλείσιμο τουΠλαισίου
13. Σχεδίαση ΠαροχώνΡεύματος
14. Ορισμός καιΣύνδεση των Συνδέσεων Ρεύματος
15. ΔιαδικασίαΤοποθέτησης
16. Ορισμός ΔέντρωνΡολογιών
17. Σύνθεση ΔέντρωνΡολογιών
18. Διασύνδεση ΠαροχώνΡεύματος
19. ΔιαδικασίαΕπιτόπιας Βελτιστοποίηση (In-Place Optimization)
20. Ορισμός ΠαραμέτρωνΔιασύνδεσης
21. ΔιαδικασίαΚαθολικής Διασύνδεσης
22. Διαδικασία ΕξαγωγήςΚαθυστερήσεων
23. Τελείωμα Σχεδίου
24. Εξαγωγή ΑρχείουGDSII
25. Βελτιώσεις στηνΠαραπάνω Ροή: Ομοιόμορφα σχέδια καί Νέοι,επιπρόσθετοι Αλγόριθμοι
26. ΠαραδείγματαΕντολών
26.1 00-LoadConfig
26.201-LoadTimingConstraints
26.3 02-LoadIOfile
26.4 03-TimingAnalysis
26.5 04-Floorplanning
26.6 05-PowerPlanning
26.7 06-RoughPlacement
26.8 07-TimingNetLoad
26.9 08-Placement
26.1009-ClockTreeSynthesis
26.11 10-PowerRouting
26.12 11-TrialRouting
26.1312-TimingAnalysis
26.1413-FixViolationsIPO
26.15 14-Routing
26.16 15-Finalize

1. SETUP
χρειάζεστε να έχετε το εκτελέσιμο encounter στο μονοπάτι σας, απλάτρέχετε:

source/usr/local/vlsi/SCRIPTS/soc-encounter-3.3-setup.bash

προσέξτε οτι το SoC Encounter γράφει δυο αρχεία κατα την εκτέλεση τουτα οποία είναι πολύ χρήσιμα, το encounter.log*καί το encounter.cmd*.Το πρώτο αποθηκεύει όλο το ημερολόγιο των διαδικασιών που ακολουθήσατε,δηλ. όλο το κείμενο που παρήγαγαν οι εντολές που εισήχθησαν, ενω τοδεύτερο τις ίδιες τις εντολές, είτε αυτές δόθηκαν μέσα απο το γραφικόπεριβάλλον, είτε απο το περιβάλλον κειμένου.
2. Προαπαιτούμεναγια τηνεισαγωγή του σχεδίουΓια την εισαγωγή του σχεδίου στο φυσικό στάδιο της ροής χρειάζονταιαρκετά προαπαιτούμενα αρχεία, τα οποία δημιουργούν μια βάση δεδομένωνκαί ως προς την τεχνολογία υλοποίησης, σε επίπεδο φυσικών απαιτήσεωνκαί χρονικής ανάλυσης, καί ως προς το ίδιο το σχέδιο και ταχαρακτηριστικά του.

Συνολικά, χρειάζονται τα παρακάτω:
  • Φυσική Περιγραφή των Κανόνων Σχεδίασης καί Απεικόνιση της φυσικήςμορφής των Βασικών Κυττάρων καί Έτοιμων Τμημάτων
    • Απαιτείται ενα αρχείο τύπου .LEF (Layout Entity File) το οποίονα ορίζει τους φυσικούς κανόνες, λ.χ. το ελάχιστο πλάτος μετάλλου, τηνελάχιστη απόσταση δυο ειδών μετάλλου, κτλ.
    • Επιπλέον απαιτείται ενα αρχείο τύπου .LEF, το οποίο ορίζειφυσικά χαρακτηριστικά για είτε τα βασικά κύτταρα είτε για έτοιμεςμονάδες, λ.χ. μνήμες SRAM
    • Μπορεί να υπάρχουν πάνω απο ενα LEF αναλόγως με την χρήσηέτοιμων μονάδων
  • Αρχείο Οργάνωσης Επιθεμάτων Εισόδων-Εξόδων
    • Απαιτείται ενα αρχείο περιγραφής Εισόδων-Εξόδων που να ορίζειτην θέση του κάθε επιθέματος στον χώρο γύρω απο τον πυρήνα
    • Το Αρχείο αυτό περιγράφει τον προσανατολισμό και την θέση τουκάθε επιθέματος στις τέσσερις πλευρές του πυρήνα (Βόρεια, Νότια,Ανατολικά καί Δυτικά)
    • Εισάγει επιπλέον τα ειδικά επιθέματα για την Τάση/Γείωση καί οιτέσσερις Γωνίες
    • Τα επιθέματα και οι γωνίες πρέπει να κλείνουν το πλαίσιο, μεειδικά γεμίσματα (fillers), για να διοχετεύεται το ρεύμα σε όλα ταεπιθέματα και τελικά στον πυρήνα
  • Αρχείο Περιγραφής Χρονισμού Βιβλιοθήκης
    • Η μορφή .lib, που χρησιμοποιείται και στην λογική σύνθεση,είναι απαραίτητη για την εισαγωγή του χρονισμού των κυττάρων και τηνδιαδικασία χρονικής ανάλυσης
    • Υποστηρίζονται και επιπλέον μορφές, όπως .tlf (timing libraryfile) ή .ctlf (compiled timing library file)
  • Το σχέδιο σε μορφή Verilog ως κατάλογος πυλών (Netlist) στηνβιβλιοθήκη υλοποίησης
  • Χρονικοί περιορισμοί για το σχέδιο σε μορφή .SDC (Synopsys DesignConstraints)
Όλα τα παραπάνω εισάγονται στο SoC Encounter, όπως παρουσιάζεται στο 3.Εισαγωγή Σχεδίου.
2.1 Πρόσθεση Επιθεμάτων (Pads) Εισόδων/Εξόδων
Τα επιθέματα εισόδων/εξόδων,που τελικά θα συνδεθούν σε ακίδες και πάνω σε μια τυπωμένη πλακέτα,πρέπει να εισαχθούν με το χέρι στο τελικό αρχείο verilog του σχεδίου,όπως λ.χ. παρουσιάζεται παρακάτω:

inbuf3_16scan_in_pad_ ( .di(scan_in), .pad(scan_in_PAD) ); // input pad //
iobuf3_16_12scan_out_pad_ ( .pad(scan_out_PAD), .\do (scan_out), .en(1'b1) ); //output pad //
inbuf3_16shift_clk_pad_ ( .di(shift_clk), .pad(shift_clk_PAD) ); // input pad //
iobuf3_16_12test_so_DLX_pad_ ( .pad(test_so_PAD), .\do (test_so), .en(1'b1) ); //output pad //

Δηλαδή, το κάθε input/output γίνεται wire και οδηγείται είτε αποεπίθεμα εισόδου, είτε οδηγεί ενα επίθεμα εξόδου. Για τα επιθέματαεξόδου πρέπει να επιλέγεται το επίθεμα και με την σωστή οδηγητικήικανότητα κατάλληλη για εκτός του ολοκληρωμένου.
2.2 Ορισμός Επιθεμάτων Τάσης/Γείωσης/ΓωνίεςΤα ειδικά επιθέματα Τάσης/Γείωσης/Γωνίες ορίζονται μόνο στο αρχείοεισόδων-εξόδων, όπως παρακάτω:

Pad:vss_2             W allvss
Pad:vdd_2             W allvdd
Pad: corner1NW ulcnr_tie
Pad: corner2SW llcnr_tie
Pad: corner3NE urcnr_tie
Pad: corner4SE lrcnr_tie

Το όνομα των εμφανίσεων των VDD/VSSείναι allvss,allvddσε αυτήν την τεχνολογία, οπότε παραπάνω ορίζεται ενα ζεύγος vdd_2, vss_2.Επιπλέον, οι τέσσερις γωνίες έχουν ονόματα ulcnr_tie, llcnr_tie, urcnr_tieκαί lrcnr_tie.Με τις παραπάνω γραμμές στο αρχείο εισόδων εξόδων ορίζουμε την εμφάνισητους. Η θέση εξαρτάται απο την σειρά και τις αποστάσεις που ορίζονταιεπίσης εκεί.
2.3 Προτεινόμενη Δομή Καταλόγων

Λόγω της πληθώρας των διαφορετικών αρχείων προτείνεται η παρακάτω δομήαρχείων για την χρήση του SoC Encounter στον κατάλογο απο τον οποίοεκτελείται το εργαλείο:

verilog/  τα αρχεία του σχεδίου
sdc/ οι χρονικοί περιορισμοί
lef/ τα αρχεία φυσικής περιγραφής της τεχνολογίας
lib/ ήtlf/  τα αρχεία χρονισμού της τεχνολογίας
SAVES/ ενας κατάλογος για αποθήκευση του σχεδίου και των διάφορων σταδίων τηςυλοποίησης
scripts/  κατάλογος για κείμενα έτοιμων εντολών
clockspec/τα αρχεία για την σύνθεση του ρολογιού
3. Εισαγωγή Σχεδίου στο SoC EncounterΈχοντας συλλέξει όλα τα παραπάνω το σχέδιο μαζί με τις βιβλιοθήκεςεισάγεται στο SoC Encounter με την υπερ-εντολή loadConfig,η οποία λαμβάνει ως παράμετρο ενα αρχείο με διάφορες μεταβλητές:

loadConfigmychip.conf

Παράδειγμα .conf αρχείου υπάρχει στο τέλος του HOWTO. Οι σημαντικότερεςμεταβλητές είναι οι παρακάτω.
  • set rda_Input(ui_netlist) "<verilog input filename>"
  • set rda_Input(ui_netlisttype) {Verilog}
  • set rda_Input(ui_settop) {1}
  • set rda_Input(ui_topcell) {<top module name>}
  • set rda_Input(ui_timelib) "<tlf library filename>"
  • set rda_Input(ui_io_file) "<i/o assignment filename>"
  • set rda_Input(ui_timingcon_file) "<sdc filename>"
  • set rda_Input(ui_buf_footprint) {<buffer cell name list>}
  • set rda_Input(ui_inv_footprint) {<inverter cell name list>}
  • set rda_Input(ui_leffile) "<lef library filename>"
  • set rda_Input(assign_buffer) {1 -buffer <buffer cell name>}
Οι 1 κα&#943; 2 ορ&#943;ζουν το &#972;νομα του αρχε&#943;ου του σχεδ&#943;ου και τον τ&#973;πο του σεVerilog.Οι 3 κα&#943; η 4 ορ&#943;ζουν το υψηλ&#972;τερο επ&#943;πεδο του σχεδ&#943;ου. Οι 5, 6 κα&#943; 7ορ&#943;ζουν το αρχε&#943;ο tlf &#942; lib, τοαρχε&#943;ο οργ&#940;νωση&#962; εισ&#972;δων-εξ&#972;δων κα&#943; τον χρονικ&#974;ν περιορισμ&#974;ναντ&#943;στοιχα. Τα 8 κα&#943; 9 ορ&#943;ζουν μια λ&#943;στα απο κ&#973;τταρα κατ&#940;λληλα γιαεν&#943;σχυση. Τυπικ&#940; εκε&#943; ορ&#943;ζονται &#972;λα τα κ&#973;τταρα των ενισχυτ&#974;ν κα&#943;αντιστροφ&#941;ων για &#972;λα τα διαθ&#941;σιμα μεγ&#941;θη στην βιβλιοθ&#942;κη. Το 10 ε&#943;ναιτο αρχε&#943;ο lef,εν&#974; το 11 ορ&#943;ζει &#972;τι οι εντολ&#941;&#962; assign τη&#962;Verilog θα αντικατασταθο&#973;ν απο ενισχυτ&#941;&#962;.

Προσοχ&#942;, γενικ&#940; οι εντολ&#941;&#962; assign τη&#962; Verilog,δημιουργο&#973;ν προβλ&#942;ματα στα εργαλε&#943;α, ειδικ&#940; αν εξαρτ&#974;νται μεταξ&#973; του&#962;!

Η εντολ&#942; loadConfig,μπορε&#943; να αποφευχθε&#943; &#942; να εμπλουτιστε&#943; με την χρ&#942;ση των παρακ&#940;τωεντολ&#974;ν που εκτελο&#973;ν β&#942;μα-β&#942;μα την &#972;λη διαδικασ&#943;α τη&#962;:
  • loadFootPrint
  • loadIOFile
  • loadLefFile
  • loadTimingCon
4. Εισαγωγ&#942; Χρονικ&#974;ν Περιορισμ&#974;νΟι χρονικο&#943; περιορισμο&#943; μπορο&#973;ν να εισαχθο&#973;ν και με την παρακ&#940;τω εντολ&#942;:

loadTimingCon<sdc filename>

&#904;τσι, αν αυτο&#943; αλλ&#940;ξουν μπορο&#973;ν να φορτωθο&#973;ν εκ ν&#941;ου.
5. Eισαγωγ&#942; Αρχε&#943;ου Επιθεμ&#940;των Εισ&#972;δων/Εξ&#972;δωνΤο αρχε&#943;ο επιθεμ&#940;των εισ&#972;δων/εξ&#972;δων μπορε&#943; να εισαχθε&#943; με την παρακ&#940;τωεντολ&#942;:

loadIoFile<i/o assignment filename>
6. Δημιουργ&#943;α Χρονικο&#973; Γρ&#940;φουΓια την διαδικασ&#943;α Χρονικ&#942;&#962; Αν&#940;λυση&#962; πρ&#941;πει να δημιουργηθε&#943; ο σχετικ&#972;&#962;χρονικ&#972;&#962; γρ&#940;φο&#962;. Αυτ&#972;&#962;, δημιουργε&#943;ται με τι&#962; παρακ&#940;τω εντολ&#941;&#962;:
  • setCteReport
  • setAnalysisMode [-setup -async -skew -noclockTree -moduleIOCstr-noTimeBorrowing]
  • buildTimingGraph -ignoreNetLoad
Η 1η εντολ&#942; ορ&#943;ζει την επιλογ&#942; του λεγ&#972;μενου CTE (Common Timing Engine)του SoC Encounter, το οπο&#943;ο ε&#943;ναι και ο πιο &#974;ριμο&#962; απο του&#962; δυοχρονικο&#973;&#962; αναλυτ&#941;&#962; που υποστηρ&#943;ζει. Η 2η εντολ&#942;, ορ&#943;ζει τα ε&#943;δη τη&#962;χρονικ&#942;&#962; αν&#940;λυση&#962; που θα γ&#943;νουν, δηλ. -setup, ελ&#941;γχει το κ&#973;κλωμα γιαπαραβι&#940;σει&#962;  αν&#940;θεση&#962; (setup), -async,ελ&#941;γχει για περιορισμο&#973;&#962; set/reset, -skew,ελ&#941;γχει στην χρονικ&#942; αν&#940;λυση την απ&#972;κλιση του δ&#941;ντρου ρολογιο&#973;, -noclockTree,αγνοε&#943; το δ&#941;ντρο, -moduleIOCstr,ελ&#941;γχει περιορισμο&#973;&#962; των μον&#940;δων στι&#962; εισ&#972;δου&#962;/εξ&#972;δου&#962;, -noTimeBorrowing,δηλ&#974;νει οτι δεν πρ&#941;πει να δανε&#943;ζεται χρ&#972;νο&#962; απο προηγο&#973;μενο στ&#940;διο. Η3η εντολ&#942; τελικ&#940; φτι&#940;χνει τον Χρονικ&#972; Γρ&#940;φο. Η παρ&#940;μετρο&#962; -ignoreNetLoadαγν&#972;ει την χωρητικ&#972;τητα των αγωγ&#974;ν.
7. Χρονικ&#942; Αν&#940;λυση κα&#943; Αν&#940;λυση Περιορισμ&#974;ν
Η Χρονικ&#942; Αν&#940;λυση, εφ&#972;σον &#941;χει δημιουργηθε&#943; ο Χρονικ&#972;&#962; Γρ&#940;φο&#962;πραγματοποιε&#943;ται με την εντολ&#942; reportTA. Τυπικ&#940; η reportTA εκτελε&#943;ταιω&#962; εξ&#942;&#962;:

reportTA-max_paths 100 -outfile <filename>

Το παραπ&#940;νω υπολογ&#943;ζει τα 100 πιο κρ&#943;σιμα μονοπ&#940;τια, με διαφορετικ&#940;τελικ&#940; σημε&#943;α και αποθηκε&#973;ει τα αποτελ&#941;σματα σε &#941;να αρχε&#943;ο. &#902;λλε&#962;χρ&#942;σιμε&#962; παρ&#940;μετροι ε&#943;ναι οι -from, -to,-through, -rise, -fall, -nworst, -format, οι οπο&#943;ε&#962; εξετ&#940;ζουνσημε&#943;α απο μονοπ&#940;τια, επιλ&#941;γουν μια συγκεκριμ&#941;νη ακμ&#942; στο τελικ&#972;σημε&#943;ο, εξετ&#940;ζει πολλαπλ&#940; μονοπ&#940;τια με το &#943;διο τελικ&#972; σημε&#943;ο και ορ&#943;ζειτην μορφ&#942; του κειμ&#941;νου τη&#962; αν&#940;λυση&#962;.

Εκτ&#972;&#962; απο την χρονικ&#942; αν&#940;λυση που εστι&#940;ζει την αν&#940;λυση των ρολογι&#974;ν καιτων σχ&#941;σεων μεταξ&#973; του&#962;, οι σχεδιαστικο&#943; περιορισμο&#943; του σχεδ&#943;ου, β&#940;σητων ορισμ&#941;νων επιτρεπτ&#974;ν περιορισμ&#974;ν τη&#962; βιβλιοθ&#942;κη&#962;, δηλ. αριθμ&#972;&#962;διακλαδ&#974;σεων (fanout), χρ&#972;νο&#962; μεταβολ&#942;&#962; (transition time) κα&#943;χωρητικ&#972;τητε&#962; (capacitance), μπορο&#973;ν να ελεγκτο&#973;ν με τι&#962; παρακ&#940;τωεντολ&#941;&#962;:

reportCapViolation-all [-outfile <filename>]
reportTranViolation-all [-outfile <filename>]
reportFanoutViolation-all [-outfile <filename>]
8. Χωροθ&#941;τηση κα&#943; Ωφ&#941;λιμο Εμβαδ&#972;Το πρ&#974;το β&#942;μα τη&#962; χωροθ&#941;τηση&#962; ε&#943;ναι ο ορισμ&#972;&#962; του ωφ&#941;λιμου εμβαδο&#973;,π&#940;νω απο το εγγεν&#941;&#962; εμβαδ&#972; που καταλ&#940;μβ&#940;νουν οι π&#973;λε&#962; και απαιτε&#943;ταιγια την ενσωμ&#940;τωση &#972;λων των υπ&#972;λοιπων δομ&#974;ν, &#972;πω&#962; οι παροχ&#941;&#962; κα&#943;συνδ&#941;σει&#962; ρε&#973;ματο&#962;, οι αποστ&#940;σει&#962; μεταξ&#973; &#941;τοιμων τμημ&#940;των κα&#943; οαπαιτο&#973;μενο&#962; χ&#974;ρο&#962; για να ε&#943;ναι διασυνδ&#941;σιμο το σχ&#941;διο. Το ωφ&#941;λιμοεμβαδ&#972; ορ&#943;ζεται με την εντολ&#942; floorplan, &#972;πω&#962; φα&#943;νεται παρακ&#940;τω:

floorplan -d<dieW> <dieH> <coreToLeft><coreToBottom> <coreToRight> <coreToTop>

&#942;

floorplan -r<aspectRatio> <density> <coreToLeft><coreToBottom> <coreToRight> <coreToTop>

Στην πρ&#974;τη εκδοχ&#942; ορ&#943;ζονται απευθε&#943;α&#962; οι διαστ&#940;σει&#962; σε μικρ&#972;μετρα τουπλ&#940;του&#962; κα&#943; &#973;ψου&#962; του ολοκληρωμ&#941;νου, τα dieW, dieH, και οι αποστ&#940;σει&#962;απο την εξωτερικ&#942; περ&#943;μετρο στον πυρ&#942;να, δηλ. ο απαιτο&#973;μενο&#962; χ&#974;ρο&#962; γιατα επιθ&#941;ματα, εν&#974; στην δε&#973;τερη εκδοχ&#942; τη&#962; εντολ&#942;&#962; ορ&#943;ζεται μ&#972;νο ο λ&#972;γο&#962;πλ&#940;του&#962;/&#973;ψου&#962; και ενα ποσοστ&#972; πυκν&#972;τητα&#962;, density, το οπο&#943;οαντιπροσωπε&#973;ει τον επιπλ&#941;ον ωφ&#941;λιμο χ&#974;ρο π&#940;νω απο το εγγεν&#941;&#962; εμβαδ&#972; τουσυν&#972;λου των πυλ&#974;ν. Τυπικ&#940;, η πυκν&#972;τητα, αν&#940;λογα β&#941;βαια και με την φ&#973;σητου σχεδ&#943;ου ορ&#943;ζεται απο 0.5 &#974;&#962; 0.75.
8.1 Μον&#940;δε&#962; στην διαδικασ&#943;α Χωροθ&#941;τηση&#962;Οι μον&#940;δε&#962; στο πρ&#974;το επ&#943;πεδο ιεραρχ&#943;α&#962; του σχεδ&#943;ου αποτελο&#973;ν καιαντικε&#943;μενα χωροθ&#941;τηση&#962;, που μπορο&#973;ν να τοποθετηθο&#973;ν με συγκεκριμ&#941;νηδι&#940;ταξη στον πυρ&#942;να του ολοκληρωμ&#941;νου. Υπ&#940;ρχει ενα&#962; εσωτερικ&#972;&#962;περιορισμ&#972;&#962; ω&#962; προ&#962; τον αριθμ&#972; των πυλ&#974;ν πουαποτελο&#973;ν μια μον&#940;δα. Η αρχικ&#942; επιλογ&#942; ε&#943;ναι 100 π&#973;λε&#962;, μπορε&#943; &#972;μω&#962; νααλλ&#940;ξει με την παρακ&#940;τω παρ&#940;μετρο:

setPreferenceMinFPModuleSize <number of cells>
9. Χειρονακτικ&#942; Χωροθ&#941;τησηΧωροθ&#941;τηση ονομ&#940;ζουμε την διαδικασ&#943;α αν&#940;θεση&#962; χ&#974;ρου, ε&#943;τε εντελ&#974;&#962;συγκεκριμ&#941;νου, ε&#943;τε περ&#943;που συγκεκριμ&#941;νο στι&#962; μον&#940;δε&#962; που απαρτ&#943;ζουνενα σχ&#941;διο. Ειδικ&#940; για σχ&#941;δια που &#941;χουν φυσικ&#942; ομοιομορφ&#943;α, δηλ.αποτελο&#973;νται απο επαναλαμβαν&#972;μενε&#962; δομ&#941;&#962;, λ.χ. ενα&#962; πολυεπεξεργαστ&#942;&#962;, &#942;ενα ολοκληρωμ&#941;νο δρομολ&#972;γηση&#962; που αποτελε&#943;ται απο πολλαπλο&#973;&#962; τοπικο&#973;&#962;δρομολογητ&#941;&#962;, η χωροθ&#941;τηση ε&#943;ναι σημαντικ&#972; β&#942;μα μια και απλουστε&#973;ει καιτον χρ&#972;νο εκτ&#941;λεση&#962; των επ&#972;μενων βημ&#940;των αλλα και βελτι&#974;νει τααποτελ&#941;σματα.

Η χειρονακτικ&#942; χωροθ&#941;τηση συν&#942;θω&#962; γ&#943;νεται απο το γραφικ&#972; περιβ&#940;λλον,επιλ&#941;γοντα&#962; την μον&#940;δα, μεταφ&#941;ροντα&#962; την και αλλ&#940;ζοντα&#962; την μορφ&#942; τη&#962;,αν και μπορε&#943; να γ&#943;νει και με τι&#962; παρακ&#940;τω εντολ&#941;&#962;:

setObjFPlanBox<objtype> <objname> <llx> <lly> <urx><ury>

&#908;που <objtype>ε&#943;ναι ε&#943;τε Instance, Module, Net, Pin, Group &#942; Cell, αναλ&#972;γω&#962; με το τ&#943;θ&#941;λουμε να περιορ&#943;σουμε. Για την διαδικασ&#943;α Χωροθ&#941;τηση&#962; χρησιμοποιο&#973;μετον τ&#973;πο Module. Το <objname>ε&#943;ναι το &#972;νομα του αντικειμ&#941;νου, εν&#974; τα <llx>,<lly>,<urx>κα&#943; <ury>ε&#943;ναι οι τ&#941;σσερι&#962; συντεταγμ&#941;νε&#962;, οι x κα&#943; y για τοκ&#940;τω αριστερ&#940; σημε&#943;ο, και οι x κα&#943; y για τοπ&#940;νω δεξι&#940; σημε&#943;ο αντ&#943;στοιχα, που ορ&#943;ζουν την φυσικ&#942; θ&#941;ση και μ&#941;γεθο&#962;του.

Η εντολ&#942; setObjFPlanBoxListε&#943;ναι ακριβ&#974;&#962; &#972;μοια με την διαφορ&#940; οτι υποστηρ&#943;ζει μια λ&#943;στα αποσημε&#943;α, &#974;στε το σχ&#942;μα να μ&#942;ν ε&#943;ναι απαραιτ&#942;τω&#962; τετρ&#940;γωνο.
9.1 Φυσικο&#943;  Περιορισμο&#943; τη&#962; Χωροθ&#941;τηση&#962;Μετ&#940; τον προσδιορισμ&#972; τη&#962; θ&#941;ση&#962;/μεγ&#941;θου&#962; μια&#962; μον&#940;δα&#962;, υποστηρ&#943;ζονταιπεριορισμο&#943; για το π&#972;σο αυστηρ&#942; ε&#943;ναι αυτ&#942; η προσδιορισμ&#941;νη θ&#941;ση. Αυτο&#943;επιλ&#941;γονται απο τι&#962; παραμ&#941;τρου&#962; του τοποθετημ&#941;νου αντικειμ&#941;νου, καιε&#943;ναι οι παρακ&#940;τω:
  • Guide/Οδηγ&#972;&#962;
    • στην περ&#943;πτωση που ο προσδιορισμ&#972;&#962; ε&#943;ναι οδηγ&#972;&#962;, τ&#972;τε ταστοιχε&#943;α τη&#962; μον&#940;δα&#962; θα τοποθετηθο&#973;ν στην ευρ&#973;τερη περιοχ&#942; που αυτ&#972;&#962;ορ&#943;ζει, αλλ&#940; &#972;χι επακριβ&#974;&#962;, μ&#941;σα αυστηρ&#940; στα περιθ&#974;ρια του.
  • Fence/Φρ&#940;χτη&#962;
    • ο φρ&#940;χτη&#962; ορ&#943;ζει μια απ&#972;λυτη περιοχ&#942; για την μον&#940;δα, &#941;τσι,καν&#941;να στοιχε&#943;ο δεν επιτρ&#941;πεται να τοποθετηθε&#943; &#941;ξω απο αυτ&#972;ν, καιστοιχε&#943;α &#940;λλων μον&#940;δων απαγορε&#973;εται να τοποθετηθο&#973;ν μ&#941;σα σε αυτ&#972;ν.Ε&#943;ναι ο πιο αυστηρ&#972;&#962; φυσικ&#972;&#962; περιορισμ&#972;&#962;.
  • Region/Περιοχ&#942;
    • η περιοχ&#942; ε&#943;ναι &#972;μοιο&#962; περιορισμ&#972;&#962; με τον φτ&#940;χτη με την διαφορ&#940;οτι στοιχε&#943;α &#940;λλων μον&#940;δων επιτρ&#941;πεται να τοποθετηθο&#973;ν εντ&#972;&#962; αυτ&#942;&#962; τη&#962;περιοχ&#942;&#962; μια&#962; μον&#940;δα&#962;.
  • Soft Guide/Ευ&#941;λικτο&#962; Οδηγ&#972;&#962;
    • ο ευ&#941;λικτο&#962; οδηγ&#972;&#962; ε&#943;ναι παρ&#972;μοιο&#962; με την περιοχ&#942;, με τηνδιαφορ&#940; οτι δεν &#941;χει αν&#940;θεση σταθερ&#974;ν συντεταγμ&#941;νων.
9.2 Φυσικ&#942; Ιεραρχ&#943;αΕπιπλ&#941;ον, μπορε&#943; να δημιουργηθε&#943; μια φυσικ&#942; ιεραρχ&#943;α ομαδοποι&#974;ντα&#962;μον&#940;δε&#962; που &#941;χουν αυστηρ&#942; σ&#973;νδεση και συσχετ&#943;ζονται μεταξ&#973; του&#962;. &#904;τσι,ξεκιν&#972;ντα&#962; απο μια λογικ&#942; ιεραρχ&#943;α, &#972;λο το σχ&#941;διο μπορε&#943; να αναδομηθε&#943;σε μια ν&#941;α φυσικ&#942; ιεραρχ&#943;α. Οι σχετικ&#941;&#962; εντολ&#941;&#962; ε&#943;ναι οι εξ&#942;&#962;:
  • createInstGroup <groupname> [-guide | -region | -fence llxlly urx ury | -density <densityvalue>] [-isPhyHier]
  • addInstToInstGroup <groupname> {hInstName | instName |groupName}
Η πρ&#974;τη εντολ&#942; δημιουργε&#943; μια ν&#941;α ομ&#940;δα με ορισμ&#972; ε&#943;τε οδηγο&#973;, ε&#943;τεπεριοχ&#942;&#962; με μια συγκεκριμ&#941;νη πυκν&#972;τητα. Η επιλογ&#942; -isPhyHierε&#943;ναι απαρα&#943;τητη για να ορ&#943;σει οτι ε&#943;ναι η ομ&#940;δα αν&#942;κει στην φυσικ&#942;ιεραρχ&#943;α. Η δε&#973;τερη προσθ&#941;τει ε&#943;ναι μια μον&#940;δα, ιεραρχικ&#942; &#942; μ&#942; ε&#943;τε μιαολ&#972;κληρη ομ&#940;δα σε μια ορισμ&#941;νη ομ&#940;δα.

&#904;χοντα&#962; ορ&#943;σει ομ&#940;δε&#962; στην φυσικ&#942; ιεραρχ&#943;α ε&#943;ναι ε&#973;κολο να εγγυηθε&#943; ηδιαδικασ&#943;α τοποθ&#941;τηση&#962; οτι αυτ&#941;&#962; τοποθετο&#973;νται κοιτ&#972;ντα&#962; τι&#962; συνδ&#941;σει&#962;μεταξ&#973; των ομ&#940;δων ω&#962; κρ&#943;σιμε&#962; αντ&#943; τι&#962; συνδ&#941;σει&#962; μεταξ&#973; &#972;λων τωνμον&#940;δων. Οι μον&#940;δε&#962; εσωτερικ&#940; των ομ&#940;δων συσχετ&#943;ζονται στο μ&#941;γιστο.
10. Αυτ&#972;ματη Χωροθ&#941;τησηΤο εργαλε&#943;ο υποστηρ&#943;ζει και αυτ&#972;ματη διαδικασ&#943;α χωροθ&#941;τηση&#962;, μ&#941;σω μια&#962;παραλλαγ&#942;&#962; του αλγορ&#943;θμου τοποθ&#941;τηση&#962;. Η αυτ&#972;ματη αυτ&#942; διαδικασ&#943;αχωροθετε&#943; αυτ&#972;ματα &#972;λε&#962; τι&#962; μον&#940;δε&#962; στο πρ&#974;το επ&#943;πεδο του σχεδ&#943;ου,δ&#943;νοντα&#962; στον σχεδιαστ&#942; μια &#941;νδειξη για το ποι&#941;&#962; θ&#941;σει&#962; θεωρε&#943; οαλγ&#972;ριθμο&#962; οτι ε&#943;ναι κατ&#940;λληλε&#962; για την κ&#940;θε μον&#940;δα. Η αυτ&#972;ματηδιαδικασ&#943;α γ&#943;νεται ω&#962; εξ&#942;&#962;:

amoebaPlace-fp

Η παραπ&#940;νω εντολ&#942; μπορε&#943; να χρησιμοποιηθε&#943; και για βοηθ&#942;σει στηνχειροκ&#943;νητη χωροθ&#941;τηση, δηλ. ξεκιν&#974;ντα&#962; απο μια αυτ&#972;ματη χωροθ&#941;τηση οσχεδιαστ&#942;&#962; μπορε&#943; μετ&#940; να φτι&#940;ξει, β&#940;ση αυτ&#942;&#962;, μια καλ&#973;τερη.
11. Ιεραρχικ&#942; Σχεδ&#943;αση με την μ&#941;θοδο των Τμημ&#940;των(Partitions)Σε περ&#943;πτωση που &#941;να σχ&#941;διο ε&#943;ναι πολ&#973; μεγ&#940;λο, λ.χ. μεγαλ&#973;τερο απο 2εκατομμ&#973;ρια π&#973;λε&#962;, μια λ&#973;ση που μει&#974;νει τον χρ&#972;νο εκτ&#941;λεση&#962; τωναλγορ&#943;θμων ε&#943;ναι η ιεραρχικ&#942; σχεδ&#943;αση, &#972;που κ&#940;ποιε&#962; απο τι&#962; μον&#940;δε&#962;τοποθετο&#973;νται και διασυνδ&#941;ονται αυτ&#972;ματα, και &#972;λοι οι χρονικο&#943;περιορισμο&#943; ελ&#941;γχονται τοπικ&#940;, και μετ&#941;πειτα, &#972;ταν αυτ&#941;&#962; &#941;χουνσχεδιαστε&#943; μπορο&#973;ν να ολοκληρωθο&#973;ν στο τελικ&#972; σχ&#941;διο. Για αυτ&#942; τηνδιαδικασ&#943;α υπ&#940;ρχει η &#941;ννοια των τμημ&#940;των/partitions.

Μια μον&#940;δα &#942; ομ&#940;δα, εκτ&#972;&#962; απο του&#962; περιορισμο&#973;&#962; που εξηγ&#942;θηκαν παραπ&#940;νωμπορε&#943; να οριστε&#943; και ω&#962; ιεραρχικ&#972; τμ&#942;μα του σχεδ&#943;ου με την παρακ&#940;τωεντολ&#942;:

createPartition<partitionname> <hinstName> <CoreToLeft><CoreToRight> <CoreToTop> <CoreToBottom>

&#972;που <partitionname>ε&#943;ναι το νεο &#972;νομα του τμ&#942;ματο&#962;, <hinstName>ε&#943;ναι το &#972;νομα μια&#962; μον&#940;δα&#962; στην ιεραρχ&#943;α κα&#943; <CoreToLeft>,<CoreToRight>,<CoreToTop>,<CoreToBottom>ε&#943;ναι οι αποστ&#940;σει&#962; του εσωτερικο&#973; πλαισ&#943;ου του τμ&#942;ματο&#962; απο τοεξωτερικ&#972; &#940;κρο. Για την αρχικ&#942; μον&#940;δα, τη&#962; οπο&#943;α&#962; δημιουργε&#943;ται τοτμ&#942;μα, μπορε&#943; να &#941;χουν οριστε&#943; συντεταγμ&#941;νε&#962; και μ&#941;γεθο&#962;, τι&#962; οπο&#943;ε&#962;κληρονομε&#943; το τμ&#942;μα.

&#902;λλε&#962; χρ&#942;σιμε&#962; εντολ&#941;&#962; ε&#943;ναι οι εξ&#942;&#962;:
  • deleteAllPartitions
  • commitPartition
  • flattenPartition
Η πρ&#974;τη σβ&#942;νει &#972;λα τα τρ&#941;χοντα τμ&#942;ματα. Η δε&#973;τερη δημιουργε&#943; την φυσικ&#942;ιεραρχ&#943;α, εν&#974; η τρ&#943;τη επιπεδοποιε&#943; π&#940;λι το σχ&#941;διο.

Η διαδικασ&#943;α αυτ&#972;ματη&#962; χωροθ&#941;τηση&#962; παραπ&#940;νω ε&#943;ναι κατ&#940;λληλη κα&#943; για τηναν&#940;θεση θ&#941;σεων στι&#962; εισ&#972;δου&#962;/εξ&#972;δου&#962; εν&#972;&#962; τμ&#942;ματο&#962;.
12. Κλε&#943;σιμο του Πλαισ&#943;ουΜετ&#940; την χωροθ&#941;τηση και την τοποθ&#941;τηση των επιθεμ&#940;των πρ&#941;πει τοεξωτερικ&#972; πλα&#943;σιο που δημιουργο&#973;ν τα επιθ&#941;ματα να κλε&#943;σει προσθ&#941;τοντα&#962;τα απαρα&#943;τητα γεμ&#943;σματα ω&#962; εξ&#942;&#962;:

addIoFiller-cell <fillerCellName> [-prefix <prefixstring>]

&#908;που το <fillerCellName>ε&#943;ναι το κατ&#940;λληλο στοιχε&#943;ο απο την βιβλιοθ&#942;κη αν&#940;λογα με την κεν&#942;απ&#972;σταση, εν&#974; <prefixstring>ε&#943;ναι ενα πρ&#972;θεμα που μπα&#943;νει στο γ&#941;μισμα που προστ&#943;θετε στο σχ&#941;διο.
13. Σχεδ&#943;αση Παροχ&#974;ν Ρε&#973;ματο&#962;Το επ&#972;μενο β&#942;μα αμ&#941;σω&#962; μετ&#940; την χωροθ&#941;τηση ε&#943;ναι η σχεδ&#943;αση των παροχ&#974;ντου ρε&#973;ματο&#962;, ειδικ&#940; για (1) &#941;τοιμα τμ&#942;ματα, &#972;πω&#962; SRAMs, κα&#943; (2) γιατι&#962; σειρ&#941;&#962; των κυττ&#940;ρων του κυκλ&#974;ματο&#962;. Συνολικ&#940;, &#941;χουμε (α) τι&#962;οριζ&#972;ντιε&#962; παροχ&#941;&#962; των σειρ&#974;ν, (β) τι&#962; κ&#940;θετε&#962; παροχ&#941;&#962; των σειρ&#974;ν κα&#943;(γ) τι&#962; ειδικ&#941;&#962; παροχ&#941;&#962; των &#941;τοιμων μον&#940;δων.

Η διαδικασ&#943;α παροχ&#974;ν ξεκιν&#940; απο την δ&#941;σμευση του χ&#974;ρου γ&#973;ρω απο κ&#940;θε&#941;τοιμη μον&#940;δα για να περ&#940;σουν απο εκε&#943; οι αγωγο&#943; του ρε&#973;ματο&#962; που θατροφοδοτ&#942;σουν κα&#943; την μον&#940;δα αλλ&#940; και τι&#962; κ&#940;θετε&#962; παροχ&#941;&#962; που αυτ&#942;κ&#972;βει. Αυτ&#972; γ&#943;νεται με την παρακ&#940;τω εντολ&#942;:

addHaloToBlock<left> <bottom> <right> <top> [instName |-allMacro | -allBlackBox | -allBlock | -cell <cellname]

Η παραπ&#940;νω εντολ&#942; εισ&#940;γει ενα στεφ&#940;νι γ&#973;ρω απο κ&#940;θε μον&#940;δα με πλ&#940;το&#962; <left>,<bottom>,<right>,<top>στι&#962; αντ&#943;στοιχε&#962; τ&#941;σσερι&#962; πλευρ&#941;&#962;, ε&#943;τε για μια μον&#940;δα με &#972;νομα instName,ε&#943;τε για &#972;λε&#962; τι&#962; μον&#940;δε&#962; με το -allBlock.

Το επ&#972;μενο στ&#940;διο ε&#943;ναι η πρ&#972;σθεση των δακτυλ&#943;ων του ρε&#973;ματο&#962; γ&#973;ρω αποκ&#940;θε μον&#940;δα, αλλα και γ&#973;ρω απο τον πυρ&#942;να για το συνολικ&#972; ολοκληρωμ&#941;νο.Και οι δυο αυτ&#941;&#962; διαδικασ&#943;ε&#962; επιτυγχ&#940;νονται με την &#943;δια εντολ&#942;, &#972;πω&#962;φα&#943;νεται παρακ&#940;τω:

addRing -nets{<power nets list>} [-type {core_rings | block_rings} -around{each_block | power_domain | selected | core}]-spacing_left/right/top/bottom <spacing>-layer_left/right/top/bottom <layer> -width_left/right/top/bottom<width> -offset_left/right/top-bottom <offset>-jog_distance <value>

Η εντολ&#942; προσθ&#941;τει δ&#973;ο δακτυλ&#943;ου&#962;, &#941;ναν για την Τ&#940;ση κα&#943; &#941;ναν για τηνΓε&#943;ωση, τα ον&#972;ματα των οπο&#943;ων μπα&#943;νουν στην παρ&#940;μετρο -nets, π.χ.-nets {vdd!,vss!}. Ο τ&#973;πο&#962; block_ringsε&#943;ναι για τι&#962; μον&#940;δε&#962;, εν&#974; για τον πυρ&#942;να απλ&#940; χρησιμοποιε&#943;ται το-around core. Η απ&#972;σταση μεταξ&#973; των δακτυλ&#943;ων, που ορ&#943;ζεται με τηνπαρ&#940;μετρο -spacing,ε&#943;ναι πολ&#973; σημαντικ&#942;, μια και για μεγ&#940;λε&#962; παροχ&#941;&#962; ρε&#973;ματο&#962; η απ&#972;στασηπου απαιτε&#943;ται απο του&#962; καν&#972;νε&#962; σχεδ&#943;αση&#962; ε&#943;ναι συν&#942;θω&#962; μεγαλ&#973;τερη. Τοεπ&#943;πεδο του κ&#940;θε τμ&#942;ματο&#962; μπορε&#943; να οριστε&#943; με το χ&#941;ρι με την παρ&#940;μετρο-layer.Η παρ&#940;μετρο&#962; -offsetορ&#943;ζει την απ&#972;σταση απο το περιθ&#974;ριο τη&#962; μον&#940;δα&#962; &#942; του πυρ&#942;να, εν&#974; ηπαρ&#940;μετρο&#962; -jog_distance,ορ&#943;ζει την ελ&#940;χιστη απ&#972;κλιση στο σχ&#942;μα τη&#962; μον&#940;δα&#962;, για να γ&#943;νειδιακλ&#940;δωση στι&#962; παροχ&#941;&#962;.

Το τελικ&#972; στ&#940;διο ε&#943;ναι η επιπρ&#972;σθεση των κ&#940;θετων παροχ&#974;ν στι&#962; σειρ&#941;&#962;των κυττ&#940;ρων. Αυτ&#972; επιτυγχ&#940;νεται με την εντολ&#942;:

addStripe-nets {<power nets list>} -layer <layer> -width<width> -set_to_set_distance <distance>

Συν&#942;θω&#962; οι κ&#940;θετε&#962; παροχ&#941;&#962; χρησιμοποιο&#973;ν Μ&#941;ταλλο2 και &#941;χουν ενα σταθερ&#972;πλ&#940;το&#962; και μια σταθερ&#942; απ&#972;σταση αν&#940;λογα με το συνολικ&#972; ρε&#973;μα πουαπαιτε&#943; ο πυρ&#942;να&#962;.
 楼主| 发表于 2009-10-20 13:21:44 | 显示全部楼层
没贴完,请点链接查看。
发表于 2009-10-22 15:31:59 | 显示全部楼层
guanshuiing
发表于 2009-10-22 15:33:14 | 显示全部楼层
guanshuiing
您需要登录后才可以回帖 登录 | 注册

本版积分规则

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 12:29 , Processed in 0.018620 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表