Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Функции и процедуры

Читайте также:
  1. II. Порядок выплаты ежемесячной компенсации на оплату проезда до места проведения процедуры гемодиализа инвалидам, находящимся на постоянном диализном лечении.
  2. III. B. Функции слова ONE
  3. Other Functions of Money. Другие функции денег
  4. V) Массивы и функции
  5. Абстрактные базовые классы и чисто виртуальные функции
  6. Абстрактные базовые классы и чисто виртуальные функции.
  7. Административные процедуры как форма реализации компетенции органов внутренних дел.

ЗАВДАННЯ

На основі статистичних даних показника Υ і фактора X (блок А2:В15 ) знайти оцінки параметрів лінії регресії, якщо припустити, що стохастична залежність між фактором X і

показником Υ має вигляд: .

Використовуючи критерій Фішера з надійністю Ρ = 0,95, оцінити адекватність прийнятої моделі статистичним даним.

Якщо з заданою надійністю прийнята математична мо­дель адекватна експериментальним даним, то знайти:

— з надійністю Ρ = 0,95 довірчу зону базисних даних;

— точкову оцінку прогнозу;

— з надійністю Ρ - 0,95 інтервальну оцінку прогнозу;

— оцінки коефіцієнтів еластичності для базисних значень та прогнозу;

 


ХІД РОБОТИ

В

водиться гіпотеза, що між фактором X і показником Y існує така стохастична залежність: . Заміною приводимо нелінійну парну регресію до парної лінійної . Оцінки параметрів а і b для цієї рег­ресії визначаються за формулами

Для оцінки параметра а необхідно обчислити: , , , .

Ці суми зручно знаходити, використо­вуючи пакет Excel.

Для виконання лабораторної роботи будуємо електронну таблицю. Блок вихідних даних формується з перших двох колонок. Для даного прикладу це буде блок (АЗ:В15). Роз­рахунковий блок проміжних обчислень розташовується у наступних колонках. Для обчислення наведених сум вводи­мо в третій рядок формули. Для обчислення х, у комірці СЗ (табл. 2.4) використовуємо вбудовану функцію КОРЕНЬ. Після натиснення клавіш Shift-F3 (або піктограми fx ) відкривається вікно Мастер Функций процесора Excel. Після вибору функції КОРЕНЬ натискуємо на кнопку ЗАКОНЧИТЬ. Функція вставляється у формулу в тій позиції, яку займав курсор введення. Далі мишею натискуємо на ту комірку, для якої потрібно знайти квадратний корінь, тобто S3. У дужках з'явиться ця координата. Натискуємо Enter. Для обчислення x11*y1 та x11^2 комірках D3 і ЕЗ вводимо відповідні формули =АЗ*СЗ та = СЗ^2. Для одержання інших розрахункових значень блока СЗ:Е15 копіюємо формули третього рядка в решту комірок блоку. Для копіювання формули ставимо курсор-прямокутник на комірку СЗ, мишу наводимо на квадрат в нижньому правому куті комірки СЗ. З'являється чорний хрестик. Тільки тоді натискуємо на ліву клавішу миші і, утримуючи її у такому положенні, відмічаємо блок копіювання до комірки С15 включно. Фор­мули копіюються у відмічений блок. Аналогічно робимо для блоків D3:D15 та ЕЗ:Е15.

Для визначення сум стовпців використовуємо вбудовану функцію СУММ або піктограму Σ. Після введення в комірку А17 цієї функції вказуємо мишею блок АЗ:А15. Далі введена формула копіюється у блок В17:Е17. У комірку В19 вводи­ться формула для обчислення оцінки параметра а. У комірці B20 обчислюється оцінка параметра b. Середнє значення X1 та Υ обчислюється у комірках D18, D19 за допомогою вбудо­ваної статистичної функції СРЗНАЧ. Для обчислення значень yi=x1i+b записуємо формулу у комірку F3 з абсолютними посиланнями координат параметрів a і b та з відносним посиланням координат х11. Після цього копіюємо формулу у блок F4:F15. У комірці F17 знаходимо Σyi· Оскільки математичне очікування відхилень фактичних да­них від розрахункових дорівнює нулю, то при правильному виконанні розрахунків значення комірок А17 та F17 збігатимуться.

Д
ля оцінки адекватності прийнятої економічної моделі експериментальним даним використовується критерій Фішера. Для визначення розрахункового значення Фішера, оцінки довірчої зони базисних даних, оцінки довірчого інтервалу та оцінки прогнозу складаємо блок проміжних обчислень G2:L16. Значення

о
бчислюються відповідно у блоках G3:G15, H3:H15, I3:I15, а їх суми у блоці G17:I17. Значення

