XEM3001 questions

  1. Is there a PROM on the board to load the FPGA config file? Or do I have to load the config file via USB each time I power on the board? I would like to use the board in stand-alone mode as a module on a larger PCB without using the USB (but with the option to connect to a PC sometimes for status and monitoring of variables).

  2. Can I program a MicroBlaze soft processor core in the FPGA?

  3. What are the voltage levels at the I/O pins at the header connectors? Are they configurable to 3.3V or 2.5V?

  4. The CY22150 data sheet says the clock generator can only be reprogrammed up to 100 times. Does the FrontPanel software keep track of how many times the IC has been reprogrammed? If I want to reprogram more than 100 times do I have to remove and replace the IC with a new one?

  5. My project is to build a serial data converter-reformatter; read serial synchronous data frames into the FPGA at about 150Mbps, then use a FIFO and some controlling logic to generate new, faster data frames at about 290Mbps (with about half of the data in the new data frames to contain empty filler data). Can this board work at clock speeds up to 290MHz? Do you think this board could be used for this job?

Thanks for any help.


From what I can tell (though I’d like to know for sure from Opal Kelly) the I/Os are set to 3.3V and cannot be easily changed. One reason for this is that the USB chip used is a 3.3V part.

At what voltage level is your input serial data? (i’m assuming 2.5V.) What I/O standard do you plan on using?
I, too, am curious to find out about the output voltages because we are looking to run LVDS I/O, and LVDS outputs are only possible if the bank voltage is 2.5V.


Here are some answers to the questions posed:

  1. The XEM3001 does not have a PROM for the FPGA. It must be configured via USB each time. However, if you apply external power, you would be able to disconnect the USB while keeping the FPGA configured.

  2. Sure.

  3. All I/O banks are set to 3.3v on the board.

  4. The CY22150 can be -Flash- programmed up to 100 times by a programmer. This programming is not supported on the XEM3001. The programming of the PLL is via it’s I2C bus and is SRAM-based, so it can be programmed any number of times.

  5. While the PLL can’t handle 290 MHz, you could use the on-chip DLLs (FPGA) to get up to that frequency. The biggest issue would be signal integrity at the pins, but several traces are extremely short routes (<10mm).