მიკროსემი-ლოგო

მიკროსემიტურ წრედშიდა FPGA გამართვა

მიკროსემიტურ წრედში ჩაშენებული FPGA-ს გამართვის პროდუქტი

პროდუქტის ინფორმაცია

სპეციფიკაციები

  • მოწყობილობის ტიპი: მიკროსემი SmartFusion2 SoC FPGA
  • გამოშვების თარიღი: 2014 წლის მაისი
  • გამართვის შესაძლებლობები: წრედში FPGA გამართვა, ჩაშენებული ლოგიკური ანალიზატორი
  • მაქსიმალური მონაცემთა შეგროვების სიხშირე: 100 მჰც-მდე

აბსტრაქტი
FPGA-ები ჩაშენებულ სისტემებში ძლიერი დიზაინის ელემენტებია მრავალი დიზაინის უპირატესობით.tages, მაგრამ ამ მოწყობილობებს შეიძლება ჰქონდეთ რთული დიზაინი რთული დიზაინის პრობლემებით, რომლებიც საჭიროებენ გამართვას. დიზაინის ისეთი პრობლემების აღმოჩენა, როგორიცაა განმარტების შეცდომები, სისტემური ურთიერთქმედების პრობლემები და სისტემური დროის შეცდომები, შეიძლება გამოწვევა იყოს. FPGA-ში წრედში გამართვის შესაძლებლობების ჩართვამ შეიძლება მნიშვნელოვნად გააუმჯობესოს აპარატურის გამართვა და თავიდან აიცილოს იმედგაცრუების უთვალავი საათი. ეს ნაშრომი აღწერს FPGA-ებისთვის წრედში გამართვის რამდენიმე განსხვავებულ მიდგომას, განსაზღვრავს ძირითად კომპრომისებს და ყოფილიampMicrosemi SmartFusion®2 SoC FPGA მოწყობილობისთვის განკუთვნილი დიზაინი აჩვენებს, თუ როგორ შეიძლება ახალი შესაძლებლობების გამოყენება გამართვისა და ტესტირების დასაჩქარებლად.

შესავალი

FPGA-ები ყოვლისმომცველი და ძლიერი დიზაინის ელემენტებია და ამჟამად პრაქტიკულად ყველა ჩაშენებულ სისტემაში გვხვდება. მზარდი სიმძლავრით, ჩიპზე დამონტაჟებული რთული ფუნქციური ბლოკების და მოწინავე სერიული ინტერფეისების ჩართვით, ამ მოწყობილობებს ასევე შეიძლება ჰქონდეთ რთული დიზაინის პრობლემები, რომლებიც საჭიროებენ გამართვას. ისეთი პრობლემების თვალყურის დევნება, როგორიცაა ფუნქციური განმარტების შეცდომები (FPGA-ს ან სისტემის დონეზე), ფუნქციური სისტემის ურთიერთქმედების პრობლემები, სისტემის დროის პრობლემები და ინტეგრირებულ სქემებს შორის სიგნალის სიზუსტის პრობლემები (როგორიცაა ხმაური, ჯვარედინი საუბარი ან არეკვლა), ბევრად უფრო რთული ხდება მოწინავე FPGA-ების გამოყენებისას. სიმულაცია, რა თქმა უნდა, დიდ დახმარებას უწევს დიზაინის მრავალი პრობლემის იდენტიფიცირებაში, მაგრამ რეალურ სამყაროში ბევრი ურთიერთქმედება არ გამოჩნდება მანამ, სანამ დიზაინი არ იქნება დანერგილი აპარატურაში. პროცესის გასამარტივებლად შემუშავებულია რთული დიზაინის პრობლემების გამართვის რამდენიმე განსხვავებული ტექნიკა. თითოეული ამ ძირითადი ტექნიკის საფუძვლიანი გაგება, მათ შორის სხვადასხვა მოწინავე...tages და disadvantages, სასარგებლოა იმის განხილვისას, თუ რომელი ტექნიკა ან ტექნიკის კომბინაციაა შესაფერისი კონკრეტული დიზაინისთვის.
ყოფილიampFPGA დიზაინი, რომელიც განკუთვნილია Microsemi SmartFusion2 SoC FPGA მოწყობილობისთვის, შეიძლება გამოყენებულ იქნას ზოგიერთი უპირატესობის დემონსტრირებისთვის.tages და disadvantagამ სტანდარტული ტექნიკის, ასევე უახლესი წრედის გამართვის შესაძლებლობების მაგალითები. ეს საილუსტრაციო მაგალითიampაქ ნაჩვენები იქნება, თუ როგორ შეიძლება გამოყენებულ იქნას ეს სხვადასხვა ტექნიკა აპარატურული პრობლემების იდენტიფიცირებისა და აღმოფხვრის დასაჩქარებლად აპარატურული გამართვის დროს.

რატომ არის FPGA გამართვა სისტემის დიზაინისა და განვითარების კრიტიკული ასპექტი?
FPGA-ებს ორი ძირითადი გამოყენების მოდელი აქვთ, რაც მათ სხვა დიზაინის ელემენტებისგან განასხვავებს. FPGA-ების გამოყენება შესაძლებელია წარმოების პროდუქტში ან როგორც განვითარების საშუალება წარმოების დიზაინის კონცეფციის დასამტკიცებლად ან პროტოტიპის შესაქმნელად. წარმოების საშუალებად გამოყენებისას, FPGA-ები შეიძლება იყოს ბევრად უფრო მოქნილი სამიზნე, ვიდრე ASIC ან CPU-ზე დაფუძნებული წარმოების საშუალებები. ეს განსაკუთრებით მნიშვნელოვანია ახალი დიზაინისთვის, რომელიც ჯერ არ არის დანერგილი აპარატურაში. სხვადასხვა არქიტექტურული ვარიანტის მქონე დიზაინები შეიძლება ადვილად შეიქმნას და შემოწმდეს, რათა ოპტიმალური დიზაინი გამოვლინდეს. ჩიპზე დამონტაჟებული პროცესორებით (SoC FPGA) FPGA-ები ასევე შესაძლებელს ხდის CPU-ზე დაფუძნებული დამუშავების ტექნიკურად დახმარებით FPGA-ზე დაფუძნებული აჩქარების ფუნქციებით კომპრომისზე წასვლას. ეს წინსვლა...tagეს-ებს შეუძლიათ მკვეთრად შეამცირონ ახალი პროდუქტის შემუშავების დიზაინის, ვალიდაციის, ტესტირებისა და წარუმატებლობის ანალიზისთვის საჭირო დრო.
დიზაინის პროტოტიპირებისთვის გამოყენებისას, შესაძლოა, წარმოების ASIC-ისთვის, FPGA-ს მოქნილობა მისი მთავარი უპირატესობაა. რეალური აპარატურული პლატფორმა, თუნდაც ის სრული სიჩქარით არ მუშაობს, გაცილებით აადვილებს სისტემის მუშაობის დეტალური მეტრიკის, გამტარუნარიანობის ანალიზის მონაცემების და არქიტექტურის კონცეფციის დამადასტურებელი შედეგების მიღებას. FPGA-ს მხარდაჭერა ინდუსტრიის სტანდარტული ავტობუსების (როგორიცაა PCIe®, Gigabit Ethernet, XAUI, USB, CAN და სხვა) გაძლიერებული იმპლემენტაციებისთვის ამარტივებს ამ ინტერფეისებთან დაკავშირებულ ტესტირებას. ჩიპზე დამონტაჟებული ARM პროცესორებით (SoC FPGA) FPGA-ების უახლესი ოჯახები აადვილებს ჩაშენებული პროცესორებით იმპლემენტაციების პროტოტიპების შექმნას. ადრე შემუშავებული პროცესორის კოდის პროტოტიპზე პორტირება და ახალი კოდის შექმნა შესაძლებელია აპარატურის დიზაინის პარალელურად.

