Digital Replacing Analog...

On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.deletethisbit@gmail.com> wrote in message
news:0bd36331-f550-4e8d-942d-db0c448c8274o@googlegroups.com....
No, this design was just started recently. Other designs aren\'t really
relevant.


Ah okay. It wasn\'t specified, so I was careful to accommodate the
possibility that this was updating an old design.


The fact that an MCU has an ADC doesn\'t mean it has to be used. There are
pros and cons to every design decision and they are too numerous to list
for this matter. Suffice to say the desire is to write less C code when
practical.


Oh, is it a small quantity thing? (Production was also unstated.) By that
I mean, I take it the development costs will not amortize effectively, which
might be a good reason to avoid software development.

And also that the client is very confident in their spec, so changes are not
expected -- programming \"in solder\" being a lot more expensive than
software.


The pass transistor can be whatever works best. Presently it is an AOD4185
used as an on/off switch. I was looking at adding more circuitry to make
it a 12 volt limiter to the motor with minimal drop out when the power
source drops below 12 volts. I realized with some elbow grease the whole
circuit could be done in the FPGA.


There are power management chips for that. Check hot-swap and wired-OR
controllers. Though if you need a few more features than they offer, it
might be best to integrate it by hand.

And again, (ab)using a switching reg (in this case, one that can deliver
100% duty cycle) looks attractive, offering a much longer overload period
(e.g., continuous vs. a few ms), might be useful.


Control loops are not my forte, so I would need to handle this carefully.
But that\'s true in analog and digital domains.

The analog version I\'m playing with in LTspice uses a voltage divider with
a small cap across the high side resistors to an op amp inverting input and
a feedback resistor. The non-inverting input is a fixed voltage reference.
This feeds an N-channel FET which pulls down on the P-channel pass FET, the
AOD4185 driving the load.


Eww, tons of excess loop gain! Try heavily degenerating the NFET, and
putting some kind of local feedback around the PFET (source degeneration is
best, but mind the voltage drop; a current-sense amp might be used here,
though costing phase margin).

A charge pump to create an over-the-top rail isn\'t a bad idea, but not
absolutely necessary. That allows a NFET follower (enh mode) -- much more
stable. Depl. mode also an option, but fewer FETs to choose from.

And look at using a higher voltage op-amp, all that extra level shifting is
a mess and why bother when you can do it straight away, y\'know? Then you
can direct drive the PFET /and/ sense its current (from a small shunt) to
get a fast and stable loop.

As for compensation, try R+Cs instead of R (completely wastes loop gain) or
C (wastes phase margin) across the op-amp (out to -in).


Using the rather slow op amp uses elsewhere in the circuit it
under-performs with large transients. Changing that to an AD744 (picked
semi-randomly from the LTspice model list) the circuit works ok but with
some over drive and transients on current changes.


A partial solution to that, is to use source degeneration (again, mind the
voltage drop, this isn\'t always viable) and a fairly tight gate voltage
clamp (maybe a 5V zener?). Yanking down on the drain pulls big current, and
gate capacitance pulls gate voltage down along with it. Zener yanks the
gate back, limiting current. You can go from, say, >100A transients (under
a momentary-shorting load condition), to only a modest factor above the
design current limit (say 2-10x, the ratio of course depending on how much
voltage drop you can afford on the shunt).


You are behind the times. FPGAs can be as little as $2 and can incorporate
functions that can\'t be handled as well in MCUs. In this case it is on the
board because of a perceived difference in approvals. It\'s odd that we are
using this justification because no one has actually said it will be easier
to get approved... odd, but I\'m not running things.


I was just browsing FPGAs the other day, actually; notice I didn\'t specify
what range of FPGAs. I meant FPGAs as a whole. Median parts seem to be in
the low $10s, with the smallest entry-level parts being $2.

MCUs start at a fraction of that, and median parts are a few bucks.

As for approval, some people consider FPGAs to be \"hardware\", but I don\'t
know of any standards about that (for or against). Good luck..



I guess the typical FPGA load configuration at boot with each block defined in SRAM like registers

For a Class B product, one would need to check all those registers at interval in run mode. 60730 defines all the modes that must be tested at interval and at boot

I can\'t view that spec, but it claims to only apply to \"household\" electronics.

Yes, and that covers pretty much any electronics in your home or office

Which has nothing to do with ventilators.


Sure it has. A ventilator, a pump, an air condition. Anything with a motor in it, or any product that has a power level that in case of a fault could heat a component up and exceed insulation specs or outright burst into flames is covered.

Say one of your FETs that controls the motor shorts or operates in linear mode that would not trigger a safety function will heat the motor up to above 150 degrees for Class F wire, would then fail the UL/IEC test

In case of a motor controlled with SW, there needs to be safeguards that makes sure the SW behaves correctly, even when you introduce errors into the microcontroller. Bit flip, timer going berserk, oscillator outside ranges etc

We spend a LOT of time on these faults, component breakdown tests, to be sure the product is safe

In 60730 what exactly is a class B product?


Any household product. What standard have the approval body told you that you should comply to?


I do not think a typical FPGA has this feature, so it cannot be approved as a HW block

On top of that, the oscillator frequency needs to be checked along with other parameters

I don\'t know anything that does meet that requirement. I recall NASA gear that would reboot periodically to deal with soft radiation induced errors. Is that the sort of thing you are talking about?


This is a requirement for any equipment with SW that control an element that can potentially heat up to unsafe levels. So in this case, a motor for a household gadget. In our case, it\'s a circulation pump

So, nothing to do with NASA, this is for \"standard\" electronics

Fine, but what electronics with digital \"stuff\" meets this requirement? How do they meet it other than just not using digital \"stuff\"?



Using Class B SW techniques. Like those described in this document from ST:

https://www.st.com/resource/en/application_note/dm00105610-guidelines-for-obtaining-ulcsaiec-607301603351-class-b-certification-in-any-stm32-application-stmicroelectronics.pdf


About the oscillator check, that can be done quite simple inside the controller. You feed the main clock to a timer, and you then compare the main clock with say the watchdog clock/timer. They must not differ much, if they do, you pull the reset flag

Who defines \"not much\"???


You do. You check that at the maximum range that the product is still safe. So if your clock will impact your product to have double heat consumption at half clock frequency and that is a problem, then that is your limit


Same for code check. During compile time, you calculate the code checksum. During runtime, the code checksum is calculated every 10 seconds. If it differs, you pull reset

Ok then, reloading the config would meet that requirement. So the NASA approach for FPGAs works well.


Yes

In this case I know of no such requirement. I think people accept that such errors are sufficiently rare. In our case the software and firmware can keep an eye on one another. If either sees something wonky the entire unit gets rebooted. The MCU can reboot the FPGA after the FPGA has rebooted the MCU.


That does not cut it. The approval body needs to approve your SW. If you do not have approved Class B SW, then your micro is considered to be one big fault generator. If you have your checks in place, then you can get it approved. The advantage of using the libraries from ST or Microchip and others is that they are preapproved, so you only need to argue about the application layer when you talk to the approval body

Don\'t you do component breakdown tests and evaluation of Critical Components (those that need UL/IEC approval, since they are connected to the line, Y caps, X caps, varistors etc)

Cheers

Klaus

Normally I would welcome such a discussion, but you are not getting it. The standard you are referring to does not apply to medical equipment. The medical standard may require something similar, but that will be the medical standard requirement, not the standard you are referring to which may be very different. The software hazards are not relevant if they are prevented from materializing because the hardware prevents them.

I\'m not interested in going round and round about this. You need to understand what I\'m saying and you don\'t seem to.

Maybe I am not getting it, could be :)

Maybe elaborate on your requirements then

You now mention \"medical device\". That will be a lot tougher approval wise than a household appliance, so your needs for approved SW will be even more relevant

Which medical standard do you have to comply to?

Cheers

Klaus
 
On Sunday, August 30, 2020 at 3:47:48 PM UTC+10, Tabby wrote:
\"Bill Sloman\" <bill....@ieee.org> wrote in message
news:a6c8031e-bb57-41bf...@googlegroups.com...

NT can see that because he\'s forgotten that the CD4011 can handled rail
voltages up to 18V. Getting a programmable logic chip that cope with that
kind of voltage isn\'t easy.

whoosh as usual

NT still doesn\'t get it. No surprise there.

--
Bil Sloman, Sydney
 
On 30/08/20 09:45, Klaus Kragelund wrote:
Maybe elaborate on your requirements then

