Vi presenterar en metod för att automatiskt generera kretskonstruktioner med hjälp av evolutionär sökning och en uppsättning kretskonstruerande primitiver arrangerade i en linjär sekvens. Denna representation har den önskvärda egenskapen att praktiskt taget alla uppsättningar av kretskonstruerande primitiver resulterar i giltiga kretsdiagram. Även om denna representation utesluter vissa kretstopologier, är den kapabel att generera en rik uppsättning av dem inklusive många av de användbara topologier ses i handgjorda kretsar. Vårt system gör det möjligt att utveckla kretsstorlek (antal enheter), kretstopologi och enhetsvärden. Med hjälp av en parallell genetisk algoritm och kretssimuleringsprogram presenterar vi experimentella resultat som tillämpas på tre analoga filter och två förstärkare design uppgifter. I alla uppgifter kan vårt system generera kretsar som uppfyller målspecifikationerna. Även om de utvecklade kretsarna finns som programvarumodeller, tyder detaljerade undersökningar av var och en på att de är elektriskt väluppfostrade och därmed lämpliga för fysisk implementering. De blygsamma beräkningskraven tyder på att förmågan att utveckla komplexa analoga krets representationer i programvara blir mer lättillgänglig på en enda ingenjörsarbetsplats. Nyckelord automatiserad design, analog kretssyntes, genetiska algoritmer, kretsrepresentation I. Introduktion Analoga kretsar är av stor betydelse inom elektronisk systemdesign eftersom världen i grunden är analog till sin natur. Medan mängden digital design aktivitet långt överträffar den analoga design, de flesta digitala system kräver analoga moduler för gränssnitt till den yttre världen. Nyligen uppskattades att cirka 60 % av CMOS-baserade applikationsspecifika integrerade kretsar (ASIC) konstruerade analoga kretsar [1]. Med utmanande analoga kretsdesignproblem och färre analoga designingenjörer finns det ekonomiska skäl att automatisera den analoga designprocessen, särskilt tid-till-marknad-överväganden. Tekniker för analog konstruktion av kretsar började dyka upp för ungefär två decennier sedan. Dessa metoder införlivade heuristik [18], kunskapsbaser [5], och simulerad glödgning [15]. Ansträngningar med hjälp av tekniker från evolutionära beräkningar har dykt upp under de senaste åren. Dessa inkluderar användning av genetiska algoritmer (GAs) [6] för att välja filterkomponentstorlekar [7], för att välja filtertopologier [3], och för att designa operativa förstärkare med hjälp av en liten uppsättning topologier [13]. Kozas och kollaboratörers forskning [11] om analog kretssyntes med hjälp av genetisk programmering (GP) [10] är sannolikt den mest framgångsrika utvecklingsbaserade metoden hittills. Till skillnad från tidigare system utvecklas komponentvärdena, antalet komponenter och kretsens topologier. Det genetiska programmeringssystemet börjar med minimal kunskap om analog kretsdesign och genererar kretsar med hjälp av en cellulär kodningsteknik [4] och kretskonstruerande programträd. Olika analoga filter design problem har lösts med hjälp av genetisk programmering (t.ex. [12] ), och en översikt över dessa tekniker, inklusive åtta analoga kretssyntes problem, finns i [11]. En jämförelse av genetisk teknik som tillämpas på filterkonstruktion förekommer i [19] och arbetet med att utveckla CMOS-transistorer för funktionstillnärmning [17] har också dykt upp på senare tid. De evolutionära beräkningsbaserade metoder som nämns ovan och beskrivs i detta dokument är alla offline hårdvaruutveckling metoder - programvara simulatorer används för att utveckla programvarumodeller av hårdvara. Det bör noteras att ett växande antal forskare använder verklig hårdvara för att utvärdera en kretss lämplighet under evolutionssökning - online-metoden. Till exempel, i detta nummer, ett system som använder en programvara-konfigurerbar analog krets för att styra frekvensfiltrering i
I REF föreslogs en linjär representationsmetod för att utveckla analoga kretsar.
A circuit representation technique for automated circuit design
{'venue': 'IEEE Trans. Evolutionary Computation', 'journal': None, 'mag_field_of_study': ['Computer Science']}