о
бчислюється у комірці D20. Значення

обчислюються в блоці J3:J15. Значення обчислюються відповідно у блоках КЗ:К15, L3:L15.

Для обчислення перерахованих значень набираємо від­повідні формули в блоці G3:L3 та копіюємо ці формули в решту відповідних комірок блоку. Використовуючи вбудова­ну функцію СУММ(БЛОК), знаходимо суму колонки G3:G15 у комірці G17, далі копіюємо цю функцію у комірки Н17, I17. Для зручності обчислень та побудови графіка значення прогнозу та його довірчий інтервал обчислюємо у 16-му рядку. Значення прогнозу показника заносимо у комірку В16, у комірці С16 обчислюється значення Х1 прогнозне, а у комірці F16 Υ прогнозне.

О
цінку довірчого напівінтервалу для прогнозу

обчислюємо у комірці J16. Границі довірчого інтервалу зна­ходяться відповідно у комірках К16, L16.

К
оефіцієнт еластичності для всіх значень обчислюється в колонці M3:M16. Оскільки

то, у комірці Ш формула буде мати вигляд: =B$19*C3/(2*F3). Далі формула копіюється у решту комірок колонки.

Розрахункове значення критерію Фішера Fроз = Sy2/S2 обчислюється у комірці F19. Значення індексу кореляції обчислюється у комірці F18.

Для наочного уявлення розрахунків будуємо графіки в електронній таблиці. Будуються графіки статистичних да­них, довірчої зони для базисних даних та прогнозу, а також графік еластичності (рис. 2.7).

Порядок побудови графіків описано в лабораторній ро­боті №1.

Р
ис 2.7. Графік лінії регресії Y=aX^0,5+b.

Таблиця 2.3

Оцінка параметрів лінії регресії

Y=a*КОРЕНЬ(X)+b

 

  A B C D E F G
1              
2 Υ X Х1 Y*X1 X1^2 Yp (Υ-Υρ)^2
3 5,048 1 1 5,05 ι,οο 5,32 0,07
4 5,857 2 1,41 8,28 2 6,15 0,08
5 6,959 3 1,73 12,05 3 6,79 0,03
6 7,341 4 2 14,68 4 7,32 0
7 8,05 5 2,24 18 5 7,8 0,06
8 8,076 6 2,45 19,78 6 8,22 0,02
9 9,261 7 2,65 24,5 7 8,62 0,41
10 9,295 8 2,83 26,29 8 8,98 0,1
11 9,622 9 3 28,87 9 9,33 0,09
12 9,482 10 3,16 29,98 10 9,65 0,03
13 9,609 11 3,32 31,87 11 9,96 0,13
14 9,909 12 3,46 34,33 12 10,26 0,12
15 10,436 13 3,61 37,63 13 10,54 0,01
16   15 3,87     11,08  
17 108,95 91 32,85 291,32 91 108,95  
18 n= 13 Х1с= 2,53 R= 0,98  
19 а= 2,01 Yc= 8,38     t(0.95,13)=
20 b= 3,31 S= 0,34      

 

  H I J K L M
1            
2 (Y-Yc)^2 (Х1-Х1c)^2 Dy Ymin Ymax Κ
3 11,1 2,33 0,45 4,87 5,77 0,19
4 6,37 1,24 0,36 5,79 6,51 0,23
5 2,02 0,63 0,29 6,49 7,08 0,26
6 1,08 0,28 0,25 7,07 7,57 0,27
7 0,11 0,08 0,22 7,58 8,02 0,29
8 0,09 0,01 0,21 8,02 8,43 0,3
9 0,78 0,01 0,21 8,41 8,83 0,31
10 0,84 0,09 0,22 8,76 9,21 0,32
11 1,54 0,22 0,24 9,09 9,57 0,32
12 1,21 0,4 0,27 9,39 9,92 0,33
13 1,51 0,62 0,29 9,67 10,26 0,33
14 2,34 0,88 0,32 9,94 10,58 0,34
15 4,22 1,16 0,35 10,19 10,89 0,34
16   1,81 0,85 10,23 11,93 0,35
17 33,21 7,97        
18            
19 2,18          
20            


Таблиця 2.4

Оцінка параметрів лінії регресії

Y=a*КОРЕНЬ(X)+b

 

  А В С D Е
