Skip to content

Latest commit

 

History

History
35 lines (31 loc) · 1.72 KB

README.md

File metadata and controls

35 lines (31 loc) · 1.72 KB

SystemVerilog Source Code Obfuscator

Obfuscation is useful for preparing test cases that may have sensitive content with tool vendors. verible-verilog-obfuscate transforms SystemVerilog code by replacing identifiers with obfuscated names (of equal length), and preserving all other text, including spaces. Output is written to stdout. The resulting file size is the same as the original. Diagnostic positions (line, column) on the obfuscated version of the file should correspond to positions in the original file.

Usage: verible-verilog-obfuscate [options] < original > output

  Flags:
    --decode (If true, when used with --load_map, apply the translation
      dictionary in reverse to de-obfuscate the source code, and do not
      obfuscate any unseen identifiers. There is no need to --save_map with this
      option, because no new substitutions are established.); default: false;
    --load_map (If provided, pre-load an existing translation dictionary
      (written by --save_map). This is useful for applying pre-existing
      transforms.); default: "";
    --preserve_builtin_functions (If true, preserve built-in function names such
      as sin(), ceil()..); default: true;
    --preserve_interface (If true, module name, port names and parameter names
      will be preserved. The translation map saved with --save_map will have
      identity mappings for these identifiers. When used with --load_map, the
      mapping explicitly specified in the map file will have higher priority
      than this option.); default: false;
    --save_map (If provided, save the translation to a dictionary for reuse in a
      future obfuscation with --load_map.); default: "";