-
ВитГо
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 15
-
Спасибо получено: 4
-
-
|
каким образом задавать режим inout пина порта ?
нужны следующие состояния:
- вход (input wire)
- выход (output reg)
где можно посмотреть примеры ? (поиск не нашел ничего на форуме)
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Сигнал нужно описывать как "inout", а для перевода в высокоомное состояние можно указывать значение "z".
Пример:
module max2(key,dp);
input wire [1:0] key;
inout wire dp;
assign dp=(key[0])?key[1]:1'bz;
endmodule
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
perforator2012
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 2
-
Спасибо получено: 0
-
-
|
для того что бы не создавать новую тему, спрошу здесь.
Такой вопрос ,не могу промоделировать запись в 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.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Игорь
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 4
-
Спасибо получено: 0
-
-
|
umarsohod, в приведенном Вами коде, сделайте пожалуйста пояснения. Мне не совсем понятно, принцип отношений key, к выходу dp. И еще вопрос, для работы по 1 - wire такой же принцип написания кода?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Игорь пишет: umarsohod, в приведенном Вами коде, сделайте пожалуйста пояснения. Мне не совсем понятно, принцип отношений key, к выходу dp. И еще вопрос, для работы по 1 - wire такой же принцип написания кода?
В примере , в зависимости от состояния входа "key[0]", на пине "dp" будет или значение входа "key[1]" или "Z"-состояние.
Для "1 - wire" подходит, только вместо "key[1]" нужно написать "0", и не забыть поставить на пин "dp" пулап-резистор (внешний или внутренний).
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Игорь
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 4
-
Спасибо получено: 0
-
-
|
При работе с 1 - wire, когда мне на выходе необходимо получить логическую единицу, dp также необходимо перевести в состояние "Z" ?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Игорь.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Игорь пишет: При работе с 1 - wire, когда мне на выходе необходимо получить логическую единицу, dp также необходимо перевести в состояние "Z" ?
Совершенно верно, переводите в "Z", а логическая единица получается подтягивающим резистором.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.134 секунд