Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | memory_bram: Fix ignorance of valid, matched rules | David Shah | 2020-04-10 | 1 | -3/+3 |
| | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | Merge pull request #1603 from whitequark/ice40-ram_style | whitequark | 2020-04-10 | 2 | -13/+148 |
|\ | | | | | ice40/ecp5: add support for both 1364.1 and Synplify/LSE RAM/ROM attributes | ||||
| * | memory_map: add -attr option, to respect inference attributes. | whitequark | 2020-04-03 | 1 | -6/+113 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, memory_map (which is always a part of a synth script) would always pick up any $mem cell that was not processed by a preceding pass and lower it down to $dff/$mux cells. This is undesirable for two reasons: * If there is an explicit inference attribute set on a $mem cell, e.g. (* ram_block *), then it is arguably incorrect to map such a memory to $dff/$mux cells. * If memory_map tries to lower a memory that was intended to be mapped to a large BRAM, it often takes extraordinarily long time to finish, produces an extremely large log file, and outputs an unusable design. After this commit, properly invoked memory_map will not map any memory that has an explicit inference attribute specified, solving the first issue, and alleviating the second. The default behavior is not changed. | ||||
| * | memory_bram: add `attr_icase` option. | whitequark | 2020-02-06 | 1 | -7/+35 |
| | | | | | | | | | | Some vendor toolchains use case insensitive matching for values of attributes that control BRAM inference. | ||||
* | | Merge pull request #1890 from boqwxp/cleanup_memory_collect | N. Engelhardt | 2020-04-09 | 1 | -6/+3 |
|\ \ | | | | | | | Clean up `passes/memory/memory_collect.cc`. | ||||
| * | | Clean up `passes/memory/memory_collect.cc`. | Alberto Gonzalez | 2020-04-09 | 1 | -6/+3 |
| | | | |||||
* | | | Clean up `passes/memory/memory_unpack.cc`. | Alberto Gonzalez | 2020-04-09 | 1 | -7/+6 |
|/ / | |||||
* | | kernel: big fat patch to use more ID::*, otherwise ID(*) | Eddie Hung | 2020-04-02 | 8 | -322/+322 |
| | | |||||
* | | kernel: use more ID::* | Eddie Hung | 2020-04-02 | 3 | -40/+40 |
| | | |||||
* | | Merge pull request #1845 from YosysHQ/eddie/kernel_speedup | Eddie Hung | 2020-04-02 | 1 | -8/+8 |
|\ \ | | | | | | | kernel: speedup by using more pass-by-const-ref | ||||
| * | | kernel: SigSpec use more const& + overloads to prevent implicit SigSpec | Eddie Hung | 2020-03-13 | 1 | -8/+8 |
| |/ | |||||
* | | memory_share: fix stray brace | Eddie Hung | 2020-03-30 | 1 | -1/+0 |
| | | |||||
* | | Code review fixes | Eddie Hung | 2020-03-30 | 1 | -2/+2 |
| | | |||||
* | | Apply suggestions from code review | Eddie Hung | 2020-03-30 | 1 | -4/+1 |
| | | | | | | Co-Authored-By: Alberto Gonzalez <61295559+boqwxp@users.noreply.github.com> | ||||
* | | kernel: share a single CellTypes within a pass | Eddie Hung | 2020-03-18 | 1 | -4/+16 |
|/ | |||||
* | Cleanup | Eddie Hung | 2019-12-17 | 1 | -11/+7 |
| | |||||
* | Enforce non-existence | Eddie Hung | 2019-12-16 | 1 | -0/+4 |
| | |||||
* | Update doc | Eddie Hung | 2019-12-16 | 1 | -4/+6 |
| | |||||
* | More sloppiness, thanks @dh73 for spotting | Eddie Hung | 2019-12-16 | 1 | -4/+4 |
| | |||||
* | Oops | Eddie Hung | 2019-12-16 | 1 | -4/+1 |
| | |||||
* | Implement 'attributes' grammar | Eddie Hung | 2019-12-16 | 1 | -80/+88 |
| | |||||
* | Fixing compiler warning/issues. Moving test script to the correct place | Diego H | 2019-12-16 | 1 | -8/+8 |
| | |||||
* | Merging attribute rules into a single match block; Adding tests | Diego H | 2019-12-15 | 1 | -68/+80 |
| | |||||
* | Refactoring memory attribute matching based on IEEE 1364.1 and Tool specific | Diego H | 2019-12-13 | 1 | -0/+77 |
| | |||||
* | Merge pull request #1501 from YosysHQ/dave/mem_copy_attr | Clifford Wolf | 2019-11-27 | 1 | -0/+4 |
|\ | | | | | memory_collect: Copy attr from RTLIL::Memory to cell | ||||
| * | memory_collect: Copy attr from RTLIL::Memory to cell | David Shah | 2019-11-18 | 1 | -0/+4 |
| | | | | | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | | Add "opt_mem" pass | Clifford Wolf | 2019-11-22 | 1 | -0/+2 |
|/ | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | stoi -> atoi | Eddie Hung | 2019-08-07 | 1 | -4/+4 |
| | |||||
* | Use std::stoi instead of atoi(<str>.c_str()) | Eddie Hung | 2019-08-06 | 1 | -4/+4 |
| | |||||
* | Use State::S{0,1} | Eddie Hung | 2019-08-06 | 2 | -6/+6 |
| | |||||
* | Make liberal use of IdString.in() | Eddie Hung | 2019-08-06 | 2 | -4/+4 |
| | |||||
* | Error out if enable > dbits | Eddie Hung | 2019-07-13 | 1 | -0/+4 |
| | |||||
* | memory_dff: Fix checking of feedback mux input when more than one mux | David Shah | 2019-07-02 | 1 | -3/+5 |
| | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | Fix spacing | Eddie Hung | 2019-06-25 | 1 | -4/+3 |
| | |||||
* | Move only one consumer check outside of while loop | Eddie Hung | 2019-06-25 | 1 | -6/+5 |
| | |||||
* | Walk through as many muxes as exist for rd_en | Eddie Hung | 2019-06-24 | 1 | -8/+16 |
| | |||||
* | memory_bram: Fix multiport make_transp | David Shah | 2019-04-07 | 1 | -1/+2 |
| | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | memory_bram: Consider read enable for address expansion register | David Shah | 2019-04-02 | 1 | -0/+2 |
| | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | memory_bram: Reset make_transp when growing read ports | David Shah | 2019-03-27 | 1 | -0/+1 |
| | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | memory_bram: Fix multiclock make_transp | David Shah | 2019-03-24 | 1 | -9/+16 |
| | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | memory_collect: do not truncate 'x from \INIT. | whitequark | 2018-12-21 | 1 | -3/+0 |
| | | | | | | | The semantics of an RTLIL constant that has less bits than its declared bit width is zero padding. Therefore, if the output of memory_collect will be used for simulation, truncating 'x from the end of \INIT will produce incorrect simulation results. | ||||
* | memory_dff: Fix typo when checking init value | David Shah | 2018-12-18 | 1 | -1/+1 |
| | | | | Signed-off-by: David Shah <davey1576@gmail.com> | ||||
* | memory_bram: Fix initdata bit order after shuffling | Graham Edgecombe | 2018-12-11 | 1 | -0/+17 |
| | | | | | | | | | | | | | In some cases the memory_bram pass shuffles the order of the bits in a memory's RD_DATA port. Although the order of the bits in the WR_DATA and WR_EN ports is changed to match the RD_DATA port, the order of the bits in the initialization data is not. This causes reads of initialized memories to return invalid data (until the initialization data is overwritten). This commit fixes the bug by shuffling the initdata bits in exactly the same order as the RD_DATA/WR_DATA/WR_EN bits. | ||||
* | memory_bram: Reset make_outreg when growing read ports | David Shah | 2018-10-19 | 1 | -0/+1 |
| | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | Consistent use of 'override' for virtual methods in derived classes. | Henner Zeller | 2018-07-20 | 9 | -18/+18 |
| | | | | | | | | | o Not all derived methods were marked 'override', but it is a great feature of C++11 that we should make use of. o While at it: touched header files got a -*- c++ -*- for emacs to provide support for that language. o use YS_OVERRIDE for all override keywords (though we should probably use the plain keyword going forward now that C++11 is established) | ||||
* | Disable memory_dff for initialized FFs | Clifford Wolf | 2018-05-28 | 1 | -1/+19 |
| | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | Add some cleanup code to memory_nordff | Clifford Wolf | 2018-05-28 | 1 | -26/+36 |
| | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | Add "memory_nordff" pass | Clifford Wolf | 2018-03-06 | 2 | -0/+112 |
| | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | Typo fix. | Kaj Tuomi | 2016-09-08 | 1 | -1/+1 |
| | |||||
* | Fixed handling of transparent bram rd ports on ROMs | Clifford Wolf | 2016-08-27 | 1 | -0/+3 |
| |