Source code for avl_riscv_coverage.coverage_packages._compression

import avl
from avl_riscv_coverage._coverage import COVERPACKAGES, CoverPackage
from avl_riscv_coverage._elf import EXTENSIONS
from avl_riscv_coverage._trace import Trace


[docs] class Compression(CoverPackage):
[docs] def __init__(self) -> None: super().__init__("Compression") self.compressed = False self.cg = avl.Covergroup("compression", None) cp = self.cg.add_coverpoint("compression", lambda: self.compressed) cp.add_bin("compressed", True) cp.add_bin("not compressed", False)
[docs] def sample(self, trace : Trace) -> None: self.compressed = trace.instr.encoding.size == 2 self.cg.sample()
if "C" in EXTENSIONS: COVERPACKAGES.append(Compression())