Jump to content
  • 0

stored .bit basys 2


fernando

Question

11 answers to this question

Recommended Posts

Fernando,

The FPGA memory is volatile. It stores the configuration as long as it is powered and it loses it after the power is cut down. If you want to have your project on the board after you powered it off and on again, you need to store it in a non volatile memory, in flash.

Best regards,

Bianca

Link to comment
Share on other sites

The fpga exists volatile and not volatile. If it is non-volatile it can be programmed only once or on the contrary it can be programmed several times without having to store the configuration in flash. However I thought the card basys 2 had a non-volatile fpga.
Thank you.

Link to comment
Share on other sites

@fernando,

A more appropriate term describing how the flash works is that it is "non-volatile" rather than "permanent".  In general, something stored on the flash will be available after power is removed and then re-applied.  This is what/how the tools work.

Most of the flash's I've seen Digilent use to date can also be used to store something "permanently" as well, but I'm not sure of which tools would support this--since I tend to use my own tools.  To do this, once you have the flash written, you need to then burn some write-protect bits that will then keep the flash from being written again.  If this is something you are interested in at all, the flash controllers I've built will get you access to those bits from software.

There is a rather humorous tale associated with those ... one I learned a lot from (sadly).  When I was first placing peripherals on a bus, I initially placed them near zero, and packed them one peripheral after the next.  The problem then was that a program I was running got ... out of hand and started writing random data to each of the peripherals.  :o  This was with my Basys-3 board.  When the "bug" started writing to the flash controller, it overwrote some of the "one-time-write" bits.  As a result, my Basys3 just doesn't quite work the same any more.  :P  I've learned since then to leave the address space near zero unoccupied, and to generate bus errors anytime something tries to reference that space.  It limits the damage.  :D

The only other thing I might add is that while flash is "non-volatile" rather than "permanent", there are only a limited number of times a flash device may be written to.  It's usually somewhere in the tens of thousands, so ... I have yet to overflash a device, but that limit does exist.  You can find out more details by googling the flash part on your particular board.

Dan

Link to comment
Share on other sites

@fernando,

I'm not sure I understand what you are saying.  Are you asking why Digilent is not using non-volatile FPGA's on their cards?

As I understand things, an "FPGA" with built-in flash is typically called a CPLD, or Complex Programmable Logic Device, and not an FPGA.  This is a more appropriate term to use than "volatile FPGA"--which may well be a misnomer.  Further, among Xilinx parts, the CPLDs they offer have only a fraction of the amount of logic that FPGAs have.  Thus, if you want to put a large design into a programmable logic chip, you are stuck with an FPGA.  (I'm told Altera offers large FPGAs with the FLASH integrated within them.  However, I have no experience with the Altera chips with which to address your question.)

The rest of Xilinx's FPGAs require an external chip for configuration.  This external chip can be a small micro-controller, or it can be a SPI (or Quad SPI) flash chip.  Older designs, such as the Basys-2 you reference, used a Platform flash chip.  Xilinx FPGAs have contained and built within them a small micro-controller that knows how to interact with this chip to extract its memory, or alternatively to wait for the configuration to be provided to it.

In other words ... I think you have everything you are asking for, and certainly everything you would need, already integrated on your board for both configuring it after power up, as well as programming it to be configured at power up, and the issue of whether or not your chip has a flash integrated within it is irrelevant to how you would need to interact with your board.

Am I missing something?

Dan

Link to comment
Share on other sites

I think what you meant to ask was, "where I can find the initial configuration that was burned into the flash of the basys 2 board"?  "Since I have reflashed it and I do not know where to find a copy of it."?  Did I get that right?

Hmm ... looking over the reference page, I don't see it listed.

Perhaps one of the Digilent staff, such as @Bianca or @JColvin, might be able to pipe in with the answer when they get back in at the end of the weekend?

Dan

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...