русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Опис регістрів


Дата додавання: 2014-11-28; переглядів: 868.


 

Тригерна змінна в розділі VARIABLE може бути оголошена багатобітовою. У цьому випадку за допомогою такої змінної може бути виконаний опис роботи різних регістрів або пристроїв, що містять регістри. Багатобітову тригерну змінну називають регістровою змінною. Нижче наводиться опис такої змінної

 

 

SUBDESIGN reg_8r

(d[7..0],clk,ena:INPUT;

q[7..0]:OUTPUT;)

VARIABLE

ff[7..0]:DFFE;

BEGIN

ff[].clk=clk;

ff[].ena=ena;

ff[].d=d[];

q[]=ff[].q;

END;

 

У наведеному описі перша рівність з’єднує вхід clk з портами clk тригерів ff[7..0]. Друга рівність з’єднує вхід завантаження з портами дозволу тактової частоти. Третя рівність з’єднує вхід даних d[7..0] з вхідними портами тригерів ff[7..0]. Четверта рівність з’єднує виходи з вихідними портами тригерів.

Нижче наведено результати моделювання роботи створеного регістра.

 

 

Зауважимо, що перші дві рівності (три?) можна об’єднати в одну, якщо скористатись правилами об’єднання змінних у групи. Приклад такого об’єднання наведено нижче (проект reg_8r_hr)

 

SUBDESIGN reg_8r_hr

(d[7..0],clk,ena:INPUT;

q[7..0]:OUTPUT;)

VARIABLE

ff[7..0]:DFFE;

BEGIN

ff[].(clk,ena)=(clk,ena);

ff[].d=d[];

q[]=ff[].q;

END;

 

Результати моделювання роботи наведено нижче

 

 


<== попередня лекція | наступна лекція ==>
Опис тригерів | Зсув даних


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн