Patrol - A Design Scanner

Patrol is a global design scanner, which scans all design files in the database and build dependencies between all design units, and consequently generate ordered filelist of a specified design top.

Patrol is working on QUICK based directory structure, which is the default. But user can define his owner directory structure and searching strategy.

Quick Start

To get command help information:

$> qk patrol -h
usage: qk patrol [-h] [-f CMDFILE] [-i] [-g] [-c CONF] [-r] [-hda] [-o OUTPUT]
             [-d DIRECTORY] [-top TOP] [-tool TOOL] [-dump DUMP]
             [steps [steps ...]]

positional arguments:
  steps                 Steps to run

optional arguments:
  -h, --help            show this help message and exit
  -f CMDFILE, --cmdfile CMDFILE
                        Command file
  -i                    Interactive mode
  -g                    GUI mode
  -c CONF               Config file
  -r                    Scan recursively
  -hda                  HDA mode
  -o OUTPUT             Filename to save result
  -d DIRECTORY          Start directory
  -top TOP              Specify top unit
  -tool TOOL            EDA tool
  -dump DUMP            Dump search result

After entering QUICK development environment, run below command:

$> qk patrol
[INFO] Start of Parsing [Thu Aug 26 21:53:23 2021]
[INFO] Parsing Verilog files (608) ...
[INFO] Parsing SystemVerilog files (100) ...
[INFO] Parsing VHDL87 files (30) ...
[INFO] Parsing VHDL93 files (0) ...
[INFO] End of Parsing [Thu Aug 26 21:53:32 2021], elapsed time: 9 seconds.

This command will generate a result file: patrol.dep, which can be regarded as a database file, and user can extract information from it at a later time.

Interactive Mode

Interactive mode can be used after a database file is generated, like below:

$> qk patrol -i
Patrol - Design Patrol, a tool for design dependency

Patrol:> load patrol.dep
[INFO] Parsing dependency file: patrol.dep
[INFO] Parsing dependency file done.

Batch Mode

User can write a command file, and run it with batch mode:

$> qk patrol -f a.cmd

GUI Mode

Patrol supports GUI mode.