Shop OBEX P1 Docs P2 Docs Learn Events
Maximum reliable clock frequency? — Parallax Forums

Maximum reliable clock frequency?

agsags Posts: 386
edited 2013-07-21 20:51 in Propeller 1
I've created designs exclusively with 5 MHz xtal (16xPLL==80 MHz clock). It works. Well.

I now have speed pressures that would be helped by a faster clock. I've read "the documentation" and it seems to indicate that a 128 MHz clock is within spec. From the Propeller Manual, on the CLK register:



The Clock PLL's internal frequency must be kept within 64 MHz to 128 MHz – this translates to an XIN frequency range of 4 MHz to 8 MHz.








I realize that challenges increase with higher clock frequency: power consumption, IR drop, noise, reliability. Is there a generally accepted maximum reliable clock frequency that has been proven reliable (within defined constraints - including specific circuit design parameters (decoupling capacitors, wire length, etc) over the years?

Summarizing: it seems from the "official" documentation that an 8 MHz xtal and 16xPLL configuration is "legal". The question is whether it can be used reliably, and if so, what if any accommodations must be made?

Comments

  • localrogerlocalroger Posts: 3,451
    edited 2013-07-19 21:14
    People have pushed the Prop to 96 MHz with great regularity and there are quite a few proven examples over 100 MHz. 128 MHz is pushing it badly though. You will probably find it is possible to run most chips at that speed for some operations but some operations might not work, particularly counter/timer stuff.\

    There isn't a magic Fmax wall at which chips stop working. The spec is the max at which everything is guaranteed to work. Once you step past that boundary you are stepping onto a frozen lake. Close to shore the ice is plenty thick and you can safely push the boundary. But the further you get out, the less certain anything is. If your failure mode is intermittent bit drop it could be maddening to sort out. How important is this speed, and what are you needing it for?
  • agsags Posts: 386
    edited 2013-07-19 21:42
    localroger, your points make sense. I suppose a good portion of my question is "what is the spec"? At least taken out of context (not done intentionally) it seems that 128 MHz is within spec (the CLK register section of the manual). I don't know what the spec is. It seems that all Parallax products use 80 MHz clock.

    Why do it? It's not the only reason, but a big part is the result of having to spend two instructions per bit to read using SPI. Writing can be done with a counter in one instruction. Reading is more critical for me. I worked around this previously by using an 8-bit interface instead of SPI, but now I can't spare the 12 IOs total to support this design. I'm back to the crippled SPI read.

    Edit: I just checked the datasheet (v1.3) - not the user manual. It clearly specifies 80 MHz as the maximum clock speed.
  • Mike GreenMike Green Posts: 23,101
    edited 2013-07-19 22:07
    There is a graph that Beau generated from test data of maximum clock frequency vs. supply voltage and package temperature. It's on page 31 of the Propeller datasheet. You could run it at 128MHz if you tightly control the supply voltage a little above 3.3V and you refrigerate the chip (3.5V at 0C should do, but without any headroom). Read the datasheet!
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-07-19 22:10
    ags wrote: »
    localroger, your points make sense. I suppose a good portion of my question is "what is the spec"? At least taken out of context (not done intentionally) it seems that 128 MHz is within spec (the CLK register section of the manual). I don't know what the spec is. It seems that all Parallax products use 80 MHz clock.

    Why do it? It's not the only reason, but a big part is the result of having to spend two instructions per bit to read using SPI. Writing can be done with a counter in one instruction. Reading is more critical for me. I worked around this previously by using an 8-bit interface instead of SPI, but now I can't spare the 12 IOs total to support this design. I'm back to the crippled SPI read.

    Edit: I just checked the datasheet (v1.3) - not the user manual. It clearly specifies 80 MHz as the maximum clock speed.

    Really simple answer to this one, read the datasheet, it's 80MHz guaranteed reliable. Now, if you are not so worried about thin ice and you don't weigh too much then you can go to 96Mhz, that is your operating conditions and voltage etc are not extreme.Trouble is unless it's a device that we know for absolute certainly would be operated in a certain environment etc then there is no way to use the word "reliable".
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-07-19 23:31
    Just because the Prop runs a a given clock frequency doesn't mean it will do so with all code variations.

    Years ago there was a small OLED screen which used a Propeller as the driver. The manufacture used an 8MHz crystal and ran it at 16xPLL. Surprisingly it kind of worked. It would crash with very little provocation. It couldn't run FDS and a bunch of other objects. I've tried to repress these memories. I was new to the Prop and this was one of my first Propeller projects. I couldn't understand why my programs would sometimes work and other times wouldn't.

    There was a representative from the company who make this devices who continually blamed others for any problems and insisted that all the devices they sold would work at this extreme frequency. (Did I mention I have bad memories about this situation?)

    Anyway, if the soon to be overclocked Propellers are to be sold to others, I hope they are thoroughly tested before hand.

    The Parallax Range Finder uses an overclocked Propeller and works very well.

    Edit: Rayman has some information about the (infamous) Prop96 OLED on his website.
  • SRLMSRLM Posts: 5,045
    edited 2013-07-20 09:12
    Does anybody have a test program that can be used to check if a chip is working correctly? Has Parallax ever released their 104MHz chip test program?

    From an old post on what's likely to fail:
    cgracey wrote: »
    The first thing to fail as speed increases is the hub memory access (~112MHz), particularly the hub SRAM read -- this is the critical path in the chip. The next thing to fail is the Z flag (~120MHz), then the C flag (~128 MHz).
  • agsags Posts: 386
    edited 2013-07-20 09:16
    I missed the graph in the datasheet, thanks for the pointer there. (I do RTM, just not always the right one). The OLED-96-Prop is an interesting thread. I had no idea I was reopening such an intensely discussed topic.

    It sounds like 96 or 100 MHz is reasonable, at or below 50C and 3.3v or slightly higher, particularly not using any video generators. But no guarantees of course.

    I could avoid all of this if I could figure out a way to have a single instruction pin sample-and-store. If I could make the counter "trick" explored by lonesock for the fsrw object reliable that would be enough. The challenge there seems to be configuring a counter to sample just once per instruction.
  • jazzedjazzed Posts: 11,803
    edited 2013-07-20 09:54
    You are allowed to run your chip as fast as it will go.
    It doesn't mean all future chips will run that fast though.
  • PublisonPublison Posts: 12,366
    edited 2013-07-20 09:57
    SRLM wrote: »
    Does anybody have a test program that can be used to check if a chip is working correctly? Has Parallax ever released their 104MHz chip test program?

    From an old post on what's likely to fail:

    That would be nice if one existed.

    Ray (Cluso99) may have written a test program. He consistently runs his props at 104 Mhz.

    http://forums.parallax.com/showthread.php/116893-RamBlade-Prop-SRAM-microSD-addon-to-run-ZiCog-CPM-PropDos-Catalina-etc


  • PublisonPublison Posts: 12,366
    edited 2013-07-20 10:04
    ags wrote: »

    It sounds like 96 or 100 MHz is reasonable, at or below 50C and 3.3v or slightly higher, particularly not using any video generators. But no guarantees of course.

    Parallax sells a 6.25 Mhz xtal, (thanks to Bill Henning), to allow the Prop to run at 100 Mhz.

    http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/Crystal/List/0/SortField/4/ProductID/570/Default.aspx

    Q
    uote from the Parallax site:
    This crystal has proven to be a reliable way to increase the speed of the Propeller; if properly used, the crystal can boost the speed of the Propeller microcontroller up to 100 Mhz from the original 80 MHz.

    That would mean proper bypass capacitors and layout of the PC board, (ALL VCC and VSS connected)
  • SRLMSRLM Posts: 5,045
    edited 2013-07-20 10:34
    Publison wrote: »
    That would be nice if one existed.

    I think one does:
    cgracey wrote: »
    Propeller chips are production tested at room temperature to 104MHz (6.5MHz·* 16). So, every part passed a functional test at that frequency. Before the part ever gets hot due to speed, it will just cease to operate properly. However, if you can actively cool it to something like 0 degrees C, you could probably run it pretty reliably at over 128MHz.
  • PublisonPublison Posts: 12,366
    edited 2013-07-20 10:53
    SRLM wrote: »
    I think one does:

    I wonder if that is done at the Fab facility or Parallax?

    Be nice to know.
  • JonnyMacJonnyMac Posts: 9,107
    edited 2013-07-20 12:22
    Parallax sells a 6.25 Mhz xtal, (thanks to Bill Henning), to allow the Prop to run at 100 Mhz.

    I've used that crystal in my own and EFX-TEK projects and never had a lick of trouble, despite the often less-than-idea conditions the projects are subjected to.
  • Tracy AllenTracy Allen Posts: 6,664
    edited 2013-07-20 12:38
    FYI, here is Bill Henning's thread introducing the 6.25MHz crystal.
    The-6.250MHz-crystals-are-in!-Run-your-Propeller-at-100MHz...
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-07-20 14:15
    SRLM: I missed that quote by Chip (post #7). Do you have a link?

    I run my props at 104MHz (6.5MHz PLL16) without problems. I have also tested them at 108MHz (13MHz PLL8). I have extended proper decoupling and pcb layout to help achieve this. 14.31818MHz PLL8 is the absolute max I have achieved but this has not been thoroughly tested. Sapieha ran my TriBlade pcb successfully for many months at 120MHz (15MHz PLL8).

    These results were interesting because the TriBlade uses the DIP40 Prop and my testing has been using the QFP44 package where I can only achieve a little less.

    Now, having said all of this, there is no guarantee that running the prop even at my 104MHz will never fail. I would not want, nor guarantee, it to work in any life or other critical use device.

    So, for any hobbyist application, I go for 104MHz.
  • Tracy AllenTracy Allen Posts: 6,664
    edited 2013-07-20 14:23
    There is a link in post #7, the little arrow just to the right of cgracey. That is from 2006. I wonder if that 104MHz test is still done, more likely sampled than 100%.
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-07-20 16:03
    Thanks Tracy - I didn't realise that was a link.
  • jmgjmg Posts: 15,173
    edited 2013-07-20 21:56
    ags wrote: »
    Edit: I just checked the datasheet (v1.3) - not the user manual. It clearly specifies 80 MHz as the maximum clock speed.

    Correct, but that is for :
    Vdd : Supply Voltage 2.7~3.6 Operating temperature range: -55°C < Ta < +125°C

    So if you can avoid 125°C & 2.7V, you can buy some margin.

    If you wanted to push clocks, buy a higher precision regulator, and target sightly above 3.3v, and avoid temperature rises as much as possible, and err on the paranoid side of supply decoupling.
  • jmgjmg Posts: 15,173
    edited 2013-07-20 22:04
    Cluso99 wrote: »
    These results were interesting because the TriBlade uses the DIP40 Prop and my testing has been using the QFP44 package where I can only achieve a little less.

    Interesting - decoupling should be better in QFP44, but the thermal mass & Area is more in DIP40, so maybe the cooler-die wins ?

    Were your test figures similar to the data sheet's :
    9.2. Fastest Operating Frequency as a Function of Temperature
  • agsags Posts: 386
    edited 2013-07-21 00:16
    I was thinking the same thing (shorter bond wires==less inductance==better decoupling). From the referenced OLED-96-PROP thread, the LQFP has a metal shield that provides good heat transfer. I presumed that, with the shorter bond wires, would produce the highest clock speed (for any given die).
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-07-21 01:17
    I believe the same die is used on all props (DIP40, QFP44 & QFN44). The ambient temp here varies from 10C-30C and there has been no difference in performance.The prop is not heavily loaded with external drive current requirements although all pins are connected to SRAM and some additionally to microSD and a LED plus the 24LC512, and FTDI chip for serial.
    I am at a loss to say why the difference between DIP and QFP. I use the normal 3V3. If anything, the groundplane and decoupling should have been better on the QFP.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-07-21 01:47
    Cluso99 wrote: »
    I am at a loss to say why the difference between DIP and QFP.

    Aren't there slight variations between each batch of chips produced. I read a post from someone in Parallax stating the first batch of Propellers had some properties which caused it to test better than other batches. Parallax had some customers state they weren't getting the same results in some tests as the results Parallax had published. Upon retesting, Parallax found the test data from the first batch didn't match results on tests preformed on subsequent batches of the Propeller.

    Could the difference seen between the DIP and QFP packages be the result of variations between batches of the die?

    Another theory I've entertained about this difference between the package types is perhaps the DIP package has some additional internal capacitance on the power lines which helps it remain stable at higher clock speeds.
  • pik33pik33 Posts: 2,366
    edited 2013-07-21 04:54
    My tests on a demoboard:

    -What works:

    14 MHz x 8 = 112 MHz
    7.3728 MHz x16 = 117_964_800 Hz - max achieved stable speed.

    This doesn't work:

    15 MHz x 8
    16 MHz x 8

    - the Propeller can't boot.

    Cog's PLLs work up to ~230 MHz
  • Cluso99Cluso99 Posts: 18,069
    edited 2013-07-21 20:51
    Over on another thread I have built a DIP24 propeller chip P8X16A. I was curious to see what seed could be achieved (very simple test). Here is what I found...
    PLLx16...
    5MHz                                     works
    7.68MHz                                  works
    8MHz                                     doesn't work!
    PLLx8...
    13.5MHz                                  works
    15.0MHz                                  works
    16.0MHz                                  works
    
    Curiously, the PLLx8 mode works with higher overclocking.
    Note again, only a very simple spin program flashing leds.
Sign In or Register to comment.