2017-06-18 3 views
2

Ich bin nur ein Anfänger in SystemVerilog und jetzt lese ich über Berichterstattung. Ich habe also Zweifel daran. Wie kann ich die Coverpoint-Bins schreiben, um alle Bits eines Signals abzudecken?Coverpoint-Bins, um alle Bits abzudecken

interface allSignals; 
     logic [31:0] addr; 
     logic [15:0] len; 
     bit trigger; 

    covegroup [email protected]; 

     coverpoint addr; //This generates bins automatically(64 bins by 
          default) with each bin containing 2^32/64 values 

     coverpoint addr[0]; //each coverpoint covers 2 bins and 50% coverage 
     coverpoint addr[1]; //is shown even if the value is not covered in 
       ...   //that bin 
       ... 
     coverpoint addr[31]; 

     coverpoint addr{ 
      bins a0[] = {[0:5000]};  //should write 2^32 values which is 
      bins a1[] = {[5001:10000]}; //very complex 
       ... 
       ... 
      } 

     ad: coverpoint addr{ 
       bins a[100] = ad; //creates 100 bins with 2^32/100 values in 
       }     //each bin 

    endgroup 

     signalOne cvr1 = new; 

    endinterface 

Wie kann ich schreiben eine Coverpoint, die die 32-Bits von „addr“ alle Signal abdeckt. Gibt es einen anderen besseren Weg, dies zu tun?

+0

Was bedeutet "deckt alle 32 Bits" ab? Dass jeder eins/null war? –

Antwort

1

Sie werden keine funktionale Abdeckung einer 32-Bit-Adresse sammeln, indem Sie versuchen, auf 2 ** 32 Adressen zuzugreifen. In einer echten Hardware mit einem 70ns Zugriffsspeicher würde es 5 Minuten dauern. Angesichts der Tatsache, dass Software-Simulation in der Regel 10000 mal langsamer ist, würde das einen Monat dauern.

Was die meisten Menschen tun ist für Übergänge auf jedem Bit von 0 bis 1 und 1 bis 0 suchen. Das ist Toggle Abdeckung. Obwohl es possible to model toggle coverage mit einem covergroup ist, haben die meisten Werkzeuge eingebaute Analysefunktionen, um dies für Sie zu tun. Sie müssen das Benutzerhandbuch Ihres Simulationstools überprüfen.

Wenn Sie den gesamten 4-GB-Adressraum wirklich gründlich testen müssen, müssen Sie möglicherweise formal tools für diese Aufgabe untersuchen statt Simulation.

Verwandte Themen