IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Т-триггер AHDL 8.1, Т-тригер с элементов ИЛИ-НЕ
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Цитирую дословно задание:
"Построить в AHDL с элементов ИЛИ-НЕ Т-тригер, что имеет прямой динамический вход синхронизации С та асинхронные входы R и S. Убедится в правильной работе тригера, сделав моделирование, и измерить время инвертирования состояния триггера (то есть задержки между сменой сигнала на входе С и установкой соответствующего значений сигналов на выходах Q и на инвертированном Q). Сделать общий вывод про задержку в тригере, если задержка у логическом элементе ИЛИ-не равна t("тау")."

У меня есть код синхронного JK-триггера.

Код

library IEEE;
use IEEE.std_logic_1164.all;

entity jk1 is
generic(
delay:time:=20ns
)
port (
j: in STD_LOGIC;
k: in STD_LOGIC;
c: in STD_LOGIC;
r: in STD_LOGIC;
c1: out STD_LOGIC;
c2: out STD_LOGIC
);
end jk1;

architecture jk1 of jk1 is
begin
process(c,r)
variable q:integer:=0;
begin
if (c'event and c='1' and r='0') then
if ((j='1') and (k='0')) then q:=1;
elsif ((j='0') and (k='1')) then q:=0;
elsif ((j='1') and (k='1')) then q:=1-q;
end if;
end if;
if (r'event and r='1') then q:=0;
end if;
if (q=1) then c1<='1' after delay;c2<='0' after delay;
else c2<='1' after delay;c1<='0' after delay;
end if;
end process;
end jk1;


И вот он сам вопрос, вернее вопросы:

Вот таким вот образом строятся триггеры на элементах, в плане момента с and, nand и т.д.?

Код

if (c'event and c='1' and r='0') then
if ((j='1') and (k='0')) then q:=1;
elsif ((j='0') and (k='1')) then q:=0;
elsif ((j='1') and (k='1')) then q:=1-q;


Что-бы построить асинхронные входы R и S нужно написать код с not-?
Код
elsif not((j='0') and (k='1')) then q:=0;


Ну и так на всякий пожарный: "тау" не значит ни какого конкретного значения(мало ли)?

Please help mega_chok.gif

Сообщение отредактировано: Demento -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Большевик–концептуал
***

Группа: Пользователи
Сообщений: 194
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: bu_gen@octagram.name
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  1  +


Навскидку здесь более широкое множество AHDL, чем то, с чем доводилось работать, но я подозреваю, что за синхронизацию отвечает атрибут 'Event, так что если убрать его из логических проверок, будет асинхронность. И знаков присваивания не припоминаю. Кажется, просто равенствами соединяли блоки, а вот присваивание может быть компилятором как-то перенесено на следующий такт.


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(OCTAGRAM @ 2.12.2016 8:27) *

Навскидку здесь более широкое множество AHDL, чем то, с чем доводилось работать, но я подозреваю, что за синхронизацию отвечает атрибут 'Event, так что если убрать его из логических проверок, будет асинхронность. И знаков присваивания не припоминаю. Кажется, просто равенствами соединяли блоки, а вот присваивание может быть компилятором как-то перенесено на следующий такт.


Спасибо, за ответ good.gif
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.04.2024 4:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name