> The OP may have made a typo when he posted that he
had a 5 Vpp signal on
> his address lines. I expect this really is a 0.5 Vpp signal which is
> nothing to worry about as long as the signal remains above 2.4 V or
below
> 0.4 V from the driver or 2.0 V and 0.8 V at the receiver.
>
> To have a 5 Vpp signal on *any* signal in your system would be very
> unusual, and I mean *VERY*. Most devices in a system are not even
> connected to a 5 V supply.
Or it could be that Werner measured it as +/- 0.85 V overshoot either side of
3.3V.
That would be a lot of ringing, but maybe not unexpected if the address lines
are
unterminated 2 or 3 cm or more from the DSP.
-Jeff
Reply by Jeff Brower●August 19, 20032003-08-19
Mike-
> The 6x11 can r/w bytes, halfwords or words [6711
can read
> double words] on any boundary [if the external h/w supports it].
> The two "missing address bits" are decoded [2:4] as byte enables
0-3.
> If the task is to address bytes, halfwords or words you must have
> logic or hardware capable of selecting sets of 8 bits. If you just
> want a data pattern of '4' or '5' on address pins EA2,3
and
> 4, you must multiply the desired value by 4 [or shift left 2].
My understanding is that regardless of the byte enable values, the processor
still
does not truly operate on "any boundary" and the byte enables are byte
lane
on/off
signals and nothing more. For example, if code does a STW instruction at
address 1,
the processor will not make 2 successive accesses and store 3 bytes on the
first
32
bits and 8bits in the 2nd 32 bits. So with address values not a multiple of
4,
the
only choice is to use xDB and xDH instructions.
That's something I always wondered about. If you know how it works, please
let
me
know.
-Jeff
Jeff Brower <> wrote:
Werner-
> No, ce2 is not an array of int. I just want to
write 0100b on the address
> lines. What lines do I use? The DSK has only
address pins numbered EA2 and > up. What happened to 0 and 1????
0 and 1 are not connected because the C6x11 cannot physically perform byte
and short
int accesses. It only makes physical 32-bit accesses, so the lower 2
address lines
are not needed.
-Jeff
> ----- Original Message -----
> From: "Jeff Brower"
> To: "Werner du Toit"
> Cc:
> Sent: Monday, August 18, 2003 4:48 PM
> Subject: Re: [c6x] EMIF Memory
>
> > Werner-
> >
> > > Can anyone please correct me if I'm wrong, but if I write ce2[0x5]=0x31; > with int *ce2 =(int *) (0xA0000000); to emif on
6711DSK then on the address > lines I must see the following:
> > > EA2 = 3.3V (1)
> > > EA3 = 0V (0)
> > > EA4 = 3.3V (1)
> >
> > Is ce2 an array of int? If so then by accessing index 5, the
address
> lines should be
> > 20, or:
> >
> > A0 A1 A2 A3 A4
> > --------------
> > 1 0 1 0 0
> >
> > And if you say *ce2++ = 0x31, then ce2 will increase by 4.
> >
> > Jeff Brower
> > system engineer
> > Signalogic
> >
> > > and
> > >
> > > ED0 = 3.3V (1)
> > > ED1 = 0V (0)
> > > ED2 = 0V (0)
> > > ED3 = 0V (0)
> > > ED4 = 3.3V (1)
> > > ED5 = 3.3V (1)
> > >
> > > Am I correct in saying this? If not can you please refer me to
any
> documents to read up on this?
> > >
> > > I get the correct values on the databus but not on the address
bus, what > am I doing wrong????
> > >
> > > Thanks
> > > Werner
> >
> >
Reply by Arius - Rick Collins●August 19, 20032003-08-19
At 11:19 AM 8/19/2003, you wrote: >Werner-
>
> > Without having external memory connected I have the write instruction
*(int
> > *)(0xA0000010) = 0x31;. This writes 110001b to the address 0100b. When
I
> > display this on a scope there are some unwanted noise in my address
> lines at
> > 61MHz with a Vp-p of 5V and a duration of 9ns. Do you know anything
about
> > this or could it be that I just have a noisy source??
>
>That's hard to tell. Not connecting the address lines is not a valid
test
>for noise
>measurement; you could see things that turn out to be not relevant and
>also not see
>some things that could be significant. You will have to connect the SDRAM
>devices
>and place the address lines under load and make noise measurements then.
>
>-Jeff
The OP may have made a typo when he posted that he had a 5 Vpp signal on
his address lines. I expect this really is a 0.5 Vpp signal which is
nothing to worry about as long as the signal remains above 2.4 V or below
0.4 V from the driver or 2.0 V and 0.8 V at the receiver.
To have a 5 Vpp signal on *any* signal in your system would be very
unusual, and I mean *VERY*. Most devices in a system are not even
connected to a 5 V supply.
Rick Collins
Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design http://www.arius.com
4 King Ave 301-682-7772 Voice
Frederick, MD 21701-3110 301-682-7666 FAX
Reply by Jeff Brower●August 19, 20032003-08-19
Werner-
> Without having external memory connected I have
the write instruction *(int
> *)(0xA0000010) = 0x31;. This writes 110001b to the address 0100b. When I
> display this on a scope there are some unwanted noise in my address lines
at
> 61MHz with a Vp-p of 5V and a duration of 9ns. Do you know anything
about
> this or could it be that I just have a noisy source??
That's hard to tell. Not connecting the address lines is not a valid test
for
noise
measurement; you could see things that turn out to be not relevant and also
not
see
some things that could be significant. You will have to connect the SDRAM
devices
and place the address lines under load and make noise measurements then.
-Jeff
> ----- Original Message -----
> From: "Jeff Brower" <>
> To: "Werner du Toit" <>; <>
> Sent: Monday, August 18, 2003 5:49 PM
> Subject: Re: [c6x] EMIF Memory
>
> > Werner-
> >
> > > No, ce2 is not an array of int. I just want to write 0100b on
the
> address
> > > lines. What lines do I use? The DSK has only address pins
numbered EA2
> and
> > > up. What happened to 0 and 1????
> >
> > 0 and 1 are not connected because the C6x11 cannot physically perform
byte
> and short
> > int accesses. It only makes physical 32-bit accesses, so the lower
2
> address lines
> > are not needed.
> >
> > -Jeff
> >
> >
> > > ----- Original Message -----
> > > From: "Jeff Brower" <>
> > > To: "Werner du Toit" <>
> > > Cc: <>
> > > Sent: Monday, August 18, 2003 4:48 PM
> > > Subject: Re: [c6x] EMIF Memory
> > >
> > > > Werner-
> > > >
> > > > > Can anyone please correct me if I'm wrong, but if
I write
> ce2[0x5]=0x31;
> > > with int *ce2 =(int *) (0xA0000000); to emif on 6711DSK then on
the
> address
> > > lines I must see the following:
> > > > > EA2 = 3.3V (1)
> > > > > EA3 = 0V (0)
> > > > > EA4 = 3.3V (1)
> > > >
> > > > Is ce2 an array of int? If so then by accessing index 5, the
address
> > > lines should be
> > > > 20, or:
> > > >
> > > > A0 A1 A2 A3 A4
> > > > --------------
> > > > 1 0 1 0 0
> > > >
> > > > And if you say *ce2++ = 0x31, then ce2 will increase by
4.
> > > >
> > > > Jeff Brower
> > > > system engineer
> > > > Signalogic
> > > >
> > > > > and
> > > > >
> > > > > ED0 = 3.3V (1)
> > > > > ED1 = 0V (0)
> > > > > ED2 = 0V (0)
> > > > > ED3 = 0V (0)
> > > > > ED4 = 3.3V (1)
> > > > > ED5 = 3.3V (1)
> > > > >
> > > > > Am I correct in saying this? If not can you please
refer me to any
> > > documents to read up on this?
> > > > >
> > > > > I get the correct values on the databus but not on the
address bus,
> what
> > > am I doing wrong????
> > > > >
> > > > > Thanks
> > > > > Werner
> > > >
> > > >
> >
> >
Reply by Mike Dunn●August 19, 20032003-08-19
Werner and Jeff,
The 6x11 can r/w bytes, halfwords or words [6711 can read double words] on
any boundary [if the external h/w supports it].
The two "missing address bits" are decoded [2:4] as byte enables
0-3. If the task is to address bytes, halfwords or words you must have
logic or hardware capable of selecting sets of 8 bits.
If you just want a data pattern of '4' or '5' on
address pins EA2,3 and 4, you must multiply the desired value by 4 [or shift
left 2].
I hope this helps.
mikedunn
Jeff Brower <j...@signalogic.com>
wrote:
Werner-
> No, ce2 is not an array of int. I just want
to write 0100b on the address > lines. What lines do I use? The DSK has
only address pins numbered EA2 and > up. What happened to 0 and 1????
0 and 1 are not connected because the C6x11 cannot physically perform
byte and short int accesses. It only makes physical 32-bit accesses, so the
lower 2 address lines are not needed.
-Jeff> ----- Original
Message ----- > From: "Jeff Brower" > To: "Werner du
Toit" > Cc: > Sent: Monday, August 18, 2003
4:48 PM > Subject: Re: [c6x] EMIF Memory > > >
Werner- > > > > > Can anyone please correct me if
I'm wrong, but if I write ce2[0x5]=0x31; > with int *ce2 =(int *)
(0xA0000000); to emif on 6711DSK
then on the address > lines I must see the following: > >
> EA2 = 3.3V (1) > > > EA3 = 0V (0) > > > EA4 =
3.3V (1) > > > > Is ce2 an array of int? If so then by
accessing index 5, the address > lines should be > > 20,
or: > > > > A0 A1 A2 A3 A4 > >
-------------- > > 1 0 1 0 0 > > > > And if you
say *ce2++ = 0x31, then ce2 will increase by 4. > > > >
Jeff Brower > > system engineer > > Signalogic >
> > > > and > > > > > > ED0 = 3.3V
(1) > > > ED1 = 0V (0) > > > ED2 = 0V (0) >
> > ED3 = 0V (0) > > > ED4 = 3.3V (1) > > >
ED5 = 3.3V (1) > > > > > > Am I correct in saying
this? If not can you please refer me to any > documents to read up on
this? > > > > > > I get the
correct values on the databus but not on the address bus, what > am I
doing wrong???? > > > > > > Thanks > >
> Werner > > > >
_____________________________________ Note: If you do a simple "reply"
with your email client, only the author of this message will receive your
answer. You need to do a "reply all" if you want your answer to be distributed
to the entire group.
_____________________________________ About
this discussion group:
> No, ce2 is not an array of int. I just want to
write 0100b on the address
> lines. What lines do I use? The DSK has only address pins numbered EA2
and
> up. What happened to 0 and 1????
0 and 1 are not connected because the C6x11 cannot physically perform byte
and
short
int accesses. It only makes physical 32-bit accesses, so the lower 2 address
lines
are not needed.
-Jeff
> ----- Original Message -----
> From: "Jeff Brower" <>
> To: "Werner du Toit" <>
> Cc: <>
> Sent: Monday, August 18, 2003 4:48 PM
> Subject: Re: [c6x] EMIF Memory
>
> > Werner-
> >
> > > Can anyone please correct me if I'm wrong, but if I write
ce2[0x5]=0x31;
> with int *ce2 =(int *) (0xA0000000); to emif on 6711DSK then on the
address
> lines I must see the following:
> > > EA2 = 3.3V (1)
> > > EA3 = 0V (0)
> > > EA4 = 3.3V (1)
> >
> > Is ce2 an array of int? If so then by accessing index 5, the
address
> lines should be
> > 20, or:
> >
> > A0 A1 A2 A3 A4
> > --------------
> > 1 0 1 0 0
> >
> > And if you say *ce2++ = 0x31, then ce2 will increase by 4.
> >
> > Jeff Brower
> > system engineer
> > Signalogic
> >
> > > and
> > >
> > > ED0 = 3.3V (1)
> > > ED1 = 0V (0)
> > > ED2 = 0V (0)
> > > ED3 = 0V (0)
> > > ED4 = 3.3V (1)
> > > ED5 = 3.3V (1)
> > >
> > > Am I correct in saying this? If not can you please refer me to
any
> documents to read up on this?
> > >
> > > I get the correct values on the databus but not on the address
bus, what
> am I doing wrong????
> > >
> > > Thanks
> > > Werner
> >
> >
Reply by Jeff Brower●August 18, 20032003-08-18
Werner-
> Can anyone please correct me if I'm wrong,
but if I write ce2[0x5]=0x31; with int *ce2 =(int *) (0xA0000000); to emif on 6711DSK then on the address
lines I
must see the following: > EA2 = 3.3V (1)
> EA3 = 0V (0)
> EA4 = 3.3V (1)
Is ce2 an array of int? If so then by accessing index 5, the address lines
should be
20, or:
A0 A1 A2 A3 A4
--------------
1 0 1 0 0
And if you say *ce2++ = 0x31, then ce2 will increase by 4.
Jeff Brower
system engineer
Signalogic
> and
>
> ED0 = 3.3V (1)
> ED1 = 0V (0)
> ED2 = 0V (0)
> ED3 = 0V (0)
> ED4 = 3.3V (1)
> ED5 = 3.3V (1)
>
> Am I correct in saying this? If not can you please refer me to any
documents to read up on this? >
> I get the correct values on the databus but not on the address bus, what am
I doing wrong???? >
> Thanks
> Werner
Reply by Werner du Toit●August 18, 20032003-08-18
Hi All
Can anyone please correct me if I'm wrong, but if I write ce2[0x5]=0x31;
with
int *ce2 =(int *) (0xA0000000); to emif on 6711DSK then on the address lines
I
must see the following:
EA2 = 3.3V (1)
EA3 = 0V (0)
EA4 = 3.3V (1)