
Technical discussions about the TI C54x DSPs (including the c5401, c5402, c5402a, c5404, c5407, c5409, c5409a, c5410, c5410a, c5416, c5420, c5421, c5441, c549, c5470 and c5471).
Hi, I am trying to connect 2 memories each having a size of 2M x 16bits to 5416 using its memory interface. In the datasheet of 5416, it says data memory is upto 64K. So, should I use program memory space to access 2 memories? Or what can be the possible solution? Is program memory space writable?Thanks for help ------------------------------------ Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467
V Serter- > I am trying to connect 2 memories each having a size of 2M x 16bits to > 5416 using its memory interface. In the datasheet of 5416, it says data > memory is upto 64K. So, should I use program memory space to access 2 > memories? Or what can be the possible solution? Is program memory space > writable?Thanks for help C54xx data memory is limited to 64k because the ARn registers are 16-bit. That means any instruction that makes a data memory access can't "see" more than 64k. If you're going to have 4M x 16 of external mem, then almost all of this memory has to be program memory. If I recall correctly, you can have up to 124 pages of external program memory, each page 32k. I remember that it wasn't easy to get a full 64k of data memory unless you set OVLY = 0, which was usually a bad idea because it disabled a 32k chunk of fast onchip program mem. Typically onchip program memory is a valuable resource for achieving better performance, as data memory is not accessed as often. If you do set OVLY = 0, then you can combine /DS strobe and appropriate address lines in some external circuitry that would make the first 32k of your external memory accessible as data mem. I don't recall any reason to set DROM = 0. You can always have 32k of onchip data mem without any tradeoffs. If this is the MELPe project with Murat Önder, I thought you guys were using 55x? Why switch back to 54xx? Well if you have switched back to 54xx for some reason, then my suggestion would be to declare codebook tables as .const arrays, which will cause them to be located in program memory. -Jeff ------------------------------------ Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467
Siva- > i am having one doubt, if i store my code book details in program memory..how can i > distinguish program memory and data memory....if it is in pure assembly ok..some > specific instructions r there.... when it comes 2 algebraic (assume i am using > pointers) how 2 distinguish..can any ody pls clarify??? its basic doubt only but no > body is there 2 clear.... Algebraic instructions for accessing program memory: prog(A) = Smem Smem = prog(A) -Jeff > On 4/4/08, Jeff Brower <j...@signalogic.com> wrote: > > V Serter- > > > I am trying to connect 2 memories each having a size of 2M x 16bits to > > 5416 using its memory interface. In the datasheet of 5416, it says data > > > memory is upto 64K. So, should I use program memory space to access 2 > > memories? Or what can be the possible solution? Is program memory space > > > writable?Thanks for help > > C54xx data memory is limited to 64k because the ARn registers are 16-bit. > That means > any instruction that makes a data memory access can't "see" more than > 64k. > > If you're going to have 4M x 16 of external mem, then almost all of this > memory has > to be program memory. If I recall correctly, you can have up to 124 pages > of > external program memory, each page 32k. I remember that it wasn't easy to > get a full > 64k of data memory unless you set OVLY = 0, which was usually a bad idea > because it > disabled a 32k chunk of fast onchip program mem. Typically onchip program > memory is > a valuable resource for achieving better performance, as data memory is > not accessed > as often. If you do set OVLY = 0, then you can combine /DS strobe and > appropriate > address lines in some external circuitry that would make the first 32k of > your > external memory accessible as data mem. > > I don't recall any reason to set DROM = 0. You can always have 32k of > onchip data > mem without any tradeoffs. > > If this is the MELPe project with Murat ?nder, I thought you guys were > using 55x? > Why switch back to 54xx? Well if you have switched back to 54xx for some > reason, > then my suggestion would be to declare codebook tables as .const arrays, > which will > cause them to be located in program memory. > > -Jeff >
Siva Anne- > actually i am working in some verification department... > generally i verify the code written...code is written as follows > > ar4 = #a_coeff ;//here (a_coeff) is stored in prog memory with specifying tables > sections in ;//command file > ar1 = #inp_buffer > > a = (*ar4) * (*ar1) > ;//for the above instruction inp_buffer is in data memory as these r the input > samples... > ;//ar4 is in prog memory... > > actually my work is to simulate the code in CCS... when i was simulating ar4 loaded > with a_coeff address but ... when i executing it takes only data memory > contents.....is it the correct way of implemntation r i am interpreting wrongly... *ARn access to program mem only works in address space 0 to 32767 and if OVLY = 1. Otherwise you have to use the specific program memory instructions (TBLR, TBLW, prog(A), etc). -Jeff > On Mon, Apr 7, 2008 at 8:34 PM, Jeff Brower <j...@signalogic.com> wrote: > > Siva- > > i am having one doubt, if i store my code book details in program > > memory..how can i distinguish program memory and data memory....if it > > is in pure assembly ok..some specific instructions r there.... when it > > comes 2 algebraic (assume i am using pointers) how 2 distinguish..can > > any ody pls clarify??? its basic doubt only but no body is there 2 > > clear.... > Algebraic instructions for accessing program memory: > > prog(A) = Smem > Smem = prog(A) > > -Jeff > > On 4/4/08, Jeff Brower <j...@signalogic.com> wrote: > > > > V Serter- > > > > > I am trying to connect 2 memories each having a size of 2M > > x 16bits to > > > 5416 using its memory interface. In the datasheet of 5416, > > it says data > > > memory is upto 64K. So, should I use program memory space > > to access 2 > > > memories? Or what can be the possible solution? Is program > > memory space > > > writable?Thanks for help > > > > C54xx data memory is limited to 64k because the ARn registers > > are 16-bit. That means > > any instruction that makes a data memory access can't "see" > > more than 64k. > > > > If you're going to have 4M x 16 of external mem, then almost > > all of this memory has > > to be program memory. If I recall correctly, you can have up > > to 124 pages of > > external program memory, each page 32k. I remember that it > > wasn't easy to get a full > > 64k of data memory unless you set OVLY = 0, which was usually > > a bad idea because it > > disabled a 32k chunk of fast onchip program mem. Typically > > onchip program memory is > > a valuable resource for achieving better performance, as data > > memory is not accessed > > as often. If you do set OVLY = 0, then you can combine /DS > > strobe and appropriate > > address lines in some external circuitry that would make the > > first 32k of your > > external memory accessible as data mem. > > > > I don't recall any reason to set DROM = 0. You can always > > have 32k of onchip data > > mem without any tradeoffs. > > > > If this is the MELPe project with Murat ?nder, I thought you > > guys were using 55x? > > Why switch back to 54xx? Well if you have switched back to > > 54xx for some reason, > > then my suggestion would be to declare codebook tables as > > .const arrays, which will > > cause them to be located in program memory. > > > > -Jeff > >
actually i am working in some verification department... generally i verify the code written...code is written as follows ar4 =3D #a_coeff ;//here (a_coeff) is stored in prog memory with specifyin= g tables sections in ;//command file ar1 =3D #inp_buffer a =3D (*ar4) * (*ar1) ;//for the above instruction inp_buffer is in data memory as these r the input samples... ;//ar4 is in prog memory... actually my work is to simulate the code in CCS... when i was simulating ar= 4 loaded with a_coeff address but ... when i executing it takes only data memory contents.....is it the correct way of implemntation r i am interpreting wrongly... anne On Mon, Apr 7, 2008 at 8:34 PM, Jeff Brower <j...@signalogic.com> wrote: > Siva- > i am having one doubt, if i store my code book details in program > memory..how can i distinguish program memory and data memory....if it is = in > pure assembly ok..some specific instructions r there.... when it comes 2 > algebraic (assume i am using pointers) how 2 distinguish..can any ody pls > clarify??? its basic doubt only but no body is there 2 clear.... > Algebraic instructions for accessing program memory: > > prog(A) =3D Smem > Smem =3D prog(A) > > -Jeff > On 4/4/08, *Jeff Brower* <j...@signalogic.com> wrote: > > > > V Serter- > > > > > I am trying to connect 2 memories each having a size of 2M x 16bits t= o > > > 5416 using its memory interface. In the datasheet of 5416, it says > > data > > > memory is upto 64K. So, should I use program memory space to access 2 > > > memories? Or what can be the possible solution? Is program memory > > space > > > writable?Thanks for help > > > > C54xx data memory is limited to 64k because the ARn registers are > > 16-bit. That means > > any instruction that makes a data memory access can't "see" more than > > 64k. > > > > If you're going to have 4M x 16 of external mem, then almost all of thi= s > > memory has > > to be program memory. If I recall correctly, you can have up to 124 > > pages of > > external program memory, each page 32k. I remember that it wasn't easy > > to get a full > > 64k of data memory unless you set OVLY =3D 0, which was usually a bad i= dea > > because it > > disabled a 32k chunk of fast onchip program mem. Typically onchip > > program memory is > > a valuable resource for achieving better performance, as data memory is > > not accessed > > as often. If you do set OVLY =3D 0, then you can combine /DS strobe and > > appropriate > > address lines in some external circuitry that would make the first 32k > > of your > > external memory accessible as data mem. > > > > I don't recall any reason to set DROM =3D 0. You can always have 32k of > > onchip data > > mem without any tradeoffs. > > > > If this is the MELPe project with Murat =D6nder, I thought you guys wer= e > > using 55x? > > Why switch back to 54xx? Well if you have switched back to 54xx for som= e > > reason, > > then my suggestion would be to declare codebook tables as .const arrays= , > > which will > > cause them to be located in program memory. > > > > -Jeff > ------------------------------------ Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Tr= anscoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm64= 67 NEW! You can now post a message or access and search the archives of this = group on DSPRelated.com: http://www.dsprelated.com/groups/c54x/1.php _____________________________________ 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 yo= u want your answer to be distributed to the entire group. _____________________________________ About this discussion group: Archives: http://www.dsprelated.com/groups/c54x/1.php To Post: Send an email to c...@yahoogroups.com Other DSP Related Groups: http://www.dsprelated.com/groups.phpYahoo! Groups= Links