2013-03-08 174 views
2

因此,我花了一个多小时才学习了这个学期的所有关于FPGA的知识。为了测试我的技能,我选择了一个使用旧式AES的FPGA实现来加密和解密文件的项目。现在使用Verilog实现AES已经完成了很多次,我参考的代码是http://opencores.org/project,systemcaes。我想要做的是使用Verilog文件处理函数读取一个小文件,将其用作FPGA加密块的输入,并将加密文件保存在计算机上。我知道这可以在测试平台上完成(虽然我没有尝试过,但我确信它可以完成)。但是,在FPGA板上实现代码时,我该怎么做?有没有办法选择要加密/解密的文件并将其传递到电路板上?它甚至有可能吗? 对不起,如果我碰到一个noobie,那是我第一次在FPGA领域。在此先感谢大家!使用Verilog的AES加密

+0

根据文件的大小,你可能可以作弊,只是将文件预加载到fpga ROM或其他东西,如果你宁愿花时间编写AES代码,而不是处理文件系统和PC界面。 – Tim 2013-03-08 18:50:54

+0

感谢您的快速回复添。那么我几乎完成了AES代码,所以不用担心。我只希望传输一个小文件,比如一个包含几行的小文本文件。但是,我会如何将这个文件预加载到ROM中?有没有一些代码或使用ISE完成?为了澄清,我的目标设备是Diligent Spartan 3E板。 – Sam29 2013-03-09 06:36:23

回答

-1

Verilog RTL没有文件系统的概念,您需要FPGA驱动程序来断开文件并逐字节地发送它,或者将它加载到FPGA的程序的存储器中以读取。我没有使用FPGA的经验,我的立场是您将设计合成并将其流入FPGA。我认为你可能仍然有一些连接到你可以将数据流到它的设备。以同样的方式,我认为你可以通过USB控制Arduino。

您如何计划将数据从FPGA中取出?你的工具是否允许你访问发送和加载数据?

+0

感谢您的及时回复。你说的这个'司机'究竟是什么?如何在不使用Verilog R/W命令的情况下使用它来中断文件并将其加载到内存中?对不起,如果我问了太多问题。 – Sam29 2013-03-08 15:12:40

3

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

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

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

这当然要求您实现读取和写入FPGA内存内容所需的硬件。

也可能是您可以通过FPGA传输数据。但是,我认为我会使用两个串行端口。

+0

非常感谢AxelOmega。在巡航完成其他帖子后,我终于知道必须使用UART或USB传输这些数据。我的Spartan 3E板子都有,所以我都准备好使用它们中的任何一个。但是,我找不到详细介绍此过程的任何资源。我将如何使用UART或USB加载数据?您能否指点我一些教程或至少举一个例子,以便我可以开始?我完全使用AES代码和测试平台完成,所以接口是剩下的。 – Sam29 2013-03-09 06:40:41