Commit Graph

28 Commits

Author SHA1 Message Date
Zachary Snow 52197df325 add bugpoint mode
This mode reduces the size of test cases that encounter conversion
errors or produce incorrect output. The logic developed slowly over the
past three years. It is in a state that I find useful when fielding bug
reports, but has some room for improvement in terms of constraints and
filtering.
2024-06-19 23:06:34 -04:00
Zachary Snow 6eda946f57 handle directives when writing to a directory 2024-06-15 22:15:30 -04:00
Zachary Snow 764a11af7f more warnings for empty output scenarios 2023-08-20 13:56:03 -04:00
Zachary Snow 04d65bb388 added --write directory mode with one file per module 2023-06-21 08:25:42 -04:00
Zachary Snow 911243dac4 add --top for filtering uninstantiated modules 2023-06-18 22:36:43 -04:00
Zachary Snow 51c90baf5e support for loading from library directories 2023-06-13 22:53:36 -04:00
Zachary Snow f868f06e88 write adjacent overwrites existing files 2022-03-16 15:34:29 +01:00
Zachary Snow 407ba59042 add internal --dump-prefix utility 2021-09-05 19:54:36 -04:00
Zachary Snow 306d71334b refactor sizing and truncation of integer literals
- use iverilog's -gstrict-expr-width throughout test suite
- add warnings for excess bits or padding zeroes in number literals
- add new --oversized-numbers parameter to retain support for unsized
  numbers wider than 32 bits
- localized use of oversized numbers to new truncate test suite which
  verifies the behavior of both modes, and compares against the known
  behavior of iverilog
2021-08-09 22:10:29 -06:00
Zachary Snow 7e9fb3379c refactor internal frontend interface
- add unified frontend configuration record to make adding future
  options easier
- use ExceptT throughout, rather than using runExceptT at internal
  boundaries
2021-08-06 22:23:34 -06:00
Zachary Snow bb938f1e0b add ability to --pass-through input without conversion 2021-06-25 11:05:49 -06:00
Zachary Snow 404385b00f allow arbitrary .v output file using -w/--write 2021-06-16 20:31:37 -04:00
Zachary Yedidia 5eef44c8f4 Add file output write mode 2021-06-16 20:31:37 -04:00
Zachary Snow 5ac7a79f8b add warning when no input files are specified 2021-03-29 11:16:53 -04:00
Zachary Snow c656cbb977 fix package and interface warnings in verbose mode
- warnings were skipped because verbose about was technically not empty
- add test suite for these warnings in both modes
2021-02-03 09:57:07 -05:00
Zachary Snow 5aea0ee95e add write adjacent mode 2021-02-03 09:30:30 -05:00
Zachary Snow 5891a0eb7d improve edge case messaging
- error for unbound module instance interface ports
- warning for converting an interface alone
- warning for converting a package alone
- update terminology for modules removed by interface conversion
2020-12-30 17:17:27 -07:00
Zachary Snow f44e3e808a add option to skip preprocessing 2020-03-18 20:02:20 -04:00
Zachary Snow bdafb60dec lexical and parse errors print to stderr 2019-09-17 19:34:56 -04:00
Zachary Snow c0e38f793d updated CLI (backwards compatible) 2019-09-15 10:31:50 -04:00
Zachary Snow 90bc30d4be add --oneunit, which treats all input files as being part of one compilation unit 2019-08-05 22:00:04 -04:00
Zachary Snow 33dc4b3f88 conversions are applied per-file
- NestTF refactored to cover all package items
- fixed issue where type traverse skipped typedefs
2019-04-23 18:51:39 -04:00
Zachary Snow f59ed11ef5 add support for specifying compile-time defines 2019-04-02 16:19:59 -04:00
Zachary Snow 0d9ed3e1fa updated CLI to support include dirs and multiple files 2019-03-28 19:55:53 -04:00
Zachary Snow acfbdb07f8 completely rewrote preprocessor; more extensive directive support (include, timescale) 2019-03-18 05:00:23 -04:00
Zachary Snow d7f641b850 pivoted to general Verilog-2005 targeting 2019-03-08 11:02:40 -05:00
Zachary Snow 945923b3fd cleaned up command line args module a bit 2019-02-28 14:06:35 -05:00
Zachary Snow 7bc81ef67b directory re-org; streamline build setup 2019-02-28 13:52:31 -05:00