Shop OBEX P1 Docs P2 Docs Learn Events
I’m very happy 120 MHz and still run ! But? — Parallax Forums

I’m very happy 120 MHz and still run ! But?

SapiehaSapieha Posts: 2,964
edited 2007-09-22 19:49 in Propeller 1
I testing Propeller for Fault tolerant system.
One off my test’s is speed and vhat happen if I override it.
With 120 MHz (15 MHz cristal x 8) Propeler still run but have small trouble.
Not all Cogs run properly.
·
So my question to deSilva.
·
Can you help my writing one assembly code routine for Cog (I still study Propeller and still incompetence to do)
whom tests Cos and writing result in Hub Ram for Log to study diference on separate run for calculate fault accuracy.
·
Study pictures One Cog have problem (With 120MHz) btu Propeller still run and I am Happy!
This mach more than I wanted!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Sapieha
1632 x 1224 - 334K
1632 x 1224 - 411K
«1

Comments

  • BaggersBaggers Posts: 3,019
    edited 2007-09-11 08:44
    Sepieha,

    Just a quick idea, have you tried with a 7.5Mhz crystal, and *16 PLL?
  • nutsonnutson Posts: 242
    edited 2007-09-11 09:28
    Ther are several threads that discuss the maximum speed a prop can reach. Up to 100 MHz they all work, above that they start failing.·Parts of the prop that are·failing then are:
    - the PLL's and all related electronics (counters etc)
    - instructions that use the flags C Z etc. These are the critical path in correct instruction execution
    - then memories start failing, so then no reliable instruction execution is possible

    If you want fault tolerance, why look for the edge where things start to fail? At 80 MHz they are guaranteed to work, at a wide temperature range, at a wide supply voltage margin.··
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-11 09:45
    Hi Baggers

    I tried many crystl options.
    I have documented it.
    But I is not finish and report comme in END on this test.
    I still study results and still have lot of work on it.
    I mast write one routine to test completely COG and report it tu my.
    But I stil learn mig Spin and Propeler assembly and for it I mast understand COG to 100% every smal pice of it.
    This is time consuming.
    Ned little help from Propeller people whom understand Propeller chip and how COG works.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Sapieha
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-11 10:06
    Hi nutson


    I now that PLL in Propeller have problem with more than 100MHz .
    I now att PLL in high frequency modes fail but I mast for my project calculate it precisely and simulate every possibility

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Sapieha
  • nutsonnutson Posts: 242
    edited 2007-09-11 11:16
    There is no precise limit at which a given IC will fail, everything in this world is statistics.·The IC manufacturing process results in products with a significant·spread in performance. During·production-startup several lots of products are "characterized", extensively measured against all parameters. The producer then selects a limit for each·parameter that gives him an acceptable production yield, publishes the average and minimum parameters·as the IC spec, and during production·test on the wafer trashes·all chips·not reaching these limits. If selection of products·on certain parameters·(2.4 Ghz, 2.6GHz) brings him money he will select classes·during production test and sell them separately.

    In other words: measuring limits on one single IC is useless, if you really want to know about about limits you need a statistically acceptable lot, meaning several 10s to 100's if IC's. And the you get statistical numbers as a result: at a given supply voltage and temperature·1 prop out of ten can reach 120 MHz, 8 out of ten can reach 110.·Because the prop is manufactured in a mature, well known process (.35um I vaguely remember), the spread on parameters will not be very large, but it is there.·Some props will start failing at 110MHz, some can reach 120.

    If you want to select props for certain tasks·(high speed, low·temperature,·low Vss), you have to identify the parts of the chip that are most likely to fail first·(oscillator, PLL, flags) and design a testprogram that exercises those parts.
  • Ken PetersonKen Peterson Posts: 806
    edited 2007-09-11 12:51
    Perhaps Sapieha is planning on testing a number of chips. Sounds like he's asking for help in writing code to evaluate the different failure modes.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    The more I know, the more I know I don't know.· Is this what they call Wisdom?
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-11 13:50
    Hi nutson

    I planning tests on many chips to calculate precise statistics but first will have funktioning test programs
    (self test programs for COG’s to test every pice of its structure)

    Ps. Lots of chips so I have true statistical reference

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Sapieha

    Post Edited (Sapieha) : 9/11/2007 1:55:55 PM GMT
  • LawsonLawson Posts: 870
    edited 2007-09-11 14:13
    One thing not mentioned yet is that the PLLs in the Propeller ALWAYS multiply a frequency by 16x. So 8xPLL with a 15MHz crystal has the PLL trying to reach 240MHz, it then divides this frequency by 2 to get the final operating frequency. (theoretically 120MHz) Page 25 of the Data sheet states that the max crystal speed using the PLL is 8MHz or 128MHz at the PLL. Because of the Hydra, it's common knowledge that the PLL will work just fine with a 10MHz crystal and 8x PLL. So, the PLL is good to 160MHz at least then. If we assume that the PLL maxes out at say 183MHz. With your settings what happens? The PLL now outputs it's maximum of 183MHz. 8x multiplier means that this is divided by 2 to yield a 91.5MHz clock. This is a speed the propeller is fine at so everything runs "normally".

    Ok knowing all this, please try the test Baggers suggested. I bet it won't work. A better thing to do would be to measure the actual frequency the prop is running at. Color TV signal generation is quite sensitive to problems with the main clock so it's not surprising thats where problems are seen.

    My 2 bits,
    Marty

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Lunch cures all problems! have you had lunch?

    Post Edited (Lawson) : 9/11/2007 2:18:41 PM GMT
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-11 14:34
    Hi Lawson

    Thanks for this fine pice bit of information.
    I still discover my Propeler and all info on its functioning internal is welcome

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Sapieha
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-19 19:02
    Hi All


    Partial report
    ·
    To all what want to try more high a frequency.
    Patallex is not responsible for problems in-process procesora higher frequency than 80MHz.
    ·
    As I expected this not Propeller but 5 Volt regulator what drew anxieties to run Propeller in higher frequency.
    After addition of the additional cooling and Tantalum of capacitor, Propeller work correctly at the frequency of 15MHz * PLL8.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Sapieha

    Post Edited (Sapieha) : 9/19/2007 8:02:25 PM GMT
    1632 x 1224 - 340K
  • evanhevanh Posts: 15,427
    edited 2007-09-19 22:08
    Sapieha said...
    After addition of the additional cooling and Tantalum of capacitor, Propeller work correctly at the frequency of 15MHz * PLL8
    Unwise action. Read about PLLENA bit on page 13 of datasheet. Only use CLKSEL of x16 setting.

    As Lawson said, the PLL won't operate at 240 MHz. It won't be locking and therefore not clocking the propeller at 120 MHz. Your PLL (Phase Locked Loop) changes to a PSL (Phase Slipping Loop). :P
  • deSilvadeSilva Posts: 2,967
    edited 2007-09-19 22:26
    Well, hesitatingly I have to confirm Sapieha's result, although I made different observations some weeks ago...

    Stabilizing +/- at the Propellor with a 4,7 uF tantal and using a 16 MHz crystal, an LED blinks exactly 11 times as busy as with RCFAST setting.

    I think selected specimen of the Propeller could do that (PLL = 256 MHz)
    I shall let it run through the night...

    Current:
    128 MHz : 20.5 mA
    64 MHz: 9.7 mA
    32 MHz 7 mA
    16 MHz 4.7 mA
    16 MHz without PLL: 3.3 mA
    RC CLOCK (12 MHz): 2.2 mA

    all plus 10mA for the LED

    Post Edited (deSilva) : 9/19/2007 10:49:02 PM GMT
  • LawsonLawson Posts: 870
    edited 2007-09-20 00:25
    huh, does the same frequency work when an 8MHz crystal and PLL16x is used? (failure at this test is STRONG evidence that the PLL is slipping at 16MHz and pll8x)

    I am quite interested in these results. It's very possible that the fab making the Prop has extended the limits of the chip a bit while optimizing yields.

    I'd like to see some hard measurments of the frequency the Prop is actually operating.

    If the prop under test runs code like this
    thousandth_toggle(pin) | temp
      ''this method toggles a pin once every 1000 clock cycles
      dirA[noparse][[/noparse]pin]~~
      temp = CNT
      temp += 1000
      repeat
        waitcnt(temp)
        !outA[noparse][[/noparse]pin]
        temp += 1000
    



    The frequency on 'pin' will be 1/2000 of the tested prop's clock speed it's actually running at. (and down in the 100's of kilohertz range) A lab frequency counter, DMM, or another propeller should be able to count this frequency exported from the prop under test.

    fun stuff!
    Marty

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Lunch cures all problems! have you had lunch?
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-20 00:54
    Hi Lawson


    Sorry my test program is not complete but picture is from my VGA scren.

    ··· Clk := clkfreq··· .....····· This is formula to display frequency.·····

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Sapieha
    1632 x 1224 - 309K
  • deSilvadeSilva Posts: 2,967
    edited 2007-09-20 05:26
    @Sapieha: CLKFREQ is nothing but the product of XINFREQ and PLLnX or some other hypothetical value: It is of no significance in this context!

    @ Lawson : This es exactly what I did for the posted results! However some monthes ago, I tended to your opinion wrt PLL, for opposite evidences.. A large variance with extraordinary good samples has to be expected, when the vendor does not make a systematic preselection...

    Post Edited (deSilva) : 9/20/2007 6:11:40 AM GMT
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-20 08:34
    Hi All

    Need one routin to calculate real COG speed.
    If it is one who have it pleas publish it

    Thanks

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Sapieha
  • evanhevanh Posts: 15,427
    edited 2007-09-20 12:07
    Lawson's example works:
    thousandth_toggle(pin) | temp
      ''this method toggles a pin once every 1000 clock cycles
      dirA[noparse][[/noparse]pin]~~
      temp = CNT
      temp += 1000
      repeat
        waitcnt(temp)
        !outA[noparse][[/noparse]pin]
        temp += 1000
    



    Another way is to input an external regular pulse that your program meters against it's own execution speed and displays the result on your display.
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-20 14:59
    Hi evanh.

    Thanks.
    I think att your 2 metod is beter.
    I wait just for my real Clock IC and will masure timing with it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Nothing is impossible, there are only different degrees of difficulty.

    Sapieha
  • evanhevanh Posts: 15,427
    edited 2007-09-20 20:42
    Sapieha said...
    I wait just for my real Clock IC and will masure timing with it.
    You could use the above code in another Propeller to produce the needed regular pulse. [noparse]:)[/noparse]
  • deSilvadeSilva Posts: 2,967
    edited 2007-09-21 21:11
    You can also use the same processor with a flashing LED
    (1) without the PLL and
    (2) afterwards with any PLL,
    as I did
    Any old fashioned stop watch will do smile.gif
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-21 23:38
    Hi deSilva.

    Nothing against Stop watch but I’am can’t sit at the system entire week without sleep, to do statistics.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Nothing is impossible, there are only different degrees of difficulty.

    Sapieha
  • Oliver H. BaileyOliver H. Bailey Posts: 107
    edited 2007-09-22 01:47
    Hello Everyone,
    I typically run the Propeller at 96MHz using a 6MHz crystal and PLL 16 with no problems. And I've done this with numerous boards that I am using for the Propeller Book. Using a 6MHz crystal or oscillator combine with assembly language provides more than enough speed and is much faster than any mircocontroller when you use multiple COGs. If you using communications, video, or broadcast video, you'll have to tweak the routines to attain the proper frequency or speed.

    Regards,
    Oliver
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-22 09:26
    Hi All



    You Said stop watch. you had on an idea such ?

    Times of stone already a long ago elapsed.



    Ps.My problem I can’t buy Press-n-Peel film in Sweden.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Nothing is impossible, there are only different degrees of difficulty.

    Sapieha

    Post Edited (Sapieha) : 9/22/2007 9:39:27 AM GMT
    1632 x 1224 - 208K
    733 x 523 - 58K
  • deSilvadeSilva Posts: 2,967
    edited 2007-09-22 11:35
    My point is view to this whole matter is this:
    It is a very academic investigation... The maximum speed of a device is principally limited by the power dissipation (going up somewhat quadratically) and the production and selection process. Parameters of production are phases of the moon etc...

    Parallax guarantees the work of the Propeller upto 80 Mhz (and also with a 10 MHz crystal, which are to different kettle of fish). When a company makes no (A-) pre-selection then a wide, but arbitrary peformance deviation is possible. So we have most likely the situation:
    - 80 MHz (8x10 or 16x5) works always
    - 96 MHz (16x6) works in many cases
    - 120 MHz (8x15) works in some cases

    Sapieha has made the interesting observation from his former experiences, that a PLL needs a quite stable power supply and in marginal cases a signal conditioning (i.e. a "refresh").
    When using PLL16X the PLL is most likely directly connected to complex circuitry, whilst using PLL8X the divider will perform this signal refresh more reliably.

    So it is possible that 8x20MH can work, bit 16x10Mhz never will...
  • hippyhippy Posts: 1,981
    edited 2007-09-22 11:39
    Sapieha said...
    Ps.My problem I can’t buy Press-n-Peel film in Sweden
    If this is a PCB production problem, you can use a DIL real time clock chip and bread-board or strip-board, or you could program up another Propeller to give a timebase pulse to measure against or it can work as a real time clock itself.

    I would have the over-clocked propeller output a square wave signal and use another to read that signal and determine the frequency. Seems so much easier to me.
  • deSilvadeSilva Posts: 2,967
    edited 2007-09-22 11:57
    I am never sure what Sapieha's issues really are smile.gif

    During the last 15 minutes I have set-up two 40p-DIP propellers on a 640p 2.75 € solderless breadboard and connected some parts you will learn about during the next weeks from Franz Achatz smile.gif One Prop configured @ 8x16 MHz will output square waves with SPIN OTA, and the other (@16x5MHz) "counting" them - second for second - and sending the results to the PC....

    I am just making a nice diagram, utilizing the graphics possibilities of Ariba's PropTerminal
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-22 13:55
    Hi deSilva

    Thanks.

    To ALL:

    As in the first answer in this thred I said It of is of upp to customer decision or wants to try
    ·but Parallax of not carry then responsibility for a product.


    Ps.
    Testifies only to high quality of product.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Nothing is impossible, there are only different degrees of difficulty.

    Sapieha

    Post Edited (Sapieha) : 9/22/2007 2:22:07 PM GMT
  • AleAle Posts: 2,363
    edited 2007-09-22 16:29
    If you have access to a Frequency meter that is **The Way** to measure frequency smile.gif, The Oscilloscope is (unless you use a DSO with 1 ns resolution or better smile.gif, a bit imprecise for this kind of measurement. If you can use the stop-watch with an RTC, and automatically count N pulses in say 1 or better 10 s, that will also work well. Do not use a button to start it, just a delay...

    btw: I like your sig smile.gif
  • SapiehaSapieha Posts: 2,964
    edited 2007-09-22 18:37
    Hi Ale

    Does you not think that it is better to pass that Propellor its work.
    Having so Fine of procesor with such force of count why I must sit and look after all of time what he does.
    It will be nothing well the written program in ASM for COG with cooperation with RTC and drafting of counts in memory of RTC of the system from all of period of test.
    Transfer of these information to Exel and there are complete statistics of work of Propellor from the period of test.
    Without the necessity of sit and supervisions.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Nothing is impossible, there are only different degrees of difficulty.

    Sapieha
  • AleAle Posts: 2,363
    edited 2007-09-22 19:32
    If I understand you correctly, you can use two propellers and use one as RTC. No problem here. The error of the time base is going to be transferred to your results. A simple program that toggles a pin like:

    mov  t1,#1
    mov  DIRA,t1
    _1
    xor  OUTA,t1
    jmp  #_1
    
    t1  long 0
    
    



    This simple code is going to toggle pin 0 at F/8, where F is the propeller clock freq, add a couple of NOP before and after the xor to half the freq. Or use the internal counter instead smile.gif

    You can capture that with another propeller and count the rising or falling flanks... no problem using the propeller built-in capabilities.

    edit: fixed jump, too bad asms are never compatible [noparse]:)[/noparse], thx deSilva

    Post Edited (Ale) : 9/22/2007 7:54:28 PM GMT
Sign In or Register to comment.