Розробка на структурному рівні

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2002
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Проектуванння периферійних комп’ютерних мікросистем
Група:
СКС

Частина тексту файла (без зображень, графіків і формул):

Національний університет "Львівська політехніка" Кафедра ЕОМ Звіт про виконання лабораторної роботи №2 з курсу "Проектуванння периферійних комп’ютерних мікросистем" на тему: “ Розробка на структурному рівні” Мета роботи: створення і перевірка структурних VHDL-описів кристалу та зовнішніх корпусних контактних майданчиків. Теоретична частина: На цьому етапі переходять від функціонального опису кристалу до структурного. Тут кристал розбивається на два конструктиви: 1). Безпосередньо схема кристалу (core). 2). Зовнішні корпусні контактні майданчики (pads). Структурний рівень передбачає опис цих двох конструктивів мовою структурного опису VHDL. Відмінність структурного опису VHDL від функціонального полягає в тому, що в структурному описі оперують реальними бібліотечними елементами кристалу. Створити структурний опис, який за обсягом на кілька порядків більший за функціональний, важко. Тому пакет Alliance передбачає два незалежних способи автоматизоавного отримання структурного опису для core та pads: 1) За допомогою текстового редактора створюється файл мовою С. Цей файл є проміжним форматом для створення структурного опису. У ньому за допомогою викликів спеціальних функцій формується виборка необхідних елементів з бібліотеки кристалу. Далі програмою-компілятором GENLIB проміжний С-файл переводять у необхідний структурний опис. У системі Alliance цей спосіб є рекомендованим. 2) Другий спосіб не вимагає додаткового набору інформації. Достатньо скористатись програмою-генератором LOGIC, на вхід якої задають функціональний VHDL-опис, а на виході отримують структурний VHDL-опис. Виборка бібліотечних елементів кристалу відбувається автоматично. Після отримання структурних описів для core та pads, виконується симуляція на структурному рівні. Користуючись симулятором ASIMUT, перевіряють роботу тестових наборів на структурній VHDL-моделі безпосередньо схеми кристалу core. При виникненні помилки слід повернутись на попередні рівні. Симуляція для структурного опису зовнішніх корпусних контактних майданчиків pads не потрібна, оскільки цей опис не містить логічних перетворень сигналів. Тексти проміжних описів на мові С: # ,,,,, # (o o) ####=====oOO--(_)--OOO=====#### # core.с #include <genlib.h> main() { DEF_LOFIG("core"); LOCON("a[3:0]", IN, "a[3:0]"); /* input bus a */ LOCON("b[3:0]", IN, "b[3:0]"); /* input bus b */ LOCON("e", OUT, "e"); /* output wire */ LOCON("vdd", IN, "vdd" ); /* power supply */ LOCON("vss", IN, "vss" ); /* ground */ for (int i = 0; i < 4; i++) {LOINS("xr2_y", NAME("xr%d",i),NAME("a[%d]",i),NAME("b[%d]",i),NAME("int[%d]",i),"vdd","vss",0);} LOINS("o3_y", "or1", "int[0]", "int[1]", "int[2]", "int[4]", "vdd", "vss", 0); LOINS("o2_y", "or2", "int[3]", "int[4]", "int[5]", "vdd", "vss", 0); LOINS("n1_y", "n10", "int[5]", "e", "vdd", "vss", 0); SAVE_LOFIG(); exit(0); } # ,,,,, # (o o) ####=====oOO--(_)--OOO=====#### # cmp4.с #include <genlib.h> main() {int i; DEF_LOFIG("cmp4"); LOCON("a[3:0]", IN, "a[3:0]"); /* input bus a */ LOCON("b[3:0]", IN, "b[3:0]"); /* input bus b */ LOCON("vdd", IN, "vdd" ); /* core power supply */ LOCON("vss", IN, "vss" ); /* core ground */ LOCON("vdde", IN, "vdde" ); /* pads power supply */ LOCON("vsse", IN, "vsse" ); /* pads ground */ LOCON("e", OUT, "e"); /* output */ LOINS ("pvsse_sp", "p9", "cki", "vdde", "vdd", "vsse", "vss", 0); LOINS ("pvsse_sp", "p10", "cki", "vdde", "vdd", "vsse", "vss", 0); LOINS ("pvdde_sp", "p11", "cki", "vdde", "vdd", "vsse", "vss", 0); LOINS ("pvssi_sp", "p12", "cki", "vdde", "vdd", "vsse", "vss", 0); LOINS ("pvddi_sp", "p13", "cki", "vdde", "vdd", "vsse", "vss", 0); for (i = 0; i < 4; i++) LOINS("pi_sp",NAME("p%d",i),NAME("a[%d]",i),NAME("aa[%d]",i),"cki","vdde","vdd","vsse","vss",0); for (i = 0; i < 4; i++) LOINS("pi_sp",NAME("p%d",i+4),NAME("b[%d]",i),NAME("bb[%d]",i),"cki","vdde","vdd","vsse","vss", 0); LOINS("po_sp", "p8", "ee", "e", "cki", "vdde", "vdd", "vsse", "vss", 0); LOINS("core", "core", "aa[3:0]", "bb[3:0]", "ee", "vdd", "vss", 0); SAVE_LOFIG(); exit(0); /* necessary for the proper run of the Makefile */ } Файл з тестовими наборами: # ,,,,, # (o o) ####=====oOO--(_)--OOO=====#### # cmp4_vst.pat in vdd; in vss; in vdde; in vsse; in a(3 to 0); in b(3 to 0); out e; begin # aa=0, bb=3, we expect value 0 on ee pat_1 : 1 0 1 0 0000 0011 ?0 ; # aa=5, bb=4, we expect value 0 on ee pat_1 : 1 0 1 0 0101 0100 ?0 ; # aa=2, bb=2, we expect value 1 on ee pat_1 : 1 0 1 0 0010 0010 ?1 ; # aa=2, bb=2, we expect value 1 on ee pat_1 : 1 0 1 0 1010 1010 ?1 ; end; Перетворюємо проміжний структурний опис core.c в структурний VHDL-опис core.vst за допомогою компілятора GENLIB: # ###--------------------------------------------------------------------------### # generate structural description of the circuit's core # # core.c is the schematic capture of the core, using # # the genlib language # # the environment variable specify the structural VHDL format # # ###--------------------------------------------------------------------------### MBK_IN_LO=vst ;MBK_OUT_LO=vst ;MBK_CATA_LIB=$TOP/cells/scr ;\ export MBK_IN_LO MBK_OUT_LO MBK_CATA_LIB ;\ genlib core core.c --> core.vst В результаті отримаємо структурний VHDL-опис core.vst Далі за допомогою текстового редактора створюємо наступний проміжний структурний опис для cmp4.c Перетворюємо проміжні структурні описи cmp4.c та core.c, які включаються в cmp4.c, в результуючий структурний VHDL-опис cmp4.vst за допомогою компілятора GENLIB: # ###--------------------------------------------------------------------------### # generate structural description of the complete circuit # # addaccu.c is the schematic capture of the circuit, using # # the genlib language # # the circuit can be generated only if the core is generated # # the environment variable specify the structural VHDL format # # ###--------------------------------------------------------------------------### MBK_IN_LO=vst ;MBK_OUT_LO=vst ;MBK_CATA_LIB=$TOP/cells/scr:$TOP/cells/ring ;\ export MBK_IN_LO MBK_OUT_LO MBK_CATA_LIB ;\ genlib cmp4 [3] cmp4.c --> cmp4.vst Останньою дією, що проводиться на етапі розробки на структурному рівні, є симуляція на структурному рівні з використанням тестових наборів: # ###---------------------------------------------------------### # check the correctness of the generated structural # # description running the logic simulation # # ###---------------------------------------------------------### MBK_IN_LO=vst ;MBK_CATA_LIB=$TOP/cells/scr:$TOP/cells/ring ;\ export MBK_IN_LO MBK_CATA_LIB ;\ asimut cmp4 cmp4 schema [4] вихідний файл з результатами тестування cmp4.pat cmp4u.vst Виникнення помилки на цьому етапі означає повернення на попередні рівні. Висновок : В даній лабораторній роботі я створив і перевірив структурний VHDL-опис кристалу та зовнішні корпусні контактні майданчики чотирьох розрядного компаратора засобами САПР НВІС – Alliance 3.2b.
Антиботан аватар за замовчуванням

31.03.2013 14:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!