Hi, I am newbie in this area. I read a paper on DSP and found that there is reconfigurable DSP. And we also can implement DSP on FPGA. My question is, is DSP a dedicated or reconfigurable hardware or is it both? In wikipedia, DSP is said to be dedicated. I appreaciate any feedback. Thank you.
DSP hardware
Started by ●November 16, 2006
Reply by ●November 16, 20062006-11-16
awa wrote:> Hi, > > I am newbie in this area. > > I read a paper on DSP and found that there is reconfigurable DSP. And > we also can implement DSP on FPGA. My question is, is DSP a dedicated > or reconfigurable hardware or is it both? In wikipedia, DSP is said to > be dedicated. I appreaciate any feedback. > > Thank you. >I can imagine someone saying "reconfigurable" when what they mean is "reprogrammable". I'd say a DSP is dedicated in the sense that you cannot change its instruction set architecture. On the other hand it is programmable so there is still a good degree of flexibility. An FPGA is much more flexible yet. However you trade off size, cost, and power for this flexibility. For a reasonably small/simple core this may be a good tradeoff but I'm guessing an ARM11 implemented in an FPGA would be a lot of gates! Brad
Reply by ●November 16, 20062006-11-16
Brad Griffis skrev:> awa wrote: > > Hi, > > > > I am newbie in this area. > > > > I read a paper on DSP and found that there is reconfigurable DSP. And > > we also can implement DSP on FPGA. My question is, is DSP a dedicated > > or reconfigurable hardware or is it both? In wikipedia, DSP is said to > > be dedicated. I appreaciate any feedback. > > > > Thank you. > > > > I can imagine someone saying "reconfigurable" when what they mean is > "reprogrammable". > > I'd say a DSP is dedicated in the sense that you cannot change its > instruction set architecture.That goes for just about any CPU. I suppose one might say that a DSP is "dedicated" in the sense that it is very useful for DSP types of applications, and very cumbersome (maybe even useless) in general applications. Rune
Reply by ●November 16, 20062006-11-16
Brad Griffis wrote:> awa wrote: > >> Hi, >> >> I am newbie in this area. >> >> I read a paper on DSP and found that there is reconfigurable DSP. And >> we also can implement DSP on FPGA. My question is, is DSP a dedicated >> or reconfigurable hardware or is it both? In wikipedia, DSP is said to >> be dedicated. I appreaciate any feedback. >> >> Thank you. >> > > I can imagine someone saying "reconfigurable" when what they mean is > "reprogrammable". > > I'd say a DSP is dedicated in the sense that you cannot change its > instruction set architecture. On the other hand it is programmable so > there is still a good degree of flexibility. > > An FPGA is much more flexible yet. However you trade off size, cost, > and power for this flexibility. For a reasonably small/simple core this > may be a good tradeoff but I'm guessing an ARM11 implemented in an FPGA > would be a lot of gates! > > BradDSP is Digital Signal Processing, which is the manipulation of signals using numeric methods. Any device that is the host for doing that numerical manipulation is a "digital signal processor". The Term digital signal processor was somewhat hijacked by the microprocessor companies in the 1980s who developed microprocessors with a feature set that offered advantages over generic microprocessors for DSP applications, and as a result hardware solutions are left lacking a name that sets them apart from the software solutions. The predominant DSP is the specialized microprocessor (specialized in that it has features like a single cycle multiply-accumulate, special looping instructions, or special addressing modes), but that does not preclude a hardware solution. Indeed, the first digital signal processors were dedicated hardware systems. Microprocessors did not play a significant part in signal processing until the 1980-1985 time frame. Before that, digital signal processing was done on dedicated hardware designs. The FPGA provides a low cost and compared to the early signal processing systems, flexible platform for hardware DSP that offers the speed advantages of dedicated hardware without the severe limits on making changes to the design.
Reply by ●November 16, 20062006-11-16
Hi, Thank you for all the feedbacks. To Brad,> I can imagine someone saying "reconfigurable" when what they mean is > "reprogrammable". > > I'd say a DSP is dedicated in the sense that you cannot change its > instruction set architecture. On the other hand it is programmable so > there is still a good degree of flexibility.You highlighted a very good point. I had always thought that if something is 'reprogrammable', it also means that it is 'reconfigurable' (because when code has changed, hence the architecture). Do you mind to elaborate more on this? Thank you.
Reply by ●November 16, 20062006-11-16
"Rune Allnor" <allnor@tele.ntnu.no> wrote in news:1163684939.477105.13920 @m7g2000cwm.googlegroups.com:> > Brad Griffis skrev: >> awa wrote: >> > Hi, >> > >> > I am newbie in this area. >> > >> > I read a paper on DSP and found that there is reconfigurable DSP.And>> > we also can implement DSP on FPGA. My question is, is DSP adedicated>> > or reconfigurable hardware or is it both? In wikipedia, DSP is saidto>> > be dedicated. I appreaciate any feedback. >> > >> > Thank you. >> > >> >> I can imagine someone saying "reconfigurable" when what they mean is >> "reprogrammable". >> >> I'd say a DSP is dedicated in the sense that you cannot change its >> instruction set architecture. > > That goes for just about any CPU. I suppose one might say that a DSP > is "dedicated" in the sense that it is very useful for DSP types of > applications, and very cumbersome (maybe even useless) in general > applications. > > Rune >I used to describe DSP processors as kind of idiot savant microcontrollers, They were typically good for signal processing with the features that Rune mentions, but limited for general purpose applications. I don't think this is so true any longer. Many newer DSPs have a lot of the features one would use in a microcontroller application. For example, the SHARC ADSP-21369 was two UARTs, two SPI ports, an I2C interfaces, Clock generators and lots of bit addressable I/O. This is all in addition to features that are more DSP oriented (8 SPORTs, 8 Sample Rate Converters, S/PDIF, etc) It's also true that processors that are thought of as general purpose are becoming better at signal processing functions. The various ARM processors come to mind. FPGAs are good for applications that need very fast, well defined signal processing. In many cases it will act as a coprocessor in a larger system. Most signal processing systems that we see that use FPGAs, will combine an FPGA with a general purpose DSP. I would suggest that a DSP chip is easier to program for DSP applications. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
Reply by ●November 16, 20062006-11-16
Hi Al Clark, Can I find further info on general purpose DSP on at http://www.danvillesignal.com? I really would like to look more on this. Thank you.
Reply by ●November 16, 20062006-11-16
Al Clark wrote:> I used to describe DSP processors as kind of idiot savant > microcontrollers,Straight to the point! However, the old DSP programming didn't look bad at all compared to PIC or x51 programming.> I don't think this is so true any longer. Many newer DSPs have a lot of > the features one would use in a microcontroller application.There is still a lot of overhead. The general purpose code on a DSP has 2-3 times more fat compared to the same code for a microcontroller.> > For example, the SHARC ADSP-21369 was two UARTs, two SPI ports, an I2C > interfaces, Clock generators and lots of bit addressable I/O. This is all > in addition to features that are more DSP oriented (8 SPORTs, 8 Sample > Rate Converters, S/PDIF, etc)No ADC, no flash, no eeprom. The peripherals are definitely done by the crazy scientists.> It's also true that processors that are thought of as general purpose are > becoming better at signal processing functions. The various ARM > processors come to mind.Basically, the most needed thing is the fast multiplier.> > FPGAs are good for applications that need very fast, well defined signal > processing. In many cases it will act as a coprocessor in a larger > system. Most signal processing systems that we see that use FPGAs, will > combine an FPGA with a general purpose DSP.With FPGA, you can trade the complexity for the speed. With DSP, you can trade the speed for the complexity.> > I would suggest that a DSP chip is easier to program for DSP > applications.It's almost completely in C/C++ anyway, so it doesn't really matter in our days. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●November 16, 20062006-11-16
awa wrote:> Hi, > > Thank you for all the feedbacks. > > To Brad, > >> I can imagine someone saying "reconfigurable" when what they mean is >> "reprogrammable". >> >> I'd say a DSP is dedicated in the sense that you cannot change its >> instruction set architecture. On the other hand it is programmable so >> there is still a good degree of flexibility. > > You highlighted a very good point. I had always thought that if > something is 'reprogrammable', it also means that it is > 'reconfigurable' (because when code has changed, hence the > architecture). Do you mind to elaborate more on this?Most computers of any kind have a fixed instruction set. The number and sequence of instructions that make up a program depends on the program, but the instructions themselves depend on the processor. (Some processors are "microprogrammed" internally, and the microinstructions are in read-only memory that is part of the processor. A In a few, it is possible to alter the microprogram store, and those could be considered reconfigurable to a degree, but they are usually referred to as "microprogrammable".) Imagine a family of gates, counters, registers, and all the paraphernalia of discrete hardware design. Imagine a breadboard that accepts these miniature marvels and allows them to be interconnected at will. In this setup, there is a close analogy between reconfiguring the breadboard and reprogramming a computer. Such a world exists -- it is an FPGA. Nevertheless, each FPGA has a fixed number of elements, and they are in fact arranged for use by software of a sort. If an FPGA with more or different facilities is needed, it's not the same part any more. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●November 16, 20062006-11-16
Here is my two cents. IMHO, the key features of a DSP (in decreasing importance) are 1) Harvard architechure RISC. 2) Circular Buffer Support 3) Hardware Multiplier 4) Support for Zero overhead loops 5) Hardware MAC 6) Delayed Branch Jumps Because of feature 1, digital signal processors tend to get used alot by embedded people for non-DSP functions, like IO-routing, or for functions that require precise timing (it is easy to count cycles with a Harvard RISC). Also, IMHO, alot of the fat that is generated with a DSP on general purpose code is because the compiler/optimizer isn't as good as compiler for the general purpose processors. Anymore, I favor the ST ARM9 processors for DSP (if I don't need floating point). The ARM optimizers are incredible, and the processor has items 1, 3, and 5 from my list. Finally, IMHO, I'm starting to think that FPGAs are as easy to use as DSPs. In an FPGA, I can code in HDL, which (in my optinion) is not as easy to code in as C. However, when I read the DSP compiler manual, it says that I need to write my code in a certain way, so that the optimizer can "realize" it into the correct instructions. That's starting to sound alot like an HDL. Further, I tend go get annoyed with the C optimizer and just program in assembly language. Which is easier HDL, or assembly language??






