Presentation laddar. Vänta.

Presentation laddar. Vänta.

Testbänkens täckningsgrad Testbänkens täckningsgrad Analys av kodtäckningsverktyg Hur tas täckningsgraden fram? Vad är täckningsgrad? Kommersiella verktyg.

Liknande presentationer


En presentation över ämnet: "Testbänkens täckningsgrad Testbänkens täckningsgrad Analys av kodtäckningsverktyg Hur tas täckningsgraden fram? Vad är täckningsgrad? Kommersiella verktyg."— Presentationens avskrift:

1 Testbänkens täckningsgrad 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

2 Testbänkens täckningsgrad Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 2 case (a) when 1 => q <= 7; when 2 => q <= 10; … end case; if (a = 0) then … else … end if; ej exekverad kod

3 Simulering – 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-kod Analys av kodtäckningsverktyg 3

4 Täckningsanalys Andel testad kod Otestad kod Verifieringens kvalité Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg Grind nivå innan layout Simulering Grind nivå efter layout Syntes RT nivå Beteende nivå Simulering 4

5 Kodtä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-kod Analys av kodtäckningsverktyg 5

6 Verktyg Verktyg - två typer Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg instimuli simulator integrerat verktyg simulator fristående verktyg fristående verktyg 85 % 6

7 Verktyg 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-kod Analys av kodtäckningsverktyg 7

8 Verktyg 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-kod Analys av kodtäckningsverktyg 8

9 Analyskategorier Programsatstäckning a <= b + 1; Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 9

10 Analyskategorier Blocktäckning –Kodsekvens utan grenar –Första raden exekveras –Blocket exekveras Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 10

11 Analyskategorier Grentäckning –Visar vilka vägar som exekverats Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg if (a = 0) then … else … end if; case (a) when 1 => q <= 7; when 2 => q <= 10; … end case; 11

12 Analyskategorier 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-kod Analys av kodtäckningsverktyg a a1 f = b1 and c1 b = not d b = d or c b = c 0 1 0 1 12

13 Analyskategorier Villkorstäckning –Expanderar till booleska element –Tittar inuti Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg if (a or b) then … 01 10 00 ba 13 11

14 Analyskategorier 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-kod Analys av kodtäckningsverktyg abab 14

15 Analyskategorier 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-kod Analys av kodtäckningsverktyg process (a, b, c) … end process; 15

16 Analyskategorier 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-kod Analys av kodtäckningsverktyg 00 01 10 11 16

17 Analyskategorier Olika många Kan överlappa Valbara Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg Exempel på hur man kan välja analyskategori i Verisitys verktyg SureCov 17

18 Begrä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-kod Analys av kodtäckningsverktyg 18

19 Kommersiella verktyg Integrerade kodtäckningsverktyg –påverkar prestanda mindre.. –bekant miljö.. Fristående kodtäckningsverktyg –mer avancerade.. –konfigurerbara.. Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 19

20 Kommersiella verktyg 1. Integrerade kodtäckningsverktyg 2. Fristående kodtäckningsverktyg Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg Incisive Unified Simulator NC-Sim ModelSim VCS Scirocco SureCov VN-Cover HDL Score 20

21 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg Incisive Unified Simulator Incisive 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

22 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg NC-Sim NC-Sim (integrerad kodtäckning) Simulator Kodtäckning integrerad med kärnan 22

23 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg ModelSim ModelSim (integrerad kodtäckning) Simulator Resultat av kodtäckningsanalys: exeverade block täckning i procent täckning i staplar 23

24 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg VCS VCS (integrerad kodtäckning) Simulator (Verilog) OBC (Observed Coverage) Resultat av kodtäckningsanalys 24

25 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg Scirocco Scirocco (integrerad kodtäckning) Simulator (VHDL) Samma grafiska gränssnitt som VCS Analyskategori –programsatstäckning 25

26 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg SureCov SureCov (fristående verktyg) Koden färgas efter täckningsanalys. Definition av riktad täckning. Cadence Synopsys Avanti Model Technology Simucad 26

27 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg SureCov SureCov (fristående verktyg) Koden kopplad till tillståndsdiagram. 27

28 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg VN-Cover VN-Cover (fristående verktyg) Täckningsresultat uppdelat på analyskategorier. Alla ledande simulatorer 28

29 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg HDL Score HDL Score (fristående verktyg) Hierarkisk browser Välja bort ej testbar kod Färgkodning Tillståndsdiagram Stöder distrubierad teststimuli Cadence Synopsys Model Technology 29

30 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg Jämförelse av verktyg 30

31 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg Jämförelse av verktyg 31

32 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg Kodtäckningsanalys Simulering har svaga punkter Täckningsgrad Vägledning vid verifiering Begränsningar Verktyg 32


Ladda ner ppt "Testbänkens täckningsgrad Testbänkens täckningsgrad Analys av kodtäckningsverktyg Hur tas täckningsgraden fram? Vad är täckningsgrad? Kommersiella verktyg."

Liknande presentationer


Google-annonser