{"title":"Infrastructure for formal and dynamic verification of peripheral programming model","authors":"W. S. Encinas, Francisco Araújo, H. Abrahim","doi":"10.1109/LATW.2016.7483364","DOIUrl":null,"url":null,"abstract":"Programming model is the abstraction of the operation of a digital peripheral, defining how the masters of the peripheral bus(es) (system processors, DMA engines, etc.) control and supervise the peripheral. It is typically implemented as a bank of registers, mapped into the bus address space and composed of bit-fields with distinct access policies. Due to its relevance and universality, a solution to automate the functional verification of its implementation is described in this paper. It is a non-proprietary solution based on industry standards, comprising a library with key properties for register banks and a method to automatically instantiate these properties for a particular peripheral, according to a register bank description database. This infrastructure is intended to be used both in static (exhaustive) and dynamic functional verification and not to be limited to functional verification of register banks. Examples on how to leverage this infrastructure for formal and simulation-based verification of other peripheral functionalities are presented. The conclusion describes our experiences using this solution, its limitations and future work.","PeriodicalId":135851,"journal":{"name":"2016 17th Latin-American Test Symposium (LATS)","volume":"290 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 17th Latin-American Test Symposium (LATS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/LATW.2016.7483364","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Programming model is the abstraction of the operation of a digital peripheral, defining how the masters of the peripheral bus(es) (system processors, DMA engines, etc.) control and supervise the peripheral. It is typically implemented as a bank of registers, mapped into the bus address space and composed of bit-fields with distinct access policies. Due to its relevance and universality, a solution to automate the functional verification of its implementation is described in this paper. It is a non-proprietary solution based on industry standards, comprising a library with key properties for register banks and a method to automatically instantiate these properties for a particular peripheral, according to a register bank description database. This infrastructure is intended to be used both in static (exhaustive) and dynamic functional verification and not to be limited to functional verification of register banks. Examples on how to leverage this infrastructure for formal and simulation-based verification of other peripheral functionalities are presented. The conclusion describes our experiences using this solution, its limitations and future work.