სტანდარტული პროცესორისა და სტანდარტული ინტერფეისის ავტობუსების ეს კომბინაცია შესაძლებელს ხდის არსებული კოდის ბიბლიოთეკების, დრაივერების, ფუნქციური API-ების, რეალურ დროში მომუშავე ოპერაციული სისტემების და სრული ოპერაციული სისტემების ფართო ეკოსისტემის გამოყენებას, რათა გაცილებით სწრაფად შეიქმნას მოქმედი პროტოტიპი. გარდა ამისა, დიზაინის დამტკიცების შემდეგ, FPGA პროტოტიპი შეიძლება გამოყენებულ იქნას სიმულაციური ტესტების ფართო ნაკრების (როგორც სტიმულისთვის, ასევე რეაგირებისთვის) აღსაწერად, რომლებიც ასახავს სისტემის რეალურ მონაცემებს. ეს მონაცემთა ნაკრები შეიძლება ფასდაუდებელი იყოს ASIC-ის ან სხვა საწარმოო იმპლემენტაციის საბოლოო სიმულაციების შესაქმნელად.tagFPGA-ს, როგორც დიზაინის პროტოტიპის, გამოყენებამ შეიძლება მნიშვნელოვნად შეამციროს საბოლოო პროდუქტის დანერგვისთვის დიზაინის, ვალიდაციის, ტესტირებისა და წარუმატებლობის ანალიზისთვის საჭირო დრო.
ორივე ამ გავრცელებულ FPGA-ს გამოყენების მოდელში FPGA-ს, როგორც დიზაინის სამიზნეს, მოქნილობა მთავარი უპირატესობაა.tagე. ეს ნიშნავს, რომ დიზაინის მრავალი ცვლილება და იტერაცია ნორმა იქნებოდა და, შესაბამისად, დიზაინის შეცდომების სწრაფად გამართვის შესაძლებლობა კრიტიკულად მნიშვნელოვანი იქნებოდა რაც შეიძლება მეტი დიზაინის ვარიანტის გასააქტიურებლად. ეფექტური გამართვის შესაძლებლობის გარეშე, უპირატესობის დიდი ნაწილიtagFPGA დიზაინის მოქნილობა შემცირდება დამატებითი გამართვის დროის გამო. საბედნიეროდ, FPGA-ებს ასევე შეუძლიათ დამატებითი აპარატურული ფუნქციების უზრუნველყოფა, რაც მნიშვნელოვნად ამარტივებს რეალურ დროში გამართვას. ამ შესაძლებლობების განხილვამდე, მოდით, ჯერ განვიხილოთ FPGA დიზაინის ყველაზე გავრცელებული პრობლემები, რომელთა წინაშეც შეიძლება აღმოჩნდეს, რათა გვქონდეს სათანადო ცოდნა სხვადასხვა გამართვის ინსტრუმენტების ეფექტურობისა და მათთან დაკავშირებული კომპრომისების შესაფასებლად.

FPGA დიზაინის გამართვისას გავრცელებული პრობლემები

თანამედროვე FPGA-ების გაფართოებულ შესაძლებლობებთან ერთად, მასთან დაკავშირებული გაზრდილი სირთულე ართულებს შეცდომებისგან თავისუფალი დიზაინის შექმნას. სინამდვილეში, დადგენილია, რომ გამართვას შეუძლია ჩაშენებული სისტემის დიზაინის ციკლის 50%-ზე მეტი დაიკაოს. ბაზარზე გამოსვლის დროის ზეწოლის გამო, საწყისი სისტემის აპარატურული გამართვა მეორეხარისხოვან საკითხად რჩება - ძალიან ხშირად ვივარაუდებთ, რომ ვერიფიკაცია (თავად დიდი პროცენტია)tagშემუშავების გრაფიკის (e) მიხედვით, სისტემის საწყის გაშვებამდე ყველა შეცდომას აღმოაჩენს. მოდით განვიხილოთ სისტემური პრობლემების რამდენიმე გავრცელებული ტიპი, რათა უკეთ გავიგოთ, თუ რა გამოწვევების წინაშე აღმოჩნდება ტიპიური დიზაინი სისტემის საწყის გაშვებაზე.

ფუნქციური განმარტების შეცდომების პოვნა შეიძლება ორმაგად რთული იყოს, რადგან დიზაინერმა არასწორად გაიგო კონკრეტული მოთხოვნა, ამიტომ შეცდომა შეიძლება გამორჩეს დიზაინის დეტალების ყურადღებით დათვალიერებისასც კი.ampფუნქციური განმარტების ერთ-ერთი გავრცელებული შეცდომა იქნებოდა, როდესაც მდგომარეობის მანქანის გადასვლა სწორ მდგომარეობაში არ აღმოჩნდება. შეცდომები ასევე შეიძლება გამოვლინდეს სისტემის ინტერფეისებში, როგორც ურთიერთქმედების პრობლემა. ინტერფეისის შეყოვნება, მაგ.ample, შეიძლება არასწორად იყოს მითითებული, რაც გამოიწვევს ბუფერული გადავსების ან ნაკადის შემცირების მოულოდნელ მდგომარეობას.
სისტემის დონის დროის პრობლემები დიზაინის შეცდომების კიდევ ერთი ძალიან გავრცელებული წყაროა. ასინქრონული მოვლენები, კერძოდ, შეცდომების გავრცელებული წყაროა, როდესაც სინქრონიზაციის ან დროის დომენის გადაკვეთის ეფექტები ყურადღებით არ არის განხილული. სიჩქარით მუშაობისას, ამ ტიპის შეცდომები შეიძლება ძალიან პრობლემური იყოს და შეიძლება ძალიან იშვიათად გამოვლინდეს, შესაძლოა მხოლოდ მაშინ, როდესაც კონკრეტული მონაცემთა ნიმუშები იჩენს თავს. დროის მრავალი გავრცელებული დარღვევა ამ კატეგორიაში ხვდება და, როგორც წესი, ძალიან რთულია, თუ შეუძლებელი არა, მათი სიმულირება.

დროის დარღვევები ასევე შეიძლება იყოს ინტეგრირებულ სქემებს შორის სიგნალის დაბალი სიზუსტის შედეგი, განსაკუთრებით სისტემებში, რომლებსაც თითოეული წრედისთვის მრავალი კვების რელსი აქვთ. სიგნალის დაბალმა სიზუსტემ შეიძლება გამოიწვიოს სიგნალის ხმაური, ჯვარედინი კომუნიკაცია, არეკვლა, ზედმეტი დატვირთვა და ელექტრომაგნიტური ჩარევის (EMI) პრობლემები, რომლებიც ხშირად დროის დარღვევების სახით ვლინდება. კვების წყაროსთან დაკავშირებული პრობლემები, როგორიცაა გარდამავალი მოვლენები (განსაკუთრებით სისტემის ჩართვის ან გამორთვის დროს), დატვირთვის ცვალებადობა და მაღალი სიმძლავრის გაფრქვევის ძაბვები, ასევე შეიძლება გამოიწვიოს იდუმალი შეცდომები, რომელთა დადგენა ხშირად დენის წყაროსთან ადვილი არ არის. მაშინაც კი, როდესაც დიზაინი სრულიად სწორია, დაფის დამზადების პრობლემებმა შეიძლება გამოიწვიოს შეცდომები. მაგალითად, გაუმართავი შედუღების შეერთებები და არასწორად მიერთებული კონექტორები.ampშეიძლება იყოს შეცდომების წყარო და შესაძლოა დამოკიდებული იყოს ტემპერატურაზე ან დაფის მდებარეობაზე. FPGA შეფუთვის მოწინავე ტექნიკის გამოყენებამ შეიძლება გაართულოს დაბეჭდილი მიკროსქემის დაფაზე სიგნალების შესწავლა, ამიტომ სასურველ სიგნალზე წვდომის მიღება ხშირად პრობლემურია. ხშირად დიზაინის მრავალი პრობლემა არ იწვევს დაუყოვნებლივ შეცდომას და უნდა გავრცელდეს დიზაინში მანამ, სანამ შეცდომა რეალურად არ გამოვლინდება. საწყისი შეცდომის ძირეულ მიზეზამდე მიყვანა ხშირად შეიძლება იყოს იმედგაცრუების მომგვრელი, რთული და დროის მომთხოვნი ამოცანა.

მაგampმაგალითად, თარგმანის ცხრილში ერთი ბიტის შეცდომამ შეიძლება შეცდომა გამოიწვიოს მხოლოდ რამდენიმე ციკლის შემდეგ. ზოგიერთი ინსტრუმენტი, რომელსაც ამ ნაშრომში მოგვიანებით განვიხილავთ და რომელიც იყენებს სპეციალურ ჩართულ გამართვის აპარატურას, სპეციალურად მიზნად ისახავს ამ „შეცდომების ძიების“ დაჩქარებას და გამარტივებას. სანამ ამ ინსტრუმენტების დეტალებს შევეხებით, მოდით, ჯერ განვიხილოთ პოპულარული პროგრამული უზრუნველყოფის საფუძველზე გამართვის ტექნიკის სიმულაცია, რათა უკეთ გავიგოთ მისი უპირატესობები.tages და disadvantagგამართვისთვის სიმულაციის გამოყენების უპირატესობები.

