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

 
 
> Файловый ввод-вывод на 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



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:21
Рейтинг@Mail.ru


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