X16Community / vera-module

Versatile Embedded Retro Adapter
MIT License
14 stars 5 forks source link

FX extendable structure for address logic #9

Closed visual-trials closed 1 year ago

visual-trials commented 1 year ago

This is the last non-functional change to the FX branch.

It changes the structure of the address logic, so it will become extendable. This is needed to add a lot of the functionality of the FX update. Since this change is the last non-functional change, it will essentially become "base camp" after this. Also if this version of VERA is indeed backwards compatible, the changes following this PR can much easier to be proven to be so as well. So checking for equivalence is quite important.

Besides that, another two multipliers (in modulator.v) are replaced by adders. This is needed to (further) reduce timing pressure. The modulator used 4 DSPs before this change, but the DSPs are on the sides/border of the chip. This basicly means the modulator logic has to be "stretched" accross the entire (or at least a large part of the) chip. Reducing it to 3 DSPs helps shorten the paths between the components. This change also frees up 1 DSP, which is not used.


Sidenote 1: due to a change in line-ending (in addr_data.v) the diff view in github doesn't show the actual differences. A local diff-tool probably has to be used (or a side-by-side comparison). Sidenote 2: due to the need for merging back and forth between forks commits of earlier PRs are in this PR. It is there best to concentrate on the actual file differences.