სიმულაციის გამოყენება გამართვისთვის
როგორც წესი, დიზაინის სიმულაციაში, დიზაინის შიგნით და გარეთ არსებული ყველა რეალური კომპონენტი მათემატიკურად მოდელირდება, როგორც პროგრამული პროცესები, რომლებიც თანმიმდევრულად სრულდება სტანდარტულ CPU-ზე. დიზაინზე სტიმულის ფართო სპექტრის გამოყენება და მოსალოდნელი გამომავალის სიმულირებული დიზაინის გამომავალთან შედარება მარტივი გზაა დიზაინის ყველაზე აშკარა შეცდომების აღმოსაჩენად. ტიპიური სიმულაციის გაშვების ამსახველი ფანჯარა მოცემულია ქვემოთ მოცემულ ნახაზ 1-ში. აშკარა წინსვლაtagსიმულაციის აპარატურულ გამართვასთან შედარებით განსხვავება იმაში მდგომარეობს, რომ სიმულაცია შესაძლებელია პროგრამული უზრუნველყოფის მეშვეობითაც — არ არის საჭირო აპარატურული დიზაინი და სატესტო მაგიდა. სიმულაციას შეუძლია სწრაფად აღმოაჩინოს დიზაინის მრავალი შეცდომა, განსაკუთრებით ის, რაც დაკავშირებულია არასწორ სპეციფიკაციებთან, ინტერფეისის მოთხოვნების არასწორ გაგებასთან, ფუნქციის შეცდომებთან და მრავალი სხვა „უხეში“ ტიპის შეცდომასთან, რომლებიც ადვილად აღმოჩენილია მარტივი სტიმულის ვექტორების მეშვეობით.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (1)

სიმულაცია განსაკუთრებით ეფექტურია, როდესაც დიზაინერისთვის ხელმისაწვდომია სტიმულების ფართო კომბინაციები და შედეგად მიღებული შედეგები კარგად არის ცნობილი. ამ შემთხვევებში, სიმულაციას შეუძლია დიზაინის თითქმის ამომწურავი ტესტირება. სამწუხაროდ, დიზაინის უმეტესობას არ აქვს მარტივი წვდომა ფართო სატესტო ნაკრებებზე და მათი შექმნის პროცესი შეიძლება ძალიან დიდ დროს მოითხოვდეს. დიდი FPGA-ზე დაფუძნებული დიზაინისთვის დიზაინის 100%-ით დაფარვის სატესტო ნაკრებების შექმნა პრაქტიკულად შეუძლებელია და დიზაინის ძირითადი ელემენტების დასაფარად უნდა იქნას გამოყენებული მოკლე გზები. სიმულაციის კიდევ ერთი სირთულე ის არის, რომ ის არ არის „რეალური სამყაროს“ იმპლემენტაცია და ვერ აფიქსირებს ასინქრონულ მოვლენებს, სისტემის სიჩქარის ურთიერთქმედებას ან დროის დარღვევებს. და ბოლოს, სიმულაციის პროცესი შეიძლება ძალიან ნელი იყოს და თუ საჭიროა მრავალი იტერაცია, სიმულაცია სწრაფად ხდება განვითარების პროცესის ყველაზე შრომატევადი და ხშირად ყველაზე ძვირადღირებული ნაწილი.

ალტერნატივის სახით (ან, უკეთ რომ ვთქვათ, სიმულაციის დამატების სახით), FPGA დიზაინერებმა აღმოაჩინეს, რომ მათ შეეძლოთ FPGA დიზაინში დაემატებინათ გამართვის აპარატურა, რათა დაკვირვებოდნენ და აკონტროლონ მოწყობილობაში ძირითადი სიგნალები. ეს ტექნიკა თავდაპირველად შემუშავდა როგორც ad-hoc მიდგომები, მაგრამ თანდათანობით განვითარდა სტანდარტულ აპარატურულ გამართვის სტრატეგიად. წრედშიდა გამართვის შესაძლებლობების ასეთი გამოყენება მნიშვნელოვან უპირატესობას გვთავაზობს.tagFPGA-ზე დაფუძნებული დიზაინებისთვის და შემდეგი განყოფილება შეისწავლის სამ ყველაზე გავრცელებულ სტრატეგიას და მათ სხვადასხვა უპირატესობებს.tages და disadvantagეს.

FPGA-ებისთვის წრედში შეცდომების აღმოფხვრის საერთო მიდგომები
FPGA-ებში წრედშიდა გამართვის შესაძლებლობების დანერგვის ყველაზე გავრცელებული ტექნიკა იყენებს ან ჩაშენებულ ლოგიკურ ანალიზატორს, გარე სატესტო აღჭურვილობას, ან FPGA ქსოვილში ჩაშენებულ სპეციალურ სიგნალის ზონდის აპარატურას. ჩაშენებული ლოგიკური ანალიზატორი, როგორც წესი, დანერგილია FPGA ქსოვილის გამოყენებით და ჩასმულია დიზაინში. JTAG პორტი გამოიყენება ანალიზატორზე წვდომისთვის და შეგროვებული მონაცემების კომპიუტერზე ჩვენება შესაძლებელია. გარე სატესტო აღჭურვილობის გამოყენებისას, სატესტო FPGA დიზაინი ისეა მოდიფიცირებული, რომ შერჩეული შიდა FPGA სიგნალები გადამისამართდეს გამომავალ პინებზე. ამ პინების დაკვირვება შემდეგ შესაძლებელია გარე სატესტო აღჭურვილობის საშუალებით. როდესაც გამოიყენება სპეციალური სიგნალის ზონდის აპარატურა, შიდა სიგნალების ფართო არჩევანის წაკითხვა შესაძლებელია რეალურ დროში. ზოგიერთი ზონდის იმპლემენტაცია შეიძლება გამოყენებულ იქნას რეგისტრაციის ან მეხსიერების ადგილმდებარეობებზე ჩასაწერად, რაც კიდევ უფრო აუმჯობესებს გამართვის შესაძლებლობებს. მოდით, უფრო დეტალურად განვიხილოთ დამატებითი ინფორმაცია.tages და disadvantagთითოეული ამ ტექნიკის შესახებ და შემდეგ გადახედეთ ყოფილსample დიზაინი იმის სანახავად, თუ როგორ შეიძლება ამ განსხვავებულმა მიდგომებმა გავლენა მოახდინოს საერთო გამართვის დროზე.

წრედშიდა FPGA გამართვით ჩაშენებული ლოგიკური ანალიზატორი
ჩაშენებული ლოგიკური ანალიზატორის კონცეფცია იყო პირდაპირი შედეგი იმ ad-hoc წრედშიდა გამართვის შესაძლებლობებისა, რომლებიც დიზაინერებმა დანერგეს FPGA-ების პირველად გამოყენებისას. ჩაშენებულმა ლოგიკურმა ანალიზატორებმა დაამატეს ახალი შესაძლებლობები და გააუქმეს დიზაინერის მიერ საკუთარი ანალიზატორის შემუშავების საჭიროება. FPGA-ების უმეტესობა გვთავაზობს ამ შესაძლებლობებს, ხოლო მესამე მხარეები გვთავაზობენ სტანდარტულ ანალიზატორებს (Identify®, Synopsys-ისგან, არის ერთ-ერთი პოპულარული ექსტერნატივა).ample), რომელსაც შეუძლია მარტივად ურთიერთქმედება უფრო მაღალი დონის ინსტრუმენტებთან პროდუქტიულობის კიდევ უფრო გასაუმჯობესებლად.

ლოგიკური ანალიზატორის ფუნქციონალი ჩასმულია დიზაინში, FPGA ქსოვილისა და ჩაშენებული მეხსიერების ბლოკების გამოყენებით, როგორც ეს ნაჩვენებია ნახაზ 2-ში. გამშვები რესურსები ასევე შექმნილია ისე, რომ რთული სიგნალური ურთიერთქმედებები ადვილად შეირჩეს და დაიჭიროს. კონტროლისა და მონაცემთა გადაცემისთვის ანალიზატორზე წვდომა, როგორც წესი, ხორციელდება სტანდარტული J-ის მეშვეობით.TAG პორტი ინტერფეისის მოთხოვნების გასამარტივებლად. შეგროვებული მონაცემების ჩვენება შესაძლებელია კომპიუტერზე ჩვეულებრივი viewპროგრამული უზრუნველყოფის გამოყენებით და, როგორც წესი, ასახავს ლოგიკური სიმულატორის ტალღის ფორმის გამომავალს viewინგის სტილი.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (2)

ადვანიtagამ მიდგომის უპირატესობა ის არის, რომ არ გამოიყენება დამატებითი FPGA I/O პინები, მხოლოდ სტანდარტული J.TAG სიგნალები. ჩაშენებული ლოგიკური ანალიზატორის IP ბირთვები, როგორც წესი, შედარებით იაფია და ზოგიერთ შემთხვევაში შეიძლება იყოს არსებული FPGA სინთეზის ან სიმულაციის ინსტრუმენტების ვარიანტი. ზოგიერთ შემთხვევაში, ჩაშენებულ ლოგიკურ ანალიზატორს ასევე შეუძლია დამატებითი გამომავალი მონაცემების მიწოდება გამოუყენებელ შეყვანა/გამოსვლაზე, თუ ეს უფრო მოსახერხებელია. ერთ-ერთი ნაკლიtagამ მიდგომის უპირატესობა ის არის, რომ საჭიროა FPGA რესურსების დიდი რაოდენობა. კერძოდ, თუ გამოიყენება კვალის ბუფერები, ეს შეამცირებს ხელმისაწვდომი ბლოკური მეხსიერების რაოდენობას. თუ საჭიროა ფართო ბუფერი, ეს ასევე იქნება კომპრომისი მეხსიერების სიღრმესთან (რადგან უფრო ფართო მეხსიერების გამოყენება იწვევს მეხსიერების უფრო მცირე სიღრმეს) - დიდი მინუსი.tagმცირე ზომის მოწყობილობების გამოყენებისას. ამ ტექნიკის ყველაზე დიდი ნაკლი შესაძლოა ის იყოს, რომ ყოველ ჯერზე, როდესაც ზონდის განლაგების კორექტირება ხდება, აუცილებელია დიზაინის ხელახლა კომპილაცია და ხელახლა დაპროგრამება. დიდი მოწყობილობის გამოყენებისას ამ პროცესს შეიძლება მნიშვნელოვანი დრო დასჭირდეს. სიგნალის ზონდების დიზაინში განლაგების წესის გამო, შეიძლება რთული იყოს სიგნალის დროის ურთიერთობების კორელაცია. გარდა ამისა, სიგნალის ზონდებს შორის დაყოვნება არ არის თანმიმდევრული და შესაბამისად, დროის ურთიერთობების შედარება რთულია. ეს განსაკუთრებით რთულია ასინქრონული სიგნალების ან სხვადასხვა დროის დომენიდან სიგნალების შედარებისას.

წრედშიდა FPGA გამართვა - გარე სატესტო აღჭურვილობა
წრედშიდა გამართვის კოდის გამოყენება გარე სატესტო აღჭურვილობასთან ერთად ბუნებრივი მოვლენა იყო, როდესაც სისტემის ტესტირებისთვის უკვე ხელმისაწვდომი იყო გარე ლოგიკური ანალიზატორი. შიდა სატესტო სიგნალების იდენტიფიცირებისა და შერჩევისა და FPGA შეყვანის/გამოყვანის არხებზე მათი გამოყენების მარტივი გამართვის კოდის შექმნით, როგორც ეს ნაჩვენებია ნახაზ 3-ში, შესაძლებელი გახდა ანალიზატორის მოწინავე შესაძლებლობების (როგორიცაა დიდი კვალის ბუფერები, რთული ტრიგერირების თანმიმდევრობები და მრავალჯერადი) გამოყენება. view(ინფორმაციის პარამეტრები) მარტივი, მაგრამ ძლიერი გამართვის გარემოს შესაქმნელად. უფრო რთული წრედშიდა შესაძლებლობები გაფართოებული ტრიგერირების ვარიანტებისთვის შეიძლება მინიმუმამდე დაიყვანოს საჭირო გამომავალი სიგნალების რაოდენობა. მაგალითადampმაგალითად, ფართო ავტობუსზე კონკრეტული მისამართების შერჩევა შეიძლება რთული იყოს, თუ საჭიროა გარე პინები.
შიდა FPGA ლოგიკის გამოყენება მკვეთრად ამცირებს შეყვანა/გამოყვანის მოთხოვნებს და უფრო რთული პრობლემების გამართვისთვის შესაძლებელია კონკრეტული მისამართის ნიმუშების (შესაძლოა, გამოძახებისა და დაბრუნების თანმიმდევრობის) ძიებაც კი. თუ საერთო მომხმარებლის ინტერფეისი ხელმისაწვდომია, ამან შეიძლება გაამარტივოს სწავლის პროცესი და გააუმჯობესოს პროდუქტიულობა.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (3)

ადვანიtagამ მიდგომის უპირატესობა ის არის, რომ ის გარე სატესტო აღჭურვილობის ღირებულებას იყენებს და ამგვარად, არ საჭიროებს დამატებით ხელსაწყოს ხარჯებს. ზოგიერთი გამართვის სქემის IP ბირთვი ხელმისაწვდომია აღჭურვილობის მწარმოებლების ან FPGA მწარმოებლების მიერ და შეიძლება იყოს ძალიან დაბალი ან თუნდაც უფასო. სიგნალის შერჩევის ლოგიკის განსახორციელებლად საჭირო FPGA რესურსების რაოდენობა ძალიან მცირეა და რადგან კვალის ფუნქცია ხორციელდება გარე ლოგიკური ანალიზატორის გამოყენებით, ბლოკური მეხსიერება არ არის საჭირო. რადგან შერჩევის ლოგიკა იაფია, ასევე შესაძლებელია დიდი რაოდენობით არხების მხარდაჭერა ფართო ტრიგერით. ლოგიკურ ანალიზატორს შეუძლია მუშაობა როგორც დროის, ასევე მდგომარეობის რეჟიმში, რაც ხელს უწყობს დროის ზოგიერთი პრობლემის იზოლირებას.
მინუსიtagამ მიდგომის ნაკლოვანებები შეიძლება მოიცავდეს ლოგიკური ანალიზატორის შეძენის აუცილებლობას, თუ ის უკვე არ არის გამოყოფილი პროექტისთვის.tagშესაძლოა, ეს საკმარისი იყოს მრავალ შემთხვევაში ამ მიდგომის თავიდან ასაცილებლად. თუმცა, გაითვალისწინეთ, რომ ხელმისაწვდომი ხდება ლოგიკური ანალიზატორის რამდენიმე დაბალფასიანი ვარიანტი, რომლებიც ეკრანისთვის კომპიუტერს ან პლანშეტს იყენებენ, რაც ამ ვარიანტს გაცილებით ეკონომიურს ხდის მარტივი გამართვის მოთხოვნებისთვის.
მოხმარებული FPGA პინების რაოდენობა შეიძლება კიდევ ერთი მინუსი იყოს.tagდა თუ საჭიროა ფართო ავტობუსების დაკვირვება, საჭიროა დაფის განლაგების მნიშვნელოვანი დაგეგმვა და გამართვის კონექტორების დამატება. ეს მოთხოვნა უმეტესად რთულია წინასწარ განსაზღვროთ დიზაინის ფაზის დასაწყისში და იწვევს კიდევ ერთ არასასურველ სირთულეს. ჩაშენებული ლოგიკური ანალიზატორის მიდგომის მსგავსად, გარე ტესტირების სტრატეგია მოითხოვს დიზაინის ხელახლა კომპილაციას და ხელახლა პროგრამირებას, როდესაც საჭიროა თითოეული ახალი ექსპერიმენტი.

საერთო ნაკლიtagამ ორი ტექნიკის უპირატესობებმა - ჩიპზე დამონტაჟებული რესურსების გამოყენებამ (რამაც ასევე შეიძლება გავლენა მოახდინოს დიზაინის დროის მუშაობაზე და შექმნას დამატებითი გამართვის მოთხოვნები), დიზაინის ხელახლა კომპილაციისა და რეპროგრამირების აუცილებლობამ (რამაც შეიძლება გამართვის გრაფიკს საათები ან თუნდაც დღეები დაამატოს), სავარაუდო ტესტირების სცენარების იდენტიფიცირებისთვის საჭირო წინასწარმა დაგეგმვამ და ჩიპში დამატებითი შეყვანის/გამოყვანის რესურსების გამოყენებამ შექმნა ამ ნაკლოვანებების გარეშე მიდგომის საჭიროება. ერთ-ერთი გამოსავალი იყო ზოგიერთი მოწყობილობის FPGA ქსოვილში სპეციალური გამართვის ლოგიკის დამატება. შედეგად, აპარატურული ზონდების გამოყენებით წრედშიდა გამართვა განხორციელდა.

წრედშიდა FPGA გამართვა - აპარატურის ზონდები
აპარატურული ზონდების გამოყენება მნიშვნელოვნად ამარტივებს FPGA-ებისთვის წრედშიდა გამართვის ტექნიკას. ეს ტექნიკა, რომელიც SmartFusion2®SoC FPGA და IGLOO®2 FPGA მოწყობილობებზე დანერგილია Live Probe ფუნქციის სახით, FPGA ქსოვილს უმატებს სპეციალურ ზონდის ხაზებს ნებისმიერი ლოგიკური ელემენტის რეგისტრის ბიტის გამოსავლის დასაკვირვებლად. როგორც ნაჩვენებია ნახაზ 4-ზე მოცემულ ბლოკ-დიაგრამაზე, აპარატურული ზონდები ხელმისაწვდომია ორ ზონდის არხში A და B.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (3)

