Amaliy mashg’ulot №8. Vlsi fpga uchun matlab yordamida sun'iy neyron tarmoqlarni loyihalash Ishning maqsadi
Resurslarni optimallashtirish va avtomatik kod yaratish
Download 0.92 Mb.
|
8-amaliy ish
- Bu sahifa navigatsiya:
- 8.1 -jadval.
- XC6SLX9 XC6SLX16 XC6SLX25
- 8.7. Algoritmni sinovchi-moslashtirgich taxtasida(bosma platasida) tekshirish.
- 8.8. Ishni bajarish uslubi va tartibi.
8.6. Resurslarni optimallashtirish va avtomatik kod yaratish.
Neyron tarmoqni boshqarish uchun apparat platformasi sifatida Xilinx kompaniyasining SPARTAN 6 SoC (XC6SLX9) FPGA sozlash bosma elektr platasi tanlangan. FPGA uchun eng muhim apparat resurslari quyidagilardir: mantiqiy yacheykalar soni, ko'paytuvchilar soni va o'rnatilgan xotira miqdori. Bu FPGA uchun asosiy parametrlar 8.1 -jadvalda keltirilgan.
Boshlang’ich sozlashlarni qo’llab HDL-Coder vositasi yordamida NT algoritmining Simulink modelidan olingan Verilog kodi asosida 8.15-rasmning chap tomonida ko'rsatilgan FPGA resurslari ishlatilgan. Rasm shuni ko'rsatadiki, jalb qilingan ko'paytiruvchilar soni bo'yicha (600), algoritm tanlangan FPGA (faqat 112 ko'paytirgich yaratish mumkin) ga to'g'ri kelmaydi. Hisobotdan, har bir blok foydalanadigan resurslarni batafsil o'rganib chiqqandan so'ng, eng ko'p ko'paytiruvchilar tarmoqning ikkinchi qavatida ("Convolution_layer"), - 500 ko’paytirgichdan foydalanilganligi aniglandi. Modulda ishlatilgan ko'paytirgichlarni kamaytirish uchun optimallashtirish oborilib, bitta blokda 20 xil ko'paytmani bajarish uchun ishlatiladigan bitta ko’paytirgich qo’lanildi. Bu albatta ko’paytirgichni 20 marta NT ishchi chastotasidan tezroq ishlashiga va multipleksorlarni sonini oshishiga olib keladi. Shunday qilib, FPGA ichidagi resurslarni almashishdan foydalanib, ishlatilgan ko'paytiruvchilar sonini sezilarli darajada 600 dan 125 gacha kamaytirish mumkin bo’ladi. Optimallashtirilgan kodni xosil qilgan hisoboti 8.15 -rasmning o'ng tomonida keltirilgan. Hisobot shuni ko'rsatadiki, ishlatilgan registrlar sonini 29 mingdan 4 minggacha, bir bitli registrlar sonini 480 mingdan 77 minggacha kamaytirishga erishilgan, ammo faqat uncha sezilarsiz darajada multipleksorlarning soni 1107 dan 1210 gacha oshgan. Hozircha, NT algoritmi FPGA -dagi mavjud ko’paytirgichga (112 dona) qaraganda ko'proq ko'paytirgichlarni (125 dona) talab qiladi. Biroq, FPGA kod sintezatorlari asosiy mantiq elementlaridan ko'paytirgichlar yaratishga qodir va shu imkonyatdan foydalanish kerak. 8.7. Algoritmni sinovchi-moslashtirgich taxtasida(bosma platasida) tekshirish. Neyron tarmoq algoritmini sinab ko'rish uchun FPGA Xilinx Spartan-6 XC6SLX9 sinash paneli ishlatilgan. Sinash taxtasida algoritmni sinovdan o'tkazishdan oldin, NT algoritmi "FPGA in loop" rejimida raqamli ekvivalentligi tekshiriladi. "FPGA in loop" sinovdan o'tkazilayotganda, algoritmdan HDL-kod tuziladi va u kod panelidagi FPGA- chipga yoziladi. Shundan so'ng, FPGA algoritmi Simulink modeli bilan birgalikda ishga tushiriladi, kirish ma'lumotlari Simulink modelida ishlab chiqariladi, chiqish signallari Simulink -ga qaytariladi, bu erda natijalar "mos yozuvlar" Simulink modeli natijalari bilan raqamli ravishda taqqoslanadi. Keyingi bosqichda NT algoritmidan hosil qilingan HDL kodi algoritmi qayta CAD loyihalash tizimaga ulanadi (8.16 -rasm). 8.16-rasm. Neyron tarmoq modulini CAD tizimiga ulash. Simulink modelida kodni sinab ko'rish uchun tasvirning joriy boshi, oxiri va manzilining sinxronlash pulslarini hosil qilish uchun qo'shimcha modul qo'shildi. Shuningdek, algoritmni sinab ko'rish uchun 8192x8 bitli xotira moduli loyihaga 8 ta raqamli test tasvirini saqlash uchun qo'shilgan. Tashqi xotira manzillari SW0-SW2 kalitlari bilan o'rnatiladi, bu raqamlarni tasvirini tanib olish uchun qo'lda almashtirish imkonini beradi; xotira MATLAB -dan yaratilgan mat fayli bilan ishga tushiriladi. Neyron tarmoq moduli 50 MHz chastotada ishlaydi. Raqam tasvirini neyron tarmoq orqali tanib olish natijasi 10 ta LED chiroglardada ko'rsatiladi. 8.8. Ishni bajarish uslubi va tartibi. NNTool -ni ishga tushirish uchun MATLAB buyruqlar oynasida shu nomdagi buyruqni bajarish kerak: >> nntool Shundan so'ng, tarmoq / ma'lumotlar menejeri oynasi deb nomlangan asosiy NNTool oynasi paydo bo'ladi (Network/Data Manager)(8.17 -rasm). Tarmoqlar va ma'lumotlar (Networks and Data) panelida quyidagi funktsiyalarga ega funktsional tugmalar mavjud: • Yordam(Help) - bu oynaning boshqaruv elementlarining qisqacha tavsifi. • Yangi ma'lumotlar(New Data…) - yangi ma'lumotlar to'plamini yaratishga imkon beruvchi oyna ochiladi. • Yangi tarmoq (New Network…) - yangi tarmoq yaratish oynasini ochish. • Import… - ma'lumotlarni MATLAB ish maydonidan NNTool o'zgaruvchilar maydoniga import qiladi. • Eksport qilish ... - ma'lumotlarni NNTool o'zgaruvchan maydonidan MATLAB ish maydoniga eksport qilish. • Ko'rish (View) - tanlangan tarmoq arxitekturasining grafik ko'rinishi. • O'chirish (Delete) - tanlangan ob'ektni o'chiradi. 8.17-rasm. NNTool asosiy oynasi Faqat tarmoqlar panelida faqat tarmoqlar bilan ishlash kalitlari mavjud. Sichqoncha ko'rsatgichi boshqa turdagi ob'ektni tanlasa, bu tugmalar faol bo'lmaydi. NNTool bilan ishlashda shuni esda tutish kerakki, View, Delete, Initialize, Simulate, Train and Adapt tugmalari (8.17 -rasmda harakatsiz(kulrang) sifatida ko'rsatilgan) hozirda tanlangan ob'ektga nisbatan harakat qiladi. Agar bunday ob'ekt bo'lmasa yoki tanlangan ob'ektda ko'rsatilgan amalni bajarish imkonsiz bo'lsa, mos keladigan kalit faol emas. Masalan, NNTool yordamida neyron tarmoq yaratishni ko'rib chiqaylik. Mantiqiy VA(AND) funktsiyasini bajaradigan neyron tarmoqni yaratish talab qilinadi. Download 0.92 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling