Some types of warnings you can simply ignore
- adjusted size. If for example a<=2, 2 is 32-bit constant. If a is 8bit port, the constant will be truncated and the warning will emerge
- timing. When not initialized in proper file (I still don't know how to prepare this) it assumes 1 ns delay/hold/propagation times which cannot be achieved
Some types of warnings you can simply ignore
- adjusted size. If for example a<=2, 2 is 32-bit constant. If a is 8bit port, the constant will be truncated and the warning will emerge
You can use sized constants, like 9'd16, 8'd226, 4'b1000 , and also use
`define CtrZERO 10'd000
if that makes code clearer, or easier to safely reconfig.
Some types of warnings you can simply ignore
- adjusted size. If for example a<=2, 2 is 32-bit constant. If a is 8bit port, the constant will be truncated and the warning will emerge
- timing. When not initialized in proper file (I still don't know how to prepare this) it assumes 1 ns delay/hold/propagation times which cannot be achieved
Yes, it's the timing ones I worry about. Not sure how many that was, but as I add to the code there are more timing warnings.
SDRAM now added and first tested. In my retrocomputer memory map it is now available at addresses from $1_000_000 to $2_FFF_FFF - 128 MB free for the P1V.
I have now fast blitting procedure - 9 PASM instruction for one long copy in all memory space. It means in the Mode 10 (448x280x256 colors) full screen save to sdram or restore from sdram needs about 10 ms... and 1000 such frames can be saved in SDRAM...
The project still need some work until I'll put the sources and demos here, and this is no more VGA driver. It starting to be Propeller powered retrocomputer system on DE2-115
Now it has "chip memory" (SRAM), "fast memory" (SDRAM), sound, keyboard, mouse and framebuffer with sprites. All the memory space is accessed in the same way
I need now an xmm machine to use this huge space and some Basic (or maybe something other.. Forth?) to program the retromachine... time to look at some Basics available for the Propeller...
The project - now the retromachine project - is made for DE2-115 board and uses specific hardware parts of this board - video DAC, audio codec, SRAM, SDRAM, LEDs.
This project can be modified to run on another FPGA board. SDRAM is optional; the minimum RAM for this to work is 512 kB and this can be the RAM inside the FPGA, if it has a sufficient amount for this, or else the graphics resolution can be reduced to use less ram (560 vertical pixels modes use 256 kB)
The real Propeller 1 cannot do this because the project uses its port B which is not connected in Propeller 1 chip. Also, the Port B is split to inb, outb and dirb to make a system bus.
Comments
- adjusted size. If for example a<=2, 2 is 32-bit constant. If a is 8bit port, the constant will be truncated and the warning will emerge
- timing. When not initialized in proper file (I still don't know how to prepare this) it assumes 1 ns delay/hold/propagation times which cannot be achieved
If you could start by integrating SDRAM into a plain P1v block design, it would be very much appreciated:)
Rich
You can use sized constants, like 9'd16, 8'd226, 4'b1000 , and also use
`define CtrZERO 10'd000
if that makes code clearer, or easier to safely reconfig.
Nice to see you are progressing with this driver.
The memory map (in longs) as it is now:
- $0000_0000 - $0007_FFFF - SRAM and frame buffer
- $0008_0000 - $0008_03FF - pallette registers
- $0008_1000 - $0008_17FF - font definition
- $0008_2000 - $0008_25FF - sprites
- $0008_3000 - $0008_300F - internal VGA registers
- $0010_0000 - $0010_00FF - audio bufer
- $0020_0000 - $00FF_FFFF - reserved for 15 other i/o devices
- $0100_0000 - $02FF_FFFF - SDRAM
The project still need some work until I'll put the sources and demos here, and this is no more VGA driver. It starting to be Propeller powered retrocomputer system on DE2-115
Now it has "chip memory" (SRAM), "fast memory" (SDRAM), sound, keyboard, mouse and framebuffer with sprites. All the memory space is accessed in the same way
I need now an xmm machine to use this huge space and some Basic (or maybe something other.. Forth?) to program the retromachine... time to look at some Basics available for the Propeller...
What is required to get this working? A large FPGA board or can the propeller be somehow augmented to support this?
This project can be modified to run on another FPGA board. SDRAM is optional; the minimum RAM for this to work is 512 kB and this can be the RAM inside the FPGA, if it has a sufficient amount for this, or else the graphics resolution can be reduced to use less ram (560 vertical pixels modes use 256 kB)
The real Propeller 1 cannot do this because the project uses its port B which is not connected in Propeller 1 chip. Also, the Port B is split to inb, outb and dirb to make a system bus.