1          
2 Υ X Х1 Y*X1 Х1^2
3 5,048 1 =КОРЕНЬ(B3) =A3*C3 =C3^2
4 5,857 2 =КОРЕНЬ(B4) =A4*C4 =C4^2
5 6,959 3 =КОРЕНЬ(B5) =A5*C5 =C5^2
6 7,341 4 =КОРЕНЬ(B6) =A6*C6 =C6^2
7 8,05 5 =КОРЕНЬ(B7) =A7*C7 =C7^2
8 8,076 6 =КОРЕНЬ(B8) =A8*C8 =C8^2
9 9,261 7 =КОРЕНЬ(B9) =A9*C9 =C9^2
10 9,295 8 =КОРЕНЬ(B10) =A10*C10 =C10^2
11 9.622 9 =КОРЕНЬ(B11) =A11*C11 =C11^2
12 9,482 10 =КОРЕНЬ(B12) =A12*C12 =C12^2
13 9.609 11 =КОРЕНЬ(B13) =A13*C13 =C13^2
14 9,909 12 =КОРЕНЬ(B14) =A14*C14 =C14^2
15 10.436 13 =КОРЕНЬ(B15) =A15*C15 =C15^2
16   15 =КОРЕНЬ(B16)    
17 =СУММ (АЗ:А15) =СУММ (В3:В15) =СУММ(С3:С15) =СУММ (D3:D15) =СУММ (E3:E15)
18 n = =СУММ(А3:А15)/ СРЗНАЧ(А3:А15) Х1с = =СРЗНАЧ (С3:С15) R =
19 a = =(B18*D17-A17*C17)/ (B18*E17-C17^2) Yc- =CP3HAЧ (A3:A15) Fpoз =
20 b = =D19-B19*D18 S = =KOPEHb (G17/(B18-3))  

 

  F G Η 1
1        
2 Yp (Y-Yp)^2 (Y-Yc)*2 (Х1-Х1c)^2
3 =$B$19*C3+$B$20 =(A3-F3)^2 =(A3-D$19)^2 =(C3-D$18)^2
4 =$B$19*C4+$B$20 =(A4-F4)^2 =(A4-D$19)^2 =(C4-D$18)^2
5 =$B$19*C5+$B$20 =(A5-F5)^2 =(A5-D$19)^2 =(C5-D$18)^2
6 =$B$19*C6+$B$20 =(A6-F6)^2 =(A6-D$19)^2 =(C6-D$18)^2
7 =$B$19*C7+$B$20 =(A7-F7)^2 =(A7-D$19)^2 =(C7-D$18)^2
8 =$B$19*C8+$B$20 =(A8-F8)^2 =(A8-D$19)^2 =(C8-D$18)^2
9 =$B$19*C9+$B$20 =(A9-F9)^2 =(A9-D$19)^2 =(C9-D$18)^2
10 =$B$19*C10+$B$20 =(A10-F10)^2 =(A10-D$19)^2 =(C10-D$18)^2
11 =$B$19*C11+$B$20 =(A11-F11)^2 =(A11-D$19)^2 =(C11-D$18)^2
12 =$B$19*C12+$B$20 =(A12-F12)^2 =(A12-D$19)^2 =(C12-D$18)^2
13 =$B$19*C13+$B$20 =(A13-F13)^2 =(A13-D$19)^2 =(C13-D$18)^2
14 =$B$19*C14+$B$20 =(A14-F14)^2 =(A14-D$19)^2 =(C14-D$18)^2
15 =$B$19*C15+$B$20 =(A15-F15)^2 =(A15-D$19)^2 =(C15-D$18)^2
16 =$B$19*C16+$B$20     =(C16-D$18)^2
17 =CУMM(F3:F15) =CУMM(G3:G15) =CУMM(H3:H15) =CУMM(I3:I15)
18 =КОРЕНЬ(1-G17/H17)      
19 =F18^2/(1-F18^2)*11 t(0.95,13)= 2,18  

 

  J Κ L Μ
1        
2 Dy Ymin Ymax K
3 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F3-J3 =F3+J3 =B$19*C3/(2*F3)
4 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F4-J4 =F4+J4 =B$19*C4/(2*F4)
5 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F5-J5 =F5*J5 =B$19*C5/(2*F5)
6 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F6-J6 =F6+J6 =B$19*C6/(2*F6)
7 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F7-J7 =F7+J7 =B$19*C7/(2*F7)
8 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F8-J8 =F8+J8 =B$19*C8/(2*F8)
9 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F9-J9 =F9*J9 =B$19*C9/(2*F9)
10 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F10-J10 =F10+ J10 =B$19*C10/(2*F10)
11 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F11-J11 =F11+ J11 =B$19*C11/(2*F11)
12 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F12-J12 =F12+ J12 =B$19*C12/(2*F12)
13 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F13-J13 =F13+ J13 =B$19*C13/(2*F13)
14 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F14-J14 =F14+ J14 =B$19*C14/(2*F14)
15 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F15-J15 =F15* J15 =B$19*C15/(2*F15)
16 =H$19-D$20*КОРЕНЬ(1/B$18+І3/I$17) =F16-J16 =F16+ J16 =B$19*C16/(2*F16)
17        
18        
19        


