| The tool to generate FASM features attempts to minimize divergence from icebox naming. | |
| Differences from IceStorm names: | |
| - `/` marks are replaced with `_` to meet [FASM](https://github.com/SymbiFlow/fasm/blob/master/docs/specification.rst#formal-syntax-specification-of-a-line-of-a-fasm-file) naming convention | |
| - RAM | |
| - RamConfig CBIT[0-3] are combined into READ_MODE and WRITE_MODE | |
| - IO | |
| - IE and REN are inverted from icebox polarity | |
| - PINTYPE are not forwarded and instead SimpleInput and SimpleOutput features cover those bits | |
| TODO: | |
| - [ ] RAMCONFIG CBITS | |
| - [X] Supports READ_MODE adn WRITE_MODE | |
| - [ ] Support RAM Cascade bits | |
| - [X] PowerUp inverted for 1k parts | |
| - [X] IE inverted for 1k parts | |
| - [X] REN inverted | |
| - [ ] Colbuf | |
| - All are on for now, but it's probably power hungry | |
| - [ ] Need to rework routing to represent Column Buffers | |
| - [ ] beyond simple IO | |
| - Should rework solution by in tech mapping and passing parameters | |
| Push down to IceStorm: | |
| - [ ] store tiles as 2D bit arrays for manipulation in iceconfig | |
| - [ ] empty_*() methods should init to lowest power config IE bits so buffers are off |