Windows computer with administrator access

RESim was designed and tested on Windows 7 and Windows 8 although since it is written in Python, it should run on Linux.

Xilinx

For the functional testing process Xilinx 14.7 ISE web pack was used. Xilinx ISE Design Tools.

EDA tools and Libraries

Synopsys Design Compiler was used for synthesis of the RTL source code to netlist. The library used is the SMIC13G.

Python

RESim uses Python scripts and libraries that will be required to download.

  • Python 3.3.5
  • Python NetworkX Library
  • Python EDA Library
  • Download RESim

    Folder Structure

    Once downloaded, unzip the compressed folder to a location on disk. The contents and folder structure are shown below. Example netlists and output files for those netlists have been included.

    							
    RESim/
        ├ RESim.py    
        ├── Netlist/
        ├	   ├ aes_128_flat_netlist_T800.v
        ├	   ├ RSA_HUB_netlist.v
        ├ 	   ├ RSA_HUB_netlist_T100.v
        ├ 	   ├ RSA_HUB_netlist_T200.v
        ├	   ├ RSA_HUB_netlist_T300.v
        ├	   ├ RSA_HUB_netlist_T400.v
        ├
        ├──NetlistAnalysisTools/
        ├      ├── extras/
        ├      ├     ├ random_number_generator.py
        ├      ├
        ├      ├── objects/
        ├      ├     ├ control.py
        ├      ├     ├ expression.py
        ├      ├     ├ netlist.py
        ├      ├     ├ testbench.py
        ├      ├
        ├      ├── tools/
        ├      ├     ├ expression_tools.py
        ├      ├     ├ netlist_tools.py
        ├      ├     ├ testbench_tools.py
        ├      ├
        ├      ├── resources/
        ├      ├     ├ typical_1v2c25_Library.json
        ├      ├     ├ BEE.exe
        ├
        ├── Output/
        ├      ├ aes_128_flat_netlist_T800_Common_Solutions.txt
        ├      ├ aes_128_flat_netlist_T800_modified.v
        ├      ├ aes_128_flat_netlist_T800_RESim_Results.txt
        ├      ├ aes_128_flat_netlist_T800_Solution_Results.txt
        ├      ├ aes_128_flat_netlist_T800_testbench.vhd
        ├      ├ aes_128_flat_netlist_T800_testbench_results.txt
        ├      ├ RSA_HUB_netlist_T100_Common_Solutions.txt
        ├      ├ RSA_HUB_netlist_T100_modified.v
        ├      ├ RSA_HUB_netlist_T100_RESim_Results.txt
        ├      ├ RSA_HUB_netlist_T100_Solution_Results.txt
        ├      ├ RSA_HUB_netlist_T100_testbench.vhd
        ├      ├ RSA_HUB_netlist_T100_testbench_results.txt
        ├      ├ RSA_HUB_netlist_T200_Common_Solutions.txt
        ├      ├ RSA_HUB_netlist_T200_modified.v
        ├      ├ RSA_HUB_netlist_T200_RESim_Results.txt
        ├      ├ RSA_HUB_netlist_T200_Solution_Results.txt
        ├      ├ RSA_HUB_netlist_T200_testbench.vhd
        ├      ├ RSA_HUB_netlist_T200_testbench_results.txt
        ├      ├ RSA_HUB_netlist_T300_Common_Solutions.txt
        ├      ├ RSA_HUB_netlist_T300_modified.v
        ├      ├ RSA_HUB_netlist_T300_RESim_Results.txt
        ├      ├ RSA_HUB_netlist_T300_Solution_Results.txt
        ├      ├ RSA_HUB_netlist_T300_testbench.vhd
        ├      ├ RSA_HUB_netlist_T300_testbench_results.txt
        ├      ├ RSA_HUB_netlist_T400_Common_Solutions.txt
        ├      ├ RSA_HUB_netlist_T400_modified.v
        ├      ├ RSA_HUB_netlist_T400_RESim_Results.txt
        ├      ├ RSA_HUB_netlist_T400_Solution_Results.txt
        ├      ├ RSA_HUB_netlist_T400_testbench.vhd
        ├      ├ RSA_HUB_netlist_T400_testbench_results.txt