Wat Design Compiler

E

energeticdin

Guest
Hi all,

Ik doe synthese een bepaalde module.
Ik geef klok als die beperkt.Daarna heb ik toegepast kritische bereik groepering paden
set_flatten true-inspanning hoog
ingesteld compile_new_boolean_structure tuur
set_structure-timing ware
compileren map_effort hoog
report_constraint-all_violators
ongroeperen-all-plat
set_false_path-van [get_ports nRst]
compileren incr-map_effort hoog

Maar het is nog steeds zegt overtreding.Na ungrouping, schending is zeer beperkt.
Indien er sprake is van strijd, ik vind het kritische pad van startpoint en eindpunt.
Eigenlijk lees ik sommige pdf dat het analyseren van het kritieke pad.

Wat te doen verder?enkele cel naam OAI22X4 toont de waarde zo hoog in timing verslag.Of we het kunnen schrijven van het script te laten een andere cel. (I, e met behulp van dont touch).
Ik moet weten hoe op te lossen kritieke pad schending waarden.
Need help plz

 
Bent u echt zeker van te zijn dat het instrument er niet zo goed een baan als het kan?

Sommige reguliere structuren zijn een uitdaging voor DC en zijn beter gedaan handmatig:
1.Pariteit XOR bomen
2.Elke rekenkundige functies (indien u de eigenaar bent van een DC ultra licentie probeert het commando partition_dp te verbeteren rekenkundig timing).

Nog iets wat je kunt proberen is om retiming (dit een weerslag heeft op formele verificatie later wel).

Is uw wireload model zeer conservatief?Zo ja, doen een proef layout - probleem weggaat of je misschien kunnen oplossen door gewoon met behulp van nuttige Clock Skew.

 
Hoi,

Ik moet weten of we de DRC beperkingen
I, E (Max_fanout, max_transition, max_capacitance_

is er enige kans om de setup schendingen?Waarom zijn het verminderen ....
Er zijn maar weinig mensen dat hij wil lreduce Houd overtreding ....

Eventuele antwoorden plz

 
Analyseer onderstaande punten wrto uw ontwerp.

1) Is de schendingen is meer dan 10-20% van uw klok.DCcant optimaliseren indien zijn meer dan 20-30%.Zijn optioneel met DC ultra licentie en is afhankelijk van de arithemetic en combo logica in het ontwerp.
2) Wat is de kritische reeks die in het ontwerp (het algemeen 10% van de laagste klok periode).
3.Maak aparte groep pad voor het schenden van paden (zoals input, output pad en het schenden pad groepen).En gelden strenge kritische bereik voor schenden pad groepen.
4.Dont proberen houden evenals setup in dezelfde run (verwijder set_fix_hold commando als u)
5.Controleer DC licentie, probeert te gebruiken 2006,06-SP3 of hoger vereist.Algoritmen worden herzien en zal ten minste 5% van de resualts beter.
6. Bent u probeert met Auto WLM sla het op (standaard)?.Standaard optie geeft iets betere resultaten.
7.OAX ... Cellsa zijn OR_AND logische poorten.Hoewel het blijkt meer timing waarde, zijn de beste DC doet in plaats van picking up of poort evenals EN poort.Omdat je toegepast set_flatten commando, kan het dit soort cellen.
8.Als u zich comfortabel met prime time, schrijven DDC / DB in DC en lees hetzelfde in PT en proberen met Whal als analyse en schrijven van het script en gebruik maken van hetzelfde script voor veranderingen in DC.
9.Vermijd het gebruik van lage-station sterkte cellen in de intital loopt.
10.Check voor de hoge fanout cellen / hoog overgang netten in de kritieke paden.
11.Controleer het kritieke pad, is dit waar of onwaar pad pad?.Als valse pad, weet je wat te doen?.Laat me weten als u eventuele problemen ..By the way, wat technologie en wat is de doelstelling de frequentie van uw ontwerp?.

