1. Introduction
This proposal of Security Hardware Accelerator uses FPGA to encode signals from host hardware and return encryption codes back. This is simple accelerator for extra security. The algorithm can be very complicated requiring more LUTs. In this case only HASH is used. HASH-md5 or HASH-SHA512 are quite different in complexity, refer to https://1024tools.com/hash for some idea. That means, this proposal is fairly bore-some with too much mathematical explanation. I shall try to make it easy to understand.
2. Hardware
Digilent CMOD S7 with 32 FPGA digital I/O signals, 2 FPGA analogue input signals, an external power input rail, and ground are routed to 100‐mil‐spaced through‐hole pins.
The board includes a programming ROM, clock source, USB programming and data transfer circuit with power supplies, LEDs, and buttons for fast prototype. Xilinx Spartan‐7 FPGA (XC7S25‐1CSGA225C) is core chip defining the versatility of the board.
There detail description on Reference Manual
Callout | Description | Callout | Description |
---|---|---|---|
1 | 48-pin DIP form factor header | 7 | UART status LED |
2 | FPGA programming DONE LED | 8 | Shared USB JTAG/UART port |
3 | Pmod connector | 9 | Power good LED |
4 | User push buttons | 10 | Spartan-7 FPGA |
5 | User LEDs | 11 | SPI Flash |
6 | User tri-color LED |
Here is hardware definition for pins and PMOD ports
3. Vivado IDE
3.1 After power-on, the Spartan-7 FPGA must be configuredbefore it can perform any functions. The FPGA can be configured in one of two ways:
-
A PC can use the Digilent USB-JTAG circuitry (port J5) to program the FPGA any time the power is on.
-
A file stored in the nonvolatile serial (SPI) flash device can be transferred to the FPGA using the SPI port.
MicroBlaze by Diligent can be used as optional IDE.
3.2 Installation of Vivada takes quite some time with at least 80G free space on hard drive. Vitis is more high level development platform by Xilinx for AI and big data. It is preferable to install the IDE in Linux environment since some toolset runs well only in Linux ENV. Start the vivado in /tools/Vivado/2xxx.1/bin
Cable driver shall be installed in Linux with commond in termial
Not the vivado is ready for Use.
For board supported xml files can be found in https://github.com/Digilent/vivado-boards/tree/master/new/board_files/cmod-s7-25/B.0