Will ADI ever make DSCs?

Hi:

TI recently announced the TMS320F283xx 32-bit DSC with an FPU. This is basically an upgrade over the C28xx platform which had an integer-only

32-bit 150MHz DSP core and loads of peripherals oriented toward motion control.

The gobs of counter/timers on the C28xx got me interested a few years ago, and I have made it my "2nd" platform for big jobs when my #1 (AVR) isn't enough.

The addition of an FPU is very good news. I will be eager to get my hands on an eZdSP kit for the new FPU DSC when it comes out.

There are only two additional things I could hope for: 1. more speed(225-300MHz or more would be killer); and 2. the more easy assembly language of the ADI SHARC platform.

The ADI SHARC ADSP-21369 (I was reading about it at

formatting link
is really a nice machine which goes to

400MHz. But it's still a DSP, not a DSC.

Is there any likelyhood that ADI will move into the DSC market space, and put out something like a SHARC core with the loads of peripherals that a DSC should have? In a 18-pin DIP? (Just kidding :-)

That would make me interested in switching to the SHARC.

--
Good day!

________________________________________
 Click to see the full signature
Reply to
Chris Carlen
Loading thread data ...

ADI used to have FLASH DSPs on their roadmap some years ago now. But they decided the FLASH speed bottleneck was too severe, and switched to the RAM based ones. So, they have a clear speed edge over FLASH, but as you mention, do not cover embedded control too well.

The other family they have is the ARM7 Analog Microcontrollers, but they are well down on DSP horsepower. They also have Metering Chips, with ROM.DSP + FLASH.8051.

So, I guess that leaves the trailing edge space on the DSPs, and in that area they are a bit like intel - focused mainly on the large revenue areas, and will get to the smaller markets, as time allows....

They may figure most designers would choose to deploy 2 chips, and get the best of both worlds ?.

-jg

Reply to
Jim Granville

Un bel giorno Chris Carlen digitò:

Too bad they implemented only the single precision IEEE-754 format, and not the double precision.

--
emboliaschizoide.splinder.com
Reply to
dalai lamah

Chris Carlen wrote in news: snipped-for-privacy@news2.newsguy.com:

To help enlighten our audience, in your view what exactly constitutes a Digital Signal Controller (DSC)?

--
Al Clark
Danville Signal Processing, Inc.
 Click to see the full signature
Reply to
Al Clark

Do any floating point DSPs implement double floating point precision?

Does the presence of the IEEE-754 FPU make implementation of double precision library calls much more efficient? Ie., just a pair of single precision FPU instructions combined with a bit of glue instructions, rather than a lengthy ordeal with integer instructions to emulate floating point operations?

I wondered about doubles on DSPs in the past, then got the impression that for DSP, single precision was all that was usually needed. AFter all, it's not for building PCs, it's for signals. I would like to learn more about this though. No expert here, just watching, tinkering, and learning.

--
Good day!

________________________________________
 Click to see the full signature
Reply to
Chris Carlen

Wouldn't it be possible to put in the flash+peripherals, and allow one to run the fast stuff from internal RAM?

--
Good day!

________________________________________
 Click to see the full signature
Reply to
Chris Carlen

For the fair quality audio processing, the computations shoud be done with the 31-bit precision at the very least. The 24 bits are definitely not enough for audio even if the noise shaping is employed.

Floating point is the great simplification of the development.

Vladimir Vassilevsky

DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

Chris Carlen wrote: (snip)

When IBM designed extended (quadruple) precision for S/360 it was done such that it would be relatively easy to compute using ordinary double precision instructions. They then supplied the simulator to do that, for machines without extended precision. Because of the work required, extended precision divide was simulated on all machines (until relatively recently).

For audio and video signals, 24 bits is more than enough. 16 bits for audio is something around 100dB signal/quantization noise, better than the background noise for most rooms. Video needs even less.

To me, a better question is why you want floating point at all? In most cases, fixed point should be a better choice. If you can do fixed point 32 bit combining 16 bit operations, or even

48 bit fixed point, isn't that more than enough?

-- glen

Reply to
glen herrmannsfeldt

Un bel giorno Chris Carlen digitò:

As far as I know, TMS320C6000 family has double precision FPUs since a long time. That's why I'm surprised that they haven't reused it.

We spoke about this some time ago. If you test the performances of 32-bit integer operations against 32-bit "soft float" operations on a TMS320F28xx processor, you won't find much difference (at least not the orders of magnitude that you could expect). I suppose that with the FPU the floating point operations will have the same performance of the 32-bit integer operations, and better performances in several cases (e.g. trigonometric functions).

I agree: "usually" is the key word. :-)

Right now for example I'm dealing with a GPS-based application running on a F28xx: if you need to do nontrivial calculations with the GPS coordinates and want to maintain all of the original resolution, you are forced to do several tricks if you "just" have 32-bit precision.

I also agree on your point that fixed point is quite enough in a lot of circumstances. The strong advantage of floating point is that it eases the development cycle: it allows you to write cleaner and leaner (and easier to maintain) code, and to avoid a lot of programming errors and pitfalls. And if you have a FPU, the code will be probably faster too.

--
emboliaschizoide.splinder.com
Reply to
dalai lamah

if the resources are available, why would you ever not want to use floating point?

Integer/fixed point math is purely a artifact of resource limited architectures (driven by cost, size, and power constraints)

Reply to
steve

