2

所以我在这个学期自己学习了所有关于 FPGA 的知识。为了测试我的技能,我选择了一个项目来使用古老的 AES 的 FPGA 实现来加密和解密文件。现在使用 Verilog 实现 AES 已经完成了无数次,为了我的参考,我使用了http://opencores.org/project,systemcaes上的代码. 我想做的是使用 Verilog 文件处理函数读取一个小文件,将其用作 FPGA 上加密块的输入,然后将加密文件保存回计算机上。我知道这可以在测试台上完成(虽然我没有尝试过,但我相信它可以完成)。但是当我在 FPGA 板上实现代码时,我该怎么做呢?有没有办法选择要加密/解密的文件并将其传递到板上?甚至可能吗?对不起,如果我遇到一个菜鸟,这是我第一次进入 FPGA 世界。提前谢谢大家!

4

2 回答 2

3

您需要了解 FPGA 只会对您要构建的硬件进行描述。它不像编程语言。

因此,如果您想将数据加载到 FPGA 上的存储器中,您需要一种将数据从 PC 移动到 FPGA 的方法。最简单的方法是在 FPGA 上实现 UART,这样您就可以与 PC 上的串行端口进行通信。然后,您将 PC 上某个终端程序中的数据加载到 FPGA 中。

然后您可以使用串行端口将数据读回您的 PC。

这当然要求您已经实现了从 FPGA 中的存储器读取和写入内容所需的硬件。

也可能是您可以通过 FPGA 流式传输数据。但后来我想我会使用两个串行端口。

于 2013-03-08T18:33:16.013 回答
0

Verilog RTL 没有文件系统的概念,您需要 FPGA“驱动程序”将文件分解并逐字节发送或将其加载到内存中供 FPGA 上的程序读取。

我对 FPGA 没有经验,我的理解是您综合设计并将其流式传输到 FPGA。我认为您可能仍然与可以将数据流式传输到该设备的设备保持连接。同样,我认为您可以通过 USB 控制 Arduino。

您打算如何将数据从 FPGA 中取回?您的工具是否允许您访问以发送和加载数据?

于 2013-03-08T14:58:17.877 回答