Groeten,
Sam

 
Hoi Sam,
Thanks for ur waardevolle informatie.
Nee, Mijn strijd is niet meer dan 15% van mijn klok periode.
1) Ga ik mijn kritische reeks als 3.0
2) Ik aparte schenden pad groep dwz
group_path-naam pathsin-critical_range 3,0-van [all_inputs]
group_path-naam pathsout-critical_range 3,0-van [all_outputs]
report_net_fanout-high_fanout
group_path-naam PCIX_clk-critical_range 3,0-tot PCIX_clk
Of dit juist is?Sinds mijn gerichte freq is 66 MHz.Maar ik geef over beperking dwz ongeveer 70 MHz.
3) Eigenlijk Vermijd het gebruik van lage-station sterkte cellen betekent?I dont weet over deze stap.
4) Na groepering, i toegepast beperking willen
set_flatten true-inspanning hoog
ingesteld compile_new_boolean_structure tuur
set_structure-timing ware

compileren map_effort hoge boundary_optimization
report_constraint-all_violators

ongroeperen-all-plat
set_false_path-van [get_ports nRst]
compileren incr-map_effort hoog
report_constraint-all_violators

Nu blijkt setup schending van ongeveer -0.40 alleen voor pathsout groep .. (dwz de output bakboord)
Hoe tot een verdere verlaging van setup schending

Bedankt
DIN

 
hai energitic,
kleine fout in je script op pad groep specificatie ..

group_path-naam pathsout-critical_range 3,0-van [all_outputs]Opgemerkt dient te worden

group_path-naam pathsout-critical_range 3,0-aan [all_outputs]omdat
de output, eindpunten.Er wont worden alle paden van de output poorten.Alle paden te eindigen op de output-poort.DC
doesnt herkent dit pad groep en haar nemen in de klok / register pad groep.zodat uw kritische bereik
doesnt overwegen voor deze groep weg .. Probeer dit te wijzigen.kan het oplossen van uw probleem.

Rijden met lage concentraties, in de bibliotheek, cellen met een 0.5x, 1x, 2x, 3x ..... 10x rijden sterkte cellen zijn verkrijgbaar.Laag-station sterkte cellen zullen consumeren meer vertraging en het zal creëren timing problemen bij de eerste fasen.In eerste instantie proberen om set_dont_use op deze cellen.Na het analyseren van voor de uiteindelijke synthese, kunt u deze set_dont gebruiken in je script ..Laat het me weten eventuele problemen ..

Groeten,
Sam

 
Hoi
Bedankt voor het vinden van mijn fout ..
Dan nog een ding, ik moet verduidelijken ..
U vermeldt dat het gebruik laag rijden sterkte cellen ..

Punt Incr Pad
-------------------------------------------------- ------------------------
klok X_clk (stijging rand) 0,00 0,00
klok netwerk vertraging (ideale) 0,00 0,00
ingang externe vertraging 12,80 12,80 r
nTrdy (inout) 0,00 12,80 r
U_PcixCore/U_Pcibusif/syn65/Y (NOR2X4) 0,04 12,84 f
U_PcixCore/U_Pcibusif/net274039/Y (NOR2X4) 0,14 12,98 r
U_PcixCore/U5/Y (BUFX12) 0,18 13,15 r

U_Core/U_Mas/U157/Y (AOI211X2) 0,09 13,41 f
U_Core/U_Mas/U164/Y (MXI2X4) 0,18 13,59 r
U_Core/U_Mas/U349/Y (NAND2X4) 0,10 13,69 f
U_Core/U_Mas/U350/Y (OAI21X4) 0,17 13,86 r
U_Core/U_Mas/U360/Y (OAI21X4) 0,25 14,10 f
U_Core/U_Mas/U206/Y (NAND2X2) 0,38 14,48 r
U_Core/U_Mas/U152/Y (INVX3) 0,16 14,65 f
U_Core/U_Mas/U658/Y (NAND2X1) 0,16 14,81 r
U_Core/U_Mas/U839/Y (CLKINVX1) 0,14 14,95 f
U_Core/U_Mas/U713/Y (NOR3XL) 0,44 15,38 r
U_Core/U_Mas/U1000/Y (AOI33XL) 0,23 15,61 f
U_Core / U_Mas / bytecount_reg [10] / D (DFFRHQXL)

