3
\$\begingroup\$

I would like to be able to dynamically generate specific circuits for transfer to an FPGA. It seems I cannot amend the bit file directly. Can I generate the bit file from a schematic representation, something like transistor 1 -> transistor 2 -> transistor 3?

Background: The goal is to hook up a genetic algorithm or other solution space explorer to an fpga, allowing it to explore different circuit configurations. The goal of this is to create a dynamical system exploiting non-linear properties on the fpga for use as a reservoir in a reservoir computing device.

\$\endgroup\$
3
  • \$\begingroup\$You might want to look at this question regarding some of the issues related to this.\$\endgroup\$CommentedSep 11, 2013 at 14:12
  • 1
    \$\begingroup\$First, FPGAs aren't configured at transistor level, and few of them do more than a small interface amount of analog. Obviously given a device and a compatible expression of design intent, there has to be a tool which can generate a bitstream or the part would be useless, however that tool is often proprietary and may take multiple minutes to execute on a high end desktop. Generally you are locked into the toolchain of the vendor or their partners, but there may be exceptions for very old devices or a few which have been reverse engineered. Simulating a simpler FPGA on a real one might work.\$\endgroup\$CommentedSep 11, 2013 at 14:34
  • 1
    \$\begingroup\$Why not simulate the FPGA behaviour? This should also help speed up the exploration of the solution space tremendously.\$\endgroup\$
    – ARF
    CommentedSep 11, 2013 at 20:07

1 Answer 1

2
\$\begingroup\$

This could be a very big job!

FPGAs are not bags of transistors (at least not user-accessible ones) - they are a sea of lookup tables and flipflops. You could potentially build a circuit full of LUTs and then use your GA to configure the content of them - you can manipulate the content of LUTs on the fly relatively straightforwardly (at least in Xilinx devices).

Xilinx used to have low-level bitstream manipulation tools available for research use, but I haven't heard of them for a long while.

In olden-times (mid 1990s), they had a family which you could feed random bitstreams to without fear of damage. Adrian Thompson (no relation!) used this to create a frequency discriminator:

http://www.informatics.sussex.ac.uk/users/adrianth/gp96/paper.ps

http://www.sussex.ac.uk/Users/adrianth/gp96/ref.html

\$\endgroup\$

    Start asking to get answers

    Find the answer to your question by asking.

    Ask question

    Explore related questions

    See similar questions with these tags.