висновки

 

1.
Оскільки Fроз. > Fтаб , то з надійністю P=0,95 можна вважати, що прийнята математична модель адекватна експе­риментальним даним і на основі цієї моделі можна здійсню­вати економічний аналіз та знаходити значення прогнозу.

2.
Для Xp = 15 точкова оцінка прогнозу показника має значення Yp = 11,08. З ймовірністю Р= 0,95 прогноз показ­ника буде набувати значення в інтервалі (10,23; 11,93) (Див.табл. 2.3).

3.
Для прогнозу зміна фактора на 1% викличе зміну по­казника в середньому на 0,35%.

 

 




 

ЛАБОРАТОРНА РОБОТА 3.

1. РОЗРОБКА ФУНКЦІОНАЛЬНИХ МОДЕЛЕЙ
ТИПОВИХ ЕЛЕМЕНТІВ

1.1 Ціль роботи

Ознайомитися з інтерактивною системою Active - VHDL, з інструментами розробки і моделювання пристроїв.


1.2 Указівки по підготовці і виконанню роботи

1.2.1 Уведення проекту

Після запуску програми Active-VHDL з'явиться діалогове вікно Getting Started. Виберіть опцію Create new design, щоб активізувати Майстра Проекту (New Design Wizard). Можна також вибрати команду Design>New Design.

З'явиться діалогове вікно в який необхідно вказати ім'я проекту й ім'я папки в який він буде поміщений. Дляцьоговполе Type the design name введітьім'я Training. Уполе Select the location of the design folder описуєтьсярозташуванняпапкипроекту.(незмінюйтецідані) Натиснітькнопку Next, щобперейтидонаступноговікну.

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

Можна:

• створитиновікомпоненти - цестворитьновіфайли, щомістятьточновстановленіоб'єкти

• додаватиіснуючіфайли – існуючі VHDL проектиможутьбутиімпортованів Active-VHDL

• імпортувати ACTIVE-CAD проекти.

• створюють порожній проект - жоден з компонентів не буде доданий до проекту.

Виберітьопцію Create new source files now (Створитиновийвихіднийфайл). Натиснітькнопку Next, щобперейтидонаступногосторінці.

Тепернеобхіднододатикомпонентискладовіпроект: Дляцьогоклацнітьпокнопці New івведітьім'яфайлу VHDL. Стовпчик Тип джерела (Source Type) дозволяє вибрати режим уведення моделі: текстовий опис VHDL чи графічний опис, за допомогою Редактора Кінцевого Автомата (Finite State Machine). Введіть ім'я Counter і виберіть VHDL Code як тип джерела

Виділите пункт Counter і натисніть кнопку Ports.


1.2.1.1 Опис портів пристрою

Для опису портів проекту існує майстер Design Wizard – Ports. Потрібно натиснути кнопку New і внести ім'я лінії в поле Name. Поле Port direction (напрямку Порта) служить для визначення напрямку порту. Якщо потрібно ввести шину, її діапазон встановлюють у поле Array Indexes (Індексів Масиву).

Додайте три порти:

•CLK - input port

•RESET - input port

• Q[3:0] - output bus port, діапазон [3:0]


Після оголошення порту необхідно вказувати його тип. Натисніть кнопку Type і у меню, що випадає, діалогового вікна, виберіть тип виділеного порту: STD_LOGIC для одиночних портів і STD_LOGIC_VECTOR для шини. Натисніть кнопку OK у діалоговому вікні Port Type, і потім кнопку Next, щоб перейти до останньої сторінки.

В останньому діалоговому вікно описуються властивості створюваного проекту. Якщо всі правильно, натисніть кнопку Finish, щоб завершити створення проекту. Використовуйте кнопку Back, якщо установки необхідно змінити.

1.2.2 Браузер Проекту (Design Browser)

Design Browser - вікно, що показує зміст проекту. Воно складається з трьох подокон:

•Files

•Structure

•Resources

У результаті вище описаних операцій у вікні браузера повинна міститися наступна інформація:

 


У вікні Design Browser виберіть файл Counter.vhd і виконаєте команду Design>Compile. Зверніть увагу на зміни, що відбулися у вікні Design Browser.

Натисніть “+” знак, щоб розкрити папку. Вікно показує пари entity-architecture.


Подвійним щигликом по мітці Counter.vhd, викличте HDL Редактор.


1.2.3 Редагування Коду

У вікні HDL редактора повинний міститися наступний код-шаблон, заснований на раніше введених даних.

 


1.2.1.1 Використання Language Assistant

