??? 02/06/05 09:33 Read: times Msg Score: +1 +1 Good Answer/Helpful |
#86648 - It worked this time Responding to: ???'s previous message |
So its a very simple vga controler targeted at Altera ACEX or 10K flex devices.It uses the internal ram to support a 64x64 8 colour resolution display.The ram is used in dual port mode which means that it can be written to at the same time as being read which makes the control stucture very simple.
To use it edit 8052_vga and change the constants constant upper_addr :unsigned:=X"FF"; constant colour_reg :unsigned:=X"00"; constant row_reg :unsigned:=X"01"; constant col_reg :unsigned:=X"02"; to meet your requirements.These are the registers which are written to by the 8052 to write to the vidoe ram. The top level interface is shown here: clk ---25.175 Mhz clk reset ---active low reset addr_data ---Low order data/address bus addr_high ---high order data/address byte write ---write data ale psen_n rd_n wr_n hsync ---VGA hsync output vsync ---VGA Vsync output red ---VGA red output green ---VGA green blue ---See if you can guess int_n ---low going interrupt at end of each vga frame The int_n output should be set to use an open drain output in order to allow multiple interrupts to be wired-ored The colour register format is green=bit0,red=bit1,blue=bit2 simple write the required colour data into the colour register,set the row and column registers and set write high. If your system clock is higher than 25.175 Mhz then you may need to divide it down in the fpga and derive the vga clock from that. |
Topic | Author | Date |
code library error | 01/01/70 00:00 | |
Fixed, I think | 01/01/70 00:00 | |
It worked this time | 01/01/70 00:00 | |
Free Ram library![]() | 01/01/70 00:00 |