Table of Contents Table of Contents
Previous Page  47 / 86 Next Page
Information
Show Menu
Previous Page 47 / 86 Next Page
Page Background

EDA/SW/T&M

SoC TESTING

47

- ELETTRONICA OGGI 468 - MARZO 2018

mostrato in figu-

ra 5. Notare che

questo vincolo è

identificato come

‘dynamic’; ciò si-

gnifica che esso

viene applicato

solo dopo esse-

re stato attivato

all’interno

del

grafo – in questo

caso, ciò avviene

quando si deci-

de di accedere a

un registro di tipo DMA. Sebbene questi vincoli siano

stati ora creati manualmente, essi potrebbero essere

agevolmente generati sulla base di una descrizione

dei registri espressa in una sintassi interpretabile da

un algoritmo, come ad esempio IP-XACT, SystemRDL

e così via.

Una volta integrato il grafo di accesso ai registri con

tutte le porzioni relative a DMA, UART e TCM, si ottiene

il grafo mostrato in figura 6. Questo può essere inter-

pretato come un diagramma di flusso; innanzitutto, si

decide a quale IP accedere, poi sulla base di tale sele-

zione si scende lungo un ramo del grafo e si effettuano

alcune scelte specifiche di quel ramo. Ad esempio, il

ramo presente sulla sinistra del grafo contiene deci-

sioni specifiche dell’accesso a DMA.

Indirizzamento dei test

È evidente che, se già il nostro piccolo SoC di esem-

pio possiede oltre 250 registri, un SoC reale ne pos-

siede una quantità enormemente maggiore. Si vorrà

garantire che il test acceda a tutti tali registri, e che

vi acceda in un qualche ordine di tipo casuale. Inoltre

si potrebbe desiderare di focalizzare maggiormente il

test – ad esempio, limitandolo ai registri della UART.

Lo strumento Questa inFact consente di utilizzare in

modo combinato i vincoli e gli obiettivi di copertura

del grafo per focalizzare l’attività sugli obiettivi di te-

sting desiderati. I vincoli specificano quali test posso-

no essere generati, mentre gli obiettivi di copertura

indirizzano le priorità espresse verso la generazione

sistematica di alcuni specifici test. Ad esempio, si

potrebbe utilizzare un vincolo per specificare che la

UART non è attualmente pronta per essere testata. Un

obiettivo di copertura potrebbe invece indicare che la

priorità di un certo test è costituita dal motore DMA,

sebbene anche le altre IP presenti debbano essere

sollecitate, ma solo dopo aver raggiunto l’obiettivo fis-

sato per il target primario.

L’obiettivo di copertura (l’area evidenziata con sfon-

do azzurro), mostrato in figura 7, indica che, per il test

corrente, l’attività di test dovrà focalizzarsi sui registri

DMA. A fronte di ciò, Questa inFact genererà dapprima

dei dati di test che accederanno sistematicamente ai

registri DMA in ordine pseudo-casuale e successiva-

mente genererà un mix di accessi a DMA, UART e TCM.

Mappatura verso l’ambiente UVM

La descrizione della procedura di testing per l’ac-

cesso ai registri che è stata fin qui creata è del tutto

indipendente da qualsiasi ambiente di verifica. Sarà

ora necessario inserire un po’ di logica ulteriore, che

consenta di collegare il grafo di test a uno specifico

ambiente in cui poter eseguire concretamente la ve-

Fig. 5 – Vincolo per la selezione dell’indi-

rizzo di un registro DMA

Fig. 6 – Semplice Grafo per l’accesso ai registri di un SoC

Fig. 7 – Obiettivo di copertura focalizzato sulla DMA