Введіть опис функціональної моделі лічильника використовуючи

допоміжний інструмент середовища Active-HDL — Language Assistant.

Виконаєте команду Tools>Language Assistant. З'явиться вікно:

 


Розкрийте позначення Tutorial і з пунктів, що з'явилися, виберіть мітку Counter.

У правій частині вікна Language Assistant міститься VHDL опис процесу лічильника двоїчно-десяткового коду. Уставте цей шаблон у код проекту лічильника.

У вікні HDL Editor, що містить Counter.vhd, і знайдіть оператор begin. Установите курсор на наступну стоку після оператора begin. Виберіть мітку Counter у списку шаблонів Language Assistant Натисніть праву кнопку миші, і виберіть команду Use зі скороченого меню. Шаблон негайно буде поміщений у код VHDL в обрану крапку. Закрийте вікно Language Assistant.


1.2.1.2 Додавання бібліотек

Відредагований код вимагає, щоб були включені деякі додаткові пакети.

Після use IEEE.std_logic_1164.all уведіть наступний рядок:

use IEEE.std_logic_unsigned.all;

Д
ля форматування тексту програми у вікні можна використовувати кнопку


,
і кнопку


. — для структурування коду


1.2.1.3 Перевірка синтаксису (Checking Syntax)

Перейдіть до вікна Design Browser, клацніть правою кнопкою миші по мітці Counter.vhd, виберіть команду Compile зі скороченого меню.

При наявності помилки, іконка змінює колір на жовтий, лінія з помилкою підкреслюється й у вікно VHDL console виводиться опис помилок.

Видалите перший символ від оператора library і виконаєте перевірку синтаксису.

Снову введіть символ, щоб повернутися до попереднього справному стану.

1.2.1.4 Трансляція

Щоб продовжити будь-яке моделювання, проект повинний бути скомпільований.

Якщо потрібно відкомпілювати тільки один файл, можна виберіть його і виконаєте команду Compile зі скороченого меню правої кнопки миші. Якщо потрібно відкомпілювати кілька файлів, використовуйте команду Compile All з меню Folder.

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

1.2.1.5 Перегляд Структури Проекту

Потім потрібно точно визначити entity верхнього рівня.

У вікні Design Browser виберіть мітку “Сounter “. Клацніть по вкладці Structure. Розкрийте знак “+”.

В изначати entity верхнього рівня, можна також: вибравши мітку “counter“ у списку і виконавши команду Set as Top-Level з выпадающего меню правої кнопки; чи вибравши команду Design > Settings у вікні, що з'явилося, Design Settings (Установок Проекту) у подокне Top-level Selection указати entity верхнього рівня.


Вкладка Structure (Структури) представляє структуру проекту.

Counter - верхній entity проекту позначається міткою Root. Як показано в зображенні, компонент Counter має один процес, що сходиться, за замовчуванням називаний line_19, нижче перераховані усі використовувані пакети.

Кожна частина проекту може містити порти, сигнали і перемінні. Active-VHDL допускає простий перегляд модулів даних. Якщо клацнути на компоненті в подокне Structure, локальні дані будуть показані в нижній панелі вікна.

1.2.1.5 Диспетчер бібліотек

Кожен VHDL вихідний файл компілюється до спеціальної бібліотеки.

Задана за замовчуванням бібліотека для файлів проекту має те ж саме ім'я як назва проекту і показана в подокне Files вікна Design Browser, у дереві ієрархії.


VHDL файли можуть компілюватися до будь-якій існуючій бібліотеці, що може бути обрана використовуючи діалогове вікно FilePropertie. Відкрити діалогове вікно можна вибираючи файл VHDL правою кнопкою миші, а потім Properties зі скороченого меню.

Щоб замінити задану за замовчуванням бібліотеку для результатів трансляції, виберіть вкладку Compile. Тому що VHDL мова підтримує пакети, кожний з них може компілюватися до різної бібліотеки. Можна побачити бібліотеки і їхній зміст, використовуючи вікно Library Manager, що відкривається, командою Library Manager обрана з меню View.


1.2.1.6 Уведення нових файлів у проект

Додайте новий файл у проект, виконавши одне з наступних дій.

• Двічі клацніть по мітці Add New File у вікні Design Browser. У діалоговому вікні, що з'явилося, Add New File виберіть вкладку Wizard. Двічі клацніть по іконці VHDL Source Code Wizard.

• Виконати команду File> New> VHDL Source.

У такий спосіб активізується майстер для створення нового файлу – New Source File Wizard. Упершомувікніустановитеопцію Add the generated file to the design. Натисніть кнопку Next

