Getting Started

Before stepping into the QUICK environemnt, you need to make the license service program running up. This program has to be run with root.

$> sudo bin/licserver -D

To make this service program automatically running up every time when the license server is booted, copy the file: conf/qklic.service to /lib/systemd/system directory. Before the copy, modify the content of the service file, replace the variable $QKHOME with the real installation path. Then run below commands:

$> sudo cp conf/qklic.service /lib/systemd/system/
$> sudo systemctl enable  qklic.service
$> sudo systemctl start   qklic.service

Attention

You have to restart license service manually every time when new license serial string is provided by the Vendor.

$> cp license.ini conf/license.ini
$> sudo systemctl restart qklic.service

Command Overview

There will be many commands in QUICK, to make it easy for user to remember, most of the commands will be sub-commands of qk, which is the main command entry. To see all the available sub-commands, run below command:

$> qk -h
usage: qk [-h] [-u CUSTOM] [-c CONF] [project] [subproject] [view]  ...

positional arguments:
  project     Project name
  subproject  Subproject name
  view        View name

optional arguments:
  -h, --help  show this help message and exit
  -u CUSTOM   User customized path to checkout
  -c CONF     Configuration directory

subcommands:

    add_unit  Application to create project unit
    config    Application of project configuration
    init      Application to initialize a empty VOB
    linkfab   Application of Design Integration
    memdata   Application of memory data processing
    patrol    Application of design source overview
    pinfab    Application of MUX tree
    regfab    Application of Register Template

To get the help information of a sub-command, run:

$> qk linkfab -h
usage: qk linkfab [-h] [-f CMDFILE] [-i] [-g] [-s] [-y] [-c] [-x [DIFF]] [-d DIRECTORY] [-o OUTFILE] [-l LOGFILE] [-t TYPE]
               [infile [infile ...]]

positional arguments:
  infile                Input design file

optional arguments:
  -h, --help            show this help message and exit
  -f CMDFILE, --cmdfile CMDFILE
                        Command file
  -i, --interactive     Batch mode
  -g, --gui             GUI mode
  -s, --summary         Show summary
  -y, --hierarchy       Show hierarchy
  -c, --check           Check only
  -x [DIFF], --diff [DIFF]
                        Do compare
  -d DIRECTORY, --directory DIRECTORY
                        Generation directory
  -o OUTFILE, --outfile OUTFILE
                        Output design file
  -l LOGFILE, --logfile LOGFILE
                        Log file
  -t TYPE, --type TYPE  Design file type

For seperate tools, they are designed in similar styles; For example, they all have GUI mode and interactive mode and batch mode, they have same switches for these working mode.

To enter GUI mode:

$> qk <tool-name> -g

To enter interative mode:

$> qk <tool-name> -i

To run with batch mode:

$> qk <tool-name> -f <filename>

Template Overview

QUICK uses template to generate customized text file and final design source code. User can choose his familiar template engine:

  • Mako template

  • Jinja2 template

There are some builtin templates, they are located: templates/mako/<tool-name>/.

Normally tool will use switch -t template to specify a template, the template name can be the filename with or without extension .mako, or just full path of filename. And template is searched in below order:

  1. Current directory

  2. Builtin tool template location

So when a user is developing a template, he can put the template file in current directory, and after the development is done, he can copy it to the builtin location, so that everyone can use it easily.