Looking for advice - FrontPanel for learning FPGA

Hello,

I am from the software field (application development for the commercial sector) and recently got interested in the basics - hardware. Having go through some basic “toys” like simple PCB and MCU, I would like to learn FPGA with a particular topic - data security and encryption.

After spending considerable time and money with some entry level FPGA products on the market (~ $80 - 100 price tag), I found myself invested in the wrong category of development kits. Those are good for running custom operating systems and then let developers write general purpose applications on those so-called “soft-core processor”, which runs on top of the configured FPGA, instead of programming the FPGA itself. Not to mention the difficulties in simply following the demo / tutorial provided with the product (to be honest sometimes it just doesn’t work as expected).

The FrontPanel from Opal Kelly seems very promising. I’ll be grateful if someone on the forum could give me some information or pointers to documentations / tutorials on the products, so that I can evaluate whether it is suitable for me to take up as a learning project, and possibly put it into something useful in the future. The products affordable to me is the 3001 or 6001 with Xillinx.

The objective I’m looking to achieve in learning is preferably an encryption FPGA application, in DES or AES. I’d like to see the complete source code or Verilog / VHDL (which I’m not familiar with and have to learn), and from there I can deploy it to the FPGA board (3001/6001), and interface with a PC application (java, c#, or others languages). The PC application will send a string to the FPGA, and get the encrypted results. I’d also like to learn how parallelism in FPGA works from this particular usage, perhaps by metering the performance against a PC-only solution without FPGA. Even better I can modify the original source code to add debug messages so I can have better visibility to the running program.

I understand FPGA is quite different from procedural language program (which I am familiar with), and I’m decided to put effort into it to learn e.g. VHDL and verilog. However I need a reliable and easy to use platform and interface to the FPGA itself to start learning.

Is the product from Opal Kelly (FrontPanel + 3001 or 6001) suitable for this? It is quite frustrating for me now to have spent a lot of time and money without any success from my experience with other products on the market

Thank you very much in advance for any suggestions.

I’ll let others provide a 3rd party perspective, but one of the demos that ships with our boards uses the OpenCores.org DES core to encrypt or decrypt data sent to the board.

Full source is included.

[QUOTE=Opal Kelly Support;3127]I’ll let others provide a 3rd party perspective, but one of the demos that ships with our boards uses the OpenCores.org DES core to encrypt or decrypt data sent to the board.

Full source is included.[/QUOTE]

Thank you very much for the quick reply!

How hard / easy to implement it? I’d imagine something like

  1. Open an IDE (Front Panel or the one from Xillinx?)

  2. Open the downloaded IP core from OpenCores.org

  3. Using the IDE to flash to 3001 / 6001.

  4. Run a standalone program, or using FrontPanel sample program to communicate with the board to do the encryption.

Does this make sense, very close to the design of the demos on disk?

Thanks again.