{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T00:49:57Z","timestamp":1775868597735,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":58,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,11]],"date-time":"2020-06-11T00:00:00Z","timestamp":1591833600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100014718","name":"National Science Foundation","doi-asserted-by":"publisher","award":["1723715,1845952"],"award-info":[{"award-number":["1723715,1845952"]}],"id":[{"id":"10.13039\/100014718","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000028","name":"Semiconductor Research Corporation","doi-asserted-by":"publisher","award":["ADA"],"award-info":[{"award-number":["ADA"]}],"id":[{"id":"10.13039\/100000028","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,6,11]]},"DOI":"10.1145\/3385412.3385974","type":"proceedings-article","created":{"date-parts":[[2020,6,7]],"date-time":"2020-06-07T01:40:10Z","timestamp":1591494010000},"page":"393-407","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":44,"title":["Predictable accelerator design with time-sensitive affine types"],"prefix":"10.1145","author":[{"given":"Rachit","family":"Nigam","sequence":"first","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Sachille","family":"Atapattu","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Samuel","family":"Thomas","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Zhijing","family":"Li","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Theodore","family":"Bauer","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Yuwei","family":"Ye","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Apurva","family":"Koti","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Adrian","family":"Sampson","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Zhiru","family":"Zhang","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]}],"member":"320","published-online":{"date-parts":[[2020,6,11]]},"reference":[{"key":"e_1_3_2_2_1_1","unstructured":"Amazon Web Services. Amazon EC2 F1 Instances. https:\/\/aws.amazon. com\/ec2\/instance-types\/f1\/."},{"key":"e_1_3_2_2_2_1","volume-title":"Enabling Programmable Transport Protocols in High-Speed NICs. In USENIX Symposium on Networked System Design and Implementation (NSDI).","author":"Arashloo Mina Tahmasbi","year":"2020","unstructured":"Mina Tahmasbi Arashloo, Alexey Lavrov, Manya Ghobadi, Jennifer Rexford, David Walker, and David Wentzlaff. 2020. Enabling Programmable Transport Protocols in High-Speed NICs. In USENIX Symposium on Networked System Design and Implementation (NSDI)."},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869469"},{"key":"e_1_3_2_2_4_1","volume-title":"C\u03bbaSH: Structural Descriptions of Synchronous Hardware Using Haskell. In Euromicro Conference on Digital System Design: Architectures, Methods and Tools.","author":"Baaij Christiaan","unstructured":"Christiaan Baaij, Matthijs Kooijman, Jan Kuper, Arjan Boeijink, and Marco E. T. Gerards. 2010. C\u03bbaSH: Structural Descriptions of Synchronous Hardware Using Haskell. In Euromicro Conference on Digital System Design: Architectures, Methods and Tools."},{"key":"e_1_3_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228584"},{"key":"e_1_3_2_2_6_1","first-page":"1","volume":"30","author":"Baker Henry G.","year":"1995","unstructured":"Henry G. Baker. \u201cUse-once\u201d Variables and Linear Objects: Storage Management, Reflection and Multi-threading. SIGPLAN Notices 30, 1 (Jan. 1995), 45\u201352.","journal-title":"Reflection and Multi-threading. SIGPLAN Notices"},{"key":"e_1_3_2_2_7_1","volume-title":"ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL).","author":"Bernardy J","year":"2017","unstructured":"J Bernardy, Mathieu Boespflug, Ryan Newton, Simon L. Peyton Jones, and Arnaud Spiwack. 2017. Linear Haskell: practical linearity in a higher-order polymorphic language. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL)."},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640097"},{"key":"e_1_3_2_2_9_1","unstructured":"Cadence. Stratus High-Level Synthesis. https:\/\/www.cadence.com\/ content\/cadence-www\/global\/en_US\/home\/tools\/digital-design- and-signoff\/synthesis\/stratus-high-level-synthesis.html."},{"key":"e_1_3_2_2_10_1","unstructured":"Andrew Canis Jongsok Choi Mark Aldham Victor Zhang Ahmed Kammoona Jason H Anderson Stephen Brown and Tomasz Czajkowski. 2011."},{"key":"e_1_3_2_2_11_1","volume-title":"International Symposium on Field-Programmable Gate Arrays (FPGA).","unstructured":"LegUp: high-level synthesis for FPGA-based processor\/accelerator systems. In International Symposium on Field-Programmable Gate Arrays (FPGA)."},{"key":"e_1_3_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485945"},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"crossref","unstructured":"Eric S. Chung James C. Hoe and Ken Mai. 2011. CoRAM: an infabric memory architecture for FPGA-based computing. In Field programmable gate arrays (FPGA).","DOI":"10.1145\/1950413.1950435"},{"key":"e_1_3_2_2_14_1","volume-title":"Fast Actors. In International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE!).","author":"Clebsch Sylvan","year":"2015","unstructured":"Sylvan Clebsch, Sophia Drossopoulou, Sebastian Blessing, and Andy McNeil. 2015. Deny Capabilities for Safe, Fast Actors. In International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE!)."},{"key":"e_1_3_2_2_15_1","volume-title":"International Conference on Field-Programmable Logic and Applications (FPL).","author":"Clow J.","unstructured":"J. Clow, G. Tzimpragos, D. Dangwal, S. Guo, J. McMahan, and T. Sherwood. 2017. A Pythonic approach for rapid hardware prototyping and instrumentation. In International Conference on Field-Programmable Logic and Applications (FPL)."},{"key":"e_1_3_2_2_16_1","volume-title":"Platform-Based Behavior-Level and System-Level Synthesis. In International SoC Conference.","author":"Cong J.","unstructured":"J. Cong, Y. Fan, G. Han, W. Jiang, and Z. Zhang. 2006. Platform-Based Behavior-Level and System-Level Synthesis. In International SoC Conference."},{"key":"e_1_3_2_2_17_1","volume-title":"High-Level Synthesis for FPGAs: From Prototyping to Deployment","author":"Cong J.","year":"2011","unstructured":"J. Cong, B. Liu, S. Neuendorffer, J. Noguera, K. Vissers, and Z. Zhang. High-Level Synthesis for FPGAs: From Prototyping to Deployment. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD) 30, 4 (April 2011), 473\u2013491."},{"key":"e_1_3_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146909.1147025"},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/11693024_2"},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2018.00012"},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2014.6927454"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(92)90386-T"},{"key":"e_1_3_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462160"},{"key":"e_1_3_2_2_24_1","volume-title":"Uniqueness and Reference Immutability for Safe Parallelism. In ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA).","author":"Gordon Colin S.","year":"2012","unstructured":"Colin S. Gordon, Matthew J. Parkinson, Jared Parsons, Aleks Bromfield, and Joe Duffy. 2012. Uniqueness and Reference Immutability for Safe Parallelism. In ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA)."},{"key":"e_1_3_2_2_25_1","volume-title":"Region-based Memory Management in Cyclone. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).","author":"Grossman Dan","year":"2002","unstructured":"Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, and James Cheney. 2002. Region-based Memory Management in Cyclone. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)."},{"key":"e_1_3_2_2_26_1","volume-title":"SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits","author":"Gupta Sumit","year":"2004","unstructured":"Sumit Gupta, Rajesh Gupta, Nikil D. Dutt, and Alexandru Nicolau. 2004. SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits. Springer."},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601174"},{"key":"e_1_3_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897824.2925892"},{"key":"e_1_3_2_2_29_1","volume-title":"A New Golden Age for Computer Architecture. Communications of the ACM (CACM) 62, 2 (Jan","author":"Hennessy John L.","year":"2019","unstructured":"John L. Hennessy and David A. Patterson. A New Golden Age for Computer Architecture. Communications of the ACM (CACM) 62, 2 (Jan. 2019), 48\u201360."},{"key":"e_1_3_2_2_30_1","unstructured":"Intel. Intel High Level Synthesis Compiler. https:\/\/www. altera.com\/products\/design-software\/high-level-design\/intel-hlscompiler\/overview.html"},{"key":"e_1_3_2_2_31_1","unstructured":"Jane Street. HardCaml: Register Transfer Level Hardware Design in OCaml. https:\/\/github.com\/janestreet\/hardcaml."},{"key":"e_1_3_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3192366.3192379"},{"key":"e_1_3_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3289602.3293910"},{"key":"e_1_3_2_2_34_1","volume-title":"High-level synthesis: productivity, performance, and software constraints. Journal of Electrical and Computer Engineering","author":"Liang Yun","year":"2012","unstructured":"Yun Liang, Kyle Rupnow, Yinan Li, Dongbo Min, Minh N Do, and Deming Chen. High-level synthesis: productivity, performance, and software constraints. Journal of Electrical and Computer Engineering (2012)."},{"key":"e_1_3_2_2_35_1","volume-title":"PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research. In IEEE\/ACM International Symposium on Microarchitecture (MICRO).","author":"Lockhart Derek","year":"2014","unstructured":"Derek Lockhart, Gary Zibrat, and Christopher Batten. 2014. PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research. In IEEE\/ACM International Symposium on Microarchitecture (MICRO)."},{"key":"e_1_3_2_2_36_1","volume-title":"II.","author":"Matsakis Nicholas D.","year":"2014","unstructured":"Nicholas D. Matsakis and Felix S. Klock, II. 2014. The Rust Language. In High Integrity Language Technology (HILT)."},{"key":"e_1_3_2_2_37_1","unstructured":"Mentor Graphics. Catapult High-Level Synthesis. https:\/\/www.mentor. com\/hls-lp\/catapult-high-level-synthesis\/."},{"key":"e_1_3_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134018"},{"key":"e_1_3_2_2_40_1","volume-title":"Conference on Formal Methods and Models for Co-Design (MEMOCODE).","author":"Nikhil Rishiyur","year":"2004","unstructured":"Rishiyur Nikhil. 2004. Bluespec System Verilog: efficient, correct RTL from high level specifications. In Conference on Formal Methods and Models for Co-Design (MEMOCODE)."},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2006.12.035"},{"key":"e_1_3_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2013.6645550"},{"key":"e_1_3_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2980024.2872415"},{"key":"e_1_3_2_2_44_1","volume-title":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).","author":"Pratikakis Polyvios","unstructured":"Polyvios Pratikakis, Jeffrey S. Foster, and Michael W. Hicks. 2006. LOCKSMITH: context-sensitive correlation analysis for race detection. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)."},{"key":"e_1_3_2_2_45_1","volume-title":"Programming heterogeneous systems from an image processing DSL. ACM Transactions on Architecture and Code Optimization (TACO)","author":"Pu Jing","year":"2017","unstructured":"Jing Pu, Steven Bell, Xuan Yang, Jeff Setter, Stephen Richardson, Jonathan Ragan-Kelley, and Mark Horowitz. Programming heterogeneous systems from an image processing DSL. ACM Transactions on Architecture and Code Optimization (TACO) (2017)."},{"key":"e_1_3_2_2_46_1","doi-asserted-by":"publisher","DOI":"10.5555\/2665671.2665678"},{"key":"e_1_3_2_2_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/1344671.1344720"},{"key":"e_1_3_2_2_48_1","volume-title":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).","author":"Ragan-Kelley Jonathan","unstructured":"Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Fr\u00e9do Durand, and Saman P. Amarasinghe. 2013. Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)."},{"key":"e_1_3_2_2_49_1","volume-title":"MachSuite: Benchmarks for Accelerator Design and Customized Architectures. In IEEE International Symposium on Workload Characterization (IISWC).","author":"Reagen Brandon","year":"2014","unstructured":"Brandon Reagen, Robert Adolf, Yakun Sophia Shao, Gu-Yeon Wei, and David Brooks. 2014. MachSuite: Benchmarks for Accelerator Design and Customized Architectures. In IEEE International Symposium on Workload Characterization (IISWC)."},{"key":"e_1_3_2_2_51_1","unstructured":"https:\/\/arxiv.org\/abs\/1711.07606."},{"key":"e_1_3_2_2_52_1","unstructured":"Jeff Setter. Halide-to-Hardware. https:\/\/github.com\/jeffsetter\/Halideto-Hardware."},{"key":"e_1_3_2_2_53_1","doi-asserted-by":"publisher","DOI":"10.5555\/3195638.3195659"},{"key":"e_1_3_2_2_54_1","volume-title":"Gotcha Again: More Subtleties in the Verilog and SystemVerilog Standards That Every Engineer Should Know","author":"Sutherland Stuart","year":"2007","unstructured":"Stuart Sutherland, Don Mills, and Chris Spear. 2007. Gotcha Again: More Subtleties in the Verilog and SystemVerilog Standards That Every Engineer Should Know. In Synopsys Users Group (SNUG) San Jose. https:\/\/lcdm-eng.com\/papers\/snug07_Verilog%20Gotchas% 20Part2.pdf"},{"key":"e_1_3_2_2_55_1","volume-title":"Practical Affine Types. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL).","author":"Jesse","unstructured":"Jesse A. Tov and Riccardo Pucella. 2011. Practical Affine Types. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL)."},{"key":"e_1_3_2_2_56_1","unstructured":"Lenny Truong and Pat Hanrahan. 2019. A Golden Age of Hardware Description Languages: Applying Programming Language Techniques to Improve Design Productivity. In Summit oN Advances in Programming Languages (SNAPL)."},{"key":"e_1_3_2_2_57_1","volume-title":"ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).","author":"Turakhia Yatish","unstructured":"Yatish Turakhia, Gill Bejerano, and William J. Dally. 2018. Darwin: A Genomics Co-processor Provides Up to 15,000X Acceleration on Long Read Assembly. In ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)."},{"key":"e_1_3_2_2_58_1","unstructured":"Xilinx Inc. SDAccel: Enabling Hardware-Accelerated Software. https:\/\/ www.xilinx.com\/products\/design-tools\/software-zone\/sdaccel.html."},{"key":"e_1_3_2_2_59_1","volume-title":"Vivado Design Suite User Guide: High-Level Synthesis. UG902 (v2017.2)","author":"Xilinx Inc.","year":"2017","unstructured":"Xilinx Inc. Vivado Design Suite User Guide: High-Level Synthesis. UG902 (v2017.2) June 7, 2017."},{"key":"e_1_3_2_2_60_1","unstructured":"https:\/\/www.xilinx.com\/support\/ documentation\/sw_manuals\/xilinx2017_2\/ug902-vivado-high-levelsynthesis.pdf."}],"event":{"name":"PLDI '20: 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation","location":"London UK","acronym":"PLDI '20","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385974","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3385412.3385974","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:14Z","timestamp":1750200074000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385974"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6,11]]},"references-count":58,"alternative-id":["10.1145\/3385412.3385974","10.1145\/3385412"],"URL":"https:\/\/doi.org\/10.1145\/3385412.3385974","relation":{},"subject":[],"published":{"date-parts":[[2020,6,11]]},"assertion":[{"value":"2020-06-11","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}