{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,11]],"date-time":"2026-03-11T01:44:58Z","timestamp":1773193498744,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":42,"publisher":"ACM","license":[{"start":{"date-parts":[[2021,6,18]],"date-time":"2021-06-18T00:00:00Z","timestamp":1623974400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,6,19]]},"DOI":"10.1145\/3453483.3454037","type":"proceedings-article","created":{"date-parts":[[2021,6,18]],"date-time":"2021-06-18T13:51:32Z","timestamp":1624024292000},"page":"175-189","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Wire sorts: a language abstraction for safe hardware composition"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7614-5295","authenticated-orcid":false,"given":"Michael","family":"Christensen","sequence":"first","affiliation":[{"name":"University of California at Santa Barbara, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6550-6075","authenticated-orcid":false,"given":"Timothy","family":"Sherwood","sequence":"additional","affiliation":[{"name":"University of California at Santa Barbara, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1443-1373","authenticated-orcid":false,"given":"Jonathan","family":"Balkind","sequence":"additional","affiliation":[{"name":"University of California at Santa Barbara, USA"}]},{"given":"Ben","family":"Hardekopf","sequence":"additional","affiliation":[{"name":"University of California at Santa Barbara, USA"}]}],"member":"320","published-online":{"date-parts":[[2021,6,18]]},"reference":[{"key":"e_1_3_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSD.2010.21"},{"key":"e_1_3_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228584"},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2980024.2872414"},{"key":"e_1_3_2_2_4_1","first-page":"197","article-title":"Berkeley logic interchange format (BLIF)","volume":"2","author":"Berkeley UC","year":"1992","unstructured":"UC Berkeley . 1992 . Berkeley logic interchange format (BLIF) . Oct Tools Distribution , 2 (1992), 197 \u2013 247 . UC Berkeley. 1992. Berkeley logic interchange format (BLIF). Oct Tools Distribution, 2 (1992), 197\u2013247.","journal-title":"Oct Tools Distribution"},{"key":"e_1_3_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/289423.289440"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3385965"},{"key":"e_1_3_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950413.1950423"},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/MEMCOD.2015.7340485"},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2015.2480849"},{"key":"e_1_3_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-48683-6_13"},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/43.945302"},{"key":"e_1_3_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2009.2028166"},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3110268"},{"key":"e_1_3_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.23919\/FPL.2017.8056860"},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2011.2110592"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2020.2997704"},{"key":"e_1_3_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.1992.276232"},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.TYPES.2015.9"},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-39724-3_3"},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-22941-1_8"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-16478-1_2"},{"key":"e_1_3_2_2_23_1","unstructured":"OVL Working Group. 2014. Accellera Standard OVL V2 Library Reference Manual.  OVL Working Group. 2014. Accellera Standard OVL V2 Library Reference Manual."},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/IEEESTD.2010.5446004"},{"key":"e_1_3_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/IEEESTD.2018.8299595"},{"key":"e_1_3_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2014.50"},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3338698.3338892"},{"key":"e_1_3_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10009-002-0086-1"},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3385974"},{"key":"e_1_3_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2002.1016653"},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/800055.802026"},{"key":"e_1_3_2_2_32_1","unstructured":"Wilson Snyder Paul Wasson and Duane Galbi. 2020. Verilator-convert Verilog code to C++\/SystemC. http:\/\/www.veripool.org\/wiki\/verilator  Wilson Snyder Paul Wasson and Duane Galbi. 2020. Verilator-convert Verilog code to C++\/SystemC. http:\/\/www.veripool.org\/wiki\/verilator"},{"key":"e_1_3_2_2_33_1","unstructured":"Jane Street. [n.d.]. HardCaml: Register Transfer Level Hardware Design in OCaml. https:\/\/github.com\/janestreet\/hardcaml  Jane Street. [n.d.]. HardCaml: Register Transfer Level Hardware Design in OCaml. https:\/\/github.com\/janestreet\/hardcaml"},{"key":"e_1_3_2_2_34_1","doi-asserted-by":"crossref","unstructured":"Stuart Sutherland and Don Mills. 2006. Standard Gotchas Subtleties in the Verilog and SystemVerilog Standards That Every Engineer Should Know.  Stuart Sutherland and Don Mills. 2006. Standard Gotchas Subtleties in the Verilog and SystemVerilog Standards That Every Engineer Should Know.","DOI":"10.1007\/978-0-387-71715-9"},{"key":"e_1_3_2_2_35_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. Stuart Sutherland, Don Mills, and Chris Spear. 2007. Gotcha Again: More Subtleties in the Verilog and SystemVerilog Standards That Every Engineer Should Know."},{"key":"e_1_3_2_2_36_1","unstructured":"Lingshu Tang and Scott Davidson. 2019. BSG Micro Designs. https:\/\/github.com\/bsg-idea\/bsg_micro_designs  Lingshu Tang and Scott Davidson. 2019. BSG Micro Designs. https:\/\/github.com\/bsg-idea\/bsg_micro_designs"},{"key":"e_1_3_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3195970.3199848"},{"key":"e_1_3_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.SNAPL.2019.7"},{"key":"e_1_3_2_2_39_1","unstructured":"Princeton University. 2020. OpenPiton Design Benchmark. https:\/\/github.com\/PrincetonUniversity\/OPDB  Princeton University. 2020. OpenPiton Design Benchmark. https:\/\/github.com\/PrincetonUniversity\/OPDB"},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/IEEESTD.2006.99495"},{"key":"e_1_3_2_2_41_1","unstructured":"Andrew Waterman Yunsup Lee David Patterson Krste Asanovi\u0107 and CS Division. 2016. The RISC-V Instruction Set Manual Volume I: User-Level ISA.  Andrew Waterman Yunsup Lee David Patterson Krste Asanovi\u0107 and CS Division. 2016. The RISC-V Instruction Set Manual Volume I: User-Level ISA."},{"key":"e_1_3_2_2_42_1","unstructured":"Claire Wolf. [n.d.]. Yosys Open SYnthesis Suite. http:\/\/www.clifford.at\/yosys\/  Claire Wolf. [n.d.]. Yosys Open SYnthesis Suite. http:\/\/www.clifford.at\/yosys\/"},{"key":"e_1_3_2_2_43_1","unstructured":"Shaolin Xie and Michael Bedford Taylor. 2018. The BaseJump Manycore Accelerator Network. arxiv:1808.00650.  Shaolin Xie and Michael Bedford Taylor. 2018. The BaseJump Manycore Accelerator Network. arxiv:1808.00650."}],"event":{"name":"PLDI '21: 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","location":"Virtual Canada","acronym":"PLDI '21","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3453483.3454037","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3453483.3454037","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:03:07Z","timestamp":1750197787000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3453483.3454037"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,6,18]]},"references-count":42,"alternative-id":["10.1145\/3453483.3454037","10.1145\/3453483"],"URL":"https:\/\/doi.org\/10.1145\/3453483.3454037","relation":{},"subject":[],"published":{"date-parts":[[2021,6,18]]},"assertion":[{"value":"2021-06-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}