Програма реалізації регістрів в інтегрованому середовищі MAX+PLUS II

Розробка цифрових засобів ПЛІС в інтегрованому середовищі проектування MAX+PLUS II
Генезис програмувальних логічних інтегральних схем, їх класифікація та архітектура Призначення та структура системи автоматизованого проектування MAX+PLUS II Процедура компіляції створеного проекту в системі автоматизованого проектування MAX+PLUS II Загальні відомості про мову описання апаратури AHDL Синхронний RS-тригер JK-тригер Програма реалізації тригерів в інтегрованому середовищі MAX+PLUS II Паралельні регістри зсуву Програма реалізації регістрів в інтегрованому середовищі MAX+PLUS II Асинхронний лічильник з модулем 10 Програми реалізації лічильників в інтегрованому середовищі MAX+PLUS II Теоретичні відомості про мультиплексори, демультиплексори, шифратори, дешифратори Демультиплексор Дешифратор Результати програмної реалізації мультиплексорів, демультиплексорів, шифраторів, дешифраторів Віднімачі Програми реалізації суматорів, віднімачів в інтегрованому середовищі MAX+PLUS II Структура COM-порту при його реалізації в САПР MAX+PLUS II Результати програмної реалізації COM-порту в САПР MAX+PLUS II
120215
знаков
18
таблиц
54
изображения

7.2.3 Програма реалізації регістрів в інтегрованому середовищі MAX+PLUS II

Програма для реалізації 4-розрядного послідовного регістру зсуву за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:

Title "register1";

Parameters

(WIDTH = 4); - встановлення розрядності регістру

Assert (WIDTH > 0) - перевірка розрядності регістру на відмінність від 0

Report "Value of WIDTH parameter must be greater then %" WIDTH

Severity Error;

Subdesign register1

(

D_INPUT, SET, RESET : input = GND; - вхідні сигнали

CLK : input; - вхід синхронізації

ENABLE : input = VCC; - вхід дозволу роботи

Q_OUTPUT : output; - вихідні сигнали

)

Variable

FF[WIDTH..1] : DFFE; - об'ява змінної FF, що належить до класу DFFE

Begin

FF[].clk = CLK;

FF[].prn = !SET;

FF[].clrn = !RESET;

FF[].ena = ENABLE;

FF[].d = (FF[WIDTH-1..1].q, D_INPUT);

Q_OUTPUT = FF[WIDTH].q;

End;

- Примітка: на часовій діаграммі:

- FF - двійкове число на виході регістру

Програма для реалізації 4-розрядного паралельного кільцевого регістру зсуву за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:

Subdesign register2

Parameters

(WIDTH = 4); - встановлення розрядності регістру

Assert (WIDTH > 0) - перевірка розрядності тригера (більша від нуля)

Report "Value of WIDTH parameter must be greater then %" WIDTH

Severity Error;

(

I[WIDTH..1] : input = VCC; - вхідні сигнали (дані)

CLK : input;

RESET : input;

O[WIDTH..1] : output; - вихідні сигнали (дані)

)

Variable

FF[WIDTH..1] : JKFF; - об'ява змінної FF, що належить до класу JKFF

Begin

FF[WIDTH..1].j = (FF[WIDTH-1..1].q, FF[WIDTH].q);

FF[WIDTH..1].k = (!FF[WIDTH-1..1].q, !FF[WIDTH].q);

FF[WIDTH..1].clk = CLK;

FF[WIDTH..1].clrn = !RESET;

FF[WIDTH..1].prn = I[WIDTH..1];

O[WIDTH..1] = FF[WIDTH..1].q;

End;


7.2.4 Результати програмної реалізації регістрів

На рис. 7.2.3 зображено вікно сигнального редактору проекту “register1”.

Рис. 7.2.3. Результати тестування 4-розрядного послідовного регістру зсуву

На рис. 7.2.4 зображено вікно сигнального редактору проекту “register2”.

Рис. 7.2.3. Результати тестування 4-розрядного паралельного кільцевого регістру зсуву

7.3 Теоретичні відомості про лічильники

 

7.3.1 Лічильник з крізним переносом

Процедури двійкової і десяткової лічби ілюстровано в табл. 7.3.1. Використовуючи лише чотири двійкових розряди (T4, T3, T2, T1), ми можемо рахувати від 0000 до 1111 (від 0 до 15 в десятеричній системі відліку). Стовпчик T1 таблиці відповідає двійковому розряду одиниці або самій молодшій значимій цифрі. Зазвичай використовується термін “самий молодший розряд”. Стовпець T4 відповідає двійковому розряду вісімок або старшій значимій цифрі. Зазвичай використовується термін “самий старший розряд”. Зверніть увагу, що в стовпці одиниць цифри змінюються найчастіше. Якщо вам потрібний лічильник, що рахує від 0000 до 1111 в двійковій системі, у нього повинно бути 16 різних вихідних станів. Такий лічильник має назву лічильник за модулем 16. Модуль лічильника – це число різних станів, через які проходить лічильник в процесі одного повного циклу відліку.

