Line 28... |
Line 28... |
use work.block_pkg.all;
|
use work.block_pkg.all;
|
use work.wb_block_pkg.all;
|
use work.wb_block_pkg.all;
|
|
|
package test_pkg is
|
package test_pkg is
|
|
|
--! Инициализация теста
|
--! Initialising
|
procedure test_init(
|
procedure test_init(
|
fname: in string --! имя файла отчёта
|
fname: in string --! имя файла отчёта
|
);
|
);
|
|
|
--! Завершение теста
|
--! Finished
|
procedure test_close;
|
procedure test_close;
|
|
|
|
|
|
|
--! Запуск DMA с неправильным дескриптором
|
--! Start DMA with incorrect descriptor
|
procedure test_dsc_incorrect (
|
procedure test_dsc_incorrect (
|
signal cmd: out bh_cmd; --! команда
|
signal cmd: out bh_cmd; --! команда
|
signal ret: in bh_ret --! ответ
|
signal ret: in bh_ret --! ответ
|
);
|
);
|
|
|
--! Запуск DMA на приём одного блока 4 кБ
|
--! Start DMA for one block 4 kB
|
procedure test_read_4kb (
|
procedure test_read_4kb (
|
signal cmd: out bh_cmd; --! команда
|
signal cmd: out bh_cmd; --! команда
|
signal ret: in bh_ret --! ответ
|
signal ret: in bh_ret --! ответ
|
);
|
);
|
|
|
|
|
--! Чтение 8 кБ из тетрады DIO_IN
|
--! Read block_test_check 8 kB
|
procedure test_adm_read_8kb (
|
procedure test_adm_read_8kb (
|
signal cmd: out bh_cmd; --! команда
|
signal cmd: out bh_cmd; --! команда
|
signal ret: in bh_ret --! ответ
|
signal ret: in bh_ret --! ответ
|
);
|
);
|
|
|
Line 104... |
Line 104... |
|
|
FILE log: text;
|
FILE log: text;
|
|
|
shared variable cnt_ok, cnt_error: integer;
|
shared variable cnt_ok, cnt_error: integer;
|
|
|
-- Инициализация теста
|
-- Initialising
|
procedure test_init(
|
procedure test_init(
|
fname: in string -- имя файла отчёта
|
fname: in string
|
) is
|
) is
|
begin
|
begin
|
|
|
file_open( log, fname, WRITE_MODE );
|
file_open( log, fname, WRITE_MODE );
|
cnt_ok:=0;
|
cnt_ok:=0;
|
cnt_error:=0;
|
cnt_error:=0;
|
|
|
end test_init;
|
end test_init;
|
|
|
-- Завершение теста
|
--! Finished
|
procedure test_close is
|
procedure test_close is
|
variable str : LINE; -- pointer to string
|
variable str : LINE; -- pointer to string
|
begin
|
begin
|
|
|
std.textio.write( str, string'(" " ));
|
std.textio.write( str, string'(" " ));
|
writeline( log, str );
|
writeline( log, str );
|
writeline( log, str );
|
writeline( log, str );
|
|
|
write( str, string'("Проверка завершена" ));
|
write( str, string'("check completed" ));
|
writeline( log, str );
|
writeline( log, str );
|
write( str, string'("Число успешных тестов: " ));
|
write( str, string'("the number of successful tests: " ));
|
write( str, cnt_ok );
|
write( str, cnt_ok );
|
writeline( log, str );
|
writeline( log, str );
|
write( str, string'("Число ошибочных тестов: " ));
|
write( str, string'("the number of false test: " ));
|
write( str, cnt_error );
|
write( str, cnt_error );
|
writeline( log, str );
|
writeline( log, str );
|
|
|
|
|
file_close( log );
|
file_close( log );
|
|
|
|
if( cnt_ok>0 and cnt_error=0 ) then
|
|
write( str, string'("TEST finished successfully") );
|
|
writeline( output, str );
|
|
else
|
|
write( str, string'("TEST finished with ERR") );
|
|
writeline( output, str );
|
|
|
|
end if;
|
|
|
end test_close;
|
end test_close;
|
|
|
|
|
|
|
--! Запуск DMA с неправильным дескриптором
|
--! Start DMA with incorrect descriptor
|
procedure test_dsc_incorrect (
|
procedure test_dsc_incorrect (
|
signal cmd: out bh_cmd; --! команда
|
signal cmd: out bh_cmd; --! команда
|
signal ret: in bh_ret --! ответ
|
signal ret: in bh_ret --! ответ
|
)
|
)
|
is
|
is
|
Line 156... |
Line 165... |
begin
|
begin
|
|
|
write( str, string'("TEST_DSC_INCORRECT" ));
|
write( str, string'("TEST_DSC_INCORRECT" ));
|
writeline( log, str );
|
writeline( log, str );
|
|
|
---- Формирование блока дескрипторов ---
|
---- Init block of descriptor ---
|
for ii in 0 to 127 loop
|
for ii in 0 to 127 loop
|
adr:= x"00100000";
|
adr:= x"00100000";
|
adr:=adr + ii*4;
|
adr:=adr + ii*4;
|
int_mem_write( cmd, ret, adr, x"00000000" );
|
int_mem_write( cmd, ret, adr, x"00000000" );
|
end loop;
|
end loop;
|
|
|
int_mem_write( cmd, ret, x"00100000", x"03020100" );
|
int_mem_write( cmd, ret, x"00100000", x"03020100" );
|
int_mem_write( cmd, ret, x"001001FC", x"FF00AA00" );
|
int_mem_write( cmd, ret, x"001001FC", x"FF00AA00" );
|
|
|
---- Программирование канала DMA ----
|
---- DMA program ----
|
block_write( cmd, ret, 4, 8, x"00000027" ); -- DMA_MODE
|
block_write( cmd, ret, 4, 8, x"00000027" ); -- DMA_MODE
|
block_write( cmd, ret, 4, 9, x"00000010" ); -- DMA_CTRL - RESET FIFO
|
block_write( cmd, ret, 4, 9, x"00000010" ); -- DMA_CTRL - RESET FIFO
|
|
|
block_write( cmd, ret, 4, 20, x"00100000" ); -- PCI_ADRL
|
block_write( cmd, ret, 4, 20, x"00100000" ); -- PCI_ADRL
|
block_write( cmd, ret, 4, 21, x"00100000" ); -- PCI_ADRH
|
block_write( cmd, ret, 4, 21, x"00100000" ); -- PCI_ADRH
|
block_write( cmd, ret, 4, 23, x"0000A400" ); -- LOCAL_ADR
|
block_write( cmd, ret, 4, 23, x"0000A400" ); -- LOCAL_ADR
|
|
|
block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
|
|
wait for 10 us;
|
wait for 20 us;
|
|
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
|
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
if( data( 15 downto 0 )=x"A021" ) then
|
if( data( 15 downto 0 )=x"A021" ) then
|
Line 196... |
Line 205... |
block_write( cmd, ret, 4, 9, x"00000000" ); -- DMA_CTRL - STOP
|
block_write( cmd, ret, 4, 9, x"00000000" ); -- DMA_CTRL - STOP
|
|
|
end test_dsc_incorrect;
|
end test_dsc_incorrect;
|
|
|
|
|
--! Запуск DMA приём одного блока 4 кБ
|
--! Start DMA for one block 4 kB
|
procedure test_read_4kb (
|
procedure test_read_4kb (
|
signal cmd: out bh_cmd; --! команда
|
signal cmd: out bh_cmd; --! команда
|
signal ret: in bh_ret --! ответ
|
signal ret: in bh_ret --! ответ
|
)
|
)
|
is
|
is
|
Line 215... |
Line 224... |
begin
|
begin
|
|
|
write( str, string'("TEST_READ_4KB" ));
|
write( str, string'("TEST_READ_4KB" ));
|
writeline( log, str );
|
writeline( log, str );
|
|
|
---- Формирование блока дескрипторов ---
|
---- Init block of descriptor ---
|
for ii in 0 to 127 loop
|
for ii in 0 to 127 loop
|
adr:= x"00100000";
|
adr:= x"00100000";
|
adr:=adr + ii*4;
|
adr:=adr + ii*4;
|
int_mem_write( cmd, ret, adr, x"00000000" );
|
int_mem_write( cmd, ret, adr, x"00000000" );
|
end loop;
|
end loop;
|
Line 229... |
Line 238... |
|
|
|
|
int_mem_write( cmd, ret, x"001001F8", x"00000000" );
|
int_mem_write( cmd, ret, x"001001F8", x"00000000" );
|
int_mem_write( cmd, ret, x"001001FC", x"762C4953" );
|
int_mem_write( cmd, ret, x"001001FC", x"762C4953" );
|
|
|
--wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"00000001" ); -- сброс
|
--wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"00000001" ); -- reset
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"00000000" );
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"00000000" );
|
wb_block_gen_read( cmd, ret, REG_BLOCK_ID, data ); -- чтение идентификатора блока
|
wb_block_gen_read( cmd, ret, REG_BLOCK_ID, data ); -- read block id
|
write( str, string'("BLOCK TEST_GEN ID: " ));
|
write( str, string'("BLOCK TEST_GEN ID: " ));
|
hwrite( str, data );
|
hwrite( str, data );
|
writeline( log, str );
|
writeline( log, str );
|
|
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_SIZE, x"00000001" ); -- размер блока - 1 килобайт
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_SIZE, x"00000001" ); -- size of block = 4 kByte
|
|
|
|
|
---- Программирование канала DMA ----
|
---- DMA program ----
|
block_write( cmd, ret, 4, 8, x"00000025" ); -- DMA_MODE - без запросов DMA
|
block_write( cmd, ret, 4, 8, x"00000025" ); -- DMA_MODE - without request
|
block_write( cmd, ret, 4, 9, x"00000010" ); -- DMA_CTRL - RESET FIFO
|
block_write( cmd, ret, 4, 9, x"00000010" ); -- DMA_CTRL - RESET FIFO
|
|
|
block_write( cmd, ret, 4, 20, x"00100000" ); -- PCI_ADRL
|
block_write( cmd, ret, 4, 20, x"00100000" ); -- PCI_ADRL
|
block_write( cmd, ret, 4, 21, x"00100000" ); -- PCI_ADRH
|
block_write( cmd, ret, 4, 21, x"00100000" ); -- PCI_ADRH
|
block_write( cmd, ret, 4, 23, TEST_GEN_WB_BURST_SLAVE ); -- LOCAL_ADR
|
block_write( cmd, ret, 4, 23, TEST_GEN_WB_BURST_SLAVE ); -- LOCAL_ADR
|
|
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"000006A0" ); -- запуск тестовой последовательности
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"000006A0" ); -- start test sequence
|
|
|
wait for 1 us;
|
wait for 1 us;
|
|
|
block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
|
|
Line 262... |
Line 271... |
|
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
|
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
if( data( 8 )='1' ) then
|
if( data( 8 )='1' ) then
|
write( str, string'(" - Дескриптор правильный" ));
|
write( str, string'(" - descriptor is correct" ));
|
else
|
else
|
write( str, string'(" - Ошибка чтения дескриптора" ));
|
write( str, string'(" - descriptor is incorrect" ));
|
error := error + 1;
|
error := error + 1;
|
end if;
|
end if;
|
|
|
writeline( log, str );
|
writeline( log, str );
|
|
|
if( error=0 ) then
|
if( error=0 ) then
|
|
|
---- Ожидание завершения DMA ----
|
---- Wait for DMA finished ----
|
dma_complete := 0;
|
dma_complete := 0;
|
for ii in 0 to 100 loop
|
for ii in 0 to 100 loop
|
|
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
if( data(5)='1' ) then
|
if( data(5)='1' ) then
|
write( str, string'(" - DMA завершён " ));
|
write( str, string'(" - DMA finished " ));
|
dma_complete := 1;
|
dma_complete := 1;
|
end if;
|
end if;
|
writeline( log, str );
|
writeline( log, str );
|
|
|
if( dma_complete=1 ) then
|
if( dma_complete=1 ) then
|
Line 295... |
Line 304... |
end loop;
|
end loop;
|
|
|
writeline( log, str );
|
writeline( log, str );
|
|
|
if( dma_complete=0 ) then
|
if( dma_complete=0 ) then
|
write( str, string'("Ошибка - DMA не завершён " ));
|
write( str, string'("Error - DMA not finished" ));
|
writeline( log, str );
|
writeline( log, str );
|
error:=error+1;
|
error:=error+1;
|
end if;
|
end if;
|
|
|
end if;
|
end if;
|
Line 314... |
Line 323... |
end loop;
|
end loop;
|
|
|
|
|
block_write( cmd, ret, 4, 9, x"00000000" ); -- DMA_CTRL - STOP
|
block_write( cmd, ret, 4, 9, x"00000000" ); -- DMA_CTRL - STOP
|
|
|
write( str, string'(" Прочитано: " ));
|
write( str, string'(" Read: " ));
|
writeline( log, str );
|
writeline( log, str );
|
|
|
for ii in 0 to 15 loop
|
for ii in 0 to 15 loop
|
|
|
adr:= x"00800000";
|
adr:= x"00800000";
|
Line 336... |
Line 345... |
-- block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
-- block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
|
|
|
|
writeline( log, str );
|
writeline( log, str );
|
if( error=0 ) then
|
if( error=0 ) then
|
write( str, string'(" Тест завершён успешно " ));
|
write( str, string'("Test is correct" ));
|
cnt_ok := cnt_ok + 1;
|
cnt_ok := cnt_ok + 1;
|
else
|
else
|
write( str, string'(" Тест не выполнен " ));
|
write( str, string'("Test have ERRORS" ));
|
cnt_error := cnt_error + 1;
|
cnt_error := cnt_error + 1;
|
end if;
|
end if;
|
writeline( log, str );
|
writeline( log, str );
|
writeline( log, str );
|
writeline( log, str );
|
|
|
end test_read_4kb;
|
end test_read_4kb;
|
|
|
|
|
--! Чтение 8 кБ из тетрады DIO_IN
|
--! Read block_test_check 8 kB
|
procedure test_adm_read_8kb (
|
procedure test_adm_read_8kb (
|
signal cmd: out bh_cmd; --! команда
|
signal cmd: out bh_cmd; --! команда
|
signal ret: in bh_ret --! ответ
|
signal ret: in bh_ret --! ответ
|
)
|
)
|
is
|
is
|
Line 367... |
Line 376... |
begin
|
begin
|
|
|
write( str, string'("TEST_ADM_READ_8KB" ));
|
write( str, string'("TEST_ADM_READ_8KB" ));
|
writeline( log, str );
|
writeline( log, str );
|
|
|
---- Формирование блока дескрипторов ---
|
---- Init block of descriptor ---
|
for ii in 0 to 127 loop
|
for ii in 0 to 127 loop
|
adr:= x"00100000";
|
adr:= x"00100000";
|
adr:=adr + ii*4;
|
adr:=adr + ii*4;
|
int_mem_write( cmd, ret, adr, x"00000000" );
|
int_mem_write( cmd, ret, adr, x"00000000" );
|
end loop;
|
end loop;
|
|
|
--- Дескриптор 0 ---
|
--- Desctriptor 0 ---
|
int_mem_write( cmd, ret, x"00100000", x"00008000" );
|
int_mem_write( cmd, ret, x"00100000", x"00008000" );
|
int_mem_write( cmd, ret, x"00100004", x"00000111" ); -- переход к следующему
|
int_mem_write( cmd, ret, x"00100004", x"00000111" ); -- jump to next descriptor
|
|
|
--- Дескриптор 1 ---
|
--- Desctriptor 1 ---
|
int_mem_write( cmd, ret, x"00100008", x"00008010" );
|
int_mem_write( cmd, ret, x"00100008", x"00008010" );
|
int_mem_write( cmd, ret, x"0010000C", x"00000110" ); -- остановка
|
int_mem_write( cmd, ret, x"0010000C", x"00000110" ); -- stop
|
|
|
|
|
int_mem_write( cmd, ret, x"001001F8", x"00000000" );
|
int_mem_write( cmd, ret, x"001001F8", x"00000000" );
|
int_mem_write( cmd, ret, x"001001FC", x"D6644953" );
|
int_mem_write( cmd, ret, x"001001FC", x"D6644953" );
|
|
|
Line 396... |
Line 405... |
block_write( cmd, ret, 4, 20, x"00100000" ); -- PCI_ADRL
|
block_write( cmd, ret, 4, 20, x"00100000" ); -- PCI_ADRL
|
block_write( cmd, ret, 4, 21, x"00100000" ); -- PCI_ADRH
|
block_write( cmd, ret, 4, 21, x"00100000" ); -- PCI_ADRH
|
block_write( cmd, ret, 4, 23, TEST_GEN_WB_BURST_SLAVE ); -- LOCAL_ADR
|
block_write( cmd, ret, 4, 23, TEST_GEN_WB_BURST_SLAVE ); -- LOCAL_ADR
|
|
|
|
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"00000001" ); -- сброс
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"00000001" ); -- reset
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"00000000" );
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"00000000" );
|
wb_block_gen_read( cmd, ret, REG_BLOCK_ID, data ); -- чтение идентификатора блока
|
wb_block_gen_read( cmd, ret, REG_BLOCK_ID, data ); -- read block id
|
write( str, string'("BLOCK TEST_GEN ID: " ));
|
write( str, string'("BLOCK TEST_GEN ID: " ));
|
hwrite( str, data );
|
hwrite( str, data );
|
writeline( log, str );
|
writeline( log, str );
|
|
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_SIZE, x"00000001" ); -- размер блока - 1 килобайт
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_SIZE, x"00000001" ); -- size of block = 4 kByte
|
|
|
block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
|
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"000006A0" ); -- запуск тестовой последовательности
|
wb_block_gen_write( cmd, ret, REG_TEST_GEN_CTRL, x"000006A0" ); -- start test sequence
|
|
|
wait for 20 us;
|
wait for 20 us;
|
|
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
|
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
if( data( 8 )='1' ) then
|
if( data( 8 )='1' ) then
|
write( str, string'(" - Дескриптор правильный" ));
|
write( str, string'(" - descriptor is correct" ));
|
else
|
else
|
write( str, string'(" - Ошибка чтения дескриптора" ));
|
write( str, string'(" - descriptor is incorrect" ));
|
error := error + 1;
|
error := error + 1;
|
end if;
|
end if;
|
|
|
writeline( log, str );
|
writeline( log, str );
|
|
|
Line 432... |
Line 441... |
for ii in 0 to 100 loop
|
for ii in 0 to 100 loop
|
|
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
block_read( cmd, ret, 4, 16, data ); -- STATUS
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
write( str, string'("STATUS: " )); hwrite( str, data( 15 downto 0 ) );
|
if( data(5)='1' ) then
|
if( data(5)='1' ) then
|
write( str, string'(" - DMA завершён " ));
|
write( str, string'(" - DMA finished " ));
|
dma_complete := 1;
|
dma_complete := 1;
|
|
|
block_write( cmd, ret, 4, 16#11#, x"00000010" ); -- FLAG_CLR - сброс EOT
|
block_write( cmd, ret, 4, 16#11#, x"00000010" ); -- FLAG_CLR - reset EOT
|
|
|
end if;
|
end if;
|
writeline( log, str );
|
writeline( log, str );
|
|
|
if( dma_complete=1 ) then
|
if( dma_complete=1 ) then
|
Line 451... |
Line 460... |
end loop;
|
end loop;
|
|
|
writeline( log, str );
|
writeline( log, str );
|
|
|
if( dma_complete=0 ) then
|
if( dma_complete=0 ) then
|
write( str, string'("Ошибка - DMA не завершён " ));
|
write( str, string'("Error - DMA not finished " ));
|
writeline( log, str );
|
writeline( log, str );
|
error:=error+1;
|
error:=error+1;
|
end if;
|
end if;
|
|
|
end if;
|
end if;
|
Line 470... |
Line 479... |
end loop;
|
end loop;
|
|
|
|
|
block_write( cmd, ret, 4, 9, x"00000000" ); -- DMA_CTRL - STOP
|
block_write( cmd, ret, 4, 9, x"00000000" ); -- DMA_CTRL - STOP
|
|
|
write( str, string'(" Блок 0 - прочитано: " ));
|
write( str, string'(" Block 0 - read: " ));
|
writeline( log, str );
|
writeline( log, str );
|
|
|
for ii in 0 to 15 loop
|
for ii in 0 to 15 loop
|
|
|
adr:= x"00800000";
|
adr:= x"00800000";
|
Line 486... |
Line 495... |
|
|
end loop;
|
end loop;
|
|
|
writeline( log, str );
|
writeline( log, str );
|
|
|
write( str, string'(" Блок 1 - прочитано: " ));
|
write( str, string'(" Block 1 - read: " ));
|
writeline( log, str );
|
writeline( log, str );
|
|
|
for ii in 0 to 15 loop
|
for ii in 0 to 15 loop
|
|
|
adr:= x"00801000";
|
adr:= x"00801000";
|
Line 508... |
Line 517... |
-- block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
-- block_write( cmd, ret, 4, 9, x"00000001" ); -- DMA_CTRL - START
|
|
|
|
|
writeline( log, str );
|
writeline( log, str );
|
if( error=0 ) then
|
if( error=0 ) then
|
write( str, string'(" Тест завершён успешно " ));
|
write( str, string'(" Test is correct " ));
|
cnt_ok := cnt_ok + 1;
|
cnt_ok := cnt_ok + 1;
|
else
|
else
|
write( str, string'(" Тест не выполнен " ));
|
write( str, string'(" Test have ERRORS " ));
|
cnt_error := cnt_error + 1;
|
cnt_error := cnt_error + 1;
|
end if;
|
end if;
|
writeline( log, str );
|
writeline( log, str );
|
writeline( log, str );
|
writeline( log, str );
|
|
|