157 research outputs found
Material choices for fibre in the Neolithic: an approach through the measurement of mechanical properties
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
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
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
- …