Author Topic: The Raspberry PI PICO 2, now has extra RISC-V cores  (Read 20080 times)

0 Members and 2 Guests are viewing this topic.

Offline tszaboo

  • Super Contributor
  • ***
  • Posts: 7917
  • Country: nl
  • Current job: ATEX product design
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #225 on: August 29, 2024, 02:55:05 pm »
Looks like the GPIO latch-up issue can happen even without pullups/pulldowns enabled
https://github.com/raspberrypi/pico-feedback/issues/401
That's an issue that calls for a B revision silicon.
The inputs not working properly is not something that you can downplay and solve in software.
 
The following users thanked this post: MK14

Offline coppice

  • Super Contributor
  • ***
  • Posts: 9455
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #226 on: August 29, 2024, 03:53:13 pm »
Looks like the GPIO latch-up issue can happen even without pullups/pulldowns enabled
https://github.com/raspberrypi/pico-feedback/issues/401
That thread isn't very specific about what was done. When they pulled high, what exactly were they pulling to, and was this a dead short connexion? Was this 3.3V connexion guaranteed not to exceed whatever is used inside the MCU as its pin protection reference at all times? Modern multi-rail MCUs can have some pretty complex pin protection, especially if that protection was designed to deal with things like 5V tolerant inputs on a device with a lower, typically 3.3V, peripheral power rail. You can't simply diode clamp to the rail, and check very thoroughly for parasitic SCRs. There are quite a few fine geometry MCUs that have had troublesome latch up conditions on port pins, which typically proved hard to fix, as the pin protection has had to be seriously reworked.
 

Offline bob1033

  • Contributor
  • Posts: 13
  • Country: us
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #227 on: August 29, 2024, 04:23:14 pm »
If you look lower in the issue thread you can see that Ian from Dangerous Prototypes has some code to replicate the issue on the Bus Pirate. It seems like any weakly low pin can latch up to 2.1V
 
The following users thanked this post: MK14

Offline iMo

  • Super Contributor
  • ***
  • Posts: 5160
  • Country: bt
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #228 on: August 29, 2024, 04:42:14 pm »
Looks like the GPIO latch-up issue can happen even without pullups/pulldowns enabled
https://github.com/raspberrypi/pico-feedback/issues/401
That's an issue that calls for a B revision silicon.
The inputs not working properly is not something that you can downplay and solve in software.

That would be interesting now.. They made a revision in 2040 afaik, but in the ROM code only which may cost them only 1 new mask, and the ADC bug has not been fixed as that would mean a complete new set of mask, imho. So the total $$ lost will depend on how many masks they have to generate new.
With perhaps a million (??) 2350 chips already produced, the new B revision may increase the costs of this exercise significantly..
Readers discretion is advised..
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4728
  • Country: dk
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #229 on: August 29, 2024, 05:28:12 pm »
Looks like the GPIO latch-up issue can happen even without pullups/pulldowns enabled
https://github.com/raspberrypi/pico-feedback/issues/401
That's an issue that calls for a B revision silicon.
The inputs not working properly is not something that you can downplay and solve in software.

That would be interesting now.. They made a revision in 2040 afaik, but in the ROM code only which may cost them only 1 new mask, and the ADC bug has not been fixed as that would mean a complete new set of mask, imho. So the total $$ lost will depend on how many masks they have to generate new.
With perhaps a million (??) 2350 chips already produced, the new B revision may increase the costs of this exercise significantly..

afaiu a mask set for 40nm is close to $1M, gotta sell a lot <$1 chips to make that up

 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 5160
  • Country: bt
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #230 on: August 29, 2024, 05:33:14 pm »
Interestingly the mysterious tester spent a year testing it .. and did not spot the issue..
Readers discretion is advised..
 
The following users thanked this post: RAPo

Offline coppice

  • Super Contributor
  • ***
  • Posts: 9455
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #231 on: August 29, 2024, 05:39:39 pm »
Interestingly the mysterious tester spent a year testing it .. and did not spot the issue..
Most people never see most issues in MCUs. They just don't use anything like the full range of functionality the device has. That's why it often puzzles people when they notice an MCU is up to revision M or N, when they thought it was fine when they were doing their development with revision A or B. The vendor didn't keep making those revisions for no reason. A few revisions are to improve manufacturability, but most fix bugs.
 

Offline bob1033

  • Contributor
  • Posts: 13
  • Country: us
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #232 on: August 29, 2024, 05:50:19 pm »
Interestingly the mysterious tester spent a year testing it .. and did not spot the issue..

