Hi All, I am using a board based on C6416. Writing to SDRAM is nearly six times slower than reading for same amount of the data. Could anybody help me for fast writing methods. Thanks. Halil |
|
SDRAM access is slow
Started by ●November 18, 2004
Reply by ●November 19, 20042004-11-19
Halil, You can use a EDMA transfer it is faster. stephane --- halilcuce <> a rit: > Hi All, > > I am using a board based on C6416. Writing to SDRAM > is nearly six > times slower than reading for same amount of the > data. Could anybody > help me for fast writing methods. > > Thanks. > > Halil > _____________________________________ > 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://www.yahoogroups.com/group/c6x > > Other Groups: http://www.dsprelated.com > > Yahoo! Groups Links > Vous manquez despace pour stocker vos mails ? Le nouveau Yahoo! Messenger est arriv! Douvrez toutes les nouveaut pour dialoguer instantanent avec vos amis. A tharger gratuitement sur http://fr.messenger.yahoo.com |
Reply by ●November 20, 20042004-11-20
Hi Halil I just went through playing with memory timing. Look for SPRU266 on the TI site. In the section on for "EMIF CE Space Control Registers (CECTL0-3)" and you'll find how to set the registers. You'll probably make the changes in the init_emif() section of the .gel file on the line with /* CE0 SDRAM */. I'm using a DSK6713 and built my program starting with one of the ones that come with the board. I made the gel file changes and found that the DSK6713_init() call reset the values on me. If you have the DSK_init call you can change the source for it (a task) or just copy the line of code in the gel file --- *(int *)EMIF_CE0 = 0xffffbf33; /* CE0 SDRAM */ with the new value to the line after the DSK init call to get the values to what you want. Might not be clean but is fast and easy :-) Al --- In , "halilcuce" <halilcuce@y...> wrote: > > > Hi All, > > I am using a board based on C6416. Writing to SDRAM is nearly six > times slower than reading for same amount of the data. Could anybody > help me for fast writing methods. > > Thanks. > > Halil |
Reply by ●November 20, 20042004-11-20
well, a EDMA will be as fast in accessing the SDRAM as a direct access
with the same EMIF settings.... The gateway between the DSP and the SDRAM is the EMIF. The settings for the Adressrange (ChipSelect) of your SDRAM for waitstates for reading and writing will affect direct access or EDMA access in the same way. please check the EMIF section in the peripherals reference manual to see the effect of the settings bye, thomas ----- Original Message ----- From: "stephane deb" <> To: "halilcuce" <>; <> Sent: Friday, November 19, 2004 6:48 PM Subject: Re: [c6x] SDRAM access is slow > > > Halil, > You can use a EDMA transfer it is faster. > stephane > --- halilcuce <> a rit : > > > > > > > > Hi All, > > > > I am using a board based on C6416. Writing to SDRAM > > is nearly six > > times slower than reading for same amount of the > > data. Could anybody > > help me for fast writing methods. > > > > Thanks. > > > > Halil > > > > > > > > > > > > > > > > > > _____________________________________ > > 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://www.yahoogroups.com/group/c6x > > > > Other Groups: http://www.dsprelated.com > > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > > > > Vous manquez d'espace pour stocker vos mails ? > Le nouveau Yahoo! Messenger est arriv! Douvrez toutes les nouveaut pour dialoguer instantanent avec vos amis. A tharger gratuitement sur http://fr.messenger.yahoo.com > > > _____________________________________ > 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://www.yahoogroups.com/group/c6x > > Other Groups: http://www.dsprelated.com > > Yahoo! Groups Links > > -- Geschenkt: 3 Monate GMX ProMail + 3 Top-Spielfilme auf DVD ++ Jetzt kostenlos testen http://www.gmx.net/de/go/mail ++ |
Reply by ●November 20, 20042004-11-20
I agree to the things you write about the documentation. But...: > *(int *)EMIF_CE0 = 0xffffbf33; /* CE0 SDRAM */ this is about the slowest possible setting. I think you will not have much progress with this ;-) You have to calculate the required setting for your schematic. There is no use in using anyones settings. Take the clock with which you operate the RAM. Have a look in the datasheet about the possible waitstates for reading (setup hold strobe and so on...). With this informations you can decide about the settings you will use. In the EMIF_CE0 you define the number of waitstates for the different states of memory access. ffff is the maximum possible ... The last bits define the type of memory-access (32Bit, 16 bit, synchronous, asynchronous....) The required settings depend 100% from your very private schematic. You have to consider each and every bit in the setting to avoid errors and to get out the maximum of your system. We have invested some time in reading the manuals and calculating the optimum settings for our project - this is from my point of view the only possible option ;-) have fun with all the bits, thomas ----- Original Message ----- From: "eewizard_1" <> To: <> Sent: Saturday, November 20, 2004 11:37 AM Subject: [c6x] Re: SDRAM access is slow > > Hi Halil > > I just went through playing with memory timing. Look for SPRU266 on > the TI site. In the section on for "EMIF CE Space Control Registers > (CECTL0-3)" and you'll find how to set the registers. You'll probably > make the changes in the init_emif() section of the .gel file on the > line with /* CE0 SDRAM */. > > I'm using a DSK6713 and built my program starting with one of the ones > that come with the board. I made the gel file changes and found that > the DSK6713_init() call reset the values on me. > > If you have the DSK_init call you can change the source for it (a > task) or just copy the line of code in the gel file --- > > *(int *)EMIF_CE0 = 0xffffbf33; /* CE0 SDRAM */ > > with the new value to the line after the DSK init call to get the > values to what you want. Might not be clean but is fast and easy :-) > > Al > > --- In , "halilcuce" <halilcuce@y...> wrote: > > > > > > Hi All, > > > > I am using a board based on C6416. Writing to SDRAM is nearly six > > times slower than reading for same amount of the data. Could anybody > > help me for fast writing methods. > > > > Thanks. > > > > Halil > _____________________________________ > 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://www.yahoogroups.com/group/c6x > > Other Groups: http://www.dsprelated.com > > Yahoo! Groups Links > > -- NEU +++ DSL Komplett von GMX +++ http://www.gmx.net/de/go/dsl GMX DSL-Netzanschluss + Tarif zum supergstigen Komplett-Preis! |
|
Reply by ●November 21, 20042004-11-21
Hi thomas I just clipped that out of the example program. It's what Spectrum Digital has the SDRAM set at for the DSK we are using as a development platform. For my daugnter board I changed the CE2 and CE3 times. All of the program itself fits in the DSP and doesn't run in the SDRAM. Al --- In , krahvogl@g... wrote: > I agree to the things you write about the documentation. But...: > > > *(int *)EMIF_CE0 = 0xffffbf33; /* CE0 SDRAM */ > > this is about the slowest possible setting. I think you will not have much > progress with this ;-) > > You have to calculate the required setting for your schematic. There is no > use in using anyones settings. > > Take the clock with which you operate the RAM. Have a look in the datasheet > about the possible waitstates for reading (setup hold strobe and so on...). > With this informations you can decide about the settings you will use. > > In the EMIF_CE0 you define the number of waitstates for the different states > of memory access. ffff is the maximum possible ... > > The last bits define the type of memory-access (32Bit, 16 bit, synchronous, > asynchronous....) > > The required settings depend 100% from your very private schematic. You have > to consider each and every bit in the setting to avoid errors and to get out > the maximum of your system. > > We have invested some time in reading the manuals and calculating the > optimum settings for our project - this is from my point of view the only > possible option ;-) > > have fun with all the bits, > > thomas > ----- Original Message ----- > From: "eewizard_1" <eewizard_1@y...> > To: <> > Sent: Saturday, November 20, 2004 11:37 AM > Subject: [c6x] Re: SDRAM access is slow > > > > > > > > > > Hi Halil > > > > I just went through playing with memory timing. Look for SPRU266 on > > the TI site. In the section on for "EMIF CE Space Control Registers > > (CECTL0-3)" and you'll find how to set the registers. You'll probably > > make the changes in the init_emif() section of the .gel file on the > > line with /* CE0 SDRAM */. > > > > I'm using a DSK6713 and built my program starting with one of the ones > > that come with the board. I made the gel file changes and found that > > the DSK6713_init() call reset the values on me. > > > > If you have the DSK_init call you can change the source for it (a > > task) or just copy the line of code in the gel file --- > > > > *(int *)EMIF_CE0 = 0xffffbf33; /* CE0 SDRAM */ > > > > with the new value to the line after the DSK init call to get the > > values to what you want. Might not be clean but is fast and easy :-) > > > > Al > > > > > > > > --- In , "halilcuce" <halilcuce@y...> wrote: > > > > > > > > > Hi All, > > > > > > I am using a board based on C6416. Writing to SDRAM is nearly six > > > times slower than reading for same amount of the data. Could anybody > > > help me for fast writing methods. > > > > > > Thanks. > > > > > > Halil > > > > > > > > > > > > > > > > > > _____________________________________ > > 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://www.yahoogroups.com/group/c6x > > > > Other Groups: http://www.dsprelated.com > > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > -- > NEU +++ DSL Komplett von GMX +++ http://www.gmx.net/de/go/dsl > GMX DSL-Netzanschluss + Tarif zum supergstigen Komplett-Preis! |