-
Wonk
-
Автор темы
-
Не в сети
-
Захожу иногда
-
-
Сообщений: 65
-
Спасибо получено: 2
-
-
-
-
|
Вроде бы верно написанный триггер в моей схеме порождает ряд критических замечаний:
Data bits are not synchronized when transferred between asynchronous clock domains.
Data bits are not correctly synchronized when transferred between asynchronous clock domains.
Clock port and any other signal port of same register should not be driven by the same signal source.
Все ругаются на выход Q.
library IEEE;
use IEEE.std_logic_1164.all;
entity FDRE is
port (
C,R,D,CE : in BIT;
Q : out BIT
);
end FDRE;
architecture FDRE_arch of FDRE is
begin
process (C,R,CE)
begin
if (C'event and C='1' and R='1') then Q <= '0';
end if;
if (C'event and C='1') and CE='1' then Q <= D;
end if;
end process;
end FDRE_arch;
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Нормальный у вас триггер, вот такой
У вас в проекте где-то в другом месте проблемы.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Wonk
-
Автор темы
-
Не в сети
-
Захожу иногда
-
-
Сообщений: 65
-
Спасибо получено: 2
-
-
-
-
|
Эх, был бы это мой проект... Это устройство работающее уже 10 лет, было создано в ксайлинксе, а теперь моя задача перенести его в квартус
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Wonk
-
Автор темы
-
Не в сети
-
Захожу иногда
-
-
Сообщений: 65
-
Спасибо получено: 2
-
-
-
-
|
Почему сброс в воздухе повис?
library IEEE;
use IEEE.std_logic_1164.all;
entity FDR is
port (
clock,data,sclr : in BIT;
q : out BIT
);
end FDR;
architecture FDR_arch of FDR is
begin
process (clock,sclr)
begin
if (clock'event and clock='1' and sclr='1') then q <= '0';
end if;
if clock'event and clock='1' then q <= data;
end if;
end process;
end FDR_arch;
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Поменяйте строчки местами
if clock'event and clock='1' then q <= data;
end if;
if (clock'event and clock='1' and sclr='1') then q <= '0';
end if;
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
marsoalex
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 8
-
Спасибо получено: 0
-
-
|
Из описания следует неопределенность.
Я бы вообще так бы не описал, предлагаю:
architecture FDR_arch of FDR is
begin
process (clock)
begin
if (clock'event) and (clock='1') then
if (sclr='1') then q <= '0'; else q <= data; end if;
end if;
end process;
end FDR_arch;
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
qvrock
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 13
-
Спасибо получено: 0
-
-
|
а что значит C'event и зачем кавычки при присвоении clock='1'?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Wonk
-
Автор темы
-
Не в сети
-
Захожу иногда
-
-
Сообщений: 65
-
Спасибо получено: 2
-
-
-
-
|
C'event означает что событие будет происходить при изменении сигнала C. Дальше не присвоение, а указание что после изменения С должно равняться единице, соответственно ждем фронт.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.156 секунд