I work in pre and post silicon verification of microcontrollers. A lot a bugs we discover come from stochastic tests, randomizing GPIO input and register settings and verifying the behavior against a software model. Often bugs go unnoticed until someone runs code in a very specific sequence that triggers the bad behavior. Most customers use the chip for a very specific use case and therefore don't exercise the peripherals enough to catch these edge cases.
 
The following users thanked this post: iMo, RAPo, rteodor

Offline rteodor

  • Regular Contributor
  • *
  • Posts: 170
  • Country: ro
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #233 on: August 29, 2024, 05:54:21 pm »
Looks like the GPIO latch-up issue can happen even without pullups/pulldowns enabled
https://github.com/raspberrypi/pico-feedback/issues/401
That's an issue that calls for a B revision silicon.
The inputs not working properly is not something that you can downplay and solve in software.

That would be interesting now.. They made a revision in 2040 afaik, but in the ROM code only which may cost them only 1 new mask, and the ADC bug has not been fixed as that would mean a complete new set of mask, imho. So the total $$ lost will depend on how many masks they have to generate new.
With perhaps a million (??) 2350 chips already produced, the new B revision may increase the costs of this exercise significantly..

afaiu a mask set for 40nm is close to $1M, gotta sell a lot <$1 chips to make that up

A new mask doesn't cost only upfront money. Some clients specifically look for chips that were sold without a mask change in the last N years. Were N can be 5 ...10...15 or even more years.
A new mask for RP2040 may not be worthy especially when it has a successor. RP2350 OTOH is young so it may have a new mask when enough problems pile up.
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 9455
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #234 on: August 29, 2024, 06:02:34 pm »
A new mask doesn't cost only upfront money. Some clients specifically look for chips that were sold without a mask change in the last N years. Were N can be 5 ...10...15 or even more years.
That argument makes no sense. Almost all revisions happen in the first few years. After that, even if a problem shows up, sales have tailed off and nobody wants to put resources into further updates. Also, it clear most customers can live with whatever problems remain.
 

Offline rteodor

  • Regular Contributor
  • *
  • Posts: 170
  • Country: ro
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #235 on: August 29, 2024, 06:16:00 pm »
A new mask doesn't cost only upfront money. Some clients specifically look for chips that were sold without a mask change in the last N years. Were N can be 5 ...10...15 or even more years.
That argument makes no sense. Almost all revisions happen in the first few years. After that, even if a problem shows up, sales have tailed off and nobody wants to put resources into further updates. Also, it clear most customers can live with whatever problems remain.
My point exactly, only in better wording.
 

Offline wasedadoc

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #236 on: August 29, 2024, 06:57:39 pm »

At this point it seems obvious that RP2350 is intended to be sold to the bigger market. Be that from one or the other side of the spectrum as described above. For now Broadcom wants to up the game for this device.
The RP2350 is NOT a Broadcom device.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 5160
  • Country: bt
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #237 on: August 29, 2024, 06:57:56 pm »
This is my calculation - an estimate only - how many chips I have to produce when I plan to have 2 new revisions (not counting development costs and costs of sw tools and libraries and licenses - as the Rpi Foundation is a registered charity organization in England and Wales  :) ):

Mask set cost: $1,000,000
Wafer cost: $3,000 per 300mm wafer in 40nm TSMC
Chips per wafer: 15,000 chips
Selling price per chip: $0.60 (+ 40cents distributor's costs and margins = $1.00 street price)
Two new revisions means additional two sets of mask costs
Packaging cost per chip (QFN-60 epoxy): around $0.05 to $0.10, but let us assume $0.10 per chip as a conservative estimate.
Result:
We would need to sell 10,000,000 chips to break even.
The actual calculation left as a homework for the readers..  :D
« Last Edit: August 29, 2024, 07:23:44 pm by iMo »
Readers discretion is advised..
 
The following users thanked this post: RAPo

Offline wasedadoc

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #238 on: August 29, 2024, 07:06:28 pm »
This is my calculation - how many chips I have to produce (not counting development costs and costs of sw tools and libraries and licenses - as the Rpi foundation is registered charity organization in England and Wales):
^^ Another person who does not understand the relationship between the RPi Foundation charity and the commercial business which designs and sells the products.
 

Offline tszaboo

  • Super Contributor
  • ***
  • Posts: 7917
  • Country: nl
  • Current job: ATEX product design
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #239 on: August 29, 2024, 07:09:11 pm »
This is my calculation - how many chips I have to produce (not counting development costs and costs of sw tools and libraries and licenses - as the Rpi foundation is registered charity organization in England and Wales):
^^ Another person who does not understand the relationship between the RPi Foundation charity and the commercial business which designs and sells the products.
So why don't you spell it out instead of saying: "yor dumb"
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 9455
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #240 on: August 29, 2024, 07:12:07 pm »
This is my calculation - how many chips I have to produce when I plan to have 2 new revisions (not counting development costs and costs of sw tools and libraries and licenses - as the Rpi Foundation is a registered charity organization in England and Wales  :) ):

Mask set cost: $1,000,000
Wafer cost: $3,000 per 300mm wafer in 40nm TSMC
Chips per wafer: 15,000 chips
Selling price per chip: $0.60 (+ 40cents marketing and distributor's margins = $1.00 street price)
Two new revisions means additional two sets of mask costs
Packaging cost per chip (QFN-60 epoxy): around $0.05 to $0.10, but let us assume $0.10 per chip as a conservative estimate.
Result:
We would need to sell 10,000,000 chips to break even.
The actual calculation left as a homework for the readers..  :D
This assumes a complete new mask set. A huge number of problem resolutions are achieved with metal fixes. If it turns out to be the something basic in the port protection an all layer fix may be needed, but its amazing how creativity can turn may fixes into metal only ones. You do realise most chips have a sprinkling of spare bits spread around that can be patched in with a metal fix, don't you?
 

Online MK14Topic starter

  • Super Contributor
  • ***
  • Posts: 4929
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #241 on: August 29, 2024, 07:22:54 pm »
I think it is best to wait, until Raspberry Pi themselves, investigate (if necessary), agree that there is a problem (worse than the already officially agreed, low-pulldown not working properly issues), and if there is, they will be in the best situation, to see how bad/costly a possible fix might be.

E.g. It is very easy to (without realizing) blow up I/O ports on your MCU, and then accuse the manufacturer of having bugs in their chip.

It really needs more people to investigate and report back.  Ideally, officially via the Raspberry Pi organizations.

Maybe just that chip was faulty?

EDIT: Added to.

EDIT2:  There does seem to be confirmation, from another person/entity, but that is still a bit too few and unofficial to start panicking about it.
« Last Edit: August 29, 2024, 07:28:26 pm by MK14 »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 5160
  • Country: bt
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #242 on: August 29, 2024, 07:36:54 pm »
The above estimation plans one initial revision A and 2 new complete mask revisions B and C.
Does not include development costs (opex/capex) for simplicity, but to add the cost estimation is not that difficult. I did it to somehow estimate the ballpark.
How the Rpi foundation/company/charity  :D will do exactly proceed with current or future 2350 issues is not related to the above estimation, and frankly I do not care :) ..
Readers discretion is advised..
 
The following users thanked this post: MK14

Offline wasedadoc

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #243 on: August 29, 2024, 07:37:20 pm »
This is my calculation - how many chips I have to produce (not counting development costs and costs of sw tools and libraries and licenses - as the Rpi foundation is registered charity organization in England and Wales):
^^ Another person who does not understand the relationship between the RPi Foundation charity and the commercial business which designs and sells the products.
So why don't you spell it out instead of saying: "yor dumb"
Google not working again?

https://www.raspberrypi.org/about/

https://www.raspberrypi.com/about/
 

Online brucehoult

  • Super Contributor
  • ***
  • Posts: 4493
  • Country: nz
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #244 on: August 29, 2024, 11:05:31 pm »
This is my calculation - how many chips I have to produce (not counting development costs and costs of sw tools and libraries and licenses - as the Rpi foundation is registered charity organization in England and Wales):
^^ Another person who does not understand the relationship between the RPi Foundation charity and the commercial business which designs and sells the products.
So why don't you spell it out instead of saying: "yor dumb"

Here, let me try:

No Raspberry Pi device has to make back its development costs. For the commercial business the selling price only has to cover the marginal cost of producing the device. Development costs (including re-spin of silicon to fix bugs) is paid for by the charity from donations.
 
The following users thanked this post: MK14

Offline tszaboo

  • Super Contributor
  • ***
  • Posts: 7917
  • Country: nl
  • Current job: ATEX product design
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #245 on: August 29, 2024, 11:28:30 pm »
This is my calculation - how many chips I have to produce (not counting development costs and costs of sw tools and libraries and licenses - as the Rpi foundation is registered charity organization in England and Wales):
^^ Another person who does not understand the relationship between the RPi Foundation charity and the commercial business which designs and sells the products.
So why don't you spell it out instead of saying: "yor dumb"
Google not working again?

