Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

docs / PROLAB7

.DOC
Скачиваний:
26
Добавлен:
17.04.2013
Размер:
28.72 Кб
Скачать

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОННОЙ ТЕХНИКИ

Кафедра Проектирования И Конструирования Интегральных МикроСхем

Курс: Экспертные системы в САПР СБИС

Лабораторная работа N 7

Создание пользовательского интерфейса экспертной системы,

базирующейся на логике, в Турбо-прологе.

Подготовил: Авдеев Е.В.

Москва, 2000 г.

Цель работы: изучение и практическое освоение возможностей применения среды "Turbo-prolog" для создания экспертной системы САПР.

Введение. Некоторые средства и методы Турбо-пролога.

Блок пользовательского интерфейса экспертной системы как базирующейся на логике, так и базирующейся на правилах, реализует следующие функции:

Обработка данных, принимаемых с клавиатуры, и визуализация входных и выходных данных.

Поддержка диалога между пользователем и системой.

Распознавание ситуации непонимания между пользователем и системой.

Обеспечение "дружественности" по отношению к пользователю.

Блок строится как набор правил в разделе clauses

Рассмотрим для примера систему пользовательского интерфейса из файла work8.pro.

Целевое правило do_expertiza создает дружественное меню, облегчающее диалог, и исполняет экспертную функцию с помощью правила do_consulting, контролируя окончание диалога.

do_expertiza,:-

makewindow(1,7,6,"ЭКСПЕРТНАЯ СИСТЕМА",1,18,22,58),

nl,write("********************************************************"),

nl,write("Нужен адвокат "),

nl,write("Отвечайте только <да> или <нет>"),

nl,

do_consulting.

do_expertiza:-nl,

write("На выход- ENTER"),nl,

readln(_),

removewindow,

exit.

Продукционное правило исполнения экспертной функции do_consulting уточняет запрос пользователя и запрашивает необходимую информацию в базе данных, сообщая результаты пользователю и извиняясь, если имеющихся данных недостаточно.

do_consulting:-

advokat(X),!,nl,

write("Фамилия адвоката для Вас ",X," ."),nl,

clear_facts.

do_consulting:-

nl,write("Жаль не могу вам помочь!"),

clear_facts.

Пользователь может пополнить набор правил этой экспертной системы, дописав нужные строки в раздел clauses, и затем повторить диалог.

/*ПРОДУКЦИОННЫЕ ПРАВИЛА */

advokat("Федоров"):-

positive("берет ","до 50$"),

positive("имеет стаж ","4 года"),!.

. . .

Лабораторные средства:

каталог LRPR2000 с подкаталогом GEOLAB и файлами

prolog.exe - экспертная оболочка "Тurbo-prolog",

prolog.cfg - текущая конфигурация системы,

prolog.err - расшифровка диагностических кодов,

prolog.hlp - описание системы "Turbo-prolog",

prolog.lib, prolog.ovl - вспомогательные подсистемы "Тurbo-prolog".

prolab1-..-8.doc - описания лабораторных работ 1-..-8.

work2-..-8.pro - рабочие файлы, содержащие на языке "Тurbo-prolog" примеры программ

ТИПОВАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ 7:

1) Распаковать на диск D файл prolog00.arj с созданием каталога LRPR2000

arj x -r prolog00.arj d:\

Изучить лабораторное задание prolab7.doc и войти в оболочку prolog.exe

Изучить структуру и функции программы БАЗА ЗНАНИЙ, реализующую резидентный вариант на языке Турбо-пролог в файле work7.pro, скомпилировать и выполнить ее в диалоге. Изучить раздел пользовательского интерфейса

Разработать, ввести, поставив в нужных местах программные заглушки, собственный интерфейс пользователя, реализующий вариант индивидуального задания, получив у преподавателя номер своего варианта. Выполнить отладку программы.

Сдать лабораторную работу 7, предъявив результаты отладки созданной по пункту 4) программы на заданной серии вопросов, и сохранить нужные Вам файлы в Вашем Рабочем Каталоге.

Уничтожить созданный Вами каталог TPROLOG на диске D со всем содержимым.

ВАРИАНТЫ ЛАБОРАТОРНОГО ЗАДАНИЯ 7 и 8

Создать экспертную систему, базирующуюся на логике, для

1. Абонентов Локальной Вычислительной Сети.

2. Графических компонент пользовательского интерфейса САПР.

3. Логических элементов БИС.

4. Склада запчастей ПЭВМ.

5. Схемотехнических компонентов принципиальных схем.

6. Топологических компонентов ИМС.

7. Генераторов тригонометрических функций.

8. Неисправностей электронного оборудования.

9. Программных компонентов САПР.

10. Интеллектуального тестера для обнаружения неисправностей в электрической цепи.

11. Системы размещения топологии и геометрических требований.

12. Системы анализа задержек для заданной топологии.

13. Библиотеки микросхем.

14. Абонентов Локальной Вычислительной Сети.

15. Графических компонент пользовательского интерфейса САПР.

16. Логических элементов БИС.

17. Склада запчастей ПЭВМ.

18. Схемотехнических компонентов принципиальных схем.

19. Топологических компонентов ИМС.

20. Генераторов тригонометрических функций.

21. Неисправностей электронного оборудования.

22. Программных компонентов САПР.

23. Интеллектуального тестера для обнаружения неисправностей в электрической цепи.

24. Системы размещения топологии и геометрических требований.

25. Системы анализа задержек для заданной топологии.

26. Библиотеки микросхем.

Варианты тестовых вопросов к созданным экспертным системам

1.

1.1. Есть ли в данный момент связь между заданными абонентами.

1.2. Сколько и каких клиентов у какого сервера.

1.3. Какая задача потребовала участия трех абонентов.

1.4. Сколько свободных ресурсов осталось у заданного абонента.

2.

2.1. Есть ли в данный момент связь между заданными окнами.

2.2. Сколько и каких файлов открыты в каком окне.

2.3. Какое из приложений имеет три незакрытых файла.

2.4. В какое окно идет выдача текста и какое окно принимает текст с клавиатуры.

3.

3.1. Используются ли в заданном мультиплексоре одновременно инвертор и ячейка И.

3.2. Сколько и каких выходов у заданных 3х-входовых ячеек ИЛИ.

3.3. Какое из устройств имеет в структуре триггер.

Есть ли и сколько быстродействующих элементов.

4.

4.1. Есть ли на складе на одной полке монитор, клавиатура и CD-ROM.

4.2. Сколько и каких одинаковых устройств находятся на каких заданных полках.

4.3. На каких полках имеется хотя бы один системный блок.

4.4. Есть ли на складе японский принтер.

5.

5.1. Есть ли в заданных схемах (и каких) индуктивности.

5.2. В каких схемах одинаковое число резисторов.

5.3. Чего больше в заданных схемах - резисторов или конденсаторов.

5.4. Существует ли схема, в которой номинал емкости более 100 пикофарад.

6.

6.1. Есть ли в заданных топологических фрагментах 20-выводные посадочные места под корпуса микросхем.

6.2. В каких фрагментах одинаковой ширины области трассировки.

Предусмотрены ли в заданном фрагменте сильноточные коллекторные цепи.

7.

7.1. Какие из заданных генераторов относятся к периодическим функциям.

7.2. Какие из генераторов относятся к нечетным функциям.

7.3. В каких генераторах период менее 4 вещественных радиан.

7.4. Есть ли в пакете генератор косеканса.

8.

8.1. В каких устройствах имеется по нескольку дефектов.

8.2. В каких из ремонтопригодных устройств обнаружена генерация.

8.3. Какие из устройств, в которых не классифицированы дефекты, работоспособны полностью.

8.4. Какой из дефектов является общим для трех заданных устройств.

9.

9.1. Какие из имеющихся конвертеров могут диагностировать EDIF-описания.

9.2. Графические интерфейсы каких приложений работают в среде DOS.

9.3. Какие программы печати не умеют распечатывать тексты на санскрите.

9.4. Какие общие признаки у трех заданных программных компонентов.

10.

10.1.Какое напряжение следует использовать для определения величины емкости.

10.2.Какие устройства в электрической цепи требуют тестового напряжения более 100 вольт при токе регистратора от 1 миллиампера.

10.3.Сколько времени потребует измерение RC-цепи

при напряжении батареи в тестере 1 вольт.

10.4.Умеет ли тестер различать резисторы с одинаковой маркировкой.

11.

11.1.Какие из заданных стандартных элементов можно использовать, если область размещения 100х1000 дискретов кв..