არჩეული რეგისტრის გამომავალი სიგნალები (ზონდის წერტილები), მაგალითად, ნახაზის ქვედა ნაწილში მოცემული წყარო, ორი ზონდის არხის ზემოთ იგზავნება და თუ აირჩევა, მათი გამოყენება შესაძლებელია A ან B არხზე. ეს რეალურ დროში გადაცემული არხის სიგნალები შემდეგ შეიძლება გაიგზავნოს მოწყობილობაზე არსებულ სპეციალურ ზონდ A და ზონდ B ქინძისთავებზე. ზონდ A და ზონდ B სიგნალები ასევე შეიძლება შიდა გზით გადაიგზავნოს ჩაშენებულ ლოგიკურ ანალიზატორზე.

გაითვალისწინეთ, რომ ზონდის პინების დროის მახასიათებლები რეგულარულია და უმნიშვნელო გადახრა აქვს ერთი ზონდის წერტილიდან მეორემდე, რაც რეალურ დროში სიგნალების დროის მახასიათებლების შედარებას გაცილებით აადვილებს. მონაცემების შეგროვება შესაძლებელია 100 MHz-მდე სიხშირით, რაც მას სამიზნე დიზაინის უმეტესობისთვის შესაფერისს ხდის.
შესაძლოა, ყველაზე მნიშვნელოვანი ის იყოს, რომ ზონდის წერტილების მდებარეობა, რადგან ისინი არ შეირჩევა განხორციელებული დიზაინის ნაწილად (ისინი შეირჩევა სპეციალური აპარატურის მეშვეობით, სანამ დიზაინი მუშაობს FPGA-ზე), შეიძლება სწრაფად შეიცვალოს შერჩევის მონაცემების მოწყობილობაზე უბრალოდ გაგზავნით. დიზაინის ხელახალი კომპილაცია და რეპროგრამირება არ არის საჭირო.
Live Probe-ის გამოყენების კიდევ უფრო გასამარტივებლად, მასთან დაკავშირებულ გამართვის პროგრამულ უზრუნველყოფას აქვს წვდომა ზონდის სიგნალის ყველა ადგილმდებარეობაზე ავტომატურად გენერირებული გამართვის ფუნქციის მეშვეობით. fileროგორც ნაჩვენებია ნახაზ 5-ში, სიგნალის სახელის შერჩევა შესაძლებელია სიგნალების სიიდან და სასურველ არხზე გამოყენება. ეს შეიძლება გაკეთდეს მაშინაც კი, როდესაც დიზაინი მუშაობს, რათა დიზაინში ზონდირების აქტივობა იყოს შეუფერხებელი და ძალიან ეფექტური.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (5)

ბევრ შემთხვევაში, აპარატურული ზონდის შესაძლებლობები, როგორიცაა Live Probe, შეიძლება გამოყენებულ იქნას ადრე აღწერილ ჩაშენებულ ლოგიკურ ანალიზატორთან და გარე ტესტირების ტექნიკასთან ერთად.

როგორც ნაჩვენებია ნახაზ 6-ში, Live Probe-ის შესაძლებლობა, მომენტალურად შეარჩიოს სიგნალები, საშუალებას იძლევა სწრაფად და მარტივად შეიცვალოს დაკვირვების ქვეშ მყოფი სიგნალები დიზაინის ხელახალი კომპილაციის გარეშე. გარე ლოგიკურ ანალიზატორს ან ტელესკოპს შეუძლია ადვილად დააკვირდეს ზონდირებულ სიგნალებს, როგორც ეს ნაჩვენებია ზონდის გამოსასვლელ პინებზე სურათზე, ზედა მარჯვენა ნაწილში. ალტერნატიულად (ან შესაძლოა დამატებითაც კი) ზონდის პინების დასაკვირვებლად შეიძლება გამოყენებულ იქნას შიდა ლოგიკური ანალიზატორი (ILA Identify ბლოკი, რომელიც ნაჩვენებია ნახაზზე). ზონდის სიგნალების დაფიქსირება შესაძლებელია ILA-ს მიერ და დაკვირვება ტალღის ფორმის ფანჯარაში. ზონდის მდებარეობის შეცვლა შესაძლებელია სამიზნე დიზაინის ხელახალი კომპილაციის გარეშე.
გაითვალისწინეთ, რომ ტრიგერირებისა და კვალის დაფიქსირების დამატებითი შესაძლებლობების გამოყენება შესაძლებელია ზონდის ფუნქციონალურობის გასაუმჯობესებლად, რაც აადვილებს დიზაინის რთული პრობლემების აღმოჩენასაც კი.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (6)

SmartFusion2 SoC FPGA და IGLOO2 FPGA მოწყობილობებზე ასევე ხელმისაწვდომია დამატებითი აპარატურული გამართვის შესაძლებლობები. ერთ-ერთი ასეთი შესაძლებლობა, სახელწოდებით Active Probe, დინამიურად და ასინქრონულად კითხულობს ან წერს ლოგიკური ელემენტის ნებისმიერ რეგისტრის ბიტს. ჩაწერილი მნიშვნელობა ნარჩუნდება ერთი საათის ციკლის განმავლობაში, რათა ნორმალური მუშაობა გაგრძელდეს, რაც მას ძალიან ღირებულ გამართვის ინსტრუმენტად აქცევს. Active Probe განსაკუთრებით საინტერესოა, თუ სასურველია შიდა სიგნალის სწრაფი დაკვირვება (შესაძლოა, უბრალოდ იმის შესამოწმებლად, არის თუ არა ის აქტიური ან სასურველ მდგომარეობაში, მაგალითად, გადატვირთვის სიგნალის შემთხვევაში), ან თუ საჭიროა ლოგიკური ფუნქციის სწრაფად შემოწმება ზონდის წერტილში ჩაწერით.
(შესაძლოა, მდგომარეობის მანქანის გადასვლის დასაწყებად შეყვანის მნიშვნელობის სწრაფად დაყენებით, რათა გამოირიცხოს მართვის ნაკადის პრობლემა).

Microsemi-ის მიერ შემოთავაზებული კიდევ ერთი გამართვის შესაძლებლობაა მეხსიერების გამართვა. ეს ფუნქცია დიზაინერს საშუალებას აძლევს დინამიურად და ასინქრონულად წაიკითხოს ან ჩაწეროს არჩეულ FPGA ქსოვილის SRAM ბლოკში. როგორც Debug Tool-ის ეკრანის სურათზეა ნაჩვენები (სურათი 7), როდესაც მეხსიერების ბლოკების ჩანართი არჩეულია, მომხმარებელს შეუძლია აირჩიოს წასაკითხი მეხსიერება, შეასრულოს მეხსიერების სნეპშოტის აღება, შეცვალოს მეხსიერების მნიშვნელობები და შემდეგ ჩაწეროს მნიშვნელობები მოწყობილობაზე. ეს განსაკუთრებით სასარგებლო შეიძლება იყოს მონაცემთა ბუფერების შემოწმების ან დაყენებისთვის, რომლებიც გამოიყენება საკომუნიკაციო პორტებში გამოთვლებზე ორიენტირებული ნაკაწრებისთვის ან თუნდაც ჩაშენებული CPU-ს მიერ შესრულებული კოდისთვის. კომპლექსური მონაცემებზე დამოკიდებული შეცდომების გამართვა მნიშვნელოვნად უფრო სწრაფი და მარტივია, როდესაც მეხსიერების დაკვირვება და კონტროლი ასე სწრაფად შესაძლებელია.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (7)

დიზაინის გამართვის შემდეგ, მგრძნობიარე ინფორმაციის დასაცავად, შესაძლოა სასურველი იყოს აპარატურის გამართვის შესაძლებლობების გამორთვა. თავდამსხმელს შეუძლია გამოიყენოს იგივე საშუალებები კრიტიკული ინფორმაციის წასაკითხად ან სისტემის პარამეტრების შესაცვლელად, რაც სისტემის მგრძნობიარე ნაწილებზე მარტივ წვდომას უზრუნველყოფს. Microsemi-მ დაამატა ფუნქციები, რათა დიზაინერს საშუალება მისცეს დაიცვას მოწყობილობა გამართვის დასრულების შემდეგ. მაგალითადampმაგალითად, Live Probe-სა და Active Probe-ზე წვდომა შეიძლება დაიბლოკოს, რათა ფუნქცია სრულად გამორთოთ, როგორც შეტევის შესაძლო საშუალება (ეს გამორიცხავს ზონდის აქტივობის მიერ მიწოდების დენში რაიმე შაბლონის შექმნის შესაძლებლობასაც კი, რომელიც შეიძლება გამოყენებულ იქნას ზონდის მონაცემების ირიბად დასაკვირვებლად). ალტერნატიულად, დიზაინის არჩეულ ნაწილებზე წვდომა შეიძლება დაიბლოკოს, რათა თავიდან იქნას აცილებული მხოლოდ ამ ნაწილებზე წვდომა. ეს შეიძლება მოსახერხებელი იყოს, თუ დიზაინის მხოლოდ ნაწილის დაცვაა საჭირო, რაც დიზაინის დანარჩენ ნაწილს კვლავ ხელმისაწვდომს გახდის საველე ტესტირებისთვის ან შეცდომების ანალიზისთვის.

წრედში გამართვის შედარების ცხრილი
ახლა, როდესაც დეტალური მიმოხილვაview აღწერილია სამი ძირითადი ჩართულობის აპარატურული გამართვის ტექნიკიდან, შემაჯამებელი დიაგრამა, როგორც ეს ნაჩვენებია ნახაზ 8-ში, შეიქმნა, რომელიც დეტალურად აღწერს სხვადასხვა წინსვლას.tages და disadvantagთითოეული მეთოდის მახასიათებლები. გახსოვდეთ, რომ ზოგიერთი ტექნიკის გამოყენება შესაძლებელია ერთად (მაგალითად, Live Probe და Internal Logic Analyzer (ILA), მაგალითად, Synopsys Identifyample), ჩვენ შეგვიძლია დავინახოთ თითოეული ტექნიკის ძირითადი ძლიერი და სუსტი მხარეები. წრედშიდა აპარატურის გამართვის შესაძლებლობების ერთობლიობა (ცოცხალი ზონდი, აქტიური ზონდი და მეხსიერების გამართვა - ერთობლივად ცნობილი როგორც SmartDebug), ყველაზე სუსტია სხვა ტექნიკებთან შედარებით, როდესაც საქმე ეხება ხელმისაწვდომი ზონდების საერთო რაოდენობას (წითელი წრე) და უფრო სუსტია, ვიდრე საუკეთესო (ყვითელი წრე) როდესაც საქმე ეხება გადაღების სიჩქარეს (გარე ტესტირების აღჭურვილობა შეიძლება უფრო სწრაფი იყოს).
ILA-ზე დაფუძნებული ტექნიკები, როგორიცაა Synopsys Identify, ყველაზე სუსტია სხვა ტექნიკებთან შედარებით და FPGA რესურსების მოთხოვნების გათვალისწინებით. გარე ტესტირების აღჭურვილობაზე დაფუძნებული ტექნიკები ყველაზე სუსტია რიგი ფაქტორების გათვალისწინებით, რომელთაგან ყველაზე რთულია ღირებულება, დიზაინის დროის გავლენა და ზონდის გადაადგილების ხარჯები (დიზაინის ხელახლა კომპილაციის საჭიროების გამო). შესაძლოა, ოპტიმალური გადაწყვეტა იყოს SmartDebug-ისა და სხვა ტექნიკების კომბინაცია, რათა შემცირდეს SmartDebug-ის არხების რაოდენობის სისუსტე და შემცირდეს ზონდის წერტილის გადაადგილების უპირატესობა.tagსხვა ტექნიკების რაოდენობაც შემცირდა.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (8)

სიგნალის კლასიფიკაციები
სასარგებლო განსხვავება შეიძლება გაკეთდეს სიგნალების ზოგიერთ ყველაზე გავრცელებულ ტიპს შორის და ეს შეიძლება სასარგებლო იყოს გამართვის მიდგომის დაგეგმვისას. მაგალითად,ampმაგალითად, სიგნალები, რომლებიც არ იცვლება სისტემის გაშვების გარდა, როგორიცაა სისტემის გადატვირთვა, ბლოკის გადატვირთვა ან ინიციალიზაციის რეგისტრები, შეიძლება კლასიფიცირდეს როგორც სტატიკური სიგნალები. ამ ტიპის სიგნალებზე წვდომა ყველაზე ეფექტურად ხდება ისეთი ობიექტის მეშვეობით, რომელსაც შეუძლია სიგნალის მარტივად დაკვირვება და კონტროლი, ხანგრძლივი ხელახალი კომპილაციის ციკლის გარეშე. Active Probe შესანიშნავი საშუალებაა სტატიკური სიგნალების გამართვისთვის. ანალოგიურად, სიგნალები, რომლებიც უფრო ხშირად იცვლება, მაგრამ დროის უმეტესი ნაწილის განმავლობაში მაინც სტატიკურია, შეიძლება კლასიფიცირდეს როგორც ფსევდოსტატიკური და ასევე ყველაზე ეფექტურად გამართვადია Active Probe-ის გამოყენებით. სიგნალები, რომლებიც ხშირად იცვლება, როგორიცაა საათის სიგნალები, შეიძლება კლასიფიცირდეს როგორც დინამიური და მათზე წვდომა Active Probe-ის მეშვეობით არც ისე ადვილია. Live Probe უკეთესი არჩევანია ამ სიგნალების დასაკვირვებლად.

მარტივი გამართვის გამოყენების შემთხვევა

ახლა, როდესაც უკეთ გვესმის წრედშიდა გამართვის სხვადასხვა ვარიანტი, მოდით განვიხილოთ მარტივი დიზაინის მაგალითი.ampვნახოთ, როგორ მუშაობს ეს ტექნიკა. სურათი 9 გვიჩვენებს მარტივ FPGA დიზაინს SmartFusion2 SoC FPGA მოწყობილობაში. მიკროკონტროლერის ქვესისტემა (MSS) გადატვირთულია CoreSF2Reset Soft IP ბლოკით. ამ ბლოკის შემავალი მონაცემებია ჩართვის გადატვირთვა, მომხმარებლის ქსოვილის გადატვირთვა და გარე გადატვირთვა. გამომავალი მონაცემებია მომხმარებლის ქსოვილის გადატვირთვა, MSS გადატვირთვა და M3 გადატვირთვა. შეცდომის სიმპტომებია ის, რომ შეყვანა/გამოსვლაზე აქტივობა არ არის, მიუხედავად იმისა, რომ მოწყობილობა წარმატებით გადის POR მდგომარეობიდან. ამ შეცდომის გამართვის სამი განსხვავებული ვარიანტი ასევე ილუსტრირებულია ფიგურაში: ლურჯი ველი (აღნიშვნით ETE) არის გარე ტესტირების აღჭურვილობის მეთოდისთვის; მწვანე ველი (აღნიშვნით ILA) არის შიდა ლოგიკური ანალიზატორის მეთოდისთვის; და ნარინჯისფერი ველი (აღნიშვნით AP) არის აქტიური ზონდის მეთოდისთვის. ჩვენ ვივარაუდებთ, რომ შეცდომის პოტენციური ძირითადი მიზეზებია CoreSF2Reset Soft IP ბლოკში არასწორად დადასტურებული გადატვირთვის შეყვანა.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (9)

ახლა განვიხილოთ ადრე აღწერილი სამი წრედშიდა მეთოდის გამართვის პროცესი.

გარე ტესტირების აღჭურვილობა
ამ მეთოდის გამოყენებით, ვივარაუდებთ, რომ სატესტო აღჭურვილობა ხელმისაწვდომია და არ გამოიყენება უფრო მაღალი პრიორიტეტის მქონე პროექტის მიერ. გარდა ამისა, მნიშვნელოვანია წინასწარ დაგეგმვა, რათა ზოგიერთი FPGA შეყვანა/გამოსვლა ხელმისაწვდომი იყოს და მათი მარტივად დაკავშირება სატესტო აღჭურვილობასთან. მაგალითად, PCB-ზე თავსებლის ქონაampეს ძალიან სასარგებლო იქნებოდა და მინიმუმამდე დაიყვანებოდა „სავარაუდო ეჭვმიტანილის“ იდენტიფიცირებისა და მასთან დაკავშირების ან ზონდირების დროს პინების პოტენციური მოკლე გადართვის დრო. საჭირო იქნება დიზაინის ხელახლა კომპილაცია იმ სიგნალების შესარჩევად, რომელთა გამოკვლევაც გვსურს. იმედია, ჩვენ „ხახვის გაფცქვნას“ არ ვაპირებთ და დამატებითი სიგნალების შერჩევა დაგვჭირდება შემდგომი გამოკვლევისთვის, რადგან ხშირად ჩვენი საწყისი გამოძიება უბრალოდ მეტ კითხვას იწვევს. ნებისმიერ შემთხვევაში, ხელახლა კომპილაციისა და რეპროგრამირების პროცესს შეიძლება მნიშვნელოვანი დრო დასჭირდეს და თუ ეს დროის დარღვევას გამოიწვევს, საჭიროა რედიზაინი (ყველამ ვიცით, რამდენად იმედგაცრუებული შეიძლება იყოს დროის დახურვის პრობლემების გადაჭრის მცდელობა, განსაკუთრებით მაშინ, როდესაც დიზაინში ცვლილებებს ახორციელებთ დიზაინის შეცდომის მოსაძებნად - მთელი პროცესი შეიძლება წუთებიდან საათებამდე გაგრძელდეს)! ასევე მნიშვნელოვანია გვახსოვდეს, რომ თუ დიზაინს არ აქვს თავისუფალი მომხმარებლის შეყვანა/გამოსვლა, ეს მეთოდი ვერ განხორციელდება. უფრო მეტიც, ეს მეთოდი სტრუქტურულად ერევა დიზაინში - და დროთან დაკავშირებული შეცდომები შეიძლება გაქრეს ან ხელახლა გამოჩნდეს იტერაციებს შორის.

