NL192892C - Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen. - Google Patents
Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen. Download PDFInfo
- Publication number
- NL192892C NL192892C NL8900084A NL8900084A NL192892C NL 192892 C NL192892 C NL 192892C NL 8900084 A NL8900084 A NL 8900084A NL 8900084 A NL8900084 A NL 8900084A NL 192892 C NL192892 C NL 192892C
- Authority
- NL
- Netherlands
- Prior art keywords
- integrated circuit
- cmp
- macro
- flow chart
- state
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
1 192892
Computerondersteund systeem voor het ontwerpen van geïntegreerde schakelingen
De uitvinding heeft betrekking op een computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen, omvattende: invoermiddelen die door een gebruiker kunnen worden bediend voor het 5 definiëren van functionele specificaties van de schakeling als een verzameling macro’s, waarbij elke macro een functie specificeert; een celbibliotheek die een verzameling van hardware-cellen voor het uitvoeren van functies definieert; celselectiemiddelen voor het voor elke macro van de geselecteerde verzameling uit de celbibliotheek selecteren van geschikte hardware-cellen die door de macro gespecificeerde functies uitvoeren. Een dergeiijk systeem is bekend uit artikel ”A rule-based logic circuit synthesis system for CMOS 10 gate arrays” van T. Saito e.a., afgedrukt in de 23rd ACM/IEEE Design Automation Conference Proceedings 1986, biz. 594-600.
Een toepassingsspecifieke geïntegreerde schakeling is in geïntegreerde schakelingschip die ontworpen is voor het uitvoeren van een specifieke functie, dit ter onderscheiding van standaard geïntegreerde schakelingen voor algemene doeleinden, zoals microprocessoren, geheugenchips en dergelijke. Voor het ontwerpen 15 van een toepassingsspecifieke geïntegreerde schakeling is over het algemeen een zeer deskundige ontwerp-ingenieur nodig, die specialistische kennis heeft op het gebied van geïntegreerde schakelingen, in het bijzonder VLSI-schakelingen. Tijdens het ontwerpproces zal de ontwerp-ingenieur uitgaan van de doelstelling waaraan moet worden voldaan en de taken die door de geïntegreerde schakelingen moeten worden uitgevoerd en zal ontwerpspecificaties op structureel niveau opstellen, waarmee de diverse 20 hardware-componenten, nodig voor het uitvoeren van de gewenste functie, worden gedefinieerd, alsmede de vereiste verbindingen tussen deze componenten specificeren. Verder moet een systeemstuureenheid worden ontworpen voor het synchroniseren van de werken van deze componenten. Dat vereist een diepgaande en uitvoerige kennis van de diverse hardware componenten, die nodig zijn om de gewenste doelstellingen te bereiken, alsmede van de eisen die worden gesteld aan de onderlinge verbindingen, 25 signaalniveau-compatibiliteit, compatibiliteit van de tijdsrelaties, de fysische layout en dergelijke. Bij elke ontwerpstap moet de ontwerper een omslachtige analyse uitvoeren. De ontwerpspecificaties, die worden opgesteld door de ontwerpingenieur kunnen worden gepresenteerd, bijvoorbeeld in de vorm van schakelingsschema’s of kunnen worden gepresenteerd als parameterbeschrijving, waarbij gebruik kan worden gemaakt van een gespecialiseerde hardware beschrijvingstaal.
30 Uit de structurele niveau-ontwerpspecificaties, de beschrijving van de hardware componenten en de onderlinge verbindingen daarvan wordt een fysische niveaubeschrijving van de chip-layout verkregen, welke de werkelijke topologische kenmerken van de geïntegreerde schakelingschip beschrijft. Deze fysische niveaubeschrijving van de chip-layout levert de maskergegevens op, die nodig zijn voor de fabricage van de chip.
35 Als gevolg van de geweldige ontwikkeling van de VLSI-technologie (de technologie voor het vervaardigen van op zeer grote schaal geïntegreerde schakelingen) kunnen zeer complexe schakelïngssystemen in één enkele chip worden ondergebracht. Gelet op de complexiteit daarvan en rekening houdend met de behoefte aan een steeds sneller ontwerp van gespecialiseerde chips in steeds grotere hoeveelheden en voor een toenemend aantal specifieke toepassingen moeten computer-ondersteunde ontwerptechnieken (CAD-40 technieken) worden toegepast. CAD-technieken zijn al met succes toegepast bij het ontwerpen en controleren van geïntegreerde schakelingen zowel op structureel niveau als op het fysische layout-niveau.
Er zijn al CAD-systemen ontwikkelt, die helpen bij het omvormen van structurele niveaubeschrijvingen van geïntegreerde schakelingen, maar de topologische maskergegevens op het fysische layout-niveau nodig voor het in feite produceren van de chip. Alhoewel de op dit moment beschikbare CAD-systemen het 45 ontwerpproces aanzienlijk vereenvoudigen zijn volgens de huidige stand der techniek nog steeds zeer deskundige ontwerp-ingenieurs nodig om de benodigde hardware béschrijvingen op het structurele niveau op te stellen.
Er is slechts een klein aantal ontwerp-ingenieurs die de zeer gespecialiseerde kennis bezitten, nodig voor het opstellen van hardware beschrijvingen van geïntegreerde schakelingen op structureel niveau. Zelfs met 50 behulp van beschikbare CAD-ontwerpgereedschappen is het ontwerpproces tijdrovend en is ook de waarschijnlijkheid van het optreden van een fout hoog, juist vanwege deze menselijke betrokkenheid. Er is een significante behoefte aan een betere en goedkopere wijze om geïntegreerde schakelingen voor specifieke doeleinden te ontwerpen.
In overeenstemming met de onderhavige uitvinding wordt nu een computer ondersteund ontwerpsysteem 55 verschaft, die het de gebruiker mogelijk maakt om de functionele voorwaarden voor een gewenste specifieke geïntegreerde schakeling te definiëren uitgaande van een eenvoudig te begrijpen functionele niveau-representatie waarbij daaruit de gedetailleerde informatie gegenereerd, die nodig is voor het direct 192892 2 produceren van een toepassingsgerichte specifieke geïntegreerde schakeling, die deze specifieke functies uitvoert. Hierdoor wordt de mogelijkheid geopend speciale toepassingsgerichte geïntegreerde schakelingen te laten ontwerpen door ingenieurs, ontwerpers en technici, die niet de gespecialiseerde expert-kennis behoeven te bezitten van de speciaal daarvoor getrainde ontwerpingenieur op het gebied van de geïnte-5 greerde schakelingstechniek.
Om deze doelstelling te verwezenlijken, vertoont het systeem volgens de uitvinding het kenmerk, dat voor het ontwerpen van een geïntegreerde schakeling voor een specifieke toepassing, direct uit de functionele specificaties voor de geïntegreerde schakeling, het systeem een macrobibliotheek omvat die een verzameling van mogelijke acties en condities bepaalt, waarbij de invoermiddelen zijn ingericht voor het 10 definiëren van de functionele specificaties van de schakeling als een serie acties en voor het voor elke actie of conditie specificeren van een uit een macrobibliotheek geselecteerde macro.
De functionele specificaties van de gewenste toepassingsgerichte geïntegreerde schakeling kunnen op een geschikte wijze worden gedefinieerd, bijvoorbeeld in de vorm van een lijst of bij voorkeur in de vorm van de stroomschema. Het stroomschema is een zeer effectief middel voor het beschrijven van een reeks 15 van logische operaties en wordt zowel door software- als door hardware-ontwerpers met een variërend niveau van ervaring en opleiding begrepen. Uit het stroomschema (of uit andere functionele specificaties) vertaalt het stelsel de functionele specificaties in een structurele niveaudefinitie van een geïntegreerde schakeling, die direct kan worden gebruikt voor het produceren van de betreffende toepassingsgerichte geïntegreerde schakeling. De structurele niveaudefinitie omvat een lijst van de hardware cellen die in de 20 geïntegreerde schakeling nodig zijn voor het realiseren van de functionele specificatie. Deze cellen zijn geselecteerd uit een celbibliotheek van tevoren ontworpen hardware-cellen met diverse functies en diverse technische specificaties. Het stelsel genereert eveneens datawegen tussen de geselecteerde hardware cellen. Bovendien wordt een systeemstuureenheid en stuurwegen gegenereerd voor de geselecteerde hardware-cellen van de geïntegreerde schakeling. De lijst van hardware-cellen en de vereisten die worden 25 gesteld aan de onderlinge verbindingen daarvan kunnen worden weergegeven in de vorm van een structuurlost. Uit de structuurlost is het mogelijk om gebruikmakend van ofwel bekende handmatige technieken, ofwel bekende bestaande CAD-layout systemen voor geïntegreerde schakelingen, de gedetailleerde geometrische informatie op chipniveau te generen, bijvoorbeeld de maskergegevens, die nodig zijn voor het produceren van de betreffende toepassingsgerichte, specifieke geïntegreerde schakeling in 30 chipvorm.
De voorkeursuitvoeringsvorm van het stelsel volgens de onderhavige uitvinding zal in het volgende in meer detail worden beschreven, waarbij deze uitvoeringsvorm wordt aangeduid als een op kennis gebaseerde compiler (in het volgende afgekort met de aanduiding KBSC = Knowledge Based Silicon Compiler). De KBSC is een ontwerpmethode voor het ontwerpen van toepassingsgerichte specifieke geïntegreerde 35 schakelingen die gebaseerd is op kunstmatige intelligentie en expert-systeemtechnologie. De interface naar de gebruiker van de KBSC bestaat uit een stroomschema-redigeereenheid die het de ontwerper mogelijk maakt om grootschalig geïntegreerde schakelingen te representeren in de vorm van de stroomschema. De KBSC maakt gebruik van een op kennis gebaseerd expert-systeem met een kennisdatabank die afkomstig is van ontwerp-experts op het gebied van de geïntegreerde schakelingen, die een hoog niveau aan 40 expertise bezitten in het ontwerpen van geïntegreerde schakelingen, en deze kennisdatabank wordt gebruikt om uit het stroomschema de structuurlijst te genereren die de geselecteerde hardware-cellen en hun onderlinge verbindingsvereisten beschrijft.
De uitvinding zal in het navolgende in detail worden beschreven aan de hand van de tekening.
45 figuur 1a illustreert en ontwerp-representatie op functioneel niveau van een deel van een gewenste doelschakeling in de vorm van een stroomschema; figuur 1 b illustreert een ontwerp-representatie op structureel niveau van een geïntegreerde schakeling; figuur 1c illustreert en ontwerp-presentatie van een schakeling op een fysisch iayout-niveau, zoals wordt gebruikt bij de fabricage van een geïntegreerde schakelingschip; 50 figuur 2 toont in een blokschema hoe de maskergegevens voor de geïntegreerde schakeling worden gecreëerd uit de stroomschemabeschrijving door het KBSC-systeem; figuur 3 is een verder gedetailleerde schematische illustratie die de primaire componenten van het KBSC-systeem illustreert; figuur 4 is een schematische illustratie die toont hoe het hier beschreven ontwerpsysteem geselecteerde, 55 tevoren geïntegreerde hardware-cellen voor de geïntegreerde schakeling ophaalt uit een bibliotheek van deze cellen; figuur 5 toont een voorbeeld van een stroomschema waarin een reeks functionele operaties wordt 3 192892 gedefinieerd die door een geïntegreerde schakeling moeten worden uitgevoerd; figuur 6 toont een structurele representatie waarin de hardware blokken zijn getoond, alsmede de onderlinge verbindingen voor de geïntegreerde schakeling die in figuur 5 is gedefinieerd; figuur 7 toont een schermbeeld van de stroomschemasimulatoreenheid; 5 figuur 8 illustreert een schermbeeld van de stroomschemasimulatoreenheid; figuur 9 illustreert de stappen die betrokken zijn bij het genereren van de lijst van cellen; figuur 10 toont een voorbeeld van een stroomschema voor een verkoopmachine-systeem; figuur 11 illustreert de hardware-componenten, die corresponderen met elk van de drie macro’s die gebruikt zijn in de stroomschema van figuur 10; 10 figuur 12 is een initieel biokschema waarin de hardware componenten zijn getoond voor een geïntegreerde schakeling die gedefinieerd wordt door het stroomschema uit figuur 10; figuur 13 is een biokschema dat correspondeert met figuur 12 en de onderlinge verbindingen tussen de blokken vormt; figuur 14 is een biokschema dat correspondeert met figuur 13 nadat een optimalisatie van de registers 15 heeft plaatsgevonden; figuur 15 is een biokschema dat correspondeert met figuur 14 na verdere optimalisatie.
De figuren 1a, 1b en 1c illustreren drie verschillende niveaus, waarop het ontwerp van de geïntegreerde schakeling kan worden weergegeven. Figuur 1a toont een functionele representatie of gedragsrepresentatie 20 in de vorm van een stroomschema. Een stroomschema is een grafische weergave van een algoritme en bestaat uit twee soorten blokken of toestanden, namelijk actieblokken en beslissingsblokken of voorwaardelijke blokken. Actieblokken worden over het algemeen in een stroomschema weergegeven door middel van een vierkantje of rechthoek en voorwaardelijke blokken of beslissingsblokken worden weergegeven door een ruit. De overgangen tussen actieblokken en beslissingsblokken worden vertegenwoordigt door lijnen 25 met een pijl. Figuur 1b illustreert een representatie op structureel of logisch niveau van een geïntegreerde schakeling. In deze representatie worden blokken gebruikt voor het representeren van hardwarecomponenten van de geïntegreerde schakeling waarmee diverse functies moeten worden uitgevoerd en de lijnen die tussen deze blokken verlopen, vertegenwoordigen de wegen waarover data- of stuursignalen tussen de blokken worden overgedragen. De blokken kunnen bijvoorbeeld bestaan uit hardware-30 componenten, zoals optellers, comparators, registers, systeemstuureenheden en dergelijk. Figuur 1c illustreert een representatie op fysisch layout-niveau van een geïntegreerd schakelingsontwerp, dat gedetailleerde maskergegevens verschaft, nodig voor het in werkelijkheid fabriceren van de componenten en de geleiders, die tezamen de geïntegreerde schakeling vormen.
Zoals al eerder werd opgemerkt, is voor het ontwerpen van een geïntegreerde schakeling op een 35 structureel niveau een ontwerp-ingenieur nodig met een zeer gespecialiseerde kennis en expertise op het terrein van de geïntegreerde schakelingen, in het bijzonder de VLSI-schakelingen. In het hier beschreven KBSC-systeem echter, kunnen geïntegreerde schakelingen op een functioneel niveau worden ontworpen omdat de expertise die voor het VLSI-ontwerp nodig is door het systeem wordt verschaft en toegepast. Omdat de ontwerper de mogelijkheid wordt geboden te werken met stroomschema’s in plaats van met 40 logische schakelingschema’s wordt de taak van het ontwerpen van een gespecialiseerde, geïntegreerde schakeling vereenvoudigd, waardoor het ontwerp sneller, goedkoper en meer betaalbaar kan worden uitgevoerd. De ontwerper heeft te maken met een algoritme en gebruikt eenvoudige stroomschema’s op een gedragsniveau en behoeft alleen de noodzakelijke logische stappen te kennen om een taak uit te voeren in plaats van de specifieke middelen voor het uitvoeren van deze taak. Het ontwerpen met behulp van 45 stroomschema’s vereist minder werk gedurende de testfase, omdat de stroomschema’s de ontwerper de mogelijkheid bieden om dichter naar het algoritme toe te werken. Anderzijds vereisen de op dit moment bestaande VLSI-ontwerpgereedschappen dat de ontwerpen een algoritme representeert met een complex-schakelingsschema op structureel niveau waardoor meer werk moet worden verzet in de testfase. De schakelingsschema’s maken het moeilijker voor de ontwerpen om de algoritme-functie, die in het ontwerp 50 moet worden geïncorporeerd, in het oog te houden vanwege de verstrengeling tussen hardware-vereisten en functionele vereisten. Het gebruik van stroomschema’s voor het ontwerpen van gespecialiseerde geïntegreerde schakelingen maakt het voor een groot aantal systeemontwerpers mogelijk om toegang te krijgen tot de VLSI-technologie, terwijl tot nu toe slechts een klein aantal ontwerpers voldoende kennis en kunde had om de benodigde hardware-beschrijvingen op structureel niveau te vervaardigen.
55 De ontwerpvolgorde in het totale systeem is geïllustreerd in figuur 2. De gebruiker voert de functionele specificaties van de schakeling in, in de op kennis gebaseerde compiler -(BSC) 10 in de vorm van een stroomschema 11. De KBSC 10 genereert dan een structuurlost 15 uitgaande van dit stroomschema. De 192892 4 structuurlijst 15 omvat een speciale gegenereerde systeemstuureenheid, alle andere hardware-cellen die nodig zijn voor het implementeren van de benodigde operaties en informatie omtrent de onderlinge verbindingen, waarmee de hardware-cellen en de systeemstuureenheid met elkaar worden verbonden, De structuurlijst kan worden gebruikt als ingangsinformatie in ieder willekeurig VLSI-layout- en routing-5 gereedschap 16 voor het creëren van de maskergegevens 18 voor de geometrische layout.
De primaire elementen of modulen die deel uitmaken van het KBSC-system zijn getoond in figuur 3. In de geïllustreerde en hier beschreven uitvoeringsvorm bestaan deze elementen of modules in de vorm van software-programma’s, alhoewel het voor de deskundige op dit terrein duidelijk zal zijn dat deze elementen ook gemakkelijk in andere vorm uitgevoerd kunnen worden, zoals in hardware.
10 Met bijzondere verwijzing naar figuur 3 zal het duidelijk zijn, dat het KBSC-systeem 10 voorzien is van een programma 20 dat aangeduid wordt met EDSIM, en dat voorzien is van een stroomschema-redigeereenheid 21 voor het creëren en redigeren van stroomschema’s in een stroomschemasimulator 22 voor simulatie en verificatie van de stroomschema’s. Acties die door elk van de rechthoeken in het stroomschema moeten worden uitgevoerd, worden geselecteerd uit een macro-bibliotheek 23. Een 15 programma 30, dat aangeduid wordt met PSCS (afkorting van de engelse aanduiding Path Synthesizer en Cell Selector) omvat een data- en besturingspad synthesizer module 31, hetgeen een op kennis gebaseerd stelsel is voor data- en stuurpad-synthese. De PSCS bevat ook een celkiezer 32 voor het selecteren van de cellen die in het systeemontwerp nodig zijn. De celkiezer 32 selecteert uit een celbibliotheek 34 van tevoren ontworpen hardware-cellen de geschikte cel of cellen, die nodig zijn voor het uitvoeren van elke actie en 20 elke voorwaarde die in het stroomschema is vertegenwoordigd. Een stuureenheidgenerator 33 genereert een speciaal voor dit doel ontworpen systeemstuureenheid voor het besturen van de werking van de andere hardware-cellen. De kennisdatabank 35 bevat de expert-kennis voor het ontwerpen van speciale geïntegreerde schakelingen, nodig voor de datapad-synthese en de celkeuze. Met een functioneel stroomschema als ingangsgegeven genereert de PCSC een systeemstuureenheid, selecteert een structuurlijst die al deze 25 ontwerpinformatie beschrijft.
Het KBSC-systeem maakt gebruik van een hiërarchieke celkeuze-ontwerpbenadering, zoals geïllustreerd is in figuur 4. Iedere benodigde hardware-cel behoeft niet van meet af aan gegenereerd te worden, maar het stelsel zoekt in een celbibliotheek 34 met tevoren ontworpen, geteste en bewezen hardware-cellen met diverse typen en van diverse functionele mogelijkheden naar een bepaald type. De macro-bibliotheek 23 30 bevat een groep van macro’s die verschillende acties definiëren die in het stroomschema kunnen worden gespecificeerd. Voor elke macrofunctie in de macro-bibliotheek 23 kunnen er diverse hardware-cellen in de celbibliotheek 34 met verschillende geometrie en verschillende kenmerken aanwezig zijn, in staat om de gespecificeerde functie uit te voeren. Gebruikmakend van een op regels gebaseerd expertsysteem samen met een kennisdatabank 35 die berust op de kennis van ontwerp-experts van geïntegreerde schakelingen 35 kiest het KBSC-systeem uit de celbibliotheek 34 de optimale cel voor het uitvoeren van de gewenste functie.
Opnieuw verwijzend naar figuur 3 worden de cellen, geselecteerd door de celkiezer 32, de stuureenheid-informatie gegenereerd door de stuureenheid generator 33 en de data- en stuurwegen gegenereerd door de data/stuurweggenerator 31 allemaal gebruikt door het PSCS-programma 30 voor het genereren van de structuurlijst 15. De structuurlijst is een lijst die elk blok in de schakeling identificeert alsmede de verbindin-40 gen tussen de respectieve ingangen en uitgangen van elk blok. De structuurlijst verschaft alle benodigde informatie die vereist is voor het produceren van de geïntegreerde schakeling. Computer-ondersteunde ontwerpsystemen voor het plaatsen van de cellen en het routeren daarvan zijn commercieel verkrijgbaar en ontvangen de gegevens uit de structuurlijst als ingangsgegevens met behulp waarvan de layout van de respectieve cellen in de chip kan worden bepaald, de noodzakelijke routering kan worden gegenereerd en 45 maskergegevens kunnen worden geproduceerd, die direct kunnen worden gebruikt door een chipfabricage-bedrijf bij de fabricage van de geïntegreerde schakelingen. Het KBSC-systeem kan functioneren op een geschikt geprogrammeerde digitale computer voor algemene doeleinden. Bij wijze van voorbeeld is een uitvoeringsvorm van het systeem geïmplementeerd in een werkstationomgeving, zoals Sun3 en Vaxstation-ll/GPX functionerend onder het UNIX operating system en X Window Manager. Het werkstation vereist een 50 minimum van 8 megabytes aan hoofdgeheugen en 20 megabytes aan ruimte op de harde schijf. De gebruikte monitor was een kleurenschermmonitor met 8-bit vlakken. De software maakt gebruik van de programmeertaal C en de relationele databasis INGRES.
De interactie met de menseiijke gebruiker, de zogenaamde menselijke interface, vindt hoofdzakelijk plaats door middel van zogenaamde Pop-up memo’s, druktoetsen en een speciaal voor dit doel ontwikkelde 55 instructietaal. De permanente gegevens van het geïntegreerde schakeiingsontwerp worden opgeslagen in de databasis om gemakkelijk te kunnen worden teruggewonnen en bijgewerkt. Het hoofdgeheugen vormt een tijdelijke bergplaats voor de volgende gegevens: de uitvoerbare code, ontwerpgegevens (stroom- 5 192892 schema, logische gegevens, enz.), databank (celbibliotheek), een kennisdatabank. De CPU voert de belangrijkste taken uit tijdens het creëren van stroomschema’s en de automatische synthese van het ontwerp.
Om het afbeelden van een stroomschema in een structuurlijst te beschrijven, wordt verwezen naar het 5 voorbeeldstroomschema dat getoond is in figuur 5 en dat deel kan uitmaken van een groter totaalsysteem.
In dit illustratieve stroomschema staan twee variabelen VAL1 en VAL2 die met elkaar moeten worden vergeleken en die bij gelijkheid moeten worden opgeteld. De eerste actie (actie 1) bestaat in dit geval uit het overdragen van de waarde van de variabele VAL1 naar register A. De tweede actie bestaat uit het overdragen van de waarde van de variabele VAL2 naar register B. Voorwaarde 1 houdt in het vergelijken 10 van de waarden in de registers A en B. Actie 3 omvat het optellen van de waarden van de registers A en B en het opbergen van het resultaat in register C.
Bij het produceren van een geïntegreerde schakeling voor het uitvoeren van de functie die gedefinieerd is in figuur 5 wordt de stroomschemabeschrijving van het gedrag van het systeem afgebeeld op de onderlinge verbindingsspecificaties tussen de hardware-cellen. De hardware-cellen worden bestuurd door 15 een systeemstuureenheid die alle stuursignalen genereert. De systeemstuureenheid heeft te maken met twee typen variabelen: (1) ingangsvariabelen: deze worden gegenereerd door hardware-cellen en/of bestaan uit externe ingangsgegevens voor de stuureenheid. Deze corresponderen met voorwaarden in het stroomschema.
(2) uitgangsvariabelen: deze worden gegenereerd door de systeemstuureenheid en corresponderen met 20 acties in het stroomschema. Figuur 6 illustreert het resultaat van de afbeelding van het stroomschema van figuur 5 op hardware-cellen.
De acties en de voorwaarden in het stroomschema worden gebruikt voor celselectie en voor data- en stuurpad-analyse. Het VAL1 -register en VAL2-register en de datawegen die daar naartoe leiden zijn wel toegewezen in de acties die plaats hebben gevonden, bijvoorbeeld voor actie 1. Actie 1 leidt tot het 25 genereren van het dataregister A. Op soortgelijke wijze leidt actie 2 tot het toewijzen van dataregister B. De comparator wordt toegewezen als een resultaat van de vergelijkingsoperatie in voorwaarde 1. De vergelij-kingsoperatie wordt uitgevoerd door: 1) het selecteren van een comparatorcel, 2) het afbeelden van de ingangen van de comparatorcel op de registers A en B, 30 3) het genereren van datawegen voor het verbinden van de comparator met de registers A en B en 4) het genereren van ingangsvariabelen corresponderend met gelijk aan, groter dan en kleiner dan voor de systeemstuureenheid. Een soortgelijke wijze leidt de opteloperatie in actie 3 tot de parameters op de registers en het creëren van de datawegen.
Als deze methode wordt gevolgd dan kan een bloklijst worden gegenereerd voor een bepaald stroom-35 schema. Deze bloklijst bevat een systeemstuureenheid en zoveel andere blokken als nodig zijn voor het uitvoeren van de noodzakelijke operaties. De blokken worden verbonden via datawegen en de blokken worden bestuurd door de systeemstuureenheid via stuurwegen. Deze blokken kunnen worden afgebeeld op de cellen, geselecteerd uit een celbibliotheek teneinde een cellijst te produceren.
Het creëren en het verifiëren van het stroomschema is de eerste stap in de VLSI-ontwerpmethode. De 40 vertaling van een algoritme en een equivalent stroomschema wordt uitgevoerd met de stroomschema-redigeereenheid 21 (figuur 3). De verificatie van het geredigeerde stroomschema wordt uitgevoerd door de stroomschema-simulator 22. De stroomschema-redigeereenheid en de -simulator zijn geïntegreerd in één werkomgeving voor interactieve stroomschemaredactie met een voor de gebruiker vriendelijke interface.
EDSIM is het programma dat de stroomschema-redigeereenheid 21 en de stroomschema-simulator 22 45 bevat. Dit programma bevat ook functies voor het laden en opslaan van stroomschema’s. EDSIM zal een tussentijdse file genereren, aangeduid als statuslijst voor elk stroomschema. Deze file of bestand wordt dan gebruikt door het PSCS-programma 30 voor het genereren van de structuurlijst.
De stroomschema-redigeereenheid 21 is een software-module die wordt gebruikt voor het weergeven, creëren en redigeren van het stroomschema. Deze module wordt bestuurd via het stroomschemaredigeer-50 venster dat geïllustreerd is in figuur 7. Samen met de redigeerfuncties zorgt de stroomschema-redigeereenheid ook voor een controle op ontwerpfouten.
Het volgende is een beschrijving van de werking van de stroomschema-redigeereenheid. De belangrijkst redigeerfuncties omvatten creëren en redigeren en het verwijderen van toestanden, voorwaarden en overgangen. De creëeroperatie maakt het voor de ontwerper mogelijk om een nieuwe toestand of voor-55 waarde toe te voegen of overgangen toe te voegen aan een stroomschema. De redigeeroperatie maakt het de ontwerper mogelijk om de positie van een toestand, voorwaarde of overgang te wijzigen en de wisfunctie maakt het de ontwerper mogelijk om een toestand, voorwaarde of overgang uit het huidige stroomschema
. V
te verwijderen. Toestanden die acties bevatten worden door rechthoeken vertegenwoordigd, voorwaarden worden vertegenwoordigd door ruiten, en overgangen worden vertegenwoordigd door lijnen met pijlen die de richting van de overgang aangeven.
Redigeeracties maken het voor de ontwerper mogelijk om acties toe te wijzen aan elke rechthoek. Deze 5 acties bestaan uit macronamen en argumenten. Een voorbeeld van argumenten is het instellen en wissen van externe signalen. Een lijst van basismacro’s die in de macrobibliotheek 23 beschikbaar is, is getoond in de tabel F.
TABEL F
10 -
MACRO BESCHRIJVING
ADD (A,B,C) C = A + B
SUB (A,B,C) C = A - B
15 MULT (A,B,C) C = A * B
DIV (A,B,C) C = A div B
DECR (A) A = A - 1 INCR (A) A = A + 1 CLR (A) A = 0
20 REG (Α,Β) B = A
CMP (A,B) Vergelijken van A en B en instellen van EQ,LT,GT-signalen CMPO (A) Vergelijken van A met 0 en instellen van EQ.LT.GT-signaelen NEGATE (A) A - niet (A)
MOD (A,B,C) C = A modulus B
25 POW (A,B,C) C - A‘B
DC2 (A.S1 ,S2,S3,S4) decodeer A in S1 ,S2,S3,S4
EC2 (S1 ,S2,S3,Sr4,A) codeer S1 ,S2,S3,S4 in A
MOVE (Α,Β) B = A
CALL sub-flowchart (Α,Β, Roep een deelstroomschema op, lopend door Α,Β ....
30 ....) START (Α,Β.....) Begintoestand van een deelstroomschema STOP (Α,Β.....) Eindtoestand van een deelstroomschema 35 De stroomschema-redigeerdeenheid maakt ook een grafische weergave van het stroomschema mogelijk, terwijl de stroomschema-simulator het stroomschema simuleert. Deze grafische weergave omvat vierkanten, ruiten en lijnen op de wijze als getoond in figuur 7. Al deze details worden op het scherm getekend en zien eruit als een traditioneel stroomschema. Door het stroomschema op het scherm weer te geven tijdens de simulatie krijgt de ontwerper de gelegenheid om tegelijkertijd het stroomschema na te lopen.
40 De stroomschema-simulator 22 is een software-module die wordt gebruikt voor het simuleren van stroomschema’s. Deze module wordt bestuurd via het simulatorvenster dat getoond is in figuur 8. De stroomschema-simulator simuleert de overgangen tussen de toestanden en voorwaarden in een stroomschema. Het volgende is een lijst van de operaties van de stroomschema-simulator: data-redigeren - verander de waarden van een register of geheugen 45 data-instellen - instellen van de volgende te simuleren toestand instellen van detail of korte aanduidingweergave - weergeven van korte aanduiding of detailinformatie tijdens simulatie.
instellen breekpunten - instellen van een breekpunt, wissen breekpunten - wissen van alle breekpunten.
50 tonen breekpunten - weergeven van alle huidige breekpunten, stap - voortstappen via één overgang.
uitvoeren - uitvoeren van een stroomschema, stop - stoppen met uitvoeren van het stroomschema, geschiedenis AAN of geschiedenis UIT - instellen van de geschiedenisregistratie op AAN of UIT.
55 annuleren - annuleren van de huidige operatie, help - weergeven van een helpscherm.
sluiten - sluiten van het simulatorvenster.
7 192892
De resultaten van de simulatie worden weergegeven binnen het simulatorvenster. Ook het redigeervenster zal het stroomschema volgen terwijl dit wordt gesimuleerd. Dit volgen van het stroomschema maakt het gemakkelijk om het stroomschema te redigeren wanneer er een fout wordt aangetroffen.
De celkiezer 32 is een op kennis gebaseerd systeem voor het kiezen van een groep optimale cellen uit 5 de celbibliotheek 34 voor het implementeren van een VLSI-systeem. De keuze is gebaseerd op functionele beschrijvingen in het stroomschema, die worden gespecificeerd door de macro’s, toegewezen aan elke actie die in het stroomschema is aangegeven. De cellen die geselecteerd worden voor het implementeren van een VLSI-systeem hangen af van factoren, zoals celfunctie, gebruikte fabricagetechnologie, vermogensbe-grenzingen, tijd vertragingen, enz. De celkiezer maakt gebruik van een kennisdatabank, die afkomstig is van 10 VLSI-ontwerp-experts voor het uitvoeren van de celkeuze.
Om een VLSI-systeem te ontwerpen uit een stroomschemabeschrijving van een gebruikerstoepassing is het noodzakelijk om de functies in een stroomschema toe te passen aan de cellen in een celbibliotheek. Deze aanpassing of afbeelding vraagt om het gebruik van kunstmatige intelligentie-technieken, omdat het celkeuzeproces gecompliceerd is en uitgevoerd moet worden op basis van een aantal ontwerpparameters 15 en vereisten. Het gebruikte concept voor de celkeuze is analoog aan het concept dat wordt gebruikt in software-compilatie. In softwarecompilatie wordt een aantal subroutines vanuit bibliotheken met elkaar gekoppeld. In het ontwerp van VLSI-systemen kan een functionele macro worden afgebeeld op een bibliotheekcel.
Figuur 4 illustreert het concept van de hiërarchieke celkeuze. Het celkeuzeproces wordt uitgevoerd in 20 twee stappen: 1) keuze van functionele macro’s 2) keuze van geometrische cellen.
Een groep van basismacro’s is getoond in de tabel. Een macro correspondeert met een actie in het stroomschema. Als voorbeeld wordt de operatie beschouwd waarin A en B moeten worden opgeteld en het 25 resultaat in C moet worden opgeslagen. Deze functie wordt afgebeeld op de optellinggsmacro ADD (Χ,Υ,Ζ). De stroomschema-redigeereenheid en de stroomschema-simulator worden gebruikt voor het tekenen van de rechthoeken, ruiten en lijnen van het stroomschema, en voor het toewijzen van één uit de macrobibliotheek 23 geselecteerde macro aan elke actie die in dit stroomschema is aangegeven, en voor het verifiëren van de functies in het stroomschema. Het stroomschema wordt omgevormd in een tussenvorm (toestandenlijst) 30 en ingevoerd in de celkiezer.
De celkiezer maakt gebruikt van een op regels gebaseerd expertsysteem voor het kiezen van de geschikte cel of cellen voor het uitvoeren van elke actie. Als de celbibliotheek een aantal cellen heeft met verschillende geometrieën voor het uitvoeren van de operatie, gespecificeerd door de macro, dan kan een geschikte cel worden gekozen op basis van factoren, zoals celfunctie, gebruikte procestechnologie, 35 tijdvertraging, vermogensopname, enz.
De kennis-databank van de celkiezer 32 bevat informatie, (regels) die betrekking hebben op: 1) het kiezen van macro’s 2) het vermogen van twee macro’s 3) het afbeelden van macro’s op cellen 40 4) het vermengen van twee cellen 5) diagnose van fouten.
De bovengenoemde informatie is opgeslagen in een kennisdatabank 35 in de vorm van regels.
Figuur 9 toont de stappen voor het genereren van de cellijst. De eerste stap bij het genereren van de cellijst is de transformatie van de stroomschemabeschrijving in een structuur die door de celkiezer kan 45 worden gebruikt. Deze structuur wordt de toestandlijst genoemd. De bloklijst wordt gegenereerd uit de toestandlijst door een deductieproces. De bloklijst bevat een lijst van functionele blokken, die in de geïntegreerde schakeling moeten worden gebruikt. In dit proces worden de volgende regels toegepast: - afbeelden van argumenten op datawegen - afbeelden van acties op macro’s 50 - verbinden van deze blokken
Ook worden op dit niveau regels toegepast voor optimalisatie en diagnose van fouten.
De celkiezer beeldt de blokken af op de cellen die uit de celbibliotheek 34 moeten worden gekozen. Ze kiest een optimale cel voor een blok. Dit houdt in het formuleren van regels voor het selecteren van geschikte cellen uit de celbibliotheek. Vier typen van informatie zijn voor elke cel opgeslagen. Dat zijn: 55 1) informatie op functioneel niveau: beschrijving van de cel op het registeroverdrachtsniveau.
2) informatie op logisch niveau: beschrijving in termen van flipflops en poorten.
3) informatie op schakelingsniveau: beschrijving op transistorniveau.
O
4) informatie op layout-niveau: specificatie van het geometrische maskerniveau.. De kenmerken van een cel zijn: - ceinaam - beschrijving 5 - functie - breedte - hoogte - status - technologie 10 - minimale vertraging - kenmerkende vertraging - maximale vertraging - vermogensopname - bestand 15 - ontwerper - datum - commentaar - inspecteur.
In het celkeuzeproces kan de bovenstaande informatie worden gebruikt.
20 De parameters die gebruikt kunnen worden voor het afbeelden van de macro’s op cellen zijn: 1) naam van de macro 2) de uit te voeren functie 3) complexiteit van de chip 4) fabricagetechnologie 25 5) toegestane vertragingstijd 6) vermogensopname 7) bit-afmetingen van de macro-datawegen
De structuurlijst wordt gegenereerd nadat de cellen zijn geselecteerd door de PSCS. De PSCS maakt ook gebruik van de macrodefinities voor het onderling verbinden van de celaansluitingen met andere cellen. 30 De PSCS gebruikte de toestand-naar-toestand-overgangsinformatie uit een tussenvormrepresentatie van een stroomschema (de genoemde toestandslijst) voor het genereren van een structuurlijst. De PSCS bevat de volgende kennis voor het genereren van de structuurlijst: 1) Synthese van datawegen 2) optimalisatie van datawegen 35 3) macrodefinities 4) celbibliotheek 5) foutdetectie en -correctie.
De bovengenoemde informatie is opgeslagen in de kennisdatabank 35 in de vorm van regels. Deskundige ingenieurs kunnen helpen bij het formuleren van deze regels, die afkomstig zijn van ontwerp-experts op 40 het terrein van de specialistische geïntegreerde schakelingen. De macrobibliotheek 23 en de celbibliotheek 34 zijn opgeslagen in een databank van de KBSC.
Door de PSCS wordt een aantal operaties uitgevoerd. Het volgende is een topniveau beschrijving van de PSCS-operaties: 1) lezen van het stroomschema-tussenbestand en opbouwen van een toestandslijst.
45 2) huidige -context = start 3) starten van deductieproces en laden van de huidige contextregels.
4) uitvoeren van één van de volgende operaties afhankelijk van de huidige context: (a) modificeren van de toestandslijst voor correcte implementatie.
(b) creëren van een bloklijst, macrolijst en datawegen 50 (c) optimaliseren van bloklijst en datawegenlijst en uitvoeren van controle op fouten.
(d) converteren van blokken naar cellen.
(e) optimaliseren van de cellijst en uitvoeren van de fout controle.
(f) genereren van de structuurlijst.
(g) optimaliseren van de structuurlijst en uitvoeren van foutcontrole en bij voltooiing daarvan doorgaan.
55 5) als de huidige context is gewijzigd, laden van de nieuwe contextregels.
6) ga naar 4.
7) uitvoer van het structuuriijstbestand en de stf-bestanden en stoppen.
9 192892
In de volgende secties worden de operaties, genoemd in stap 4) beschreven. Ook worden de taal die gebruikt worden voor het uitdrukken van de regels en de weergave van de PSCS beschreven.
De taal die binnen PSCS wordt gebruikt voor het weergeven van de regels is ontworpen om declaratief te zijn en de redactie van de regels te vereenvoudigen. Teneinde het voor een expert mogelijk te maken om 5 de structuur van de kennisdatabank begrijpen, verschaft de regel-taal middelen voor het weergeven van de kennis. Daardoor wordt het mogelijk is om het formaat van de datastructuren in de regel-databasis te definiëren, hetgeen de expert in staat zal stellen omdaarnaar te verwijzen en de diverse structuren, die door het stelsel worden gebruikt, te begrijpen. De expert kan bijvoorbeeld de bedradingsstructuur analyseren en de componenten ervan vaststellen. De expert kan in regels naar deze componenten verwijzen. Als een 10 nieuw object moet worden gedefinieerd, dan kan de expert een nieuwe structuur declareren en bestaande structuren modificeren teneinde deze aan de nieuwe structuur te koppelen. Op deze wijze kan de groei van de datastructuren beter door de expert worden gevisualiseerd. Dit helpt op zijn beurt de ontwerper in het bijhouden en toepassen van de regels.
De volgende kenmerken zijn in de regel-taal opgenomen.
15 i) kennis-representatie in de vorm van een record-structuur.
ii) kconditionele uitdrukkingen in de voorganger van een regel.
iii) kfaciliteiten voor het creëren en vernietigen van structuren in regel-acties.
iv) kde toewijzings-statement in de actie van een regel.
v) kfaciliteiten voor in- en uitvoer van regelacties.
20 vi) khet verschaffen van faciliteiten voor het uitvoeren van functies in de C-programmeertaal vanuit regel-acties.
Het te gebruiken regel-formaat kan als volgt worden gedefinieerd: regel <nummer> <context> 25 <if-term> } then { <then-term> } 30 waarin <nummer> : regelnummer <context> : context waarin deze regel actief is.
<if-term> : het voorwaardelijk deel van de regel.
<then-term> : het actie-deel van de regel.
35 De deductie-strategie is gebaseerd op een algoritme voor het snel aan elkaar aanpassen van patronen. De regels zijn opgeslagen in een netwerk en de noodzaak om een iteratieproces op de regels uit te voeren, is vermeden. Daardoor wordt de uitvoersnelheid verhoogt. De conflictresolutiestrategie die wordt gebruikt is gebaseerd op het volgende: 1) de regel die de meest recente data bevat, wordt geselecteerd.
40 2) de regel die de meest complexe voorwaarden bevat, wordt geselecteerd.
3) de eerste gedeclareerde regel wordt geselecteerd.
PSCS verschaft een interactieve regel-redigeereenheid die de expert in staat stelt om de gehele verzameling van regels bij te werken. De regels zijn opgeslagen in een databank, zodat de redigeer-eigenschappen van het databank-softwarepakket kunnen worden gebruikt voor het redigeren van de regels. 45 Om deze operatie uit te voeren moet de expert vertrouwd zijn met de diverse kennisstructuren en met het deductieproces. Als dit niet mogelijk is, is de hulp van een kennis-ingenieur nodig.
PSCS verschaft een menu van waaruit diverse opties kunnen worden ingesteld. Mechanismen worden verschaft voor het instellen van diverse debug-vlaggen en voor het opgeven van opties en voor de totale besturing van de PSCS.
50 Mogelijkheden worden verschaft voor het opslaan en weergeven van de door de gebruiker gecreëerde bloklijst. De bloklijstconfiguratie, gecreëerd door de gebruiker kan worden opgeslagen in een bestand en later met behulp van een afdrukeenheid worden afgedrukt. Ook de weergave, verzorgt door de PSCS kan worden teruggesteld, om het weergeefproces opnieuw te starten.
192892 10
PSCS VOORBEELDREGELS
Regel 1 IF er geen blok bestaat THEN genereert een systeemstuureenheid 5 Regel 2 IF een toestand bestaat die een macro heeft AND deze macro is niet afgebeeld op een blok THEN zoekt een corresponderende macro in de bibliotheek en genereert een blok voor deze macro.
Regel 3 IF er een overgang bestaat tussen twee toestanden AND er zijn macro’s in 10 deze toestand gebruikmakend van hetzelfde argument THEN maakt een verbinding vanaf een register corresponderend met een eerste macro naar een ander register corresponderend met de tweede macro. Regel 4 IF een register slechts één enkel verbinding vanaf een ander register heeft THEN combineert deze registers tot één enkel register.
15 Regel 5 IF er twee comparatoren zijn AND de ingangsdatabreedten hebben dezelfde afmeting AND één van deze ingangen is dezelfde AND de uitgangen van de comparatoren worden gebruikt voor het uitvoeren van dezelfde operatie THEN combineert deze comparatoren tot één enkele comparator.
Regel 6 IF er een data is zonder een register 20 THEN wijst een register aan voor deze data
Regel 7 IF alle blokken met elkaar zijn verbonden AND één blok heeft enkele niet-verbonden aansluiten, THEN verwijdert het blok met zijn aansluitingen, of geeft een fout-boodschap af.
Regel 8 IF geheugen moet worden gebruikt, maar er is geen blok voor gecreëerd 25 THEN creëert een geheugenblok met data-, adres-, lees- en schrijfgegevens en stuuraansluitingen.
Regel 9 IF een register één enkele verbinding heeft met een teller THEN combineert het register en de teller; verwijdert het register met zijn aansluitingen.
30 Regel 10 IF er verbindingen zijn naar een aansluiting van een blok vanuit diverse verschillende blokken THEN voegt een multiplexer tussen; verwijdert de verbindingen naar de aansluitin gen en verbindt deze met de ingang van de multiplexer; verbindt de uitgang van de multiplexer met de ingang van de blok.
35
Verdere regels zorgen er voor dat regeling wordt gehouden met de volgende punten: - verwijderen van cellen die kunnen worden vervangen door gebruik te maken van de uitgangen van ander cellen.
- reduceren van mulplexerbomen 40 - gebruiken van de fan-out van de cellen, enz.
Voorbeeld: ontwerp van een stuureenheid voor het besturen van een drankenverkoop automaat.
Het volgende voorbeeld illustreert hoe de in het voorgaande beschreven eigenschappen van de onderha-45 vige uitvinding kunnen worden gebruikt bij het ontwerpen van een op een speciale toepassing gerichte, geïntegreerde schakeling. In dit illustratieve voorbeeld wordt de speciale geïntegreerde schakeling ontworpen voor gebruik als stuureenheid in een verkoopautomaat. De verkoopautomaat-stuureenheid ontvangt een signaal telkens als een munt wordt ingeworpen in een muntontvangen. De muntwaarde wordt geregistreerd en wanneer munten tot een totale correcte waarde zijn ontvangen dan genereert de stuur-50 eenheid een signaal, waarmee de drank wordt verschaft. Indien de totale waarde van de munten meer is dan de kosten van de drank, dan geeft de stuureenheid wisselgeld terug tot de juiste waarde.
Dit voorbeeld van een verkoopautomaat-stuureenheid Is uitgewerkt aan de hand van een voorbeeld in een boek dat gebruikt wordt bij onderwijs in het ontwerpen van digitale systeem-eenheden. Zie hiertoe ”An Engineering Approach to Digital Design”, geschreven door William I. Fletcher en uitgegeven door Prentice-55 Hall, Ine., blz. 491-505. Voor een meer complete verklaring van de eisen die aan deze verkoopautomaat-stuureenheid worden gesteld en voor een beter begrip van de complexe ontwerpprocedures die nodig waren voor het ontwerpen van de hardware-componenten van een stuureenheid wordt naar dit boek 11 192892 verwezen.
Figuur 10 illustreert een stroomschema van de verkoopautomaatstuureenheid. Dit stroomschema wordt door de gebruiker van het KBSC-systeem via de stroomschema-redigeereenheid ingevoerd, volgens dit stroomschema ontvangt de stuureenheid een munt-aanwezig signaal indien een mint wordt ontvangen in de 5 muntontvanger. State 0 (toestand 0) en cond 0 (voorwaarde 0) definiëren een wachttoestand waarin wordt gewacht op het inwerpen van een munt. Het symbool CP vertegenwoordigt het signaal ’’munt aanwezig”. State 1 (toestand 1) en cond 1 (voorwaarde 1) bepaalde wanneer een munt op correcte wijze door de muntontvanger is herkend. In state 20 (toestand 20), na ontvangst van een munt, wordt het systeem door de macro-instructie ADD3.1 (1c, cv, som) geïnstrueerd om de laatste munt 1c en de muntwaarde cv bij 10 elkaar op te tellen en het resultaat als som op te slaan. De macro-instructie die behoort bij state 21 (toestand 21) zorgt ervoor dat de waarde in het somregister wordt overgedragen naar cv. De macro CMP.1 in state 22 (toestand 22) vergelijkt de waarde van cv met PR, de prijs van een drankje, en retourneert de signalen CQ, GT en LT. De voorwaarde cond2 test het resultaat van de vergelijkingsoperatie CMP.1. Als het resultaat niet groter is dan (IGT.CMP.1), dan wordt met voorwaarde cond3 getest om te zien of het 15 resultaat ’’gelijk” is aan (IEQ.CMP.1). Als het resultaat ”niet-gelijk” is aan (EQ.CMP.1) dan keert de besturing terug naar de state 0 (toestand 0) waarin wordt gewacht op het inwerpen van een volgende munt. Als voorwaarde cond3 gelijk is aan EQ, dan wordt in state 4 (toestand 4) een stuursignaal gegenereerd voor het afgeven van een drankje, waarna met de macro-instructie CLR.1 (cv) de cv op nul wordt teruggesteld in afwachting van een volgende cliënt.
20 Als de totale muntwaarde van de ingeworpen munten hoger is dan de prijs dan wordt in state 30 (toestand 30) de actie ”munt-teruggave" geproduceerd. Verder wordt met de macro DECR.1 (cv) de waarde van cv telkens met de teruggegeven munten gereduceerd. In state 31 (toestand 31) worden cv en PR opnieuw met elkaar vergeleken. Als cv nog steeds groter is dan PR, dan gaat de besturing verder naar toestand 30 om opnieuw een munt terug te geven. In de voorwaarde cond5 wordt getest of het resultaat 25 van CMP.2 gelijk is aan EQ en dit zal resulteren in ofwel de afgifte van een drankje, ofwel in een aftakking van de state 0 (toestand 0) waarin wordt gewacht op het inwerpen van een volgende munt. De met de toestanden, getoond in figuur 10, overeenstemmende macro’s corresponderen met degenen die gedefinieerd zijn in de bovenstaande tabel 1 en definiëren de bepaalde acties die in de respectieve toestemden moeten worden uitgevoerd.
30 Aanhangsel A toont het tussenbestand, ofwel de ’’toestandslijst” die geproduceerd wordt uit het stroomschema van figuur 10. Deze toestandslijst wordt geproduceerd als uitgangsdata van de EDSIM programma 20 en wordt gebruikt als ingangsdata voor het PSCS programma 30 (figuur 30).
Figuur 11 illustreert voor elk van de gebruikte macro’s in het stroomschema van figuur 10 de corresponderende hardware blokken. Uit deze figuur blijkt dat de vergelijkingsmacro CMP (A,B) resulteert in het 35 genereren van een register voor het opslaan van de waarde A, een register voor het opslaan van de waarde B, en een comparatorblok, waarbij tevens stuurwegen worden geproduceerd naar de systeemstuur-eenheid voor de EQ, LT, GT-signalen die worden gegenereerd als resultaat van de gelijkingsoperatie. De optellingsmacro ADD (A,B,C) resulteert in het genereren van een register voor elk van de ingangswaarden A en B. Een register voor de uitgangswaarde C en in het genereren van een optellerblok. De macro DECR 40 (A) resulteert in het genereren van een tellerblok. Het PSCS programma 30 beeldt elk van de in het stroomschema van figuur 10 gebruikte macro’s af op corresponderende hardware componenten resulterend in het genereren van de hardware blokken die in figuur 12 zijn getoond. Bij het genereren van de geïllustreerde blokken baseert het PSCS programma 30 zich op de regels 1 en 2 uit de bovengenoemde lijst van voorbeeldregels.
45 Figuur 13 illustreert de onderlinge verbindingen tussen de blokken uit figuur 12 met datawegen en stuurwegen. Regel 3 wordt gebruikt door het data/stuurwegensynthesizerprogramma 31 bij het afbeelden van de data- en stuurwegen.
Figuur 14 toont het resultaat van de optimalisering van de schakeling door het toepassen van regel 4, waardoor redundante registers worden geëlimineerd. Als resultaat van de toepassing van deze regel worden 50 de registers R2, R3, R7, R8 en R9 in figuur 13 verwijderd.
Figuur 15 toont het blokschema na verdere optimalisatie, waarbij redundante comparatoren worden gefuseerd. Deze optimalisatie wordt in het PSCS-programma 30 gerealiseerd door toepassing van regel 5.
Nadat nu de systeem-stuureenheid, de andere noodzakelijke hardware blokken en de data- en stuurwegen voor de geïntegreerde schakeling zijn gedefinieerd, genereert het PSCS-programma 30 nu een 55 structuurlijst 15 die deze hardware componenten met hun onderlinge verbindingen definieert. Uit deze structuurlijst kunnen direct de maskergegevens voor het produceren van de geïntegreerde schakeling worden vervaardigd, uitgaande van beschikbare VLSI CAD gereedschappen.
Claims (11)
192892 12 APPENDIX A data path i@c<0:5,cv<0:5>,sum<0:5>@r<0:5>; { 5 state 4 : stateO; state30 : state31; state21 : state 22; state20 : state21; 10 stateO :. !cp stateO; stateO :. cp statel; statel :. cp state 1; statel : icp state 20; state22 :. GT.CMP.1 state 30; 15 state22 :. !GT.CMP.1*EQ.CMP.1 state4; state22 :. !GT.CMP.1*!EQ.CMP.1 stateO; state31 :. GT.CMP.2 state30; state31 :. !GT.CMP.2*EQ.CMP.2 state4; state31 :. !GT.CMP.2*!EQ.CMP.2 stateO; 20 state 30 :: retumcoin: (munt-teruggave) state30 "DECR.1 (cv); state4 :: droppop; state4 :: CLR.1(cv); 25 state31 :: CRL.2(cv,pr); state22 :: CMP.1(cv,pr); state21 :: M0VE.1 (sun,cv); state20 :: ADD3.1(ic,cv,sum); 30
1. Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen, omvattende: 35 invoermiddelen die door een gebruiker kunnen worden bediend voor het definiëren van functionele specificaties van de schakeling als een verzameling macro’s, waarbij elke macro een functie specificeert; een celbibliotheek die een verzameling van hardware-cellen voor het uitvoeren van functies definieert; celselectiemiddelen voor het voor elke macro van de geselecteerde verzameling uit de celbibliotheek selecteren van geschikte hardware-cellen die de door de macro gespecificeerde functies uitvoeren, met het 40 kenmerk, dat voor het ontwerpen van een geïntegreerde schakeling voor een specifieke toepassing, direct uit de functionele specificaties voor de geïntegreerde schakeling, het systeem een macrobibliotheek omvat die een verzameling van mogelijke acties en condities bepaalt, waarbij de invoermiddelen zijn ingericht voor het definiëren van de functionele specificaties van de schakeling als een serie acties en condities en voor het voor elke actie of conditie specificeren van een uit de macrobibliotheek geselecteerde macro.
2. Stelsel volgens conclusie 1, met het kenmerk, dat de invoermiddelen stroomschema-bewerkingsmiddelen omvatten voor het tot stand brengen van een stroomschema met elementen die de serie acties en condities weergeven.
3. Systeem volgens conclusie 2, gekenmerkt door stroomschema-simulatiemiddelen voor het simuleren van de functies die in het stroomschema zijn gedefinieerd, teneinde de gebruiker in staat te stellen de werking 50 van de geïntegreerde schakeling te controleren.
4. Systeem volgens één van de voorgaande conclusies, met het kenmerk, dat de invoermiddelen zijn voorzien van middelen voor het ontvangen van een door ge gebruiker in te voeren lijst, waarmee de acties en condities worden gedefinieerd.
5. Systeem volgens één van de voorgaande conclusies, welk systeem een kennisbank en deductiemiddelen 55 omvat, met het kenmerk, dat de kennisbank regels omvat voor het uit de genoemde celbibliotheek selecteren van hardware-cellen en dat de deductiemiddelen zijn ingericht voor het uit de celbibliotheek in overeenstemming met de regels van de kennisbank selecteren van geschikte hardware-cellen. Systeem volgens één van de voorgaande conclusies, met het kenmerk, dat een datapadgenerator is verschaft die met de ceiselectiemiddelen samenwerkt voor het genereren van datapaden voor de hardware-cellen die door de ceiselectiemiddelen geselecteerd zijn.
7. Systeem volgens conclusie 6, welk systeem een kennisbank en deductiemiddelen omvat, met het 5 kenmerk, dat de kennisbank regels bevat voor het selecteren van datapaden tussen hardware-cellen en dat de deductiemiddelen zijn ingericht voor het in overeenstemming met de regels van de kennisbank selecteren van datapaden tussen de hardware-cellen, die door de ceiselectiemiddelen geselecteerd zijn.
8. Systeem volgens één van de voorgaande conclusies, met het kenmerk, dat een besturingsgenerator is verschaft voor het genereren van een besturingseenheid en besturingspaden voor de door de celselectie- 10 middelen geselecteerde hardware-cellen.
9. Systeem volgens één van de voorgaande conclusies, met het kenmerk, dat een structuurlijstgenerator is verschaft die samenwerkt met de ceiselectiemiddelen voor het als uitvoer van het systeem genereren van een structuurlost die de hardware-cellen definieert welke nodig zijn voor het realiseren van de functionele vereisten van de geïntegreerde schakeling en van de onderlinge verbindingen daarin.
10. Systeem volgens conclusie 9, met het kenmerk, dat een maskerdatagenerator is verschaft voor het aan de hand van de structuurlost genereren van maskerdata die nodig zijn voor het produceren van een geïntegreerde schakeling met de gespecificeerde functionele vereisten.
11. Systeem volgens één van de voorgaande conclusies, gekenmerkt door een expert-systeem dat met de kennisbank samenwerk voor het vertalen van het door de stroomschema-bewerkingsmiddelen gedefinieerd 20 stroomschema in een structuurlijst die de in een geïntegreerde schakeling met de gespecificeerde functionele vereisten benodigde noodzakelijke hardware-cellen en data- en besturingspaden definieert. Hierbij 14 bladen tekening
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/143,821 US4922432A (en) | 1988-01-13 | 1988-01-13 | Knowledge based method and apparatus for designing integrated circuits using functional specifications |
US14382188 | 1988-01-13 |
Publications (3)
Publication Number | Publication Date |
---|---|
NL8900084A NL8900084A (nl) | 1989-08-01 |
NL192892B NL192892B (nl) | 1997-12-01 |
NL192892C true NL192892C (nl) | 1998-04-02 |
Family
ID=22505806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL8900084A NL192892C (nl) | 1988-01-13 | 1989-01-13 | Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen. |
Country Status (5)
Country | Link |
---|---|
US (1) | US4922432A (nl) |
JP (1) | JP2862886B2 (nl) |
DE (1) | DE3900750A1 (nl) |
GB (1) | GB2213967B (nl) |
NL (1) | NL192892C (nl) |
Families Citing this family (154)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5610828A (en) * | 1986-04-14 | 1997-03-11 | National Instruments Corporation | Graphical system for modelling a process and associated method |
US5151867A (en) * | 1986-09-12 | 1992-09-29 | Digital Equipment Corporation | Method of minimizing sum-of-product cases in a heterogeneous data base environment for circuit synthesis |
US5095441A (en) * | 1986-09-12 | 1992-03-10 | Digital Equipment Corporation | Rule inference and localization during synthesis of logic circuit designs |
US5150308A (en) * | 1986-09-12 | 1992-09-22 | Digital Equipment Corporation | Parameter and rule creation and modification mechanism for use by a procedure for synthesis of logic circuit designs |
US5212650A (en) * | 1986-09-12 | 1993-05-18 | Digital Equipment Corporation | Procedure and data structure for synthesis and transformation of logic circuit designs |
US5197016A (en) * | 1988-01-13 | 1993-03-23 | International Chip Corporation | Integrated silicon-software compiler |
JPH01226066A (ja) * | 1988-03-04 | 1989-09-08 | Hitachi Ltd | ディジタル信号処理プロセッサ |
JPH0769926B2 (ja) * | 1988-03-18 | 1995-07-31 | 株式会社日立製作所 | 符号解読型選択論理生成装置 |
US5173864A (en) * | 1988-08-20 | 1992-12-22 | Kabushiki Kaisha Toshiba | Standard cell and standard-cell-type integrated circuit |
JPH0786883B2 (ja) * | 1988-09-09 | 1995-09-20 | 松下電器産業株式会社 | 網図または諭理回路図自動生成方法およびそのシステム |
US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
US5283857A (en) * | 1988-11-14 | 1994-02-01 | Digital Equipment Corporation | Expert system including arrangement for acquiring redesign knowledge |
US5208768A (en) * | 1988-11-14 | 1993-05-04 | Digital Equipment Corporation | Expert system including arrangement for acquiring redesign knowledge |
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US5329470A (en) * | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
US5140526A (en) * | 1989-01-06 | 1992-08-18 | Minc Incorporated | Partitioning of Boolean logic equations into physical logic devices |
US5187784A (en) * | 1989-01-13 | 1993-02-16 | Vlsi Technology, Inc. | Integrated circuit placement method using netlist and predetermined ordering constraints to produce a human readable integrated circuit schematic diagram |
US5241656A (en) * | 1989-02-06 | 1993-08-31 | International Business Machines Corporation | Depth buffer clipping for window management |
US5371683A (en) * | 1989-03-22 | 1994-12-06 | Kabushiki Kaisha Toshiba | LSI design support system |
US5353243A (en) | 1989-05-31 | 1994-10-04 | Synopsys Inc. | Hardware modeling system and method of use |
US5369593A (en) | 1989-05-31 | 1994-11-29 | Synopsys Inc. | System for and method of connecting a hardware modeling element to a hardware modeling system |
JPH0341519A (ja) * | 1989-07-10 | 1991-02-22 | Hitachi Ltd | 知識処理システム |
US5243538B1 (en) * | 1989-08-09 | 1995-11-07 | Hitachi Ltd | Comparison and verification system for logic circuits and method thereof |
EP0416669B1 (en) * | 1989-09-05 | 1998-09-09 | Lsi Logic Corporation | Logic compiler for design of circuit models |
JP2801931B2 (ja) * | 1989-09-07 | 1998-09-21 | 松下電器産業株式会社 | 論理設計処理装置および回路変換ルール翻訳装置ならびに回路変換ルール翻訳方法 |
US5307282A (en) * | 1989-09-22 | 1994-04-26 | Hewlett-Packard Company | Method of computer-aided prediction of collisions between objects including fabrication tools and parts to be fabricated |
US5231590A (en) * | 1989-10-13 | 1993-07-27 | Zilog, Inc. | Technique for modifying an integrated circuit layout |
US5448493A (en) * | 1989-12-20 | 1995-09-05 | Xilinx, Inc. | Structure and method for manually controlling automatic configuration in an integrated circuit logic block array |
US5448494A (en) * | 1989-12-20 | 1995-09-05 | Fujitsu Limited | Mask data processing apparatus for integrated circuit production |
US5367468A (en) * | 1990-02-21 | 1994-11-22 | Kabushiki Kaisha Toshiba | Design aid method and design aid apparatus for integrated circuits |
US5384710A (en) * | 1990-03-13 | 1995-01-24 | National Semiconductor Corporation | Circuit level netlist generation |
US5084824A (en) * | 1990-03-29 | 1992-01-28 | National Semiconductor Corporation | Simulation model generation from a physical data base of a combinatorial circuit |
US5867399A (en) * | 1990-04-06 | 1999-02-02 | Lsi Logic Corporation | System and method for creating and validating structural description of electronic system from higher-level and behavior-oriented description |
US5598344A (en) * | 1990-04-06 | 1997-01-28 | Lsi Logic Corporation | Method and system for creating, validating, and scaling structural description of electronic device |
US5544066A (en) * | 1990-04-06 | 1996-08-06 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of low-level design constraints |
US5222030A (en) * | 1990-04-06 | 1993-06-22 | Lsi Logic Corporation | Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof |
US5557531A (en) * | 1990-04-06 | 1996-09-17 | Lsi Logic Corporation | Method and system for creating and validating low level structural description of electronic design from higher level, behavior-oriented description, including estimating power dissipation of physical implementation |
US5572436A (en) * | 1990-04-06 | 1996-11-05 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design |
US5870308A (en) * | 1990-04-06 | 1999-02-09 | Lsi Logic Corporation | Method and system for creating and validating low-level description of electronic design |
US5278769A (en) * | 1991-04-12 | 1994-01-11 | Lsi Logic Corporation | Automatic logic model generation from schematic data base |
US5572437A (en) * | 1990-04-06 | 1996-11-05 | Lsi Logic Corporation | Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models |
US5544067A (en) * | 1990-04-06 | 1996-08-06 | Lsi Logic Corporation | Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation |
US5541849A (en) * | 1990-04-06 | 1996-07-30 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters |
US5553002A (en) | 1990-04-06 | 1996-09-03 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface |
US5555201A (en) * | 1990-04-06 | 1996-09-10 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information |
US5623418A (en) * | 1990-04-06 | 1997-04-22 | Lsi Logic Corporation | System and method for creating and validating structural description of electronic system |
US5258919A (en) * | 1990-06-28 | 1993-11-02 | National Semiconductor Corporation | Structured logic design method using figures of merit and a flowchart methodology |
US5428550A (en) * | 1990-06-28 | 1995-06-27 | National Semiconductor Corporation | Hierarchical hardware flowchart using symbolic macros |
US5699310A (en) * | 1990-06-29 | 1997-12-16 | Dynasty Technologies, Inc. | Method and apparatus for a fully inherited object-oriented computer system for generating source code from user-entered specifications |
US5713034A (en) * | 1990-08-07 | 1998-01-27 | Oki Electric Industry Co., Ltd. | CAE system for preparing transmission network and analyzing load in mechanical system |
US5412591A (en) * | 1990-08-09 | 1995-05-02 | Vlsi Technology, Inc. | Schematic compiler for a multi-format high speed multiplier |
US5187671A (en) * | 1990-08-24 | 1993-02-16 | Microelectronics And Computer Technology Corporation | Automated interconnect routing system |
US5406497A (en) * | 1990-09-05 | 1995-04-11 | Vlsi Technology, Inc. | Methods of operating cell libraries and of realizing large scale integrated circuits using a programmed compiler including a cell library |
JPH04116951A (ja) * | 1990-09-07 | 1992-04-17 | Fujitsu Ltd | 半導体集積回路 |
JPH04127275A (ja) * | 1990-09-19 | 1992-04-28 | Fujitsu Ltd | Lsi論理回路自動合成における組合せ回路のテクノロジーマッピング方式 |
US5490082A (en) * | 1990-11-07 | 1996-02-06 | Vlsi Technology, Inc. | Method of graphically designing circuits |
JP2573414B2 (ja) * | 1990-11-21 | 1997-01-22 | 株式会社東芝 | 半導体集積回路製造方法 |
US5303161A (en) * | 1990-12-10 | 1994-04-12 | Hughes Aircraft Company | Technology independent integrated circuit mask artwork generator |
US5740070A (en) * | 1991-06-11 | 1998-04-14 | Mega Chips Corporation | Apparatus for automatically generating logic circuit |
US5473546A (en) * | 1991-06-12 | 1995-12-05 | Lsi Logic Corporation | Method for flattening hierarchical design descriptions |
US5521836A (en) * | 1991-06-28 | 1996-05-28 | Vlsi Technology, Inc. | Method for determining instance placements in circuit layouts |
US5471398A (en) * | 1991-07-01 | 1995-11-28 | Texas Instruments Incorporated | MTOL software tool for converting an RTL behavioral model into layout information comprising bounding boxes and an associated interconnect netlist |
JP3172211B2 (ja) * | 1991-09-05 | 2001-06-04 | 富士通株式会社 | 回路合成システム |
FR2681748B1 (fr) * | 1991-09-20 | 1994-10-14 | Sgs Thomson Microelectronics Sa | Procede pour concevoir des circuits integres controleurs de protocole et systeme pour sa mise en óoeuvre. |
US5337255A (en) * | 1991-10-30 | 1994-08-09 | Xilinx, Inc. | Method for implementing set/reset synchronously or asynchronously in a programmable logic device |
US5574655A (en) * | 1991-10-30 | 1996-11-12 | Xilinx, Inc. | Method of allocating logic using general function components |
US5553001A (en) * | 1991-10-30 | 1996-09-03 | Xilinx, Inc. | Method for optimizing resource allocation starting from a high level |
JPH05128085A (ja) * | 1991-11-08 | 1993-05-25 | Toshiba Corp | システム制御の学習方法 |
US5452227A (en) * | 1991-11-13 | 1995-09-19 | Westinghouse Elec. Corp. | Method and apparatus for converting a programmable logic device designed into a selectable target gate array design |
US5386558A (en) * | 1992-02-24 | 1995-01-31 | Adapsys, Inc. | Method and apparatus for executing control system functions in a computer system |
JPH05274390A (ja) * | 1992-03-30 | 1993-10-22 | Matsushita Electric Ind Co Ltd | 回路素子割り付け方法及び遅延最適化方法並びに論理設計システム |
WO2004077555A1 (ja) * | 1992-03-31 | 2004-09-10 | Yasuo Jimbo | Lsi設計部品データの管理装置 |
US5491640A (en) * | 1992-05-01 | 1996-02-13 | Vlsi Technology, Inc. | Method and apparatus for synthesizing datapaths for integrated circuit design and fabrication |
US5347465A (en) * | 1992-05-12 | 1994-09-13 | International Business Machines Corporation | Method of integrated circuit chips design |
US5526517A (en) * | 1992-05-15 | 1996-06-11 | Lsi Logic Corporation | Concurrently operating design tools in an electronic computer aided design system |
WO1993024896A1 (en) * | 1992-06-02 | 1993-12-09 | Hewlett-Packard Company | Computer-aided design methods and apparatus for multilevel interconnect technologies |
EP0584828B1 (en) * | 1992-08-26 | 2001-11-07 | Matsushita Electric Industrial Co., Ltd. | LSI automated design system and method |
EP0600608B1 (en) * | 1992-10-29 | 1999-12-22 | Altera Corporation | Design verification method for programmable logic design |
US5557532A (en) * | 1992-11-12 | 1996-09-17 | Vlsi Technology, Inc. | Parameterized generic compiler |
US5566079A (en) * | 1992-11-12 | 1996-10-15 | Vlsi Technology, Inc. | Parameterized generic multiplier complier |
JPH06168291A (ja) * | 1992-11-27 | 1994-06-14 | Nec Corp | 接続先一覧表によるフローチャートマクロの接続方式 |
US5416719A (en) * | 1992-12-17 | 1995-05-16 | Vlsi Technology, Inc. | Computerized generation of truth tables for sequential and combinatorial cells |
US5617327A (en) * | 1993-07-30 | 1997-04-01 | Xilinx, Inc. | Method for entering state flow diagrams using schematic editor programs |
WO1994015311A1 (en) * | 1992-12-28 | 1994-07-07 | Xilinx, Inc. | Method for entering state flow diagrams using schematic editor programs |
AU6250794A (en) * | 1993-02-25 | 1994-09-14 | Reticular Systems, Inc. | Real-time rule based processing system |
US5519633A (en) * | 1993-03-08 | 1996-05-21 | International Business Machines Corporation | Method and apparatus for the cross-sectional design of multi-layer printed circuit boards |
JP3172617B2 (ja) * | 1993-03-10 | 2001-06-04 | 三菱電機株式会社 | 論理記述変換装置及び方法並びに論理合成方法 |
US7043407B2 (en) * | 1997-03-10 | 2006-05-09 | Trilogy Development Group, Inc. | Method and apparatus for configuring systems |
US5956257A (en) * | 1993-03-31 | 1999-09-21 | Vlsi Technology, Inc. | Automated optimization of hierarchical netlists |
FR2704663B1 (fr) * | 1993-04-29 | 1995-06-23 | Sgs Thomson Microelectronics | Procédé et dispositif de détermination de la composition d'un circuit intégré. |
US5751592A (en) * | 1993-05-06 | 1998-05-12 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method of supporting functional design of logic circuit and apparatus and method of verifying functional design of logic circuit |
US5465216A (en) * | 1993-06-02 | 1995-11-07 | Intel Corporation | Automatic design verification |
US5487018A (en) * | 1993-08-13 | 1996-01-23 | Vlsi Technology, Inc. | Electronic design automation apparatus and method utilizing a physical information database |
JPH0765040A (ja) * | 1993-08-24 | 1995-03-10 | Matsushita Electric Ind Co Ltd | 機能データインターフェース方法および機能データインターフェース装置 |
CA2126265A1 (en) * | 1993-09-27 | 1995-03-28 | Michael Robert Cantone | System for synthesizing field programmable gate array implementations from high level circuit descriptions |
JPH07105253A (ja) * | 1993-10-07 | 1995-04-21 | Nec Corp | データパス回路レイアウト生成システム |
US5502645A (en) * | 1993-11-05 | 1996-03-26 | Nec Usa, Inc. | Behavioral synthesis for reconfigurable datapath structures |
US5613102A (en) * | 1993-11-30 | 1997-03-18 | Lucent Technologies Inc. | Method of compressing data for use in performing VLSI mask layout verification |
US5481475A (en) * | 1993-12-10 | 1996-01-02 | International Business Machines Corporation | Method of semiconductor device representation for fast and inexpensive simulations of semiconductor device manufacturing processes |
US5680583A (en) * | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
GB9404078D0 (en) * | 1994-03-03 | 1994-04-20 | Int Computers Ltd | Design automation method for digital electronic circuits |
JPH07249748A (ja) * | 1994-03-14 | 1995-09-26 | Fujitsu Ltd | マスタースライス型lsiの設計装置 |
US5629860A (en) * | 1994-05-16 | 1997-05-13 | Motorola, Inc. | Method for determining timing delays associated with placement and routing of an integrated circuit |
US5617328A (en) * | 1994-05-23 | 1997-04-01 | Winbond Electronics Corporation | Automatic code pattern generator for repetitious patterns in an integrated circuit layout |
DE69520706T2 (de) | 1994-06-03 | 2001-08-02 | Hyundai Electronics America, Milpitas | Herstellungsverfahren für einen elektrischen Vorrichtungs-Adapter |
US5535134A (en) * | 1994-06-03 | 1996-07-09 | International Business Machines Corporation | Object placement aid |
US5537330A (en) * | 1994-06-10 | 1996-07-16 | International Business Machines Corporation | Method for mapping in logic synthesis by logic classification |
US5586319A (en) * | 1994-07-27 | 1996-12-17 | Vlsi Technology, Inc. | Netlist editor allowing for direct, interactive low-level editing of netlists |
US5646862A (en) * | 1994-09-29 | 1997-07-08 | Ford Motor Company | Vendor-neutral integrated vehicle electrical design and analysis system and method |
US5515302A (en) * | 1994-11-07 | 1996-05-07 | Motorola, Inc. | Method for identifying excessive power consumption sites within a circuit |
US7068270B1 (en) * | 1994-12-02 | 2006-06-27 | Texas Instruments Incorporated | Design of integrated circuit package using parametric solids modeller |
US5748943A (en) * | 1995-10-04 | 1998-05-05 | Ford Global Technologies, Inc. | Intelligent CAD process |
US5870588A (en) * | 1995-10-23 | 1999-02-09 | Interuniversitair Micro-Elektronica Centrum(Imec Vzw) | Design environment and a design method for hardware/software co-design |
JP2869379B2 (ja) * | 1996-03-15 | 1999-03-10 | 三菱電機株式会社 | プロセッサ合成システム及びプロセッサ合成方法 |
US5903886A (en) * | 1996-04-30 | 1999-05-11 | Smartlynx, Inc. | Hierarchical adaptive state machine for emulating and augmenting software |
US5812416A (en) * | 1996-07-18 | 1998-09-22 | Lsi Logic Corporation | Integrated circuit design decomposition |
US6178494B1 (en) * | 1996-09-23 | 2001-01-23 | Virtual Computer Corporation | Modular, hybrid processor and method for producing a modular, hybrid processor |
US5963454A (en) * | 1996-09-25 | 1999-10-05 | Vlsi Technology, Inc. | Method and apparatus for efficiently implementing complex function blocks in integrated circuit designs |
US5943485A (en) * | 1996-10-15 | 1999-08-24 | Motorola, Inc. | Method for testing and for generating a mapping for an electronic device |
US5841967A (en) * | 1996-10-17 | 1998-11-24 | Quickturn Design Systems, Inc. | Method and apparatus for design verification using emulation and simulation |
US5799293A (en) * | 1996-11-04 | 1998-08-25 | Ford Global Technologies, Inc. | Method for optimizing the design of a product using knowledge-based engineering techniques |
US6910200B1 (en) * | 1997-01-27 | 2005-06-21 | Unisys Corporation | Method and apparatus for associating selected circuit instances and for performing a group operation thereon |
US5883814A (en) * | 1997-03-13 | 1999-03-16 | International Business Machines Corporation | System-on-chip layout compilation |
US5867180A (en) * | 1997-03-13 | 1999-02-02 | International Business Machines Corporation | Intelligent media memory statically mapped in unified memory architecture |
US5901304A (en) * | 1997-03-13 | 1999-05-04 | International Business Machines Corporation | Emulating quasi-synchronous DRAM with asynchronous DRAM |
US6134516A (en) * | 1997-05-02 | 2000-10-17 | Axis Systems, Inc. | Simulation server system and method |
US6421251B1 (en) | 1997-05-02 | 2002-07-16 | Axis Systems Inc | Array board interconnect system and method |
US6321366B1 (en) | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
US6026230A (en) * | 1997-05-02 | 2000-02-15 | Axis Systems, Inc. | Memory simulation system and method |
US6009256A (en) * | 1997-05-02 | 1999-12-28 | Axis Systems, Inc. | Simulation/emulation system and method |
US6389379B1 (en) | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
US5960191A (en) * | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US6152612A (en) * | 1997-06-09 | 2000-11-28 | Synopsys, Inc. | System and method for system level and circuit level modeling and design simulation using C++ |
US5970240A (en) * | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
GB2354614B (en) * | 1998-05-06 | 2003-05-14 | Acuid Corp Ltd | A system for modelling memory business parameters |
US6272671B1 (en) | 1998-09-11 | 2001-08-07 | Lsi Logic Corporation | Extractor and schematic viewer for a design representation, and associated method |
AU2079699A (en) * | 1998-11-30 | 2000-06-19 | Actcon Control Ab | Method for inserting objects into a working area in a computer application |
EP1156523A4 (en) * | 1999-02-17 | 2003-08-06 | Hitachi Ltd | STORAGE MEDIUM AND METHOD FOR MANUFACTURING AN INTEGRATED SEMICONDUCTOR CIRCUIT |
US6832182B1 (en) | 1999-04-08 | 2004-12-14 | Transim Technology Corporation | Circuit simulator |
AU2001293566A1 (en) | 2000-09-19 | 2002-04-02 | Draftlogic System Inc | System for client-driven automated computer-aided drafting |
US7043408B2 (en) | 2000-11-08 | 2006-05-09 | Virtual Supply Chain Engineering, Inc. | Computer-aided design neutral graphical data interface |
US6668360B1 (en) | 2001-01-08 | 2003-12-23 | Taiwan Semiconductor Manufacturing Company | Automatic integrated circuit design kit qualification service provided through the internet |
US6609238B1 (en) * | 2001-06-15 | 2003-08-19 | Lsi Logic Corporation | Method of control cell placement to minimize connection length and cell delay |
JP2003216670A (ja) * | 2002-01-25 | 2003-07-31 | Hitachi Ltd | コンピュータ読み取り可能な記録媒体および半導体集積回路装置 |
US8594410B2 (en) | 2006-08-28 | 2013-11-26 | Definiens Ag | Context driven image mining to generate image-based biomarkers |
US7873223B2 (en) * | 2002-10-15 | 2011-01-18 | Definiens Ag | Cognition integrator and language |
US7801361B2 (en) * | 2002-10-15 | 2010-09-21 | Definiens Ag | Analyzing pixel data using image, thematic and object layers of a computer-implemented network structure |
US7164355B2 (en) * | 2004-05-19 | 2007-01-16 | Rosemount Inc. | Process transmitter with a plurality of operating modes |
WO2006074239A2 (en) * | 2005-01-05 | 2006-07-13 | Xtremedata, Inc. | Systems and methods for providing co-processors to computing systems |
US7603573B2 (en) * | 2006-10-24 | 2009-10-13 | Silicon Graphics, Inc. | System and method for optimizing computational density |
US8989468B2 (en) * | 2007-05-25 | 2015-03-24 | Definiens Ag | Generating an anatomical model using a rule-based segmentation and classification process |
US10541046B2 (en) * | 2009-09-02 | 2020-01-21 | Microsoft Technology Licensing, Llc | Creating genetic devices |
KR102201566B1 (ko) * | 2017-08-18 | 2021-01-11 | 주식회사 엘지화학 | 맞춤형 bms 모듈 및 그 설계 방법 |
US11556406B2 (en) | 2018-12-03 | 2023-01-17 | Synopsys, Inc. | Automatic root cause analysis of complex static violations by static information repository exploration |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2245984B1 (nl) * | 1973-09-27 | 1977-03-18 | Ibm | |
US4584653A (en) * | 1983-03-22 | 1986-04-22 | Fujitsu Limited | Method for manufacturing a gate array integrated circuit device |
GB8329888D0 (en) * | 1983-11-09 | 1983-12-14 | Philips Electronic Associated | Generating component interconection lists |
JPS60114968A (ja) * | 1983-11-28 | 1985-06-21 | Hitachi Ltd | 推論システム |
US4656603A (en) * | 1984-03-01 | 1987-04-07 | The Cadware Group, Ltd. | Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons |
US4648044A (en) * | 1984-06-06 | 1987-03-03 | Teknowledge, Inc. | Basic expert system tool |
US4658370A (en) * | 1984-06-07 | 1987-04-14 | Teknowledge, Inc. | Knowledge engineering tool |
US4703435A (en) * | 1984-07-16 | 1987-10-27 | International Business Machines Corporation | Logic Synthesizer |
US4651284A (en) * | 1984-07-27 | 1987-03-17 | Hitachi, Ltd. | Method and system of circuit pattern understanding and layout |
US4675829A (en) * | 1984-07-27 | 1987-06-23 | Intellicorp Corporation | Method and apparatus for building knowledge-based systems |
US4635208A (en) * | 1985-01-18 | 1987-01-06 | Hewlett-Packard Company | Computer-aided design of systems |
US4700316A (en) * | 1985-03-01 | 1987-10-13 | International Business Machines Corporation | Automated book layout in static CMOS |
JPS6274158A (ja) * | 1985-09-27 | 1987-04-04 | Hitachi Ltd | 回路変換方式 |
AU7727987A (en) * | 1986-09-12 | 1988-03-17 | Digital Equipment Corporation | Cad of logic circuits: procedure and data structure |
-
1988
- 1988-01-13 US US07/143,821 patent/US4922432A/en not_active Expired - Lifetime
-
1989
- 1989-01-11 GB GB8900594A patent/GB2213967B/en not_active Expired - Lifetime
- 1989-01-12 DE DE3900750A patent/DE3900750A1/de not_active Ceased
- 1989-01-12 JP JP1007550A patent/JP2862886B2/ja not_active Expired - Fee Related
- 1989-01-13 NL NL8900084A patent/NL192892C/nl not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP2862886B2 (ja) | 1999-03-03 |
GB8900594D0 (en) | 1989-03-15 |
JPH01309185A (ja) | 1989-12-13 |
NL8900084A (nl) | 1989-08-01 |
NL192892B (nl) | 1997-12-01 |
GB2213967B (en) | 1992-06-17 |
GB2213967A (en) | 1989-08-23 |
DE3900750A1 (de) | 1989-07-27 |
US4922432A (en) | 1990-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL192892C (nl) | Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen. | |
US6292931B1 (en) | RTL analysis tool | |
US6378123B1 (en) | Method of handling macro components in circuit design synthesis | |
US6295636B1 (en) | RTL analysis for improved logic synthesis | |
US6173435B1 (en) | Internal clock handling in synthesis script | |
US6836877B1 (en) | Automatic synthesis script generation for synopsys design compiler | |
US6289498B1 (en) | VDHL/Verilog expertise and gate synthesis automation system | |
US6263483B1 (en) | Method of accessing the generic netlist created by synopsys design compilier | |
US6421818B1 (en) | Efficient top-down characterization method | |
Riesgo et al. | Design methodologies based on hardware description languages | |
US5831869A (en) | Method of compacting data representations of hierarchical logic designs used for static timing analysis | |
US5933356A (en) | Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models | |
US6205572B1 (en) | Buffering tree analysis in mapped design | |
US8417504B2 (en) | Conversion of circuit description to a transaction model | |
US5801958A (en) | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information | |
US5910897A (en) | Specification and design of complex digital systems | |
US6470482B1 (en) | Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation | |
US5880971A (en) | Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from semantic specifications and descriptions thereof | |
US5598344A (en) | Method and system for creating, validating, and scaling structural description of electronic device | |
US5870308A (en) | Method and system for creating and validating low-level description of electronic design | |
US5572436A (en) | Method and system for creating and validating low level description of electronic design | |
US6574788B1 (en) | Method and system for automatically generating low level program commands as dependency graphs from high level physical design stages | |
US8694931B1 (en) | Systems and methods for super-threading of integrated circuit design programs | |
US8639487B1 (en) | Method for multiple processor system-on-a-chip hardware and software cogeneration | |
JP2002526908A (ja) | ブロックをベースとする設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1A | A request for search or an international-type search has been filed | ||
BB | A search report has been drawn up | ||
BC | A request for examination has been filed | ||
DNT | Communications of changes of names of applicants whose applications have been laid open to public inspection |
Free format text: KNOWLEDGE BASED SILICON CORPORATION;RICOH COMPANY LTD. |
|
SNR | Assignments of patents or rights arising from examined patent applications |
Owner name: RICOH COMPANY LTD. |
|
V4 | Discontinued because of reaching the maximum lifetime of a patent |
Effective date: 20090113 |