A prototype of a compiler from VHDL to counter automata.
Developed by: Publications:$ python -V Python 2.3.4To analyze the generated counter automata, you can use:
$ wget http://www.fit.vutbr.cz/~smrcka/projects/vhd2ca/vhd2ca-1.0.tar.gzInstall: There is no installation, just unpack it and it works :-).
$ tar xzf vhd2ca-1.0.tar.gz $ cd vhd2ca-1.0/ $ ./vhd2ca.py ./vhd2ca.py:no input file specified for help: ./vhd2ca.py -h syntax: vhd2ca.py [options] file(s)
-b variable Mark variable as bad (go to the bad state if it equals to one).
-c v=value Make a constant from the variable (a comma separated list of
a value assignments, e.g., -c reset=1,wr=0,oe=1).
-x v:v1,v2 Create an exclude list for variable v. List is comma separated
list of variable names, e.g., -x reset:clk1,clk2 means that
reset can change only if both clk1 and clk2 are stable.
-i v=value The initial evaluation over state variables (a comma separated
of evaluations).
-t type The output type of the automaton (see -l for the list of
available types).
-l List available automaton output types and exit.
-o file Save the generated counter automaton to file.
--noca Do not generate a counter automaton (try with -v3).
-m size Set the maximum resident memory usage (in megabytes).
-p option1=value1,option2=value2
Output plugin options.
-v level Verbosity level:
0 be quiet (except errors and warnings),
1 progress and statistics (default),
2 level 1 + nonstate/unused variables,
3 print the intermediate model,
4+ more debug information.
Example:
$ ./vhd2ca.py component.vhdShow the list of variables, which initial evaluation is unknown.
$ ./vhd2ca.py -i v1=0,v2=1 --noca -v3 -b bad component.vhdShow the intermediate behavioural model of component.vhd + some statistics of the model.
$ ./vhd2ca.py -i v1=0,v2=1 -t armc -b bad component.vhdDoes the following:
x <= func(y,z);
x <= (0|1, 2|1, others=>0);