The USB 2.0 capabilities are provided by the FT232RL, which is an USB to UART converter IC. So we just have to write some verilog to create an UART module to interface with the FT232RL for USB communication .
The verilog consists of 3 modules: baud_generator, uartrx and uarttx.
A problem with many SRAM ic's is that they are asynchronous. This is tricky too use in the synchronous FPGA world. This example shows how to interface with a cheap (€4.271)) and high speed (80 MHz) CY7C1041CV33, a 4Mbit (256k x16) SRAM ic, with a MAXII CPLD.
Although the Cyclone EP1C6 does not contain enough ram bits to display graphics on this huge display. It can be used as a large character display, with the capabilities to display up to 1.620 characters (27×60) with a 8x16 font.
The verilog provided at 4.3_psp_lcd can also be used to drive a VGA display. Only the timing and resolution in h_sync, v_sync and in_picture and the pixel clock in clk should be changed to the correct values as explained in vga_timing.