You now mention \"medical device\". That will be a lot tougher approval wise than a household appliance, so your needs for approved SW will be even more relevant

Which medical standard do you have to comply to?

Ricketty has previously posted in a different thread about
a homebrew/hacker lung ventilator project.

Several people pointed out the difficulties (technical and
more importantly non-technical) of getting that approved
under any circumstances, let alone the circumstances he
described for that project. Those comments were not welcomed.

It might be worth trying to understand how that background
might relate to this thread :)
 
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.deletethisbit@gmail.com> wrote in message
news:0bd36331-f550-4e8d-942d-db0c448c8274o@googlegroups.com....
No, this design was just started recently. Other designs aren\'t really
relevant.


Ah okay. It wasn\'t specified, so I was careful to accommodate the
possibility that this was updating an old design.


The fact that an MCU has an ADC doesn\'t mean it has to be used. There are
pros and cons to every design decision and they are too numerous to list
for this matter. Suffice to say the desire is to write less C code when
practical.


Oh, is it a small quantity thing? (Production was also unstated.) By that
I mean, I take it the development costs will not amortize effectively, which
might be a good reason to avoid software development.

And also that the client is very confident in their spec, so changes are not
expected -- programming \"in solder\" being a lot more expensive than
software.


The pass transistor can be whatever works best. Presently it is an AOD4185
used as an on/off switch. I was looking at adding more circuitry to make
it a 12 volt limiter to the motor with minimal drop out when the power
source drops below 12 volts. I realized with some elbow grease the whole
circuit could be done in the FPGA.


There are power management chips for that. Check hot-swap and wired-OR
controllers. Though if you need a few more features than they offer, it
might be best to integrate it by hand.

And again, (ab)using a switching reg (in this case, one that can deliver
100% duty cycle) looks attractive, offering a much longer overload period
(e.g., continuous vs. a few ms), might be useful.


Control loops are not my forte, so I would need to handle this carefully.
But that\'s true in analog and digital domains.

The analog version I\'m playing with in LTspice uses a voltage divider with
a small cap across the high side resistors to an op amp inverting input and
a feedback resistor. The non-inverting input is a fixed voltage reference.
This feeds an N-channel FET which pulls down on the P-channel pass FET, the
AOD4185 driving the load.


Eww, tons of excess loop gain! Try heavily degenerating the NFET, and
putting some kind of local feedback around the PFET (source degeneration is
best, but mind the voltage drop; a current-sense amp might be used here,
though costing phase margin).

A charge pump to create an over-the-top rail isn\'t a bad idea, but not
absolutely necessary. That allows a NFET follower (enh mode) -- much more
stable. Depl. mode also an option, but fewer FETs to choose from.

And look at using a higher voltage op-amp, all that extra level shifting is
a mess and why bother when you can do it straight away, y\'know? Then you
can direct drive the PFET /and/ sense its current (from a small shunt) to
get a fast and stable loop.

As for compensation, try R+Cs instead of R (completely wastes loop gain) or
C (wastes phase margin) across the op-amp (out to -in).


Using the rather slow op amp uses elsewhere in the circuit it
under-performs with large transients. Changing that to an AD744 (picked
semi-randomly from the LTspice model list) the circuit works ok but with
some over drive and transients on current changes.


A partial solution to that, is to use source degeneration (again, mind the
voltage drop, this isn\'t always viable) and a fairly tight gate voltage
clamp (maybe a 5V zener?). Yanking down on the drain pulls big current, and
gate capacitance pulls gate voltage down along with it. Zener yanks the
gate back, limiting current. You can go from, say, >100A transients (under
a momentary-shorting load condition), to only a modest factor above the
design current limit (say 2-10x, the ratio of course depending on how much
voltage drop you can afford on the shunt).


You are behind the times. FPGAs can be as little as $2 and can incorporate
functions that can\'t be handled as well in MCUs. In this case it is on the
board because of a perceived difference in approvals. It\'s odd that we are
using this justification because no one has actually said it will be easier
to get approved... odd, but I\'m not running things.


I was just browsing FPGAs the other day, actually; notice I didn\'t specify
what range of FPGAs. I meant FPGAs as a whole. Median parts seem to be in
the low $10s, with the smallest entry-level parts being $2.

MCUs start at a fraction of that, and median parts are a few bucks.

As for approval, some people consider FPGAs to be \"hardware\", but I don\'t
know of any standards about that (for or against). Good luck.



I guess the typical FPGA load configuration at boot with each block defined in SRAM like registers

For a Class B product, one would need to check all those registers at interval in run mode. 60730 defines all the modes that must be tested at interval and at boot

I can\'t view that spec, but it claims to only apply to \"household\" electronics.

Yes, and that covers pretty much any electronics in your home or office

Which has nothing to do with ventilators.


Sure it has. A ventilator, a pump, an air condition. Anything with a motor in it, or any product that has a power level that in case of a fault could heat a component up and exceed insulation specs or outright burst into flames is covered.

Say one of your FETs that controls the motor shorts or operates in linear mode that would not trigger a safety function will heat the motor up to above 150 degrees for Class F wire, would then fail the UL/IEC test

In case of a motor controlled with SW, there needs to be safeguards that makes sure the SW behaves correctly, even when you introduce errors into the microcontroller. Bit flip, timer going berserk, oscillator outside ranges etc

We spend a LOT of time on these faults, component breakdown tests, to be sure the product is safe

In 60730 what exactly is a class B product?


Any household product. What standard have the approval body told you that you should comply to?


I do not think a typical FPGA has this feature, so it cannot be approved as a HW block

On top of that, the oscillator frequency needs to be checked along with other parameters

I don\'t know anything that does meet that requirement. I recall NASA gear that would reboot periodically to deal with soft radiation induced errors. Is that the sort of thing you are talking about?


This is a requirement for any equipment with SW that control an element that can potentially heat up to unsafe levels. So in this case, a motor for a household gadget. In our case, it\'s a circulation pump

So, nothing to do with NASA, this is for \"standard\" electronics

Fine, but what electronics with digital \"stuff\" meets this requirement? How do they meet it other than just not using digital \"stuff\"?



Using Class B SW techniques. Like those described in this document from ST:

https://www.st.com/resource/en/application_note/dm00105610-guidelines-for-obtaining-ulcsaiec-607301603351-class-b-certification-in-any-stm32-application-stmicroelectronics.pdf


About the oscillator check, that can be done quite simple inside the controller. You feed the main clock to a timer, and you then compare the main clock with say the watchdog clock/timer. They must not differ much, if they do, you pull the reset flag

Who defines \"not much\"???


You do. You check that at the maximum range that the product is still safe. So if your clock will impact your product to have double heat consumption at half clock frequency and that is a problem, then that is your limit


Same for code check. During compile time, you calculate the code checksum. During runtime, the code checksum is calculated every 10 seconds. If it differs, you pull reset

Ok then, reloading the config would meet that requirement. So the NASA approach for FPGAs works well.


Yes

In this case I know of no such requirement. I think people accept that such errors are sufficiently rare. In our case the software and firmware can keep an eye on one another. If either sees something wonky the entire unit gets rebooted. The MCU can reboot the FPGA after the FPGA has rebooted the MCU.


That does not cut it. The approval body needs to approve your SW. If you do not have approved Class B SW, then your micro is considered to be one big fault generator. If you have your checks in place, then you can get it approved. The advantage of using the libraries from ST or Microchip and others is that they are preapproved, so you only need to argue about the application layer when you talk to the approval body

Don\'t you do component breakdown tests and evaluation of Critical Components (those that need UL/IEC approval, since they are connected to the line, Y caps, X caps, varistors etc)

Cheers

Klaus

Normally I would welcome such a discussion, but you are not getting it. The standard you are referring to does not apply to medical equipment. The medical standard may require something similar, but that will be the medical standard requirement, not the standard you are referring to which may be very different. The software hazards are not relevant if they are prevented from materializing because the hardware prevents them.

I\'m not interested in going round and round about this. You need to understand what I\'m saying and you don\'t seem to.

Maybe I am not getting it, could be :)

Maybe elaborate on your requirements then

You now mention \"medical device\". That will be a lot tougher approval wise than a household appliance, so your needs for approved SW will be even more relevant

Which medical standard do you have to comply to?

Others are working the requirements. I see references to MHRA V4.0 RMVS requirements.

The only SW that needs to be validated is code that impacts the safety of the patient. The alarms have been moved to the FPGA, so even if the software fails to ventilate properly, the alarms will still operate.

--

Rick C.

+-+ Get 1,000 miles of free Supercharging
+-+ Tesla referral code - https://ts.la/richard11209
 
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.deletethisbit@gmail.com> wrote in message
news:0bd36331-f550-4e8d-942d-db0c448c8274o@googlegroups.com...
No, this design was just started recently. Other designs aren\'t really
relevant.


Ah okay. It wasn\'t specified, so I was careful to accommodate the
possibility that this was updating an old design.


The fact that an MCU has an ADC doesn\'t mean it has to be used. There are
pros and cons to every design decision and they are too numerous to list
for this matter. Suffice to say the desire is to write less C code when
practical.


Oh, is it a small quantity thing? (Production was also unstated.) By that
I mean, I take it the development costs will not amortize effectively, which
might be a good reason to avoid software development.

And also that the client is very confident in their spec, so changes are not
expected -- programming \"in solder\" being a lot more expensive than
software.


The pass transistor can be whatever works best. Presently it is an AOD4185
used as an on/off switch. I was looking at adding more circuitry to make
it a 12 volt limiter to the motor with minimal drop out when the power
source drops below 12 volts. I realized with some elbow grease the whole
circuit could be done in the FPGA.


There are power management chips for that. Check hot-swap and wired-OR
controllers. Though if you need a few more features than they offer, it
might be best to integrate it by hand.

And again, (ab)using a switching reg (in this case, one that can deliver
100% duty cycle) looks attractive, offering a much longer overload period
(e.g., continuous vs. a few ms), might be useful.


Control loops are not my forte, so I would need to handle this carefully.
But that\'s true in analog and digital domains.

The analog version I\'m playing with in LTspice uses a voltage divider with
a small cap across the high side resistors to an op amp inverting input and
a feedback resistor. The non-inverting input is a fixed voltage reference.
This feeds an N-channel FET which pulls down on the P-channel pass FET, the
AOD4185 driving the load.


Eww, tons of excess loop gain! Try heavily degenerating the NFET, and
putting some kind of local feedback around the PFET (source degeneration is
best, but mind the voltage drop; a current-sense amp might be used here,
though costing phase margin).

A charge pump to create an over-the-top rail isn\'t a bad idea, but not
absolutely necessary. That allows a NFET follower (enh mode) -- much more
stable. Depl. mode also an option, but fewer FETs to choose from.

And look at using a higher voltage op-amp, all that extra level shifting is
a mess and why bother when you can do it straight away, y\'know? Then you
can direct drive the PFET /and/ sense its current (from a small shunt) to
get a fast and stable loop.

As for compensation, try R+Cs instead of R (completely wastes loop gain) or
C (wastes phase margin) across the op-amp (out to -in).


Using the rather slow op amp uses elsewhere in the circuit it
under-performs with large transients. Changing that to an AD744 (picked
semi-randomly from the LTspice model list) the circuit works ok but with
some over drive and transients on current changes.


A partial solution to that, is to use source degeneration (again, mind the
voltage drop, this isn\'t always viable) and a fairly tight gate voltage
clamp (maybe a 5V zener?). Yanking down on the drain pulls big current, and
gate capacitance pulls gate voltage down along with it. Zener yanks the
gate back, limiting current. You can go from, say, >100A transients (under
a momentary-shorting load condition), to only a modest factor above the
design current limit (say 2-10x, the ratio of course depending on how much
voltage drop you can afford on the shunt).


You are behind the times. FPGAs can be as little as $2 and can incorporate
functions that can\'t be handled as well in MCUs. In this case it is on the
board because of a perceived difference in approvals. It\'s odd that we are
using this justification because no one has actually said it will be easier
to get approved... odd, but I\'m not running things.


I was just browsing FPGAs the other day, actually; notice I didn\'t specify
what range of FPGAs. I meant FPGAs as a whole. Median parts seem to be in
the low $10s, with the smallest entry-level parts being $2.

MCUs start at a fraction of that, and median parts are a few bucks.

As for approval, some people consider FPGAs to be \"hardware\", but I don\'t
know of any standards about that (for or against). Good luck.



I guess the typical FPGA load configuration at boot with each block defined in SRAM like registers

For a Class B product, one would need to check all those registers at interval in run mode. 60730 defines all the modes that must be tested at interval and at boot

I can\'t view that spec, but it claims to only apply to \"household\" electronics.

Yes, and that covers pretty much any electronics in your home or office

Which has nothing to do with ventilators.


Sure it has. A ventilator, a pump, an air condition. Anything with a motor in it, or any product that has a power level that in case of a fault could heat a component up and exceed insulation specs or outright burst into flames is covered.

Say one of your FETs that controls the motor shorts or operates in linear mode that would not trigger a safety function will heat the motor up to above 150 degrees for Class F wire, would then fail the UL/IEC test

In case of a motor controlled with SW, there needs to be safeguards that makes sure the SW behaves correctly, even when you introduce errors into the microcontroller. Bit flip, timer going berserk, oscillator outside ranges etc

We spend a LOT of time on these faults, component breakdown tests, to be sure the product is safe

In 60730 what exactly is a class B product?


Any household product. What standard have the approval body told you that you should comply to?


I do not think a typical FPGA has this feature, so it cannot be approved as a HW block

On top of that, the oscillator frequency needs to be checked along with other parameters

I don\'t know anything that does meet that requirement. I recall NASA gear that would reboot periodically to deal with soft radiation induced errors. Is that the sort of thing you are talking about?


This is a requirement for any equipment with SW that control an element that can potentially heat up to unsafe levels. So in this case, a motor for a household gadget. In our case, it\'s a circulation pump

So, nothing to do with NASA, this is for \"standard\" electronics

Fine, but what electronics with digital \"stuff\" meets this requirement? How do they meet it other than just not using digital \"stuff\"?



Using Class B SW techniques. Like those described in this document from ST:

https://www.st.com/resource/en/application_note/dm00105610-guidelines-for-obtaining-ulcsaiec-607301603351-class-b-certification-in-any-stm32-application-stmicroelectronics.pdf


About the oscillator check, that can be done quite simple inside the controller. You feed the main clock to a timer, and you then compare the main clock with say the watchdog clock/timer. They must not differ much, if they do, you pull the reset flag

Who defines \"not much\"???


You do. You check that at the maximum range that the product is still safe. So if your clock will impact your product to have double heat consumption at half clock frequency and that is a problem, then that is your limit


Same for code check. During compile time, you calculate the code checksum. During runtime, the code checksum is calculated every 10 seconds. If it differs, you pull reset

Ok then, reloading the config would meet that requirement. So the NASA approach for FPGAs works well.


Yes

In this case I know of no such requirement. I think people accept that such errors are sufficiently rare. In our case the software and firmware can keep an eye on one another. If either sees something wonky the entire unit gets rebooted. The MCU can reboot the FPGA after the FPGA has rebooted the MCU.


That does not cut it. The approval body needs to approve your SW. If you do not have approved Class B SW, then your micro is considered to be one big fault generator. If you have your checks in place, then you can get it approved. The advantage of using the libraries from ST or Microchip and others is that they are preapproved, so you only need to argue about the application layer when you talk to the approval body

Don\'t you do component breakdown tests and evaluation of Critical Components (those that need UL/IEC approval, since they are connected to the line, Y caps, X caps, varistors etc)

Cheers

Klaus

Normally I would welcome such a discussion, but you are not getting it. The standard you are referring to does not apply to medical equipment. The medical standard may require something similar, but that will be the medical standard requirement, not the standard you are referring to which may be very different. The software hazards are not relevant if they are prevented from materializing because the hardware prevents them.

I\'m not interested in going round and round about this. You need to understand what I\'m saying and you don\'t seem to.

Maybe I am not getting it, could be :)

Maybe elaborate on your requirements then

You now mention \"medical device\". That will be a lot tougher approval wise than a household appliance, so your needs for approved SW will be even more relevant

Which medical standard do you have to comply to?

Others are working the requirements. I see references to MHRA V4.0 RMVS requirements.

So you are working on a design in which you don\'t know which standard is governing your design decisions?

Most likely you need to comply to IEC 62304, which describes SW for medical devices

An overview:

https://www.advamed.org/sites/default/files/resource/software_in_medical_devices_-_module_3.pdf

Oh, yes, MHRA points down to the 62304 standard:

https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/879382/RMVS001_v4.pdf

