Სარჩევი:
- ნაბიჯი 1: სპეციფიკაციები
- ნაბიჯი 2: მთელი სისტემის RTL ხედი
- ნაბიჯი 3: ტესტის შედეგები
- ნაბიჯი 4: თანდართული ფაილები
ვიდეო: VHDL– ში მარტივი ოთხმხრივი კომპაქტური ქეში კონტროლერის დიზაინი: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ჩემს წინა ინსტრუქციებში, ჩვენ ვნახეთ, თუ როგორ უნდა შეიმუშაოს მარტივი პირდაპირი რუქის ქეში კონტროლერი. ამჯერად, ჩვენ წინ მივდივართ. ჩვენ შევქმნით მარტივ ოთხმხრივ მითითებულ ასოციაციურ ქეში კონტროლერს. უპირატესობა? ნაკლები გამოტოვების მაჩვენებელი, მაგრამ შესრულების ფასად. ისევე, როგორც ჩემი წინა ბლოგი, ჩვენ შევიმუშავებთ და გამოვხატავთ მთელ პროცესორს, ძირითად მეხსიერებას და ქეში გარემოს შესამოწმებლად ჩვენი ქეში კონტროლერი. ვიმედოვნებ, რომ თქვენ ნახავთ ამას, როგორც სასარგებლო მითითებას, რომ გაიგოთ კონცეფციები და შეიმუშაოთ თქვენი საკუთარი ქეში კონტროლერები მომავალში. ვინაიდან პროცესორის მოდელი (საცდელი სკამი) და ძირითადი მეხსიერების სისტემა ზუსტად იგივეა რაც ჩემი წინა ბლოგი, მე მათ აღარ განვმარტავ. გთხოვთ, გაეცნოთ წინა ინსტრუქციას ამის შესახებ დეტალებისთვის.
ნაბიჯი 1: სპეციფიკაციები
სწრაფი ნახვა Cache Controller– ის სპეციფიკაციებით აქ წარმოდგენილი:
- ოთხმხრივი კომპლექტი ასოციაციური ქეშის კონტროლერი (გადადით ამ ბმულზე, თუ ეძებთ პირდაპირ რუქის ქეში კონტროლერს).
- ერთჯერადი ბანკი, ბლოკირების ქეში.
- დაწერეთ პოლიტიკა ჩაწერის ჰიტების შესახებ.
- ჩაწერეთ გამოტოვების შესახებ ჩაწერა-გარშემო პოლიტიკა.
- ხე Pseudo-LRU (pLRU) ჩანაცვლების პოლიტიკა.
- Tag მასივი კონტროლერში.
- კონფიგურირებადი პარამეტრები.
ნაგულისხმევი სპეციფიკაციები Cache მეხსიერებისა და ძირითადი მეხსიერებისათვის იგივეა რაც ჩემი წინა ინსტრუქციისგან. გთხოვთ მიმართოთ მათ.
ნაბიჯი 2: მთელი სისტემის RTL ხედი
ზედა მოდულის სრული RTL წარმოდგენა ნაჩვენებია ფიგურაში (პროცესორის გამოკლებით). ავტობუსების სტანდარტული მახასიათებლებია:
- ყველა მონაცემთა ავტობუსი არის 32 ბიტიანი ავტობუსი.
- მისამართის ავტობუსი = 32 ბიტიანი ავტობუსი (მაგრამ მეხსიერების საშუალებით აქ მხოლოდ 10 ბიტია მიმართული).
- მონაცემთა ბლოკი = 128 ბიტი (ფართო გამტარუნარიანობის ავტობუსი წაკითხვისთვის).
- ყველა კომპონენტი ერთსა და იმავე საათს მართავს.
ნაბიჯი 3: ტესტის შედეგები
ზედა მოდული შემოწმდა საცდელი სკამის გამოყენებით, რომელიც უბრალოდ აყალიბებს არასამთავრობო მილსადენის პროცესორს, ისევე როგორც ჩვენ გავაკეთეთ ბოლო ინსტრუქციებში. საცდელი მაგიდა ხშირად წარმოქმნის წაკითხვის/ჩაწერის მონაცემებს მეხსიერებაში. ეს დასცინის ტიპიურ "Load" და "Store" ინსტრუქციებს, რომლებიც გავრცელებულია პროცესორის მიერ შესრულებულ ყველა პროგრამაში.
ტესტის შედეგებმა წარმატებით დაადასტურა ქეში კონტროლერის ფუნქციონირება. ქვემოთ მოცემულია ტესტის სტატისტიკა:
- ყველა წაკითხვის/ჩაწერის Miss და Hit სიგნალები სწორად იქნა გენერირებული.
- წაკითხვის/ჩაწერის ყველა ოპერაცია წარმატებული იყო ოთხივე გზით.
- pLRU ალგორითმი წარმატებით არის დამოწმებული ქეში ხაზების შეცვლისთვის.
- მონაცემთა შეუსაბამობა/შეუსაბამობა არ არის გამოვლენილი.
- დიზაინი წარმატებით იქნა დადასტურებული დროის მაქსიმუმისთვის. საათის სიხშირე = 100 MHz Xilinx Virtex-4 ML-403 დაფაზე (მთელი სისტემა), 110 MHz მხოლოდ Cache Controller– ისთვის.
- ბლოკის ოპერატიული მეხსიერება გამოითვლება ძირითადი მეხსიერებისათვის. ყველა სხვა მასივი განხორციელდა LUT– ებზე.
ნაბიჯი 4: თანდართული ფაილები
შემდეგი ფაილები ერთვის აქ ამ ბლოგს:
- . VHD ფაილები Cache Controller, Cache Data Array, Main Memory System.
- საცდელი სკამი.
- დოკუმენტაცია ქეში კონტროლერის შესახებ.
შენიშვნები:
- გაიარეთ დოკუმენტაცია, რომ გაიგოთ აქ წარმოდგენილი ქეში კონტროლერის სპეციფიკაციები.
- კოდის ნებისმიერი ცვლილება დამოკიდებულია სხვა მოდულებზე. ასე რომ, ცვლილებები გონივრულად უნდა მოხდეს.
- ყურადღება მიაქციეთ ჩემს მიერ გამოქვეყნებულ ყველა კომენტარს და სათაურს.
- თუ რაიმე მიზეზის გამო, ბლოკის ოპერატიული მეხსიერება არ არის გამოთვლილი ძირითადი მეხსიერებისათვის, შეამცირეთ მეხსიერების ზომა, რასაც მოჰყვება მისამართების ავტობუსის სიგანეების ცვლილებები ფაილებში და ასე შემდეგ. ასე რომ ერთი და იგივე მეხსიერება შეიძლება განხორციელდეს როგორც LUT- ებზე, ასევე განაწილებულ RAM- ზე. ეს დაზოგავს მარშრუტის დროს და რესურსებს. ან, გადადით FPGA– ს კონკრეტულ დოკუმენტაციაში და იპოვეთ ბლოკის RAM– ის თავსებადი კოდი და შესაბამისად შეცვალეთ კოდი და გამოიყენეთ იგივე მისამართის ავტობუსის სიგანის სპეციფიკაციები. იგივე ტექნიკა Altera FPGA– სთვის.
გირჩევთ:
პროგრამირებადი შეფერხების კონტროლერის დიზაინი VHDL– ში: 4 ნაბიჯი
VHDL– ში პროგრამირებადი შეფერხების კონტროლერის დიზაინი: მე აღფრთოვანებული ვარ ამ ბლოგის პასუხებით. მადლობა ბიჭებს, რომ ეწვიეთ ჩემს ბლოგს და მოტივაცია მომეცით გაგიზიაროთ ჩემი ცოდნა. ამჯერად, მე წარმოგიდგენთ კიდევ ერთი საინტერესო მოდულის დიზაინს, რომელსაც ყველა SOC– ში ვხედავთ - Interrupt C
მარტივი ქეში კონტროლერის დიზაინი VHDL– ში: 4 ნაბიჯი
მარტივი ქეში კონტროლერის დიზაინი VHDL– ში: მე ვწერ ამას სასწავლებლად, რადგან ცოტა გამიჭირდა რაიმე საცნობარო VHDL კოდის მოპოვება, რომ ვისწავლო და დავიწყო ქეში კონტროლერის დიზაინი. ასე რომ, მე თვითონ შევქმენი ქეში კონტროლერი ნულიდან და წარმატებით გამოვცადე FPGA– ზე. მე მაქვს პ
მარტივი VGA კონტროლერის დიზაინი VHDL და Verilog– ში: 5 ნაბიჯი
მარტივი VGA კონტროლერის დიზაინი VHDL– ში და Verilog– ში: ამ ინსტრუქციურად, ჩვენ ვაპირებთ შევქმნათ მარტივი VGA კონტროლერი RTL– ში. VGA კონტროლერი არის ციფრული წრე, რომელიც შექმნილია VGA დისპლეების მართვისთვის. ის იკითხება ჩარჩო ბუფერიდან (VGA მეხსიერება), რომელიც წარმოადგენს ჩვენების ჩარჩოს და ქმნის საჭირო
PCB დიზაინი მარტივი და მარტივი ნაბიჯებით: 30 ნაბიჯი (სურათებით)
PCB დიზაინი მარტივი და მარტივი ნაბიჯებით: HELLO FRIENDS მისი ძალიან სასარგებლო და მარტივი სამეურვეო პროგრამა მათთვის, ვისაც სურს ისწავლოს PCB დიზაინის სწავლა
კომპაქტური შუქის შესაქმნელად ყველაზე მარტივი გზა !! 3 მარტივი ნაბიჯი !!: 3 ნაბიჯი
კომპაქტური შუქის შესაქმნელად ყველაზე მარტივი გზა !! 3 მარტივი ნაბიჯი !!: რა დაგჭირდებათ - თუნუქის ფოლგა 1 AA ბატარეა (ზოგიერთი AAA ბატარეა იმუშავებს) 1 მინი ნათურა (ნათურები გამოიყენება ფანრების უმეტესობისთვის; იხილეთ სურათი) მმართველი (საჭიროების შემთხვევაში)