Табл. 7.3.1. Відлікова послідовність для лічильника за модулем 16

Двійкова лічба Десяткова лічба
T4 T3 T2 T1
8 4 2 1
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15

Функціональна схема лічильника за модулем 16, зібраного з чотирьох JK-тригерів, показана на рис 7.3.1. Кожний JK-тригер працює в режимі переключення (J = K = 1). Нехай в початковий момент часу стан виходів лічильника відповідає двійковому числу 0000 - лічильник очищений. При надходженні тактового імпульсу 1 на синхронізуючий вхід CLK тригера Т1 цей тригер переключається, при проходженні зрізу імпульсу, і на індикаторі з’являється число 0001. Лічба продовжується: зріз сигналу на виході кожного тригеру запускає наступний тригер. Повертаючись до табл. 7.3.1. ми бачимо, що цифри (1 або 0) в стовпці T1 (одиниць) змінюються на кожному етапі лічби. Іншими словами тригер Т1 переключається з приходом кожного нового тактового імпульсу. Як бачимо з стовпця T2, тригер Т2 переключається в два рази рідше від тригера Т1. Взагалі кожний старший розряд в табл. 7.3.1 переключається в два рази рідше попереднього.

Рис. 7.3.1. Логічна схема лічильника за модулем 16

Роботу лічильника за модулем 16 ілюструють часові діаграми на рис. 7.3.2. Синхронізуючому входу відповідає верхня діаграма. Діаграми для виходів Q регістрів Т4, Т3, Т2, Т1 наведено нижче.

Оскільки кожний тригер впливає тільки на один наступний за ним тригер, то для переключення всіх тригерів необхідний деякий час.

Ми бачимо, що зміна станів послідовно проходить по ланцюжку тригерів. Тому лічильник, що ми розглядаємо має назву лічильника з крізним переносом.


Рис. 7.3.2. Часова діаграма лічильника за модулем 16

Лічильник, функціональна схема якого показана на рис. 7.3.1, можливо назвати не тільки лічильником з крізним переносом, але й лічильником за модулем 16, 4-розрядним лічильником або асинхронним лічильником. Кожна з назв характеризує розглядувану схему з якогось одного боку.

Визначення “з крізним переносом” і “асинхронний” говорять про те, що запуск тригерів відбувається не в один і той же час. Назва “лічильник за модулем 16” віддзеркалює число різних станів, що “проходяться” лічильником за один повний цикл лічби. Визначення “4-розрядний” вказує на число двійкових розрядів на виході лічильника.


Информация о работе «Розробка цифрових засобів ПЛІС в інтегрованому середовищі проектування MAX+PLUS II»
Раздел: Информатика, программирование
Количество знаков с пробелами: 120215
Количество таблиц: 18
Количество изображений: 54

Похожие работы

Скачать
35274
1
16

... цих проектів, їх компіляції, комп’ютерного моделювання, загрузки проекту на кристал ПЛІС. Програмні продукти фірм Xilinx та Altera на сьогоднішній день є найбільш поширеними САПР для проектування цифрових пристроїв на ПЛІС. Серед програмних продуктів Xіlіnx є як відносно прості вільно розповсюджувані системи, так і потужні інтегровані пакети, що дозволяють розробляти ПЛІС еквівалентної ємності бі ...

Скачать
39468
0
18

... КП, відповідно; X Offset, Y Offset – зсув точки підключення траси відносно геометричного центру КП по осях X і Y, відповідно. Таблиця апертур (Apertures) містить опис використовуваних апертур. Таблиця Layers містить список шарів, використовуваних OrCAD Layout. Шари можуть бути наступних типів: Routing – шар трасування; Plane – шар металізації; Drill – шар символів отворів; Jumper – шар ...

Скачать
178729
2
1

... результаты отчета. Они являются кульминационным пунктом отчета и должны быть разумными, хорошо определенными, перечисленными и обоснованными [11].Практика дистанционного образования с использованием Internet Шутилов Ф.В. Особенности заочного образования - в необходимости обеспечить высокий уровень знаний при значительно меньшем времени непосредственного личного общения студентов с преподавателем. ...

0 комментариев


Наверх