Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: inout wire - как с ним работать ?

inout wire - как с ним работать ? 12 года 1 мес. назад #1198

  • ВитГо
  • ВитГо аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 15
  • Спасибо получено: 4
каким образом задавать режим inout пина порта ?

нужны следующие состояния:
- вход (input wire)
- выход (output reg)

где можно посмотреть примеры ? (поиск не нашел ничего на форуме)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: inout wire - как с ним работать ? 12 года 1 мес. назад #1199

Сигнал нужно описывать как "inout", а для перевода в высокоомное состояние можно указывать значение "z".
Пример:

module max2(key,dp);
input wire [1:0] key;
inout wire dp;
assign dp=(key[0])?key[1]:1'bz;
endmodule
Спасибо сказали: ВитГо

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: inout wire - как с ним работать ? 11 года 4 мес. назад #1875

для того что бы не создавать новую тему, спрошу здесь.
Такой вопрос ,не могу промоделировать запись в inout port код приведен ниже:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY bidir IS
PORT(
bidir : INOUT STD_LOGIC_VECTOR (7 DOWNTO 0);
oe, clk : IN STD_LOGIC;
inp : IN STD_LOGIC_VECTOR (7 DOWNTO 0);
outp : OUT STD_LOGIC_VECTOR (7 DOWNTO 0));
END bidir;

ARCHITECTURE maxpld OF bidir IS
SIGNAL a : STD_LOGIC_VECTOR (7 DOWNTO 0); -- DFF that stores
-- value from input.
SIGNAL b : STD_LOGIC_VECTOR (7 DOWNTO 0); -- DFF that stores
BEGIN -- feedback value.
PROCESS(clk)
BEGIN
IF clk = '1' AND clk'EVENT THEN -- Creates the flipflops
a <= inp;
outp <= b;
END IF;
END PROCESS;
PROCESS (oe, bidir) -- Behavioral representation
BEGIN -- of tri-states.
IF( oe = '0') THEN
bidir <= "ZZZZZZZZ";
b <= bidir;
ELSE
bidir <= a;
b <= bidir;
END IF;
END PROCESS;
END maxpld;

когда пытаюсь промоделировать ветку

ELSE
bidir <= a;
b <= bidir;
END IF;

порт bidir постоянно висит в состоянии Z. Как сделать так чтобы данные из входа попали в порт bidir.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: inout wire - как с ним работать ? 11 года 4 мес. назад #1876

не досмотрел код, проблема решилась сама собой. :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: inout wire - как с ним работать ? 10 года 11 мес. назад #2131

umarsohod, в приведенном Вами коде, сделайте пожалуйста пояснения. Мне не совсем понятно, принцип отношений key, к выходу dp. И еще вопрос, для работы по 1 - wire такой же принцип написания кода?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: inout wire - как с ним работать ? 10 года 11 мес. назад #2132

Игорь пишет: umarsohod, в приведенном Вами коде, сделайте пожалуйста пояснения. Мне не совсем понятно, принцип отношений key, к выходу dp. И еще вопрос, для работы по 1 - wire такой же принцип написания кода?

В примере , в зависимости от состояния входа "key[0]", на пине "dp" будет или значение входа "key[1]" или "Z"-состояние.
Для "1 - wire" подходит, только вместо "key[1]" нужно написать "0", и не забыть поставить на пин "dp" пулап-резистор (внешний или внутренний).

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: inout wire - как с ним работать ? 10 года 11 мес. назад #2133

При работе с 1 - wire, когда мне на выходе необходимо получить логическую единицу, dp также необходимо перевести в состояние "Z" ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Игорь.

Re: inout wire - как с ним работать ? 10 года 11 мес. назад #2134

Игорь пишет: При работе с 1 - wire, когда мне на выходе необходимо получить логическую единицу, dp также необходимо перевести в состояние "Z" ?

Совершенно верно, переводите в "Z", а логическая единица получается подтягивающим резистором.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.134 секунд
Работает на Kunena форум