johnMamish / jfpjc

John's Field-Programmable JPEG Compressor; a jpeg compressor written in verilog. Currently targeted to deploy to Lattice's iCE40 up5k fpga.
MIT License
8 stars 1 forks source link

Make JFPJC BRAM usage FPGA agnostic #3

Open johnMamish opened 2 years ago

johnMamish commented 2 years ago

JFPJC explicitly instantiates iCE40 block RAM in its core. This explicit dependence on iCE40 block ram should be removed. Instead, arrays of memory with parameterizable size should be used so that synthesis tools can infer appropriate block sizes. Furthermore, we should also provide options / infrastructure that lets a user explicitly instantiate block RAMs by changing an include and adding a short verilog module.

The BRAMs are used in a few different spots; their usage needs to be updated in all these spots: