An HDL Simulator with Direct Register Access for Improving Code Coverage

Ryoichi Isawa, Nobuyuki Kanaya, Yoshitada Fujiwara, T. Takehisa, Hayato Ushimaru, Dai Arisue, Daisuke Makita, Satoshi Mimura, D. Inoue
{"title":"An HDL Simulator with Direct Register Access for Improving Code Coverage","authors":"Ryoichi Isawa, Nobuyuki Kanaya, Yoshitada Fujiwara, T. Takehisa, Hayato Ushimaru, Dai Arisue, Daisuke Makita, Satoshi Mimura, D. Inoue","doi":"10.1109/AsiaJCIS57030.2022.00018","DOIUrl":null,"url":null,"abstract":"When debugging a DUT (Device Under Test) written in HDL (Hardware Description Language) code in simulation, code coverage is one of the most important evaluation metrics because it indicates how many unchecked statements remain where bugs could be hidden. A typical random test-pattern generator can be used very easily for debugging; however, it could fail to obtain enough code coverage of DUTs because it does not provide effective strategies for code coverage. In this paper, we propose an HDL simulator to improve branch coverage of DUTs up to 100%. A key idea behind our simulator is to directly write values to registers of DUTs for intentionally transfer a state to an unchecked state in the state machine of DUTs. This improves code coverage by executing statements corresponding to an unchecked state. Our simulator uses an SMT (Satisfiability Modulo Theories) solver to obtain the values written to registers from the condition (e.g., if and case) corresponding to an unchecked state. With the evaluation, we confirmed that our simulator successfully obtained a branch coverage of 100% for each of three open-sourced IP (Intellectual Property) core modules. As a bench mark, we also used a random test-pattern generator for those modules.","PeriodicalId":304383,"journal":{"name":"2022 17th Asia Joint Conference on Information Security (AsiaJCIS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 17th Asia Joint Conference on Information Security (AsiaJCIS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/AsiaJCIS57030.2022.00018","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

When debugging a DUT (Device Under Test) written in HDL (Hardware Description Language) code in simulation, code coverage is one of the most important evaluation metrics because it indicates how many unchecked statements remain where bugs could be hidden. A typical random test-pattern generator can be used very easily for debugging; however, it could fail to obtain enough code coverage of DUTs because it does not provide effective strategies for code coverage. In this paper, we propose an HDL simulator to improve branch coverage of DUTs up to 100%. A key idea behind our simulator is to directly write values to registers of DUTs for intentionally transfer a state to an unchecked state in the state machine of DUTs. This improves code coverage by executing statements corresponding to an unchecked state. Our simulator uses an SMT (Satisfiability Modulo Theories) solver to obtain the values written to registers from the condition (e.g., if and case) corresponding to an unchecked state. With the evaluation, we confirmed that our simulator successfully obtained a branch coverage of 100% for each of three open-sourced IP (Intellectual Property) core modules. As a bench mark, we also used a random test-pattern generator for those modules.
一个具有直接寄存器访问的HDL模拟器,用于提高代码覆盖率
在模拟中调试用HDL(硬件描述语言)代码编写的DUT(被测设备)时,代码覆盖率是最重要的评估指标之一,因为它表明有多少未检查的语句保留在可能隐藏bug的地方。一个典型的随机测试模式生成器可以很容易地用于调试;然而,它可能无法获得足够的dut代码覆盖,因为它没有为代码覆盖提供有效的策略。在本文中,我们提出了一个HDL模拟器,以提高dut的分支覆盖率高达100%。我们的模拟器背后的一个关键思想是直接将值写入dut的寄存器,以便有意地将状态转移到dut状态机中的未检查状态。这通过执行与未检查状态相对应的语句来提高代码覆盖率。我们的模拟器使用SMT(可满足模数理论)求解器从与未检查状态相对应的条件(例如,if和case)中获取写入寄存器的值。通过评估,我们确认我们的模拟器成功地为三个开源IP(知识产权)核心模块中的每个模块获得了100%的分支覆盖率。作为基准,我们还为这些模块使用了随机测试模式生成器。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信