FR2535087A1 - Appareil de simulation logique - Google Patents
Appareil de simulation logique Download PDFInfo
- Publication number
- FR2535087A1 FR2535087A1 FR8316833A FR8316833A FR2535087A1 FR 2535087 A1 FR2535087 A1 FR 2535087A1 FR 8316833 A FR8316833 A FR 8316833A FR 8316833 A FR8316833 A FR 8316833A FR 2535087 A1 FR2535087 A1 FR 2535087A1
- Authority
- FR
- France
- Prior art keywords
- memory
- logical
- state
- logic
- register
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
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)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
L'INVENTION CONCERNE UN APPAREIL DE SIMULATION LOGIQUE. L'APPAREIL COMPORTE UN CALCULATEUR PRINCIPAL 12 ET UN CERTAIN NOMBRE DE MEMOIRES 22, 24, 26, 28, 56 QUI MEMORISENT UN CERTAIN NOMBRE DE FONCTIONS LOGIQUES QUI DOIVENT ETRE VERIFIEES, AINSI QUE DES REGISTRES 40, 62 SERVANT D'ENTREE ET DE SORTIE DES MEMOIRES. L'INVENTION S'APPLIQUE NOTAMMENT A LA VERIFICATION DE PROJET DE CIRCUITS OU DE COMPOSANTS LOGIQUES.
Description
La présente invention concerne un appareil de simu-
lation logique, par exemple pour le contrôle à grande vi-
tesse par simulation d'un projet de circuit ou d'un projet de composant LSI (circuit d'intégration poussée) et VLSI (circuit d'intégration très poussée) Le circuit peut être
agencé pour fonctionner par l'intermédiaire d'un calcula-
teur principal sur un réseau de télécommunications, à distance de l'appareil de simulation Des calculateurs universels simulent actuellement un projet en utilisant des programmes de calculateurs et l'invention concerne
un appareil de simulation câblé pour simuler le fonction-
nement d'un projet logique donné afin de le vérifier.
R Barto et ses collaborateurs décrivent dans "A
Computer Architecture for Digital Logic Simulation" Elec-
tronic Engineering, Septembre 1980, page 35, un projet câblé orienté sur des cycles logiques commandés par câble et Angus R McKay dans "Comment on 'Computer-aided Design: Simulation of Digital Design Logic'" IEEE Transactions
on Computers, Septembre 1969, page 862 décrit des résul-
tats d'essais sur un ensemble câblé.
L'industrie des semi-conducteurs continue à progres-
ser en offrant la possibilité de placer des nombres de plus en plus grands de composants ou de portes logiques
sur une pastille, avec une progression moyenne qui s'ap-
proche du doublement par année De façon similaire, les technologies d'équipement des pastilles se développent
avec une augmentation considérable de la densité des pas-
tilles qui peuvent être équipées dans différents modules d'équipement physique Ces effets entrainentun courant permanent de possibilités améliorées de réalisations de
systèmes qui sont si considérables qu'elles sont diffici-
les à associer ou à comparer avec les conceptions et les
méthodologies de conception antérieure.
Malheureusement, ces nouvelles technologies imposent continuellement des techniques de conception perfectionnée et des outils de conception afin d'attaquer les différents problèmes complexes de gestion qu'elles entrainent Plus
particulièrement, la vérification d'un projet, l'implan-
tation physique, les interconnexions et les essais doi-
vent se faire sur des pastilles ou autres modules physi-
ques Il a été déterminé analytiquement et empiriquement que l'importance de ces taches croit à peu près en expo- nentielle avec le nombre des composants par pastille ou
par module L'invention concerne donc la partie de véri-
fication de projet de ce problème.
Si l'on considère le problème de vérification du projet d'une simple pastille LSI ou VLSI, deux analogies peuvent être tirées La première est assez évidente et relie le problème de vérification d'une unité centrale de traitement complète (CPU) à celui de la vérification d'une pastille La vérification d'un nouveau projet dont la complexité est telle qu'il cohporte environ 100 000 portes logiques est une tache connue Les plus petites machines, CYBER 170 de Control Data Corporation sont de cette taille L'opération de vérification consiste
à dérouler des milliers de lignes de logiciels de diagnos-
tics suivi par un logiciel d'application réelle de traite-
ment de fonctionnement de machine Le résultat de cette vérification est quoiment une liste de modifications de conception dont le nombre peut facilement atteindre des centaines. Des pastilles d'unité centrale de traitement à 32
bits sont actuellement en étude, en utilisant la techno-
logie de traitement actuelle, atteignant moins de la reoi-
tié de cette complexité La vérification de ces pastilles
se fait en utilisant un programme de calculteur de simu-
lation qui reproduit aussi étroitement que possible le fonctionnement dftaillé de ces pastilles dans le but de
découvrir des problèmes de conception avant que les pas-
tilles ne soient fabriquées Il semble que le nombre des cas d'essais nécessaires pour vérifier une seule pastille d'unité centrale de traitement doit s'approcher de celui correspondant à des projets de calculateurs complets de complexité presque semblable si un niveau équivalent de 25350 e 7 -3-
vérification doit être obtenu.
Un algorithme de calculateur est actuellement utilisé comme un simulateur de haute performance et qui donne des projets exempts d'erreur àune vitesse de 9 bons projets pour 10 pastilles A ce point, la seconde analogie peut être tirée, reliant le problème de vérification à celui
de rendement physique du traitement des pastilles de si-
licium Pour un procédé de fabrication donné, il existe
une densité statistique donnée de fautes considérées com-
me fautes par unité de surface Le rendement d'une pastil-
le avec une surface donnée est une formule complexe mais un effet essentiel est que le rapport entre les pastilles
défectueuses et le nombre total despastilles par plaquet-
te de silicium augmente en exponentielle avec la surface
des pastilles Le "procédé" de conception produit actuel-
lement un "rendement" de 90 % d'une "surface" de 250 por-
tes par pastille En utilisant le même "procédé" de con-
ception et en augmentant la "surface" à 5 000 portes il
résulte un "rendement" qui s'approche de zéro Cela im-
plique que les procédés de conception qui reposent for-
tement sur l'utilisation du simulateur ont besoin d'une
amélioration considérable si l'on veut compter effective-
ment avec des pastilles de cette complexité Les analo-
gies sont rarement totalement exactes mais même si elles
ne sont que partiellement correctesles effets prévisi-
bles sont plutôt sévères.
L'état actuel de la technique de simulation permet à une simulation logique de fonctionner a une vitesse
de 90 000 événements logiques de commutation par seconde.
A cette vitesse, il faudrait plusieurs jours de simula-
tion continue pour simuler une seconde d'activité réelle
d'une unité centrale de traitement de dimensions modestes.
En outre, cette simulation nécessite un très gros calcu-
lateur pour fonctionner à cette vitesse Un tel systme est coteux et assez mal commode à utiliser en raison de l'environnement d'exécution par lots du programme de
simulation et du partage couramment nécessaire des res-
-4-
sources du calculateur Cet inconvénient est souvent sous-
estimé car les techniciens ont appris à l'accepter, ne percevant aucune autre option Il semnble que cela a un
effet notable sur les temps de conception et la créati-
S vité des concepteurs dans le monde réel.
La vitesse d'exécution d'un simulateur est un but technique essentiel en raison de la nécessité de passer par un très grand nombre de cas d'essais en vue de la vérification finale d'un circuit logique ou d'un projet
de pastille, et pour permettre une vitesse de réponse in-
teractive pour le même calculateur pour de plus petites taches, en même temps Une réponse réellement interactive devrait permettre à un simulateur d'être utiliser comme un outil d'optimisation de projet siil est cou Plé avec un
système d'entrée logique graphique.
Des problèmes se posent également lorsque l'on tente
d'appliquer des simulateurs développés pour des technolo-
gies de semi-conducteurs bipolaires aux nouvelles techno-
logies MOS (métal-oxyde-semi-conducteur) Ces simulateurs
tendent à être insuffisants pour les caractéristiques né-
cessaires des circuits MOS Une liste des caractéristiques souhaitables pour la simulation MOS est donnée ci-après, avec la possibilité de les traiter par les systèmes actuels de simulation de Control Data Corporation:
CARACTERISTIQUE SYSTEME
ASSIST LSISIM AFS
Retard de montée et descente oui non non Signaux bidirectionnels oui non non Simulation niveau composant limité non non Modèle fautes niveau composant non La simulation au niveau composant est la possibilité de représenter des transistors individuels (NMOS, PMOS, GAAS) et des résistances pour effectuer une vérification complète et finale d'un projet et des interconnexions et pour apporter la souplesse nécessaire à des technologies
conçues entièrement pour l'utilisateur Des états supplé-
mentaires de simulation sont nécessaires pour représenter -5-
des transistors De même, chaque état doit apporter un fac-
teur de rigidité relative pour permettre de représenter
des effets de charge dynamique, de démarrage et de dimen-
sions variables des composants.
L'invention a pour objet de proposer un appareil de simulation logique avec des caractéristiques nécessaires pour s'adapter à la technologie des projets logique, avec des performances plusieurs fois supérieures à celles des systèmes existants L'appareil de simulation logique doit offrir une capacité de simulation interactive avec des
temps de réponse de seulement quelques secondes ou minu-
tes, vus par l'utilisateur.
Il ne semble pas qu'une augmentation de cette valeur soit possible avec de meilleurs algorithmes logiciels, de meilleures techniques de codage pour des modèles ou des processeurs principaux plus rapides du type universel Des
accélérations sont possibles en réduisant des caractéris-
tiques de simulation encore plus qu'aux niveaux actuels
ou en négligeant complètement les effets du temps de trai-
tement, mais cela n'aboutit pas au résultat voulu.
La seule solution à ce problème est un élément affec-
té de machine de simulation à usage spécial qui exécute
directement un modèle de simulation L'algorithme de simu-
lation commandé par évènements standards avec des phases discrètes sur une base de temps continu est l'algorithme le plus stable, le mieux accepté et le plus souple en utilisation Il peut être étendu aux caractéristiques MOS
voulues et semble bien se prêter à une augmentation cons-
dérable par une augmentation machine directe L'appareil de simulation câblé peut être entièrement commandé par
câbles et sa capacité étendue dans une très large plage.
La communication entre un calculateur principal et un appareil de simulation doit se faire sur un canal de données avec un débit binaire d'au moins 7 millions de bits par seconde Un débit plus élevé serait souhaitable
avec une limite probable de 10 millions de bits par secon-
de résultant de la limitation par la largeur de bande d'entrée/sortie du simulateur La machine doit supporter une configuration de système dans laquelle le simulateur est relié à une machine principale qui traite la base des données centrales et le reste d'un système de modèle aidé par calculateur Les utilisateurs pourraient communiquer
avec le simulateur par le calculateur principal.
La machine de simulation pourrait également fonction-
nerdans un système distribué ou en autonome conjointement
avec un certain nombre de positions de travail d'enginee-
rie Dans ce mode, le prix total et le potentiel de per-
formances pourraient être réalisés.
Une solution de réseau local est un choix logique pour la liaison de communication entre le simulateur et
les autres éléments d'ensemble Le réseau couplé libre-
ment de Control Data Corporation par exemple offre da-
vantage de performances qui conviennent et apportent la
souplesse voulue pour l'interface avec différentes confi-
gurations de calculateurs principaux ou de postes de tra-
vail pouvant être conçus maintenant ou dans le futur.
Un appareil de simulation selon l'invention utilise
des routines secondaires ou principales qui assurent l'in-
terface avec l'utilisateur et font passer des données vers et depuis les structures de table de simulation Toutes les informations nécessaires pour effectuer la simulation
résident dans des tables chargées par l'extrémité fronta-
le et tous les résultats résident dans des tables qui sont
transférées et affichées A l'extrémité arrière La commu-
nication avec le simulateur câblé peut se faire au moyen
du réseau local vers et depuis un troupe similaire de ta-
bles Le traitement secondaire et principal doit encore
se faire en logiciel à 'l'extérieur de l'appareil de simu-
lation câblé Cela offre de la souplesse à l'interface d' utilisateur, Une solution souhaitable est de restructurer l'extrémité frontale de manière à compiler à nouveau les parties des tables de simulation qui sont affectées par un changement particulier de conception De cette manière, - 7-
lorsqu'un projet a été introduit, les nombreuses adjonc-
tions, suppressions et modifications peuvent se faire
lorsqu'elles sont nécessaires et elles peuvent être con-
trôlées rapidement sans une nouvelle compilation de l'en-
semble total des tables à chaque fois, comme cela se fait
actuellement dans les systèmes logiciels.
Bien que l'invention soit principalement orientée
sur tout nouvel ensemble ou nouvelle phase, ou combinai-
son d'ensembles ou de phases, et telle que décrite et re-
présentée sur les dessins annexés, selon un aspect parti-
culier auquel elle n'est en aucune manière limitée, elle
concerne un appareil de simulation logique destiné à vé-
rifier le projet de dispositifs logiques, comprenant un calculateur principal pour introduire des données dans l'appareil et pour lire des données dans l'appareil; une
mémoire de "liste nette" connectée au processeur princi-
pal pour recevoir des données concernant les éléments de
circuit de la pastille sous contrôle; une mémoire de ta-
ble de modèle qui contient des informations décrivant la fonction logique de tous les éléments de circuit du projet
logique à vérifier Un premier registre pour lire le con-
tenu de la mémoire de "liste nette" et de la mémoire de table de modèle, le premier registre étant connecté à la
mémoire de "liste nette" et a la mémoire de table de mo-
dèle; un second registre connecté au premier registre; une mémoire dé table d'état connectée au second registre pour recevoir des informations concernant la "liste nette" et la table de modèle; une commande en anneaux de module
pour produire et recevoir des informations de table d'é-
tat extérieure sous le contrôle du processeur principal, le contrôle en anneaux de module étant connecté au second registre, le contrôle en anneaux de module commandant le
second registre pour produire des changements d'informa-
tions de table d'état pour la mémoire de table d'état à partir d'autres dispositifs logiques sous essais et à
la commande du processeur principal; un évaluateur logi-
que connecté à la mémoire de table d'état pour utiliser -8- les informations de "liste nette" et les informations de
table de modèle afin de produire de nouvelles informa-
tions de table d'état pour les êlements logiques du pro-
jet logique à vérifier, l'évaluateur logique fournissant une entrée en retour à la mémoire de table d'état pour remplacer d'anciennes informations de table d'état par de nouvelles informations de table d'état dans la mémoire
de table d'état à chaque instant de simulation; un re-
gistre d'adresses de liste nette connecté à la mémoire
de "liste nette" pour la commander; une commande de mé-
moire et d'horloge pour commander le fonctionnement de
l'appareil afin qu'il fonctionne dans un nombre prédéter-
miné de temps d'echantillcnnagedans un cycle logique du projet de système logique à vérifier, la mémoire de "liste
nette" contenant l'état actuel d'éléments logiques parti-
culiers et dans laquelle la mémoire de table de modèle contient des informations concernant le fonctionnement d'éléments logiques particuliers, et la mémoire de table d'état et l'évaluateur logique évaluant l'état d'éléments
logiques ayant une entrée changée à chaque instant d'é-
chantillcnnageet n'évaluant pas le changement d'état d' éléments logiques qui ne reçoivent pas un changement d' entrée à l'instant d'échantill cnnaceparticulier, ladite commande de mémoire et d'horloge réagissant a la commande
en anneaux de module en recevant une entrée ou en produi-
sant une entrée pour la commande en anneaux de module pour des dispositifs extérieurs à des instants appropriés dans
le cycle logique.
Selon un autre aspect non limitatif, l'invention con-
cerne un appareil logique pour simuler le projet logique de pastille ou de circuit logique cciprenant: une mémoire de table de facteur pyramidal connectfeà un processeur principal pour conserver des infor Tmations de "liste nette", des informations de modules logiques de portes, et des informations d'interconnexion des portes; un programme d'instants d'événements logiques connecté à ladite table de facteur pyramidal pour recevoir des informations d' -9- entrée concernant le projet logique et pour fournir des informations de sortie sur des changements d'état des éléments logiques dudit projet logique; un processeur d'évaluation logique pour remplir les fonctions logiques d'éléments logiques particuliers du projet logique à vé- rifier, ce processeur d'évaluation logique étant connecté
au programme de temps d'évènement pour recevoir des in 'or-
mations concernant l'état actuel d'éléments logiques par-
ticuliers et pour fournir des informations concernant des changements d'états d'éléments logiques particuliers; une
mémoire de table de sortie de portes connectée à la mémoi-
re de table de facteur pyramidal pour recevoir des infor-
mations concernant des éléments logiques à un instant
d'échantillonnage particulier et des éléments logiques aux-
quels les éléments logiques passent des changements d'é-
tat à des instants d'échantillonnage futur; une mémoire
de table d'état connectée à la mémoire de table de fac-
teur pyramidal et à la mémoire de table de sortie de por-
tes pour conserver des informations concernant l'état
précédent d'un élément logique et le nouvel état d'un élé-
ment logique qui remplace l'ancien état de cet élément logique, la mémoire de table d'état étant connectée au
processeur d'évaluation logique qui fournit des informa-
tions concernant les nouveaux états des éléments logiques;
une mémoire de table de modèle logique connectée à la mé-
noire de table de facteur pyramidal pour conserver des informations concernant la fonction logique remplie par des éléments logiques et pour recevoir des informations concernant l'élément logique considéré prov'enant de la mémoire de table de facteur pyramidale et connectee avec le processeur d'évaluation logique pour fournir des in formations concernant la fonction logique à remplir sur
la porte en cours de contrôle à un instant d'échantillon-
nage particulier; en fonctionnement, l'appareil effectuant des opérations sur des éléments logiques en contrôle à
des instants particuliers et prédéterminés d'échantillon-
nage et produisant des informations concernant les chan-
gements d'état des éléments logiques connectés aux élé-
ments en contrôle et, lorsque pour chaque cycle d'instant d'échantillonnage l'appareil n'effectue que des phases d'évaluation logique sur des éléments logiques recevant des changements d'état par suite de changement d'état diéléments logiques depuis un instant d'échantillonnage précédent et ne remplissant pas de fonction d'évaluation logique sur des éléments logiques qui ne reçoivent pas un changement d'état d'entr 5 e provenant d'un élément lcique
depuis un instant d'échantillonnage précédent.
Dans un mode de réalisation, le progrmnmateur d'ins-
tants d'évènements logiques comnorte un registre d'état d'instant de simulation; une première mémoire de première liaison complète connectée au registre d'état d'instant
de simulation; une seconde mémoire d'état de liste de pre-
mière liaison connectée au registre d'état d'instant de simulation une troisième mémoire de liste de dernière liaison connectée au registre d'instant de simulation; un premier, un second et un troisième registre connectés à la premiere, la seconde et la troisirme mémoire; un comparateur connecté au second et au troisième registre produisant une sortie quand la seconde mémoire de liste de première liaison est adressée par la m 3 me adresse élue la troisième mémoire de liste de dernière liaison et une
porte OU connectée à la sortie du ccmparateur et au pre-
mier registre pour recevoir des informations concernait la première me cire de premiere liaison complete, Iorsque
le comparateur se trouve à la derniare adresse d'un ins-
tant de simulation, l'instant de:i mulation d'adrese
est avancé sécuentiellement P l'instant suivant d'échan-
tillonnage de simulation.
L'appareil peut comporter une ligne omnibus inter-
connectant la seconde et la troisième mrmoire; une mémoi-
re de dernière liaison connectée à la ligne omnibus pour identifier l'adresse de liaison suivante pour l'instant
suivant de simulation de l'appareil; une mémoire au pre-
mier entré, premier sorti pour identifier une adresse de -11- liaison libre reliée à la ligne omnibus; et un dispositif de commande destiné à commander la mémoire de dernière
liaison et la mémoire au premier entré, premier sorti.
De préférence, l'appareil est agencé pour être inter-
connecté avec un autre appareil similaire pour recevoir des changements d'informations d'état sur des entrées d' éléments logiques çue contient la mémoire de "liste nette"
à différents cycles d'instant d'échantillonnage, et com-
prenant en outre un dispositif d'entrée pour fournir une seconde entrée provenant d'une source extérieure au second
registre et à la commande en anneaux de module pour com-
mander le second registre et recevoir -une entrée de la source extérieure à des instants appropriés dans le cycle d'échantillonnage. D'autres caractéristiques et avantages de l'invention
seront mieux compris à la lecture de la description qui
va suivre d'un exemple de réalisation et en se référant aux dessins annexés sur lesquels: les figures 1 A et l B doivent être placées côte à
côte pour former un schéma d'un appareil de simulation lo-
gique non commandé par évènements selon l'invention, les figures 2 A et 2 B sont destinées à être placées l'une au dessus de l'autre respectivement et représentent un autre mode de réalisation d'un appareil de simulation logique non commandé par évènements selon l'invention,
la figure 3 représente un projet d'un mode de réali-
sation d'un appareil de simulation logique commandé par événements selon l'invention et, les figures 4 A et 4 B sont destinées à être placées l'une au dessus de l'autre respectivement et montrent
certains éléments de l'appareil de simulation de la figu-
re 3. Les figures IA et 1 B représentent donc un appareil
de simulation logique 10 selon l'invention pour une simu-
lation non commandée par événements d'un projet de compo-
sants LSI ou logiques Les figures l A et l B sont organi-
sées de la gauche vers la droite en séquences de temps
253508 ?
-12-
pour montrer la temporisation des évènements dans l'appa-
reil de simulation La "liste nette" qui est une descrip-
tion codée compréhensive du composant en pastilles ou du
circuit logique à vérifier et qui est formée par les con-
ditions de type de porte et d'interconnexion est fournie par une source d'entrée 12 comme un calculateur universel ou calculateur principal à un registre 14 d'écriture des
données de "liste nette" Un registre 16 de liste d'adres-
* ses de "liste nette" fonctionne simultanément avec le re-
gistre 14 de données d'écriture de "liste nette" pour con-
server la trace des adresses des articles de données d'é-
criture de "liste-nette" particulière T-n circuit d'in-
crémentation d'adresses 18 corrige l'adresse du registre
16 de liste d'adresses "liste nette" Les données d'écri-
ture de "liste nette" sont fournies sur une ligne omnibus de données d'écriture qui est connectée à plusieurs mémoires dynamiques t accès directs 22, 24, 26, 28 de "liste nette" dont chacune par exemple consiste en une mémoire de 16 Kbits d'une longueur d'un bit La sortie du registre 16 d'adresses de "liste nette" est fournie à un circuit logique 30 de décodage à deux parmi quatre, dont la sortie est délivrée sur une ligne omnibus 32
d'autorisation d'écriture connectée aux mémoires dynami-
ques 22, 24, 26, 28 Le circuit logique de décodage 30 commande l'adressage des données d'écriture de "liste nette" dans les mémoires de manière que celles-ci soient
adressées séquentiellement dans une séquence tournante.
Le circuit de décodage 30 comporte également une ligne
omnibus 34 d'adresse de sortie qui est divisée en diffé-
rents bis et répartie dans différentes partiesde l'appa-
reil de simulation 10 Certains des bits sont divisés sur une ligne omnibus d'adresse 36 qui est connectée à une entrée d'adresse des mémoires 22, 24, 26, 28 de manière
qu'une partie d'adresse soit toujours disponible pour cha-
cune des mémoires C'est la ligne omnibus 32 d'autorisa-
tion d'écriture qui commande le fonctionnement des mémoires, -13- Une autre partie de la ligne omnibus d'adresse 34 est
divisée en une ligne omnibus de table d'état et d'adres-
se de balayage 38, et reliée à un registre 40 de table de modèle de balayage qui sera expliquée plus en détails par la suite. Les sorties de mémoires sont connectées chacune à un registre de données de lecture de "liste nette" Ainsie la mémoire 22 est associée avec un registre 42, la mémoire 24 est associée avec un registre 44, la mémoire 26 est
associée avec un registre 46 et la mémoire 28 est asso-
ciée avec un registre 48 Les sorties des registres 42, 44, 46, 48, sont toutes connectées à une ligne omnibus de lecteur 50 qui est connectée au registre 40 de table
de modèle de balayage et également au registre 52 d'adres-
se de table de modèle Le registre 52 d'adresse de ta-
ble de modèle de balayage est incrémenté par un circuit
54 d'incrémentation d'adresses pendant le fonctionnement.
La sortie du registre 52 d'adresse de table de modè-
le de balayage est connectée à une table de modèle 56 La table de modèle 56 contient des informations concernant
la fonction à remplir par les portes logiques particuliè-
res qui sont utilisées dans le projet de circuit parti-
culier Autrement dit, quand le dispositif particulier
qui doit être simulé est écrit dans le système, les diver-
ses portes utilisées sont définies par les fonctions
qu'elles doivent remplir et ces fonctions sont en corréla-
tion dans la table de modèle 56 Ainsi, lorsqu'un nom de porte particulier ou un type de dispositif particulier est sollicité dans les mémoires 22, 24, 26, 28, la table
de m odèle associe la fonction logique remplie par la por- te ou le dispositif avec la porte ou le dispositif par-
ticulier et délivre une sortie appropriée à un registre 58 de données de lecture de table de modèle et une ligne omnibus 60 de sortie de table de modèles La ligne omnibus 60 de sortie de table de modèle est
appliquée comme une entrée au registre 40 de table de mo-
dèle de balayage Le fonctionnement de cet appareil de -14-
simulation est de suivre une fonction 1 ocgique par un ré-
seau logique particulier Ainsi, le registre 40 de table
de modèle de balayage conserve en mmoire, pour des éié-
ments modèle particuliers, la fonction logique remplie, l'adresse actuelle dans le dispositif à portes logiques
à simuler et la porte logique particulière qui est con-
trôlée Toutes ces informations sont combinées pour pro-
duire un changement de code d'information d'état dans le
registre 40 de table de modèle de halayage et cette in-
formation de sortie est fournie à un registre 62 d'adres-
ses de tablesd'état Les informations d'écriture prove-
nant de la source 12 commandent l'appareil de simulation pour fournir des informations à un registre 64 de denrées d'écriture de table de modèle qui commandent l'adressage
de la table de modèle 56.
A ce moment, il convient d'expliquer que différents circuits 66, 68 générateurs de parité fonctionnent sur les données dans le système pour remplir une foncticn de contrôle de parité qui est introduite dans un registre 70 d'erreur de parité dans un but de contrôle La sortie du registre d'erreur de parité 70 est appliquée à un registre 72 d'état d'erreur de parité conjointement avec la sortie
d'un autre circuit 74 générateur de parité Cs techni-
ques de production de parité sont relativement courantes
et n'ont pas à être expliquées davantage.
La sortie du registre d'adresse de table d'ftat est
connectée à une mémoire statique à accès direct 80 de ta-
ble d'état La mémoire statique de table d 'état est une
configuration de 16 K par 2 bits dans ce mode de réalisa-
tion Ies informations d'adresse so Dt déivrées sur une ligne omnibus à 14 bits par le regis; 1 re 62 d'adresse de table d'état La sortie de données de la mémoire 80 est
prévue sur une ligne omnibus 82 dans un dispositif d'é-
valuation logique ou processeur 84, conrme représentâ en
pointillés Le processeur 84 d'évaluation logique compor-
te une unité 86 de fonction logique de terme de produit
et une unité 88 de fonction logique de terme de somme.
253 sog? -15- La sortie de l'unité 86 de fonction logique de terme de produit est connectée è un registre 90 qui comporte une sortie sur une ligne omnibus 92 produisant une entrée à l'unité 88 de fonction logique de terme de somme La sortie de l'unité 88 de fonction logique de terme de somme est délivrée sur une ligne omnibus 94 comme entrée
de données pour la mémoire de table d'état 80 La coimman-
de d'adressage-de l'unité 86 de fonction logique de terme de produit et l'unité 88 de fonction logique de terne de somme est produit à la sortie du registre 58 de données de lecture de table de modèle, La commande du registre 90 est également assurée par une autre sortie du registre 58
de données de lecture de table de modèle.
La fonction de la mémoire 80 est de prélever l'état actuel du dispositif ou du projet en cours de simulation et de fournir cet état à l'unité 86 de fonction logique
de terme de produit Cette dernière reçoit des informa-
tions concernant la fonction à remplir et effectue cette opération logiquement et détermine ensuite le nouvel état
de la porte ou élément particulier et retourne cette in-
formation d'état sous forme d'information corrigée à la
mémoire 80.
La fonction d'ensemble de l'appareil de simulation non commandé par évènement représenté sur les figures l A et 1 B est de prélever des données qui ont été traitées
préalablement par la source 12 et de les amener à plu-
sieurs entrées de l'appareil de simulation Le registre 14 fournit les données de "liste nette" Le registre 64 introduit les données de modèle et une ligne omnibus 67 introduit les données d'adresse de table d'état Ces trois entrées de données constitueitl'appareil de simulation logique 10 avec des conditions d'entrées telles qu'il peut maintenant effectuer son opération L'appareil de simulation 10 remplie sa fonction voulue sous le contrôle
d'une mémoire et d'un circuit logique de commande d'hor-
loge 96 qui est également connecté à la source 12 pour
un but de commande L'opération de simulation est conmman-
-16- dée fonctionnellement et principalement par le processeur
d'évaluation logique 84.
Dans cette configuration, les données sont traitées par l'unité 86 de fonction logique de terme de produit et l'unité 88 de fonction logique de terme de somme en effectuant des opération logiques sur le flux de données d'entrée et de manière à créer un nouvel état résultant
de l'élément logique simulé L'unité 86 de fonction lo-
gique de terme de produit est logiquement une configura-
tion de portes ET et l'unité 88 de fonction logique de
terme de sommes est une combinaison de portes OU de ma-
nière que toute fonction logique puisse être remplie
avec ce processeur 84 d'évaluation logique généralisée.
L'ensemble du processus de simulation qui a été dé-
crit jusqu'ici peut être séparé en des problèmes d'im-
portances différentes La logique qui a été-disputée rem-
plie une certaine quantité de simulation sur une quantité
donnée de logique Pour étendre cette fonction à des pro-
blèmes plus importants avec de plus grandes "listes nettes", la logique en anneaux de communication entre modules entre en jeu Cette logique permet des copies multiples du système machine de simulation pour réagir à la commande du processeur principal ou source 12 afin de remplir cette plus importante tache de simulation pour différents éléments logiques et en même temps L'entrée principale de la logique oui a été décrite est un registre d'état
extérieur 98 qui doit fournir des données provenant d'-
autres parties ou d'autres copies de cet appareil simu-
lateur câblé dans le sous-ensemble qui agit actuellement
sur les données.
Un circuit logique en anneaux 100 de communication entre modules permet des copies multiples de l'appareil
de simulation câblé pour communiquer entre eux et exécu-
ter des tâches de simulation Le circuit 100 réagit avec une copie de l'appareil de simulation câblé en recevant des fonctions de sortie provenant de la table de modèle par la ligne omnibus 60 Le circuit 100 reçoit également -17- des données d'adresse de table d'état provenant de la
ligne omnibus 67 et il reçoit des données d'état de bro-
che provenant du processeur d'évaluation logique 84 par
l'intermédiaire d'uneligne omnibus 102.
Le circuit 100 délivre également des données pour chaque copie de l'appareil de simulateur câblé par une ligne omnibus en anneaux 104 et des données d'état de broche par une ligne omnibus 106 En outre, le circuit
pendant le fonctionnement du simulateur doit rece-
voir des adresses de table d'état actuelle par une ligne
omnibus 108.
Certainesparties du circuit sont contenues dans
chaque copie de l'appareil de simulation câblé Ce cir-
cuit est alors dupliqué et interconnecté par des lignes omnibus pour permettre que chaque copie de l'appareil de simulation câblé puisse communiquer avec d'autres copies de l'appareil de simulation câblé en effectuant
les opérations sur un grand problème de simulation.
Les figures 2 A et 2 B représentent un autre mode de
réalisation d'un simulateur logique 200 selon l'invention.
Ce mode de réalisation est adapté comme un simulateur d'orientation booléenne qui ne garde pas explicitement la trace des évènements temporels dans un projet logique à simuler et à vérifier mais garde simplement la trace
des niveaux logiques du circuit c simuler Une table d'é-
tat défini 210 reçoit plusieurs entrées sur des lignes 212 et représente un espace de mémoire pour garder trace des états logiques " O " ou " 1 " de huit entrées de portes prévues aux entrées 212 Ces entrées peuvent être fournies par le processeur principal ou la source 12 comme dans le mode de réalisation des figures l A et 1 B Une table d'état indéfini 220 constitue la base de mémoire pour
garder la trace du moment ou une entrée de porte parti-
culière se trouve dans une condition logique non définie
sur la base des entrées des lignes d'entrée d'adresse 222.
Une condition logique non définie peut se présenter au moment o une porte est sur le point de passer d'un état -18- a un autre ou est encore entrain de se stabiliser dans un état qui vient juste d'être changé Un autre exemple
d'une condition non définie se présente lorsque les en-
trees d'une porte particulière ne sont pas encore connues car elles se stabilisent depuis une opération par ailleurs dans le dispositif en cours de contrôle.
Une unité de traitement de porte 230 comporte plu-
sieurs tables individuelles de fonction de porte 232,
234, 236 et ainsi de suite pour former une table de fonc-
tion de porte pour chaque bit d'une adresse a 8 bits,
toutes ces tables de fonction de porte n'étant pas repré-
sentées mais se terminant avec la table de fonction de porte 236 pour le bit 7 L'unité de traitement de porte consiste en huit unités de processeurs logiques à usage
spécial qui déterminent des sorties de simple porte don-
nées par des fonctions logiques de simples entrées des entrées appliquées Deux unités de traitement de fonction
240, 242 sont prévues comme des pastilles demicro-rreces-
seurs qui, dans ce mode de réalisation, consistent en
deux pastilles de micro-processeurs t quatre bits con-
nectées pour former une pastille de processeur 3 8 bits remplissant la fonction d'unité de traitement Ces unités de traitement de fonction accomplissent une fonction de traitement de niveau supérieur pouvant simuler de plus grands blocs de fonction dans la pastille qui do ' être vérifiée, et elles déterminent des sorties de porte de
fonctions logiquescomplexes données des entrées aprliquées.
Ces foncticns de processeurs assurent: donc un traitement associé avec des portes plus complexes dans le système en cours d'essai tandis que les portes moins complexes sont
traitées par les 8 unités de table de fonction dans l'uni-
té de traitement de porte 230.
Deux réseaux à barres croisées 250, 252 sont prévus
et associés respectivement avec la table d'état non défi-
ni 220 et la table d'état défini 210 Ces réseaux
correspondants sont utilisés pour permettre que des uni-
tés de simulation réagissent entre elles sur la base de
plus grands réseaux qui reçoivent des signaux représen-
-19- tant des niveaux de portes se croisant entre des modules de traitement Tout cela est fait en utilisant des lignes omnibus de données comprenant les quatre lignes omnibus de données 254, 256, 258, 260 Un dispositif de commande de liaison série/parallèle 270 est connecté entre les unités de traitement de fonction 240, 242 pour commander le fonctionnement de ces unités de traitement de fonction
et pour aider au déroulement de la simulation de multi-
ples séquences de cycles d'un dispositif en cours d'essai.
En plus d'être connectés auxlignes omnibus de données 254, 256, 258, 260, les unités de traitement de fonction 240, 242 sont également prévues avec des interconnexions
sur une ligne omnibus 272 associée avec l'unité de trai-
tement de fonction 242 et une ligne omnibus 274 associée avec l'unité de traitement de fonction 240, vers des registres 276, 278 associés respectivement avec la table d'état défini 210 et la table d'état non défini 220 Ces registres forment des entrées de données pour les tables d'étatdéfini et non défini pour produire l'alternance selon les besoins entre les entrées d'unité de traitement de fonction vers ces tables depuis l'entrée de tables de fonction de porte ou d'unités de traitement de porte vers
ces tables d'état.
La figure 3 représente un autre mode de réalisation d'un simulateur logique 299 selon l'invention, et montre le schéma de circulation des données d'un simulateur d' évênements Dans le simulateur 299, les données logiques
et les données de temps nécessaire pour vérifier le fonc-
tionnement d'un circuit logique sont analysées Le trai-
tement préalable des données doit se faire dans un proces-
seur principal ou une source 301 pour fournir des entrées à une table 300 de facteur pyramidal qui distribue des informations d'une "liste nette" concernant des types de portes et des étiquettes de portes Ces informations sont mémorisées par exemple dans une mémoire de 32 K fois bits D'autres informations qui sont nécessaires pour la progression de la simulation sont les informations de -20- retard spécifique pour le fonctionnement de chaque type
de porte ou dispositif simulé Ces informations sont mé-
morisées dans une table de sortie de porte 302 qui dans ce mode de réalisation est une mémoire de 16 K fois 40 bits D'autres données qui sont nécessaires sont les données d'état logique de chaque porte et ces données sont placées dans une table d'état 304 Cette table est
une mémoire â 48 K fois 20 bits dans ce mode de réalisa-
tion La définition de l'opération des différents types de portes est mémorisée dans une table de modèle logique 306 qui, dans ce mode de réalisation, est une mémoire de 16 K fois 40 bits Lorsque la source 301 a chargé les tables déjà décrites, le processus de simulation passe
à la commande d'un programmateur 308 de temps d'évène-
ments Ce programmateur 308 dirige ensuite ltactivité des circuits dans la table de facteur pyramidal 300, la table de sortie de porte 302, la table d'état 304, la table de modèle logique 306 et le processeur d'évaluation logique 310 Ces mémoires et processeurs logiques peuvent être coordonnés de manière que les données se dérlacent
entre eux à la commande du programmateur d'instant d'é-
vènement afin de garder la trace des changements d'état logique et des évènements dans le temps pour montrer ce qui se produit à chaque sortie de porte pour un incrément
temporel dcnné pendant le fonctionument logique.
Le programmateur de temps d'évènement 308 est repré-
senté en détails sur les figures 4 A et 4 B qui illustrent
certains des circuits logiques des commandes et des mémoi-
res nécessaires pour réaliser la programmation des évène-
ments et la liaison de ces évènements dans le temps.
La raison d'être de la solution de liste de liaison de programmateur de temps d'évènement représentée sur la figure 3 est de permettre une affectation aléatoire de la
mémoire qui est nécessaire pour conserver la trace du nom-
bre de changements d'états logiques pendant une période donnée La mémoire de liste de liaison peut mémoriser par exemple 5 changements d'état à un instant de simulation -21-
et une liaison et en garder la trace A la période de si-
mulation suivante, elle peut contrôler un nombre diff 6-
rent de changements d'état, par exemple 100 et elle peut mémoriser ces changements d'état et liaisons dans les mémoires de liste de liaison Cela peut se répéter pour
tout nombre de changement d'état et toute période de si-
mulation, par une affectation dynamique de mémoire pour conserver tous les changements d'état à tous les instants
considérés, pendant toute période de simulation donnée.
Lorsqu'un diagramme logique donné a été simulé, les résultats des tables d'état non corrigée sont transmis à une fonction de post-processeur qui traduit les données
sous forme lisible par un opérateur, par une sortie d'im-
primante ou un terminal graphique afin de permettre au concepteur logique d'observer les résultats de l'essai
par simulation.
Pour en revenir a la figure 3, une table d'évènement
418 du programmateur de temps d'événement 306 est une mé-
moire à 16 K fois 16 bits et elle est utilisée pour mé-
moriser des événements qui doivent être traités Cet en-
semble est construit autour de la table d'évënement dans
laquelle les algorithmes extraient un événement de la mrné-
moire, traitent l'événement et déterminent si de nouveaux
événement doivent être produits La fonction du proqramna-
teur 308 est d'extraire un événement La table de facteur pyramidal 300, la table de sortie de porte 302, la table
d'état 304, la table de modèle logique 306 et le proces-
seur d'évaluation logique 310 traitent les évènements et déterminent si des nouveaux événements sont à produire et sont mémorisés è nouveau dans la table d'événement 4 l 8
pour les traiter ultérieurement.
L Iorsqu'un événement est extrait de la table d'évé-
nement, les événements en cours sont évalués L'évènement en cours et l'état en cours sont traités Le processeur d'évaluation logique 310 est utilisé pour traiter d'abord
l'événement afin d'obtenir l'état en cours et pour mémo-
riser l'état d'entrée de la porte simulée L'état es;t mé-
_ 2 24 _
morisé dans le mot qui est adressé pour une porte de table de modèle particulière La nouvelle sortie logique d'une porte est évaluée et le processeur d'évaluation logique 310 utilise la table de modèle logique 310 qui est une table de vérité pour obtenir des informations de modèle
voulu pour un type de porte.
Quand le nouvel état est mémrorisé pour une porte.
les broches d'entrée de la porte sont utilisées pour a-
dresser la table de vérité et pour déterminer un nouvel état de la porte Par exemple, dans le cas d'une porte ET à quatre entrées, quatre broches d'entrée existent pour la porte ET, l'évènement qui apparaît changeant l'état de l'une des entrées de la porte ET Une table de vérité peut être utilisée pour évaluer la nouvelle sortie de la porte et, pour ce type de porte elle produit une nouvelle
sortie correspondant aux états des entrées de la porte.
Ouand la sortie de porte est évaluée en utilisant le pro-
cesseur d'évaluation logique 310 et la table de modèle logique 306, si il y a un changement d'état à la sortie de la porte, il est déterminé si la sortie de la porte
est émise de sorte que l'état ou l'évènement peut se pro-
pager vers d'autres portes ou de nouvelles charges sur cette sortie La table de modèle logique 3 6 détermine si il existe un changement d'état de sortie Si il existe un changement d'état de sortie, l'état se propage vers
les autres portes La table de facteur pyramidal 300 adap-
te les types de portes de destination et les numéros de portes Cela égquivaut à la liste d'interconnexions pour la
table de sortie de porte 302 qui contient les retards.
Lorsqu'un événemnent se produit,il nécessite que l'état soit mémorisé de sorte que la table d'état est maintenue dans la table d'état 304 La table d'état 304 est celle dans laquelle les états d'entrée et de sortie de toutes les broches d'une porte sont conservés Lorscu'un nouvel événement change la broche d'entrée d'une porte, changeant ainsi l'état de la broche d'entrée, cet état est conservé dans la table d'état 304 Pour un nouvel évènement, le -23- nouvel état de broche est mémorisé dans la table d'état 304 Les états des broches dans la table d'état 304 sont
comparés avec le type de porte pour déterminer la réfé-
rence de la table de vérité dans la table de modèle 306 pour déterminer si il existe un nouvel état de sortie de la porte L'ancien état mémorisé dans la table 304 et le nouvel état déterminé à partir de la table de vérité dans la table de modèle 306 sont utilisés pour déterminer si la sortie de la porte a changé Si l'état de sortie de la porte est changé, la table de facteur pyramidal 300 qui est la liste d'interconnexion et la table de sortie de porte 302 qui est la table des retards de sortie sont utilisées pour déterminer les nouveaux évènements sur les charges de la porte Ces nouveaux événements attaquent les broches d'entrée des charges auxquelles la porte est connectée. Les figures 4 A, 4 B représentent un dispositif 400
de sommation de temps de simulation qui reçoit des infor-
mations concernant l'instant de simulation actuellement
considéré Le dispositif de sommation de temps de simula-
tion 400 est connecté à un registre 402 Le registre 402
délivre une sortie à une mémoire de première liste de liari-
son 404, une mémoire de première liste de liaison 406 et une mémoire de dernière liste de liaison 408 La mémoire
de première liste de liaison 404 est connectée à un re-
gistre 412 avec une ligne omnibus de sortie 452 connectée à une porte OU 424 La ligne omnibus de sortie 452 est également connectée à une entrée d'une porte OU connectée c la commande d'autorisation d'écriture de la mémoire 406 de liste de première liaison La mémoire 406 de liste de première liaison et la mémoire 408 de liste de dernière liaison sont connectées à une ligne omnibus de données 410, comme cela sera décrit par la suite, connectées a d'autres éléments dans l'ensemble Un registre 414 fonctionne comme un registre de première liaison et il est connecté à la
ligne omnibus 410 Le registre 414 comporte une sortie con-
nectée à une ligne omnibus 450 comme entrée d'un compara-
-24- teur 422 et comme entrée d'un compteur 440 Un registre de dernière liaison 416 est connecté à la mémoire de liste de dernière liaison 408 et fourni une seconde entrée au
comparateur 422 Le comparateur 422 effectue une compa-
raison pour déterminer si les registres de liste de liai-
son 414, 416 contiennent la même adresse de liste de liai-
son,et il délivre une sortie à la porte OU 424 Quand la porte OU 424 est ouverte, l'adresse de liste de liaison
passe à un registre 426 qui délivre une sortie pour avan-
cer l'instant de simulation d'un incrément pour le trai-
tement ultérieur La table d'évènement ou la mémoire de
liste de liaison 418 est connectée à une entrée de don-
nées 456 et une sortie de données 458 vers la ligne om-
nibus 410 La mémoire de liste de liaison 418 est comman-
dée par une entrée provenant de la ligne omnibus 450.
Une mémoire 430 au premier entré, premier sorti est con-
necté à la ligne omnibus 410 pour préserver les informa tions de liaison libre Un registre 432 est connecté entre la mémoire 434 de liste de liaison pleine et la
mémoire 430 Un générateur de parité 438 traite des don-
nées provenant de la mémoire 434 de liste de liaison plei-
ne vers la mémoire 430 Une porte OU 436 commande le fonc-
tionnement de la mémoire de liste de liaison 434 Le compteur 440 commande ure entrée de données de la mémoire
* 430 tandis que sa sortie est l'adresse de sortie de liai-
son libre connectée C la ligne omnibus de données 410.
La ligne omnibus 410 est connectée C un registre 420
qui délivre une sortie d'adresse d'évènement de lecture-
mémorisation et c un contrôle de parité 421 qui produit
une sortie d'erreur de parité.
La mémoire de liste de liaiscn 418 peut être une mé-
moire A 16 K fois 16 bits qui est utiliséepour mémoriser
des évenemrents Les évènements communs C un instant d'é-
chantillonnage donné sont mémorisés en 6 blocs de 16 mots de sorte que la mémoire qui est une mémoire à 16 K fois 16 bits est séparée logiquement en blocs de 16 mots Les mémoires de liste de liaison 404, 406, 408 sont des -25- mémoires qui sont utilisées pour commander l'adressage de la mémoire de liste de liaison 418, La mémoire 404 de liste de première liaison pleine est une mémoire à 4 K fois 1 bit et elle est utilisée pour déterminer si il existe un instant d'échantillonnage actif Un cycle d'horloge peut être séparé en un maximum de 4 096 instants
d'échantillonnage et l'état de l'instant d'échantillonna-
ge est mémorisé dans la mémoire à 4 K fois 1 bit.
Le registre 402 est utilisé pour introduire l'ins-
tant d'échantillonnage en cours et une adresse dans la mémoire 404 de liste de première liaison pleine qui est la mémoire qui indique si cet instant d'échantillonnage est actif ou non Si l'instant d'échantillonnage est actif, des évènements sont lus dans le programmateur de temps d'événement Pour chaque instant d'échantillonnage, une adresse passe par le dispositif de sommation 400 et le
registre 402 pour remplir la mémoire 404 de liste de pre-
mière liaison pleine si le bit dans la mémoire 404 pour cette adresse est à " 1 " et si l'instant d'échantillonnage
est actif Si l'instant d'échantillonnage est actif, l'a-
dresse est émise vers les mémoires de liste de liaison 406, 408 La mémoire de première liste de liaison 406 contient un indicateur dans le premier bloc de 16 mots de la mémoire contenant des événements, La mémoire de liste de dernière liaison 408 contient un indicateur dans le
dernier bloc de 16 mots de la mémoire contenant des évé-
nements Les dispositifs 404, 406, 410, 414, 416, 422, 424, 426 conservent la trace des blocs d'événements dans
lesquels le bloc qui contient 16 évènements et les dispo-
sitifs 432, 434, 436 sont utilisés pour accéder è des évènements individuels mémorisés dans un bloc Le schéma de la figure 4 A est utilisé principalement pour conserver la trace de l'adressage des blocs individuels La mémoire de liste de liaison 418 est utilisée pour mémoriser des événements Les événements sont mémorisés dans des blocs de 16 mots de sorte qu'il y a 1 024 blocs mémorisés dans la mémoire de liste de liaison 418 dans le présente mode -26- de réalisation Chaque bloc contient 16 mots Les blocs
peuvent avoir une dimension variable Ils peuvent conte-
nir de un mot jucu'à 16 mots, de sorte qu'une mémoire
peut être cloisonnée en 1 024 blocs de 16 mots ou jus-
qu'à 16 384 blocs de 1 mot suivant le type de simulation. La dimension de bloc peut être changée pour améliorer les performances Le plus grand bloc peut donner des performances améliorées, Chaque fois qu'un bloc est vidé,
l'indicateur de première liaison est incrémenté L'indi-
cateur de première liaison est incrémenté et des blocs sont lus jusqu'à ce que l'indicateur de première liaison
soit égal à l'indicateur de dernière liaison Le compa-
rateur 422 est utilisé pour comparer les indicateurs de
première liaison et de dernière liaison Quand la com-
paraison est faite, tous les blocs ont été lus.
La mémoire est partagée en blocs et l'indicateur de première liaison dans la mémoire de liste de première
liaison 406 désigne le premier bloc qui doit être lu L'in-
dicateur de dernière liaison se trouve dans la mémoire de liste de dernière liaison 408 qui indique le dernier bloc à lire Quand les blocs sont lus, l'indicateur de première liaison est incrémenté et comparé dans le compa-
rateur 422 ayec l'indicateur de dernière liaison Quand
la comparaison dans la porte OU 424 indique que les indi-
cateur sont égaux, la simulation progresse à un instant
qui est la sortie du registre 426.
Il est bien entendu que dans chaque cas ou les con-
ditions d'état de sortie pour une première porte doivent être fournies comme des entrées à une seconde porte ne sont pas changées, de sorte que la seconde porte ne voit aucun changement d'entrée,le système n'adresse pas la seconde porte dans la phase suivante de simulation pour déterminer si cette porte a changé d'état Autrement dit, le simulateur selon l'invention est hautement efficace en exécutant seulement les phases de simulation sur des portes ou des éléments de circuits dont les conditions d'entrée sont changées d'une manière ou une autre Ainsi, -27-
le grand nombre de cycles en lesquels chaque phase du cir-
cuit à simuler est divisé permet de ne changer l'état que de quelques portes à chaque phase et par conséquent, une
pastille comportant des milliers de portes peut être ana-
lysée de façon beaucoup plus efficace que si chacune de
ces portes devait être adressée à chaque cycle de fonc-
tionnement Une caractéristique essentielle du simulateur
est donc que pendant chaque cycle de fonctionnement repré-
sentant un instant d'échantillonnage pour la pastille en
cours d'essai, seules les portes pour lesquelles un indi-
cateur indique un changement d'état d'entrée doivent être évaluées en ce qui concerne leur changement d'état Cela permet de n'adresser qu'un nombre comparativement réduit
de toutes les portes dans le dispositif à simuler.
Ainsi, le simulateur assure que des événements com-
muns à l'instant d'échantillonnage en cours sont éliminés de la mémoire appropriée et sont ensuite traités par des
unités logiques dans le simulateur Des nouveaux événe-
ments qui sont produits par la suite du traitement sont
ramenés dans la mémoire après l'opération de traitement.
Ce système de mémorisation d'évènements est important.
Des ëvènements sont mémorisés dans des listes liées ayant des instants d'échantillonnage communs Autrement dit,
les listes d'événements sont liées par l'instant d'tchan-
tillonnage commun Dans le traitement d'un programme de simulation sur un calculateur universel, un temps notable de calculateur est nécessaire pour rechercher,lier et agencer des évènements en des instants d'échantillonnage
commun Le simulateur décrit ci-dessus mémorise des évé-
nements dans des blocs ou des listes liées de manière cue
les listes puissent être adressées dans un ordre séiuen-
tiel comme décrit en regard des figures 4 A, 4 B pour l'ins-
tant particulier d'échantillonnage en fonctionnement, Dans le but de traiter des évènements de portes, le nouvel
état d'une broche d'entrée de la porte est reçu de la mé-
moire et échantillonné de manière que le nouvel état de broche de sortie puisse être évalué par traitement Tout -28- nouvel état de broche de sortie est mémorisé à nouveau dans la mémoire, Des portes sans changement d'état de sortie sont éliminées de l'échantillonnage car elles ne présentent aucun nouvel état de broche d'entrée pour la porte suivante dans la séquence Ainsi, la porte suivante dont la séquence N 'a pas à être évaluéedans la séquence
de temps suivante de la simulation Les nouveaux évène-
ments qui sont produits par le simulateur peuvent être répartis en de nombreux instants d'échantillonnage dans
le futur sur la base des temps de retard des portes impli-
quées Ainsi, pour la mémorisation d'évènements, les évé-
nements résultant de la nouvelle détermination d'événement doivent être mémorisés dans diverses positions de mémoire correspondant au retard de porte pour la porte affectée
en séquence selon la "liste nette".
Par conséquent, l'un des avantages du simulateur selon l'invention décrit ci-dessus est que les circuits
sont capables de s'adapter à chaque instant d'échantil-
lonnage du traitement pour recevoir un nombre différents
de changement d'état par cycle d'instant d'échantillon-
nage plutôt qu'un nombre fixe de changement d'état par instant d'échantillonnage L'affectation dynamique de la mémoire à des nombres différents de changement d'état par série de simulation est une caractéristique importante
de l'invention, conjointement avec la commande par mémoi-
re En outre, étant donné due la conception du simulateur des modes de réalisation des figures l A, l B ou 3, 4 A, 4 B permet que des informations de coirnande d'état extérieur
change pendant le fonctionnement à chacue instant d'é-
chantillonnage la commande d'état ou la fonction d'état
de portes particulières dans l'échantillon de simulation.
Ainsi, pour simuler une pastille d'une dimension donnée,
plusieurs simulateurs d'une dimension standard prédéter-
minée peuvent être groupés à la commande d'un calculateur principal, les résultats d'un ou plusieurs simulateurs étant fournis à un autre simulateur pour contrôler l'état de diverses portes qui sont présentes dans la "liste nette" -29- du simulateur La possibilité dynamique de modifier l'état
de portes particulières à des instants particuliers d?é-
chantillonnnage par des informations extérieures est une
caractéristique importante.
-30-
Claims (2)
1 o dans lequel ladite mémoire de table de modèle ( 56) con-
tient des informations concernant le fonctionnement d'éléments logiques particuliers et dans lequel ladite mémoire de table d'état ( 80) et ledit évaluation logique ( 84) évaluent l'état d'éléments logiques ayant une entrée changée d chaque instant d'échantillonnage et n'évaluant
pas un changement d'état d'éléments logiques qui ne re-
coivent pas un changement d'état à un instant d'Ochantil-
lonnage particulier, et dans lequel ladite commande de mémoire et d'horloge ( 96) réagit à ladite commande en
anneaux de module en recevant une entrée ou en produi-
sant une entrée à ladite commande en anneaux de module
pour des dispositifs extérieurs à des instants appro-
priés dans ledit cycle logique.
2 Appareil de simulation d'un projet logique de pas-
tilles logiques ou de réseaux logiques,caractérisé en ce qu'il comporte une table de facteur pyramidal ( 300) connectée à un processeur principal ( 301) pour conserver des informations de liste nette, des informations de
projet logique de porte et des informations d'intercon-
nexion de porte, un programmateur d'instant d'évènement
logique ( 308) connecté avec ladite table de facteur py-
ramidal pour recevoir des informations d'entrée concer-
nant ledit projet logique et pour fournir des informa-
tions de sortie concernant des changements d'état des éléments logiques dudit projet logique, un processeur d'
évaluation logique ( 310) pour remplir les fonctions lo-
giques d'éléments logiques particuliers dans le projet -32- logique à vérifier, ledit processeur d'évaluation logique étant connecté audit programmateur d'instant d'évènemlent ( 308) pour recevoir des informations concernant l'état actuel d'éléments logiques particuliers et fournissant des informations concernant des chancemrents d'état dans des Cléments logiques particuliers, une mémoire de table
de sortie de porte ( 302) connectée à ladite table de fac-
teur pyramidal ( 300) pour recevoir des informations con-
cernant des éléments logiques à un instant d'échantillon-
nage particulier et des éléments logiques auxquels les-
dits éléments passent en changement d'état a des instants d'échantillonnage futur, une mémoire de table d'état
( 304) connectée r ladite mémoire de table de facteur:y-
ramidal ( 300) et a ladite mémoire de sortie de porte '302)
pour ccnserver des informations concernant l'état pr -
cèdent d'un élément logique et le nou'zel 6 tat d'un É 1-
ment logique qui remplace l'état précèdent de l'élment
logique, ladite m émoire de table d'état ( 304) étant con-
nectée audit processeur d'évaluation logique ( 310) qui fourni des informations concernant lesdits nouveaux états
d'éléments logiques, une mémoire de table de modèle lo-
gique ( 306) connectée à ladite mémoire de table de f Ja-
teur pyramidal ( 300) pour conserver des infezaations con-
cernant la fonction logique remplie pa: de M élemerts lo-
gigues et pour recevoir des inforlations concernant l'é lément logique ccnsidéré provenant de ladite mérmoire de
table de facteur pyramidal ( 300) et ccnnectne audit pro-
cesseur d'évaluation logique ( 310) pour foirnir des in-
formations concernant la fonction logkique à remplir sur
la porte en cours de contrôle Z un instant d'échant$-
lonnage par:icuiier, dans lequel en Ponctionnement, l'ap-
pareil effecfte des opérations sur des éléenis ogic;ues
des instants d'Échantillonnage preédeterminés et parti-
cu.liers en cours de contrôle et fournissant des informa-
tions concernant des changements d'état à des élm ents Jogiques connectés aux éléments en cours de contrôle et dans lequel à chaque crcle d'instant d'échantillonnage, -33- l'appareil n'effectue que des phases d'évaluation logique sur des éléments logiques qui reçoivent des changements
d'entrée résultant du changement d'état d'éléments logi-
ques depuis un instant d'échantillonnage précédent et n'effectuant aucune fonction d'évaluation logique sur des éléments logiques qui ne reçoivent aucun changement d' état d'entrée d'un élément logique depuis un instant d'
échantillonnage précédent.
3 Appareil selon la revendication 2, caractérisé en ce que ledit programmateur d'instant d'évènement logique comporte un registre d'état d'instant de simulation ( 402), une première mémoire de première liaison pleine ( 404) connectée audit registre d'état d'instant de simulation, une seconde mémoire d'état de liste de première liaison
< 406) connectée audit registre d'état d'instant de simu-
lation, une troisième mémoire de liste de dernière liai-
son ( 408) connectée audit registre d'instant de simulation, un premier, un second et un troisième registre ( 412, 414,
416) connectés à ladite première, ladite seconde et la-
dite troisième mémoire, un comparateur ( 422) connecté
audit second et audit troisième registre ( 414, 416) pro-
duisant une sortie quand ladite seconde mémoire de liste
de première liaison ( 406) est adressée par la même adres-
se que ladite troisième mémoire de liste de dernière liai-
son ( 408) et une porte OU ( 424) connectée à la sortie dudit comparateur ( 422) et audit premier registre ( 412) pour recevoir des informations concernant ladite première
mémoire de première liaison pleine ( 404), ledit compara-
teur ( 422 > étant à la dernière adresse d'un instant de simulation dont l'instant de simulation d'adresse est avancé en séquence à l'instant suivant d'échantillonnage
de simulation.
4 Appareil selon la revendication 3, caractérisé en ce qu'il comporte une ligne omnibus ( 410) interconnectant ladite seconde et ladite troisième mémoire ( 406, 408) une mémoire de dernière liaison ( 418) connectée à ladite ligne omnibus ( 410) pour identifier l'adresse de liaison -34suivante pour l'instant suivant de simulation dudit appareil, une mémoire ( 430) au premier entré, premier
sorti pour identifier une adresse de liaison libre con-
nectée è ladite ligne omnibus ( 410), et un dispositif de commande ( 440) destiné & commander ladite mémoire de
dernière liaison ( 418) et ladite mémoire ( 430) au pre-
mier entré, premier sorti.
Appareil selon l'une quelconque des revendications
2 à 4, caractérisé en ce que ledit appareil est destiné à être interconnecté avec un autre appareil similaire pour recevoir un changement d'information d'état sur des entrées d'éléments logiques contenus dans ladite mémoire de liste nette è des cycles différents d'instant d'échantillonnage et comprenant en outre un dispositif d'entrée pour fournir une seconde entrée provenant d'une
source extérieure audit second registre et Ä ladite com-
mande en anneaux de module pour cozmander ledit second
registre pour qu'il recoit une entrée de la source ex-
térieure à des instants appropriés dans le cycle d'é-
chantillonnage.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/436,162 US4527249A (en) | 1982-10-22 | 1982-10-22 | Simulator system for logic design validation |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2535087A1 true FR2535087A1 (fr) | 1984-04-27 |
Family
ID=23731365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8316833A Withdrawn FR2535087A1 (fr) | 1982-10-22 | 1983-10-21 | Appareil de simulation logique |
Country Status (6)
Country | Link |
---|---|
US (1) | US4527249A (fr) |
JP (1) | JPS5995657A (fr) |
AU (1) | AU2014583A (fr) |
DE (1) | DE3338333A1 (fr) |
FR (1) | FR2535087A1 (fr) |
GB (1) | GB2131211A (fr) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8309692D0 (en) * | 1983-04-09 | 1983-05-11 | Int Computers Ltd | Verifying design of digital electronic systems |
WO1985002033A1 (fr) * | 1983-11-03 | 1985-05-09 | Prime Computer, Inc. | Appareil et procede de simulation pour systeme numerique |
US4628471A (en) * | 1984-02-02 | 1986-12-09 | Prime Computer, Inc. | Digital system simulation method and apparatus having two signal-level modes of operation |
US4814983A (en) * | 1984-03-28 | 1989-03-21 | Daisy Systems Corporation | Digital computer for implementing event driven simulation algorithm |
US4751637A (en) * | 1984-03-28 | 1988-06-14 | Daisy Systems Corporation | Digital computer for implementing event driven simulation algorithm |
US4633417A (en) * | 1984-06-20 | 1986-12-30 | Step Engineering | Emulator for non-fixed instruction set VLSI devices |
FR2567273B1 (fr) * | 1984-07-03 | 1986-11-14 | Commissariat Energie Atomique | Dispositif de simulation de la defaillance ou du bon fonctionnement d'un systeme logique |
JPS6142040A (ja) * | 1984-08-03 | 1986-02-28 | Nec Corp | 論理シミユレ−タ |
US5056014A (en) * | 1985-02-04 | 1991-10-08 | Lockheed Sanders, Inc. | Network simulation system |
US4694411A (en) * | 1985-02-04 | 1987-09-15 | Sanders Associates, Inc. | Simulation apparatus and method |
US4725970A (en) * | 1985-02-05 | 1988-02-16 | Sanders Associates, Inc. | Simulation device |
US4937827A (en) * | 1985-03-01 | 1990-06-26 | Mentor Graphics Corporation | Circuit verification accessory |
US4715035A (en) * | 1985-05-31 | 1987-12-22 | Siemens Aktiengesellschaft | Method for the simulation of an error in a logic circuit and a circuit arrangement for implementation of the method |
US4931722A (en) * | 1985-11-07 | 1990-06-05 | Control Data Corporation | Flexible imbedded test system for VLSI circuits |
US4763289A (en) * | 1985-12-31 | 1988-08-09 | International Business Machines Corporation | Method for the modeling and fault simulation of complementary metal oxide semiconductor circuits |
US4769817A (en) * | 1986-01-31 | 1988-09-06 | Zycad Corporation | Concurrent fault simulation for logic designs |
JPS62182939A (ja) * | 1986-02-07 | 1987-08-11 | Hitachi Ltd | 情報処理装置の論理シミユレ−シヨン方法 |
US4937770A (en) * | 1986-02-07 | 1990-06-26 | Teradyne, Inc. | Simulation system |
CA1271259A (fr) * | 1986-02-07 | 1990-07-03 | Teradyne, Inc. | Systeme simulateur |
US4744084A (en) * | 1986-02-27 | 1988-05-10 | Mentor Graphics Corporation | Hardware modeling system and method for simulating portions of electrical circuits |
US4914568A (en) * | 1986-10-24 | 1990-04-03 | National Instruments, Inc. | Graphical system for modelling a process and associated method |
JPS62251843A (ja) * | 1986-04-25 | 1987-11-02 | Hitachi Ltd | 論理シミユレ−シヨン方法および装置 |
US4831524A (en) * | 1986-06-24 | 1989-05-16 | Westinghouse Electric Corp. | Logic diagram compiler/executor |
US4787061A (en) * | 1986-06-25 | 1988-11-22 | Ikos Systems, Inc. | Dual delay mode pipelined logic simulator |
US5126966A (en) * | 1986-06-25 | 1992-06-30 | Ikos Systems, Inc. | High speed logic simulation system with stimulus engine using independent event channels selectively driven by independent stimulus programs |
US4787062A (en) * | 1986-06-26 | 1988-11-22 | Ikos Systems, Inc. | Glitch detection by forcing the output of a simulated logic device to an undefined state |
JPH07120359B2 (ja) * | 1986-10-21 | 1995-12-20 | 日本電気株式会社 | ハードウェアシミュレータにおけるシミュレーション方法 |
US4792913A (en) * | 1986-11-03 | 1988-12-20 | Grumman Aerospace Corporation | Simulator for systems having analog and digital portions |
US4791578A (en) * | 1986-12-30 | 1988-12-13 | Eta Systems, Inc. | Logic gate system design |
US4866663A (en) * | 1987-02-13 | 1989-09-12 | Sanders Associates, Inc. | Simulation system |
JPS63204441A (ja) * | 1987-02-20 | 1988-08-24 | Fujitsu Ltd | 論理シミユレ−シヨン専用プロセツサの処理方式 |
US4827427A (en) * | 1987-03-05 | 1989-05-02 | Hyduke Stanley M | Instantaneous incremental compiler for producing logic circuit designs |
US4907180A (en) * | 1987-05-04 | 1990-03-06 | Hewlett-Packard Company | Hardware switch level simulator for MOS circuits |
US5047971A (en) * | 1987-06-23 | 1991-09-10 | Intergraph Corporation | Circuit simulation |
US4873656A (en) * | 1987-06-26 | 1989-10-10 | Daisy Systems Corporation | Multiple processor accelerator for logic simulation |
US4916647A (en) * | 1987-06-26 | 1990-04-10 | Daisy Systems Corporation | Hardwired pipeline processor for logic simulation |
US4872125A (en) * | 1987-06-26 | 1989-10-03 | Daisy Systems Corporation | Multiple processor accelerator for logic simulation |
EP0308660B1 (fr) * | 1987-09-22 | 1995-05-24 | Siemens Aktiengesellschaft | Dispositif de fabrication de systèmes systoliques VLSI configuration de redondance, compatible au test et tolérant largement les fautes |
US4901260A (en) * | 1987-10-28 | 1990-02-13 | American Telephone And Telegraph Company At&T Bell Laboratories | Bounded lag distributed discrete event simulation method and apparatus |
US4868770A (en) * | 1987-12-02 | 1989-09-19 | Analogy, Inc. | Simulation results enhancement method and system |
US4924430A (en) * | 1988-01-28 | 1990-05-08 | Teradyne, Inc. | Static timing analysis of semiconductor digital circuits |
JP2583949B2 (ja) * | 1988-03-10 | 1997-02-19 | 松下電器産業株式会社 | 論理シミュレーション方法と論理シミュレーション装置 |
US4914612A (en) * | 1988-03-31 | 1990-04-03 | International Business Machines Corporation | Massively distributed simulation engine |
US5212783A (en) * | 1988-06-13 | 1993-05-18 | Digital Equipment Corporation | System which directionally sums signals for identifying and resolving timing inconsistencies |
US5247468A (en) * | 1988-09-27 | 1993-09-21 | Tektronix, Inc. | System for calculating and displaying user-defined output parameters describing behavior of subcircuits of a simulated circuit |
US5109353A (en) | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US5572708A (en) * | 1989-02-28 | 1996-11-05 | Nec Corporation | Hardware simulator capable of dealing with a description of a functional level |
JP2522541B2 (ja) * | 1989-03-24 | 1996-08-07 | 三菱電機株式会社 | シミュレ―ション装置及びシミュレ―ション方法 |
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 |
US5353243A (en) * | 1989-05-31 | 1994-10-04 | Synopsys Inc. | Hardware modeling system and method of use |
US5081601A (en) | 1989-09-22 | 1992-01-14 | Lsi Logic Corporation | System for combining independently clocked simulators |
US5125098A (en) * | 1989-10-06 | 1992-06-23 | Sanders Associates, Inc. | Finite state-machine employing a content-addressable memory |
US5053991A (en) * | 1989-10-06 | 1991-10-01 | Sanders Associates, Inc. | Content-addressable memory with soft-match capability |
US5210699A (en) * | 1989-12-18 | 1993-05-11 | Siemens Components, Inc. | Process for extracting logic from transistor and resistor data representations of circuits |
KR0158887B1 (ko) * | 1990-01-12 | 1999-02-18 | 이노우에 키요시 | 논리 모의실험기 |
US5210700A (en) * | 1990-02-20 | 1993-05-11 | International Business Machines Corporation | Automatic delay adjustment for static timing analysis |
US5327361A (en) * | 1990-03-30 | 1994-07-05 | International Business Machines Corporation | Events trace gatherer for a logic simulation machine |
US5220512A (en) * | 1990-04-19 | 1993-06-15 | Lsi Logic Corporation | System for simultaneous, interactive presentation of electronic circuit diagrams and simulation data |
US5353433A (en) * | 1990-09-06 | 1994-10-04 | Digital Equipment Corporation | Method and apparatus for organizing and analyzing timing information |
US5500808A (en) * | 1991-01-24 | 1996-03-19 | Synopsys, Inc. | Apparatus and method for estimating time delays using unmapped combinational logic networks |
EP0508619A2 (fr) * | 1991-04-11 | 1992-10-14 | Hewlett-Packard Company | Interface de stimuli à socle bidirectionnel pour un simulateur logique |
US5499192A (en) * | 1991-10-30 | 1996-03-12 | Xilinx, Inc. | Method for generating logic modules from a high level block diagram |
US5418974A (en) * | 1992-10-08 | 1995-05-23 | International Business Machines Corporation | Circuit design method and system therefor |
DE69327389T2 (de) * | 1992-10-29 | 2000-06-15 | Altera Corp., San Jose | Verfahren zum Prüfen von Entwürfen für programmierbare Logikschaltungen |
US5477474A (en) * | 1992-10-29 | 1995-12-19 | Altera Corporation | Computer logic simulation with dynamic modeling |
EP0598149B1 (fr) * | 1992-11-12 | 2000-01-19 | Fujitsu Limited | Simulateur logique hardware |
US5475695A (en) * | 1993-03-19 | 1995-12-12 | Semiconductor Diagnosis & Test Corporation | Automatic failure analysis system |
JP3083220B2 (ja) * | 1993-08-09 | 2000-09-04 | 株式会社日立製作所 | 設計支援システム |
US5680583A (en) * | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
US5515384A (en) * | 1994-03-01 | 1996-05-07 | International Business Machines Corporation | Method and system of fault diagnosis of application specific electronic circuits |
US5920712A (en) * | 1994-05-13 | 1999-07-06 | Quickturn Design Systems, Inc. | Emulation system having multiple emulator clock cycles per emulated clock cycle |
US5856933A (en) * | 1994-06-03 | 1999-01-05 | University Of South Florida | System and method for digital simulation of an electrical circuit |
US5752000A (en) * | 1994-08-02 | 1998-05-12 | Cadence Design Systems, Inc. | System and method for simulating discrete functions using ordered decision arrays |
US5696942A (en) * | 1995-03-24 | 1997-12-09 | Sun Microsystems, Inc. | Cycle-based event-driven simulator for hardware designs |
US5673295A (en) * | 1995-04-13 | 1997-09-30 | Synopsis, Incorporated | Method and apparatus for generating and synchronizing a plurality of digital signals |
US6053948A (en) * | 1995-06-07 | 2000-04-25 | Synopsys, Inc. | Method and apparatus using a memory model |
US5923865A (en) * | 1995-06-28 | 1999-07-13 | Quickturn Design Systems, Inc. | Emulation system having multiple emulated clock cycles per emulator clock cycle and improved signal routing |
US5819065A (en) * | 1995-06-28 | 1998-10-06 | Quickturn Design Systems, Inc. | System and method for emulating memory |
US5784593A (en) * | 1995-09-29 | 1998-07-21 | Synopsys, Inc. | Simulator including process levelization |
US5809283A (en) * | 1995-09-29 | 1998-09-15 | Synopsys, Inc. | Simulator for simulating systems including mixed triggers |
US5822564A (en) * | 1996-06-03 | 1998-10-13 | Quickturn Design Systems, Inc. | Checkpointing in an emulation system |
US5761488A (en) * | 1996-06-13 | 1998-06-02 | International Business Machines Corporation | Logic translation method for increasing simulation emulation efficiency |
FR2759826B1 (fr) * | 1997-02-14 | 1999-12-17 | Sgs Thomson Microelectronics | Procede de simulation precise de circuits logiques |
US5960191A (en) * | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US5970240A (en) * | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
DE19740543C1 (de) * | 1997-09-15 | 1999-07-15 | Siemens Nixdorf Inf Syst | Verfahren zum Testen eines integrierten Schaltkreises sowie Verfahren und Datenverarbeitungsanlage zum Erzeugen von Testdaten |
US6397170B1 (en) | 1998-08-18 | 2002-05-28 | International Business Machines Corporation | Simulation based power optimization |
US6714902B1 (en) | 2000-03-02 | 2004-03-30 | Cadence Design Systems, Inc. | Method and apparatus for critical and false path verification |
US7035784B1 (en) * | 2000-09-22 | 2006-04-25 | Lucent Technologies Inc. | Data-driven method simulator and simulation process |
US6704917B1 (en) * | 2000-11-21 | 2004-03-09 | Micro Industries Corporation | Table driven design system and method |
US6889199B2 (en) * | 2000-11-30 | 2005-05-03 | Hewlett-Packard Development Company, L.P. | Method and apparatus for encoding and generating transaction-based stimulus for simulation of VLSI circuits |
US7302670B2 (en) * | 2000-12-21 | 2007-11-27 | Bryan Darrell Bowyer | Interactive interface resource allocation in a behavioral synthesis tool |
JP2002366602A (ja) * | 2001-04-06 | 2002-12-20 | Seiko Epson Corp | ソフトウエア及びハードウエアのシミュレーション方法及びシステム並びにプログラム |
EP1488367A4 (fr) * | 2002-03-08 | 2005-05-11 | Mentor Graphics Corp | Transformation de tableaux dans un outil de synthese comportementale |
US6732338B2 (en) | 2002-03-20 | 2004-05-04 | International Business Machines Corporation | Method for comprehensively verifying design rule checking runsets |
US7219316B2 (en) * | 2003-10-23 | 2007-05-15 | International Business Machines Corporation | Multi-valued or single strength signal detection in a hardware description language |
US7799273B2 (en) | 2004-05-06 | 2010-09-21 | Smp Logic Systems Llc | Manufacturing execution system for validation, quality and risk assessment and monitoring of pharmaceutical manufacturing processes |
US20060026543A1 (en) * | 2004-07-29 | 2006-02-02 | Texas Instruments Incorporated | Accurate timing analysis of integrated circuits when combinatorial logic offers a load |
US20060044261A1 (en) * | 2004-09-02 | 2006-03-02 | Kao-Cheng Hsieh | Pointing input device imitating inputting of hotkeys of a keyboard |
US7735050B2 (en) | 2006-02-09 | 2010-06-08 | Henry Yu | Managing and controlling the use of hardware resources on integrated circuits |
US8234624B2 (en) | 2007-01-25 | 2012-07-31 | International Business Machines Corporation | System and method for developing embedded software in-situ |
US10527715B2 (en) | 2016-06-20 | 2020-01-07 | Rohde & Schwarz Gmbh & Co. Kg | Radar target stimulation device and method |
CN112416686A (zh) * | 2020-12-02 | 2021-02-26 | 海光信息技术股份有限公司 | 芯片的验证方法、验证装置以及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0021404A1 (fr) * | 1979-06-29 | 1981-01-07 | International Business Machines Corporation | Système de traitement de données pour la simulation d'opérations logiques |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1389319A (en) * | 1971-11-15 | 1975-04-03 | Ibm | Data processing system |
US4293919A (en) * | 1979-08-13 | 1981-10-06 | International Business Machines Corporation | Level sensitive scan design (LSSD) system |
GB2070300B (en) * | 1980-02-27 | 1984-01-25 | Racal Automation Ltd | Electrical testing apparatus and methods |
DE3030299A1 (de) * | 1980-08-09 | 1982-04-08 | Ibm Deutschland Gmbh, 7000 Stuttgart | Schieberegister fuer pruef- und test-zwecke |
US4450560A (en) * | 1981-10-09 | 1984-05-22 | Teradyne, Inc. | Tester for LSI devices and memory devices |
-
1982
- 1982-10-22 US US06/436,162 patent/US4527249A/en not_active Expired - Lifetime
-
1983
- 1983-10-07 GB GB08326858A patent/GB2131211A/en not_active Withdrawn
- 1983-10-13 AU AU20145/83A patent/AU2014583A/en not_active Abandoned
- 1983-10-21 JP JP58196265A patent/JPS5995657A/ja active Pending
- 1983-10-21 DE DE19833338333 patent/DE3338333A1/de not_active Withdrawn
- 1983-10-21 FR FR8316833A patent/FR2535087A1/fr not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0021404A1 (fr) * | 1979-06-29 | 1981-01-07 | International Business Machines Corporation | Système de traitement de données pour la simulation d'opérations logiques |
Non-Patent Citations (3)
Title |
---|
CONFERENCE PROCEEDINGS, THE 9TH ANNUAL SYMPOSIUM ON COMPUTER ARCHITECTURE, Austin, Texas, 26-29 avril 1982, pages 26-29, IEEE, New York, US; M. ABRAMOVICI et al.: "A logic simulation machine" * |
ELECTRONICS INTERNATIONAL, vol. 55, no. 12, 16 juin 1982, pages 45-46, New York, US; R. LINEBACK: "Logic simulation speeded with new special hardware" * |
INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, Rome, 10-12 mai 1982, vol. 3, pages 1190-1193, IEEE; M.S. KNUDSEN: "A compact nine-valued logic simulation algorithm" * |
Also Published As
Publication number | Publication date |
---|---|
US4527249A (en) | 1985-07-02 |
GB8326858D0 (en) | 1983-11-09 |
GB2131211A (en) | 1984-06-13 |
JPS5995657A (ja) | 1984-06-01 |
DE3338333A1 (de) | 1984-04-26 |
AU2014583A (en) | 1984-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2535087A1 (fr) | Appareil de simulation logique | |
EP0642683B1 (fr) | Procede et plate-formes de test pour le developpement d'un circuit integre | |
EP1387305B1 (fr) | Procédé et systeme d'établissement automatique d'un modèle global de simulation d'une architecture | |
US6389558B1 (en) | Embedded logic analyzer for a programmable logic device | |
FR2841668A1 (fr) | Procede et systeme d'emulation d'un circuit sous test associe a un environnement de test | |
FR2557322A1 (fr) | Circuit integre a tres grande echelle subdivise en regions isochrones et procede pour le concevoir et le controler avec l'aide d'une machine | |
EP0104293A1 (fr) | Dispositif pour le chargement et la lecture de différentes chaînes de bascules dans un système de traitement de données | |
JP2022510600A (ja) | クラウドゲームのサービスとしてのテスト | |
CN107832275A (zh) | 区块链中智能合约标识的生成方法、装置及*** | |
FR2562288A1 (fr) | Calculateur numerique pour la mise en oeuvre d'un algorithme de simulation declenche par les evenements | |
EP0558125B1 (fr) | Processeur neuronal à cellules synaptiques reparties | |
EP0904547A1 (fr) | Systeme simulateur/emulateur a logique numerique | |
CN109558317A (zh) | 测试用例的处理方法及装置 | |
CN1573695A (zh) | 用于硬件仿真器的存储器反绕和重构 | |
CN108228957A (zh) | 加速门层级模拟的方法与设备 | |
EP2956874B1 (fr) | Dispositif et procédé pour accélérer la phase de mise à jour d'un noyau de simulation | |
EP0469507B1 (fr) | Circuit intégré comprenant une cellule standard, une cellule d'application et une cellule de test | |
EP1803061A1 (fr) | Systeme de processeur parallele reconfigurable, modulaire et hierarchique | |
Raaijmakers | Run-Time Partial Reconfiguration on the Virtex-II Pro | |
EP3087401B1 (fr) | Système de simulation et de test | |
EP0656591A1 (fr) | Simulateur de bus numérique intégré dans un système de test automatique | |
FR2498782A1 (fr) | Systeme de traitement de l'information | |
US7516481B2 (en) | Program development supporting apparatus, method, program and recording medium | |
BE1007163A6 (fr) | Conception et controle de systemes electroniques. | |
Lo et al. | Automatic systemc tlm generation for custom communication platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |