First of all, Great Idea. Altera’s NIOS II processor implementation and programming is a nightmare. I kept thinking “can someone please make this as easy as arduino”. That being said I also need the configurability on the FPGA side.
I have an interrupt that is periodic (60HZ) and starts a timer, and when the program in the interrupt runs too long, the main loop doesn’t execute correctly. Can you make an XB that enables a smaller second core that can access global variables from the main core when an interrupt occurs? or possibly just a second core with limited capabilities if space is an issue?
I think the incorporation of custom XB would be the best, but a second processor where I could quasi-replicate my hardware implementation could be a great intermediate step. Thanks.
I had a similar idea, taking a page from the propeller chip. Would it be possible to have two cores with some shared memory or perhaps a special bus to communicate between them? That might make the product more interesting, if you could make the execution unit run two separate data streams but twice the speed of a normal Arduino. Having separate state registers would be the trick.
Like the parallax you could have one core operate a,or operate as a peripheral.
Thank you for your comment. The simple answer to your question is no. The MAX10 does not have the resources available for two separate copies of the soft ATmega328P microcontroller. However, we will soon be releasing a way for our users to have the ability to create their own custom XBs called Open XLR8. If your project does not require all the functionality of two soft ATmega328P cores, you may be able to program an XB that will provide the functionality you need. If your project only exercises specific parts of a core using a custom XB it will eliminate excessive overhead as opposed to using an entire second core.