I've got a question I'm having trouble finding an answer for. I'm using an ADSP-21065L with two 256kx16 SRAM connected to MS0. The chips are connected in parallel with one hooked to D0-D15 and the other D16-D31. Both parts connect to A0-A17. What should the ldf file entry for these parts look like? I'm not able to find where the calculations are. I've looked at the SDRAM ldf and it looks weird. seg_pm_sdram { TYPE(PM RAM) START(0x00020000) END(0x00027fff) WIDTH(32) } seg_dm_sdram { TYPE(DM RAM) START(0x00030000) END(0x0005ffff) WIDTH(32) } Why the space between PM (0x00027ff) and DM (0x000300000) ? is the total range for my SRAM 0x00020000 to 0x00023ffff ? How do I calculate start addresses for each segment? -------------------------- Steve Holle Link Communications, Inc. 1035 Cerise Road Billings, Montana 59101-7378 406.245.5002 -------------------------- |
|
LDF file.
Started by ●March 1, 2004
Reply by ●March 2, 20042004-03-02
Hello Steve, From ADSP-21065L SHARC DSP User's Manual, page 5-26, I read the following about external memory: Bank 0 (/MS0): 0x00020000 - 0x00FFFFFF Bank 1 (/MS1): 0x01000000 - 0x01FFFFFF Bank 2 (/MS2): 0x02000000 - 0x02FFFFFF Bank 3 (/MS3): 0x03000000 - 0x03FFFFFF So, supposing that nothing else is attached to /MS0, you could have something like: seg_dm_mysram { TYPE(DM RAM) START(0x00020000) END(0x00023fff) WIDTH(32) } (assuming you'll use to store data DM, change to PM otherwise). But, from what you write, seems like you also have SDRAM attached to /MS0, so in that case you should either change the /MSx signals, one for external SRAM and a different one for SDRAM, or use the free space in your LDF, in the weird manner that you mentioned. Mmhh.. but there is a problem. You address lines in ext SRAM are A0-A17, so the "free" space for the /MS0 signal doen't cover A0-A17 without also covering the range for your seg_pm_sdram segment. I think _the_ solution is to use separate /MSx signals for each one, ext SRAM and SDRAM. About the question: "is the total range for my SRAM 0x00020000 to 0x00023ffff?". My calculations say "yes". But that applies supposing that you have /MS0 _FREE_ for just the SRAM. Regards, JaaC --- Steve Holle <> wrote: > I've got a question I'm having trouble finding an > answer for. > > I'm using an ADSP-21065L with two 256kx16 SRAM > connected to MS0. The chips > are connected in parallel with one hooked to D0-D15 > and the other > D16-D31. Both parts connect to A0-A17. > > What should the ldf file entry for these parts look > like? I'm not able to > find where the calculations are. I've looked at the > SDRAM ldf and it looks > weird. > > seg_pm_sdram { TYPE(PM RAM) > START(0x00020000) END(0x00027fff) > WIDTH(32) } > seg_dm_sdram { TYPE(DM RAM) > START(0x00030000) END(0x0005ffff) > WIDTH(32) } > > Why the space between PM (0x00027ff) and DM > (0x000300000) ? is the total > range for my SRAM 0x00020000 to 0x00023ffff ? How > do I calculate start > addresses for each segment? > > -------------------------- > Steve Holle > Link Communications, Inc. > 1035 Cerise Road > Billings, Montana 59101-7378 > 406.245.5002 > > -------------------------- > > > _____________________________________ > 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: > > To Join: Send an email to > To Post: Send an email to > > To Leave: Send an email to > Archives: http://groups.yahoo.com/group/adsp > > Other Groups: http://www.dsprelated.com/groups.php3 > > Yahoo! Groups Links > ===== Jaime Andr Aranguren Cardona __________________________________ |
|
Reply by ●March 2, 20042004-03-02
At 07:01 AM 3/2/2004, Jaime Andres Aranguren Cardona wrote: >Hello Steve, > > >From ADSP-21065L SHARC DSP User's Manual, page 5-26, I >read the following about external memory: > >Bank 0 (/MS0): 0x00020000 - 0x00FFFFFF >Bank 1 (/MS1): 0x01000000 - 0x01FFFFFF >Bank 2 (/MS2): 0x02000000 - 0x02FFFFFF >Bank 3 (/MS3): 0x03000000 - 0x03FFFFFF > >So, supposing that nothing else is attached to /MS0, >you could have something like: > >seg_dm_mysram { TYPE(DM RAM) START(0x00020000) >END(0x00023fff) WIDTH(32) } Is this end right? >(assuming you'll use to store data DM, change to PM >otherwise). > >But, from what you write, seems like you also have >SDRAM attached to /MS0, I don't have any SDRAM in this system. Sorry for the label confusion. >so in that case you should >either change the /MSx signals, one for external SRAM >and a different one for SDRAM, or use the free space >in your LDF, in the weird manner that you mentioned. >Mmhh.. but there is a problem. You address lines in >ext SRAM are A0-A17, so the "free" space for the /MS0 >signal doen't cover A0-A17 without also covering the >range for your seg_pm_sdram segment. I think _the_ >solution is to use separate /MSx signals for each one, >ext SRAM and SDRAM. > >About the question: "is the total range for my SRAM >0x00020000 to 0x00023ffff?". My calculations say >"yes". But that applies supposing that you have /MS0 >_FREE_ for just the SRAM. > >Regards, > >JaaC > >--- Steve Holle <> wrote: > > I've got a question I'm having trouble finding an > > answer for. > > > > I'm using an ADSP-21065L with two 256kx16 SRAM > > connected to MS0. The chips > > are connected in parallel with one hooked to D0-D15 > > and the other > > D16-D31. Both parts connect to A0-A17. > > > > What should the ldf file entry for these parts look > > like? I'm not able to > > find where the calculations are. I've looked at the > > SDRAM ldf and it looks > > weird. > > > > seg_pm_sdram { TYPE(PM RAM) > > START(0x00020000) END(0x00027fff) > > WIDTH(32) } > > seg_dm_sdram { TYPE(DM RAM) > > START(0x00030000) END(0x0005ffff) > > WIDTH(32) } > > > > Why the space between PM (0x00027ff) and DM > > (0x000300000) ? is the total > > range for my SRAM 0x00020000 to 0x00023ffff ? How > > do I calculate start > > addresses for each segment? > > > > -------------------------- > > Steve Holle > > Link Communications, Inc. > > 1035 Cerise Road > > Billings, Montana 59101-7378 > > 406.245.5002 > > > > -------------------------- > > > > > > > > > > _____________________________________ > > 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: > > > > To Join: Send an email to > > > > > > To Post: Send an email to > > > > To Leave: Send an email to > > > > > > Archives: http://groups.yahoo.com/group/adsp > > > > Other Groups: http://www.dsprelated.com/groups.php3 > > > > Yahoo! Groups Links > > > > > > > > > > > >===== > >Jaime Andr Aranguren Cardona > > >__________________________________ > -------------------------- Steve Holle Link Communications, Inc. 1035 Cerise Road Billings, Montana 59101-7378 406.245.5002 -------------------------- |
|
Reply by ●March 2, 20042004-03-02
On Mon, 1 Mar 2004, Steve Holle wrote: > I've got a question I'm having trouble finding an answer for. > > I'm using an ADSP-21065L with two 256kx16 SRAM connected to MS0. The chips > are connected in parallel with one hooked to D0-D15 and the other > D16-D31. Both parts connect to A0-A17. > > What should the ldf file entry for these parts look like? I'm not able to > find where the calculations are. I've looked at the SDRAM ldf and it looks > weird. > > seg_pm_sdram { TYPE(PM RAM) START(0x00020000) END(0x00027fff) > WIDTH(32) } > seg_dm_sdram { TYPE(DM RAM) START(0x00030000) END(0x0005ffff) > WIDTH(32) } > > Why the space between PM (0x00027ff) and DM (0x000300000) ? is the total > range for my SRAM 0x00020000 to 0x00023ffff ? How do I calculate start > addresses for each segment? Maybe because there are two 32 bit reads for each 48 bit instruction, so only half the range is useful for pm. In your case, is all dm space? If so, you want to use the range 0x20000 to 0x5ffff (That's 0->3ffff + 20000) If you use pm space, then you need to allocate 2 addresses for each 48 bit word, and I bet the external port knows what the correct address is to output. So if you say you want 64k of pm, that actually takes 128k of space, but you specify only 64k in the ldf. Patience, persistence, truth, Dr. mike |
Reply by ●March 2, 20042004-03-02
Hello Steve, From your explanations i am guessing that the total memory you have is 256K*32. There is only 18 address lines, so the maximum addressable location is 262144 (0x40000) = 256K. Also you are mentioned that they are connected parallel, thereby you get a 32bit memory. So the maximum memory address is 0x40000. but this memory is connected to MS0 pin; there is some restriction for accessing the initial address location (please look at the user manual - memory section). So the available memory starts from 0x20000 to 0x40000. If there is no program code(48bit - it stores at 2 address location in external memory), there neednot be any gap in memory address at ldf file. regards ajith --- In , Jaime Andres Aranguren Cardona <jaime_aranguren@y...> wrote: > Hello Steve, > > From ADSP-21065L SHARC DSP User's Manual, page 5-26, I > read the following about external memory: > > Bank 0 (/MS0): 0x00020000 - 0x00FFFFFF > Bank 1 (/MS1): 0x01000000 - 0x01FFFFFF > Bank 2 (/MS2): 0x02000000 - 0x02FFFFFF > Bank 3 (/MS3): 0x03000000 - 0x03FFFFFF > > So, supposing that nothing else is attached to /MS0, > you could have something like: > > seg_dm_mysram { TYPE(DM RAM) START(0x00020000) > END(0x00023fff) WIDTH(32) } > > (assuming you'll use to store data DM, change to PM > otherwise). > > But, from what you write, seems like you also have > SDRAM attached to /MS0, so in that case you should > either change the /MSx signals, one for external SRAM > and a different one for SDRAM, or use the free space > in your LDF, in the weird manner that you mentioned. > Mmhh.. but there is a problem. You address lines in > ext SRAM are A0-A17, so the "free" space for the /MS0 > signal doen't cover A0-A17 without also covering the > range for your seg_pm_sdram segment. I think _the_ > solution is to use separate /MSx signals for each one, > ext SRAM and SDRAM. > > About the question: "is the total range for my SRAM > 0x00020000 to 0x00023ffff?". My calculations say > "yes". But that applies supposing that you have /MS0 > _FREE_ for just the SRAM. > > Regards, > > JaaC > > --- Steve Holle <sholle@l...> wrote: > > I've got a question I'm having trouble finding an > > answer for. > > > > I'm using an ADSP-21065L with two 256kx16 SRAM > > connected to MS0. The chips > > are connected in parallel with one hooked to D0-D15 > > and the other > > D16-D31. Both parts connect to A0-A17. > > > > What should the ldf file entry for these parts look > > like? I'm not able to > > find where the calculations are. I've looked at the > > SDRAM ldf and it looks > > weird. > > > > seg_pm_sdram { TYPE(PM RAM) > > START(0x00020000) END(0x00027fff) > > WIDTH(32) } > > seg_dm_sdram { TYPE(DM RAM) > > START(0x00030000) END(0x0005ffff) > > WIDTH(32) } > > > > Why the space between PM (0x00027ff) and DM > > (0x000300000) ? is the total > > range for my SRAM 0x00020000 to 0x00023ffff ? How > > do I calculate start > > addresses for each segment? > > > > -------------------------- > > Steve Holle > > Link Communications, Inc. > > 1035 Cerise Road > > Billings, Montana 59101-7378 > > 406.245.5002 > > sholle@l... > > -------------------------- > > > > > > > > > > _____________________________________ > > 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: > > > > To Join: Send an email to > > > > > > To Post: Send an email to > > > > To Leave: Send an email to > > > > > > Archives: http://groups.yahoo.com/group/adsp > > > > Other Groups: http://www.dsprelated.com/groups.php3 > > > > Yahoo! Groups Links > > > > > > > > > > > > ===== > > Jaime Andr Aranguren Cardona > jaime.aranguren@i... > jaime.aranguren@c... > __________________________________ > |
Reply by ●March 2, 20042004-03-02
Hi, Steve. My comments inlined. Regards, JaaC --- Steve Holle <> wrote: > At 07:01 AM 3/2/2004, Jaime Andres Aranguren Cardona > wrote: > >Hello Steve, > > > > >From ADSP-21065L SHARC DSP User's Manual, page > 5-26, I > >read the following about external memory: > > > >Bank 0 (/MS0): 0x00020000 - 0x00FFFFFF > >Bank 1 (/MS1): 0x01000000 - 0x01FFFFFF > >Bank 2 (/MS2): 0x02000000 - 0x02FFFFFF > >Bank 3 (/MS3): 0x03000000 - 0x03FFFFFF > > > >So, supposing that nothing else is attached to > /MS0, > >you could have something like: > > > >seg_dm_mysram { TYPE(DM RAM) START(0x00020000) > >END(0x00023fff) WIDTH(32) } > > Is this end right? Mike Rosing's post was more accurate about the addresses range, I apologize for my mistake. Also beware of the issues with PM, as he pointed out. > > > >(assuming you'll use to store data DM, change to PM > >otherwise). > > > >But, from what you write, seems like you also have > >SDRAM attached to /MS0, > > I don't have any SDRAM in this system. Sorry for > the label confusion. > So, it's quite straightfoward. Follow Ms. Rosing's suggestions. N' god luck! > > > >About the question: "is the total range for my SRAM > >0x00020000 to 0x00023ffff?". My calculations say 0x00020000 + 0x0003FFFF = 0x0005FFFF. So the correct range is from 0x00020000 to 0x0005FFFF. My mistake again... I'm sorry. > >"yes". But that applies supposing that you have > /MS0 > >_FREE_ for just the SRAM. > > > >Regards, > > > >JaaC > > > >--- Steve Holle <> wrote: > > > I've got a question I'm having trouble finding > an > > > answer for. > > > > > > I'm using an ADSP-21065L with two 256kx16 SRAM > > > connected to MS0. The chips > > > are connected in parallel with one hooked to > D0-D15 > > > and the other > > > D16-D31. Both parts connect to A0-A17. > > > > > > What should the ldf file entry for these parts > look > > > like? I'm not able to > > > find where the calculations are. I've looked at > the > > > SDRAM ldf and it looks > > > weird. > > > > > > seg_pm_sdram { TYPE(PM RAM) > > > START(0x00020000) END(0x00027fff) > > > WIDTH(32) } > > > seg_dm_sdram { TYPE(DM RAM) > > > START(0x00030000) END(0x0005ffff) > > > WIDTH(32) } > > > > > > Why the space between PM (0x00027ff) and DM > > > (0x000300000) ? is the total > > > range for my SRAM 0x00020000 to 0x00023ffff ? > How > > > do I calculate start > > > addresses for each segment? > > > > > > -------------------------- > > > Steve Holle > > > Link Communications, Inc. > > > 1035 Cerise Road > > > Billings, Montana 59101-7378 > > > 406.245.5002 > > > > > > -------------------------- > > > > > > > > > > > > > > > _____________________________________ > > > 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: > > > > > > To Join: Send an email to > > > > > > > > > To Post: Send an email to > > > > > > To Leave: Send an email to > > > > > > > > > Archives: http://groups.yahoo.com/group/adsp > > > > > > Other Groups: > http://www.dsprelated.com/groups.php3 > > > > > > Yahoo! Groups Links > > > > > > > > > to: > > > > > > > > > > > > > > > > > >===== > > > >Jaime Andr Aranguren Cardona > > > > > > > > > >__________________________________ > > > -------------------------- > Steve Holle > Link Communications, Inc. > 1035 Cerise Road > Billings, Montana 59101-7378 > 406.245.5002 > > -------------------------- > ===== Jaime Andr Aranguren Cardona __________________________________ |