It's doubtful there are any agreed upon definitions. I have my own definitions, but I don't get hung up on them. What really matters is whether a device does what I want for a particular application. If I wish to call it a DSP/uP and you a DSC/uC, that's fine. Let's just get it going! If it is of interest to anyone to have yet another view on this...here's my take:

Analagous to the difference between a microprocessor (uP) and a microcontroller (uC), is the distinction between digital signal processor (DSP) and digital signal controller (DSC).

First, I consider a uC to have integrated program memory and IO peripherals. Thus, a uC is capable of fully standalone operation with its peripherals directly connected to the outside world, and running code from its internal program memory. A uC can still have external busses to facilitiate external memories and peripherals. But they exist as options rather than as essential to run the uC.

A uP however, cannot function without providing program code in external memory and/or external IO peripherals.

For DSPs/DSCs it's the same thing. But first what is a DSP vs. a non-DSP microprocessor? A DSP as I understand is a uP with special DSP oriented math instructions, as well as perhaps some core architecture features to make these instructions very efficient such as multiple busses to data and program memory. Special high-speed data communication features geared toward streaming real time data between multiple DSPs might be present on high-end models. Overall, the DSP is optimized to perform "live," ie. real-time computations on continuously streaming data flows.

It does appear that the lines between the DSP and uP worlds are blurring as well, as general purpose uP/uC devices incorporate DSP-like instructions.

A DSP is a uP though, if it isn't capable of standalone operation. Like the ordinary uP it needs either or both of external program memory and peripherals.

A DSC however is a DSP with integrated program memory and peripherals and is capable of standalone operation like the uC.

I don't know if there is a minimum peripheral set which must be present to make something a uC/DSC rather than a uP/DSP. For instance, is a uP with built-in flash program memory and a single or handful of GPIO port bits a uC or only a uP? A silly example, but it shows how things can get fuzzy. That's why it's wise not to get hung up on the definitions. Actually, if it lacked an external bus to attach additional peripherals then I think it would be a uC, albeit a strange one. With the bus perhaps we'd call it a uP since we expect the bulk of the IO will be done via externally implemented peripherals.

Summary:

uC = standalone capable thus contains *both* internal nonvolatile program memory and integrated IO peripherals.

uP = not standalone capable. Lack of either internal nonvolatile program memory or integrated IO peripherals, or both.

DSP = uP with special DSP instructions and capabilities.

DSC = uC with special DSP instructions and capabilities.

--
Good day!

________________________________________
 Click to see the full signature
Reply to
Chris Carlen

Really!?!? Perhaps you are talking about the "IQ math" library operations rather than the floating point calls in the C rts lib? The true IEEE-754 calls are tens if not hundreds of instructions long. Certainly they must perform at 1-2 orders of magnitude less speed than

1-cycle integer ops.

The IQ math I haven't tried yet though. I'll be checking it out sometime.

I suppose that with the FPU the floating

Yes.

--
Good day!

________________________________________
 Click to see the full signature
Reply to
Chris Carlen

You mean its a well engineered solution? :-)

Steve

Reply to
Steve Underwood

d not

long

it

8xx

I've seen all sorts of speed claims of fixed point vs emulated float execution speed, and you can create a specialized test case to support every one of them!

Generally hand assembled fixed point vs IEEE-754 float is 100 to 1 if your talking multiplies and adds only (e.g., FIR filter) with everything in no wait state memory. But you can go the other extreme comparing 32 bit fixed point divides to custom floating point divide routines (with no error checking) on external memory with several wait states, and the results take about the same time.

Reply to
steve

Don't know, I would need to see the recurring vs non recurring costs, choosing a fix point processor for a million lines of code task on a

20 units/year production schedule is not a well engineered solution
Reply to
steve

Yes. The essence of engineering is a process of personal expression. The goals or constraints have little to do with it; the more difficulties you find for yourself, the more exiting is the process :-)

Vladimir Vassilevsky

DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

Chris Carlen wrote in news: snipped-for-privacy@news5.newsguy.com:

So, if I understand your definition correctly, the only feature that a SHARC like the ADSP-21369 lacks is an internal boot ROM to make it a "DSC".

The ADSP-21369 certainly acts more like a DSP uC than uP. It includes two SPI ports, I2C, 8 SPORTs, 2 UARTs, an SDRAM controller, timers, etc.....

Once the ADSP-21369 boots (from a 8 pin serial flash), it runs completely standalone using its internal memory.

Sure the dsPIC includes internal flash. It also has about 1/2 the performance of DSPs, I used 10-15 years ago (ADSP-2105 for example).

--
Al Clark
Danville Signal Processing, Inc.
 Click to see the full signature
Reply to
Al Clark

True, but its a pretty lousy market for DSP chips, too. :-) The buyers of serious numbers are mostly doing portable consumer things, and RE, size and power tend to matter more than NRE. There are quite a few low volume specialist things were power matters above all else, too.

It amazes me there is enough volume in floating DSPs to justify the number that exist. They are certainly the way to go for most industrial and other applications where NRE is critical, but how much does that add up to?

Regards, Steve

Reply to
Steve Underwood

One of those resources is word width. Fixed point gives more resolution (and less range) for the same number of bits.

Jerry

--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply to
Jerry Avins

Floating point is just a artifact due to resource limited architectures, you could as well use 128.128 bit fixed point values instead of ordinary floats :-).

Paul

Reply to
Paul Keinanen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.