The only SW that needs to be validated is code that impacts the safety of the patient. The alarms have been moved to the FPGA, so even if the software fails to ventilate properly, the alarms will still operate.

Is the FPGA approved for medical?

Most likely no

Check this:

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Unquote

Cheers

Klaus
 
mandag den 31. august 2020 kl. 00.07.04 UTC+2 skrev Klaus Kragelund:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.deletethisbit@gmail.com> wrote in message
news:0bd36331-f550-4e8d-942d-db0c448c8274o@googlegroups..com...
No, this design was just started recently. Other designs aren\'t really
relevant.


Ah okay. It wasn\'t specified, so I was careful to accommodate the
possibility that this was updating an old design.


The fact that an MCU has an ADC doesn\'t mean it has to be used. There are
pros and cons to every design decision and they are too numerous to list
for this matter. Suffice to say the desire is to write less C code when
practical.


Oh, is it a small quantity thing? (Production was also unstated.) By that
I mean, I take it the development costs will not amortize effectively, which
might be a good reason to avoid software development.

And also that the client is very confident in their spec, so changes are not
expected -- programming \"in solder\" being a lot more expensive than
software.


The pass transistor can be whatever works best. Presently it is an AOD4185
used as an on/off switch. I was looking at adding more circuitry to make
it a 12 volt limiter to the motor with minimal drop out when the power
source drops below 12 volts. I realized with some elbow grease the whole
circuit could be done in the FPGA.


There are power management chips for that. Check hot-swap and wired-OR
controllers. Though if you need a few more features than they offer, it
might be best to integrate it by hand.

And again, (ab)using a switching reg (in this case, one that can deliver
100% duty cycle) looks attractive, offering a much longer overload period
(e.g., continuous vs. a few ms), might be useful.


Control loops are not my forte, so I would need to handle this carefully.
But that\'s true in analog and digital domains.

The analog version I\'m playing with in LTspice uses a voltage divider with
a small cap across the high side resistors to an op amp inverting input and
a feedback resistor. The non-inverting input is a fixed voltage reference.
This feeds an N-channel FET which pulls down on the P-channel pass FET, the
AOD4185 driving the load.


Eww, tons of excess loop gain! Try heavily degenerating the NFET, and
putting some kind of local feedback around the PFET (source degeneration is
best, but mind the voltage drop; a current-sense amp might be used here,
though costing phase margin).

A charge pump to create an over-the-top rail isn\'t a bad idea, but not
absolutely necessary. That allows a NFET follower (enh mode) -- much more
stable. Depl. mode also an option, but fewer FETs to choose from.

And look at using a higher voltage op-amp, all that extra level shifting is
a mess and why bother when you can do it straight away, y\'know? Then you
can direct drive the PFET /and/ sense its current (from a small shunt) to
get a fast and stable loop.

As for compensation, try R+Cs instead of R (completely wastes loop gain) or
C (wastes phase margin) across the op-amp (out to -in).


Using the rather slow op amp uses elsewhere in the circuit it
under-performs with large transients. Changing that to an AD744 (picked
semi-randomly from the LTspice model list) the circuit works ok but with
some over drive and transients on current changes.


A partial solution to that, is to use source degeneration (again, mind the
voltage drop, this isn\'t always viable) and a fairly tight gate voltage
clamp (maybe a 5V zener?). Yanking down on the drain pulls big current, and
gate capacitance pulls gate voltage down along with it. Zener yanks the
gate back, limiting current. You can go from, say, >100A transients (under
a momentary-shorting load condition), to only a modest factor above the
design current limit (say 2-10x, the ratio of course depending on how much
voltage drop you can afford on the shunt).


You are behind the times. FPGAs can be as little as $2 and can incorporate
functions that can\'t be handled as well in MCUs. In this case it is on the
board because of a perceived difference in approvals. It\'s odd that we are
using this justification because no one has actually said it will be easier
to get approved... odd, but I\'m not running things.


I was just browsing FPGAs the other day, actually; notice I didn\'t specify
what range of FPGAs. I meant FPGAs as a whole. Median parts seem to be in
the low $10s, with the smallest entry-level parts being $2.

MCUs start at a fraction of that, and median parts are a few bucks.

As for approval, some people consider FPGAs to be \"hardware\", but I don\'t
know of any standards about that (for or against). Good luck.



I guess the typical FPGA load configuration at boot with each block defined in SRAM like registers

For a Class B product, one would need to check all those registers at interval in run mode. 60730 defines all the modes that must be tested at interval and at boot

I can\'t view that spec, but it claims to only apply to \"household\" electronics.

Yes, and that covers pretty much any electronics in your home or office

Which has nothing to do with ventilators.


Sure it has. A ventilator, a pump, an air condition. Anything with a motor in it, or any product that has a power level that in case of a fault could heat a component up and exceed insulation specs or outright burst into flames is covered.

Say one of your FETs that controls the motor shorts or operates in linear mode that would not trigger a safety function will heat the motor up to above 150 degrees for Class F wire, would then fail the UL/IEC test

In case of a motor controlled with SW, there needs to be safeguards that makes sure the SW behaves correctly, even when you introduce errors into the microcontroller. Bit flip, timer going berserk, oscillator outside ranges etc

We spend a LOT of time on these faults, component breakdown tests, to be sure the product is safe

In 60730 what exactly is a class B product?


Any household product. What standard have the approval body told you that you should comply to?


I do not think a typical FPGA has this feature, so it cannot be approved as a HW block

On top of that, the oscillator frequency needs to be checked along with other parameters

I don\'t know anything that does meet that requirement. I recall NASA gear that would reboot periodically to deal with soft radiation induced errors. Is that the sort of thing you are talking about?


This is a requirement for any equipment with SW that control an element that can potentially heat up to unsafe levels. So in this case, a motor for a household gadget. In our case, it\'s a circulation pump

So, nothing to do with NASA, this is for \"standard\" electronics

Fine, but what electronics with digital \"stuff\" meets this requirement? How do they meet it other than just not using digital \"stuff\"?



Using Class B SW techniques. Like those described in this document from ST:

https://www.st.com/resource/en/application_note/dm00105610-guidelines-for-obtaining-ulcsaiec-607301603351-class-b-certification-in-any-stm32-application-stmicroelectronics.pdf


About the oscillator check, that can be done quite simple inside the controller. You feed the main clock to a timer, and you then compare the main clock with say the watchdog clock/timer. They must not differ much, if they do, you pull the reset flag

Who defines \"not much\"???


You do. You check that at the maximum range that the product is still safe. So if your clock will impact your product to have double heat consumption at half clock frequency and that is a problem, then that is your limit


Same for code check. During compile time, you calculate the code checksum. During runtime, the code checksum is calculated every 10 seconds. If it differs, you pull reset

Ok then, reloading the config would meet that requirement. So the NASA approach for FPGAs works well.


Yes

In this case I know of no such requirement. I think people accept that such errors are sufficiently rare. In our case the software and firmware can keep an eye on one another. If either sees something wonky the entire unit gets rebooted. The MCU can reboot the FPGA after the FPGA has rebooted the MCU.


That does not cut it. The approval body needs to approve your SW. If you do not have approved Class B SW, then your micro is considered to be one big fault generator. If you have your checks in place, then you can get it approved. The advantage of using the libraries from ST or Microchip and others is that they are preapproved, so you only need to argue about the application layer when you talk to the approval body

Don\'t you do component breakdown tests and evaluation of Critical Components (those that need UL/IEC approval, since they are connected to the line, Y caps, X caps, varistors etc)

Cheers

Klaus

Normally I would welcome such a discussion, but you are not getting it. The standard you are referring to does not apply to medical equipment.. The medical standard may require something similar, but that will be the medical standard requirement, not the standard you are referring to which may be very different. The software hazards are not relevant if they are prevented from materializing because the hardware prevents them.

I\'m not interested in going round and round about this. You need to understand what I\'m saying and you don\'t seem to.

Maybe I am not getting it, could be :)

Maybe elaborate on your requirements then

You now mention \"medical device\". That will be a lot tougher approval wise than a household appliance, so your needs for approved SW will be even more relevant

Which medical standard do you have to comply to?

Others are working the requirements. I see references to MHRA V4.0 RMVS requirements.


So you are working on a design in which you don\'t know which standard is governing your design decisions?

Most likely you need to comply to IEC 62304, which describes SW for medical devices

An overview:

https://www.advamed.org/sites/default/files/resource/software_in_medical_devices_-_module_3.pdf

