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

 
 
 
Reply to this topicStart new topic
> Файловый ввод-вывод на VHDL, относительные пути
quato_a
сообщение Feb 1 2017, 08:17
Сообщение #1


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

Группа: Свой
Сообщений: 95
Регистрация: 27-07-11
Из: Зеленоград
Пользователь №: 66 439



Доброго времени суток!

При отладке FPGA-проекта и отдельных блоков пользуюсь чтением заготовленных/записанных ранее массивов векторов из файлов.
Возникает проблема с относительными путями к файлам. Сейчас приходится прописывать абсолютные пути к файлам.

Например:

Код
USE std.textio.all;

...

file hopp_sync_f: text open read_mode is "d:\zynq-sdk\shared\vivado\ip_repo\modem_fhss_2.0\src\modemFHSS\others\sim_data\hopp\ideal\hopp_sync.dat";
file hopp_re_f: text open read_mode is "d:\zynq-sdk\shared\vivado\ip_repo\modem_fhss_2.0\src\modemFHSS\others\sim_data\hopp\ideal\hopp_re.dat";
file hopp_im_f: text open read_mode is "d:\zynq-sdk\shared\vivado\ip_repo\modem_fhss_2.0\src\modemFHSS\others\sim_data\hopp\ideal\hopp_im.dat";
file hopp_freq_f: text open read_mode is "d:\zynq-sdk\shared\vivado\ip_repo\modem_fhss_2.0\src\modemFHSS\others\sim_data\hopp\ideal\hopp_freq.dat";

...

                when ADDR_FHSS_HOPP_C =>
                    if (not endfile(hopp_sync_f)) then
                        readline(hopp_sync_f, sync_l);
                        readline(hopp_re_f, re_l);
                        readline(hopp_im_f, im_l);
                        readline(hopp_freq_f, oth_l);
                        
                        read(sync_l, sync_i);
                        read(re_l, re_i);
                        read(im_l, im_i);
                        read(oth_l, oth_i);
                        
                        buf_sync(0 downto 0) := std_logic_vector(to_unsigned(sync_i,1));
                        buf_re := std_logic_vector(to_signed(re_i,16));
                        buf_im := std_logic_vector(to_signed(im_i,16));
                        buf_oth := std_logic_vector(to_unsigned(oth_i,32));
                        
                        sync_o <= buf_sync(0);
                        data_re_o <= buf_re(data_w_g-1 downto 0);
                        data_im_o <= buf_im(data_w_g-1 downto 0);
                        oth_o <= buf_oth(oth_w_g-1 downto 0);
                    else
                        sync_o <= '0';
                        valid_o <= '0';
                        data_re_o <= (others => '0');
                        data_im_o <= (others => '0');
                        oth_o <= (others => '0');
                    end if;


Гуру, прошу помощи... rolleyes.gif


--------------------
Суббота начинается в понедельник
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Feb 1 2017, 11:34
Сообщение #2


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



С Vivado не работал, но думаю тут так же, как и в других САПРах.
В тиклевой консоли введите команду pwd. Она выдаст текущий путь, относительно которого и надо указывать относительные пути к файлам.
Go to the top of the page
 
+Quote Post
quato_a
сообщение Feb 1 2017, 12:28
Сообщение #3


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

Группа: Свой
Сообщений: 95
Регистрация: 27-07-11
Из: Зеленоград
Пользователь №: 66 439



Цитата(andrew_b @ Feb 1 2017, 14:34) *
С Vivado не работал, но думаю тут так же, как и в других САПРах.
В тиклевой консоли введите команду pwd. Она выдаст текущий путь, относительно которого и надо указывать относительные пути к файлам.


Ужо разобрался, спасибо sm.gif

Относительно папочки симуляции vivado
Код
ip_repo\[name_core]\[name_core]_v0_project\[name_core_v0_project.sim\sim_1\behav\


Код
file tx_sync_f: text open read_mode is "../../tx_ideal_sync.dat";
file tx_re_f: text open read_mode is "../../tx_ideal_re.dat";
file tx_im_f: text open read_mode is "../../tx_ideal_im.dat";


Сообщение отредактировал quato_a - Feb 1 2017, 12:30


--------------------
Суббота начинается в понедельник
Go to the top of the page
 
+Quote Post

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

 


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


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