{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,24]],"date-time":"2026-06-24T20:42:28Z","timestamp":1782333748519,"version":"3.54.5"},"reference-count":61,"publisher":"Association for Computing Machinery (ACM)","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"abstract":"<jats:p>\n            FPGA (Field Programmable Gate Array) synthesis tools are crucial for hardware development and AI acceleration, and their bugs could compromise hardware reliability and risk downstream applications. However, it remains unknown in understanding the characteristics of these bugs.\n            <jats:italic>What are the root causes that trigger bugs in FPGA synthesis tools?<\/jats:italic>\n            <jats:italic>What are the characteristics of these bugs? What are the challenges in detecting and addressing them?<\/jats:italic>\n            This paper takes the first step towards answering these questions by conducting a comprehensive study of FPGA synthesis tool bugs. We analyze 551 confirmed bugs in both commercial and open source FPGA synthesis tools, i.e., Vivado, Quartus Prime, and Yosys, covering root causes, symptoms, bug-prone components, fix characteristics, and achieve 17 valuable findings. We find that, on average, around 46.2% of bugs result from HDL (Hardware Description Language) standard noncompliance across the three tools. However, it is hard for current formal validations to fully test HDL standards compliance. Additionally, on average over 25.8% bugs show domain-specific optimization traits due to inappropriate optimization and mapping. Meanwhile, beyond 28% of bugs trigger unexpected behavior without clear signs, making the formulation of effective test oracles challenging. These findings help addressing FPGA synthesis tool bugs and guide further research.\n          <\/jats:p>","DOI":"10.1145\/3718737","type":"journal-article","created":{"date-parts":[[2025,2,20]],"date-time":"2025-02-20T17:15:31Z","timestamp":1740071731000},"update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Toward Understanding FPGA Synthesis Tool Bugs"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0009-0001-3785-9324","authenticated-orcid":false,"given":"Yi","family":"Zhang","sequence":"first","affiliation":[{"name":"Beijing Institute of Technology , China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8674-4948","authenticated-orcid":false,"given":"He","family":"Jiang","sequence":"additional","affiliation":[{"name":"Dalian University of Technology, Beijing Institute of Technology, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8554-6365","authenticated-orcid":false,"given":"Shikai","family":"Guo","sequence":"additional","affiliation":[{"name":"Dalian Maritime University, The Dalian Key Laboratory of Artificial Intelligence, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5068-1938","authenticated-orcid":false,"given":"Xiaochen","family":"Li","sequence":"additional","affiliation":[{"name":"Dalian University of Technology, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3267-6801","authenticated-orcid":false,"given":"Hui","family":"Liu","sequence":"additional","affiliation":[{"name":"Beijing Institute of Technology , China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4905-8994","authenticated-orcid":false,"given":"Chongyang","family":"Shi","sequence":"additional","affiliation":[{"name":"Beijing Institute of Technology , China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,2,20]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Accessed: 2023.11.28. Yosys Open Synthesis Suite. http:\/\/www.clifford.at\/yosys\/."},{"key":"e_1_2_1_2_1","unstructured":"Accessed: 2023.12.25. Synopsys Design Compiler. https:\/\/www.synopsys.com\/implementation-and-signoff\/logic-synthesis.html."},{"key":"e_1_2_1_3_1","unstructured":"Accessed: 2023.12.28. Mentor Graphics Precision. https:\/\/www.mentor.com\/products\/fv\/precision-synthesis\/."},{"key":"e_1_2_1_4_1","unstructured":"Accessed: 2023.12.28. Qflow Open-Source Digital Synthesis Flow. http:\/\/opencircuitdesign.com\/qflow\/."},{"key":"e_1_2_1_5_1","unstructured":"Accessed: 2023.12.4. VlogHammer. https:\/\/yosyshq.net\/yosys\/vloghammer.html."},{"key":"e_1_2_1_6_1","unstructured":"Accessed: 2023.12.6. Vivado Design Suite. https:\/\/www.xilinx.com\/products\/design-tools\/vivado.html."},{"key":"e_1_2_1_7_1","unstructured":"Accessed: 2023.12.8. Intel Quartus. https:\/\/www.intel.com\/content\/www\/us\/en\/software\/programmable\/quartus-prime\/overview.html."},{"key":"e_1_2_1_8_1","unstructured":"Accessed: 2023.12.9. Cadence Genus. https:\/\/www.cadence.com\/en_US\/home\/tools\/digital-design-and-signoff\/synthesis.html."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3149119"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICMIRA.2013.45"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-Companion58688.2023.00018"},{"key":"e_1_2_1_12_1","volume-title":"Austin Lesea, and Ren\u00e9 Richter","author":"Amos Doug","year":"2011","unstructured":"Doug Amos, Austin Lesea, and Ren\u00e9 Richter. 2011. FPGA-based prototyping methodology manual: Best practices in design-for-prototyping. Happy About, Silicon Valley, CA, USA."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3472616"},{"key":"e_1_2_1_14_1","volume-title":"The Designer's Guide to VHDL. Morgan Kaufmann","author":"Ashenden J","unstructured":"Peter\u00a0J Ashenden. 2010. The Designer's Guide to VHDL. Morgan Kaufmann, San Francisco, CA, USA."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/OLT.2003.1214357"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3587155"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3530775"},{"key":"e_1_2_1_18_1","volume-title":"Qualitative Inquiry and Research Design: Choosing Among Five Approaches","author":"Creswell W","unstructured":"John\u00a0W Creswell and Cheryl\u00a0N Poth. 2016. Qualitative Inquiry and Research Design: Choosing Among Five Approaches. Sage Publications, Thousand Oaks, CA, USA."},{"key":"e_1_2_1_19_1","unstructured":"Srinivas Devadas Abhijit Ghosh and Kurt\u00a0William Keutzer. 1994. Logic Synthesis. (1994)."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3533767.3534225"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2017.8115662"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380397"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.23919\/DATE54114.2022.9774632"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806871"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549159"},{"key":"e_1_2_1_26_1","volume-title":"Logic synthesis and verification algorithms","author":"Hachtel D","unstructured":"Gary\u00a0D Hachtel and Fabio Somenzi. 2007. Logic synthesis and verification algorithms. Springer Science & Business Media."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3373087.3375310"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/DAC56929.2023.10247877"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2021.3058671"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-26408-0"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1117201.1117205"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594334"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2597136"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE51524.2021.9678863"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/TR.2023.3295009"},{"key":"e_1_2_1_36_1","first-page":"100","article-title":"Differential Testing for Software","volume":"10","author":"McKeeman M.","year":"1998","unstructured":"William\u00a0M. McKeeman. 1998. Differential Testing for Software. Digit. Tech. J. 10 (1998), 100\u2013107. https:\/\/api.semanticscholar.org\/CorpusID:14018070","journal-title":"Digit. Tech. J."},{"key":"e_1_2_1_37_1","volume-title":"Verilog HDL: A Guide to Digital Design and Synthesis. Vol.\u00a01","author":"Palnitkar Samir","unstructured":"Samir Palnitkar. 2003. Verilog HDL: A Guide to Digital Design and Synthesis. Vol.\u00a01. Prentice Hall Professional, Upper Saddle River, NJ, USA."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3551349.3560427"},{"key":"e_1_2_1_39_1","doi-asserted-by":"crossref","unstructured":"Robert\u00a0B. Reese and Mitchell\u00a0A. Thornton. 2006. Introduction to Logic Synthesis using Verilog HDL. In Synthesis Lectures on Digital Circuits and Systems. https:\/\/api.semanticscholar.org\/CorpusID:33010417","DOI":"10.1007\/978-3-031-79743-9"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE51524.2021.9678776"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.13140\/RG.2.2.22535.91045"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2018.2890150"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468591"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9228-6"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1093\/ptj"},{"key":"e_1_2_1_46_1","volume-title":"Synthesis and Optimization of FPGA-based Systems. Vol.\u00a0294","author":"Sklyarov Valery","unstructured":"Valery Sklyarov, Iouliia Skliarova, Alexander Barkalov, and Larysa Titarenko. 2014. Synthesis and Optimization of FPGA-based Systems. Vol.\u00a0294. Springer Science & Business Media, New York, NY, USA."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2931074"},{"key":"e_1_2_1_48_1","volume-title":"Verilog 2001: A Guide to the New Features of the Verilog\u00ae Hardware Description Language. Vol.\u00a0652","author":"Sutherland Stuart","unstructured":"Stuart Sutherland. 2012. Verilog 2001: A Guide to the New Features of the Verilog\u00ae Hardware Description Language. Vol.\u00a0652. Springer Science & Business Media, New York, NY, USA."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9258-8"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/3355048"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2017.59"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468559"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468559"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/TR.2022.3159812"},{"key":"e_1_2_1_55_1","volume-title":"FPGA-based System Design. Pearson Education India","author":"Wolf Wayne","unstructured":"Wayne Wolf. 2004. FPGA-based System Design. Pearson Education India, New Delhi, India."},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/TR.2019.2902171"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3061639.3062244"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/3061639.3062244"},{"key":"e_1_2_1_59_1","volume-title":"Logic synthesis and optimization benchmarks user guide: version 3.0","author":"Yang Saeyang","unstructured":"Saeyang Yang. 1991. Logic synthesis and optimization benchmarks user guide: version 3.0. Citeseer, Princeton, NJ, USA."},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/TR.2022.3165378"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2020.110884"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3718737","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,2,20]],"date-time":"2025-02-20T17:15:37Z","timestamp":1740071737000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3718737"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,2,20]]},"references-count":61,"alternative-id":["10.1145\/3718737"],"URL":"https:\/\/doi.org\/10.1145\/3718737","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,2,20]]},"assertion":[{"value":"2024-01-27","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-01-29","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-02-20","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}],"article-number":"3718737"}}