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);