https://www.raspberrypi.org/about/

https://www.raspberrypi.com/about/
It does, but when you do that, you don't come off as an rude prick.
 

Offline wasedadoc

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #246 on: August 30, 2024, 12:04:43 am »
This is my calculation - how many chips I have to produce (not counting development costs and costs of sw tools and libraries and licenses - as the Rpi foundation is registered charity organization in England and Wales):
^^ Another person who does not understand the relationship between the RPi Foundation charity and the commercial business which designs and sells the products.
So why don't you spell it out instead of saying: "yor dumb"

Here, let me try:

No Raspberry Pi device has to make back its development costs. For the commercial business the selling price only has to cover the marginal cost of producing the device. Development costs (including re-spin of silicon to fix bugs) is paid for by the charity from donations.
Nope the charity does not fund development costs.  The charity side is not  even single minded on RPi products.  The commercial business is one of the donors to the charity.

Lots of finance details of RaspberryPi Ltd (commercial) in the pdf for '25 Oct 2023   Amended full accounts made up to 31 December 2022' at https://find-and-update.company-information.service.gov.uk/company/08207441/filing-history
« Last Edit: August 30, 2024, 12:13:00 am by wasedadoc »
 
The following users thanked this post: RAPo

Offline abraxalito

  • Contributor
  • Posts: 10
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #247 on: September 07, 2024, 03:26:23 am »
I think it is best to wait, until Raspberry Pi themselves, investigate (if necessary), agree that there is a problem (worse than the already officially agreed, low-pulldown not working properly issues), and if there is, they will be in the best situation, to see how bad/costly a possible fix might be.

There's now an updated datasheet with the 'E9' erratum spelled out in detail. The TL;DR version is - treat GPIO inputs as if they're TTL and you'll be fine. In other words any pull-downs need to be strong ones (lower than 8k2 at current estimates). This rather rules out use of the internal pull-downs.
 
The following users thanked this post: MK14

Online MK14Topic starter

  • Super Contributor
  • ***
  • Posts: 4929
  • Country: gb
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #248 on: September 07, 2024, 09:12:47 am »
There's now an updated datasheet with the 'E9' erratum spelled out in detail. The TL;DR version is - treat GPIO inputs as if they're TTL and you'll be fine. In other words any pull-downs need to be strong ones (lower than 8k2 at current estimates). This rather rules out use of the internal pull-downs.

EDIT2:
On reflection, that errata, seems way, way too complicated, to expect, the wide range of differing skill levels, from beginner to expert, to be able to reliably use these RP2350's (Pico 2's etc).  In my opinion.  Since inputs, are such an important part of some embedded projects.

Thanks for that information!

I would like to add, to that.
First, one of the (apparently a) Raspberry Pi people/engineers/moderators, seems to have said, they are considering if they need to (as a result), release an updated version of the chip, on the official Raspberry Pi Forums.  I'm not sure if that decision has been made yet, or not.

Second, (partly based on what other(s) on unofficial sources, have said), that may not really work out, in practice.  Because if it is (or is also used as, sometimes, by the hardware), an analogue input, it may not have such strong pull-low drive characteristics, depending on the exact circuit configuration/design used.

E.g. An LDR (Light Dependent Resistor), whose resistance depends on the light level, and might be fed into an ADC pin, for reading the ambient light level, without an op-amp buffer.  Could easily, sometimes be in the problematic (too high), resistance range, and then latch up the pin.

N.B. I'm NOT familiar enough with the exact details of it all, to be 100% certain, so maybe the exact scenario, has to be different.

EDIT:
Looking at the updated datasheet, version information follows:
Quote
build-date: 2024-09-06
build-version: 05c4754-clean
Source:   https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf

Quote
GPIO
RP2350-E9
Reference RP2350-E9
Summary Increased leakage current on Bank 0 GPIO when pad input is enabled
Affects RP2350 A2

Quote
Appendix H: Documentation Release
History
6 September 2024
• Enhanced E9 errata description with additional details.

N.B. More information in actual datasheet, I've not copied the multiple graphs, included in the datasheet, about this issue.

Quote
Description For GPIO pads 0 through 47:
Increased leakage current when Bank 0 GPIO pads are configured as inputs and the pad is somewhere
between VIL and VIH (the undefined logic region).
When the pad is set as an input (input enable is enabled and output enable is disabled) and the voltage
on the pad is within the undefined logic region, the leakage current exceeds the standard specified IIN
leakage level. During this condition the pad can source current (the exact amount is dependent on the
chip itself and the exact pad voltage, but typically around 120μA). This leakage will hold the pad at
around 2.2 V as that is the effective source voltage of the leakage, and can only be overcome with a
suitably low impedance driver / pull.
Note that the pad pull-down (if enabled) is significantly weaker than the leakage current in this state and
therefore is not strong enough to pull the pad voltage low.
Driving / pulling the pad input low with a low impedance source of 8.2 kΩ or less will overcome the
erroneous leakage and drive the voltage below the level where the leakage current occurrs, so in this case
if the pad is driven / pulled low it will stay low.
The erroneous leakage only occurs (and continues to occur) when the pad input enable is enabled;
disabling the input enable will reset (remove) the leakage.
The pad pull-up still works. If enabled it will pull the pad to IOVDD as it will pull the input voltage out of the
problematic range.
The voltages and currents above are based on IOVDD at 3.3 V. For IOVDD at 1.8 V the effective source
voltage of the leakage becomes 1.8 V and the peak current is around 30μA. This is effectively a pull-up
(separate to the standard pad pull-up) when the pad voltage is between 0.6 V and 1.8 V.
These graphs show the leakage current versus pad input voltage for a typical chip for IOVDD at 3.3 V
Figure 152 and 1.8 V Figure 153.
In detail, this issue presents under the following conditions, for any GPIO 0 through 47:
1. The voltage on the pad is in the undefined logic region.
2. Input buffer is enabled in GPIO0.IE
3. Output buffer is disabled (e.g. selecting the NULL GPIO function)
4. Isolation is clear in GPIO0.ISO, or the previous were true at the point isolation was set
When all of the above conditions are met, the input leakage of the pad may exceed the specification.
This issue may affect a number of common circuits:
• Relying on floating pins to have a low leakage current
• Relying on the internal pull-down resistor
If the internal pull-up is enabled then any floating signal will be pulled high thus removing increased
leakage condition as the excess leakage is only sourcing current. This of course can’t prevent the
increased leakage if the pad is fed via a strong source e.g. strong potential divider.
Note that this does not affect the pull-down behaviour of the pads immediately following a PoR or RUN
reset, because the input enable field is initially clear. The pull-down resistor functions normally in this
state.
This issue does not affect the QSPI pads, which use a different pad macro without the faulty circuitry.
The USB PHY’s pins are also unaffected.
This issue does also affect the SWD pads, which use the same fault-tolerant pad macro as the Bank 0
GPIOs. However, both SWD pads are pull-up by default, so there is no ill effect.
RP2350 Datasheet
GPIO 1342
Workaround If pad pull-down behaviour is required, clear the pad input enable in GPIO0.IE (for GPIOs 0 through 47) to
ensure that the pad pull-down resistor pulls the pad signal low. To read the state of a pad pulled-down
GPIO from software, enable the input buffer by setting GPIO0.IE immediately before reading, and then re-
disable immediately afterwards. Note that if the pad is already a logic-0, re-enabling the input does not
disturb the pull-down state.
Alternatively an external pull-down of 8.2 kΩ or less can be used.
Note that PIO programs can’t toggle pad controls and therefore external pulls may be required, depending
on your application.
As normal, if ADC channels are being used on a pin, clear the relevant GPIO input enable as stated in
Section 12.4.3.
Fixed by Documentation
« Last Edit: September 07, 2024, 09:47:47 am by MK14 »
 
The following users thanked this post: edavid, globoy

Offline abraxalito

  • Contributor
  • Posts: 10
Re: The Raspberry PI PICO 2, now has extra RISC-V cores
« Reply #249 on: September 07, 2024, 02:27:34 pm »

E.g. An LDR (Light Dependent Resistor), whose resistance depends on the light level, and might be fed into an ADC pin, for reading the ambient light level, without an op-amp buffer.  Could easily, sometimes be in the problematic (too high), resistance range, and then latch up the pin.


As far as I understand it, when using the ADC on a pin its digital input is supposed to be disabled therefore the bug doesn't affect ADC operation. Right at the end of the part you quoted :

As normal, if ADC channels are being used on a pin, clear the relevant GPIO input enable as stated in Section 12.4.3.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf