-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Labels
featureNew feature or requestNew feature or request
Description
We want to create a frontend to support the HLS_AUTO pragma parameterization syntax / DSL @ChengyueWang is using. I am informally calling this the "HLS Auto" DSL.
This syntax looks like this:
#pragma HLS_AUTO <directive> <token>*
token ::= fixed_token
| [prefix]auto{option (, option)*}
option ::= identifier | "NULL"
prefix ::= "" | identifier "=" // e.g. "unit=", "target_ti="
Here are some examples:
| Template | Concrete outputs (order preserved) |
|---|---|
inline auto{NULL, off} |
"" (remove) #pragma HLS inline #pragma HLS inline off |
performance target_ti=auto{1,2} unit=auto{NULL,cycle} |
"" #pragma HLS performance target_ti=1 #pragma HLS performance target_ti=1 unit=cycle #pragma HLS performance target_ti=2 `#pragma HLS performance target_ti=2 unit=cycle |
The goal of this feature is to write a frontend that can auto find these HLS_AUTO pragma in the source code of a design and randomly sample pragma settings to generate a new randomly sampled design. This works like the OptDSL frontends.
This should be almost trivial, assuming a pragma is always on its own line with no comments, or It's never inside a comment. Even so, it seems like regex is the easiest and most valid solution to use for now.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
featureNew feature or requestNew feature or request