<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcq="http://purl.org/dc/terms/"><records count="1" morepages="false" start="1" end="1"><record rownumber="1"><dc:product_type>Journal Article</dc:product_type><dc:title>Modular Hardware Design with Timeline Types</dc:title><dc:creator>Nigam, Rachit; Azevedo de Amorim, Pedro Henrique; Sampson, Adrian</dc:creator><dc:corporate_author/><dc:editor/><dc:description>Modular design is a key challenge for enabling large-scale reuse of hardware modules. Unlike software, however, hardware designs correspond to physical circuits and inherit constraints from them. Timing constraints—which cycle a signal arrives, when an input is read—and structural constraints—how often a multiplier accepts new inputs—are fundamental to hardware interfaces. Existing hardware design languages do not provide a way to encode these constraints; a user must read documentation, build scripts, or in the worst case, a module’s implementation to understand how to use it. We present Filament, a language for modular hardware design that supports the specification and enforcement of timing and structural constraints for statically scheduled pipelines. Filament uses              timeline types              , which describe the intervals of clock-cycle time when a given signal is available or required. Filament enables              safe composition              of hardware modules, ensures that the resulting designs are correctly pipelined, and predictably lowers them to efficient hardware.</dc:description><dc:publisher/><dc:date>2023-06-06</dc:date><dc:nsf_par_id>10426595</dc:nsf_par_id><dc:journal_name>Proceedings of the ACM on Programming Languages</dc:journal_name><dc:journal_volume>7</dc:journal_volume><dc:journal_issue>PLDI</dc:journal_issue><dc:page_range_or_elocation>343 to 367</dc:page_range_or_elocation><dc:issn>2475-1421</dc:issn><dc:isbn/><dc:doi>https://doi.org/10.1145/3591234</dc:doi><dcq:identifierAwardId>1845952; 2124045; 1909073</dcq:identifierAwardId><dc:subject/><dc:version_number/><dc:location/><dc:rights/><dc:institution/><dc:sponsoring_org>National Science Foundation</dc:sponsoring_org></record></records></rdf:RDF>