Lab 4 - Hardware Trojan Detection in FPGA Bit Files

Part 1 | Part 2 | Part 3

we emulate the following scenario. Alice, a designer, has sent her design to an off-shore foundry owned by Mallory. Mallory supposedly had inserted hardware Trojans in some of the chips that she had manufactured. Alice’s challenge is to test each of the manufactured chips and classify which chips are infected with Trojans and which chips are Trojan-free. To achieve this purpose, she employs one or more of the following Trojan-detection techniques:

Functional test: Create special functional test patterns to activate the Trojan and observe its effect at the output.
Side-channel analysis: Analyze the delay, power consumption, or both parameters of the chip, and distinguish the impact of Trojan on these parameters from that of process variations.


Part 1: Download Supportive Materials (for BASYS2-100 board)

The source code is provided as part of the 2012 NYU-Poly CSAW competition so the guideline (CSAW2012_guide.pdf) is also written for the competition.

Note that the original bit files are developed for Digilent BASYS2 FPGA board with Spartan-3 chip of capacity 100. But the BASYS2 boards we are using are equipped by a Spartan-3 chip of capacity 250. Therefore, to simulate the design, you have to use the FPGA boards available in our 'official' lab room located in Engineering I, 257. I am currently trying to regenerate the bit files for our FPGA boards but I have not received the source codes from CSAW yet.

Please download the source code


Part 2: Download Supportive Materials (for BASYS2-250 board)

The bit files for Digilent BASYS2-250 FPGA boards are generated so that you can use your own FPGA boards to perform the experimentation.

Please download the Basys2-250 bit file bitfile_Basys2-250.rar.


Part 3: Download Supportive Materials (for BASYS3 board)

As for the BASYS 3 board, since the board has been redesigned using new FPGA and running on Xilinx Vivado software, the whole lab has been updated. You may find the new guideline (ReadMe_basys3.pdf) for the BASYS 3 board.

Please also download the source code for BASYS board at bitfile-BASYS3.rar.