{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,20]],"date-time":"2026-03-20T08:58:14Z","timestamp":1773997094788,"version":"3.50.1"},"reference-count":40,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2025,1,10]],"date-time":"2025-01-10T00:00:00Z","timestamp":1736467200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"crossref","award":["62472062, 62202079"],"award-info":[{"award-number":["62472062, 62202079"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Dalian Science and technology Innovation Fund project","award":["2024JJ12GX022"],"award-info":[{"award-number":["2024JJ12GX022"]}]},{"name":"Dalian Excellent Young Project","award":["2022RY35"],"award-info":[{"award-number":["2022RY35"]}]},{"DOI":"10.13039\/501100012226","name":"Fundamental Research Funds for the Central Universities","doi-asserted-by":"crossref","award":["3132024257"],"award-info":[{"award-number":["3132024257"]}],"id":[{"id":"10.13039\/501100012226","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2025,3,31]]},"abstract":"<jats:p>Field-Programmable Gate Array (FPGA) timing simulation is essential in electronic circuit design, allowing for the verification of timing characteristics like delays and clock frequencies. However, bugs in timing simulation tools can lead to inaccurate results, potentially causing designers to miss critical issues in chip performance. Traditional testing methods often fall short in thoroughly assessing these tools, as current FPGA testing primarily focuses on synthesis and behavioral simulation, neglecting timing aspects. To address this issue, we propose SIMTAM for testing timing simulation tools. Specifically, SIMTAM consists of three components: equivalent delay region construction, diversity program segment generation, and differential testing. Given a seed circuit design file written by hardware description language such as Verilog, the delay region construction component randomly identifies delay structures for inertial delay in the design file to construct equivalent delay sleep regions. In the sleep region, the simulator skips the signal pulse whose width is less than the specified delay, thus ensuring the equivalence of the variations. The diversity program segment generation component combines Verilog expressions using generation operators and injects them into the sleep region to generate diverse design files. The differential testing component compares the seed and variant design files to find compilation inconsistency issues. In 5 months, SIMTAM reported 16 bugs to developers in two popular timing simulation tools, Iverilog and Vivado, 10 of which are confirmed.<\/jats:p>","DOI":"10.1145\/3705730","type":"journal-article","created":{"date-parts":[[2024,11,23]],"date-time":"2024-11-23T10:13:02Z","timestamp":1732356782000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["SIMTAM: Generation Diversity Test Programs for FPGA Simulation Tools Testing Via Timing Area Mutation"],"prefix":"10.1145","volume":"30","author":[{"ORCID":"https:\/\/orcid.org\/0009-0008-2188-207X","authenticated-orcid":false,"given":"Zhihao","family":"Xu","sequence":"first","affiliation":[{"name":"Dalian Maritime University, Dalian, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8554-6365","authenticated-orcid":false,"given":"Shikai","family":"Guo","sequence":"additional","affiliation":[{"name":"Dalian Maritime University, Dalian, China and the Key Laboratory of Artificial Intelligence of Dalian, Dalian China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5068-1938","authenticated-orcid":false,"given":"Xiaochen","family":"Li","sequence":"additional","affiliation":[{"name":"Dalian University of Technology, Dalian, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0006-1478-5963","authenticated-orcid":false,"given":"Zun","family":"Wang","sequence":"additional","affiliation":[{"name":"School of Software, Dalian University of Technology, Dalian, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8674-4948","authenticated-orcid":false,"given":"He","family":"Jiang","sequence":"additional","affiliation":[{"name":"Dalian University of Technology, Dalian, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,1,10]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"Xilinx. 2008. Vivado Reset. Retrieved November 27 2024 from https:\/\/docs.xilinx.com\/v\/u\/en-US\/wp272"},{"key":"e_1_3_1_3_2","unstructured":"VLSI Concepts. 2011. Timing Complexity. Retrieved November 27 2024 from https:\/\/www.vlsi-expert.com\/2011\/08\/delay-timing-path-delay-static-timing.html"},{"key":"e_1_3_1_4_2","unstructured":"GitHub. 2019. VlogHammer. Retrieved November 27 2024 from https:\/\/github.com\/YosysHQ\/VlogHammer"},{"key":"e_1_3_1_5_2","unstructured":"Intel. 2022. Intel FPGA Industrial Solutions Playbook 2022. Retrieved November 27 2024 from https:\/\/www.intel.com\/content\/dam\/www\/central-libraries\/us\/en\/documents\/2022-08\/intel-fpga-industrial-solutions-playbook-2022.pdf"},{"key":"e_1_3_1_6_2","unstructured":"Intel. 2022. Intel Simics Simulator for Intel FPGAs Overview. Retrieved November 27 2024 from https:\/\/www.intel.com\/content\/dam\/www\/central-libraries\/us\/en\/documents\/2022-08\/intel-fpga-industrial-solutions-playbook-2022.pdf"},{"key":"e_1_3_1_7_2","unstructured":"HardwareBee. 2022. Introduction to FPGA Timing Simulation. Retrieved November 27 2024 from https:\/\/hardwarebee.com\/introduction-to-fpga-timing-simulation"},{"key":"e_1_3_1_8_2","unstructured":"GitHub. 2023. ICARUS Verilog. Retrieved November 27 2024 from https:\/\/github.com\/steveicarus\/iverilog"},{"key":"e_1_3_1_9_2","unstructured":"Xilinx. 2023. Vivado. Retrieved November 27 2024 from https:\/\/china.xilinx.com\/support\/download.html"},{"key":"e_1_3_1_10_2","unstructured":"Xilinx. 2023. Xilinx Vivado. Retrieved November 27 2024 from https:\/\/support.xilinx.com\/s\/?language=en_US"},{"key":"e_1_3_1_11_2","unstructured":"OpenCores. 2024. OpenCores Home Page. Retrieved November 27 2024 from https:\/\/opencores.org\/"},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","DOI":"10.1109\/TIE.2018.2870354"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.13328\/j.cnki.jos.005713"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884878"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/3363562"},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00037"},{"key":"e_1_3_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/3289602.3293918"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/3183440.3190330"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380381"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2011.2110592"},{"key":"e_1_3_1_21_2","unstructured":"Andrea Fioraldi Dominik Christian Maier Heiko Ei\u00dffeldt and Marc Heuse. 2020. AFL++: Combining incremental steps of fuzzing research. In Proceedings of the 14th USENIX Workshop on Offensive Technologies (WOOT \u201920). https:\/\/www.usenix.org\/conference\/woot20\/presentation\/fioraldi"},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2016.2565204"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549159"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2020.3047722"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM51124.2021.00034"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373087.3375310"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2021.3058671"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594334"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814319"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2018.2878170"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM53951.2022.9786208"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1007\/s00034-020-01411-z"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/611817.611837"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.48550\/arXiv.2303.12269"},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","unstructured":"Eric Schneider Michael A. Kochte and Hans-Joachim Wunderlich. 2018. Multi-level timing simulation on GPUs. In Proceedings of the 2018 23rd Asia and South Pacific Design Automation Conference (ASP-DAC \u201918). 470\u2013475. 10.1109\/ASPDAC.2018.8297368","DOI":"10.1109\/ASPDAC.2018.8297368"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.vlsi.2018.08.005"},{"key":"e_1_3_1_37_2","unstructured":"GitHub. 2023. SIMTAM. Retrieved November 27 2024 from https:\/\/github.com\/cemery123\/SIMTAM"},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2984038"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2018.2883923"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2021.3119186"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11704-019-8231-0"}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3705730","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3705730","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T01:18:12Z","timestamp":1750295892000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3705730"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,1,10]]},"references-count":40,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2025,3,31]]}},"alternative-id":["10.1145\/3705730"],"URL":"https:\/\/doi.org\/10.1145\/3705730","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"value":"1084-4309","type":"print"},{"value":"1557-7309","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,1,10]]},"assertion":[{"value":"2024-06-12","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-11-17","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-01-10","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}