11.2.В каких ориентациях заданный элемент можно разместить внутри заданного многоугольника.

11.3.Могут ли заданные элементы совпадать друг с другом заданными сторонами.

11.4.Уместятся ли по площади заданные элементы внутри заданной топологической фигуры.

12.

12.1.Какие из затворов каких вентилей имеют задержки менее заданной величины.

12.2.Можно ли не учитывать транспортную задержку для заданного

элемента при моделировании с точностью 50%.

12.3.Какие из заданных логических элементов применимы при частотах

тактирования выше 10 мегагерц.

12.4.Какими одинаковыми параметрами описываются заданные элементы.

13.

13.1. Сколько в библиотеке микросхем КМОП.

13.2. Есть ли в библиотеке цифроаналоговые схемы свыше 1 Гигагерца.

13.3. У каких из цифровых микросхем одинаковая мощность.

13.4. В каких разделах библиотеки находятся чисто логические схемы.

14.

14.1.Есть ли в данный момент связь между заданными абонентами.

14.2.Сколько и каких клиентов у какого сервера.

14.3.Какая задача потребовала участия трех абонентов.

14.4.Сколько свободных ресурсов осталось у заданного абонента.

15.

15.1.Есть ли в данный момент связь между заданными окнами.

15.2.Сколько и каких файлов открыты в каком окне.

15.3.Какое из приложений имеет три незакрытых файла.

15.4.В какое окно идет выдача текста и какое окно принимает текст с клавиатуры.

16.

16.1.Используются ли в заданном мультиплексоре одновременно инвертор и ячейка И.

16.2.Сколько и каких выходов у заданных 3х-входовых ячеек ИЛИ.

16.3.Какое из устройств имеет в структуре триггер.

16.4.Есть ли и сколько быстродействующих элементов.

17.

17.1.Есть ли на складе на одной полке монитор, клавиатура и CD-ROM.

17.2.Сколько и каких одинаковых устройств находятся на каких заданных полках.

17.3.На каких полках имеется хотя бы один системный блок.

17.4.Есть ли на складе японский принтер.

18.

18.1.Есть ли в заданных схемах (и каких) индуктивности.

18.2.В каких схемах одинаковое число резисторов.

18.3.Чего больше в заданных схемах - резисторов или конденсаторов.

18.4.Существует ли схема, в которой номинал емкости более 100 пикофарад.

19.

19.1.Есть ли в заданных топологических фрагментах 20-выводные

19.2.посадочные места под корпуса микросхем.

19.3.В каких фрагментах одинаковой ширины области трассировки.

19.4.Предусмотрены ли в заданном фрагменте сильноточные коллекторные цепи.

20.

20.1.Какие из заданных генераторов относятся к периодическим функциям.

20.2.Какие из генераторов относятся к нечетным функциям.

20.3.В каких генераторах период менее 4 вещественных радиан.

20.4.Есть в пакете генератор косеканса.

21.

21.1.В каких устройствах имеется по нескольку дефектов.

21.2.В каких из ремонтопригодных устройств обнаружена генерация.

21.3.Какие из устройств, в которых не классифицированы дефекты, работоспособны полностью.

21.4.Какой из дефектов является общим для трех заданных устройств.

22.

22.1.Какие из имеющихся конвертеров могут диагностировать EDIF-описания.

22.2.Графические интерфейсы каких приложений работают в среде DOS.

22.3.Какие программы печати не умеют распечатывать тексты на санскрите.

22.4.Какие общие признаки у трех заданных программных компонентов.

23.

23.1.Какое напряжение следует использовать для определения величины емкости.

23.2.Какие устройства в электрической цепи требуют тестового напряжения более 100 вольт при токе регистратора от 1 миллиампера.

23.3.Сколько времени потребует измерение RC-цепи при напряжении

батареи в тестере 1 вольт.

23.4.Умеет ли тестер различать резисторы с одинаковой маркировкой.

24.

24.1.Какие из заданных стандартных элементов можно использовать, если область размещения 100х1000 дискретов кв..

24.2.В каких ориентациях заданный элемент можно разместить внутри заданного многоугольника.

24.3.Могут ли заданные элементы совпадать друг с другом заданными сторонами.

24.4.Уместятся ли по площади заданные элементы внутри заданной топологической фигуры.

25.

25.1.Какие из затворов каких вентилей имеют задержки менее заданной величины.

