51
- ELETTRONICA OGGI 439 - SETTEMBRE 2014
espresso è il medesimo ossia l’accertamento che il
sistema funzioni, soddisfacendo i requisiti imposti sia
nelle condizioni di impiego prevedibili sia durante gli
imprevisti.
La tecnica più conosciuta in proposito si chiama Error
Seeding, o “semina degli errori”, e consiste nell’immet-
tere di proposito un’ampia varietà di errori noti per
osservare il comportamento del sistema e verificarne
la correttezza nelle condizioni di impiego più invero-
simili. Per questa verifica si usa il Fuzz Testing, o test
“bizzarro”, che consiste nell’imporre al sistema condi-
zioni di impiego concepite in modo casuale, facendo in
modo che vi sia qualche grado di libertà nell’algoritmo
che genera le sequenze di ingresso e nel controllo che
governa la polarizzazione dei circuiti. Solo così è pos-
sibile indurre il sistema a trovarsi in condizioni asso-
lutamente anomale, per valutarne il comportamento e
massimizzare la completezza dei test. Se si pensa che
la fase di verifica costituisce il 70%dei costi del ciclo di
sviluppo di ogni nuovo prodotto, è chiaro che ridurne i
tempi e massimizzarne l’efficacia può costituire un im-
portante vantaggio per qualsiasi costruttore.
Eliminare i conflitti
Coverity Code Advisor è una soluzione completa che
propone
Coverity
, una società del gruppo Synopsys
nata come spin-off del Computer Science Laboratory
della vicina Stanford University, e consente di analiz-
zare la qualità di un sistema per individuare i rischi
che possono essere sfuggiti ai test di verifica. È com-
posta dai tool Coverity Dynamic Analysis, Coverity
Architecture Analysis e Analysis Integration. Il primo
si occupa di cercare le task concorrenti ed elimina-
re i conflitti che possono insorgere se le condizioni
ambientali diventano critiche, individuando le cause
di conflitto più probabili e stimando quelle im-
probabili. Il secondo setaccia l’intera struttura
dei test per individuare dove possono esserci
dei difetti o delle procedure che per incuria del
progettista prediligono o discriminano alcune
particolari aree circuitali facendo in modo che
talune siano verificate con maggior accuratezza
mentre altre siano trascurate. Il terzo tool serve
a testare le funzionalità che hanno diramazioni
particolarmente intrecciate, per cui diventa ne-
cessitano seguirne l’evoluzione al cambiamento
delle condizioni al contorno, tenendo conto di
tutte le correlazioni possibili.
App componibili
Jasper Design Automation
è specializzata
nei tool di progetto EDA ed è stata acquisita la
primavera scorsa da
Cadence Design Systems
. La
piattaforma di verifica formale JasperGold è scalabile
e può essere utilizzata per la Assertion-Based Veri-
fication dei sistemi in tutti i loro aspetti dai front-end
di comunicazione alle memorie, dalle temporizzazioni
alle interfacce periferiche. Si tratta di una soluzione
che può essere composta secondo le esigenze di ve-
rifica scegliendo le Verification Apps più adatte a ogni
fase di test e, inoltre, può affiancarsi alla System De-
velopment Suite di Cadence per offrire al progettista
un insieme di strumenti in grado di ridurre il tempo e
i rischi della fase di verifica. Fra le App disponibili vi
sono la Formal Property Verification App, per la vali-
dazione delle funzionalità critiche, la Low Power Veri-
fication App, ottimizzata per i dispositivi a basso con-
TECHFOCUS
CODE COVERAGE ANALYSIS
Fig. 2 – Le Verification
Apps della piatta-
forma di verifica
JasperGold di Jasper
Design Automation
consentono di adat-
tare l’analisi della
completezza dei test
sulle caratteristiche
dei sistemi
Fig. 3 – I tool LDRA per la Code Coverage Analysis generano algoritmi di verifi-
ca automatizzati che valutano l’efficacia dei test sulla correttezza funzionale
dei sistemi