std_textio VHDL Помощ

B

Bartart

Guest
Здрасти!
function.

Може ли някой да ми помогне с моля пишете ()
функцията.Бих искала да се резултатите файла, проблемът е, че когато използвате тази функция, данните са написани на 1 линия, но бих искал да напиша резултата cascasde така

in_1 in_2 изложени
XYZ
x1 Y1 z1

Всъщност аз съм за търсене на нов ред (\ н) атрибут като в C

някаква идея?

Сега ползвам този sintax

Запис (TX_OUT, стринг "(" in_1 "& &" in_2 "& &"
Out "));
writeline (резултати, TX_OUT);
Запис (TX_OUT, in_1_var);
Запис (TX_OUT, in_2_var);
Запис (TX_OUT, out_var);
writeline (резултати, TX_OUT);TNX Барт

 
Не използвайте този библиотеки, тъй като те не са стандартни.

използване IEEE.std_logic_arith.all;
използване IEEE.std_logic_unsigned.all;

EzigguratБиблиотеката IEEE;
използване IEEE.std_logic_1164.all;
използване IEEE.std_logic_arith.all;
използване IEEE.std_logic_unsigned.all;
използване IEEE.numeric_std.all;
използване std.textio.all;
Библиотеката unisim;

ЛИЦЕ dct_idct_tb СЕ
родови (
log_file1: стринг: = "input_data.txt";
log_file2: стринг: = "output_data.txt"
);
END dct_idct_tb;

АРХИТЕКТУРА HTWTestBench НА dct_idct_tb СЕ

файл l_file1: текст открит write_mode е log_file1;
файл l_file2: текст открит write_mode е log_file2;константа SIMULATION_DURATION: Време: = 20 нас;

КОМПОНЕНТ dct_idct
Порт (
clk: в std_logic;
първи: в std_logic;
xin: в std_logic_vector (7 downto 0);
idct_2d: изложени std_logic_vector (7 downto 0)
);
END КОМПОНЕНТ;- Процедурата за отпечатване на съобщенията за stdout
ПРОЦЕДУРА принтирай (S: В STRING) ИП

Променлива л: линия;

BEGIN

Напишете (L, S);
writeline (продукция, л);

КРАЙ на печат;

- Принтирай низ към файл
Процедура print_file (файл out_file: текст;
new_string: в низ) е

променлива л: линия;

започвам

Запис (L, new_string);
writeline (out_file, л);

края print_file;- Превръща един std_logic_vector в шестнадесетичния канап.
функция hstr (SLV: std_logic_vector) връщане стринг е
променлива hexlen: цяло число;
променлива longslv: std_logic_vector (67 downto 0): = (другите => "0");
променлива шестнадесетичния: стринг (1 до 16);
променлива fourbit: std_logic_vector (3 downto 0);
започвам
hexlen: = (slv'left 1) / 4;
ако (slv'left 1) моден 4 / = 0 тогава
hexlen: = hexlen 1;
край, ако;
longslv (slv'left downto 0): = SLV;
Защото в (hexlen -1) downto 0 контур
fourbit: = longslv (((I * 4) 3) downto (I * 4));
случай fourbit е
при "0000" => шестнадесетичния (hexlen-I): = "0";
при "0001" => шестнадесетичния (hexlen-I): ='1 ';
при "0010" => шестнадесетичния (hexlen-I): = "2";
при "0011" => шестнадесетичния (hexlen-I): = "3";
при "0100" => шестнадесетичния (hexlen-I): = "4";
при "0101" => шестнадесетичния (hexlen-I): = "5";
при "0110" => шестнадесетичния (hexlen-I): = "6";
при "0111" => шестнадесетичния (hexlen-I): = "7";
при "1000" => шестнадесетичния (hexlen-I): = "8";
при "1001" => шестнадесетичния (hexlen-I): = "9";
при "1010" => шестнадесетичния (hexlen-I): = "А";
при "1011" => шестнадесетичния (hexlen-I): = "Б";
при "1100" => шестнадесетичния (hexlen-I): = "С";
при "1101" => шестнадесетичния (hexlen-I): = "D";
при "1110" => шестнадесетичния (hexlen-I): = "Е";
при "1111" => шестнадесетичния (hexlen-I): = 'F ";
когато "ZZZZ" => шестнадесетичния (hexlen-I): = "Z";
когато "UUUU" => шестнадесетичния (hexlen-I): = "U";
когато "XXXX" => шестнадесетичния (hexlen-I): = 'X ";
когато другите => шестнадесетичния (hexlen-I): = '';
края случай;
края електрическа верига;
върнете шестнадесетичния (1 до hexlen);
края hstr;SIGNAL clk_source: std_logic;
SIGNAL clk_en: std_logic;
SIGNAL rst_source: std_logic;
SIGNAL xin_source: std_logic_vector (7 downto 0);
SIGNAL idct_2d_source: std_logic_vector (7 downto 0);BEGIN
UUT: dct_idct
ПРИСТАНИЩЕ НА САЙТА (clk => clk_source,
първи => rst_source,
xin => xin_source,
idct_2d => idct_2d_source);clock_process:
Процесзапочвам
контур
clk_source <= "0";
изчакайте 5 NS;
clk_source <= clk_en;
изчакайте 5 NS;
края електрическа верига;
изчакайте;
края процес;reset_process:
Процесзапочвам
rst_source <= "1", "0" след 20 НС;
изчакайте;
края процес;data_process:
Процесзапочвам

xin_source <= X "28", X "21" след 25 NS,
X "21" след 35 NS, X "16" след 45 НС,
X "1A" след 55 NS, X "28" след 65 НС,
X "24", след 75 NS, X "1A" след 85 НС,
X "2B" след 95 NS, X "1A" след 105 NS,
X "21" след 115 NS, X "16" след 125 NS,
X "1D" след 135 NS, X "2B" след 145 NS,
X "16" след 155 NS, X "24" след 165 NS,
X "2B" след 175 NS, X "28" след 185 NS,
X "13" след 195 NS, X "24" след 205 NS,
X "24" след 215 NS, X "21" след 225 NS,
X "0F" след 235 NS, X "1A" след 245 NS,
X "24" след 255 NS, X "2B" след 265 NS,
X "1A" след 275 NS, X "21" след 285 NS,
X "1D" след 295 NS, X "1D" след 305 NS,
X "13" след 315 NS, X "04" след 325 NS,
X "21" след 335 NS, X "21" след 345 NS,
X "1D" след 355 NS, X "1A" след 365 NS,
X "0F" след 375 NS, X "21" след 385 NS,
X "1A" след 395 NS, X "0A" след 405 NS,
X "24" след 415 NS, X "21" след 425 NS,
X "21" след 435 NS, X "1A" след 445 NS,
X "16" след 455 NS, X "1D" след 465 NS,
X "1A" след 475 NS, X "0C" след 485 NS,
X "21" след 495 NS, X "28" след 505 NS,
X "1D" след 515 NS, X "1A" след 525 NS,
X "21" след 535 NS, X "0C" след 545 NS,
X "0C" след 555 NS, X "04" след 565 NS,
X "1A" след 575 NS, X "21" след 585 NS,
X "1D" след 595 NS, X "16" след 605 NS,
X "0C" след 615 NS, X "04" след 625 NS,
X "08" след 635 NS, X "00" след 645 NS,
X "28" след 655 NS, X "21" след 665 NS,
X "21" след 675 NS, X "16" след 685 NS,
X "1A" след 695 NS, X "28" след 705 NS,
X "24" след 715 NS, X "1A" след 725 NS,
X "2B" след 735 NS, X "1A" след 745 NS,
X "21" след 755 NS, X "16" след 765 NS,
X "1D" след 775 NS, X "2B" след 785 NS,
X "16" след 795 NS, X "24" след 805 NS,
X "2B" след 815 NS, X "28" след 825 NS,
X "13" след 835 NS, X "24" след 845 NS,
X "24" след 855 NS, X "21" след 865 NS,
X "0F" след 875 NS, X "1A" след 885 NS,
X "24" след 895 NS, X "2B" след 905 NS,
X "1A" след 915 NS, X "21" след 925 NS,
X "1D" след 935 NS, X "1D" след 945 NS,
X "13" след 955 NS, X "04" след 965 NS,
X "21" след 975 NS, X "21" след 985 NS,
X "1D" след 995 NS, X "1A" след 1005 NS,
X "0F" след 1015 NS, X "21" след 1025 NS,
X "1A" след 1035 NS, X "04", след 1045 NS,
X "24", след 1055 NS, X "21" след 1065 NS,
X "21" след 1075 NS, X "1A" след 1085 NS,
X "16", след 1095 NS, X "1D" след 1105 NS,
X "1A" след 1115 NS, X "0C" след 1125 NS,
X "21" след 1135 NS, X "28" след 1145 NS,
X "1D" след 1155 NS, X "1A" след 1165 NS,
X "21" след 1175 NS, X "0C" след 1185 NS,
X "0C" след 1195 NS, X "04", след 1205 NS,
X "1A" след 1215 NS, X "21" след 1225 NS,
X "1D" след 1235 NS, X "16" след 1245 NS,
X "0c" след 1255 NS, X "04", след 1265 NS,
X "08" след 1275 NS, X "00" след 1285 NS,
X "28" след 1295 NS, X "21" след 1305 NS,
X "21" след 1315 NS, X "16" след 1325 NS,
X "1A" след 1335 NS, X "28" след 1345 NS,
X "24", след 1355 NS, X "1A" след 1365 NS,

X "2B" след 1375 NS, X "1A" след 1385 NS,
X "21" след 1395 NS, X "16" след 1405 NS,
X "1D" след 1415 NS, X "2B" след 1425 NS,
X "16", след 1435 NS, X "24" след 1445 NS,
X "2B" след 1455 NS, X "28" след 1465 NS,
X "13" след 1475 NS, X "24" след 1485 NS,
X "24", след 1495 NS, X "21" след 1505 NS,
X "0F" след 1515 NS, X "1A" след 1525 NS,
X "24", след 1535 NS, X "2B" след 1545 NS,
X "1A" след 1555 NS, X "21" след 1565 NS,
X "1D" след 1575 NS, X "1D" след 1585 NS,
X "13" след 1595 NS, X "04", след 1605 NS,
X "21" след 1615 NS, X "21" след 1625 NS,
X "1D" след 1635 NS, X "1A" след 1645 NS,
X "0F" след 1655 NS, X "21" след 1665 NS,
X "1A" след 1675 NS, X "04", след 1685 NS,
X "24", след 1695 NS, X "21" след 1705 NS,
X "21" след 1715 NS, X "1A" след 1725 NS,
X "16", след 1735 NS, X "1D" след 1745 NS,
X "1A" след 1755 NS, X "0C" след 1765 NS,
X "21" след 1775 NS, X "28" след 1785 NS,
X "1D" след 1795 NS, X "1A" след 1805 NS,
X "21" след 1815 NS, X "0C" след 1825 NS,
X "0C" след 1835 NS, X "04", след 1845 NS,
X "1A" след 1855 NS, X "21" след 1865 NS,
X "1D" след 1875 NS, X "16" след 1885 NS,
X "0C" след 1895 NS, X "04", след 1905 NS,
X "08" след 1915 NS, X "00" след 1925 NS,
X "28" след 1935 NS, X "21" след 1945 NS,
X "21" след 1955 NS, X "16" след 1965 NS,
X "1A" след 1975 NS, X "28" след 1985 NS,
X "24", след 1995 NS, X "1A" след 2005 NS,
X "2B" след 2015 NS, X "1A" след 2025 NS,
X "21" след 2035 NS, X "16" след 2045 NS,
X "1D" след 2055 NS, X "2B" след 2065 NS,
X "16", след 2075 NS, X "24" след 2085 NS,
X "2B" след 2095 NS, X "28" след 2105 NS,
X "13" след 2115 NS, X "24" след 2125 NS,
X "24", след 2135 NS, X "21" след 2145 NS,
X "0F" след 2155 NS, X "1A" след 2165 NS,
X "24", след 2175 NS, X "2B" след 2185 NS,
X "1A" след 2195 NS, X "21" след 2205 NS,
X "1D" след 2215 NS, X "1D" след 2225 NS,
X "13" след 2235 NS, X "04", след 2245 NS,
X "21" след 2255 NS, X "21" след 2265 NS,
X "1D" след 2275 NS, X "1A" след 2285 NS,
X "0F" след 2295 NS, X "21" след 2305 NS,
X "1A" след 2315 NS, X "04", след 2325 NS,
X "24", след 2335 NS, X "21" след 2345 NS,
X "21" след 2355 NS, X "1A" след 2365 NS,
X "16", след 2375 NS, X "1D" след 2385 NS,
X "1A" след 2395 NS, X "0C" след 2405 NS,
X "21" след 2415 NS, X "28" след 2425 NS,
X "1D" след 2435 NS, X "1A" след 2445 NS,
X "21" след 2455 NS, X "0C" след 2465 NS,
X "0C" след 2475 NS, X "04", след 2485 NS,
X "1A" след 2495 NS, X "21" след 2505 NS,
X "1D" след 2515 NS, X "16" след 2525 NS,
X "0C" след 2535 NS, X "04", след 2545 NS,
X "08" след 2555 NS, X "00" след 2565 NS;

изчакайте;
края процес;writing_input_data:
Процес
започвам
изчакайте 20 НС;
контур
ако xin_source / = X "00", тогава

print_file (l_file1, hstr (xin_source));
край, ако;
изчакайте 10 НС;
края електрическа верига;
изчакайте;
края процес;

writing_output_data:
Процес
започвам

чакаме 1885 NS;

контур

ако idct_2d_source / = X "00", тогава
print_file (l_file2, hstr (idct_2d_source));
край, ако;
изчакайте 10 НС;
края електрическа верига;

изчакайте;

края процес;процес
започвам

-
Даде възможност часовници
clk_en <='1 ';
чакаме SIMULATION_DURATION;

- Изключете часовници
clk_en <= "0";

- Доклад на края на симулация
принтирай ( "Симулация пълна ...");
принтирай ( "");

-
Спри симулация
отстояват фалшиви
Доклад "Симулация Комплектни (Това не е провал.)"
тежест недостатъчност;
изчакайте;

края процес;END HTWTestBench;

 

Welcome to EDABoard.com

Sponsor

Back
Top