- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a PCB I made using the Max 10 10M16DAF256C8G dual supply series FPGA. I've observed some unexpected behaviors in terms of startup and non-volatile operation.
When programming the board with .sof file, everything worked okay the first time. When programming the board with .pof file, I had to play around with tools -> options in the programming window and check the "initiate configuration after programming" box for the program to work. I'm also not 100% clear on whether it should be CFM, UFM, both, neither. According to this https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/hb/max-10/ug_m10_config.pdf, it reads like either one will work to program into internal flash. The problem is, the non-volatile behavior in both scenarios appears finicky. After the board is programmed, shut down, and restarted, I have to wait some random amount of time before it runs the program. Sometimes it takes maybe 5 seconds, other times it might take over an hour. The program is a simple program that turns on an LED and some other stuff. I don't know what might be causing this - if there is a certain power-up sequence this thing needs to see or what, maybe a setting somewhere in the programmer?Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You probably missed something in the configuration or your program. I have a BeMicro MAX10 kit and it was pretty tough to get going. One of my test project was using a custom instruction to blink the LEDs on the board. Here are my notes on how to program it:
------------------- notes start ------------------------------------------------- This project will use internal memory and a custom instruction to change the LEDs. The custom instruction is combinatorial. Notes: 1. Must remember to "Make Targets" in Eclipse and include the meminit.qip file to the project. This creates the hex file for the software. 2. Load the .pof file in the programmer and check the box for CFM0 only. ----------------------notes end-------------------------------------------------------------- I hope that helps.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've not used the MAX10, but do you have all of your configuration pins in the proper state, pulled up, etc?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've confirmed that this problem exists on 2 different boards now, where if power is removed and reapplied, the program doesn't start back up immediately. I also tried two different codes and they behave the same, so I'm thinking it's something in the hardware or programmer settings. Could using an $11 budget USB blaster be a culprit?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Another issue I was looking at this morning - the nconfig, conf_done, config_sel, nstatus, and various other config pins are floating on our board whereas the evals have them pulled up or down based on pin connection guidelines. Perhaps this is causing some issues?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, that could definitely be causing issues. I pointed this out in my first response to you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, you did. One more thing, those eval boards have a CPLD feeding the JTAG lines. On our board, it goes directly from the FPGA pins to a connector for the USB blaster. Again, not sure if that is an issue.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page