Hi, A few months ago I managed to find the appropriate patent as regards to the single-cycle multiply that is optional on the M0 & M0+. I've just spent 4 fruitless hours searching. IF I cannot get an MP3 decoder running on a 48MHz M0+ I might have to develop on an M1 to which a MULHS instruction is added. I seem to remember that it was either a ripple multiplier or a combinational logic multiplier. I noted that it uses around 8000 extra gates so I am guessing that it's actually 8192? A nice round hex number. Of course, I will also have to learn Verilog so I have ordered a couple of boks.Many thanks,Sean
" I noted that it uses around 8000 extra gates so I am guessing that it's actually 8192?"
No, I would be quite surprised if the number was a power of 2.
In Verilog/VHDL/whatever you can make numbers as wide as you want. It is very common to make structures using varying bit counts.
For example, if you were making an adding tree to add together 4x 4-bit numbers A, B, C, D you might make a structure like this (pseudocode)
4-bit numbers A, B, C, D
5-bit numbers: E, F
6-bit number: Output
E=A + B
F=C + D
Output=E + F
In Verilog etc you can make integers as wide as you want: 1-bit, 13 bits, 39 bits whatever.
Therefore I would be very surprised if something like a multiplier ended up using a power-of-2 bit count.
Then of course gates != bits.
Hi Oliver BeirneAnother on to move into The Cortex M profile forumRegards
I DID actually spend a few hours looking. The problem is that ARM patents are actually held by many different divisions of the company and I don't know what year the multiply was patented. In fact, I don't KNOW if it is an ARM patent, under any of it's guises.
I have to ask: What's the big deal WRT 48MHz? If you're at the point where shaving a cycle or two off of a, why not just use one of the 60-100MHz CM0+, or maybe overclock?
It's for a mobile product and the M0+ uses a tiny amount of power and costs pennies. Other have suggested that their is a 64MHz M0+ which I certainly will look at but I am keen to understand the single-cycle multiply. Thumb2 does have a MULH instruction so I want to know if such a thing would consume more power.I am aiming to produce an audio-book/audio-lesson for developing nations so the price-point it very important.