| SDR |
| DDR |
თანამედროვე ტექნიკურ დიზაინში, CPU-ს, მეხსიერების კონტროლერებისა და ავტობუსების აგების შემდეგ, მთავარი გამოწვევა გარე პერიფერიულ მოწყობილობებთან ინტერფეისის შექმნაა. ხშირად, ეს მოწყობილობები საჭიროებენ სპეციფიკურ საათის სიგნალს (Clock), რომელიც უშუალოდ დიზაინიდან უნდა მოდიოდეს.
პერიფერიული დიზაინისას ორი ძირითადი მიმართულებაა: საათის გენერირება პერიფერიისთვის და პერიფერიიდან დაბრუნებული საათის დამუშავება. ეს უკანასკნელი კრიტიკულია ისეთი მაღალსიჩქარიანი პროტოკოლებისთვის, როგორიცაა DDR მეხსიერება, eMMC ან HyperRAM.
პირველი სირთულე, რაც ამ მიმართულებით შემხვდა, NOR ფლაშ-კონტროლერის აგებისას იყო. FPGA-ზე მუშაობისას საათი უნდა ყოფილიყო მუდმივი სიხშირის, თუმცა მისი პერიოდულად გაჩერება ხდებოდა საჭირო. მაგალითად, მონაცემთა ტრანსპორტირების დასრულებისას ან ჩიპის არჩევის (Chip Select) აქტივაციისას.
ASIC პლატფორმებზე მუშაობისას სიტუაცია კიდევ უფრო იძაბება. FPGA-სგან განსხვავებით, სადაც დიზაინის შეცვლა მარტივია, ASIC-ის შემთხვევაში შეცდომის დაშვება ფინანსურად დამანგრეველია. აქ საათის სიჩქარე ხშირად დინამიურად იცვლება, რაც დამატებით მოთხოვნებს აყენებს.
რა არის მთავარი გამოწვევა?
ბევრი თანამედროვე პროტოკოლი იყენებს „ორმაგი მონაცემთა სიჩქარის“ (DDR) პრინციპს. აქ მონაცემთა გადაცემა ხდება საათის ორივე ფრონტზე. ამ დროს აუცილებელია საათის სიგნალის 90-გრადუსიანი წანაცვლება მონაცემების მიმართ, რათა უზრუნველყოფილი იყოს სტაბილური კავშირი.
ძირითადი მოთხოვნები საათის გენერატორისთვის მოიცავს:
- დისკრეტულობა: შესაძლებლობა, საათი გაჩერდეს, როდესაც მონაცემთა გაცვლა არ მიმდინარეობს.
- დინამიური სიხშირე: SDIO ან eMMC პროტოკოლები მოითხოვენ სიხშირის ცვლილებას ოპერაციის მიმდინარეობისას.
- სიგნალის სისუფთავე: დაუშვებელია საათის სიგნალში გლიჩების (glitches) არსებობა.
ტრადიციული მიდგომა, რომელიც მხოლოდ მთელი რიცხვით დაყოფას იყენებს, ხშირად ვერ უზრუნველყოფს საათის სიგნალის სტაბილურობას. განსაკუთრებით მაშინ, როდესაც საქმე გვაქვს დომენებს შორის გადასვლასთან (Clock Domain Crossing), რაც დამატებით დაყოვნებას და ლოგიკურ შეცდომებს იწვევს.
საბოლოო ჯამში, ციფრული დიზაინისას მიზანი უნდა იყოს საათის სიგნალის ისეთი გენერირება, რომელიც თავიდან აგვარიდებს გადასვლების შეცდომებს და უზრუნველყოფს თავსებადობას როგორც FPGA, ისე ASIC პლატფორმებთან.





დისკუსია
0 კომენტარი
ჯერ კომენტარი არ არის — იყავი პირველი.