🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: sci.electronics
Article #4882

Re: Frame Buffers

#4882
From: David Chapman
Date: Wed, 27 Jun 1990 02:07
59 lines
3836 bytes
In article <2229@mindlink.UUCP> a575@mindlink.UUCP (Michael G. Henders) writes:
>I'm curious about how one goes about building a frame buffer for a high-res.
>graphics board, in terms of the memory arrangement.  I understand how VRAMS
>work, but I'm having trouble figuring out how one would build the frame buffer
>out of DRAMS (or even SRAMS, for that matter).  Let's consider SRAMS, to avoid
>having to worry about refresh; for a 1024x1024x8 screen, with 60 Hz

Actually DRAMs work just fine.  Use the memory access as the refresh!  You
just have to get the address bits connected in the right order.  It's been
too long since I've designed with DRAMs (16 Kbit DRAMs were new), so I may
get RAS and CAS confused in the following discussion.  As I recall, selecting
a row with RAS automatically refreshes all of the bits in it, even if you
then read or write one bit in it with CAS.

As a result, if you make your low-order address bits (in the scan line, not 
the scan line number) be the RAS bits (vs. CAS), then your memory will be 
refreshed at much more than the minimum rate!

>non-interlaced raster update, we need a new pixel every 15.9 ns, neglecting
>blanking intervals.  Let's say it's 14 ns.
>
> Now, the obvious (and, I suspect, wrong) way to do this is to use x8 RAM, with
>each address representing one pixel.  This means 14 ns. access intervals.  Less
>obvious (but maybe more likely) is to use x8 RAM, with each address
>representing one bit of 8 pixels.  This means you access 8 chips in parallel,
>with a 112 ns access interval.  So far, so good; this sounds like it might
>actually work.  :)  BUT, how does it work with the more common x1 RAM chips??
>In this case, you access 8 chips in parallel, but you only get one pixel out of
>it, so the access interval is 14 ns; pretty quick for SRAM, and right out for
>DRAM.

The best way is to read n bits at once into a shift register, then use your
dot clock to shift out the bits.  This is the way that video DRAMs work.
For example, if you had two x8 RAMs (DRAM or SRAM), then you would have a
16-bit shift register and would need to access memory at 1/16 the dot clock
rate (14 ns x 16 is 224 ns - no problem with today's DRAMs).  If this is 
faster than your memory cycle time (*not* access time), then simply make the 
shift register and memory bank wider.  You *never* access the RAM bit-by-bit 
"at speed", only word-by-word.  In fact, your graphics controller is probably 
going to have to manage reads and writes to video RAM for you, to get 
individual bits and to schedule your access in between display refresh 
accesses.

The key is that you never use the addressing bits at the bottom - the ones
that change the fastest.  With 16 bits read at once, the lowest 4 bits of
the dot address in the row are discarded.  You gain access to them implicitly
during display via the shift register and explicitly during processor read/
write using masking or special hardware.  You lose the ability to access
dots directly (at least without special hardware), but as you can see you
gain the ability to display your data.  How you get the 16 (or 32) bits is
up to you:  16 x1, 4 x4, 2 x8, etc.  It makes no difference.

By the way, 70 MHz dot clock rates (the 14 ns you quote above) are not
unheard of.
-- 
		David Chapman

{known world}!decwrl!vlsisj!fndry!davidc
vlsisj!fndry!davidc@decwrl.dec.com
Technical Details
Message-ID: <15614@vlsisj.VLSI.COM>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!lll-winken!sun-barr!newstop!sun!amdcad!weitek!practic!vlsisj!davidc
References: <2229@mindlink.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!lll-winken!sun-barr!newstop!sun!amdcad!weitek!practic!vlsisj!davidc
From: davidc@vlsisj.VLSI.COM (David Chapman)
Newsgroups: sci.electronics
Subject: Re: Frame Buffers
Message-ID: <15614@vlsisj.VLSI.COM>
Date: 27 Jun 90 02:07:12 GMT
References: <2229@mindlink.UUCP>
Reply-To: davidc@vlsisj.UUCP (David Chapman)
Organization: VLSI Technology Inc., San Jose, CA
Lines: 59