Forum Discussion
How do I store values in EPCS?
Hello! I'm finishing up a Cyclone III design and need to store a few values in non-volatile memory on the fly. The only thing I have is the EPCS16. From what I read, NIOS II is the easiest way to get to it but I am not using NIOS II in my design otherwise and I'm not familiar with it so I was looking for another way. The other options seem to be the using the MegaWizard to drop a Serial Flash Loader into my design (I think that gives me access to the EPCS pins directly but I would need to figure out how to read/write/...), or use the AN379 files (read/write functionality but does it work with Cyclone III?), or use SOPC Active Serial Memory Interface to Avalon bus to my code, or whatever the Remote System Update is, or ???
What is the best path? Thanks, Allison11 Replies
- Altera_Forum
Honored Contributor
yes, it works great here.
- Altera_Forum
Honored Contributor
Thanks for all the help! I put the altasmi_parallel in my design and will test it out, it looks straight forward...
Allison - Altera_Forum
Honored Contributor
got it, i've seen this before searching for the files related to an AN. i filled out a search feedback. :)
- Altera_Forum
Honored Contributor
A search for an379 retrieves only the application note but not the related reference design, although the archive file name is an379.zip
- Altera_Forum
Honored Contributor
FvM: what did you search for on Altera.com, and would the Rate This Search help Altera tweak the engine?
- Altera_Forum
Honored Contributor
Thanks for pointing to the AN379 sources. I should have checked the literature page instead of searching Altera.com.
I agree, that ALTASMI_PARALLEL apparently replaces the AN379 reference design. It has additional features, particularly buffered page write. When needing to apply changes to the code, I would prefer the AN379 sources for the clearer style. Both designs can't coexist with a SFL instance built into the design, because the parallel AS controller as well as SFL are instantiating an ASMI_BLOCK, but only one is possible. You have to rewrite part of the code to share a single ASMI_BLOCK instance. - Altera_Forum
Honored Contributor
Do not use that. One altera FAE has told me that AN379 has been deprecaded in favor of the ASMI_PARALLEL megafunction.
So use the later instead. - Altera_Forum
Honored Contributor
Use this link
http://www.altera.com/literature/lit-an.jsp (http://www.altera.com/literature/lit-an.jsp) Slacker had a typo mistake in his link. - Altera_Forum
Honored Contributor
Gotta go here (http://www.altera.com/literature/lit-an.jsp) (updated link...sorry for typo) and hunt for 379 to get the design ZIP. It ~looks~ like everything's there.
Cheers, -slacker - Altera_Forum
Honored Contributor
I think, you answered part of the question yourself. If not needing NIOS II for other purposes, you won't utilize it for EPCS access only. The SFL interface is present, if indirect JTAG programming is part of your design, otherwise yous can connect the EPCS pins as user I/Os directly. Finally a serial flash controller has to be designed. AN379 is one possible solution, but I don't know, if the reference design files are available somewhere, they seem to have vanished from Altera.com. Otherwise you can build it from the scratch, the programming algorithms are well documented in the Altera datasheets and also with compatible chips, e.g. M25P16.