{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,11]],"date-time":"2026-03-11T01:55:35Z","timestamp":1773194135484,"version":"3.50.1"},"reference-count":61,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2023,1,24]],"date-time":"2023-01-24T00:00:00Z","timestamp":1674518400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"DSSoC DARPA"},{"name":"Stanford AHA Agile Hardware Center"},{"name":"Affiliates Program, Intel\u2019s Science and Technology Center"},{"DOI":"10.13039\/100015269","name":"Stanford SystemX Alliance","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100015269","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2023,3,31]]},"abstract":"<jats:p>With the slowing of Moore\u2019s law, computer architects have turned to domain-specific hardware specialization to continue improving the performance and efficiency of computing systems. However, specialization typically entails significant modifications to the software stack to properly leverage the updated hardware. The lack of a structured approach for updating the compiler and the accelerator in tandem has impeded many attempts to systematize this procedure. We propose a new approach to enable flexible and evolvable domain-specific hardware specialization based on coarse-grained reconfigurable arrays (CGRAs). Our agile methodology employs a combination of new programming languages and formal methods to automatically generate the accelerator hardware and its compiler from a single source of truth. This enables the creation of design-space exploration frameworks that automatically generate accelerator architectures that approach the efficiencies of hand-designed accelerators, with a significantly lower design effort for both hardware and compiler generation. Our current system accelerates dense linear algebra applications but is modular and can be extended to support other domains. Our methodology has the potential to significantly improve the productivity of hardware-software engineering teams and enable quicker customization and deployment of complex accelerator-rich computing systems.<\/jats:p>","DOI":"10.1145\/3534933","type":"journal-article","created":{"date-parts":[[2022,7,7]],"date-time":"2022-07-07T11:30:49Z","timestamp":1657193449000},"page":"1-34","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":33,"title":["AHA: An Agile Approach to the Design of Coarse-Grained Reconfigurable Accelerators and Compilers"],"prefix":"10.1145","volume":"22","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6123-9064","authenticated-orcid":false,"given":"Kalhan","family":"Koul","sequence":"first","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8232-1603","authenticated-orcid":false,"given":"Jackson","family":"Melchert","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8456-6313","authenticated-orcid":false,"given":"Kavya","family":"Sreedhar","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7583-9730","authenticated-orcid":false,"given":"Leonard","family":"Truong","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5028-7252","authenticated-orcid":false,"given":"Gedeon","family":"Nyengele","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8902-2518","authenticated-orcid":false,"given":"Keyi","family":"Zhang","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1083-9953","authenticated-orcid":false,"given":"Qiaoyi","family":"Liu","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2327-646X","authenticated-orcid":false,"given":"Jeff","family":"Setter","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9760-9565","authenticated-orcid":false,"given":"Po-Han","family":"Chen","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9459-5994","authenticated-orcid":false,"given":"Yuchen","family":"Mei","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5945-1349","authenticated-orcid":false,"given":"Maxwell","family":"Strange","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4938-5250","authenticated-orcid":false,"given":"Ross","family":"Daly","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9336-1267","authenticated-orcid":false,"given":"Caleb","family":"Donovick","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2549-9525","authenticated-orcid":false,"given":"Alex","family":"Carsello","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6224-4690","authenticated-orcid":false,"given":"Taeyoung","family":"Kong","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9860-4942","authenticated-orcid":false,"given":"Kathleen","family":"Feng","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9055-3490","authenticated-orcid":false,"given":"Dillon","family":"Huff","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7821-0460","authenticated-orcid":false,"given":"Ankita","family":"Nayak","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2078-0991","authenticated-orcid":false,"given":"Rajsekhar","family":"Setaluri","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6823-3685","authenticated-orcid":false,"given":"James","family":"Thomas","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5141-3441","authenticated-orcid":false,"given":"Nikhil","family":"Bhagdikar","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4960-0336","authenticated-orcid":false,"given":"David","family":"Durst","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4807-9550","authenticated-orcid":false,"given":"Zachary","family":"Myers","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4729-9770","authenticated-orcid":false,"given":"Nestan","family":"Tsiskaridze","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4359-3638","authenticated-orcid":false,"given":"Stephen","family":"Richardson","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3323-7752","authenticated-orcid":false,"given":"Rick","family":"Bahr","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8754-0429","authenticated-orcid":false,"given":"Kayvon","family":"Fatahalian","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3474-9752","authenticated-orcid":false,"given":"Pat","family":"Hanrahan","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9522-3084","authenticated-orcid":false,"given":"Clark","family":"Barrett","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3245-7542","authenticated-orcid":false,"given":"Mark","family":"Horowitz","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2385-619X","authenticated-orcid":false,"given":"Christopher","family":"Torng","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2267-903X","authenticated-orcid":false,"given":"Fredrik","family":"Kjolstad","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8834-8663","authenticated-orcid":false,"given":"Priyanka","family":"Raina","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, California, USA"}]}],"member":"320","published-online":{"date-parts":[[2023,1,24]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2020.2996616"},{"key":"e_1_3_1_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/DAC18072.2020.9218553"},{"key":"e_1_3_1_4_2","unstructured":"Clark Barrett Pascal Fontaine and Cesare Tinelli. 2016. The Satisfiability Modulo Theories Library (SMT-LIB). www.SMT-LIB.org."},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/1950413.1950423"},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","DOI":"10.1109\/VLSITechnologyandCir46769.2022.9830509"},{"key":"e_1_3_1_7_2","doi-asserted-by":"crossref","unstructured":"Alex Carsello James Thomas Ankita Nayak Po-Han Chen Mark Horowitz Priyanka Raina and Christopher Torng. 2022. mflowgen: A modular flow generator and ecosystem for community-driven physical design. In Design Automation Conference (DAC).","DOI":"10.1145\/3489517.3530633"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2014.7001421."},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/3240765.3240850"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2017.7995277"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/2967938.2967969"},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/504709.504710"},{"key":"e_1_3_1_13_2","volume-title":"Workshop on Open-Source EDA Technology (WOSET\u201918)","author":"Daly Ross","year":"2018","unstructured":"Ross Daly, Leonard Truong, and Pat Hanrahan. 2018. Invoking and linking generators from multiple hardware languages using CoreIR. In Workshop on Open-Source EDA Technology (WOSET\u201918). https:\/\/woset-workshop.github.io\/PDFs\/2018\/a11.pdf."},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/COMST.2004.5342296"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/3395633"},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2012.51"},{"key":"e_1_3_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601174"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/2897824.2925892"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-27764-4_11"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM51124.2021.00030"},{"key":"e_1_3_1_21_1","unstructured":"Intel Inc. [n. d.]. Altera OpenCL. https:\/\/www.intel.com\/content\/www\/us\/en\/software\/programmable\/sdk-for-opencl\/overview.html."},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/2647868.2654889"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3140659.3080246"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/1055137.1055187"},{"key":"e_1_3_1_25_1","unstructured":"Khronos\u00ae OpenCL Working Group. [n. d.]. The OpenCL\u2122 C Specification. Retrieved July 13 2022 from https:\/\/www.khronos.org\/registry\/OpenCL\/specs\/3.0-unified\/pdf\/OpenCL_C.pdf."},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2019.8661185"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/3133901"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/3192366.3192379"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/3296957.3173176"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/3289602.3293910"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373087.3375320"},{"key":"e_1_3_1_32_2","article-title":"Compiling halide programs to push-memory accelerators","author":"Liu Qiaoyi","year":"2021","unstructured":"Qiaoyi Liu, Dillon Huff, Jeff Setter, Maxwell Strange, Kathleen Feng, Kavya Sreedhar, Ziheng Wang, Keyi Zhang, Mark Horowitz, Priyanka Raina, et\u00a0al. 2021. Compiling halide programs to push-memory accelerators. arXiv preprint arXiv:2105.12858 (2021).","journal-title":"arXiv preprint arXiv:2105.12858"},{"key":"e_1_3_1_33_2","volume-title":"FPGA Routing Structures: A Novel Switch Block and Depopulated Interconnect Matrix Architectures","author":"Masud Muhammad","year":"2000","unstructured":"Muhammad Masud. 2000. FPGA Routing Structures: A Novel Switch Block and Depopulated Interconnect Matrix Architectures. Ph. D. Dissertation. University of British Columbia. https:\/\/people.ece.ubc.ca\/stevew\/papers\/pdf\/imran_masc.pdf."},{"key":"e_1_3_1_34_1","unstructured":"Maxeler Inc. [n. d.]. MaxCompiler. Retrieved July 13 2022 from https:\/\/www.maxeler.com\/products\/software\/maxcompiler."},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10617-012-9096-8"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4020-6505-7_6"},{"key":"e_1_3_1_37_1","unstructured":"Mentor Graphics Inc. [n. d.]. Catapult High Level Synthesis. Retrieved July 13 2022 from https:\/\/www.mentor.com\/hls-lp\/catapult-high-level-synthesis."},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/3229762.3229766"},{"key":"e_1_3_1_39_2","article-title":"VTA: An open hardware-software stack for deep learning","author":"Moreau Thierry","year":"2018","unstructured":"Thierry Moreau, Tianqi Chen, Ziheng Jiang, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018. VTA: An open hardware-software stack for deep learning. arXiv preprint arXiv:1807.04188 (2018).","journal-title":"arXiv preprint arXiv:1807.04188"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/2897824.2925952"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.23919\/DATE48585.2020.9116477"},{"key":"e_1_3_1_42_2","first-page":"309","article-title":"Hydra: Hardware description in a functional language using recursion equations and high order combining forms","author":"O\u2019Donnell John","year":"1988","unstructured":"John O\u2019Donnell. 1988. Hydra: Hardware description in a functional language using recursion equations and high order combining forms. The Fusion of Hardware Design and Verification (1988), 309\u2013328.","journal-title":"The Fusion of Hardware Design and Verification"},{"key":"e_1_3_1_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/3079856.3080256"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/3107953"},{"key":"e_1_3_1_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462176"},{"key":"e_1_3_1_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/2656075.2656081"},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2016.7783720"},{"key":"e_1_3_1_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/275107.275134"},{"key":"e_1_3_1_49_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA51647.2021.00042"},{"key":"e_1_3_1_50_2","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.SNAPL.2019.7"},{"key":"e_1_3_1_51_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-53288-8_19"},{"key":"e_1_3_1_52_2","doi-asserted-by":"publisher","DOI":"10.34727\/2021\/isbn.978-3-85448-046-4_19"},{"key":"e_1_3_1_53_2","doi-asserted-by":"crossref","first-page":"7","DOI":"10.1007\/978-94-015-7744-1_2","volume-title":"Simulated Annealing: Theory and Applications","author":"Laarhoven Peter J. M. Van","year":"1987","unstructured":"Peter J. M. Van Laarhoven and Emile H. L. Aarts. 1987. Simulated annealing. In Simulated Annealing: Theory and Applications. Springer, 7\u201315."},{"key":"e_1_3_1_54_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2016.7783755"},{"key":"e_1_3_1_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD45719.2019.8942127"},{"key":"e_1_3_1_56_1","unstructured":"Veripool. [n. d.]. Verilator. Retrieved July 13 2022 from https:\/\/www.veripool.org\/verilator\/."},{"key":"e_1_3_1_57_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCC.and.EUC.2013.154"},{"key":"e_1_3_1_58_1","unstructured":"Xilinx Inc. [n. d.]. Vivado High Level Synthesis. Retrieved July 13 2022 from https:\/\/www.xilinx.com\/products\/design-tools\/vivado\/integration\/esl-design.html."},{"key":"e_1_3_1_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373087.3375306"},{"key":"e_1_3_1_60_2","doi-asserted-by":"publisher","DOI":"10.1145\/2684746.2689060"},{"key":"e_1_3_1_61_2","doi-asserted-by":"publisher","DOI":"10.1145\/3240765.3240801"},{"key":"e_1_3_1_62_2","doi-asserted-by":"publisher","DOI":"10.1145\/2435264.2435271"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3534933","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3534933","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:02:54Z","timestamp":1750186974000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3534933"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,1,24]]},"references-count":61,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2023,3,31]]}},"alternative-id":["10.1145\/3534933"],"URL":"https:\/\/doi.org\/10.1145\/3534933","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,1,24]]},"assertion":[{"value":"2021-10-18","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-04-30","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-01-24","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}