Skip to content

Specification

Julian van Doorn edited this page Feb 1, 2019 · 1 revision

Hwstl is a library where external target implementators are supposed to add targets. For that reason a specification is designed. This specification is currently a WIP. But the expected structure is as following:

hwstl structure

In the above diagram it can be seen that feature analyzer tool, which should generate reports about the specification coverage for every target. The feature analyzer uses hwstl contracts to determine whether the implementation is up to spec.

Differences between targets

Since not all targets may support all hwstl contracts, for example an external memory interface. Many microcontrollers do not have the hardware to communicate efficiently with external memory. In such cases a contract can be omitted, however when using an unsupported feature in user code, a compile time error should be generated.

Clone this wiki locally