1 / 32

Testbänkens täckningsgrad Analys av kodtäckningsverktyg

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 <= 7; when 2 => q <= 10;

Download Presentation

Testbänkens täckningsgrad Analys av kodtäckningsverktyg

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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é Beteende nivå Simulering RT nivå Simulering Syntes Grind nivå innan layout Simulering Grind nivå efter layout Simulering Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 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 - två typer simulator integrerat verktyg instimuli 85 % simulator fristående verktyg Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 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 case (a) when 1 => q <= 7; when 2 => q <= 10; … end case; if (a = 0) then … else … end if; Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 11

  12. Analyskategorier 0 a 1 • Vägtäckning • Mäter hur stor procent av alla möjliga vägar genom en kod som exkeverats b = d or c b = c 0 a1 1 f = b1 and c1 b = not d Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 12

  13. Analyskategorier • Villkorstäckning • Expanderar till booleska element • Tittar inuti a b 0 0 0 1 if (a or b) then … 1 0 1 1 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 13

  14. a b 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 14

  15. Analyskategorier • Triggningstäckning • Kontrollerar signaler i sensitivity-list • Triggertäckning • Räknar hur många gånger en process har triggats process (a, b, c) … end process; Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 15

  16. Analyskategorier 01 00 • Kodtäckning i fsm • Besökta tillstånd • Tillståndsövergångar • Villkor som kontrollerar tillståndsövergångar • Sekvens av tillstånd 10 11 Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 16

  17. Analyskategorier • Olika många • Kan överlappa • Valbara Exempel på hur man kan välja analyskategori i Verisitys verktyg SureCov Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 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 • Integrerade kodtäckningsverktyg • Fristående kodtäckningsverktyg ModelSim Incisive Unified Simulator NC-Sim VCS Scirocco VN-Cover SureCov HDL Score Testbänkens täckningsgrad av HDL-kod Analys av kodtäckningsverktyg 20

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

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

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

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

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

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

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

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

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

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

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

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

More Related