2013-03-08 3 views
2

그래서 이번 학기에 FPGA에 대해 배웠습니다. 필자는 기술을 테스트하기 위해 오래된 AES의 FPGA 구현을 사용하여 파일을 암호화하고 해독하는 프로젝트를 시작했습니다. 이제 Verilog를 사용하는 AES의 구현은 굉장히 많이 수행되었으며, 필자는이 코드를 http://opencores.org/project,systemcaes에 사용했다. Verilog 파일 처리 함수를 사용하여 작은 파일을 읽고이를 FPGA의 암호화 블록에 대한 입력으로 사용하고 암호화 된 파일을 컴퓨터에 저장합니다. 나는 이것이 테스트 벤치에서 행해질 수 있다는 것을 알고있다. (시도하지는 않았지만, 그것이 끝났다고 확신한다.) 하지만 FPGA 보드에서 코드를 구현할 때 어떻게해야합니까? 암호화/해독 할 파일을 선택하고 보드로 전달하는 방법이 있습니까? 심지어 가능할까요? 죄송합니다. 내가 noobie로 등장한다면, FPGA 세계에서 처음입니다. 미리 감사드립니다.Verilog를 이용한 AES 암호화

+0

파일 시스템 크기와 PC 인터페이스를 다루는 것보다 AES 코드를 작성하는 편이 좋을 때, 파일 크기에 따라 사기를 치고 fpga ROM 등으로 파일을 미리로드 할 수 있습니다. – Tim

+0

답장을 보내 주셔서 감사합니다. 나는 거의 AES 코드로 끝났으므로 걱정할 필요가 없다. 난 단지 몇 줄을 포함하는 작은 텍스트 파일과 같은 작은 파일을 전송하고 싶습니다. 하지만이 파일을 ROM에 미리로드하려면 어떻게해야합니까? 이를위한 몇 가지 코드가 있습니까? 아니면 ISE를 사용하여 완성 되었습니까? 명확히하기 위해, 필자의 목표 디바이스는 Diligent Spartan 3E 보드입니다. – Sam29

답변

-1

Verilog RTL에는 파일 시스템 개념이 없으므로 파일을 분리하여 바이트 단위로 보내거나 FPGA에서 프로그램의 메모리에로드하여 FPGA에 읽을 수 있어야합니다 .

저는 FPGA에 익숙하지 않습니다. 저의 생각은 디자인을 합성하여 FPGA로 스트리밍하는 것입니다. 데이터를 스트리밍 할 수있는 장치에 여전히 연결되어 있다고 생각했습니다. 같은 방식으로 당신은 USB를 통해 Arduino를 제어 할 수 있다고 생각합니다.

FPGA에서 데이터를 다시 가져 오려면 어떻게 계획합니까? 도구를 사용하여 데이터를 보내고로드 할 수 있습니까?

+0

신속한 답장을 보내 주셔서 감사합니다. 당신이 말하는 '운전자'는 정확히 무엇입니까? Verilog R/W 명령을 사용하지 않고 파일을 파괴하고 메모리에로드하는 방법은 무엇입니까? 너무 많은 질문을하는 경우 미안 해요. – Sam29

3

FPGA는 빌드하려는 하드웨어에 대한 설명 만 취합니다. 프로그래밍 언어가 아닙니다.

그래서 FPGA의 메모리로 데이터를로드하려면 PC에서 FPGA로 데이터를 이동하는 방법이 필요합니다. 가장 쉬운 방법은 FPGA에 UART를 구현하여 PC의 직렬 포트와 통신 할 수 있도록하는 것입니다. 그런 다음 PC의 일부 터미널 프로그램에서 FPGA로 데이터를로드합니다.

그런 다음 직렬 포트를 사용하여 데이터를 PC로 다시 읽을 수 있습니다.

물론 이것은 FPGA의 메모리에서 읽고 쓰는 데 필요한 하드웨어를 구현해야합니다.

또한 FPGA를 통해 데이터를 스트리밍 할 수도 있습니다. 그런데 두 개의 직렬 포트를 사용할 것이라고 생각합니다.

+0

AxelOmega에게 감사드립니다. 다른 게시물의 부하를 통해 크루징 후, 나는 그런 데이터가 UART 또는 USB를 사용하여 전송되어야한다는 것을 알게되었습니다. 내 Spartan 3E 보드에는 두 가지가 모두 포함되어 있으므로 그 중 하나를 사용하고 있습니다. 그러나이 절차를 자세히 설명하는 리소스를 찾을 수 없습니다. UART 또는 USB를 사용하여 데이터를 어떻게로드합니까? 제 튜토리얼을 가르쳐 주시겠습니까? 아니면 atleast를 시작해서 시작할 수 있습니까? 나는 AES 코드와 테스트 벤치를 완벽하게 마쳤으므로 인터페이스가 모두 남아 있습니다. – Sam29