შიდა ლოგიკური ანალიზატორი
ამ მეთოდის გამოყენებით, ILA უნდა ჩასვათ დიზაინში fabric რესურსების გამოყენებით და შემდეგ ხელახლა უნდა კომპილირებულიყო. გაითვალისწინეთ, რომ თუ ILA უკვე შექმნილია, შესაძლოა, სიგნალები, რომელთა შესწავლაც გვსურს, არ იყოს ინსტრუმენტირებული, რაც ასევე მოითხოვს ხელახლა კომპილაციას. ეს პროცესი რისკავს ორიგინალური დიზაინის შეცვლას და დროის შეზღუდვების დარღვევას. თუ დრო დაკმაყოფილებულია, საჭიროა დიზაინის ხელახლა დაპროგრამება და ხელახლა ინიციალიზაცია. მთელი ეს პროცესი შეიძლება რამდენიმე წუთს ან საათსაც კი დასჭირდეს, თუ ხელახალი კომპილაციის დრო გრძელია და საჭიროა მრავალი გავლა. ეს მიდგომა სტრუქტურულად ინტრუზიულია და შეიძლება გამოიწვიოს ზემოთ აღწერილი პრობლემების მსგავსი პრობლემები.

აქტიური გამოძიება
ამ მეთოდის გამოყენებით, აქტიური ზონდი შეიძლება მიუთითებდეს სხვადასხვა გადატვირთვის სიგნალების წყაროზე, რომელთაგან ყველა რეგისტრის გამომავალი სიგნალით მოდის (როგორც ეს ჩვეულებრივი მოვლენაა ნებისმიერ კარგ ციფრული დიზაინის პრაქტიკაში). სიგნალები შეირჩევა ერთდროულად, ქვემოთ მოცემულ ნახაზ 10-ზე ნაჩვენები აქტიური ზონდის მენიუდან. შერჩეული სიგნალის მნიშვნელობების წაკითხვა შესაძლებელია და ისინი ნაჩვენებია აქტიური ზონდის მონაცემთა ფანჯარაში. ნებისმიერი არასწორი მტკიცება ადვილად იდენტიფიცირდება. ეს ტესტი შეიძლება ჩატარდეს დაუყოვნებლივ, მოწყობილობის ხელახალი კომპილაციისა და რეპროგრამირების საჭიროების გარეშე და არ არის სტრუქტურულად ან პროცედურულად ინტრუზიული. მთელი პროცესი მხოლოდ რამდენიმე წამს გრძელდება. ამ მეთოდს ასევე შეუძლია შექმნას კონტროლირებადობა (მნიშვნელობების ასინქრონული შეცვლა), რასაც სხვა ორი მეთოდი არ იძლევა. ამ კონკრეტულ შემთხვევაშიampანუ, რეგისტრის მიერ მიღებული გადატვირთვის სიგნალის ადვილად შესწავლა და აქტიურ მდგომარეობაში აღმოჩენა შესაძლებელია.

გადატვირთვის სიგნალის მომენტალური გადართვა შესაძლებელია დასვენების სიგნალების გენერირების რეგისტრის ასინქრონული მანიპულირებით.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (10)

უფრო რთული გამართვის გამოყენების შემთხვევა
ზემოთ მოცემული დიზაინი ძალიან მარტივი იყო და სასარგებლოა აღწერილი დიზაინის ტექნიკის გამოყენების შესავალად, მაგრამ უფრო რთული მაგალითიampშეიძლება კიდევ უფრო ილუსტრირებული იყოს. ბევრჯერ საინტერესო სიგნალი არ არის სტატიკური სიგნალი, როგორც ეს ჩვენს მარტივ მაგალითში იყო.ampმაგრამ დინამიურია. გავრცელებული დინამიური სიგნალი არის შუალედური საათი, რომელიც შესაძლოა გამოიყენება სერიული ინტერფეისისთვის ხელის შეხების დროის დასადგენად. სურათი 11 გვიჩვენებს ასეთ დიზაინს მომხმარებლის რბილი IP ბირთვით, ამ შემთხვევაში, სისტემის APB ავტობუსთან დაკავშირებული მორგებული სერიული ინტერფეისით. შეცდომის სიმპტომებია ის, რომ მომხმარებლის მორგებულ სერიულ ინტერფეისზე არ არის აქტივობა და როდესაც APB ავტობუსის მასტერი ახორციელებს ტრანზაქციას სერიულ ინტერფეისზე წვდომისთვის, ის გადადის გამონაკლისის მდგომარეობაში, რაც მიუთითებს არასწორ ხელის შეხებაზე. როგორც ჩანს, ეს პირობები გამორიცხავს სტატიკურ მიზეზს, როგორიცაა არასწორი გადატვირთვის სიგნალი, რადგან ტრანზაქციის მდგომარეობის მანქანა, როგორც ჩანს, არ მუშაობს მოსალოდნელი სიჩქარით და ამით იწვევს გამონაკლისს. ძირეული მიზეზი, სავარაუდოდ, არის საათის სიხშირის გენერატორი მომხმარებლის IP ბირთვში.

თუ ის სწორი სიხშირით არ მუშაობს, აღწერილი შეცდომები წარმოიქმნება.

მიკრონახევრად წრედში ჩაშენებული FPGA-ს გამართვა (11)

ამ სიტუაციაში, სავარაუდოდ, უკეთესი სტრატეგია იქნება აქტიური ზონდის მიდგომის ჩანაცვლება ცოცხალი ზონდით. ეს ზემოთ მოცემულ ფიგურაში ილუსტრირებულია ნარინჯისფერი LP ყუთით, J-ს გამოყენებით.TAG სიგნალი ზონდის წყაროს შერჩევისთვის.

გარე ტესტირების აღჭურვილობა
ამ შემთხვევაში, მეთოდოლოგია ძალიან ჰგავს ადრე აღწერილ მარტივ მაგალითს.ampმაგალითად, მომხმარებლის საათის სიგნალი გამოდის სატესტო წერტილში (იმედია, სათაურზე) და საჭიროა დროის ხარჯვადი ხელახალი კომპილაცია. ასევე შეიძლება სასარგებლო იყოს საცნობარო სიგნალის გამოტანა, შესაძლოა სისტემური საათის, რომელიც გამოიყენება მომხმარებლის IP მისამართის დასათვლელად, როგორც შედარების სიგნალი. ჩვენ კვლავ დაგვჭირდება ხელახალი კომპილაცია და ხელახლა პროგრამირება, ამიტომ მთელ პროცესს შეიძლება მნიშვნელოვანი დრო დასჭირდეს.

შიდა ლოგიკური ანალიზატორი
ეს შემთხვევა ძალიან ჰგავს მარტივ მაგალითსampანუ, ILA უნდა ჩაირთოს, ან სასურველი სიგნალი განისაზღვროს და ხელახლა კომპილაციისა და გადაპროგრამების ციკლი შესრულდეს. ყველა ადრე აღწერილი პრობლემა მაინც იწვევს გამართვის ციკლის მნიშვნელოვან დროს. თუმცა, არსებობს დამატებითი სირთულე. ILA-ს მართვის საათი უნდა იყოს სინქრონული და იდეალურ შემთხვევაში, ბევრად უფრო სწრაფი იმ საათზე, რომელსაც მომხმარებლის Soft IP ბირთვიდან აკვირდებიან. თუ ეს საათები ასინქრონულია ან არ აქვთ სწორი დროის ურთიერთობები, მონაცემთა აღრიცხვა არაპროგნოზირებადი იქნება და გამართვის პროცესისთვის დაბნეულობის შესაძლო წყარო გახდება.
გაითვალისწინეთ, რომ თუ მომხმარებლის Soft IP საათი ჩიპზე არ გენერირდება (შესაძლოა, ის სერიული ინტერფეისიდან აღდგება), დიზაინერს შეიძლება დასჭირდეს საათის მოდულის დამატება დამატებითი რესურსების გამოყენებით უფრო სწრაფი ILA საათის გენერირებისთვის და შესაძლოა დროის დარღვევის შესაქმნელად.

