因此,我花了一个多小时才学习了这个学期的所有关于FPGA的知识。为了测试我的技能,我选择了一个使用旧式AES的FPGA实现来加密和解密文件的项目。现在使用Verilog实现AES已经完成了很多次,我参考的代码是http://opencores.org/project,systemcaes。我想要做的是使用Verilog文件处理函数读取一个小文件,将其用作FPGA加密块的输入,并将加密文件保存在计算机上。我知道这可以在测试平台上完成(虽然我没有尝试过,但我确信它可以完成)。但是,在FPGA板上实现代码时,我该怎么做?有没有办法选择要加密/解密的文件并将其传递到电路板上?它甚至有可能吗? 对不起,如果我碰到一个noobie,那是我第一次在FPGA领域。在此先感谢大家!使用Verilog的AES加密
回答
Verilog RTL没有文件系统的概念,您需要FPGA驱动程序来断开文件并逐字节地发送它,或者将它加载到FPGA的程序的存储器中以读取。我没有使用FPGA的经验,我的立场是您将设计合成并将其流入FPGA。我认为你可能仍然有一些连接到你可以将数据流到它的设备。以同样的方式,我认为你可以通过USB控制Arduino。
您如何计划将数据从FPGA中取出?你的工具是否允许你访问发送和加载数据?
感谢您的及时回复。你说的这个'司机'究竟是什么?如何在不使用Verilog R/W命令的情况下使用它来中断文件并将其加载到内存中?对不起,如果我问了太多问题。 – Sam29 2013-03-08 15:12:40
您需要了解FPGA只会描述您要构建的硬件。它不像一种编程语言。
因此,如果您想要将数据加载到FPGA上的存储器中,您需要一种将数据从您的PC移动到FPGA中的方法。最简单的方法是在FPGA上实现UART,以便可以与PC上的串行端口进行通信。然后,将PC上某些终端程序的数据加载到FPGA中。
然后您可以使用串口将数据读回到您的PC。
这当然要求您实现读取和写入FPGA内存内容所需的硬件。
也可能是您可以通过FPGA传输数据。但是,我认为我会使用两个串行端口。
非常感谢AxelOmega。在巡航完成其他帖子后,我终于知道必须使用UART或USB传输这些数据。我的Spartan 3E板子都有,所以我都准备好使用它们中的任何一个。但是,我找不到详细介绍此过程的任何资源。我将如何使用UART或USB加载数据?您能否指点我一些教程或至少举一个例子,以便我可以开始?我完全使用AES代码和测试平台完成,所以接口是剩下的。 – Sam29 2013-03-09 06:40:41
- 1. 使用AES加密/解密
- 2. 使用Crypto ++/AES CFB加密的加密
- 3. 使用CryptoJS的Aes加密
- 4. 使用AES加密来加密文件
- 5. android:使用openSSL的AES加密/解密
- 6. 加密使用base32密钥的AES
- 7. 使用AES CBC加密Java
- 8. 加密文件使用AES
- 9. 使用AES加密数据
- 10. AES使用Base64加密
- 11. AES加密我尝试使用AES加密
- 12. 使用单独的AES密钥播放AES加密的HLS流
- 13. 解密AES中的AES加密字段
- 14. 用AES加密QDataStream
- 15. 加密和解密使用PyCrypto AES 256
- 16. 使用sha256密码AES加密
- 17. 使用Forge来加密/解密AES
- 18. AES密码加密
- 19. AES加密/解密
- 20. 加密AES密钥?
- 21. AES密钥,加密
- 22. 解密AES加密在C#中使用加密的js
- 23. 用AES加密的文件?
- 24. CryptoJS AES加密和Java AES解密
- 25. AES Java加密
- 26. AES加密quellcode
- 27. AES加密,SHA256
- 28. AES加密badPadding
- 29. python AES加密
- 30. 加密(AES)
根据文件的大小,你可能可以作弊,只是将文件预加载到fpga ROM或其他东西,如果你宁愿花时间编写AES代码,而不是处理文件系统和PC界面。 – Tim 2013-03-08 18:50:54
感谢您的快速回复添。那么我几乎完成了AES代码,所以不用担心。我只希望传输一个小文件,比如一个包含几行的小文本文件。但是,我会如何将这个文件预加载到ROM中?有没有一些代码或使用ISE完成?为了澄清,我的目标设备是Diligent Spartan 3E板。 – Sam29 2013-03-09 06:36:23