This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to use the MAC in keil?

Is the Multiply-Accumulate (MAC) Unit supported by the C51 compiler for the cygnal c8051f12x devices? How to use it?

Parents
  • First, I've been down that road before. I wrote a significantly faster floating point library for the C167 because I was doing a fair amount of signal processing (real time motion control application) and I can tell you it was a LOT of work. In this (8051) instance I spent the extra money to get floating point support so I wouldn't have to go through that again. Anyone who wants to use fixed point math in things like DSP functions can raise their hand now. I know I don't want to (it's too easy to make mistakes and painful to maintain / modify). Using the MAC for floating point is not the same as supporting every peripheral on every vendors chip. It's something that should be there, and floating point IS a compiler related issue. If you can produce a floating point library then you should be able to produce a version that uses MAC (and Keil does this for the C166/ST10 products). The modifying their existing library to take advantage of MAC is not such a big thing to do - IF you have the source code. Once it's done and released it wouldn't be hard for a user to tailor it to a different chip, and you can bet other vendors will include MAC capabilities in their hardware (there may already be some - haven't checked).

Reply
  • First, I've been down that road before. I wrote a significantly faster floating point library for the C167 because I was doing a fair amount of signal processing (real time motion control application) and I can tell you it was a LOT of work. In this (8051) instance I spent the extra money to get floating point support so I wouldn't have to go through that again. Anyone who wants to use fixed point math in things like DSP functions can raise their hand now. I know I don't want to (it's too easy to make mistakes and painful to maintain / modify). Using the MAC for floating point is not the same as supporting every peripheral on every vendors chip. It's something that should be there, and floating point IS a compiler related issue. If you can produce a floating point library then you should be able to produce a version that uses MAC (and Keil does this for the C166/ST10 products). The modifying their existing library to take advantage of MAC is not such a big thing to do - IF you have the source code. Once it's done and released it wouldn't be hard for a user to tailor it to a different chip, and you can bet other vendors will include MAC capabilities in their hardware (there may already be some - haven't checked).

Children
No data