Commit Graph

515 Commits

Author SHA1 Message Date
Zachary Snow cbe0071e43 fix bit param sizing (resolves #94) 2020-06-14 19:45:32 -04:00
Zachary Snow 12be569742 reduce usage of maybe 2020-06-14 15:56:09 -04:00
Zachary Snow b71e0f5346 performance improvements
- removed repetition in dimension query conversion
- removed repetition in package item nesting conversion
- packing item nesting conversion short circuit
- param type conversion doesn't bother renaming non-param type instances
- implement showsPrec for certain expression cases
2020-06-14 09:20:34 -04:00
Zachary Snow 682620b23f struct conversion includes exprs in decls 2020-06-13 22:14:53 -04:00
Zachary Snow 3baa9cbac7 simplify typedef conversion 2020-06-11 20:37:53 -04:00
Zachary Snow 9adb7522e9 improve stmt representation 2020-06-09 21:18:31 -04:00
Zachary Snow 2f5b746e27 upgrade CI workflow 2020-06-07 21:50:50 -04:00
Zachary Snow 5ed053d317 add error test suite 2020-06-07 16:47:27 -04:00
Zachary Snow b58cf5bf07 remove empty generate conditionals 2020-06-07 14:26:53 -04:00
Zachary Snow 2bc2eb59d8 advanced typeof support
- most binary operators
- ternary expressions
- bitwise negation
- number literals
- size casts
- concat and repeat expressions
2020-06-07 13:13:19 -04:00
Zachary Snow d0a6b0f529 fix 32 bit constant cast 2020-06-07 00:28:55 -04:00
Zachary Snow 3186afe400 additional expression simplification cases 2020-06-06 23:18:22 -04:00
Zachary Snow 82703834ac constant folding for shifts 2020-06-06 22:45:17 -04:00
Zachary Snow 2d7982f81e simplify $bits on simple part selects 2020-06-06 21:28:37 -04:00
Zachary Snow eb93ba67fc integer atom explicit sign cast support 2020-06-06 21:26:14 -04:00
Zachary Snow a8346f2f88 actually fix unbased unsized literals in ternary exprs 2020-06-06 17:01:27 -04:00
Zachary Snow 71d174877d use new cabal build-tool-depends syntax 2020-06-06 13:48:28 -04:00
Zachary Snow 355b62da70 pack arrays in ternary expressions assigned to other arrays 2020-06-06 13:42:30 -04:00
Zachary Snow 5b4fdfe7df upgrade cabal file format 2020-06-06 00:00:21 -04:00
Zachary Snow 7e20b74147 logic conversion handles shadowing 2020-06-05 21:41:03 -04:00
Zachary Snow 80bfbc1e8a fix unbased unsized literals in ternary exprs 2020-06-05 21:40:59 -04:00
Zachary Snow 9249c9fa2b typdef conversion obeys generate scoping 2020-06-05 21:38:31 -04:00
Zachary Snow ae392d4536 fix single bit enum sizing
- single bit localparams retain explicit range
- fix $bits on unsized literals
- use Implicit over Maybe for underlying type
2020-06-05 21:32:02 -04:00
Zachary Snow 97b2d1d166 fix declaration order of generated enum items 2020-06-05 21:32:02 -04:00
Zachary Snow ecf047e36e fix declaration order of nested package items 2020-06-05 21:31:58 -04:00
Zachary Snow b6f4f690e7 support simple bundle interfaces
- fix position modport-to-modport bindings
- inout logics converted to regs become outputs
2020-06-03 20:26:17 -04:00
b1f6c1c4 589261a91b
add .gitattributes for GitHub Linguist (#87)
Some .v files are incorrectly identified by GitHub Linguist as Coq or Vlang
files, which confuses people who browse the repo on GitHub. According to
https://github.com/github/linguist#using-gitattributes adding a .gitattributes
file can solve this problem.
2020-06-02 18:24:59 -04:00
Zachary Snow ec760964c7 remove empty initial blocks (resolves #89) 2020-06-02 08:29:12 -04:00
Zachary Snow 478f0d19d2 fix premature typename cast conversion (resolves #88) 2020-06-01 18:19:47 -04:00
Zachary Snow 9042145695 substitute localparams into type params 2020-05-31 22:01:40 -04:00
Zachary Snow ea81d55cdc fix duplicate param type modules 2020-05-31 22:00:57 -04:00
Zachary Snow 790312d25d vim modelines for Lex.x and Parse.y 2020-05-06 19:03:32 -04:00
Zachary Snow a0c3112b6c flatten tf blocks with decls 2020-05-05 19:32:37 -04:00
Zachary Snow 9e7768b66a simplify folded procedural branches 2020-05-05 18:50:20 -04:00
Zachary Snow fc9b0b5978 streamline stream conversion 2020-05-05 18:42:45 -04:00
Zachary Snow 3e85885def fix conversion of multi-packed arrays in packages 2020-05-04 19:22:36 -04:00
Zachary Snow 2ac236dd03 add CMU acknowledgement 2020-04-16 18:12:05 -04:00
Zachary Snow f381476161 support nested interfaces 2020-04-13 22:50:41 -04:00
Zachary Snow c5ef5ea9e2 additional expression simplification
- constant folding supports hex numbers
- simplify mod
- simplify pow
- elaborate !(a == b) into a != b
2020-04-05 23:12:54 -04:00
Zachary Snow df7277a6a0 simplification applies to exprs in decls 2020-04-05 22:13:19 -04:00
Zachary Snow 543a104683 upgrade to stackage lts-14.26 2020-04-05 13:45:31 -04:00
Zachary Snow b8d512e31f remove unneeded imports 2020-04-05 13:45:22 -04:00
Zachary Snow c262324a36 removed Unique dependency
- made stream conversion pure
- type param conversion uses Set for instance uniqueness
- updated NOTICE and resolutions
2020-04-05 13:09:52 -04:00
Zachary Snow 409f80ea83 cleanup workflows 2020-03-30 21:41:13 -04:00
Zachary Snow a38d49982a fix release artifact uploads 2020-03-30 19:52:41 -04:00
Zachary Snow 3831dcffee bump release version 2020-03-30 19:50:04 -04:00
Zachary Snow bcafef8d01 allow empty list_of_parameter_assignments 2020-03-30 19:27:44 -04:00
Zachary Snow 279a19ab9d refactored CI workflow
- added Windows build
- separate build and test jobs
- per-OS release artifact generation
2020-03-30 19:13:16 -04:00
Zachary Snow 1687b1c5c1 allow empty parameter_port_list (resolves #83) 2020-03-25 23:55:19 -04:00
Zachary Snow e7381c4db2 fix double multipack conversion of Exprs in LHSs 2020-03-24 22:02:38 -04:00