2013-03-08 171 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