klok _clk (stijging rand) 14,10 14,10
klok netwerk vertraging (ideale) 1,00 15,10
klok onzekerheid -0,50 14,60
U_Core / U_Mas / bytecount_reg [10] / CK (DFFRHQXL) 0,00 14,60 r
bibliotheek setup tijd -0,14 14,46
vereiste gegevens tijd 14,46
-------------------------------------------------- ------------------------
vereiste gegevens tijd 14,46
gegevens aankomsttijd -15,61
-------------------------------------------------- ------------------------
speling (geschonden) -1,15Hier NAND2X2 geeft meer vertraging waarde 0,38, als ik het verminderen dat betekent dat mijn gegevens aankomst tijd zal beetje laag, dus overtreding kan verminderen ...Of ik kan noemen set_dont_use NAND2X2 zodat het automatisch NAND2X4 sinds de vertraging is 0,10 ....dit is correct?

Dan nog een ding OAI21X4 is met 2 plaatsen, maar de waarde ervan is anders ...
Geen idee of dit juist is of niet ..

Sinds zojuist leerde ik DC en ik ben .....
Hoe gebruik set_dont_use op bibliotheek cellen?plz laat het me weten

 
1) U hebt klok venster van 14.10ns en uw inbreng vertraging 12.80ns.Dus je hebt 1.30 ns.vangen kant, heb je 1 ns netwerk vertragen en 0,5 ns uncertinity.en negatieve lib setup tijd van 0.14ns.Dus je hebt 0.94 ns vertraging vertrokken naar combo logica.
Je moet ervoor zorgen dat uw combo logica moet optimaliseren voor 0,94 ns als alle beperkingen u gegeven correct zijn.2) Dan nog een ding OAI21X4 is met 2 plaatsen, maar de waarde ervan is anders ...Geen idee of dit juist is of niet ..Het moet juist zijn.De vertraging berekening motor is afhankelijk van de input en output gedood belasting.In hetzelfde pad, de cel kan worden gebruikt voor verschillende kenmerken van de interpolatie, zodat de cel vertraging zou kunnen zijn anders.zodat momenteel draagt zorg voor de juiste en concentreren op andere probleem.zal u helpen bij het vinden van vertraging later.

3) set_dont_use libname / Cell naam
Ex, je hebt slow.lib als uw lib naam en nand2x1 moeten houden als dont gebruik,
set_dontuse slow.lib/nand2x1

4) Als u het verschil voor diff cellen gebruikt, moet u proberen wat als analyse.Als je gebruik dont attribuut op de cel, DC wont pick die cel voor optimalisatie.Dus analyseren en toepassen dont gebruik attribuut.Het
doesnt bedoel, nand2x4 heeft 0.10ns vaste vertraging.Het varieert afhankelijk van de input gedood.

Groeten,
Sam

 
Hoi Sam,
Bedankt.
Sinds ik gebruik set_max_area 200000.0
omdat ik geen behoefte te optimaliseren gebied zijde.Ik ben alleen concentreren timing kant.
Als veronderstel ik set_dont_use lib_cell/OAI21X1 ...
dit is iets waardoor vertraging van 0,46 ...als ik stel dat in een andere plaats zijn weergegeven 0.10 Het is dus niet vast vertraging als u al eerder gezegd.Aangezien dit varieert afhankelijk van de input gedood.
DC zal proberen om een aantal andere cellen van dezelfde soort,

hoe kom ik te weten dat zal minder vertraging waarde alleen ...
Het kan zeer laag rijden sterkte weten?

Die situatie wat we kunnen doen?cellen die we hebben om dont gebruiken?

 
Na het analyseren van uw ontwerp en beperkingen, die u nodig hebt om set_dont_use kenmerk op de cellen.Ervaren synthese enginer / layout enginer kan vertellen, die cellen zullen de problemen bij het voldoen aan de timing.Voor u, op beginer niveau, moet je routes te vinden, die cellen
doesnt eisen voor synthese.

Zoals ik explanied, u huicheltaal vondst die cel geeft minder vertraging in kritieke pad.De vertraging van de cel is afhankelijk van input overgang (gedood), output-belasting en sterkte-station van de cellen en enzovoort.report_delay_calculation commando in DC, zal u vertellen hoe instrument berekent vertraging voor cel (van input naar output).Check de man pagina's en te begrijpen ..

 

Welcome to EDABoard.com

Sponsor

Back
Top