Commit 197dc38
authored
[Sim][MooreToCore] Added width, alignment and padding support for
The standard wasn't super clear about the semantics, so here's what I
figured out after twiddling with some test cases using Icarus: 1. For
Octal, Hexadecimal, and Binary numbers, they are padded with 0s upto
the minimum width that a number of that datatype would fit into
(eg `i22` would fit into `(22 + 2)/3 = 8` octal bytes, so 106 in octal
would be printed as `00000152`), and then any additional bytes are
padded with spaces (so `$write("%10o",val)` would be ` 00000152`).
Even contraction would have the whole 0-padded value be printed(`$write
("%3o",val)` would _still_ be `00000152`). A similar logic follows for
hexadecimal and binary 2. For decimal numbers, the default padding is
spaces themselves, but they can contract too. `$write("%4d",val)`
(where val is an `i22` with value 106) would cause ` 106` to be
printed (an extra space to fill up the padding of 4). Expansion is
pretty straightforward, and similar to Octals. Signed numbers can also
require an extra character to be printed sometimes.
This PR implements the above, and adds some test cases to substantiate
them.moore.fmt.int (#9390)1 parent ca9ed6b commit 197dc38
File tree
11 files changed
+377
-217
lines changed- include/circt/Dialect
- Moore
- Sim
- lib
- Conversion
- ImportVerilog
- MooreToCore
- Dialect/Sim
- test
- Conversion
- ImportVerilog
- MooreToCore
- Dialect
- Moore
- Sim
11 files changed
+377
-217
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1997 | 1997 | | |
1998 | 1998 | | |
1999 | 1999 | | |
2000 | | - | |
2001 | 2000 | | |
2002 | | - | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
2003 | 2004 | | |
2004 | 2005 | | |
2005 | 2006 | | |
2006 | | - | |
2007 | | - | |
| 2007 | + | |
2008 | 2008 | | |
2009 | 2009 | | |
| 2010 | + | |
| 2011 | + | |
2010 | 2012 | | |
2011 | 2013 | | |
2012 | 2014 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
185 | 189 | | |
186 | 190 | | |
187 | 191 | | |
188 | 192 | | |
189 | | - | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
190 | 201 | | |
191 | 202 | | |
192 | 203 | | |
| |||
201 | 212 | | |
202 | 213 | | |
203 | 214 | | |
204 | | - | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
205 | 220 | | |
206 | 221 | | |
207 | 222 | | |
208 | 223 | | |
209 | | - | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
210 | 231 | | |
211 | 232 | | |
212 | 233 | | |
| |||
219 | 240 | | |
220 | 241 | | |
221 | 242 | | |
222 | | - | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
223 | 247 | | |
224 | 248 | | |
225 | 249 | | |
226 | 250 | | |
227 | | - | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
228 | 258 | | |
229 | 259 | | |
230 | 260 | | |
| |||
252 | 282 | | |
253 | 283 | | |
254 | 284 | | |
255 | | - | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
256 | 290 | | |
257 | 291 | | |
258 | 292 | | |
259 | 293 | | |
260 | 294 | | |
261 | | - | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
262 | 301 | | |
263 | 302 | | |
264 | 303 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
156 | 160 | | |
157 | 161 | | |
158 | 162 | | |
| |||
184 | 188 | | |
185 | 189 | | |
186 | 190 | | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | 191 | | |
205 | 192 | | |
206 | 193 | | |
207 | 194 | | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
208 | 199 | | |
209 | | - | |
210 | | - | |
| 200 | + | |
| 201 | + | |
211 | 202 | | |
212 | 203 | | |
213 | 204 | | |
| |||
250 | 241 | | |
251 | 242 | | |
252 | 243 | | |
253 | | - | |
| 244 | + | |
| 245 | + | |
254 | 246 | | |
255 | 247 | | |
256 | 248 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2009 | 2009 | | |
2010 | 2010 | | |
2011 | 2011 | | |
2012 | | - | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
2013 | 2020 | | |
2014 | 2021 | | |
2015 | | - | |
| 2022 | + | |
| 2023 | + | |
| 2024 | + | |
2016 | 2025 | | |
2017 | 2026 | | |
2018 | | - | |
| 2027 | + | |
| 2028 | + | |
2019 | 2029 | | |
2020 | 2030 | | |
2021 | | - | |
| 2031 | + | |
| 2032 | + | |
2022 | 2033 | | |
2023 | 2034 | | |
| 2035 | + | |
| 2036 | + | |
| 2037 | + | |
| 2038 | + | |
2024 | 2039 | | |
2025 | | - | |
| 2040 | + | |
| 2041 | + | |
| 2042 | + | |
2026 | 2043 | | |
2027 | 2044 | | |
2028 | 2045 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
26 | 77 | | |
27 | 78 | | |
28 | 79 | | |
| |||
120 | 171 | | |
121 | 172 | | |
122 | 173 | | |
123 | | - | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
124 | 182 | | |
125 | | - | |
126 | | - | |
127 | 183 | | |
128 | 184 | | |
129 | | - | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
130 | 189 | | |
131 | 190 | | |
132 | 191 | | |
| |||
136 | 195 | | |
137 | 196 | | |
138 | 197 | | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
155 | 202 | | |
156 | 203 | | |
157 | 204 | | |
158 | 205 | | |
159 | 206 | | |
160 | 207 | | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
177 | 211 | | |
178 | 212 | | |
179 | 213 | | |
180 | 214 | | |
181 | 215 | | |
182 | 216 | | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
194 | 220 | | |
195 | 221 | | |
196 | 222 | | |
| |||
0 commit comments