NL192892C - Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen. - Google Patents

Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen. Download PDF

Info

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
Application number
NL8900084A
Other languages
English (en)
Other versions
NL8900084A (nl
NL192892B (nl
Original Assignee
Ricoh Kk
Knowledge Based Silicon Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22505806&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=NL192892(C) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ricoh Kk, Knowledge Based Silicon Corp filed Critical Ricoh Kk
Publication of NL8900084A publication Critical patent/NL8900084A/nl
Publication of NL192892B publication Critical patent/NL192892B/nl
Application granted granted Critical
Publication of NL192892C publication Critical patent/NL192892C/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit 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
NL8900084A 1988-01-13 1989-01-13 Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen. NL192892C (nl)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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