It's my first time getting hands on the new RP2350B (Pimoroni Pico Plus 2), so what if ...
And here we are, based on previous experience with RP2040, trying to squeeze it to the limits, without killing it in the process, I expected to get 266 MHz at default voltage and 133 MHz QMI/QSPI (1:2 divider), and pushing a little bit more: 400 MHz with 1:3 QMI/QSPI divider ... so far so good ... but despite the expectations, I stopped at 636 MHz stable ... trying up to 660 MHz unstable, the FPU beginning to give up showing small errors.
Below you can see the results at different voltages.
There is a loop doing some integer and float garbage, first is the core clock, QMI/OSPI divider and resulting clock, actual duration of the test loop, relative performance to 100MHz, and the memory used during the loop RAM+PSRAM.
The results are quite consistent with the frequencies, but I've also checked on the scope, at first I couldn't believe the 600MHz ... but there it was, very dim on the output test pin (ALT_GPCK), but clearly 600 MHz. After that, I put the internal clock divider 1:10 - clear 60 MHz, no doubt.
What can I say ?
Kudos to Pico and Pimoroni teams.
My RP2350B is still alive ... please don't fry yours.
And here we are, based on previous experience with RP2040, trying to squeeze it to the limits, without killing it in the process, I expected to get 266 MHz at default voltage and 133 MHz QMI/QSPI (1:2 divider), and pushing a little bit more: 400 MHz with 1:3 QMI/QSPI divider ... so far so good ... but despite the expectations, I stopped at 636 MHz stable ... trying up to 660 MHz unstable, the FPU beginning to give up showing small errors.
Below you can see the results at different voltages.
There is a loop doing some integer and float garbage, first is the core clock, QMI/OSPI divider and resulting clock, actual duration of the test loop, relative performance to 100MHz, and the memory used during the loop RAM+PSRAM.
The results are quite consistent with the frequencies, but I've also checked on the scope, at first I couldn't believe the 600MHz ... but there it was, very dim on the output test pin (ALT_GPCK), but clearly 600 MHz. After that, I put the internal clock divider 1:10 - clear 60 MHz, no doubt.
What can I say ?
Kudos to Pico and Pimoroni teams.
My RP2350B is still alive ... please don't fry yours.
Code:
---- 1.10 V - default 100 MHz / 1 = 100.0 MHz(QMI) time=980.631ms perf=1.00 mem_alloc=1011488 bytes 133 MHz / 1 = 133.0 MHz(QMI) time=769.801ms perf=1.27 mem_alloc=1010960 bytes 134 MHz / 2 = 67.0 MHz(QMI) time=819.808ms perf=1.20 mem_alloc=1010944 bytes 150 MHz / 2 = 75.0 MHz(QMI) time=732.451ms perf=1.34 mem_alloc=1010944 bytes 200 MHz / 2 = 100.0 MHz(QMI) time=549.659ms perf=1.78 mem_alloc=1010944 bytes 240 MHz / 2 = 120.0 MHz(QMI) time=458.591ms perf=2.14 mem_alloc=1010944 bytes 266 MHz / 2 = 133.0 MHz(QMI) time=413.799ms perf=2.37 mem_alloc=1010944 bytes 280 MHz / 3 = 93.3 MHz(QMI) time=435.468ms perf=2.25 mem_alloc=1010944 bytes---- 1.15 V 300 MHz / 3 = 100.0 MHz(QMI) time=406.388ms perf=2.41 mem_alloc=1010976 bytes 320 MHz / 3 = 106.7 MHz(QMI) time=381.089ms perf=2.57 mem_alloc=1010928 bytes---- 1.20 V 340 MHz / 3 = 113.3 MHz(QMI) time=358.679ms perf=2.73 mem_alloc=1010960 bytes---- 1.25 V 360 MHz / 3 = 120.0 MHz(QMI) time=338.956ms perf=2.89 mem_alloc=1010960 bytes---- 1.30 V 380 MHz / 3 = 126.7 MHz(QMI) time=320.914ms perf=3.06 mem_alloc=1010960 bytes 399 MHz / 3 = 133.0 MHz(QMI) time=306.047ms perf=3.20 mem_alloc=1010928 bytes 400 MHz / 4 = 100.0 MHz(QMI) time=334.308ms perf=2.93 mem_alloc=1010928 bytes---- 1.35 V 420 MHz / 4 = 105.0 MHz(QMI) time=318.430ms perf=3.08 mem_alloc=1010960 bytes---- 1.40 V 440 MHz / 4 = 110.0 MHz(QMI) time=304.124ms perf=3.22 mem_alloc=1010960 bytes---- 1.50 V 460 MHz / 4 = 115.0 MHz(QMI) time=290.940ms perf=3.37 mem_alloc=1010960 bytes 480 MHz / 4 = 120.0 MHz(QMI) time=278.958ms perf=3.52 mem_alloc=1010928 bytes---- 1.60 V 500 MHz / 4 = 125.0 MHz(QMI) time=267.843ms perf=3.66 mem_alloc=1010960 bytes 520 MHz / 4 = 130.0 MHz(QMI) time=258.014ms perf=3.80 mem_alloc=1010928 bytes 532 MHz / 4 = 133.0 MHz(QMI) time=252.246ms perf=3.89 mem_alloc=1010928 bytes 534 MHz / 5 = 106.8 MHz(QMI) time=273.612ms perf=3.58 mem_alloc=1010928 bytes---- 1.65 V 540 MHz / 5 = 108.0 MHz(QMI) time=270.685ms perf=3.62 mem_alloc=1010960 bytes 546 MHz / 5 = 109.2 MHz(QMI) time=266.862ms perf=3.68 mem_alloc=1010928 bytes---- 1.70 V 552 MHz / 5 = 110.4 MHz(QMI) time=263.859ms perf=3.72 mem_alloc=1010960 bytes 564 MHz / 5 = 112.8 MHz(QMI) time=258.367ms perf=3.80 mem_alloc=1010928 bytes---- 1.80 V 570 MHz / 5 = 114.0 MHz(QMI) time=255.920ms perf=3.83 mem_alloc=1010976 bytes 576 MHz / 5 = 115.2 MHz(QMI) time=252.972ms perf=3.88 mem_alloc=1010944 bytes 582 MHz / 5 = 116.4 MHz(QMI) time=250.460ms perf=3.92 mem_alloc=1010944 bytes 588 MHz / 5 = 117.6 MHz(QMI) time=248.087ms perf=3.95 mem_alloc=1010944 bytes 594 MHz / 5 = 118.8 MHz(QMI) time=245.457ms perf=4.00 mem_alloc=1010944 bytes---- 1.90 V 600 MHz / 5 = 120.0 MHz(QMI) time=243.242ms perf=4.03 mem_alloc=1010976 bytes 606 MHz / 5 = 121.2 MHz(QMI) time=240.583ms perf=4.08 mem_alloc=1010928 bytes 612 MHz / 5 = 122.4 MHz(QMI) time=238.223ms perf=4.12 mem_alloc=1010928 bytes 618 MHz / 5 = 123.6 MHz(QMI) time=236.027ms perf=4.16 mem_alloc=1010928 bytes---- 2.00 V 624 MHz / 5 = 124.8 MHz(QMI) time=234.014ms perf=4.19 mem_alloc=1010960 bytes 630 MHz / 5 = 126.0 MHz(QMI) time=231.566ms perf=4.24 mem_alloc=1010928 bytes 636 MHz / 5 = 127.2 MHz(QMI) time=229.373ms perf=4.28 mem_alloc=1010928 bytes
Statistics: Posted by gmx — Sat Aug 31, 2024 6:52 pm — Replies 0 — Views 71