Sonar:通过Python编写测试平台

Varun Sharma, Naif Tarafdar, P. Chow
{"title":"Sonar:通过Python编写测试平台","authors":"Varun Sharma, Naif Tarafdar, P. Chow","doi":"10.1109/FCCM.2019.00052","DOIUrl":null,"url":null,"abstract":"Design verification is an important though time-consumingaspect of hardware design. A good testbench should supportperforming functional coverage of a design by making iteasy to implement tests and determine which tests are beingperformed. However, for complex designs, creating and main-taining effective testbenches can take increasing amounts oftime away from actual design. A further complication is theremay be two development flows: conventional hardware writtenin a hardware description language (HDL) such as Verilog orVHDL and high-level synthesis (HLS). In the HLS approach, the hardware is specified in a higher-level language (HLL) and then converted to an HDL through HLS tools. In thisflow, testbenches for the design are written in the same HLLand cosimulation is used to verify the generated HDL. Due totool restrictions, cosimulation may not always work. In VivadoHLS [1] for example, the design must contain control signalsto define when to start and stop the module or the initiationinterval for new data must be one cycle. Without cosimulation, the user must write an HDL testbench manually in additionto a testbench in the HLL for preliminary verification. Tosimplify writing testbenches, we present Sonar: an open-sourcePython library to write cross-language testbenches. From acommon source script, Sonar can generate testbenches writtenin SystemVerilog (SV) and C++. These files can then beimported into standard simulation tools such as ModelSim[2] or Vivado HLS and run. The use of Python makes iteasy to extend Sonar with higher layers of abstraction fortestbenches and integrate it with other software platforms.Sonar is available at https://github.com/UofT-HPRC/sonar.","PeriodicalId":116955,"journal":{"name":"2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Sonar: Writing Testbenches through Python\",\"authors\":\"Varun Sharma, Naif Tarafdar, P. Chow\",\"doi\":\"10.1109/FCCM.2019.00052\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Design verification is an important though time-consumingaspect of hardware design. A good testbench should supportperforming functional coverage of a design by making iteasy to implement tests and determine which tests are beingperformed. However, for complex designs, creating and main-taining effective testbenches can take increasing amounts oftime away from actual design. A further complication is theremay be two development flows: conventional hardware writtenin a hardware description language (HDL) such as Verilog orVHDL and high-level synthesis (HLS). In the HLS approach, the hardware is specified in a higher-level language (HLL) and then converted to an HDL through HLS tools. In thisflow, testbenches for the design are written in the same HLLand cosimulation is used to verify the generated HDL. Due totool restrictions, cosimulation may not always work. In VivadoHLS [1] for example, the design must contain control signalsto define when to start and stop the module or the initiationinterval for new data must be one cycle. Without cosimulation, the user must write an HDL testbench manually in additionto a testbench in the HLL for preliminary verification. Tosimplify writing testbenches, we present Sonar: an open-sourcePython library to write cross-language testbenches. From acommon source script, Sonar can generate testbenches writtenin SystemVerilog (SV) and C++. These files can then beimported into standard simulation tools such as ModelSim[2] or Vivado HLS and run. The use of Python makes iteasy to extend Sonar with higher layers of abstraction fortestbenches and integrate it with other software platforms.Sonar is available at https://github.com/UofT-HPRC/sonar.\",\"PeriodicalId\":116955,\"journal\":{\"name\":\"2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)\",\"volume\":\"21 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-04-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/FCCM.2019.00052\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FCCM.2019.00052","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

设计验证是硬件设计中一个重要但耗时的方面。一个好的测试平台应该通过使实现测试和确定执行哪些测试变得容易来支持执行设计的功能覆盖。然而,对于复杂的设计,创建和维护有效的测试台会占用越来越多的实际设计时间。更复杂的是可能存在两种开发流程:用硬件描述语言(HDL)(如Verilog或vhdl)编写的常规硬件和高级合成(HLS)。在HLS方法中,硬件用高级语言(HLL)指定,然后通过HLS工具转换为HDL。在此流程中,用相同的HDL编写设计的测试台架,并使用联合仿真来验证生成的HDL。由于工具的限制,联合模拟可能并不总是有效。例如,在VivadoHLS[1]中,设计必须包含控制信号来定义何时启动和停止模块,或者新数据的初始化间隔必须是一个周期。如果没有协同仿真,用户必须手动编写HDL测试台架,并在HDL中编写测试台架进行初步验证。为了简化编写测试平台,我们提供了Sonar:一个用于编写跨语言测试平台的开源python库。从一个通用的源脚本,Sonar可以生成用SystemVerilog (SV)和c++编写的测试平台。然后可以将这些文件导入标准仿真工具(如ModelSim[2]或Vivado HLS)并运行。使用Python可以很容易地扩展Sonar,为测试平台提供更高的抽象层,并将其与其他软件平台集成。Sonar可在https://github.com/UofT-HPRC/sonar上获得。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Sonar: Writing Testbenches through Python
Design verification is an important though time-consumingaspect of hardware design. A good testbench should supportperforming functional coverage of a design by making iteasy to implement tests and determine which tests are beingperformed. However, for complex designs, creating and main-taining effective testbenches can take increasing amounts oftime away from actual design. A further complication is theremay be two development flows: conventional hardware writtenin a hardware description language (HDL) such as Verilog orVHDL and high-level synthesis (HLS). In the HLS approach, the hardware is specified in a higher-level language (HLL) and then converted to an HDL through HLS tools. In thisflow, testbenches for the design are written in the same HLLand cosimulation is used to verify the generated HDL. Due totool restrictions, cosimulation may not always work. In VivadoHLS [1] for example, the design must contain control signalsto define when to start and stop the module or the initiationinterval for new data must be one cycle. Without cosimulation, the user must write an HDL testbench manually in additionto a testbench in the HLL for preliminary verification. Tosimplify writing testbenches, we present Sonar: an open-sourcePython library to write cross-language testbenches. From acommon source script, Sonar can generate testbenches writtenin SystemVerilog (SV) and C++. These files can then beimported into standard simulation tools such as ModelSim[2] or Vivado HLS and run. The use of Python makes iteasy to extend Sonar with higher layers of abstraction fortestbenches and integrate it with other software platforms.Sonar is available at https://github.com/UofT-HPRC/sonar.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信