testbänkens täckningsgrad analys av kodtäckningsverktyg
DESCRIPTION
Testbänkens täckningsgrad Analys av kodtäckningsverktyg. Hur tas täckningsgraden fram? Vad är täckningsgrad? Kommersiella verktyg. Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg. 1. Testbänkens täckningsgrad. case (a) when 1 => q qTRANSCRIPT
![Page 1: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/1.jpg)
Testbänkens täckningsgradTestbänkens täckningsgradAnalys av kodtäckningsverktyg
Hur tas täckningsgraden fram? Vad är täckningsgrad? Kommersiella verktyg
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg1
![Page 2: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/2.jpg)
Testbänkens täckningsgradTestbänkens täckningsgrad
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg2
case (a) when 1 =>
q <= 7;when 2 =>
q <= 10;…
end case;
if (a = 0) then…
else …
end if;
ej exekverad kod
![Page 3: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/3.jpg)
Simulering – svaga punkterSimulering – svaga punkter
Tidskrävande– 80 % av utvecklingstiden
Ingen garanti– Kan finnas buggar kvar
Subjektiv bedömning– Konstruktörens erfarenhet avgör
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg3
![Page 4: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/4.jpg)
TäckningsanalysTäckningsanalys
Andel testad kod Otestad kod
Verifieringens kvalité
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
Grind nivå innan layoutGrind nivå innan layout
SimuleringSimulering
Grind nivå efter layoutGrind nivå efter layout
SyntesSyntes
RT nivåRT nivå
Beteende nivåBeteende nivå
SimuleringSimulering
SimuleringSimulering
SimuleringSimulering
4
![Page 5: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/5.jpg)
KodtäckningsanalysKodtäckningsanalys
Minskar verifieringstiden– Man vet när man ska sluta testa
Garanti– Kan garantera att koden har exekverats
Objektivt mått– Siffra på hur stor del av koden som testats
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg5
![Page 6: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/6.jpg)
Verktyg Verktyg - två typer
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
instimuliinstimuli
simulatorsimulatorintegreratverktyg
simulatorsimulator
friståendeverktyg
friståendeverktyg
85 %85 %
6
![Page 7: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/7.jpg)
VerktygVerktyg
Vägledning vid verifieringsproblem– Minimera testbänken– Upptäcka redundans i teststimuli– Komplettera produkttestning– Kontrollera parallellitet– Verifiera fsm– Komponent i bibliotek
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg7
![Page 8: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/8.jpg)
VerktygVerktyg
Påverkar prestanda (ca 5 %) Overhead och minne
– Kodens kvalité– Kodens ”stil”– Verktygets omfattning– Verktygets integrering
• Simulator• Gränssnitt
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg8
![Page 9: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/9.jpg)
AnalyskategorierAnalyskategorier
Programsatstäckning
a <= b + 1;
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg9
![Page 10: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/10.jpg)
AnalyskategorierAnalyskategorier
Blocktäckning– Kodsekvens utan grenar– Första raden exekveras
– Blocket exekveras
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg10
![Page 11: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/11.jpg)
AnalyskategorierAnalyskategorier
Grentäckning– Visar vilka vägar som exekverats
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
if (a = 0) then…
else …
end if;
case (a) when 1 =>
q <= 7;when 2 =>
q <= 10;…
end case;
11
![Page 12: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/12.jpg)
AnalyskategorierAnalyskategorier
Vägtäckning– Mäter hur stor procent
av alla möjliga vägar genom en kod som exkeverats
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
a
a1
f = b1 and c1
b = not d
b = d or c b = c
0
1
0
1
12
![Page 13: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/13.jpg)
AnalyskategorierAnalyskategorier
Villkorstäckning– Expanderar till
booleska element– Tittar inuti
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
if (a or b) then…
0
1
10
00
ba
13
1 1
![Page 14: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/14.jpg)
AnalyskategorierAnalyskategorier
Växlingstäckning– Mäter om enstaka bitar växlat mellan 0 och 1– Mäter hur många gånger
Variabeltäckning– Samma sak fast grupperade bitar
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
ab
14
![Page 15: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/15.jpg)
AnalyskategorierAnalyskategorier
Triggningstäckning– Kontrollerar signaler i sensitivity-list
Triggertäckning– Räknar hur många gånger en process har
triggats
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
process (a, b, c)
…
end process;
15
![Page 16: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/16.jpg)
AnalyskategorierAnalyskategorier
Kodtäckning i fsm– Besökta tillstånd– Tillståndsövergångar– Villkor som kontrollerar tillståndsövergångar– Sekvens av tillstånd
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
00 01
1011
16
![Page 17: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/17.jpg)
AnalyskategorierAnalyskategorier
Olika många Kan överlappa Valbara
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
Exempel på hur man kan välja analyskategori i Verisitys verktyg
SureCov
17
![Page 18: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/18.jpg)
BegränsningarBegränsningar
Garanterar inte verifiering Detekterar inte buggar Upptäcker inte om det fattas kod 100 % täckningsgrad? Kräver testplan
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg18
![Page 19: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/19.jpg)
Kommersiella verktygKommersiella verktyg
Integrerade kodtäckningsverktyg– påverkar prestanda mindre..– bekant miljö..
Fristående kodtäckningsverktyg– mer avancerade..– konfigurerbara..
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg19
![Page 20: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/20.jpg)
Kommersiella verktygKommersiella verktyg
1. Integrerade kodtäckningsverktyg
2. Fristående kodtäckningsverktyg
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
Incisive Unified SimulatorNC-Sim
ModelSim VCSScirocco
SureCov VN-CoverHDL Score
20
![Page 21: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/21.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
Incisive Unified SimulatorIncisive Unified Simulator(integrerad kodtäcknig)
Lanserad i mars 2003 Analyskategorier:
– Programsatstäckning– Vägtäckning– Villkorstäckning– Variabletäckning– Blocktäckning– Täckning i fsm
21
![Page 22: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/22.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
NC-SimNC-Sim(integrerad kodtäckning)
Simulator Kodtäckning integrerad med kärnan
22
![Page 23: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/23.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
ModelSimModelSim(integrerad kodtäckning)
Simulator Resultat av kodtäckningsanalys:
exeverade block täckning i procent
täckning i staplar
23
![Page 24: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/24.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
VCSVCS(integrerad kodtäckning)
Simulator (Verilog) OBC (Observed Coverage)
Resultat av kodtäckningsanalys
24
![Page 25: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/25.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
SciroccoScirocco(integrerad kodtäckning)
Simulator (VHDL) Samma grafiska gränssnitt som VCS Analyskategori
– programsatstäckning
25
![Page 26: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/26.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
SureCovSureCov(fristående verktyg)
Koden färgas efter täckningsanalys.
Definition av riktad täckning.
CadenceSynopsysAvantiModel TechnologySimucad
26
![Page 27: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/27.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
SureCovSureCov(fristående verktyg)
Koden kopplad till tillståndsdiagram.
27
![Page 28: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/28.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
VN-CoverVN-Cover(fristående verktyg)
Täckningsresultat uppdelat på analyskategorier.
Alla ledande simulatorer
28
![Page 29: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/29.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
HDL ScoreHDL Score(fristående verktyg)
Hierarkisk browser Välja bort ej testbar kod Färgkodning Tillståndsdiagram Stöder distrubierad teststimuli
CadenceSynopsysModel Technology
29
![Page 30: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/30.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
Jämförelse av verktygJämförelse av verktyg
Leverantör Cadence Mentor Graphics Synopsys Verisity TransEDASummitDesign
Verktyg Incisive NC-VHDLModelSim
SEModelSim
PEScirocco VCS SureCov VN-Cover HDL Score
Typ av verktygPlattform/simulator
Simulator Simulator Simulator Simulator Simulator Fristående Fristående Fristående
Produktinformation
Listpris licens/år(från)
$27 000 $9 996 $19 000 $4 495 $20 250 $20 250 $15 000 $20 000 $15 000
Programsats-täckning
x x x x x x x
Grentäckning x x x xVägtäckning x x x x xVillkorstäckning x x x x x xVäxlingstäckning x x x x x xVariabeltäckning xTriggningstäckning xTriggertäckningHändelsetäckning xBlocktäckning x x x xTracetäckning x
Kodtäcknigskategorier
Täckning itillståndsmaskin
x x x x x x
VHDL x x x x x x xVerilog x x x x x x x x
Språk
SystemC *
30
![Page 31: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/31.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
Jämförelse av verktygJämförelse av verktygLeverantör Cadence Mentor Graphics Synopsys Verisity TransEDA
SummitDesign
Verktyg Incisive NC-VHDLModelSim
SEModelSim
PEScirocco VCS SureCov VN-Cover HDL Score
Typ av verktygPlattform/simulator
Simulator Simulator Simulator Simulator Simulator Fristående Fristående Fristående
Produktinformation
Listpris licens/år(från)
$27 000 $9 996 $19 000 $4 495 $20 250 $20 250 $15 000 $20 000 $15 000
Sun Solaris x x x x x x x x
HP-UX x x x x x x x x
Linux x x x x x x x x
Windows NT x x x x x x x
Windows 98/2000 x x x x
IBM AIX x x
SGI x
OSF/1 x
Plattformar
Iris x
Fördel 1 Snabb Integreradmedsimulatornskärna
Integreradmedsimulatornskärna
Integreradmedsimulatornskärna
Integreradmedsimulatorn
Integreradmedsimulatorn
Inbyggdfunktion föratt ökaprestanda
Kan integ-reras medalla ledan-de simula-torer
Stöderdistribueradteststimuli/miljö
Fördel 2 Tillgång tillaccelerator
Påverkarprestandaminimalt
Sammamiljö -bekantmiljö
Sammamiljö -bekantmiljö
Påverkarprestandaminimalt
Påverkarprestandaminimalt
Extrakonfigurer-bar rapport
Mångaanlalys-kategorier
Lätt attintegrera iverifierings-processen
Fördel 3 Integrerasmed andraleverantör-ers verktyg
Integrerasmed andraleverantör-ers verktyg
Lättanvänd Intuitivtäckning itillstånds-maskin
Lättanvänd Lätt attintegrera iverifierings-processen
Fördelarenligtleverantör
Fördel 4 Priset Priset OBC
31
![Page 32: Testbänkens täckningsgrad Analys av kodtäckningsverktyg](https://reader035.vdocuments.mx/reader035/viewer/2022062314/568135fa550346895d9d6ad9/html5/thumbnails/32.jpg)
Testbänkens täckningsgrad av HDL-kodAnalys av kodtäckningsverktyg
KodtäckningsanalysKodtäckningsanalys
Simulering har svaga punkter Täckningsgrad Vägledning vid verifiering Begränsningar Verktyg
32