реклама на сайте
подробности

 
 
> Test-benchи на большие объемы входных данных, Тест вектора из текстовых файлов ?
Саша Z
сообщение Mar 4 2008, 15:12
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Интересен как "ученые мужи" smile.gif пишущие на VHDLе подходят к вопросу тестирования дизайна когда нужно гнать большие объемы входных данных через test-bench.
В более приземленом плане - есть дизайн в области видео, нужно его прогонять объемами входных данных хотя-бы на несколько кадров что е реалиях будет немалое кол-во данных (скажем сигналы синхронизации, данные и т.д. на несколько кадров, в каждом кадре около 300 строк, в каждой строке - около 1600 побайтовых единиц инфы (т.е. около 1600 клоков).
Т.е. на кадр входных данных получается более 400 000 тест векторов.

Я так понимаю что в таком случае наверно работают с текстовыми файлами векторов которые читаются в test bench, так ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
CaPpuCcino
сообщение Mar 4 2008, 15:47
Сообщение #2


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



http://electronix.ru/forum/index.php?showtopic=30867&hl=


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
tocha
сообщение Mar 4 2008, 18:54
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 92
Регистрация: 16-05-05
Из: Kiev
Пользователь №: 5 080



Цитата(Саша Z @ Mar 4 2008, 17:12) *
Интересен как "ученые мужи" smile.gif пишущие на VHDLе подходят к вопросу тестирования дизайна когда нужно гнать большие объемы входных данных через test-bench.
В более приземленом плане - есть дизайн в области видео, нужно его прогонять объемами входных данных хотя-бы на несколько кадров что е реалиях будет немалое кол-во данных (скажем сигналы синхронизации, данные и т.д. на несколько кадров, в каждом кадре около 300 строк, в каждой строке - около 1600 побайтовых единиц инфы (т.е. около 1600 клоков).
Т.е. на кадр входных данных получается более 400 000 тест векторов.

Я так понимаю что в таком случае наверно работают с текстовыми файлами векторов которые читаются в test bench, так ?


Именно так.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Mar 5 2008, 08:25
Сообщение #4


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Пример VHDL испытательного стенда (VHDL Test Bench)
VHDL испытательный стенд - программа VHDL, которая описывает ввод моделирования, использующего процедуры языка
стандартного VHDL. Данный пример VHDL испытательного стенда позволяет читать из текстового файла и записывать
результаты моделирования в текстовый файл, находящиеся в папке проекта. Код рабочий!!! Файлы для записи и чтения должны находится в папке проекта
Извините код правильно не вставил - получилось и к тому же спешил
[code]
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
use ieee.std_logic_arith.all;
use std.textio.all;
LIBRARY UNISIM;
USE UNISIM.Vcomponents.ALL;
ENTITY shema_shema_sch_tb IS
END shema_shema_sch_tb;
ARCHITECTURE behavioral OF shema_shema_sch_tb IS
COMPONENT shema
PORT( Clock : IN STD_LOGIC;
DOOR : IN STD_LOGIC_VECTOR (11 DOWNTO 0);
I : OUT STD_LOGIC_VECTOR (9 DOWNTO 0);
J : OUT STD_LOGIC_VECTOR (9 DOWNTO 0);
PIXEL : OUT STD_LOGIC_VECTOR (11 DOWNTO 0);
Reset : IN STD_LOGIC;
W : OUT STD_LOGIC;
constt : IN STD_LOGIC_VECTOR (11 DOWNTO 0);
xx : OUT STD_LOGIC_VECTOR (2 DOWNTO 0);
c1 : OUT STD_LOGIC;
c2 : OUT STD_LOGIC;
c3 : OUT STD_LOGIC;
c4 : OUT STD_LOGIC;
z1 : OUT STD_LOGIC;
z2 : OUT STD_LOGIC;
z3 : OUT STD_LOGIC;
z4 : OUT STD_LOGIC;
ih : OUT STD_LOGIC;
jh : OUT STD_LOGIC;
jl : OUT STD_LOGIC;
ssjl : OUT STD_LOGIC_VECTOR (9 DOWNTO 0);
cchk : OUT STD_LOGIC);
END COMPONENT;
SIGNAL Clock : STD_LOGIC;
SIGNAL DOOR : STD_LOGIC_VECTOR (11 DOWNTO 0);
SIGNAL PIXEL : STD_LOGIC_VECTOR (11 DOWNTO 0);
SIGNAL Reset : STD_LOGIC;
SIGNAL constt : STD_LOGIC_VECTOR (11 DOWNTO 0);
SIGNAL z1 : STD_LOGIC;
SIGNAL z2 : STD_LOGIC;
SIGNAL z3 : STD_LOGIC;
SIGNAL z4 : STD_LOGIC;
SIGNAL I : STD_LOGIC_VECTOR (9 DOWNTO 0);
SIGNAL J : STD_LOGIC_VECTOR (9 DOWNTO 0);
SIGNAL xx : STD_LOGIC_VECTOR (2 DOWNTO 0);
SIGNAL c1 : STD_LOGIC;
SIGNAL c2 : STD_LOGIC;
SIGNAL c3 : STD_LOGIC;
SIGNAL c4 : STD_LOGIC;
SIGNAL w : STD_LOGIC;
SIGNAL ih : STD_LOGIC;
SIGNAL jh : STD_LOGIC;
SIGNAL jl : STD_LOGIC;
SIGNAL ssjl : STD_LOGIC_VECTOR (9 DOWNTO 0);
SIGNAL cchk : STD_LOGIC;
BEGIN
UUT: shema PORT MAP(
Clock => Clock,
DOOR => DOOR,
PIXEL => PIXEL,
Reset => Reset,
constt => constt,
z1 => z1,
z2 => z2,
z3 => z3,
z4 => z4,
I => I,
J => J,
w => w,
xx => xx,
c1 => c1,
c2 => c2,
c3 => c3,
c4 => c4,
ih => ih,
jh => jh,
jl => jl,
ssjl =>ssjl,
cchk => cchk );

read_from_file: process(Clock)
variable indata_line: line;
variable indata: integer;
file input_data_file: text open read_mode is "DATA.txt";
begin
if rising_edge(Clock) then
readline(input_data_file,indata_line);
read(indata_line,indata);
DOOR <= conv_std_logic_vector(indata,12);
if endfile(input_data_file) then
report "end of file -- looping back to start of file";
file_close(input_data_file);
file_open(input_data_file,"DATA.txt");
end if;
end if;
end process;

write_to_file: process(Clock)
variable outdata_line: line;
variable outdata: integer :=0;
file output_data_file: text open write_mode is "vhdl_output.txt";
begin
if rising_edge(Clock) then
outdata :=
1*CONV_INTEGER(To_X01Z(z1))+2*CONV_INTEGER(To_X01Z(z2))+4*CONV_INTEGER(To_X01Z(z
3))+8
*CONV_INTEGER(To_X01Z(z4));
write(outdata_line,outdata);
writeline(output_data_file,outdata_line);
end if;
end process;
clock_gen: process
begin
Clock <= '0';
wait for 50 ns;
Clock <= '1';
wait for 50 ns;
end process;
reset_gen: process
begin
Reset <= '0';
wait for 10 ns;
Reset <= '1';
wait;
end process;
const_gen: process
begin
constt <= "000000000000";
wait for 10 ns;
constt <= "000000010100";
wait;
end process;
END;
[\code]

Сообщение отредактировал ZMaverickZ - Mar 5 2008, 08:30


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Mar 5 2008, 09:36
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Саша Z @ Mar 4 2008, 18:12) *
Интересен как "ученые мужи" smile.gif пишущие на VHDLе подходят к вопросу тестирования дизайна когда нужно гнать большие объемы входных данных через test-bench.
В более приземленом плане - есть дизайн в области видео, нужно его прогонять объемами входных данных хотя-бы на несколько кадров что е реалиях будет немалое кол-во данных

Если в общем случае (какие-то не поддающиеся формализации данные) - то да, из файла. В более приземленном плане - простым циклом генерируется одеяло из цветных квадратов и синхронизация.
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Mar 5 2008, 15:13
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Понял, всем спасибо.
По началу, буду генерировать синхронизацию циклами в benchе, для данных уже буду ломать голову файлом...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 00:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01426 секунд с 7
ELECTRONIX ©2004-2016