Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4511

General • Pico2 (RP2350 B) running beyond 600 MHz, from flash, with PSRAM, in Micropython

$
0
0
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.

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



Viewing all articles
Browse latest Browse all 4511

Trending Articles