[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
These are the older projects.
Note: Vcdparser subproject is not functional any more !!!
5.1 Vcdparser 5.2 Vparser
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
5.1.1 Vcdparser introduction 5.1.2 Vcdparser system requirements 5.1.3 Configuration file 5.1.4 Client-server running model 5.1.5 Vcdparser running flow 5.1.6 User commands manual
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Vcdparser is a subproject of VTracer package. This subproject is based upon VCD (dump) format parser.
Sample design integrated into the Testbench is risc8 (free RISC core, currently not available (?)).
VCD is a standard signal trace format for HDL simulations. Often, there is a need to compare behavior of 2 different models which are supposed to work similarly. For example, when a Verilog core design is modified, there is a need to verify that output pins of both cores, the original and the modified, if supplied the same stimulus, behave exactly the same. But the usual problem is that the testbenches for each model are different, and the behavors are slightly different, for example, shifted by a constant value.
Vcdparser includes a set of configurable Perl scripts which performs comparison between pairs of signals from 2 different VCD files. The package includes a sample Tesbench demonstrating the integration of the tool.
The Vcdparser can be used for many different Testbench-related tasks. Here are some examples for what can be done with Vcdparser:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The configuration file (`archive/vcdparser/simenv/cfg/VTracer_flow.cfg') controls the behavior of
the Vcdparser package. This file contains a set of proprietry instrunctions
(ex., exit
).
Various types of comments can be used in the file (--
, #
, //
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
When Vcdparser tool runs, there are 2 interconnected processes running simultaneously,
the server and the client. Client/server communication is based upon TCP socket
inter-process communication (by default, socket number 8081 is used).
The server script is `archive/vcdparser/bin/user_frontend.tcl' script,
the client is `archive/vcdparser/bin/run_proj.pl' script.
The user runs the server script; the client is launched automatically by the server.
The user communicates with the Vcdparser via server only.
Vcdparser commands, explained below, can be executed either through shell-like interactive interface,
or by editing the configuration file (`archive/vcdparser/simenv/cfg/Vtracer_flow.cfg') or by running it
using run_cfg <cfg_filename>
instruction.
exit
instruction can be used anytime during the flow. This instruction
terminates the flow.
The configuration can be freely modified, by remarking certain instructions / sections, thus creating an flow optimized for performing certain tasks.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
cd archive/vcdparser
../bin/user_frontend.tcl
run_cfg ../simenv/cfg/run_sim.cfg
run_cfg ../simenv/cfg/print_info.cfg
run_cfg ../simenv/cfg/VTracer_flow.cfg
This flow compares signals from 2 different VCD files (`risc8_orig' and `risc8_modif' simulations).
run_cfg ../simenv/cfg/stim_gen.cfg
cp stim_data.v archive/vcdparser/simenv/tb/stim_data_ref.v
cp chip_signals.v archive/vcdparser/simenv/tb/chip_signals.v
run_cfg ../simenv/cfg/run_sim.cfg
run_cfg ../simenv/cfg/VTracer_flow.cfg
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Here is a manual of user commands, in alphabetical order. These commands can be used during the flow, through the server-client interface.
debug_mode <mode>
exit
fname_vcd <filename_vcd_0> <filename_vcd_1>
get_sig_trace
license
mode_shift <time_0> <time_1>
print_full_sig_names
print_hier
print_sig_data
print_sig_trace
run_cfg <cfg_filename>
set_cur_hier <hierarchy_name>
set_cur_sig_name <signal_name>
set_design_name <design_name>
sig_cmp_pair <signal_0> <signal_1>
sig_ptr_gen <file_name> <module_name>
stim_gen <stim_file_name> <stim_module_name> <reference_module_name>
time_cmp_start <time>
time_jitter <time>
timeout <time>
timescale_adjust <time_parameter>
vlog_compile
vlog_sim
vcd_read
view_dump_virsim
$Id: vcdparser_spec.texi,v 1.4 2004/12/12 12:05:46 dannyn Exp $ |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
5.2.1 Vparser introduction 5.2.2 Vparser system requirements 5.2.3 Vparser running flow
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Vparser is based on a structural Verilog parser (netlist). The parser itself is written in Perl.
Sample design integrated into the Testbench is risc8 (free RISC core, currently not available (?)).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Additional tools which should be installed:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
cd archive/vparser
../bin/vlog_parse.pl -build
../bin/vlog_parse.pl -load
$Id: vparser_spec.texi,v 1.3 2004/12/03 16:11:02 danny_n Exp $ |
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |