Detta dokument presenterar en partitioneringsbaserad, timingdriven placeringsalgoritm. Skiljesteget i sig är timing-drivet och bygger på att lösa ett kvadratiskt programmeringsproblem iterativt. Placeringsalgoritmen är inte beroende av interleaved timing beräkningar, som tenderar att vara felaktiga. I stället uppnår den det önskade resultatet genom att kontrollera antalet gånger som en väg i kretsen kan klippas. Utöver skärrestriktionen utvecklas och integreras en förlåsningsmekanism och en tidsmedveten terminalutbredning i flödet. Det detaljerade placeringssteget är formulerat som ett begränsat kvadratiskt program och löst effektivt. Resultat visar förbättringar på 23,41% i genomsnitt jämfört med ett annat timingdrivet placeringssystem Timing-QUAD och betydande förbättringar över Eisenmanns placeringsalgoritm. Ständiga framsteg inom halvledarteknik har lett till betydande förbättringar av CMOS-utrustningens prestanda. För att dessa förbättringar ska kunna översättas till VLSI-kretsen och systemdesignen måste man ta till kraftfulla, tidsmedvetna datorstödda designtekniker och verktyg på alla nivåer av designabstraction, inklusive arkitekturlogik och fysisk nivå. Ett bra placeringsverktyg måste kunna minimera den maximala strömkretsfördröjningen genom att minska fördröjningarna av sammanlänkningar längs de kritiska tidsvägarna. Detta är en utmanande uppgift på grund av det stora antalet vägar som måste beaktas och det komplexa ömsesidiga beroendet mellan de olika vägarna. Tidsbaserade placeringsprogram har klassificerats som antingen nettobaserade. Net-baserade algoritmer försöker styra fördröjningen på en signalbana genom att införa en fördröjning övre gräns eller genom att tilldela en vikt till varje nät. Det netbaserade tillvägagångssättet överkonstruerar oftast placeringsalgoritmen. Path-baserade metoder modellerar problemet korrekt, men är endast tillämpliga på små kretsar eftersom explicit uppräkning av alla vägar är en svåråtkomlig uppgift. Till följd av detta är de flesta av de tidsstyrda placeringsalgoritmerna som föreslås hittills nettobaserade [8] [9] [10]. Närmare bestämt utför de kretsplacering genom att interleating en timinganalys steg med en placering steg. Tidsanalysen är ansvarig för att identifiera de kritiska näten. Nätens vikt uppdateras på grundval av deras tidskritiskhet. Placeringssteget bestämmer sedan de relativa platserna för grindar enligt nettovikterna. Dessa två steg är kopplade till varandra tills målfördröjningen har uppnåtts eller det nuvarande resultatet inte kan förbättras ytterligare. De tidsbestämningstekniker som används i detta tvåstegsflöde är standard. De metoder som används för att identifiera kritiska nät och den placeringsteknik som varierar från ett genomförande till nästa. Författarna till [8] antar en kvadratisk objektiv funktionsformulering för att minimera trådlängden. De utför också en längsta vägberäkning under varje steg i tidsanalysen. Nätens vikt längs den kritiska vägen uppdateras genom att man adderar en konstant till motsvarande kantvikter. Detta tillvägagångssätt lider emellertid av vissa stora svagheter. Den första nackdelen är det så kallade svängningsproblemet. Detta är ett vanligt problem i kretsar där många vägar har nästan samma negativa slack. Förutom oscillerande problem, quadratic formulering minimerar inte längden på nät, istället minimerar det kvadraten på kant längder. Som ett resultat av detta kan det leda till ett antal medellånga nät för att eliminera ett långt nät. Ibland kan dock ett långt nät vara en bättre lösning än ett antal medellånga nät, till exempel när de vägar som delar detta långa nät har mycket små inneboende förseningar.
Nyligen, Ou och Pedram REF gav en timing-driven placeringsalgoritm för gate arrays baserat på en blandning av partitionering och quadratic placering.
Timing-driven placement based on partitioning with dynamic cut-net control
{'venue': 'DAC', 'journal': None, 'mag_field_of_study': ['Computer Science']}