ცოცხალი ზონდი
ამ მეთოდის გამოყენებით, Live Probe-ის სწრაფად მითითება შესაძლებელია მომხმარებლის საათის წყაროზე და რეგისტრიდან ნებისმიერ სხვა საათის წყაროზე, რათა დადგინდეს შეცდომის ძირითადი მიზეზი. Live Probe აჩვენებს არჩეულ სიგნალის გამომავალ სიგნალებს რეალურ დროში და ამგვარად, სიგნალებს შორის ნებისმიერი დროის ურთიერთობის დადგენა გაცილებით ადვილია. მთელი პროცესი სულ რამდენიმე წამს გრძელდება.

სერიული ინტერფეისების სხვა გამართვის ფუნქციები
ასევე მნიშვნელოვანია აღინიშნოს, რომ SmartFusion2 SoC FPGA და IGLOO2 FPGA მოწყობილობებში არსებობს მრავალი დამატებითი გამართვის შესაძლებლობა, რომელთა გამოყენება შესაძლებელია სერიულ ინტერფეისებზე, როგორც ეს წინა მაგალითშია მოცემული.ampდიზაინი, სადაც შეცდომები კიდევ უფრო რთულია. მაგალითად, SERDES Debugample, უზრუნველყოფს სპეციფიკურ გამართვის შესაძლებლობებს სპეციალიზებული მაღალსიჩქარიანი სერიული ინტერფეისებისთვის. SERDES გამართვის ზოგიერთი ფუნქცია მოიცავს PMA ტესტის მხარდაჭერას (როგორიცაა PRBS შაბლონის გენერირება და მარყუჟის ტესტირება), SERDES ტესტის მრავალი კონფიგურაციის მხარდაჭერას რეგისტრის დონის რეკონფიგურაციით, რათა თავიდან იქნას აცილებული კონფიგურაციის ცვლილებებისთვის დიზაინის სრული ნაკადის გამოყენება და ტექსტური ანგარიშები, რომლებიც აჩვენებს კონფიგურირებულ პროტოკოლებს, SERDES კონფიგურაციის რეგისტრებს და Lane კონფიგურაციის რეგისტრებს. ეს მახასიათებლები SERDES გამართვას ბევრად აადვილებს და შეიძლება გამოყენებულ იქნას Live Probe-თან და Active Probe-თან ერთად რთული სქემების გამართვის კიდევ უფრო დასაჩქარებლად.
ტესტირების დასაჩქარებლად ასევე შესაძლებელია ადრე აღწერილი მეხსიერების გამართვის ინსტრუმენტის გამოყენება SERDES Debug-თან ერთად. ვინაიდან მეხსიერების ბუფერების სწრაფად და მარტივად შემოწმება და შეცვლა შესაძლებელია მეხსიერების გამართვის საშუალებით, შესაძლებელია სწრაფად შეიქმნას „სატესტო პაკეტები“ და დაკვირვება მარყუჟის ან სისტემებს შორის კომუნიკაციის შედეგებზე. დიზაინერს შეუძლია გამოიყენოს ეს შესაძლებლობები და ამით მინიმუმამდე დაიყვანოს სპეციალიზებული „სატესტო აღკაზმულობების“ საჭიროება, რომლებიც მოიხმარენ დამატებით FPGA ქსოვილს და რამაც შეიძლება გავლენა მოახდინოს ჩიპის დროზე.

დასკვნა
ამ ნაშრომში დეტალურად არის აღწერილი FPGA-ებისა და SoC FPGA-ებისთვის წრედშიდა გამართვის დანერგვის რამდენიმე განსხვავებული მიდგომა - ინტეგრირებული ლოგიკური ანალიზატორის გამოყენება, გარე სატესტო აღჭურვილობის გამოყენება და FPGA ქსოვილში ინტეგრირებული სპეციალური ზონდის სქემების გამოყენება. SmartFusion2 SoC FPGA-სა და IGLOO2 FPGA მოწყობილობებზე Microsemi-ის მიერ შემოთავაზებული სპეციალიზებული და სპეციალური ზონდის სქემების დამატება, როგორიცაა Active Probe და Live Probe, მნიშვნელოვნად აჩქარებს და ამარტივებს გამართვის პროცესს. შიდა სიგნალების შერჩევის სწრაფად შეცვლის შესაძლებლობა (ძალიან შრომატევადი ხელახალი კომპილაციისა და ხელახალი პროგრამირების ციკლის შესრულების გარეშე) და შიდა სიგნალების გაზომვის შესაძლებლობა (FPGA ქსოვილის გამოყენებისა და პოტენციურად დროის დარღვევების შეტანის გარეშე) მნიშვნელოვან უპირატესობად იქნა აღიარებული.tagFPGA დიზაინის გამართვისას. გარდა ამისა, აღწერილი იყო მრავალი მეთოდოლოგიის გამოყენება, რომლებიც ერთად მუშაობენ კიდევ უფრო ყოვლისმომცველი გამართვის შესაძლებლობის უზრუნველსაყოფად. და ბოლოს, ორი ყოფილიampაღწერილ მეთოდებს შორის კომპრომისების საილუსტრაციოდ მოცემულია დებაგის გამოყენების შემთხვევები.

მეტის გასაგებად

  1. IGLOO2 FPGA-ები
  2. SmartFusion2 SoC FPGA-ები

Microsemi Corporation (Nasdaq: MSCC) გთავაზობთ ნახევარგამტარული და სისტემური გადაწყვეტილებების ყოვლისმომცველ პორტფელს კომუნიკაციების, თავდაცვისა და უსაფრთხოების, საჰაერო კოსმოსური და სამრეწველო ბაზრებისთვის. პროდუქტებში შედის მაღალი ხარისხის და რადიაციით გამაგრებული ანალოგური შერეული სიგნალის ინტეგრირებული სქემები, FPGA, SoC და ASIC; ენერგიის მართვის პროდუქტები; დროისა და სინქრონიზაციის მოწყობილობები და ზუსტი დროის გადაწყვეტილებები, დროის მსოფლიო სტანდარტების დაწესება; ხმის დამუშავების მოწყობილობები; RF გადაწყვეტილებები; დისკრეტული კომპონენტები; უსაფრთხოების ტექნოლოგიები და მასშტაბირებადი ანტი-ტamper პროდუქტები; Ethernet-ზე მომუშავე ინტეგრირებული სქემები და შუალედური პანელები; ასევე ინდივიდუალური დიზაინის შესაძლებლობები და მომსახურება. Microsemi-ის შტაბ-ბინა მდებარეობს ალისო ვიეხოში, კალიფორნია და მსოფლიო მასშტაბით დაახლოებით 3,400 თანამშრომელი ჰყავს. შეიტყვეთ მეტი www.microsemi.com.

© 2014 Microsemi Corporation. Ყველა უფლება დაცულია. Microsemi და Microsemi ლოგო არის Microsemi Corporation-ის სავაჭრო ნიშნები. ყველა სხვა სავაჭრო ნიშანი და მომსახურების ნიშანი მათი შესაბამისი მფლობელების საკუთრებაა.

Microsemi კორპორატიული სათაო ოფისი

FAQ

  • კითხვა: რა არის მოწყობილობის მიერ მონაცემთა შეგროვების მაქსიმალური სიხშირე?
    A: მოწყობილობა მხარს უჭერს მონაცემთა შეგროვებას 100 MHz-მდე სიხშირით, რაც შესაფერისია სამიზნე დიზაინის უმეტესობისთვის.
  • კითხვა: საჭიროა თუ არა დიზაინის ხელახლა კომპილაცია, როდესაც გამართვისთვის ზონდის სქემებს ვიყენებ?
    A: არა, ზონდის წერტილების მდებარეობა შეიძლება სწრაფად შეიცვალოს დიზაინის ხელახალი კომპილაციის ან რეპროგრამირების გარეშე.

დოკუმენტები / რესურსები

მიკროსემიტურ წრედშიდა FPGA გამართვა [pdf] ინსტრუქციები
წრედშიდა FPGA გამართვა, FPGA გამართვა, გამართვა

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *