SelectMap or serial: How does the PROM know?

Hello,

I am in the midst of reviewing a board design, which is based upon a (Xilinx) Virtex-4 XC4VSX35 which will configure itself as a master from a (Xilinx) XCF32P flash.

The related schematics was heavily inspired by a reference design, which allows loading the configuration either in serial mode or SelectMap. A jumper changes the mode bits accordingly, so the FPGA knows what we want. In order to make this work, the ROM's D0 output goes both to FPGA's D_IN_0 and the D0 pin. D1-D7 go, of course, to the respective places on the FPGA. This way, both data channels are possible.

In our design, the mode bits are hardwired to SelectMap, so I have to make sure that things will work in this mode. And what puzzles me, is how the PROM knows whether it should send out a single bit for each CCLK as necessary in serial mode, as opposed to a full 8-bit word per CCLK as needed in SelectMap. The mode pins don't reach the PROM directly, and it has no way to know whether we're listening to one bit or eight. Still, it has to increment its bit address by one or eight, depending on the configuration mode.

It's not that I care all that much about the internals, as I want to make sure that we don't miss a critical wire or pullup/down resistor. Or something.

Does the FPGA send a hint regarding the mode in some way at powerup? Is it somehow given in the PROM data? I've read the configuration guides back and forth, and found no clue about this simple question.

Anyone?

Thanks, Eli

Reply to
eli.billauer
Loading thread data ...

When you program the PROM with Impact you are given a choice of the Parallel Mode under the PROM Specific Properties. So, essentially, I believe the information is stored in the PROM itself.

/Mikhail

Reply to
MM

Eli,

There are a couple of points to touch on here. On power-up (or when INIT transitions), the MODE pins are sampled. If the MODE pins are set such that you are in a serial mode, only the D0 pin is used as the configuration input. Pins D1-D7 are treated as a dual purpose pins and in this case are standard IO, tri-stated during configuration. Likewise if the MODE pins are set to a SelectMAP configuration (assuming 8-bit), D0-D7 are all active configuration pins.

There is no secret communication from the FPGA to the PROM that lets the PROM know what configuration mode the FPGA is set to. This information is embedded in the MCS file. It is possible to have multiple bitstream revisions in the Platform Flash and each of these revisions could be either a serial or SelectMAP configuration. By doing this you will also need to change the MODE pins on the FPGA dynamically to support the type of configuration being driven from the PROM.

-David

Reply to
davide

Correction:

What Mikhail said is correct. The MCS does not have the information. When loading the MCS file to the PROM, iMPACT has a setting to select a parallel mode. Here is the question: Can each revision selection also have it's own configuration width? I believe that the answer is yes and am doing a quick experiment to verify. Results to follow...

-David

Reply to
davide

Thank you for the answers. Indeed, I found the following sentence in the help page for configuration options:

"Parallel Mode

Sets the parallel mode bit in the XC18V00 device. The PROM uses the DO- D7 pins for SelectMap programming of the target FPGA."

That's good enough for going ahead with the board. But I still wonder if this is written somewhere in the official docs. After all, this is a major issue, and still I couldn't find a word about this in the data sheet (ds123.pdf) nor the user guide (ug161.pdf). Is the info out there in a place I don't look?

Thanks again, Eli

Reply to
eli.billauer

Eli,

I believe that iMAPCT Help is the correct place to have this information. However, I feel that there could be more detail in the Platform Flash UG. It only states that revisioning is supported in serial and parallel modes. I think that there is room to be more specific about where and how the configuration modes are controlled (i.e. maybe a link to the Help guide).

As it turns out (and I did verify this with engineering) there is only a single register to control the download mode in the PROM. It is a global setting and all revisions are either serial or parallel. The engineering group is open to suggestions and if a good case can be presented on why each revision should have individual control over its configuration mode, we would be very interested in hearing them.

-David

Reply to
davide

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.