J
Jonathan Ross
I'm trying to implement an automated testing hardness for a VHDL
project. We compile and link with vhpcomp and fuse respectively.
1. The program generated will only run under xtclsh - is there any way
to get it to run in bash?
2. The following code generates the following output:
PROCESS
BEGIN
REPORT "Hello World!" SEVERITY NOTE;
ASSERT 1 = 1 REPORT "1 = 1" SEVERITY NOTE;
ASSERT 1 = 1 REPORT "1 = 1" SEVERITY WARNING;
ASSERT 1 = 1 REPORT "1 = 1" SEVERITY ERROR;
ASSERT 1 = 1 REPORT "1 = 1" SEVERITY FAILURE;
ASSERT 1 = 2 REPORT "1 = 2" SEVERITY NOTE;
ASSERT 1 = 2 REPORT "1 = 2" SEVERITY WARNING;
ASSERT 1 = 2 REPORT "1 = 2" SEVERITY ERROR;
ASSERT 1 = 2 REPORT "1 = 2" SEVERITY FAILURE;
WAIT;
END PROCESS;
ISim> run
Simulator is doing circuit initialization process.
at 0 ps: Note: Hello World! (/vhdlunit/).
at 0 ps: Note: 1 = 2 (/vhdlunit/).
at 0 ps, Instance /vhdlunit/ : Warning: 1 = 2
at 0 ps: Error: 1 = 2
** Failure:1 = 2
User(VHDL) Code Called Simulation Stop
In process VHDLUNIT.vhd:10
INFO: Simulator is stopped.
ISim>
The program doesn't exit even on failure, so there's no error code for
my harness to use. Also, besides reporting or asserting with severity
failure, I can't figure out how to get it to stop. How to I control my
return code?
3. GHDL seems better designed for this use, but we've seen
discrepancies between iSim and XST so we're worried they'd be even
worse with a tool not made by Xilinx. To be fair though, most of the
issues have been iSim issues more than they've been XST issues, so if
GHDL works well it might work better than XST.
Thanks.
project. We compile and link with vhpcomp and fuse respectively.
1. The program generated will only run under xtclsh - is there any way
to get it to run in bash?
2. The following code generates the following output:
PROCESS
BEGIN
REPORT "Hello World!" SEVERITY NOTE;
ASSERT 1 = 1 REPORT "1 = 1" SEVERITY NOTE;
ASSERT 1 = 1 REPORT "1 = 1" SEVERITY WARNING;
ASSERT 1 = 1 REPORT "1 = 1" SEVERITY ERROR;
ASSERT 1 = 1 REPORT "1 = 1" SEVERITY FAILURE;
ASSERT 1 = 2 REPORT "1 = 2" SEVERITY NOTE;
ASSERT 1 = 2 REPORT "1 = 2" SEVERITY WARNING;
ASSERT 1 = 2 REPORT "1 = 2" SEVERITY ERROR;
ASSERT 1 = 2 REPORT "1 = 2" SEVERITY FAILURE;
WAIT;
END PROCESS;
ISim> run
Simulator is doing circuit initialization process.
at 0 ps: Note: Hello World! (/vhdlunit/).
at 0 ps: Note: 1 = 2 (/vhdlunit/).
at 0 ps, Instance /vhdlunit/ : Warning: 1 = 2
at 0 ps: Error: 1 = 2
** Failure:1 = 2
User(VHDL) Code Called Simulation Stop
In process VHDLUNIT.vhd:10
INFO: Simulator is stopped.
ISim>
The program doesn't exit even on failure, so there's no error code for
my harness to use. Also, besides reporting or asserting with severity
failure, I can't figure out how to get it to stop. How to I control my
return code?
3. GHDL seems better designed for this use, but we've seen
discrepancies between iSim and XST so we're worried they'd be even
worse with a tool not made by Xilinx. To be fair though, most of the
issues have been iSim issues more than they've been XST issues, so if
GHDL works well it might work better than XST.
Thanks.