Oh, yes, MHRA points down to the 62304 standard:

https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/879382/RMVS001_v4.pdf

The only SW that needs to be validated is code that impacts the safety of the patient. The alarms have been moved to the FPGA, so even if the software fails to ventilate properly, the alarms will still operate.


Is the FPGA approved for medical?

Most likely no

Check this:

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Unquote

\"executed on FPGA-processors\" that seems very open for interpretation

code executed on cpu implented in an FPGA, sure
statemachine in FPGA with programmable state table, maybe
hardwired statemachine in fpga, I don\'t think so
 
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.deletethisbit@gmail.com> wrote in message
news:0bd36331-f550-4e8d-942d-db0c448c8274o@googlegroups..com...
No, this design was just started recently. Other designs aren\'t really
relevant.


Ah okay. It wasn\'t specified, so I was careful to accommodate the
possibility that this was updating an old design.


The fact that an MCU has an ADC doesn\'t mean it has to be used. There are
pros and cons to every design decision and they are too numerous to list
for this matter. Suffice to say the desire is to write less C code when
practical.


Oh, is it a small quantity thing? (Production was also unstated.) By that
I mean, I take it the development costs will not amortize effectively, which
might be a good reason to avoid software development.

And also that the client is very confident in their spec, so changes are not
expected -- programming \"in solder\" being a lot more expensive than
software.


The pass transistor can be whatever works best. Presently it is an AOD4185
used as an on/off switch. I was looking at adding more circuitry to make
it a 12 volt limiter to the motor with minimal drop out when the power
source drops below 12 volts. I realized with some elbow grease the whole
circuit could be done in the FPGA.


There are power management chips for that. Check hot-swap and wired-OR
controllers. Though if you need a few more features than they offer, it
might be best to integrate it by hand.

And again, (ab)using a switching reg (in this case, one that can deliver
100% duty cycle) looks attractive, offering a much longer overload period
(e.g., continuous vs. a few ms), might be useful.


Control loops are not my forte, so I would need to handle this carefully.
But that\'s true in analog and digital domains.

The analog version I\'m playing with in LTspice uses a voltage divider with
a small cap across the high side resistors to an op amp inverting input and
a feedback resistor. The non-inverting input is a fixed voltage reference.
This feeds an N-channel FET which pulls down on the P-channel pass FET, the
AOD4185 driving the load.


Eww, tons of excess loop gain! Try heavily degenerating the NFET, and
putting some kind of local feedback around the PFET (source degeneration is
best, but mind the voltage drop; a current-sense amp might be used here,
though costing phase margin).

A charge pump to create an over-the-top rail isn\'t a bad idea, but not
absolutely necessary. That allows a NFET follower (enh mode) -- much more
stable. Depl. mode also an option, but fewer FETs to choose from.

And look at using a higher voltage op-amp, all that extra level shifting is
a mess and why bother when you can do it straight away, y\'know? Then you
can direct drive the PFET /and/ sense its current (from a small shunt) to
get a fast and stable loop.

As for compensation, try R+Cs instead of R (completely wastes loop gain) or
C (wastes phase margin) across the op-amp (out to -in).


Using the rather slow op amp uses elsewhere in the circuit it
under-performs with large transients. Changing that to an AD744 (picked
semi-randomly from the LTspice model list) the circuit works ok but with
some over drive and transients on current changes.


A partial solution to that, is to use source degeneration (again, mind the
voltage drop, this isn\'t always viable) and a fairly tight gate voltage
clamp (maybe a 5V zener?). Yanking down on the drain pulls big current, and
gate capacitance pulls gate voltage down along with it. Zener yanks the
gate back, limiting current. You can go from, say, >100A transients (under
a momentary-shorting load condition), to only a modest factor above the
design current limit (say 2-10x, the ratio of course depending on how much
voltage drop you can afford on the shunt).


You are behind the times. FPGAs can be as little as $2 and can incorporate
functions that can\'t be handled as well in MCUs. In this case it is on the
board because of a perceived difference in approvals. It\'s odd that we are
using this justification because no one has actually said it will be easier
to get approved... odd, but I\'m not running things.


I was just browsing FPGAs the other day, actually; notice I didn\'t specify
what range of FPGAs. I meant FPGAs as a whole. Median parts seem to be in
the low $10s, with the smallest entry-level parts being $2.

MCUs start at a fraction of that, and median parts are a few bucks.

As for approval, some people consider FPGAs to be \"hardware\", but I don\'t
know of any standards about that (for or against). Good luck.



I guess the typical FPGA load configuration at boot with each block defined in SRAM like registers

For a Class B product, one would need to check all those registers at interval in run mode. 60730 defines all the modes that must be tested at interval and at boot

I can\'t view that spec, but it claims to only apply to \"household\" electronics.

Yes, and that covers pretty much any electronics in your home or office

Which has nothing to do with ventilators.


Sure it has. A ventilator, a pump, an air condition. Anything with a motor in it, or any product that has a power level that in case of a fault could heat a component up and exceed insulation specs or outright burst into flames is covered.

Say one of your FETs that controls the motor shorts or operates in linear mode that would not trigger a safety function will heat the motor up to above 150 degrees for Class F wire, would then fail the UL/IEC test

In case of a motor controlled with SW, there needs to be safeguards that makes sure the SW behaves correctly, even when you introduce errors into the microcontroller. Bit flip, timer going berserk, oscillator outside ranges etc

We spend a LOT of time on these faults, component breakdown tests, to be sure the product is safe

In 60730 what exactly is a class B product?


Any household product. What standard have the approval body told you that you should comply to?


I do not think a typical FPGA has this feature, so it cannot be approved as a HW block

On top of that, the oscillator frequency needs to be checked along with other parameters

I don\'t know anything that does meet that requirement. I recall NASA gear that would reboot periodically to deal with soft radiation induced errors. Is that the sort of thing you are talking about?


This is a requirement for any equipment with SW that control an element that can potentially heat up to unsafe levels. So in this case, a motor for a household gadget. In our case, it\'s a circulation pump

So, nothing to do with NASA, this is for \"standard\" electronics

Fine, but what electronics with digital \"stuff\" meets this requirement? How do they meet it other than just not using digital \"stuff\"?



Using Class B SW techniques. Like those described in this document from ST:

https://www.st.com/resource/en/application_note/dm00105610-guidelines-for-obtaining-ulcsaiec-607301603351-class-b-certification-in-any-stm32-application-stmicroelectronics.pdf


About the oscillator check, that can be done quite simple inside the controller. You feed the main clock to a timer, and you then compare the main clock with say the watchdog clock/timer. They must not differ much, if they do, you pull the reset flag

Who defines \"not much\"???


You do. You check that at the maximum range that the product is still safe. So if your clock will impact your product to have double heat consumption at half clock frequency and that is a problem, then that is your limit


Same for code check. During compile time, you calculate the code checksum. During runtime, the code checksum is calculated every 10 seconds. If it differs, you pull reset

Ok then, reloading the config would meet that requirement. So the NASA approach for FPGAs works well.


Yes

In this case I know of no such requirement. I think people accept that such errors are sufficiently rare. In our case the software and firmware can keep an eye on one another. If either sees something wonky the entire unit gets rebooted. The MCU can reboot the FPGA after the FPGA has rebooted the MCU.


That does not cut it. The approval body needs to approve your SW. If you do not have approved Class B SW, then your micro is considered to be one big fault generator. If you have your checks in place, then you can get it approved. The advantage of using the libraries from ST or Microchip and others is that they are preapproved, so you only need to argue about the application layer when you talk to the approval body

Don\'t you do component breakdown tests and evaluation of Critical Components (those that need UL/IEC approval, since they are connected to the line, Y caps, X caps, varistors etc)

Cheers

Klaus

Normally I would welcome such a discussion, but you are not getting it. The standard you are referring to does not apply to medical equipment.. The medical standard may require something similar, but that will be the medical standard requirement, not the standard you are referring to which may be very different. The software hazards are not relevant if they are prevented from materializing because the hardware prevents them.

I\'m not interested in going round and round about this. You need to understand what I\'m saying and you don\'t seem to.

Maybe I am not getting it, could be :)

Maybe elaborate on your requirements then

You now mention \"medical device\". That will be a lot tougher approval wise than a household appliance, so your needs for approved SW will be even more relevant

Which medical standard do you have to comply to?

Others are working the requirements. I see references to MHRA V4.0 RMVS requirements.


