157 research outputs found

    Material choices for fibre in the Neolithic: an approach through the measurement of mechanical properties

    Get PDF
    Studies of the Mesolithic-Neolithic transition in Europe have focused on plants and animals exploited for food. However, the exploitation of plants for fibres underwent a significant change with the addition of domestic flax as a fibre crop. While the technology of flax fibre processing is increasingly understood by archaeologists, its material value as a fibre crop in comparison to indigenous fibre is less well explored. We examine the mechanical properties of flax and two indigenous fibres (lime bast, willow bast), by testing fibre strips for tensile properties and discuss the results in the light of material choices in these periods

    Correct and Compositional Hardware Generators

    Full text link
    Hardware generators help designers explore families of concrete designs and their efficiency trade-offs. Both parameterized hardware description languages (HDLs) and higher-level programming models, however, can obstruct composability. Different concrete designs in a family can have dramatically different timing behavior, and high-level hardware generators rarely expose a consistent HDL-level interface. Composition, therefore, is typically only feasible at the level of individual instances: the user generates concrete designs and then composes them, sacrificing the ability to parameterize the combined design. We design Parafil, a system for correctly composing hardware generators. Parafil builds on Filament, an HDL with strong compile-time guarantees, and lifts those guarantees to generators to prove that all possible instantiations are free of timing bugs. Parafil can integrate with external hardware generators via a novel system of output parameters and a framework for invoking generator tools. We conduct experiments with two other generators, FloPoCo and Google's XLS, and we implement a parameterized FFT generator to show that Parafil ensures correct design space exploration.Comment: 13 page

    Modular Hardware Design with Timeline Types

    Full text link
    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.Comment: Extended version of PLDI '23 pape
    • …
    corecore