Page 1 of 1

"complex" cores ?

Posted: Fri Jul 30, 2021 8:39 pm
by Airbag
I read at the end of the FAQ : https://github.com/MiSTer-devel/Main_Mi ... r-heatsink

The DE-10 is rated for up to 100°C operation and it doesn’t get nearly that hot. Do I really need a fan or heatsink?
A number of complex cores (like ao486) benefit from having the chip at cooler temperatures, since heat can affect the tight timings they require. A fan is recommended to avoid any possible glitches, but you won't damage your DE10-Nano if you choose not to use one.


So what are the "complex cores", apart from ao486 ? (follow-up question : how do you define "complex" in this context ?)

Re: "complex" cores ?

Posted: Sat Jul 31, 2021 5:53 pm
by Sarge
I suspect "complex" in this case mostly refers to using pretty much all the logic elements available in the FPGA. And as that quoted statement says, when timings are really tight, heat can potentially affect said timings enough to cause undesirable behavior.

While it may be rated for those high temps, heat still often reduces the lifespan of electronics, so I figure using a heat sink doesn't hurt.

Re: "complex" cores ?

Posted: Sat Jul 31, 2021 8:15 pm
by Hackshed_Carl
The way I understand it (and I could be wrong) is that the FPGA side of things doesn't really affect the temperature.
The heat is generated by the ARM core which is always busy doing something, either waiting for menu usage or other ARM related tasks.

Some cores however, engage more frequently with the ARM side than others, either for ROM/CD reading or other things (other people will be able to explain it better)

This is why I believe the additional cooling is required, not for the FPGA but for the ARM core

Re: "complex" cores ?

Posted: Sat Jul 31, 2021 8:44 pm
by FPGAzumSpass
In my opinion this is misleading.

All cores, no matter how complex or full the FPGA is, could run stable without any heatsink at 100°C if they would have fulfilled timing closure.
That means, that the logic inside the FPGA is proven to work at the designed speed by Altera/Intel on all boards.

AO486 doesn't have that. The tools state it can reach about ~60Mhz. everything above(90Mhz is often used) is overclocking.
Overclocking works better with lower temperature -> heatsink/fan can be useful.

Some other cores might also not pass timing closure, but most do.

Re: "complex" cores ?

Posted: Sat Jul 31, 2021 9:10 pm
by Hackshed_Carl
FPGAzumSpass is a core dev so I would take heed of his response more than my own :)

Re: "complex" cores ?

Posted: Sun Aug 01, 2021 5:08 am
by FPGAzumSpass
Sorry, my comment on "misleading" was meant for the quote of the wiki entry, that it hits only complex cores.

Especially beginners, who likely do smaller, less complex cores first, often ignore the timing report of the tools, resulting in stable processing being a pair of luck and temperature.

Your comment on the ARM core producing most of the heat is correct, but it's probably not related to how much the ARM core is used,
as it has no sleep anyway and will most times draw the same power.

Re: "complex" cores ?

Posted: Sun Aug 01, 2021 11:32 am
by Airbag
Thanks for all your helpful comments.
So if I understand them correctly :
- "complex" is hard to define
- all cores generate (more or less) the same heat, with 2 exceptions :
  • cores that use overclocking (only ao486 ?)
  • cores that use a lot of I/O with big files : ROM (Neogeo ?), CD (MegaCD, TG16 ?), VHD (ao486, minimig, MacPlus, AtariST ?)
(I thought ROM files were loaded once at the start of the core, and their size was limited by the SD RAM module ?)

Re: "complex" cores ?

Posted: Sun Aug 01, 2021 12:54 pm
by FPGAzumSpass
Cores that use "overclocking" don't generate more heat, but they are more sensitive to the heat that is there.
Plain said, it makes them more likely to crash.
So a heatsink/fan make them run more stable.

Re: "complex" cores ?

Posted: Sun Aug 01, 2021 2:51 pm
by aberu
Airbag wrote: Fri Jul 30, 2021 8:39 pm I read at the end of the FAQ : https://github.com/MiSTer-devel/Main_Mi ... r-heatsink

The DE-10 is rated for up to 100°C operation and it doesn’t get nearly that hot. Do I really need a fan or heatsink?
A number of complex cores (like ao486) benefit from having the chip at cooler temperatures, since heat can affect the tight timings they require. A fan is recommended to avoid any possible glitches, but you won't damage your DE10-Nano if you choose not to use one.


So what are the "complex cores", apart from ao486 ? (follow-up question : how do you define "complex" in this context ?)
SNES core running Super FX games on Turbo I believe is a good example. It's going to be more sensitive to heat, meaning more prone to errors/bugs.

Personally you should at a very minimum have a heatsink, but get a fan for sure.

MiSTerAddons.com has a good cheap kit, if you are in the US.

https://misteraddons.com/products/miste ... d-heatsink

Re: "complex" cores ?

Posted: Sun Aug 01, 2021 4:35 pm
by Airbag
Thanks for the clarifications.
As I have already a heatsink and a fan, I understand I need to activate the fan only if I start to get crashes / errors.

Re: "complex" cores ?

Posted: Mon Aug 02, 2021 7:09 pm
by Sarge
Definitely appreciate the info from an FPGA guru.