So you are working on a design in which you don\'t know which standard is governing your design decisions?

I am working on a design from requirements I am given. It is up to others to ascertain what requirements apply to the design. I am not working this project alone. I am not doing the entire job myself. As is done in any company, various members are working on portions they are expert in.


Most likely you need to comply to IEC 62304, which describes SW for medical devices

An overview:

https://www.advamed.org/sites/default/files/resource/software_in_medical_devices_-_module_3.pdf

Oh, yes, MHRA points down to the 62304 standard:

https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/879382/RMVS001_v4.pdf

The only SW that needs to be validated is code that impacts the safety of the patient. The alarms have been moved to the FPGA, so even if the software fails to ventilate properly, the alarms will still operate.


Is the FPGA approved for medical?

Most likely no

Check this:

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

More importantly, what you are failing to acknowledge is that not every aspect of the device has to be dealt with in the same way. Not every aspect of the design is safety critical. A risk assessment is part of the process.

--

Rick C.

++- Get 1,000 miles of free Supercharging
++- Tesla referral code - https://ts.la/richard11209
 
On Thursday, August 27, 2020 at 1:58:04 AM UTC-4, Ricketty C wrote:
I have been working on some circuitry to pull the plug on a motor on reaching an overload condition before it can tear up the gears or break the shaft (which the others on the project have done several times). This shut down was measuring the motor current and pulling the plug, then allowing the MCU to restart it when needed.

Later it was realized a new motor should not be run over 12 volts, so we need something to limit the voltage. A regulator often requires significant head room to work, so I used the same pass transistor to add a voltage output limit.

Now it looks like the entire circuit can be done in an FPGA along with a bunch of other stuff, and not cost any more. The design time will be a lot less as well although the analog circuit is already done in simulation.

Four transistors, two comparators and a pocket full of passives replaced by a few FF and gates inside a chip where they will never be seen, just chug along.

I did move the voltage limit back into analog. I came up with a circuit that limits the voltage to 12.5 volts before running through the H-bridge using a pair of 2n2007 in a differential configuration. Seems to work pretty well with no tendency to oscillate and keeps the voltage within 0.1 volt range over all current conditions and only drops 160 mV as the power source drops below 12 volts. The 5 volt rail is spec\'d to be within 1% so that is the reference voltage. To shut down the power another 2N7002 drops the reference voltage to zero commanded by either the software or the motor over current.

So analog still lives!

--

Rick C.

+++ Get 1,000 miles of free Supercharging
+++ Tesla referral code - https://ts.la/richard11209
 
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in message
news:0bd36331-f550-4e8d...@googlegroups.com...

<snip>

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

This is sophistry. Field Programmable Gate Arrays have to be programmed before they can do anything, and the software that programs them is an essential part of the design.

> More importantly, what you are failing to acknowledge is that not every aspect of the device has to be dealt with in the same way. Not every aspect of the design is safety critical. A risk assessment is part of the process.

And if you think that the string of text that programs the FPGA isn\'t software, you don\'t seem to be in close enough touch with reality to be a particularly reliable risk assessor.

--
Bill Sloman, Sydney
 
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in message
news:0bd36331-f550-4e8d...@googlegroups.com...

snip

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

This is sophistry.

Only to those who know as little about FPGAs as you do.

> Field Programmable Gate Arrays have to be programmed before they can do anything, and the software that programs them is an essential part of the design.

In spite of the name, FPGAs are not programmed, they are configured. They require no software to configure them since they are capable of loading their own configuration either from on chip Flash, non-erasable memory or external flash.


More importantly, what you are failing to acknowledge is that not every aspect of the device has to be dealt with in the same way. Not every aspect of the design is safety critical. A risk assessment is part of the process.

And if you think that the string of text that programs the FPGA isn\'t software, you don\'t seem to be in close enough touch with reality to be a particularly reliable risk assessor.

The schematic I use to design my PCBs are just text as well. Yet no one claims the board of analog circuitry is a processor.

That\'s the issue. There is no processor in an FPGA unless the user designs one for it.

This isn\'t rocket science. A processor has a definition. Look it up. If the FPGA is a processor, it\'s not very Turing complete. While an FPGA can be configured to be a processor, very few of them are. If they aren\'t configured to be a processor, they aren\'t processors.

Please stop being silly about this.

--

Rick C.

---- Get 1,000 miles of free Supercharging
---- Tesla referral code - https://ts.la/richard11209
 
On Monday, August 31, 2020 at 12:38:30 PM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in message
news:0bd36331-f550-4e8d...@googlegroups.com...

snip

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

This is sophistry.

Only to those who know as little about FPGAs as you do.

Field Programmable Gate Arrays have to be programmed before they can do anything, and the software that programs them is an essential part of the design.

In spite of the name, FPGAs are not programmed, they are configured. They require no software to configure them since they are capable of loading their own configuration either from on chip Flash, non-erasable memory or external flash.

More sophistry. The process of \"configuring\" them is programming a bunch of uncommitted gates (or whatever) to do a specific job - the circuit is programmed so particular combinations (and sequences) of inputs produce particular combination and sequences of outputs.

They aren\'t single-threaded, so they aren\'t Turing machines, but what programs them is software.

More importantly, what you are failing to acknowledge is that not every aspect of the device has to be dealt with in the same way. Not every aspect of the design is safety critical. A risk assessment is part of the process.

And if you think that the string of text that programs the FPGA isn\'t software, you don\'t seem to be in close enough touch with reality to be a particularly reliable risk assessor.

The schematic I use to design my PCBs are just text as well. Yet no one claims the board of analog circuitry is a processor.

Nobody bothers pointing out the obvious. You may not be old enough to remember analog computers, but that\'s where the analog/digital distinction came from.

That\'s the issue. There is no processor in an FPGA unless the user designs one for it.

This isn\'t rocket science. A processor has a definition. Look it up.

processor
/ˈprəʊsɛsə/
noun
noun: processor; plural noun: processors

a machine that processes something.
\"the processor overexposed the film\"
Computing
another term for central processing unit.

> If the FPGA is a processor, it\'s not very Turing complete. While an FPGA can be configured to be a processor, very few of them are. If they aren\'t configured to be a processor, they aren\'t processors.

If you don\'t know what words mean, you might believe that. If you want to think that if you don\'t pay a license fee for a particular processor design to put in your FPGA, you haven\'t got processor that\'s your privilege, but it isn\'t a sensible way of looking at what the device is being asked to do, which is to process sequences of inputs to provide the desired sequences of outputs

> Please stop being silly about this.

You first.

--
Bill Sloman, Sydney
 
On Sunday, August 30, 2020 at 11:25:02 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 12:38:30 PM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in message
news:0bd36331-f550-4e8d...@googlegroups.com...

snip

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

This is sophistry.

Only to those who know as little about FPGAs as you do.

Field Programmable Gate Arrays have to be programmed before they can do anything, and the software that programs them is an essential part of the design.

In spite of the name, FPGAs are not programmed, they are configured. They require no software to configure them since they are capable of loading their own configuration either from on chip Flash, non-erasable memory or external flash.

More sophistry. The process of \"configuring\" them is programming a bunch of uncommitted gates (or whatever) to do a specific job - the circuit is programmed so particular combinations (and sequences) of inputs produce particular combination and sequences of outputs.

They aren\'t single-threaded, so they aren\'t Turing machines, but what programs them is software.

Sophistry indeed, from the horses mouth! You literally have no idea of how FPGAs work. The board I sell has no processor of any kind. The FPGA contains flash which is loaded into the configuration RAM by hardware in the FPGA to control the interconnections and the tiny blocks of RAM that make up the logic. But none of this is \"programming\" in the sense it is intended in the matter being discussed. This is called \"configuration\" because that\'s what it is. Configuration of the logic and the interconnections.

Either learn how the devices work, or just stop posting about it, ok? You are making yourself look stupid.


More importantly, what you are failing to acknowledge is that not every aspect of the device has to be dealt with in the same way. Not every aspect of the design is safety critical. A risk assessment is part of the process.

And if you think that the string of text that programs the FPGA isn\'t software, you don\'t seem to be in close enough touch with reality to be a particularly reliable risk assessor.

The schematic I use to design my PCBs are just text as well. Yet no one claims the board of analog circuitry is a processor.

Nobody bothers pointing out the obvious. You may not be old enough to remember analog computers, but that\'s where the analog/digital distinction came from.

That\'s the issue. There is no processor in an FPGA unless the user designs one for it.

This isn\'t rocket science. A processor has a definition. Look it up.

processor
/ˈprəʊsɛsə/
noun
noun: processor; plural noun: processors

a machine that processes something.
\"the processor overexposed the film\"
Computing
another term for central processing unit.

If the FPGA is a processor, it\'s not very Turing complete. While an FPGA can be configured to be a processor, very few of them are. If they aren\'t configured to be a processor, they aren\'t processors.

If you don\'t know what words mean, you might believe that. If you want to think that if you don\'t pay a license fee for a particular processor design to put in your FPGA, you haven\'t got processor that\'s your privilege, but it isn\'t a sensible way of looking at what the device is being asked to do, which is to process sequences of inputs to provide the desired sequences of outputs

Please stop being silly about this.

You first.

I didn\'t expect you would actually acknowledge you were wrong and try to learn something.

Oh well, I\'ll go back to ignoring you. That\'s better than feeding the trolls.

--

Rick C.

---+ Get 1,000 miles of free Supercharging
---+ Tesla referral code - https://ts.la/richard11209
 
On Monday, August 31, 2020 at 3:07:51 PM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 11:25:02 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 12:38:30 PM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in message
news:0bd36331-f550-4e8d...@googlegroups.com....

snip

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

This is sophistry.

Only to those who know as little about FPGAs as you do.

Field Programmable Gate Arrays have to be programmed before they can do anything, and the software that programs them is an essential part of the design.

In spite of the name, FPGAs are not programmed, they are configured. They require no software to configure them since they are capable of loading their own configuration either from on chip Flash, non-erasable memory or external flash.

More sophistry. The process of \"configuring\" them is programming a bunch of uncommitted gates (or whatever) to do a specific job - the circuit is programmed so particular combinations (and sequences) of inputs produce particular combination and sequences of outputs.

They aren\'t single-threaded, so they aren\'t Turing machines, but what programs them is software.

Sophistry indeed, from the horses mouth! You literally have no idea of how FPGAs work. The board I sell has no processor of any kind. The FPGA contains flash which is loaded into the configuration RAM by hardware in the FPGA to control the interconnections and the tiny blocks of RAM that make up the logic. But none of this is \"programming\" in the sense it is intended in the matter being discussed. This is called \"configuration\" because that\'s what it is. Configuration of the logic and the interconnections.

Either learn how the devices work, or just stop posting about it, ok? You are making yourself look stupid.

Actually, I do know how the devices work - like most of the people who post here. The stupidity is all yours.

More importantly, what you are failing to acknowledge is that not every aspect of the device has to be dealt with in the same way. Not every aspect of the design is safety critical. A risk assessment is part of the process.

And if you think that the string of text that programs the FPGA isn\'t software, you don\'t seem to be in close enough touch with reality to be a particularly reliable risk assessor.

The schematic I use to design my PCBs are just text as well. Yet no one claims the board of analog circuitry is a processor.

Nobody bothers pointing out the obvious. You may not be old enough to remember analog computers, but that\'s where the analog/digital distinction came from.

That\'s the issue. There is no processor in an FPGA unless the user designs one for it.

This isn\'t rocket science. A processor has a definition. Look it up.

processor
/ˈprəʊsɛsə/
noun
noun: processor; plural noun: processors

a machine that processes something.
\"the processor overexposed the film\"
Computing
another term for central processing unit.

If the FPGA is a processor, it\'s not very Turing complete. While an FPGA can be configured to be a processor, very few of them are. If they aren\'t configured to be a processor, they aren\'t processors.

If you don\'t know what words mean, you might believe that. If you want to think that if you don\'t pay a license fee for a particular processor design to put in your FPGA, you haven\'t got processor that\'s your privilege, but it isn\'t a sensible way of looking at what the device is being asked to do, which is to process sequences of inputs to provide the desired sequences of outputs

Please stop being silly about this.

You first.

I didn\'t expect you would actually acknowledge you were wrong and try to learn something.

Correctly. Since I\'m not wrong, and you haven\'t advanced anything that I didn\'t know or needed to learn. When I am wrong I do admit it.

> Oh well, I\'ll go back to ignoring you. That\'s better than feeding the trolls.

Learning where you own point of view falls short would be even better, but not many people who post here are up to that.

--
Bill Sloman, Sydney
 
On 31/08/20 03:38, Ricketty C wrote:
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund
wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund
wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C
wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus
Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C
wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus
Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim
Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in
message
news:0bd36331-f550-4e8d...@googlegroups.com...

snip

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich



Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE
and therefore be under IEC 62304, including software to be executed on
FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

This is sophistry.

Only to those who know as little about FPGAs as you do.

Field Programmable Gate Arrays have to be programmed before they can do
anything, and the software that programs them is an essential part of the
design.

In spite of the name, FPGAs are not programmed, they are configured. They
require no software to configure them since they are capable of loading their
own configuration either from on chip Flash, non-erasable memory or external
flash.

For some MCUs exactly the same is true. When they are
initialised they load their configuration from external
flash non-erasable memory or external flash.


That\'s the issue. There is no processor in an FPGA unless the user designs
one for it.

An FSM implemented in gates processes inputs according to a
configuration stored in an external memory (except mask
programmed or one time programmable devices).

An FSM implemented in an MCU processes inputs according to a
configuration stored in an external memory (except mask
programmed or one time programmable devices).

The languages used to specify the configuration are different,
but both require complex compilation to convert from input
text to the binary bit pattern. Compilers are not error free.
 
On Monday, August 31, 2020 at 4:38:30 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in message
news:0bd36331-f550-4e8d...@googlegroups.com...

snip

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

As others has stated, the device configuration is compiled by SW, so your tool chain needs to be approved

On top of that, the configuration is in SRAM, right?

SRAM is vulnerable to bit flips, so how do you safeguard against that without a softcore processor that can check the configuration and mitigate errors?

Single Event Upset details for FPGA:

https://www.xilinx.com/support/documentation/white_papers/wp395-Mitigating-SEUs.pdf

Cheers

Klaus
 
On 31/08/20 06:07, Ricketty C wrote:
Sophistry indeed, from the horses mouth! You literally have no idea of how
FPGAs work. The board I sell has no processor of any kind. The FPGA
contains flash which is loaded into the configuration RAM by hardware in the
FPGA to control the interconnections and the tiny blocks of RAM that make up
the logic. But none of this is \"programming\" in the sense it is intended in
the matter being discussed. This is called \"configuration\" because that\'s
what it is. Configuration of the logic and the interconnections.

Either learn how the devices work, or just stop posting about it, ok? You
are making yourself look stupid.

Think about the theoretical fundamentals and the
practical implementation details, or just stop...

I don\'t think I need to complete that \"mirror\", do I.
 
Am 31.08.20 um 10:45 schrieb Klaus Kragelund:
On Monday, August 31, 2020 at 4:38:30 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:

snip

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

Unless there happens to be a PowerPC CPU inside. BTDT GTTTPI


> As others has stated, the device configuration is compiled by SW, so your tool chain needs to be approved

There are elefants in the room usually, in that one uses things
like ISE 10, the worst piece of software ever written. OK, apart
of ISE 9.


On top of that, the configuration is in SRAM, right?

SRAM is vulnerable to bit flips, so how do you safeguard against that without a softcore processor that can check the configuration and mitigate errors?

The configuration memory is scrubbed, aka reloaded every
few minutes from a ROM. The process is the same as configuring
the FPGA at boot time, but one aborts it 1 clock before
the global reset.

That heals the occasional bit flips, so they cannot accumulate.
But between the SEU and the healing is a time window where
things still can go wrong. So the important stuff has to be
triple module redundant, like the time counter/position in orbit.

Unfortunately, the logic to scrub the FPGA configuration is also
important, and it is inside the FPGA and must be TMR. That is
somehow like exchanging the carpet you are standing on.

There was a funny side effect of scrubbing on the Picoblaze
processors. Their registers are really parts of the configuration
memory, and if you scrub this, you bring the registers to
their reset state every minute.

The programmers did not like that :) and I finally changed the
Picoblaze processor to use ordinary user-land flip flops for
the registers instead of CLB RAMs. The performance/space impact
was acceptable.


SEUs also hit voltage regulators. One of the hardened
regulators has it in the data sheet, that it still could
go berserc if hit at the right place for a few msec.
Large enough output caps are advised for mitigation,
which connects directly to the extra large tantalums in the
parallel thread.

Single Event Upset details for FPGA:

https://www.xilinx.com/support/documentation/white_papers/wp395-Mitigating-SEUs.pdf

The _interesting_ app notes on that have been withdrawn and
are impossible to find on the net. Even though our stuff
was going to the IIS, I was unable to get hold of the
Xilinx TMR tool. So I wrote my own library of tmr_signed,
tmr_unsigned, tmr_std_logic, tmr_std_logic_vector that
behaves like the VHDL originals, but hides the redundancy
mostly in the library.

It\'s fun to kill a few bits in a counter at the same time
in the simulator and it simply counts on, like the Terminator.

In my opinion, my lib is better, or I would have made it
differently. ;-)

You need to have a few input pins you know the fixed
levels of, but the compiler knows them only as \'x\'.
Otherwise, the compiler removes the redundancy
completely, it\'s its job after all.

We also did not get as basic things as the solder
process for newer FPGAs because of ITAR. For a
space station project, imagine that. That was pre-DT.

So, things like this are inevitable:

<
https://www.esa.int/Enabling_Support/Space_Engineering_Technology/Shaping_the_Future/High_Density_European_Rad-Hard_SRAM-Based_FPGA-_First_Validated_Prototypes_BRAVE
>

Could be food for thought for DT, when he tries to cut off
China from technology. That works only once, and for a
very limited time.
But for him, November is the Schwarzschild radius.


> Cheers

Gerhard
 
On Monday, August 31, 2020 at 3:50:40 AM UTC-4, Tom Gardner wrote:
On 31/08/20 03:38, Ricketty C wrote:
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund
wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund
wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C
wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus
Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C
wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus
Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim
Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in
message
news:0bd36331-f550-4e8d...@googlegroups.com...

snip

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich



Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE
and therefore be under IEC 62304, including software to be executed on
FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.

This is sophistry.

Only to those who know as little about FPGAs as you do.

Field Programmable Gate Arrays have to be programmed before they can do
anything, and the software that programs them is an essential part of the
design.

In spite of the name, FPGAs are not programmed, they are configured. They
require no software to configure them since they are capable of loading their
own configuration either from on chip Flash, non-erasable memory or external
flash.

For some MCUs exactly the same is true. When they are
initialised they load their configuration from external
flash non-erasable memory or external flash.


That\'s the issue. There is no processor in an FPGA unless the user designs
one for it.

An FSM implemented in gates processes inputs according to a
configuration stored in an external memory (except mask
programmed or one time programmable devices).

An FSM implemented in an MCU processes inputs according to a
configuration stored in an external memory (except mask
programmed or one time programmable devices).

The languages used to specify the configuration are different,
but both require complex compilation to convert from input
text to the binary bit pattern. Compilers are not error free.

A FSM implemented with 7402 logic is just as much a processor by your definition, yet not included in this category by anyone.

I don\'t know why a few people here want to stretch this point until it breaks. It is patently absurd to think of general logic in an FPGA being a processor executing software any more than logic configured in any other way. If the logic were designed using CAD tools from an HDL but implemented in SSI functions we would not be having this discussion. There is nothing unique about FPGAs that make them \"processors\".

--

Rick C.

--+- Get 1,000 miles of free Supercharging
--+- Tesla referral code - https://ts.la/richard11209
 
On Monday, August 31, 2020 at 4:45:47 AM UTC-4, Klaus Kragelund wrote:
On Monday, August 31, 2020 at 4:38:30 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2, Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4, Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2, Tim Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in message
news:0bd36331-f550-4e8d...@googlegroups.com...

snip

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich

Quote

- everything being executed on a PROCESSOR will be considered SOFTWARE and therefore be under IEC 62304, including software to be executed on FPGA-processors, signal processors and graphics boards.

Exactly. There are no processors or software in the FPGA.


As others has stated, the device configuration is compiled by SW, so your tool chain needs to be approved

I also use editors and drawing packages to design with. Does LibreOffice need to be approved?


On top of that, the configuration is in SRAM, right?

SRAM is vulnerable to bit flips, so how do you safeguard against that without a softcore processor that can check the configuration and mitigate errors?

Single Event Upset details for FPGA:

https://www.xilinx.com/support/documentation/white_papers/wp395-Mitigating-SEUs.pdf

The FPGA will use similar techniques to deal with SEU as the ones used in the MCU in this design.

--

Rick C.

--++ Get 1,000 miles of free Supercharging
--++ Tesla referral code - https://ts.la/richard11209
 
On 31/08/20 16:44, Ricketty C wrote:
On Monday, August 31, 2020 at 3:50:40 AM UTC-4, Tom Gardner wrote:
On 31/08/20 03:38, Ricketty C wrote:
On Sunday, August 30, 2020 at 10:18:24 PM UTC-4, Bill Sloman wrote:
On Monday, August 31, 2020 at 10:03:28 AM UTC+10, Ricketty C wrote:
On Sunday, August 30, 2020 at 6:07:04 PM UTC-4, Klaus Kragelund
wrote:
On Sunday, August 30, 2020 at 11:06:23 AM UTC+2, Ricketty C wrote:
On Sunday, August 30, 2020 at 4:45:53 AM UTC-4, Klaus Kragelund
wrote:
On Sunday, August 30, 2020 at 12:35:08 AM UTC+2, Ricketty C
wrote:
On Saturday, August 29, 2020 at 6:20:30 PM UTC-4, Klaus
Kragelund wrote:
On Saturday, August 29, 2020 at 3:32:52 AM UTC+2, Ricketty
C wrote:
On Friday, August 28, 2020 at 7:08:41 PM UTC-4, Klaus
Kragelund wrote:
On Friday, August 28, 2020 at 10:07:35 AM UTC+2,
Ricketty C wrote:
On Friday, August 28, 2020 at 2:23:21 AM UTC-4,
Klaus Kragelund wrote:
On Friday, August 28, 2020 at 4:50:09 AM UTC+2,
Tim Williams wrote:
\"Ricketty C\" <gnuarm.del...@gmail.com> wrote in
message
news:0bd36331-f550-4e8d...@googlegroups.com...

snip

https://www.linkedin.com/pulse/application-iec-62304-amendment-1-2015-europe-georg-heidenreich





Quote

- everything being executed on a PROCESSOR will be considered
SOFTWARE and therefore be under IEC 62304, including software to be
executed on FPGA-processors, signal processors and graphics
boards.

Exactly. There are no processors or software in the FPGA.

This is sophistry.

Only to those who know as little about FPGAs as you do.

Field Programmable Gate Arrays have to be programmed before they can
do anything, and the software that programs them is an essential part
of the design.

In spite of the name, FPGAs are not programmed, they are configured.
They require no software to configure them since they are capable of
loading their own configuration either from on chip Flash, non-erasable
memory or external flash.

For some MCUs exactly the same is true. When they are initialised they load
their configuration from external flash non-erasable memory or external
flash.


That\'s the issue. There is no processor in an FPGA unless the user
designs one for it.

An FSM implemented in gates processes inputs according to a configuration
stored in an external memory (except mask programmed or one time
programmable devices).

An FSM implemented in an MCU processes inputs according to a configuration
stored in an external memory (except mask programmed or one time
programmable devices).

The languages used to specify the configuration are different, but both
require complex compilation to convert from input text to the binary bit
pattern. Compilers are not error free.

A FSM implemented with 7402 logic is just as much a processor by your
definition, yet not included in this category by anyone.

Correct, it is indeed a processor.

That processor implementation technology has its function
immutably cast in copper and doped silicon (i.e. wires and
gates).

FPGAs and MCUs (unless mask programmed) have their function cast
in bits in memories which are initialised at power up, and can
(in unusual circumstances) change during operation. In addition
the bits are derived, possibly imperfectly, from an abstract
specification in a sequence of ASCII characters. That derivation
is itself error prone.


I don\'t know why a few people here want to stretch this point until it
breaks. It is patently absurd to think of general logic in an FPGA being a
processor executing software

They are both a sequence of bits automatically derived from
ASCII characters and stored in memory.

Those similarities are fundamental, and very relevant to
reliability and verification.


any more than logic configured in any other way.
If the logic were designed using CAD tools from an HDL but implemented in SSI
functions we would not be having this discussion.

There would be the question of whether the compilation was correct.

There would be the question of whether the implementation had mutated
during operation due to flipped bits.


> There is nothing unique about FPGAs that make them \"processors\".

Correct.

But it is much easier to verify some implementation technologies
than others.
 

Welcome to EDABoard.com

Sponsor

Back
Top