ITMI20002236A1 - Procedimento e dipositivo per l'analisi degli errori di circuiti logici digitali - Google Patents

Procedimento e dipositivo per l'analisi degli errori di circuiti logici digitali Download PDF

Info

Publication number
ITMI20002236A1
ITMI20002236A1 ITMI20002236A ITMI20002236A1 IT MI20002236 A1 ITMI20002236 A1 IT MI20002236A1 IT MI20002236 A ITMI20002236 A IT MI20002236A IT MI20002236 A1 ITMI20002236 A1 IT MI20002236A1
Authority
IT
Italy
Prior art keywords
circuit
states
register
shadow
logic circuit
Prior art date
Application number
Other languages
English (en)
Inventor
Peter Schwarz
Christoph Fritsch
Volker Lueck
Juergen Haufe
Original Assignee
Bosch Gmbh Robert
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
Application filed by Bosch Gmbh Robert filed Critical Bosch Gmbh Robert
Publication of ITMI20002236A1 publication Critical patent/ITMI20002236A1/it
Application granted granted Critical
Publication of IT1319009B1 publication Critical patent/IT1319009B1/it

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

D E S C R I Z I O N E
La presente invenzione si riferisce ad un procedimento e ad un dispositivo per l'analisi degli errori di circuiti logici digitali, in particolare a procedimenti e dispositivi utilizzanti una ricerca degli errori Hardware (Hardware Debugging), per consentire in tempo reale un rilevamento ed una analisi degli errori di un circuito logico digitale.
Nel campo della tecnica è nota una serie di procedimenti per l'Hardware Debugging, che si basano su differenti principi risolutivi. In un noto procedimento si osserva il comportamento Hardware di un circuito integrato utilizzando analizzatori logici od oscilloscopi collegati con spine di connessione reali del circuito integrato. Al riguardo le spine di connessione sono spine di connessione inutilizzate, che unicamente per scopi di analisi degli errori sono collegate con nodi interni del circuito integrato. In seguito al numero limitato di spine di connessione, non utilizzate come spine di connessione utili, con questa tecnica è possibile osservare soltanto un piccolo gruppo di segnali provenienti da nodi interni. Per aumentare il numero delle sonde possibili è noto il fatto di multiplare le spine di connessione o di impiegare sonde virtuali, laddove tuttavia ciò impedisce in maniera usuale una diagnosi degli errori in tempo reale.
Altri principi risolutivi utilizzando un intorno collegante l'Hardware con un Software al posto dell'analizzatore logico oppure dell'oscilloscopio, per osservare il DUT (DUT = Device undere Test = Elemento sotto esame). L'intorno Software, che si svolge su un computer, tramite un interfaccia di computer è collegato con il DUT, laddove in seguito all'interfaccia del computer piuttosto lento è impossibile usualmente un'analisi degli errori in tempo reale.
Un'ulteriore noto procedimento è un'analisi degli errori utilizzando speciali celle di entrata/uscita di un ASIC (Boundary Scan Cells), con cui possono essere equipaggiati FPGAs (FPGA = Field programmable Gate Array = circuito logico programmabile dall'utente). Su queste celle è possibile accedere in maniera usuale mediante un protocollo JTAG, laddove tuttavia non è possibile accedere a segnali su nodi interni del circuito.
Un'ulteriore classico procedimento di prova è l'impiego di un cosiddetto ramo Scan (Scan Path), che consente un'impostazione ed una lettura in uscita di tutti i registri, che sono interconnessi internamente al circuito in un ramo seriale. Anche qui si può impiegare il protocollo JTAG, laddove con l'accesso JTAG seriale non è possibile realizzare un campionamento di questi registri in tempo reale, senza che per questo si debba arrestare il funzionamento del DUT.
Un principio risolutivo di nuovo tipo per l'Hardware Debugging è noto dal Brevetto US 5 764 079, che illustra un PLD (PLD = Programmable Logic Device = modulo logico programmabile), fornente la capacità di osservare nodi interni, in quanto nodi interni sono dotati di elementi d'ombra consententi una lettura in uscita degli stati di nodi interni rispettivamente un caricamento di questi con determinati stati. Con la lettura in uscita dei nodi interni questi vengono accoppiati negli elementi d'ombra e resi disponibili tramite registri a scorrimento in corrispondenza di connessioni di entrata/uscita.
Il Brevetto US 5870 410 illustra un sistema di interfaccia ad esempio per PLDs, come quelli descritti nel Brevetto US 5 764 079. Il sistema di interfaccia deve servire non soltanto ad osservare gli stati di nodi interni ma a consentire inoltre la sollecitazione di nodi interni con vettori di prova per osservare gli errori.
I Brevetti US summenzionati forniscono in verità la possibilità di leggere in uscita gli stati di commutazione interni di un PLDs e pertanto di rilevare possibili stati di errore, e tuttavia con il rilevamento di un errore non consentono l'inseguimento a ritroso, per determinare la causa dell'errore. Per consentire una tale determinazione delle cause degli errori finora l'unica possibilità consisteva nell'effettuare una costosa simulazione di calcolatore partendo da uno stato iniziale dell'esercizio del circuito, ossia per così dire da un istante zero. Per tali simulazioni è presente un modello del circuito integrato da testare, ad esempio come lista di rete di circuiti logici, laddove il comportamento del circuito viene quindi simulato conformemente al Software, in quanto si utilizzano segnali di entrata definiti per la simulazione. Tuttavia una simulazione è estremamente dispendiosa in termini di tempo, specialmente quando la simulazione debba avvenire in un intervallo di tempo assai lungo.
La presente invenzione si pone il compito di realizzare un procedimento ed un dispositivo, che forniscono una possibilità di risparmio di tempo per analizzare determinati stati circuitali, verif icantesi in un circuito logico digitale, relativamente alle loro cause.
Questo problema viene risolto mediante un procedimento secondo la rivendicazione 1 nonché un dispositivo secondo la rivendicazione 9.
La presente invenzione realizza un procedimento per l'analisi degli errori di circuiti logici e digitali, che presentano una pluralità di nodi circuitali interni con associati registri di utilità, nei quali sono memorizzati stati circuitali dei nodi circuitali interni, che dipendono da segnali di entrata, laddove ad ogni registro di utilità è associato un registro d'ombra, tramite il quale è possibile leggere in uscita lo stato circuitale del registro di utilità. Il circuito logico viene fatto funzionare applicando segnali di entrata a questi, laddove i segnali di entrata applicati vengono protocollati. Durante il funzionamento del circuito logico gli stati circuitali dei nodi circuitali interni vengono letti in uscita ciclicamente tramite i registri d'ombra, laddove gli stati circuitali dei nodi circuitali interni del circuito logico vengono memorizzati per ogni ciclo, per produrre una storia degli stati circuitali. Al verificarsi di un evento prestabilito viene arrestato il funzionamento del circuito logico, dopo di che si verifica un ritorno nella storia degli stati circuitali in ragione di un numero prestabilito di cicli. In base agli stati circuitali memorizzati per il ciclo, verso il quale si è ritornati, nonché in base ai segnali di entrata protocollati viene successivamente effettuata una simulazione Software del funzionamento del circuito logico.
La presente invenzione pertanto si basa sul concetto che è possibile realizzare una ricerca delle cause degli errori, con risparmio di tempo, in quanto ciclicamente vengono letti in uscita tutti gli stati circuitali di nodi circuitali interni di un circuito logico digitale. Se compare un evento prestabilito, preferibilmente uno stato di errore del circuito logico digitale, viene arrestato l'esercizio del circuito logico e si ritorna di colpo nella storia degli stati circuitali, preferibilmente in misura tale che gli stati circuitali memorizzati per il ciclo, verso il quale si è ritornati, indicano un corretto funzionamento del circuito logico digitale. In tal modo è possibile iniziare una simulazione Software utilizzando il diagramma circuitale memorizzato per questo ciclo, laddove l'espressione diagramma circuitale indicherà gli stati circuitali, memorizzati per un ciclo, di tutti i nodi circuitali interni, e utilizzando i segnali di entrata protocollati, cosicché la simulazione Software non dovrà essere necessariamente iniziata quasi in un istante zero, ossia a partire da un'inizio di un funzionamento del circuito logico.
La simulazione Software viene effettuata a partire dal ciclo, verso il quale si è ritornati di colpo, sulla base degli stati circuitali interni memorizzati per questo stato e dei segnali di entrata protocollati applicati dopo questo ciclo. Pertanto secondo l'invenzione è possibile correlare un'Hardware Debugger con una simulazione Software, per far funzionare con risparmio di tempo una richiesta delle cause degli errori.
Un dispositivo per attuare il procedimento secondo l'invenzione comprende un registro d'ombra per ognuno di una pluralità di nodi circuitali interni di un circuito logico digitale, laddove ogni nodo circuitale interno presenta un registro di utilità, il cui stato circuitale, dipendente dai segnali di entrata, può essere letto in uscita tramite l'associato registro d'ombra. E' prevista una memoria per memorizzare una pluralità di diagrammi di stati circuitali nonché per memorizzare i segnali di entrata applicati. Inoltre il dispositivo comprende un comando collegato con il registro d'ombra e con la memoria, per memorizzare ciclicamente diagrammi di stati circuitali nella memoria. Infine è previsto un'interfaccia per trasmettere almeno un diagramma degli stati circuitali verso un calcolatore di simulazione Software.
I segnali di entrata protocollati possono essere rilevati tramite strutture Hardware specificamente previste allo scopo, possono essere parimenti memorizzati nella memoria e trasmessi al calcolatore di simulazione Software mediante il comando. Alternativamente i segnali di entrata protocollati ad esempio possono essere rilevati tramite un'analizzatore logico o similari ed essere trasmessi mediante questo direttamente al calcolatore di simulazione Software.
Secondo l'invenzione gli stati circuitali per ogni ciclo possono essere memorizzati preferibilmente in una memoria (RAM) che è eseguita di nuovo preferibilmente come una memoria ad anelli. In esempi di realizzazione preferiti della presente invenzione inoltre i registri d'ombra sono formati da memorie FIFO (FIFO = prima dentro, prima fuori) cosicché per ogni cadenza di lettura in uscita del registro d'ombra è possibile leggere in uscita un valore dai registri di utilità del circuito logico digitale ed è possibile metterlo a disposizione del comando, cosicché è possibile un'osservazione del circuito senza soluzione di continuità.
La presente invenzione realizza un Hardware Debugger, che ciclicamente legge in uscita gli stati circuitali di tutti i nodi interni di un circuito logico digitale, affinché con il rilevamento di un errore del circuito logico digitale, relativamente al quale può trattarsi di un qualsiasi circuito logico digitale, ad esempio di un PLD oppure di un FPGA o similari, sia possibile mettere a disposizione di un calcolatore di simulazione dati adatti consententi la determinazione del motivo per l'errore rispettivamente per l'avaria. Al riguardo l'Hardware Debugger consente un trattamento in tempo reale, ossia fa si che possa essere effettuato il rilevamento degli stati circuitali dei nodi circuitali interni nonché un'interruzione, mentre il circuito integrato, ossia il circuito logico digitale, e l'intorno di sistema dello stesso operano in tempo reale. Per soddisfare a questi requisiti di tempo reale è necessario che sia previsto un'Hardware Debugger.
L'Hardware Debugger impiegato per la presente invenzione è preferibilmente in grado di effettuare tre differenti modi, un modo di inseguimento, un modo di interruzione ed un modo di aggiornamento. Il modo di inseguimento consente il campionamento, indipendente dal funzionamento del circuito logico digitale, e la memorizzazione di tutti gli stati circuitali dei nodi circuitali interni nonché l'inseguimento continuo e la memorizzazione di tutti i segnali di entrata/uscita. Gli stati circuitali campionati descrivono il comportamento interno di un DUT, ad esempio durante un processo di produzione di prototipo oppure durante un In-System-Tests . I segnali di entrata/uscita descrivono i corrispondenti dati dell'intorno. I dati rilevati dello stato circuitale e del segnale di entrata servono quindi, come è stato illustrato in precedenza, alla successiva analisi della funzionalità circuitale, specialmente della ricostruzione di stati interni Hardware del DUT in un intorno di simulazione. Al riguardo ricostruzione significa che il modello di simulazione del DUT viene inizializzato con lo stato circuitale campionato di un istante selezionato. Come stimoli per la simulazione servono quindi dati campionati del segnale di entrata. Pertanto, come precedentemente illustrato, per un utente non è necessario "avvicinare per simulazione" il suo modello di simulazione, in modo lungo e complicato all'istante da considerare. E' necessario simulare in maniera dettagliata unicamente gli intervalli di tempo necessari per l'analisi. L'effetto è una drastica riduzione del tempo di simulazione necessario.
Il modo di interruzione viene seguito al verificarsi di determinate condizioni di interruzione, che sono stati del DUT liberamente specificabili. Al riguardo in primo luogo esistono condizioni di interruzione interne, che rappresentano uno stato circuitale interno attivante un'azione corrispondente, ad esempio un superamento aritmetico interno, e rappresentante pertanto uno stato di errore. Al riguardo possono essere preassegnate condizioni di interruzione esterne, per le quali all'esterno del DUT si ottiene uno stato attivante un'azione corrispondente, laddove questo stato ad esempio può essere condizionato da errati valori di uscita. Condizioni di interruzioni interne ed esterne vengono generate in generale mediante un 'Hardware supplementare. Inoltre è possibile provocare un'ulteriore interruzione dell 'Hardware Debugging mediante un intervento di utente, ad esempio una cessazione dell'Hardware Debugging. Le azioni effettuare al verificarsi di un'interruzione dipendono dal tipo di interruzione, laddove in generale il DUT viene arrestato e viene memorizzato lo stato circuitale. In dipendenza della gravità dell'interruzione verificatasi è possibile proseguire successivamente il funzionamento ed effettuare un ripristino. Il modo di interruzione può essere attivato parallelamente al modo di inseguimento.
Infine il modo di aggiornamento consente ad un utente di produrre stati circuitali interni definiti nel DUT. Pertanto è possibile provocare stati di esercizio dell'Hardware, senza che sia necessario portare 1'Hardware in questo stato mediante segnali di entrata. Questo modo può servire a testare effettivamente casi limite di stati di funzionamento oppure per poter impostare per scopi di test stati Hardware non di nuovo ricostruibili oppure ricostruibili solo con difficoltà.
Con Hardware Debugger, consentente i precedenti modi di esercizio, in esempi di realizzazione preferiti della presente invenzione è formato da un registro d'ombra per ogni nodo circuitale interno del DUT, da una memoria per memorizzare una pluralità di diagrammi di stati circuitali, che sono associati rispettivamente a determinati istanti, nonché da un comando consentente la memorizzazione ciclica dei diagrammi di stato circuitali e la lettura in uscita di questi verso un calcolatore di simulazione. Un tale Hardware Debugger consente di inseguire in tempo reale gli stati circuitali interni senza una reazione inavvertita sul DUT.
Inoltre l'Hardware Debugger senza tener conto di varianti circuitali specifiche tecnologiche può essere impiegato su tutte le usuali tecnologie circuitali. L'Hardware Debugger preferibilmente è comandabile tramite un calcolatore, laddove nel calcolatore hanno luogo il trattamento dei dati di inseguito e di aggiornamento nonché la descrizione delle condizioni di interruzione.
La simulazione effettuata dopo la comparsa di una condizione di interruzione sulla base degli stati circuitali, rilevati nel modo di inseguimento, e dei dati di entrata, avviene preferibilmente sulla base di un modello circuitale presente come lista di rete di circuiti logici. In tal modo viene a mancare la necessità di trasformare i dati, ricavati dall'Hardware Debugging, dal piano dei circuiti logici nel piano di trasferimento di registro.
Pertanto la presente invenzione consente un'analisi degli errori con risparmio di tempo, per trovare la causa di errori che compaiono in circuiti logici digitali. La presente invenzione consente di trovare cause di errore anche quando l'intorno del sistema fornisce differenti stimoli per ogni ripetizione di un procedimento per l'analisi degli errori Hardware. Conformemente alla presente invenzione l'utente infatti non dovrà ripetere in maniera incrementale un'analisi degli errori per circoscrivere la causa dell'errore, ma può realizzare la ricerca delle cause degli errori mediante il campionamento ciclico e la memorizzazione di tutti i dati rilevanti, durante la prima esecuzione, in cui compare l'errore, mediante una simulazione Software, che non dovrà avvenire necessariamente a partire dall'istante zero. I limiti di questo procedimento del campionamento ciclico dei dati rilevanti consistono unicamente nella limitata velocità di campionamento, che dipende dalla tecnologia, nonché in uno spazio di memoria, possibilmente limitato verso l'alto, per il gran numero di segnali in caso di grandi progetti di circuito logico rispettivamente lunghi cicli in tempo reale. In questo caso la presente invenzione consente di trovare la causa di un errore, che compare anche soltanto una volta, in quanto viene effettuata una simulazione Software sulla base di un diagramma degli stati circuitali memorizzato, che è stato registrato in un'istante immediatamente precedente la comparsa dell'errore. Pertanto l'utente non dovrà necessariamente sperare che ancora una volta compaia l'errore, il che in molti casi porta all'insuccesso in seguito alla mancante riproducibilità degli errori.
Esempi di realizzazione preferiti della presente invenzione vengono illustrati più dettagliatamente in seguito con riferimento ai disegni allegati.
In particolare:
la figura 1 mostra un diagramma schematico per illustrare la presente invenzione, le figure 2a fino a 2d mostrano rappresentazioni schematiche di differenti esempi di realizzazione di dispositivi per attuare il procedimento secondo l'invenzione, la figura 3 mostra una rappresentazione schematica di una cella di registro di utilità,
la figura 4 mostra una rappresentazione schematica di un nodo circuitale da una cella di registro di utilità, dotata di un registro d'ombra, conformemente alla presente invenzione,
la figura 5 mostra una tabella per illustrare il funzionamento del nodo circuitale mostrato in figura 4,
la figura 6 mostra una rappresentazione schematica per illustrare registri d'ombra, che sono connessi in una catena di campionamento oppure in una via di campionamento,
la figura 7 mostra una rappresentazione schematica per illustrare un esempio di realizzazione di una sezione circuitale per produrre una condizione di interruzione, la figura 8 mostra una rappresentazione schematica per illustrare un esempio di realizzazione preferito per spostare e leggere in uscita una catena di campionamento, e la figura 9 mostra una rappresentazione schematica di un nodo circuitale, in cui un registro di utilità è dotato di un registro d'ombra realizzato mediante una memoria FIFO.
Con riferimento alla figura l viene ora illustrato più dettagliatamente un esempio di realizzazione preferito del procedimento secondo l'invenzione per l'analisi degli errori. L'asse superiore rappresentato in figura 1 è un'asse di tempo reale, mentre l'asse inferiore è un tempo di simulazione virtuale. Secondo l'invenzione un DUT 2 viene fatto funzionare in tempo reale con applicazione di segnali di entrata 4, che possono rappresentare l'influenza di un intorno del sistema sul DUT 2. Durante il funzionamento del DUT 2, che può essere ad esempio un FPGA oppure un PLD, secondo l'invenzione gli stati circuitali di tutti i nodi circuitali interni del DUT 2 vengono letti ciclicamente in uscita mediante un'Hardware Debugger 6, il che è indicato mediante una freccia 8 in figura 1. L'Hardware Debugger 6 tramite un'interfaccia Debugger 9 è collegato con il DUT 2. Anche se l'Hardware Debugger 6 ed il DUT 2 in figura 1 sono rappresentati come separati mediante un'interfaccia 9, una parte dell'Hardware Debugger 6, e precisamente almeno il rispettivo registro d'ombra di questo, è contenuta nel circuito integrato rappresentante il DUT 2. Il funzionamento del circuito logico, ad esempio per attuare un test di prototipo oppure un In-System Test viene proseguito durante 1 'Hardware Debuggens, fino a quando in un istante t1 compare uno stato di errore 10 nel DUT 2. Questo stato di errore 10 rappresenta una condizione di interruzione.
Al comparire di una tale condizione di interruzione 10, sulla base degli stati circuitali letti ciclicamente in uscita mediante 1'Hardware Debugger 6, nonché sulla base dei segnali di entrata 4, applicati al DUT 2, viene effettuata una simulazione Software per ricercare la causa alla base dello stato di errore 10. La consegna dei dati summenzionati è rappresentata schematicamente in figura 1 mediante una freccia 12. A questo punto si osservi che gli svolgimenti del procedimento, rappresentati in figura 1 al di sopra della freccia 12, vanno considerati come un'intorno di tempo reale, mentre l'asse dei tempi rappresentato al di sotto della freccia 12 rappresenta un tempo di simulazione virtuale.
Come è riconoscibile in figura 1 per la simulazione, per trovare la causa dell'errore, dall'istante t1 si salta a ritroso in un istante t2 per iniziare la simulazione in questo istante t2. L'intervallo di salto a ritroso viene scelto di preferenza in modo tale che il diagramma di stato circuitale, memorizzato nell'istante t2, indica un regolare funzionamento del DUT. Di conseguenza si ottiene un'intervallo di simulazione Software 14 per l'analisi della causa dell'errore, che inizia nell'istante t2 . Pertanto secondo l'invenzione è possibile abbreviare considerevolmente il tempo necessario per il procedimento di analisi della causa dell'errore, che inizia dopo che è stato rilevato uno stato di errore 10. Come rappresentato schematicamente dalla freccia 12 i dati letti in uscita ciclicamente vengono impiegati per una successiva analisi del comportamento circuitale, laddove gli stati interni Hardware descrivono il comportamento interno del DUT 2, mentre i segnali di entrata 4 rappresentano i corrispondenti dati di intorno che portano al comportamento osservato.
A questo punto si osservi che l'intervallo per tornare indietro di colpo dall'istante t1 all'istante t2 è scelto preferibilmente in modo tale che è possibile partire con sicurezza dal fatto che il circuito ha operato correttamente fino all'istante t2. Per verificare ciò è possibile effettuare un controllo. Qualora da questo risultasse che nell'istante di ritorno il circuito non ha più operato correttamente, dopo il ritorno sull'istante t2 può aver luogo un'ulteriore ritorno temporale, per assicurarsi che all'inizio della simulazione Software il DUT ha operato regolarmente. La simulazione Software fornente l'analisi della causa dell'errore viene ottenuta preferibilmente utilizzando un intorno di simulazione per il modello di circuito logico, cosicché il modello di simulazione del DUT può essere inizializzato senz'altro con un complesso di dati rappresentati un diagramma dello stato circuitale campionato. Questo diagramma dello stato circuitale campionato è associato all'istante t2· Pertanto secondo l'invenzione la simulazione non dovrà iniziare nell'istante 0. Anzi la simulazione inizia nell'istante t2, in quanto il modello di simulazione viene inizializzato con il diagramma di stato circuitale letto in uscita in questo istante, ed in quanto i segnali di entrata campionati vengono impiegati come stimoli per la simulazione del piano di circuiti logici. Pertanto secondo l'invenzione a questo punto si dovrà simulare l'intervallo fra l'istante di inizializzazione t2 e l'istante dell'errore t1, il che fornisce un drastico risparmio di tempo rispetto a noti procedimenti di simulazione.
Inoltre secondo l'invenzione si preferisce che sia possibile preimpostare lo stato del DUT 2 tramite l'Hardware Debugger 6, senza che a tale scopo sia necessaria una sequenza di stimoli esterni. Ciò può essere realizzato mediante i registri d'ombra impiegati conformemente alla presente invenzione, specialmente per testare efficacemente condizioni di esercizio estreme oppure per impostare stati DUT a scopi di test, che possono essere raggiunti con difficoltà mediante stimoli esterni, ad esempio per verificare la capacità di macchine di stato di raggiungere da stati non consentiti stati consentiti in tempo finito.
Poiché ora in generale si è illustrato il procedimento secondo l'invenzione, in seguito vengono descritti esempi di realizzazione per dispositivi per attuare il procedimento secondo l'invenzione.
Nella figura 2 viene mostrato un primo esempio di realizzazione di un dispositivo secondo l'invenzione, laddove è rappresentato un DUT 2 che contiene componenti 20 dell'Hardware Debugger del dispositivo secondo l'invenzione. I componenti 20 si riferiscono ai componenti dell'Hardware Debugger disposti nel circuito integrato del DUT 2, e precisamente registri d'ombra e dispositivi opzionali per rilevare i segnali di entrata 4 da un'intorno 22 di sistema nonché dispositivi per rilevare i segnali di uscita dal DUT 2, ad esempio per determinare in base a ciò condizioni di interruzione. Gli elementi 20 interni al DUT dell 'Hardware Debugger tramite un'interfaccia 24 sono collegati con un comando 26 dell'Hardware Debugger, che comanda il funzionamento dell'Hardware Debugger e memorizza dati letti in uscita e rilevati, in una memoria 28, preferibilmente in una memoria RAM. Il comando Hardware-Debugger inoltre è collegato tramite un'interfaccia 30 con un computer 32, sul quale viene effettuata la simulazione Software sulla base dei dati forniti dal comando 26, laddove questi dati vengono forniti tramite l'interfaccia 30 al computer 32. Nell'esempio di realizzazione rappresentato in figura 2a il collegamento fra la parte interna DUT 20 del Debugger ed il comando 26, e precisamente l'interfaccia 24, rappresenta il collegamento critico in termini di tempo.
Nell'esempio di realizzazione rappresentato nella figura 2b il comando Hardware Debugger è suddiviso in due parti, un'elemento nucleo 36, situato nel circuito integrato 34 del DUT 2, ed un'elemento di comando 26' situato esternamente. In questo esempio di realizzazione il nucleo 36 della funzionalità del comando Debugger si trova nel circuito 34, in cui è realizzato anche il DUT 2, cosicché è possibile qui realizzare più corto il collegamento temporalmente critico, indicato con 38 in figura 2b, di modo che si ottengono più brevi tempi di trasmissione dei segnali, il che consente più alte frequenze di campionamento.
L'elemento nucleo Hardware Debugger rappresentato 36 è una macchina di stato indipendente dal DUT, per comandare la comunicazione fra il comando Debugger 26' e i componenti Debugger 20 interni al DUT. In particolare l'elemento nucleo Debugger dovrà controllare la trasmissione di dati verso gli elementi d'ombra, il rilevamento delle interruzioni ed un possibile intervento dell'utente tramite l'interfaccia Debugger 24' verso il comando Debugger 26'. La lettura dei registri d'ombra è temporalmente critica, laddove l'elemento nucleo 36 fornisce la cadenza di scorrimento per elementi d'ombra connessi come catena di scorrimento, e deve necessariamente leggere in uscita una oppure più catene a scorrimento. Il tempo necessario per questa azione definisce essenzialmente il periodo di campionamento. Pertanto la lettura in uscita di catene di registro d'ombra e la descrizione del RAM 28 sono organizzate così parallelamente come possibile preferibilmente come una struttura Pipeline. A differenza di ciò la descrizione dei registri d'ombra durante il modo di aggiornamento Debugger è meno critica temporalmente, poiché in questo modo il DUT in maniera usuale si trova in uno stato di attesa. Un'ulteriore vantaggio del disporre l'elemento nucleo 36 nel circuito integrato del DUT, sta nel fatto che esso consente di rilevare il più rapidamente possibile interruzioni interne. Alternativamente all'esempio di realizzazione rappresentato in figura 2a l'elemento nucleo 36 del comando Debugger può essere collegato con la RAM esterna 28 anche tramite un'interfaccia diretto.
L'esempio di realizzazione mostrato nella figura 2c si distingue da quello mostrato nella figura 2b, in quanto a questo punto l'intero comando Debugger 26 insieme alla RAM 28 è incorporato nel circuito integrato 34 del DUT 2. Questo esempio di realizzazione pertanto rappresenta una soluzione compatta per un test In System con la massima frequenza di campionamento. Tuttavia è svantaggioso un considerevole aggiuntivo dispendio circuitale e la superficie Chip, usata per la RAM, per il DUT. Inoltre al riguardo si osservi che la On-Chip-RAM 28, come è mostrato in figura 2c, in maniera usuale possiede una capacità di memoria minore rispetto ad una RAM esterna.
Nella figura 2d è rappresentata schematicamente una possibilità per sorvegliare continuamente il vettore di entrata relativo al DUT 2, ossia i segnali di entrata 4 verso questo, per rendere disponibili questi segnali di entrata ad un calcolatore da impiegare come stimolo per la simulazione. Per scopi da chiarire conformemente alla figura 2d il rilevamento dei segnali di entrata 4 avviene tramite un'analizzatore logico 40 collegato con le connessioni di entrata del DUT 2 nonché con il calcolatore 32. Si osservi tuttavia che i segnali di entrata verso il DUT 2 possono essere rilevati anche in altro modo, ad esempio mediante corrispondenti componenti Hardware nel circuito integrato del DUT, cosicché è possibile rilevare i segnali di entrata mediante il comando Debugger .
Con riferimento alle figure 3 fino a 5 ha ora luogo una descrizione di esempi di realizzazione preferiti dei componenti dell 'Hardware Debugger disposti nel circuito integrato del DUT.
Nella figura 3 è mostrato un registro di utilità 50 servente in un circuito logico digitale per definire uno stato circuitale di un nodo circuitale interno. Il registro di utilità 50 nell'esempio di realizzazione rappresentato è un D-Flip-Flop con un'entrata di dati 1D, con un'entrata di attivazione 1E ed un'entrata di ritmazione Cl.
All'entrata dei dati 1D è applicato un segnale di dato d, all'entrata di attivazione 1E è applicato un segnale di attivazione en, mentre all'entrata di ritmazione CI è applicata una cadenza di utilità clk. Il Flip-Flop 50 possiede un'uscita dei dati q ed un'uscita dei dati invertita qb.
La figura 4 mostra un nodo di sistema interno di un circuito logico digitale, in cui al registro di utilità interno 50 è associato un registro d'ombra 60, presentante di preferenza la stessa struttura del registro di utilità o dei dati 50. Il registro di utilità 50 ed il registro d'ombra 60 sono connessi tramite due demultiplatori 62, 64, un circuito logico AND 66 ed un circuito logico OR 68, in modo tale che è possibile un normale funzionamento del registro d'utilità 50, un campionamento del registro d'onda 60, un aggiornamento del contenuto del registro di utilità 50 tramite il registro d'ombra oppure un'assunzione del contenuto del registro di utilità 50 nel registro d'ombra 60.
A tale scopo un segnale di comando upd , indicante un modo di aggiornamento, è collegato con un'entrata del circuito logico OR 68 e con l'entrata di comando del demultiplatore 62. L'uscita del demultiplatore 62 è collegata con l'entrata dei dati 1D del registro di utilità. Ad un'entrata del demultiplatore 62 è applicato il segnale di entrata dei dati d, mentre l'altra entrata del demultiplatore 62 è collegata con l'uscita del registro d'ombra 60. La seconda entrata del circuito OR 68 è collegata con l'uscita del circuito AND 66, sulle cui entrate sono applicati il segnale di attivazione di registro dei dati en ed un segnale di attivazione del Chip del registro dei dati ce. All'entrata di ritmazione CI del registro di utilità 50 è applicato l'impulso ritmico di utilità clk. L'uscita del registro di utilità 50 è collegata con l'entrata del demultiplatore 64, mentre l'altra entrata del demultiplatore 64 è collegata con un'entrata del ramo Scan del registro d'ombra si. Il demultiplatore 64 viene comandato mediante un segnale del modo di lettura in uscita cpt, laddove l'uscita del demultiplatore 64 è collegata con l'entrata dei dati 1D del registro d'ombra 60. All'entrata di attivazione 1E del registro d'ombra 60 è applicato un segnale di attivazione del registro d'ombra se, mentre all'entrata di ritmazione CI di questo è applicato un segnale ritmico del registro d'ombra sclk. L'uscita del registro d'ombra 60 forma l'uscita di campionamento del registro d'onda, cosicché il registro d'ombra tramite l'entrata si e l'uscita so può essere commutato in un ramo Scan.
Relativamente alla modalità di funzionamento del circuito rappresentato in figura 1 si rimanda alla tabella mostrata in figura 5, in cui è rappresentato il rispettivo impegno delle entrate e delle uscite nei rispettivi modi di funzionamento.
Solo per chiarezza si menziona il fatto che durante il normale funzionamento del registro di utilità 50 il segnale di aggiornamento upd è inattivo, ossia è 0, cosicché tramite il demultiplatore 62 il segnale dei dati d è applicato all'entrata dei dati 1D del registro di utilità 50. Durante il modo di campionamento il segnale di lettore in uscita cpt è disattivo, ossia 0, cosicché il segnale sull'entrata del ramo Scan del registro d'ombra si è applicato all'entrata dei dati 1D del registro d'ombra 60. Nel modo di aggiornamento è attivo il segnale di aggiornamento upd, ossia 1, cosicché tramite il demultiplatore 62 il segnale di uscita del registro d'ombra 60 viene applicato all'entrata dei dati 1D del registro di utilità 50, cosicché il contenuto del registro d'ombra 60 può essere trasferito nel registro di utilità 50. Nel modo di lettura in uscita è attivo il segnale di uscita cpt, ossia 1, cosicché tramite il demultiplatore 64 il contenuto del registro di utilità 50 può essere assunto nel registro d'ombra 60.
Anche se in precedenza con riferimento alla figura 4 è rappresentato un esempio di realizzazione specifico per la connessione di registri di utilità e registri d'onda, è evidente che registri di utilità e registri d'ombra possono essere connessi in un modo differente, per fornire la funzionalità illustrata. Nello stesso modo il registro d'ombra non dovrà essere formato necessariamente mediante un elemento identico al registro dei dati, ma può essere un elemento di registro eseguito in modo differente .
Nella figura 6 è rappresentata la connessione di una pluralità di registri d'ombra, mostrati nella figura 4, in una via di campionamento per formare una catena a scorrimento. I contrassegni 100, 102, 104 e 106 in particolare indicano rispettivamente una struttura circuitale , che rappresenta un nodo circuitale interno di un circuito logico digitale. Al riguardo nelle figure 4 e 6 i segnali uguali sono dotati degli stessi contrassegni, laddove nella figura 6 unicamente il nodo circuitale sinistro più esterno è contrassegnato con i contrassegni della figura 4. Come è riconoscibile in figura 6 di volta in volta l'entrata del ramo Scan si di un rispettivo registro d'ombra è collegata con l'uscita del ramo Scan di un precedente registro d'ombra, in modo che è possibile leggere in uscita i registri d'ombra nella forma di una catena a scorrimento. I segnali clk, upd, ce, cpt, se ed sclk nel modo rappresentato possono essere applicati tramite linee in comune per realizzare una catena di campionamento.
Come è stato illustrato in precedenza con riferimento alla figura 1 secondo l'invenzione ha luogo una .simulazione Software al comparire di una condizione di interruzione. Al riguardo è possibile rilevare in modi diversi interruzioni. In primo luogo possono esistere complesse condizioni di interruzione, in cui ad esempio un diagramma di stato circuitale rilevato viene confrontata con un previsto preassegnato diagramma di stato circuitale, laddove in mancanza di corrispondenza si valuta la sussistenza di una condizione di interruzione. Inoltre si possono prevedere condizioni di interruzione su piani di circuiti logici che sono celle prestabilite, che vengono immesse automaticamente nella descrizione dei piani di circuito logico DUT. Al riguardo si sorvegliano soltanto singoli nodi o vettori, laddove è rappresentata una cella di interruzione esemplificativa per una tale sorveglianza in figura 7. Una linea 80 in particolare rappresenta un nodo da sorvegliare ed è collegata con un'entrata di un comparatore 82. Una seconda entrata del comparatore 82 è collegata con un dispositivo 84 fornente un valore comparativo. Il valore di riferimento o comparativo per il comparatore 82 può essere impostato tramite un distinto ramo Scan 86 delle celle di interruzione. Al riguardo un valore comparativo è valido sempre soltanto quando è impostato un singolo Bit di libero "enable" (figura 7). Pertanto l'utente può inserire e disinserire la funzionalità del comparatore. L'uscita del comparatore 82 ad esempio può essere il segnale di attivazione del Chip del registro dei dati ce, cosicché viene impostato il funzionamento normale del DUT, se dal raffronto nel comparatore 82 non risulta corrispondenza e pertanto si determina una condizione di interruzione.
Come è stato illustrato in precedenza la memorizzazione dei dati, ricevuti nel modo di inseguimento, ossia dei diagrammi di stato circuitale oppure opzionalmente aggiuntivamente dei segnali di entrata, in maniera usuale avviene in aree RAM esterne oppure interne. La grandezza delle aree RAM impiegate definisce il numero dei vettori di stato memorizzatili, ossia la profondità della storia degli stati circuitali prodotta. Per circuiti praticamente rilevanti, ossia per varie migliaia di Flip-Flop e per un Debugging in tempo reale nell'ordine dei secondi, è tecnicamente impossibile memorizzare temporaneamente tutti i vettori di stato comparsi. In esempi di realizzazione preferiti della presente invenzione pertanto la memoria RAM viene organizzata come una memoria tampone ad anello, in cui per una valutazione sono disponibili sempre gli ultimi n vettori di stato, cosicché si ottiene una profondità di storia pari ad n.
A differenza della lettura in uscita dei registri d'ombra l'inizializzazione del DUT con dati di aggiornamento non è temporalmente critica, cosicché i vettori di aggiornamento possono essere tenuti sul computer Host. Il vettore di volta in volta attuale quindi può essere caricato ad esempio tramite un'interfaccia JTAG direttamente nel DUT oppure opportunamente nella RAM, laddove successivamente in inversione rispetto al modo di inseguimento è possibile copiare le aree RAM nei corrispondenti registri. La grandezza RAM è in particolare non critica, poiché di volta in volta si dovrà memorizzare temporaneamente soltanto un vettore di aggiornamento.
Per quanto riguarda gli impulsi ritmici, con i quali vengono fatti funzionare i registri di utilità e i registri d'ombra (vedere clk ed sclk nella figura 4) si osservi che questi possono essere fatti funzionare con identico o differente impulso ritmico. Se i registri d'ombra vengono fatti funzionare con un impulso ritmico di frequenza più alta dei registri dei dati, allora è necessario che l'impulso ritmico sclk dei registri d'ombra presenti una frequenza superiore almeno di un triplo rispetto all'impulso ritmico clk dei registri dei dati. L'impiego di un tale impulso ritmico di registro d'ombra più alto è vantaggioso quando si impiegano lunghe catene a scorrimento. Alternativamente è possibile far funzionare sincronicaraente fra di loro sia registri di utilità sia anche registri d'ombra, il che viene realizzato preferibilmente con alte frequenze DUT. Al riguardo si osservi che è possibile compensare modeste frequenze di scorrimento mediante una parallelizzazione delle vie di campionamento.
La frequenza di campionamento per i vettori di stato nel modo di inseguimento viene limitata dalla lunghezza del vettore di stato e dalla lunghezza del ciclo di registrazione per la RAM di inseguimento. Per una frequenza di campionamento massima lo scorrimento dei registri d'ombra dovrà aver luogo nel senso di un trattamento Pipeline nell'ombra del ciclo Write, come rappresentato in figura 8, cosicché di volta in volta durante lo scorrimento di un successivo ciclo n+1 vengono registrati i dati per il ciclo precedente n. Pertanto non si ottiene un'ulteriore perdita di tempo. Per assicurare uno scorrimento sufficientemente rapido o dovrà essere corrispondentemente alta la frequenza di scorrimento oppure i registri d'ombra dovranno essere raggruppati in più gruppi di campionamento. Alternativamente è possibile realizzare i registri d'ombra mediante memorie FIFO, cosicché fra due punti di campionamento di volta in volta dovrà essere presente soltanto una distanza di ritmazione. In altre parole ciò significa che per ogni impulso ritmico del registro d'ombra sclk è possibile leggere in uscita un valore dal circuito e mettere a disposizione questo al comando Hardware Debugger, cosicché è possibile un'osservazione del circuito senza soluzione di continuità.
Un esempio di realizzazione di una realizzazione di tale tipo è mostrato nella figura 9, in cui elementi uguali a quelli in figura 4 sono dotate degli stessi contrassegni. In questo caso, per realizzare una profondità FIFO pari a 3, sono inseriti due registri FIFO 200 e 202, che vengono comandati ritmicamente mediante clk, fra l'uscita dei dati q del registro di utilità 50 e un'entrata del demultiplatore 64. I registri FIFO 200 e 202 vengono comandati tramite un segnale FIFO-cpt, ossia vengono attivati. Mediante i registri FIFO 200 e 202 è possibile, parallelamente alla lettura in uscita della catena a scorrimento, memorizzare temporaneamente già nuovi valori di campionamento dal registro di utilità. Questi valori di campionamento possono essere anche coerenti, laddove il numero massimo di valori di campionamento coerenti non può superare la profondità FIFO, nell'esempio di realizzazione non può superare 3. Ciò può essere assicurato mediante il congegno di comando nell'Hardware Debugger, ossia ad esempio,il comando 26 nella figura 2a. Di conseguenza è possibile impedire un supero della FIFO, che si verificherebbe tutte le volte in cui nella FIFO vengono registrati più valori di campionamento di quelli che possono essere letti in uscita dai registri d'ombra tramite la catena a scorrimento.
Come già menzionato in precedenza per l'analisi successiva del comportamento DUT per il Test Hardware è necessaria la registrazione di tutti i dati di entrata. Questi dati di entrata ad esempio possono essere registrati mediante convenzionali analizzatori logici oppure mediante speciale Hardware, laddove la rispettiva realizzazione dipenderà da tali fattori, come ad esempio la velocità di campionamento necessaria, la larghezza del vettore del segnale di entrata e la profondità History nonché dall 'Hardware commerciale disponibile.

Claims (11)

  1. RIVENDICAZIONI 1. Procedimento per l'analisi degli errori di circuiti logici digitali (2), che presentano una pluralità di nodi circuitali interni (100, 102, 104, 106) con associati registri di utilità (50), in cui sono memorizzati stati circuitali dei nodi circuitali interni (100-106), dipendenti da segnali di entrata (4), laddove ad ogni registro di utilità (50) è associato un registro d'ombra (60), tramite il quale può essere letto in uscita lo stato circuitale del registro di utilità (50), con le seguenti fasi: a) funzionamento del circuito logico (2) con applicazione di segnali di entrata (4) sullo stesso, e protocollo dei segnali di entrata applicati (4), b) lettura in uscita ciclica dei stati circuitali dei nodi circuitali interni (102-106) tramite i registri d'ombra (60) durante il funzionamento del circuito logico (2) e memorizzazione degli stati circuitali dei nodi circuitali interni (100-106) del circuito logico (2) per ogni ciclo per produrre una storia dello stato circuitale, c) al verificarsi di un evento prestabilito, arresto del funzionamento del circuito logico (2), ritorno di scatto nella storia degli stati circuitali in ragione di un numero prestabilito di cicli ed esecuzione di una simulazione Software (14) del funzionamento del circuito logico (2) utilizzando i segnali di entrata protocollati e gli stati circuitali memorizzati per il ciclo verso il quale si è ritornati di scatto.
  2. 2. Procedimento secondo la rivendicazione (1), in cui l'evento prestabilito è definito mediante prestabiliti stati circuitali dei nodi circuitali interni (100-106), indicanti un funzionamento non corretto del circuito logico (2).
  3. 3. Procedimento secondo la rivendicazione (2), in cui nella fase (c) si ritorna di scatto nella storia degli stati circuitali in ragione di un numero di cicli tale che gli stati circuitali, che sono stati memorizzati per il ciclo verso il quale si è ritornati di scatto, indicano un funzionamento corretto del circuito logico (2).
  4. 4. Procedimento secondo le rivendicazioni da (1) fino a (3), in cui gli stati circuitali per ogni ciclo vengono memorizzati in una memoria tampone ad anelli (28).
  5. 5. Procedimento secondo le rivendicazioni da (1) fino a (4), in cui prima del funzionamento del circuito logico (2) il circuito logico tramite i registri d'ombra (60) viene inizializzato su un prestabilito stato iniziale.
  6. 6. Procedimento secondo le rivendicazioni da (1) fino a (5), in cui di volta in volta una pluralità di registri d'ombra (60) sono connessi a formare una catena a scorrimento, che nella fase (b) viene letta in uscita ciclicamente.
  7. 7. Procedimento secondo le rivendicazioni da (1) fino a (6), in cui la lettura ciclica in uscita nella fase (b) avviene con una frequenza (sclk), che è indipendente dalla frequenza di ripetizione (clk) con cui viene fatto funzionare il circuito logico.
  8. 8 . Procedimento secondo le rivendicazioni da (1) fino a (7), in cui i registri d'ombra (60) sono formati mediante memorie FIFO.
  9. 9. Dispositivo per attuare un procedimento secondo le rivendicazioni da (1) fino a (8), con le seguenti caratteristiche: un registro d'ombra (60) per ognuno di una pluralità di nodi circuitali interni (100, 102, 104, 106), un circuito logico digitale (2), laddove ogni nodo circuitale interno (100-106) presenta un registro di utilità (50), il cui stato circuitale, dipendente da segnali di entrata (4), può essere letto in uscita tramite l'associato registro d'ombra (60) , una memoria (28) per memorizzare una pluralità di diagrammi degli stati circuitali, laddove ogni diagramma degli stati circuitali rappresenta gli stati circuitali dei nodi circuitali interni (100-106) in un istante prestabilito, un comando (26, 26', 36), che è collegato con i registri d'ombra (60) e con la memoria (28) per memorizzare ciclicamente diagrammi degli stati circuitali nella memoria (28), e un'interfaccia per trasmettere almeno un diagramma degli stati circuitali verso un calcolatore di simulazione Software.
  10. 10. Dispositivo secondo la rivendicazione (9), in cui i registri d'ombra sono formati mediante registri FIFO.
  11. 11. Dispositivo secondo la rivendicazione (9) oppure (10), in cui di volta in volta una pluralità di registri d'ombra (60) sono connessi a formare una catena a scorrimento leggibile in uscita ciclicamente mediante il comando (26, 26', 36).
ITMI20002236 1999-10-21 2000-10-17 Procedimento e dipositivo per l'analisi degli errori di circuitilogici digitali IT1319009B1 (it)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1999150838 DE19950838C2 (de) 1999-10-21 1999-10-21 Verfahren und Vorrichtung zur Fehleranalyse digitaler Logikschaltungen

Publications (2)

Publication Number Publication Date
ITMI20002236A1 true ITMI20002236A1 (it) 2002-04-17
IT1319009B1 IT1319009B1 (it) 2003-09-19

Family

ID=7926479

Family Applications (1)

Application Number Title Priority Date Filing Date
ITMI20002236 IT1319009B1 (it) 1999-10-21 2000-10-17 Procedimento e dipositivo per l'analisi degli errori di circuitilogici digitali

Country Status (4)

Country Link
CH (1) CH694927A5 (it)
DE (1) DE19950838C2 (it)
FR (1) FR2800169B1 (it)
IT (1) IT1319009B1 (it)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10119170A1 (de) * 2001-01-08 2005-04-07 Universität Leipzig Verfahren zur schnellen Fehleranalyse digitaler Schaltungen und Schaltungsanordnung zur Durchführung des Verfahrens
DE10136703C1 (de) * 2001-07-27 2003-04-17 Infineon Technologies Ag Logikvorrichtung zum Testen einer integrierten Schaltung
DE102004040196B3 (de) * 2004-08-19 2006-04-06 Siemens Ag Verfahren zum simultanen Verarbeiten von funktionalen Daten und Testdaten
EP1980964B1 (en) 2007-04-13 2016-03-23 Yogitech Spa Method and computer program product for performing failure mode and effects analysis of an integrated circuit
CN111413584B (zh) * 2020-03-19 2023-08-25 国网湖北省电力有限公司荆门供电公司 一种基于故障方向的配电网故障定位线性规划方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5383167A (en) * 1991-10-16 1995-01-17 Nextwave Design Automation Method and apparatus for histogram based digital circuit simulator
US5568380A (en) * 1993-08-30 1996-10-22 International Business Machines Corporation Shadow register file for instruction rollback
US5680583A (en) * 1994-02-16 1997-10-21 Arkos Design, Inc. Method and apparatus for a trace buffer in an emulation system
US5764079A (en) * 1996-03-11 1998-06-09 Altera Corporation Sample and load scheme for observability of internal nodes in a PLD
US5870410A (en) * 1996-04-29 1999-02-09 Altera Corporation Diagnostic interface system for programmable logic system development
US5822564A (en) * 1996-06-03 1998-10-13 Quickturn Design Systems, Inc. Checkpointing in an emulation system
US5771240A (en) * 1996-11-14 1998-06-23 Hewlett-Packard Company Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin

Also Published As

Publication number Publication date
CH694927A5 (de) 2005-09-15
DE19950838C2 (de) 2001-09-27
DE19950838A1 (de) 2001-06-07
FR2800169A1 (fr) 2001-04-27
IT1319009B1 (it) 2003-09-19
FR2800169B1 (fr) 2003-08-29

Similar Documents

Publication Publication Date Title
US6701491B1 (en) Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it
US5084874A (en) Enhanced test circuit
Ulrich et al. The concurrent simulation of nearly identical digital networks
Marlett EBT: A comprehensive test generation technique for highly sequential circuits
KR101592042B1 (ko) 스캔 체인을 분석하고, 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 방법
US8145964B2 (en) Scan test circuit and scan test control method
EP0358376A2 (en) Integrated test circuit
JPH07167914A (ja) 低い帯域幅の試験装置およびプローブステーションによりデジタルマイクロ回路のサンプルおよび正確なac試験を行う組込まれた試験回路
US20030101397A1 (en) IC test cell with memory output connected to input multiplexer
JP6544772B2 (ja) スキャンテスト用のテストモード制御信号を生成可能な集積回路
EP0358365A2 (en) Testing buffer/register
US7900106B2 (en) Accessing sequential data in a microcontroller
JPH11281716A (ja) 圧縮された一組の試験シ―ケンスを生成する方法
JP4966974B2 (ja) Icテスト方法及びその装置
JPH0548494B2 (it)
JPH0396881A (ja) 制御信号の生成方法および生成装置
US5809040A (en) Testable circuit configuration having a plurality of identical circuit blocks
CN114280454A (zh) 芯片测试方法、装置、芯片测试机及存储介质
ITMI20002236A1 (it) Procedimento e dipositivo per l'analisi degli errori di circuiti logici digitali
JPH0225155B2 (it)
KR100883392B1 (ko) 다양한 시리얼 버스 타입의 시뮬레이션, 에뮬레이션 및테스트를 위한 범용 방법
KR20020069468A (ko) 초대규모급 설계 검증을 위한 하드웨어적으로 구현된대규모 디지털 시스템과 시뮬레이션을 이용하는 디버깅장치 및 이를 이용한 디버깅 방법
US4682329A (en) Test system providing testing sites for logic circuits
CN108712165A (zh) 一种用于异步交互接口监测的管脚复用电路
JP2002288257A (ja) 消費電力評価方法および装置