У наступному вікні введіть у поле Type the name of the source file to create ім'я файлу Decoder. Натисніть кнопку Next.

Уведіть порти як показано нижче. Виберіть тип STD_LOGIC_VECTOR.

DataIn[3:0]: In

Output[9:0]: Out

У наступному вікні натисніть кнопку Finish для створення основи файлу.

Вікно Design Browser містить


Ми створили два окремих проекти, що містяться у файлах “Counter.vhd” і “Decoder.vhd”. Подвійним щигликом по Decoder.vhd викличте вікно утримуюче VHDL код дешифратора.

Використовуючи шаблон з Language Assistant, заповните архітектуру дешифратора. Для цього в списку Tutorial виберіть Decoder.

Помістите курсор у HDL Редакторі, в архітектурі після оператора begin, потім виберіть позначення Decoder, і Use зі скороченого меню правої кнопки миші.

1.2.1.7 Створення файлу верхнього рівня.

Щоб створити новий порожній VHDL файл, двічі клацніть по мітці Add New File у Design Browser.

У вікні Add New File виберіть вкладку Empty Files. У вікні виберіть іконку VHDL Source Code, у поле Name введіть ім'я Top. Натисніть Ok.

Перейдіть до Language Assistant і знайдіть мітку Top. Виберіть Use зі скороченого меню, щоб уставити шаблон у код.

Вікно Design Browser’a після цих операцій показано нижче:


Вікно HDL-редактора містить структурну модель пристрою, що складає з двох елементів Counter і Decoder.


Скомпілюйте весь проект, використовуючи команду Compile All з выпадающего меню правої кнопки.

1.2.1.8 Перегляд структури проекту.

Визначите об'єкт верхнього рівня, для цього натисніть кнопку списку, що випадає, щоб бачити доступні пари архітектури-об'єкти. Виберіть позначення “Top”.

Теж саме можна зробити, выбирав мітку “Top” у списку і виконавши команду Set As Top level, з выпадающего меню правої кнопки миші. Можна також використовувати команду Design>Settings.

Вікні перегляду Проекту виберіть закладку Structure:

1.2.1.9 Перегляд локальних даних.

Кожен модуль проекту може містити порти, сигнали і перемінні. Active-HDL дозволяє легко переглядати дані модулів. Якщо клацнути по мітці компонента на вкладці Structure вікна Design Browser, його дані будуть виведені в нижній частині вікна.

1.2.2 Моделювання

1.2.2.1 Початок моделювання

Щоб починати моделювання, необхідно спочатку инициализировать моделююче пристрій, використовуючи опцію Initialize Simulation з меню Simulation.

Після того, як моделюючий пристрій було инициализировано, необхідно відкрити нове вікно форми сигналу (Waveform), вибравши кнопку панелі New Waveform. Нове вікно Waveform можна також бути відкрити, за допомогою команди New > Waveform з меню File.

Спочатку після відкриття нове вікно Waveform порожнє. Внести сигнали, які необхідно спостерігати. На вкладці Structure вікна Design Browser, виберіть компонент, чиї порти необхідно спостерігати, і, утримуючи ліву кнопку миші, перетягнете його в ліву частину вікна Waveform і відпустите кнопку. Можна вносити сигнали по окремості, перетаскуючи їх у вікно Waveform з нижньої частини подокна Structure.


Якщо необхідно видалити сигнал, натисніть праву кнопку. З'явиться выпадающее меню утримуюче пункт Delete item. Виберіть цю опцію, щоб видалити сигнал. Можна також додавати сигнали використовуючи скорочене меню правої кнопки миші, клацнувши в лівій частині вікна Waveform.

Active-HDL дозволяє переглядати результати моделювання у формі таблиці, із указівкою величин затримок. Вікно List Viewer Дозволяє переглядати значення сигналів, але не дозволяє їх змінювати. Щоб відкрити вікно можна використовувати кнопку New List

 

палітри інструментів. Після цього з'явиться наступне вікно.


Додати сигнали у вікно List Viewer можна також як і у вікно Waveform. Перетягнете необхідні сигнали з подокна Structure вікна Design Browser. Вікно List Viewer утримуюче сигнали може виглядати в такий спосіб.


1.2.2 Виконання моделювання

Перейдіть до лівої панелі вікна Waveform Viewer, і виберіть сигнал CLK. Натисніть праву кнопку, щоб викликати спливаюче меню.


Виберіть пункт Stimulators. З'являється наступне вікно:


З облікового полючи Stimulator type (Тип моделювання), виберіть Clock(Годинник).


Помістите покажчик миші усередину полючи Frequency (частота) і подвійним щигликом уключите режим редагування. Уведіть величину 50 MHZ. Apply, щоб привласнити властивості сигналу, потім кнопку Close.

