Download SNIDS: FPGA-based Implementation of a Simple Network Intrusion
Transcript
Verilog templates Set of Strings Verilog module generator Bit-split FSM automatic generator Tiles Rule_Modules (Verilog) Memory initalization files (COE) BRAM description COREGEN Top level modules (Verilog) BRAM Netlist Pcore Synthesis Figure 9: Automatic SNIDS generator had to generate a separate Verilog module for each rule module and each tile within each module. For this purpose, we implemented shell scripts that create a number of Verilog files named rule module X, where X varies from one to the total number of modules, as well as the files tile X Y, Y = 1, . . . , 4 for each rule module X. These files are generated by modifying specific template Verilog sources that we wrote. Each module tile X Y instantiates the corresponding BRAM module state table X Y. This module serves as the wrapper for the BRAM netlist generated by the CoreGen. The top-level modules instantiate the rule modules, the connecting logic, and the OPB snooping frontend. Together with the above mentioned automatically generated files, they are given as input to the EDK environment, which is then used to produce the synthesizable SNIDS core. The details of the files and the directory structure used to implement the SNIDS core in XPS are described in Appendix A. 19