25.2.Можно ли не учитывать транспортную задержку для заданного элемента при моделировании с точностью 50%.

25.3.Какие из заданных логических элементов применимы при частотах тактирования выше 10 мегагерц.

25.4.Какими одинаковыми параметрами описываются заданные элементы.

26.

26.1. Сколько в библиотеке микросхем КМОП.

26.2. Есть ли в библиотеке цифроаналоговые схемы ниже 100 мегагерц.

26.3. У каких из цифровых микросхем наибольшая мощность.

26.4. В каких разделах библиотеки находятся чисто аналоговые схемы.

Е. Авдеев. 01.09.00.

Обычный

Основной шрифт абзаца

сновнойРHрифтР0бзацаЀ

3урбанскийР4митрийЖC:\TPROLOG\PROLAB7.DOC

C:\TPROLOG\PROLAB7.DOC

3урбанскийР4митрийУC:\EWA\PROLOGI_\TPROLOG\PROLAB7.DOC

гурбанский дмитрий#C:\EWA\PROLOGI_\TPROLOG\PROLAB7.DOC

3урбанскийР4митрийУC:\EWA\PROLOGI_\TPROLOG\PROLAB7.DOC

гурбанский дмитрий#C:\EWA\PROLOGI_\TPROLOG\PROLAB7.DOC

3урбанскийР4митрийУC:\EWA\PROLOGI_\TPROLOG\PROLAB7.DOC

гурбанский дмитрий#C:\EWA\PROLOGI_\TPROLOG\PROLAB7.DOC

3урбанскийР4митрийУC:\EWA\PROLOGI_\TPROLOG\PROLAB7.DOC

гурбанский дмитрий#C:\EWA\PROLOGI_\TPROLOG\PROLAB7.DOC

Гурбанский$C:\WIN208\TEMP\Автокопия PROLAB7.asd

Гурбанский*C:\WIN208\Рабочий стол\TPROLOG\PROLAB7.DOC

@Epson FX-80+

EPSON9

Epson FX-80+

Epson FX-80+

Epson FX-80+

Epson FX-80+

Epson FX-80+

Times New Roman

Times New Roman

Symbol

Symbol

MS Dialog Light

MS Dialog Light

3урбанскийР4митрийЊ

гурбанский дмитрий

Гурбанский

урбанскийЀ

kКыяf…А|zVSf‰=ФљeHj

eHUVWh

Normal

Microsoft Word 8.0

2РDайлеР:онфигурацииЮ

в файле конфигурации. Периодическое событие может быть описано уравнением формы a + bx, где a и b имеют размерность времени, а x - литеральный символ, сопровождаемый по крайней мере одним пробелом или табуляцией и значением, назначаемым сигналу. Применение этой команды заставит событие в сигнале происходить в моменты времени a + bx для x = 0,1,2,3, ... .

Например, файл:

0ns 0

500ns+100ns x 0

550ns+100ns x 1

описывает сигнал, установленный первоначально в нуль, после задержки на время, равное 500ns, имеющий 100ns цикл во времени со скважностью 50%.

Содержание файла calc.vhd:

-- ADDER - это пример сумматора с переносом

entity adder is

port (a, b: in bit_vector (3 downto 0);

sum: out bit_vector (3 downto 0);

carry: out bit);

end adder;

architecture rtl of adder is

signal carry_vector : bit_vector (4 downto 0);

signal interm : bit_vector (3 downto 0);

begin

-- промежуточный сигнал для логики

interm<=transport a xor b after 1ns;

-- логика переноса

carry_vector<=((a and b) or (interm and carry_vector(3 downto 0))) & 0

after 2ns;

sum<=transport interm xor carry_vector(3 downto 0) after 1ns;

carry<=carry_vector(4);

end rtl;

-- тест сумматора как компонента

entity test_adder is

end test_adder;

library vector;

use std.textio.all,vector.functions.all;

architecture behaviour of test_add牥椠൳†潣灭

er is

component adder

port (a, b: in bit_vector (3 downto 0);

sum: out bit_vector (3 downto 0);

carry: out bit);

end component;

for all:adder use entity work.adder;

signal op1_int,op2_int,result_int : integer :=0;

signal op1,op2,result : bit_vector(3 downto 0);

begin

SOFTWARE\Microsoft\Office\8.0\PowerPoint

SOFTWARE\Microsoft\Office\8.0\New User Settings\PowerPoint\Options

Auto Registration

SOFTWARE\Microsoft\Office\8.0\PowerPoint\Options

Auto Registration

SOFTWARE\Microsoft\O

-- экземпляр ADDER-а

inst1: adder

port map (op1,op2,result);

-- преобразование входов на выходы

op1<=to_bit(4,op1_int);

op2<=to_bit(4,op2_int);

result_int<=to_natural(result);

-- бесконечный цикл чтения операндов

p1: process

variable

S但呗䅒䕜䵩捲潳潦瑜传 -- MкземплярРADDER-0Ѝ inst1: adder

port map (op1,op2,result);

-- ?реобразованиеР2ходовР=аР2ыходыЍ op1<=to_bit(4,op1_int);

op2<=to_bit(4,op2_int);

result_int<=to_natural(result);

-- 1есконечныйРFиклРGтенияР>перандовЍ p1: process

variableþ＀

_PID_GUID

{F32EA0C0-8008-11D4-8DE2-A0F9622EA915}

{F32EA0C0-8008-11D4-8DE2-A0F9622EA915}

AленийР2РAумматореР

wait for 15ns;

end process;

end;

!одержаниеРDайлаРcalc.env:

4ns step

16ns view

result watch

result_int watch

op1_int watch

op2_int watch

!одержаниеР8Р=азначениеР4емонстрационногоРDайлаРdemo.bat:

vhdl calc.vhd - - :омпиляцияРDайлаРcalc 2Р>бъектныйРDайлЍlink calc calc test_adder - - @едактированиеРAвязейР>бъектногоР

- - DайлаРAР?роектомРCказанногоР8мениЍ - - 2Р4воичныйР8сполняемыйРDайлЍsve 100 calc calc.env - - 7агрузкаР2Р8нтерактивнуюРAредуР

- - 100 =сР<оделированиеРAР:онфигурационнымЍ- - DайломР CказанногоР8мениР.

слений в сумматоре

wait for 15ns;

end process;

end;

Содержание файла calc.env:

4ns step

16ns view

result watch

result_int watch

op1_int watch

op2_int watch

Содержание и назначение демонстрационного файла demo.bat:

vhdl calc.vhd - - компиляция файла calc в объектный файл

link calc calc test_adder - - редактирование связей объектного

- - файла с проектом указанного имени

- - в двоичный исполняемый файл

sve 100 calc calc.env - - загрузка в интерактивную среду

- - 100 нс моделирование с конфигурационным

- - файлом указанного имени .

Лекция 13

6.4.3. – 6.5.7.

Переменные это объекты, совместимые с сигналами. Они могут служить тем же целям, что и сигналы, но пригодны и в тех случаях, когда сигналы неудобны – описания алгоритмов внутри процессов. Переменные объявляются внутри процессов и не могут использоваться вне их.

Сигналы имеют три характерных свойства: тип, значение и время. Имеется, в частности, скрытая взаимосвязь между значением и временем: сигнал имеет последовательность своих значений во времени, который называется предысторией сигнала. Таким образом, имеется возможность проверить, какое значение имел сигнал прежде или когда произошло последнее изменение его значения.

Переменная имеет два свойства: тип и значение. Нет никакой предыстории переменных и существенно только текущее значение переменной.

13. Процессы, которые исполняют свои утверждения в линейной последовательности, довольно редки. Практически процессы представляют реальные операции.

Курсовое проектирование

Лекция 14

ОПИСАНИЕ СИСТЕМНОЙ СТРУКТУРЫ. 8.1. – 8.2.3.

Поведенческое описание определяет систему в терминах ее функций без указания того, как они реализуются. Структурное описание показыва

оведенческоеР>писаниеР>пределяетРAистемуР2РBерминахР5еРDункцийР1езРCказанияРBогоЬ :акР>ниР@еализуютсяЮ !труктурноеР>писаниеР?оказываЁ

Root Entry

1Table

1Table

WordDocument

WordDocument

SummaryInformation

SummaryInformation

DocumentSummaryInformation

DocumentSummaryInformation

CompObj

CompObj

C000-000000000046}\ProgID

00-0000-C000-000000000046}

00-0000-C000-000000000046}

Microsoft Word

MSWordDoc

Word.Document.8

Соседние файлы в папке docs