The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
1. The lounge is for the CodeProject community to discuss things of interest to the community, and as a place for the whole community to participate. It is, first and foremost, a respectful meeting and discussion area for those wishing to discuss the life of a Software developer.
The #1 rule is: Be respectful of others, of the site, and of the community as a whole.
2. Technical discussions are welcome, but if you need specific programming question answered please use Quick Answers[^], or to discussion your programming problem in depth use the programming forums[^]. We encourage technical discussion, but this is a general discussion forum, not a programming Q&A forum. Posts will be moved or deleted if they fit better elsewhere.
4. No politics (including enviro-politics[^]), no sex, no religion. This is a community for software development. There are plenty of other sites that are far more appropriate for these discussions.
5. Nothing Not Safe For Work, nothing you would not want your wife/husband, your girlfriend/boyfriend, your mother or your kid sister seeing on your screen.
6. Any personal attacks, any spam, any advertising, any trolling, or any abuse of the rules will result in your account being removed.
7. Not everyone's first language is English. Be understanding.
Please respect the community and respect each other. We are of many cultures so remember that. Don't assume others understand you are joking, don't belittle anyone for taking offense or being thin skinned.
We are a community for software developers. Leave the egos at the door.
I am thinking of FPGA for an algorithm of mine, but lack of any experience with FPGAs.
The activity is number crunching, no fancy IO or A/D conversion.
I send a very large number, it crunch, and I get answer as a single number. One can think of it as integer factorization.
Crunching is made of large additions, subtractions, shift operations (*2 and /2), increments/decrements and logical operation and bits testing, and storage in local memory.
May be an embedded ARM processor to handle communication and data conversion.
Algorithm can be adapted for treading.
It is for hobby, so no real budget.
What hardware/software would you recommend ?
Already posted in Hardware forum, but no activity
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
I was considering something of the sort -- but not related to huge computation.
There's an arduino library that will generate SHA-256 hashes. I had an arduino that was set up with a 16 x 4 LCD.
I then had a bluetooth module connected to the Arduino. I could send any text to the arduino via Android app, that received the text string. The Arduino would pass it through the SHA-256 generator and calculate the hash and pass the hash back.
Yes, you can generate the SHA-256 hash on the android phone itself much easier, but this was a prototype and has some of the pieces you are interested in.
If you later need more computational power you can get one of the Arduinos that have those ARM chips for like $30 or cheaper and then very little of your code would have to change.
Just some ideas.
Hmmm, For shear number crunching I have used Lattice, I am told that Altera are better for number crunching they are an art to use. If you can use an ARM it may be easier to do the number cruching in that and keep it all on one chip.
Is it something that can be done in parallel? If so, you might be able to adapt it to run on a GPU. That's what I've been doing lately and it is fascinating. For parallel computing they can be very, very fast.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
For a reasonably inexpensive FPGA development platform with support processor - have a look at the Evo M51 from Alorium Technology. Evo M51 | Arduino Compatible FPGA Module | Alorium Technology[^]
It is an FPGA-enhanced embedded Arduino compatible microcontroller module.
features a 32-bit SAMD51 microcontroller along with an Intel (Altera) MAX 10 FPGA.
Atmel SAMD51 32-bit ARM Cortex-M4 Micro
Intel MAX 10 FPGA
Programmable with Arduino
I've gotten the C# compiler to give me an internal error. I think I was doing something terrible and unforgivable with generics, admittedly. It has happened intermittently from time to time, but I've only encountered it consistently once.
That's the best I got. I love that you had a contest to confuse the compiler. It's kind of mean though.