You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Check invariants while debugging and print warnings / errors which may be useful, such as alterting when unexpected changes occur or when a transformation introduces free variables / shadowing.
47
+
`-fclash-debug-invariants`
48
+
Check invariants while debugging and print warnings/errors which may be useful, such as alerting when unexpected changes occur or when a transformation introduces free variables / shadowing.
49
49
50
-
-fclash-debug-info
50
+
`-fclash-debug-info`
51
51
Specify the information to show about individual transformations while debugging.
52
52
From least to most information, these are
53
53
54
54
-`None` to show no information
55
-
56
55
-`FinalTerm` to show the final result of normalization
57
-
58
56
-`AppliedName` to show the names of applied transformations
59
-
60
57
-`AppliedTerm` to show the result of applied transformations
61
-
62
-
-`TryName` to show the names of attempted transforamtions, as well as the result of any transformations which are applied
63
-
58
+
-`TryName` to show the names of attempted transformations, as well as the result of any transformations which are applied
64
59
-`TryTerm` to show the names and results of all transformations attempted whether they were applied or not
65
60
66
-
**Default:**`None`
61
+
**Default:**`None`
67
62
68
-
-fclash-debug-count-transformations
63
+
`-fclash-debug-count-transformations`
69
64
Count the transformations that are applied and print a summary at the end of the normalization phase.
70
65
71
-
-fclash-debug-history\[=FILENAME\]
66
+
`-fclash-debug-history[=FILENAME]`
72
67
Saves all applied rewrites into `FILENAME`, for later analysis with the clash-term tool.
73
68
When no filename is given it defaults to `history.dat`.
74
69
75
-
-fclash-debug-transformations
70
+
`-fclash-debug-transformations`
76
71
List the transformations that are to be debugged.
77
72
This is given as a comma-separated list of transformations, e.g.
Only print debug output from applied transformation `N` and onwards.
87
82
88
83
```bash
89
84
clash -fclash-debug-transformations-from=21570
90
85
```
91
86
92
-
**Default:**0
87
+
**Default:**`0`
93
88
94
-
-fclash-debug-transformations-limit=N
89
+
`-fclash-debug-transformations-limit=N`
95
90
Only print debug output for `N` applied transformations.
96
91
97
92
```bash
98
93
clash -fclash-debug-transformations-limit=12
99
94
```
100
95
101
-
**Default:** MAX_INT
96
+
**Default:**`MAX_INT`
102
97
103
-
-fclash-hdldir
98
+
`-fclash-hdldir`
104
99
Specify the directory that generated HDL is written into.
105
100
For example
106
101
@@ -112,13 +107,13 @@ will create a directory `build/hdl`
112
107
113
108
**Default:** Either `vhdl`, `verilog`, or `systemverilog` depending on the synthesis target.
114
109
115
-
-fclash-hdlsyn
110
+
`-fclash-hdlsyn`
116
111
Specify the HDL synthesis tool which will be used.
117
-
Available options are `Vivado`, `Quartus` and `Other`, but some synonyms for these exist (`Xilinx` and `ISE` are synonyms for `Vivado`, `Altera` and `Intel` are synyonyms for `Quartus`).
112
+
Available options are `Vivado`, `Quartus` and `Other`, but some synonyms for these exist (`Xilinx` and `ISE` are synonyms for `Vivado`, `Altera` and `Intel` are synonyms for `Quartus`).
118
113
119
114
**Default:**`Other`
120
115
121
-
-fclash-no-cache
116
+
`-fclash-no-cache`
122
117
Don't reuse previously generated output from Clash, instead generating HDL from a clean state.
123
118
While this leads to longer builds, it can be useful in development.
124
119
@@ -136,20 +131,20 @@ Previously this flag was called `-fclash-nocache`, however this is now deprecate
136
131
137
132
**Default:** Cache generated HDL
138
133
139
-
-fclash-no-check-inaccessible-idirs
134
+
`-fclash-no-check-inaccessible-idirs`
140
135
Check that all include directories (containing primitives) exist when running Clash.
141
136
If any directory does not exist, an error is thrown.
142
137
143
138
**Default:** Check directories
144
139
145
-
-fclash-clear
140
+
`-fclash-clear`
146
141
Remove HDL directories before writing to them (if cache can't be used).
147
142
By default, Clash will only write to non-empty directories if it can prove all files in it are generated by a previous run.
148
143
This option applies to directories of the various top entities, i.e., the subdirectories made in the directory passed in with `-fclash-hdldir`.
149
144
150
145
**Default:** Clean before build
151
146
152
-
-fclash-no-prim-warn
147
+
`-fclash-no-prim-warn`
153
148
Disable warnings for primitives that are annotated with `warnAlways`.
154
149
This means warnings from annotations like
155
150
@@ -161,56 +156,56 @@ will not be shown when compiling.
161
156
162
157
**Default:** Show warnings
163
158
164
-
-fclash-spec-limit
159
+
`-fclash-spec-limit`
165
160
Change the number of times a function can undergo specialization.
166
161
167
162
**Default:** 20
168
163
169
-
-fclash-inline-limit
164
+
`-fclash-inline-limit`
170
165
Change the number of times a function `f` can undergo inlining inside some other function `g`.
171
166
This prevents the size of `g` growing dramatically.
172
167
173
168
**Default:** 20
174
169
175
-
-fclash-inline-function-limit
170
+
`-fclash-inline-function-limit`
176
171
Set the threshold for function size.
177
-
Below this threshold functions are always inlined (if it is not recursive).
172
+
Below this threshold a function is always inlined (if it is not recursive).
178
173
179
174
**Default:** 15
180
175
181
-
-fclash-inline-constant-limit
176
+
`-fclash-inline-constant-limit`
182
177
Set the threshold for constant size.
183
178
Below this threshold constants are always inlined.
184
179
A value of 0 inlines all constants.
185
180
186
181
**Default:** 0
187
182
188
-
-fclash-evaluator-fuel-limit
183
+
`-fclash-evaluator-fuel-limit`
189
184
Set the threshold for unfolding potentially non-terminating bindings in the evaluator.
190
185
A value of 0 only unfolds terminating bindings.
191
186
192
187
**Default:** 20
193
188
194
-
-fclash-intwidth
189
+
`-fclash-intwidth`
195
190
Set the bit width for the `Int/Word/Integer` types in the generated HDL.
196
191
Clash simulation is not affected, and neither are `BitPack` instances.
197
192
The only allowed values are 32 or 64.
198
193
199
194
**Default:** Machine word size (`WORD_SIZE_IN_BITS`)
200
195
201
-
-fclash-error-extra
196
+
`-fclash-error-extra`
202
197
Print additional information with compiler errors if it as available.
203
198
If there is extra information and this flag is not enabled, a message will be printed suggesting this flag.
204
199
205
200
**Default:** False
206
201
207
-
-fclash-float-support
202
+
`-fclash-float-support`
208
203
Enable support for floating point numbers.
209
204
If this is disabled, Clash will not attempt to convert Float and Double values for hardware.
210
205
211
206
**Default:** False
212
207
213
-
-fclash-component-prefix
208
+
`-fclash-component-prefix`
214
209
Prefix the names of generated HDl components with a string.
215
210
For example a component `foo` would be called `xcorp_foo` if run with
0 commit comments