-
Notifications
You must be signed in to change notification settings - Fork 0
Specification
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:
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.
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.
__ ___ _ ___ _ _ _
\ \ / (_) ___| |__ ___ ( _ ) | |_ _| (_) __ _ _ __
\ \ /\ / /| |/ _ \ '_ \ / _ \ / _ \/\ _ | | | | | | |/ _` | '_ \
\ V V / | | __/ |_) | __/ | (_> < | |_| | |_| | | | (_| | | | |
\_/\_/ |_|\___|_.__/ \___| \___/\/ \___/ \__,_|_|_|\__,_|_| |_|
_____ _ _ ____
| ____|_ __ __ _(_)_ __ ___ ___ _ __(_)_ __ __ _ / ___|___
| _| | '_ \ / _` | | '_ \ / _ \/ _ \ '__| | '_ \ / _` | | | / _ \
| |___| | | | (_| | | | | | __/ __/ | | | | | | (_| | | |__| (_) |
|_____|_| |_|\__, |_|_| |_|\___|\___|_| |_|_| |_|\__, | \____\___(_)
|___/ |___/
Copyright © 2019 Julian and Wiebe Engineering Co.