newbie
newbie

Reputation: 23

Using De2-115 board to run a project developed on a different board?

I am trying to run different open source projects/games on my DE2-115 Altera board, however, these projects are usually developed on different boards like: Xilinx Spartan 3, DE0, DE1, ...etc.

My question is, what are generally the things I need to change in such projects in order to make them successfully run on my board?

The first thing I usually do is to change board type and import my board's pin assignment file. But still the projects compile successfully but don't give the expected functionality. I'm using Quartus II design software.

Many thanks!

Upvotes: 2

Views: 946

Answers (1)

Unn
Unn

Reputation: 5098

While this is a very broad question, in general, to port a project from one FPGA to another, it will likely take more than changing the board type and simply importing a pin assignments file. Here are a few things to consider:

  • You do need to take the code, typically in a project, and either change the project to use the target FPGA or create a new project to use the target FPGA.
  • You must make sure the target board has all the needed hardware components as the board the project was originally designed for. This includes buttons, switches, LEDs, seven segments, VGA/Video ports, Audio ports, etc. All that hardware must be at least available on the target board.
  • If you are lucky and the same or comparable hardware is existent on the target port, you need to be sure the IO of the top level module of the code properly maps to the hardware on the target board. The original pin assignments for the original board are probably included, but you need to be sure you do these assignments for the target board so all IO goes where its supposed to. This can easily be more involved than simply importing a pin assignments file as you need to be sure the top level IO and the pin assignments file use the same net names, ie, Altera uses things like HEX0 for a seven segment, but if the top level IO calls this sseg0, the import will not properly assign the pins.
  • In most cases (at least for things like video, audio and anything more complicated than an led or push button), the interfaced for the various components on the board will NOT be the same. Now you will have to modify the original code to use the target board's hardware instead of the original board's hardware.
  • Not only the boards hardware, but some stuff inside the FPGA might not be compatible. If the project uses special IP cores, these will have to be replaced or modified to the target FPGA. This will take some effort for chips of different families (like a port from a Altera Cyclone III to an Altera Cyclone IV or Cyclone IV SE to Cyclone IV E) and even worse between manufacturers. So things might not even port, and if the target FPGA is much smaller than the original FPGA, the design might not even fit at all.

The short answer is that porting an FPGA project designed for one board to another can be alot more involved than simply opening the project and changing a setting or two; it really depends on the project, its original target and the new target you want to synthesize to.

Upvotes: 3

Related Questions