aboutsummaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorwhitequark <whitequark@whitequark.org>2020-01-01 06:18:53 +0000
committerwhitequark <whitequark@whitequark.org>2020-02-06 14:58:20 +0000
commitfc28bf55aa65ce86b3e340333751b466935f8b5f (patch)
tree833fdf5d1c8bfa471e714f148b79bdc125507083 /libs
parent29d130dee93c6c6c8dff51535e3a673065f3eb35 (diff)
downloadyosys-fc28bf55aa65ce86b3e340333751b466935f8b5f.tar.gz
yosys-fc28bf55aa65ce86b3e340333751b466935f8b5f.tar.bz2
yosys-fc28bf55aa65ce86b3e340333751b466935f8b5f.zip
ice40: add support for both 1364.1 and LSE RAM/ROM attributes.
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).
Diffstat (limited to 'libs')
0 files changed, 0 insertions, 0 deletions
id='n125' href='#n125'>125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166