Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

To verifiy verify the continous work will be correct, a Junit regressiontest was implemented.

In these test a model (SCL) and the corresponding ESO file is needed. The test will generate a VHDL component from the model and a testbench from the ESO file and test them against each other. This will be done for all models that are stored in the models repository (if it is complete completely programmed (smile) ).

What is needed

...

A very good thing is that the JUnit error trace contains the missed assertions. So it is exactly traceable where the failure raisesappeared.

Technical View

...

Now a little more technical (wink)

...

The ISE compiler is accessable through a shell command. To get the compiler to work, we must give the compiler a set of parameters.

A compiler command look looks like this:

Code Block
fuse -intstyle ise -incremental -o tb_test_isim_beh -prj test.prj

fuse: the ISE compiler
instyle: compile message level
incremental: build files incremental
o: object file (runnable exe)
prj: project file

The object file is the an executeable file which is needed for simulation.

The project file (prj) contains all vhdl that are nedded needed for the current compile process. In our test case these are all file that describe the model and the testbench file.

...

The ISE simulator is accessable through a shell command. To get the simulator to work, we must give the simulator a set of parameters.

A simulation command look looks like this:

Code Block
tb_test_isim_beh.exe -intstyle ise -tclbatch tes.cmd -log out.log -sdfnowarn

instyle: compile message level
tclbatch: a file which contains simulation information
log: specifies the log file
sdfnowarn: supress warnings

...

The project file contain all relevant vhd file which are needed for a succesfull compile. In this case the testbench file is also included becuase because it should be tested afterwards.

...

The abo.vhd corresponds to the SCL model and contians contains the component that behaves like the model. abo_tb.vhd is the generated testbench from core ESO file.

...

The command file contains simulation information. In these this case we only need only the time that the simulaion simulation must take.

Here an example of an a command file:

Code Block
run 1000 ns;
quit

...

To run everything automatically, a batch file a generate was generated, which executes the compiling and simulation process.

...

This file would not be explained in detail. In the first block the needed file are files will be assigned. In the second block the ISE Path is will be set. In the fourth third part the compile and simulation params parameter are set and in the last part the compilation and simulation is executed.

...

  • toplevelEntiy specifies the toplevel entity, which should be used, in our case the testbench entity.
  • sim_out.txt is the log file which will be used later, to fill failure information into the JUnit failure trace.
  • last line: this line takes the simulation log file and performs a string operation which that pipes only the errors to the sim_out.txt

...

And how does the simulation works? Here is a little controllflow control flow diagram which expresses what will be done which with each model that will be tested. 

Image Added

Some additional detailed information:

For every model which should be tested, a folder with its model name is created. The generated files will be saved to this folder. These folders won't be deleted after the test, they will be deleted befor a new test take place. So it is possible to look at these folders for more information if there are any errors.