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

 
 
 
Reply to this topicStart new topic
> Пересылка от переменной variable к сигналу, TEXTIO создает проблемы
Мур
сообщение Mar 24 2017, 09:20
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Взял за основу пример из книги "VHDL Эффективное использование при проектировании цифровых систем" Бибило П.Н. , где реализованы отдельные процедуры считывания и записи кодов в\с файлов.
Поскольку само чтение из файла работает исключительно с variable, то для возврата данных из функции в конце процедуры идет пересылка от переменной в вектор.
dwt_b <= dwt_v;

ModelSim ругается так:
Сannot drive signal 'dwt_b' of mode IN.

Что за хрень? Книга четко описывает процесс в последовательности подготовки кода для выдачи наружу при выходе из функции.

procedure readtest (----------------------------------------------------------------------------------
file in_file : TEXT;
signal dwt_b: STD_LOGIC_VECTOR (15 downto 0))
--
variable dwt_v: STD_LOGIC_VECTOR (15 downto 0); --
variable lll : line;

begin
if not endfile(in_file) then
readline(in_file,lll);
while lll(1) = '-' loop
readline(in_file,lll);
end loop;

hread(lll,dwt_v);
dwt_b <= dwt_v;
end if;
Go to the top of the page
 
+Quote Post
shtunder
сообщение Mar 24 2017, 09:29
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 14-07-14
Пользователь №: 82 243



Цитата
Сannot drive signal 'dwt_b' of mode IN.

Вы переведите ошибку.

У вас на вход будут приходить данные откуда-то там. А вы ему такую конструкцию dwt_b <= dwt_v;
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 24 2017, 09:42
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(shtunder @ Mar 24 2017, 12:29) *
Вы переведите ошибку.

У вас на вход будут приходить данные откуда-то там. А вы ему такую конструкцию dwt_b <= dwt_v;


...да не откуда-то а из hread(lll,dwt_v);
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Mar 24 2017, 09:50
Сообщение #4


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

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



Цитата(Мур @ Mar 24 2017, 12:42) *
...да не откуда-то а из hread(lll,dwt_v);

По умолчанию все параметры процедур имеют тип in. Тип out надо указывать явно.
Код
procedure readtest (
  file in_file : TEXT;
  signal dwt_b : out STD_LOGIC_VECTOR (15 downto 0)
)
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 24 2017, 09:51
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



тю блин!

Конечно же в интерфейсе я не указал OUT!//// maniac.gif
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 24 2017, 12:48
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



хочу загладить вину и выложить удобный для тест-бенчей гибкий инструмент. Жизнь заставила!
Прикрепленные файлы
Прикрепленный файл  imitator.ZIP ( 1.66 килобайт ) Кол-во скачиваний: 22
 
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 29 2017, 08:35
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Классная штуука получилась.
Тут немного усовершенствовано для возможности делать интервалы. Для возможности такой работы .txt надо дописать следующим фрагментом...

Это удобно...
Прикрепленные файлы
Прикрепленный файл  CProc.vhd ( 4.58 килобайт ) Кол-во скачиваний: 21
 
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 4 2017, 11:13
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Мур @ Mar 29 2017, 11:35) *
Классная штуука получилась.
Тут немного усовершенствовано для возможности делать интервалы. Для возможности такой работы .txt надо дописать следующим фрагментом...

Это удобно...


Поправить...

when TRD => --tau
cp_avt <= REND;
drt_b <= DAT_IO;
when REND =>
cp_avt <= NU;
-- drt_b <= DAT_IO;

Здесь принятые коды уйдут в файл без смещения...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th April 2017 - 15:34
Рейтинг@Mail.ru


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