-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unscheduled DFCIR & SystemVerilog output path options revamp #31
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -216,13 +216,16 @@ The list of arguments for `hls`-mode is presented below: | |
|
||
* `-h,--help`: *optional* flag; used to print the help-message about other arguments. | ||
* `--config <PATH>`: *required* filesystem-path option; used to specify the file for a JSON latency configuration file. Its format is presented in *JSON Configuration* section. | ||
* `--out <NAME>`: *optional* filesystem-path option; used to specify the destination file for the output SystemVerilog to be generated in. If the name isn't provided or the provided name is an empty string, standard output stream is used. | ||
* `--sv_out <PATH>`: *optional* filesystem-path option; used to specify the destination file for the output SystemVerilog to be generated in. | ||
* `--dfcir_out <PATH>`: *optional* filesystem-path option; used to specify the destination file for the output DFCIR to be generated in. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed. |
||
* `-a` or `-l`: *required* flag; used to specify the chosen scheduling strategy - either as-soon-as-possible or linear programming. **Exactly one of these flags has to be specified**. | ||
|
||
**At least one of the `*_out` options has to be specified.** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "_out" -> "--out-" There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed. |
||
|
||
Here is an example of an Utopia HLS CLI call: | ||
|
||
```bash | ||
umain hls --config ~/utopia-user/config.json --out ~/outFile -a | ||
umain hls --config ~/utopia-user/config.json --sv_out ~/outFile.sv --dfcir_out ~/outFile2.mlir -a | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix options as are described above There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed. |
||
``` | ||
|
||
### JSON Configuration | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,6 +36,7 @@ | |
#define ASAP_SCHEDULER_JSON "asap_scheduler" | ||
#define LP_SCHEDULER_JSON "lp_scheduler" | ||
#define SV_OUT_JSON "sv_out" | ||
#define DFCIR_OUT_JSON "dfcir_out" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See above There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed. |
||
|
||
//===----------------------------------------------------------------------===// | ||
// CLI args/flags definitions | ||
|
@@ -47,6 +48,7 @@ | |
#define LP_SCHEDULER_FLAG CLI_FLAG("l") | ||
#define OUTPUT_GROUP "output" | ||
#define SV_OUT_ARG CLI_ARG("sv_out") | ||
#define DFCIR_OUT_ARG CLI_ARG("dfcir_out") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See above There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed. |
||
|
||
//===----------------------------------------------------------------------===// | ||
|
||
|
@@ -180,6 +182,9 @@ struct HlsOptions final : public AppOptions { | |
outputGroup->add_option(SV_OUT_ARG, | ||
outNames[OUT_FORMAT_ID_INT(SystemVerilog)], | ||
"Path to output SystemVerilog module to"); | ||
outputGroup->add_option(DFCIR_OUT_ARG, | ||
outNames[OUT_FORMAT_ID_INT(DFCIR)], | ||
"Path to output unscheduled DFCIR to"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Worth to think about... There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed. |
||
outputGroup->require_option(); | ||
} | ||
|
||
|
@@ -188,6 +193,7 @@ struct HlsOptions final : public AppOptions { | |
get(json, ASAP_SCHEDULER_JSON, asapScheduler); | ||
get(json, LP_SCHEDULER_JSON, lpScheduler); | ||
get(json, SV_OUT_JSON, outNames[OUT_FORMAT_ID_INT(SystemVerilog)]); | ||
get(json, DFCIR_OUT_JSON, outNames[OUT_FORMAT_ID_INT(DFCIR)]); | ||
} | ||
|
||
std::string latConfigFile; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.