I haven't got what is a Maggie. Is there any doc?
Can't you implement a simpler SDRAM controller rather than DDR3?
MAGGIE is our creation. It stands for
This (multiple) address generator/graphics instruction engine (let's follow in the footsteps of the Amiga architects and call it MAGGIE).
It all began here 1 year ago:
https://www.eevblog.com/forum/fpga/fpga-vga-controller-for-8-bit-computer/msg2783972/#msg2783972It is a part of this VGA controller which generate a display window.
Each 'MAGGIE' layer/display window can be any color bit depth, 1bit, 2bit, 4bit, 8bit, 16 bit color.
Each one can have separate horizontal and vertical pixel zoom sizes, window sizes, horizontal raster sizes (even values larger than the visible screen area), and can point anywhere within system memory.
Each one has a priority, IE 1 window sits on top of another with optional transparent pixels.
When using the 16bit ARGB (alpha blend mix value, R,G,B), a gradient transparency from 1 MAGGIE window layer to the next renders each pixel drawn using the alpha color value to render a true 24bit color blend selection of those 2 pixels color values.
Windows with less than 8bit 256 color can be assigned to different parts of the 2x 256 color palettes. 16bit mode is true-color mode which again can be set to 4444-ARGB color, or 565-RGB color.
The windows have active pixel collision detection.
And a MAGGIE layer can be set to tile/font mode where it's read data points to any other font/tile point in memory with that font being 8x8,8x16,16x8,16x16 pixels & the font/tile memory can also be 1bit, 2bit, 4bit ,8bit, 16 bit color.
Think of it as a hardware accelerated window system where we can display 15 windows simultaneously, each with different video modes & palettes all at once with different transparency features for overlays.