Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ice40: split out cells_map.v into ff_map.v | Eddie Hung | 2020-05-14 | 3 | -31/+29 |
| | |||||
* | ice40: fix ICESTORM_LC process sensitivity | Eddie Hung | 2020-05-12 | 1 | -1/+1 |
| | |||||
* | ice40: fix whitespace | Eddie Hung | 2020-05-12 | 1 | -15/+14 |
| | |||||
* | synth_ice40/ecp5/xilinx: allow abc9.W to be overridden via scratchpad | Eddie Hung | 2020-05-04 | 1 | -8/+16 |
| | |||||
* | Get rid of dffsr2dff. | Marcelina KoĆcielnicka | 2020-04-15 | 1 | -1/+0 |
| | | | | | | This pass is a proper subset of opt_rmdff, which is called by opt, which is called by every synth flow in the coarse part. Thus, it never actually does anything and can be safely removed. | ||||
* | Merge pull request #1603 from whitequark/ice40-ram_style | whitequark | 2020-04-10 | 2 | -1/+63 |
|\ | | | | | ice40/ecp5: add support for both 1364.1 and Synplify/LSE RAM/ROM attributes | ||||
| * | ice40: do not map FFRAM if explicitly requested otherwise. | whitequark | 2020-04-03 | 1 | -1/+3 |
| | | |||||
| * | ice40: match memory inference attribute values case insensitive. | whitequark | 2020-02-06 | 1 | -0/+1 |
| | | | | | | | | LSE/Synplify use case insensitive matching. | ||||
| * | ice40: add support for both 1364.1 and LSE RAM/ROM attributes. | whitequark | 2020-02-06 | 1 | -0/+59 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit tries to carefully follow the documented behavior of LSE and Synplify. It will use `syn_ramstyle` attribute if there are any write ports, and `syn_romstyle` attribute otherwise. * LSE supports both `syn_ramstyle` and `syn_romstyle`. * Synplify only supports `syn_ramstyle`, with same values as LSE. * Synplify also supports `syn_rw_conflict_logic`, which is not documented as supported for LSE. Limitations of the Yosys implementation: * LSE/Synplify appear to interpret attribute values insensitive to case. There is currently no way to do this in Yosys (attrmap can only change case of attribute names). * LSE/Synplify support `syn_ramstyle="block_ram,no_rw_check"` syntax to turn off insertion of transparency logic. There is currently no way to support multiple valued attributes in memory_bram. It is also not clear if that is a good idea, since it can cause sim/synth mismatches. * LSE/Synplify/1364.1 support block ROM inference from full case statements. Yosys does not currently perform this transformation. * LSE/Synplify propagate `syn_ramstyle`/`syn_romstyle` attributes from the module to the inner memories. There is currently no way to do this in Yosys (attrmvcp only works on cells and wires). | ||||
* | | kernel: big fat patch to use more ID::*, otherwise ID(*) | Eddie Hung | 2020-04-02 | 4 | -75/+75 |
| | | |||||
* | | kernel: use more ID::* | Eddie Hung | 2020-04-02 | 3 | -17/+17 |
| | | |||||
* | | Fix indentation in `techlibs/ice40/synth_ice40.cc`. | Alberto Gonzalez | 2020-04-01 | 1 | -4/+4 |
| | | |||||
* | | Merge pull request #1794 from YosysHQ/dave/mince-abc9-fix | David Shah | 2020-03-21 | 1 | -0/+1 |
|\ \ | | | | | | | ice40: Map unmapped 'mince' DFFs to gate level | ||||
| * | | ice40: Map unmapped 'mince' DFFs to gate level | David Shah | 2020-03-20 | 1 | -0/+1 |
| | | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | | | ice40: Fix typos in SPRAM ABC9 timing specs | Sylvain Munaut | 2020-03-20 | 1 | -2/+2 |
|/ / | | | | | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | ||||
* | | ice40: Fix SPRAM model to keep data stable if chipselect is low | Sylvain Munaut | 2020-03-14 | 1 | -5/+8 |
| | | | | | | | | | | | | | | | | According to the official simulation model, and also cross-checked on real hardware, the data output of the SPRAM when chipselect is low is kept stable. It doesn't go undefined. Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | ||||
* | | ice40: fix specify for ICE40_{LP,U} | Eddie Hung | 2020-03-05 | 1 | -4/+4 |
| | | |||||
* | | ice40: fix implicit signal in specify, also clamp negative times to 0 | Eddie Hung | 2020-03-04 | 1 | -22/+22 |
| | | |||||
* | | Merge pull request #1691 from ZirconiumX/use-flowmap-in-noabc | N. Engelhardt | 2020-03-03 | 1 | -4/+22 |
|\ \ | | | | | | | Add -flowmap option to `synth{,_ice40}` | ||||
| * | | Add -flowmap to synth and synth_ice40 | Dan Ravensloft | 2020-02-28 | 1 | -4/+22 |
| |/ | |||||
* | | ice40: add delays to SB_CARRY | Eddie Hung | 2020-02-27 | 1 | -0/+30 |
| | | |||||
* | | More +/ice40/cells_sim.v fixes | Eddie Hung | 2020-02-27 | 1 | -27/+27 |
| | | |||||
* | | ice40: fix specify for inverted clocks | Eddie Hung | 2020-02-27 | 1 | -27/+27 |
| | | |||||
* | | ice40: specify fixes | Eddie Hung | 2020-02-27 | 3 | -66/+66 |
| | | |||||
* | | ice40: move over to specify blocks for -abc9 | Eddie Hung | 2020-02-27 | 10 | -164/+1344 |
|/ | |||||
* | synth_*: call 'opt -fast' after 'techmap' | Eddie Hung | 2020-02-05 | 1 | -0/+1 |
| | |||||
* | Fix $lut input ordering -- SigSpec(std::initializer_list<>) is backwards | Eddie Hung | 2020-01-27 | 1 | -1/+1 |
| | | | | Just like Verilog... | ||||
* | Import tests from #1628 | Eddie Hung | 2020-01-27 | 1 | -2/+2 |
| | |||||
* | xilinx/ice40/ecp5: undo permuting LUT masks in lut_map | Eddie Hung | 2020-01-27 | 1 | -7/+6 |
| | | | | Now done in read_aiger | ||||
* | Merge pull request #1656 from YosysHQ/eddie/ice40_abc9_warnings | Eddie Hung | 2020-01-27 | 4 | -6/+10 |
|\ | | | | | ice40: reduce ABC9 internal fanout warnings with a param for CI->I3 | ||||
| * | ice40: reduce ABC9 internal fanout warnings with a param for CI->I3 | Eddie Hung | 2020-01-24 | 4 | -6/+10 |
| | | |||||
* | | ice40: add SB_SPRAM256KA arrival time | Eddie Hung | 2020-01-24 | 1 | -0/+1 |
|/ | |||||
* | Merge pull request #1602 from niklasnisbeth/ice40-init-vals-warning | David Shah | 2020-01-18 | 1 | -2/+8 |
|\ | | | | | ice40: Demote conflicting FF init values to a warning | ||||
| * | ice40: Demote conflicting FF init values to a warning | Niklas Nisbeth | 2019-12-31 | 1 | -2/+8 |
| | | |||||
* | | synth_ice40: call wreduce before mul2dsp | Eddie Hung | 2020-01-17 | 1 | -1/+2 |
| | | |||||
* | | synth_ice40: -abc2 to always use `abc` even if `-abc9` | Eddie Hung | 2020-01-12 | 1 | -10/+10 |
| | | |||||
* | | Merge remote-tracking branch 'origin/master' into xaig_dff | Eddie Hung | 2020-01-06 | 1 | -0/+2 |
|\ \ | |||||
| * | | Valid to have attribute starting with SB_CARRY. | Miodrag Milanovic | 2020-01-04 | 1 | -0/+2 |
| | | | |||||
* | | | Merge remote-tracking branch 'origin/master' into xaig_dff | Eddie Hung | 2020-01-02 | 1 | -2/+2 |
|\| | | |||||
| * | | Update doc that "-retime" calls abc with "-dff -D 1" | Eddie Hung | 2019-12-30 | 1 | -1/+1 |
| | | | |||||
| * | | Revert "Revert "synth_* with -retime option now calls abc with -D 1 as well"" | Eddie Hung | 2019-12-30 | 1 | -1/+1 |
| |/ | | | | | | | This reverts commit 6008bb7002f874e5c748eaa2050e7b6c17b32745. | ||||
| * | Revert "Optimise write_xaiger" | Eddie Hung | 2019-12-20 | 1 | -5/+0 |
| | | |||||
| * | Merge pull request #1558 from YosysHQ/eddie/xaiger_cleanup | Eddie Hung | 2019-12-19 | 1 | -0/+5 |
| |\ | | | | | | | Optimise write_xaiger | ||||
| | * | techmap/aigmap of whiteboxes to occur before abc9 instead of in write_xaiger | Eddie Hung | 2019-12-06 | 1 | -0/+5 |
| | | | |||||
* | | | Cleanup ice40 boxes | Eddie Hung | 2019-12-31 | 3 | -30/+43 |
|/ / | |||||
* | | ice40_opt to restore attributes/name when unwrapping | Eddie Hung | 2019-12-09 | 1 | -0/+15 |
| | | |||||
* | | Sensitive to direct inst of $__ICE40_CARRY_WRAPPER; recreate SB_LUT4 | Eddie Hung | 2019-12-09 | 1 | -1/+1 |
| | | |||||
* | | ice40_wrapcarry to really preserve attributes via -unwrap option | Eddie Hung | 2019-12-09 | 2 | -19/+1 |
| | | |||||
* | | $__ICE40_CARRY_WRAPPER to use _TECHMAP_REPLACE_ for SB_CARRY to preserve | Eddie Hung | 2019-12-03 | 1 | -1/+1 |
| | | | | | | | | name and attr | ||||
* | | ice40_opt to ignore (* keep *) -ed cells | Eddie Hung | 2019-12-03 | 1 | -0/+5 |
|/ |