Потім, виберіть сигнал RESET, пункт Stimulators зі скороченого меню, і пункт Formula з облікового полючи Stimulator type.

Вираження Formula використовує наступний синтаксис:

,....., <-r period>

(<значення><час>,....., <значення><час>< -r період >)

Ми не будемо використовувати перемикач -r, оскільки він підходить для періодичних сигналів.

Уведіть наступні значення в поле Enter formula: 1 0, 0 10000

Уведена для RESET формула означає:

• Високий стан 10 ns, починаючи з 0 ns – 1 0 у вираженні;

• після 10 ns (10000 ps) низький стан сигналу – 0 10000 у вираженні.

Натисніть кнопку Apply, потім закрийте діалогове вікно Stimulators.

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


Щоб виконати покрокове моделювання, натисніть кнопку Trace Over (F8).

Можна також натиснути кнопку Run For, що виконує моделювання для часу зазначеному в поле праворуч від кнопки Run For.

Повинні вийти наступні результати:

Шина Q може бути розширена, натискаючи “+” знак поруч з міткою.

Закінчите моделювання виконавши команду End Simulation з меню Simulator.

Щоб вивести результати у формі таблиці переключитеся на відкрите вікно List Viewer. Воно повиннео містити наступну інформацію.


Щ
об підвищити точність відображення результатів натисніть кнопку

Active-HDL дозволяє виконувати моделювання також за допомогою автоматично сгенерированного test benche. Можна також промоделировать сигнали з Waveform створеної у вікні Waveform Editor.

1.3 Порядок виконання роботи

1. Створити і промоделировать модель пристрою як було описано вище. Виконати проектування лічильника, як описано вище.

2. Написати функціональну модель пристрою мовою VHDL. Виконати моделювання проекту.


Варіанти завдань:


1 Використовуючи паралельні оператори, створити поведінкову модель та провести моделювання комбінаційної схеми.

2. Створити функціональну модель та провести моделювання десяткового реверсивного лічильника із синхронізацією по передньому фронті. CLK — синхровход, R — ассинхронный скидання, Q [3:0] — виходи, E0 і E1 — керуючі входи.

E0 E1 Операція
1 0 Рахунок на збільшення
0 1 Рахунок на зменшення
1 1 Збереження стану
0 0

 

3. Спроектувати функціональну модель та провести моделювання реверсивного лічильника, що робить в коді Грея. CLK — синхровхід, R — асинхроний скид, D[2:0] — паралельні входи, Q [2:0] — виходи, E0 і E1 — керуючі входи.

E0 E1 Операція
1 0 Рахунок на збільшення
0 1 Рахунок на зменшення
1 1 Паралельне введення
0 0 Збереження стану

 

4. Записати за допомогою логічних рівнянь VHDL код для повного чотирьох розрядного пристрою, що віднімає. A[3:0], B[3:0] — входи даних, Sub [3:0} — вихід, провести моделювання.

5. Написати на VHDL функціональну модель та провести моделювання 16-ти розрядного сдвигового регістра з послідовним входом SI і послідовним виходом S0, із синхронізацією по передньому фронті. EN — вхід дозволу синхронізації, якщо на нього подається логічна одиниця. CLK — вхід синхронізації.

6. Створити функціональну модель та провести моделювання чотирьох розрядного двохспрямованого зсувного регістра із синхронізацією по передньому фронті. SDR на вхід подається значення для старшого розряду Q3 при зрушенні вправо, SDL — для молодшого розряду Q0 при зрушенні вліво, при CLBb = 0 відключаються всі керуючі входи.

E0 E1 Операція
1 0 Зрушення вправо
0 1 Зрушення вліво
1 1 Паралельне введення даних
0 0 Збереження стану

 

7. Записати VHDL модель та провести моделювання дешифратора 3->8, використовуючи логічні рівняння.

8. Записати VHDL модель та провести моделювання шифратора 8->3, використовуючи логічні рівняння.

9. Записати VHDL модель та провести моделювання шифратора 8->3, використовуючи паралельні оператори чи вибору умови.

10. Написати функціональну VHDL модель та провести моделювання нагромаджуючого сумматора, для якого CLK — синхровход, R — асинхроний вхід скидання, А [3:0] — входи даних,

Q [3:0] — виходи, EN — вхід дозволу синхронізації.


11. Синтезувати мультиплексор малої розмірності за допомогою оператора case та провести моделювання.

12. Синтезувати мультиплексор малої розмірності, використовуючи паралельний оператор select вибіркового призначення сигналу та провести моделювання.

13. Синтезувати мультиплексор великої розмірності, для сигналу на керуючому вході типу integer та провести моделювання.

