Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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.

List of 4 messages in thread
TopicAuthorDate
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      

Back to Subject List