[Open-graphics] Re: Timing number computations
Timothy Miller
theosib at gmail.com
Wed Sep 27 15:27:21 EDT 2006
Well, since no one else has jumped on this timing number thing, I'll
take some guesses.
On 9/26/06, Timothy Miller <theosib at gmail.com> wrote:
> Check me on these, please. I use CP to represent the clock period in
> ns. CL is the cas latency (in clock cycles)
>
>
> r2w_wait = ceil(CL)
This is easy. I think values of 1, 2, 3, and 4 are good.
>
> w2r_wait = tWTR + 1
I've seen two values if tWTR, 1 and 2. Therefore, we would want
values of 2 and 3. I propose future-proofing by also allowing a value
of 4.
>
> act2rw_wait = ceil(tRCD/CP) - 1
Now, it gets complicated. Let's go for a minimum clock speed of
100Mhz (DDR200, 10ns clock). As for the fastest clock rate, I haven't
looked very hard, but I haven't found a DDR or GDDR memory faster than
300Mhz (DDR300, 3.33ns).
I have two values here for tRCD, 15ns and 20ns. Not a good sample
set, because I'm only looking at two memories. But the idea is to
take the shortest waiting period and divide by the slowest clock to
get the minimum and take the longest waiting period and divide by the
fastest clock to get the max, so here goes:
ceil(15/10) = 2
ceil(20/3.33...) = 6
This means our range is 1 to 5, and I'll tack on 6 just for safety margin.
> w2pre_wait = ceil(tWR/CP) + 1
The only tWR value I find is 15, so...
ceil(15/10) = 2
ceil(15/3.33) = 5
Thist time, we'll go for a range of 1 to 5.
> r2pre_wait = ceil(CL) - 1
We should want values of 1, 2, or 3 (in case there is a CL of 4... is
there ever?), but my design imposes a minimum of 2 cycles between r/w
and precharge.
> pre2act_wait = ceil(tRP/CP) - 1
Again, tRP has values 15 and 20ns, so we'll make this have a range of 1 to 6.
> act2pre_wait = ceil(tRAS/CP) - 1
I only find a value of 40 for this one, so...
ceil(40/10) = 4
ceil(40/3.333....) = 12
So, we want a range of 3 to 11, and we'll add in 12 for safety margin.
>
> refresh2act_wait = ceil(tRFC/CP) - 1
>
I find values of 75 and 70, so...
ceil(70/10) = 7
ceil(75/3.333) = 23
So, we'll allow a range of 6 to 23.
Thoughts?
More information about the Open-graphics
mailing list