14. Синтезувати демультиплексор для довільної розрядності за допомогою оператора generic.

15. Синтезувати постійне запам'ятовуюче пристрій, що реалізує функції, задані відповідною таблицею істинності.


3. Скласти звіт.

1.4. Зміст звіту


Звіт повинний містити опис і VHDL код створеного проекту, результати моделювання.

1.5 Контрольні питання

1. Що таке Entity?

2. Що таке Architecture?

3. Як і де описуються зовнішні лінії пристрою?

4. У який момент сигналам у процесі привласнюються нові значення?

5. Які типи операторів міститися в процесі?


Література:


  1. П.Н. Бибило. Синтез логических схем с использованием языка VHDL -М.: СОЛОН-Р, 2002.-384 с.: ил.


2. П.Н. Бибило. Основы языка VHDL М.: СОЛОН-Р, 2000.-200 с.; ил.

Контрольні завдання з дисципліни «Методи та засоби комп’ютерних інформаційних технологій»


1 Використовуючи паралельні оператори, створити поведінкову модель та провести моделювання комбінаційної схеми.

 

2. Створити функціональну модель та провести моделювання десяткового реверсивного лічильника із синхронізацією по передньому фронті. CLK — синхровход, R — ассинхронный скидання, Q [3:0] — виходи, E0 і E1 — керуючі входи.


E0 E1 Операція
1 0 Рахунок на збільшення
0 1 Рахунок на зменшення
1 1 Збереження стану
0 0

 

3. Спроектувати функціональну модель та провести моделювання реверсивного лічильника, що робить в коді Грея. CLK — синхровхід, R — асинхроний скид, D[2:0] — паралельні входи, Q [2:0] — виходи, E0 і E1 — керуючі входи.


E0 E1 Операція
1 0 Рахунок на збільшення
0 1 Рахунок на зменшення
1 1 Паралельне введення
0 0 Збереження стану

 

4. Записати за допомогою логічних рівнянь VHDL код для повного чотирьох розрядного пристрою, що віднімає. A[3:0], B[3:0] — входи даних, Sub [3:0} — вихід, провести моделювання.

5. Написати на VHDL функціональну модель та провести моделювання 16-ти розрядного сдвигового регістра з послідовним входом SI і послідовним виходом S0, із синхронізацією по передньому фронті. EN — вхід дозволу синхронізації, якщо на нього подається логічна одиниця. CLK — вхід синхронізації.

6. Створити функціональну модель та провести моделювання чотирьох розрядного двохспрямованого зсувного регістра із синхронізацією по передньому фронті. SDR на вхід подається значення для старшого розряду Q3 при зрушенні вправо, SDL — для молодшого розряду Q0 при зрушенні вліво, при CLBb = 0 відключаються всі керуючі входи.

 

E0 E1 Операція
1 0 Зрушення вправо
0 1 Зрушення вліво
1 1 Паралельне введення даних
0 0 Збереження стану

 

7. Записати VHDL модель та провести моделювання дешифратора 3->8, використовуючи логічні рівняння.

8. Записати VHDL модель та провести моделювання шифратора 8->3, використовуючи логічні рівняння.

9. Записати VHDL модель та провести моделювання шифратора 8->3, використовуючи паралельні оператори чи вибору умови.

10. Написати функціональну VHDL модель та провести моделювання нагромаджуючого сумматора, для якого CLK — синхровход, R — асинхроний вхід скидання, А [3:0] — входи даних,

Q [3:0] — виходи, EN — вхід дозволу синхронізації.


11. Синтезувати мультиплексор малої розмірності за допомогою оператора case та провести моделювання.

12. Синтезувати мультиплексор малої розмірності, використовуючи паралельний оператор select вибіркового призначення сигналу та провести моделювання.

13. Синтезувати мультиплексор великої розмірності, для сигналу на керуючому вході типу integer та провести моделювання.

14. Синтезувати демультиплексор для довільної розрядності за допомогою оператора generic.

15. Синтезувати постійне запам'ятовуюче пристрій, що реалізує функції, задані відповідною таблицею істинності.



 

Лабораторная работа 4-5

Функции и процедуры

Задание

Написать на языке VHDL требуемые функции и процедуры, провести их моделирование. Требуемые собственные типы данных определить в пакете.

 


Дата добавления: 2015-11-14; просмотров: 34 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ВИМОГИ ДО СТРУКТУРИ ТА ЗМІСТУ НАВЧАЛЬНОГО МАТЕРІАЛУ ПРИ СКЛАДАННІ ПРЕЗЕНТАЦІЙ| Рекомендуемый порядок выполнения

mybiblioteka.su - 2015-2024 год. (0.084 сек.)