მიკროსემი ლოგოSmartFusion2
DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი
ინიციალიზაციის მეთოდოლოგია
მომხმარებლის სახელმძღვანელო

შესავალი

SmartFusion2 მოწყობილობის გამოყენებით დიზაინის შექმნისას, თუ იყენებთ ერთ-ერთ DDR კონტროლერს (FDDR ან MDDR) ან სერიული მაღალი სიჩქარის კონტროლერის (SERDESIF) რომელიმე ბლოკს, თქვენ უნდა მოაწყოთ ამ ბლოკების კონფიგურაციის რეგისტრები გაშვების დროს. მათი გამოყენება შესაძლებელია. მაგampასევე, DDR კონტროლერისთვის, თქვენ უნდა დააყენოთ DDR რეჟიმი (DDR3/DDR2/LPDDR), PHY სიგანე, ადიდებული რეჟიმი და ECC.
ანალოგიურად, SERDESIF ბლოკისთვის, რომელიც გამოიყენება PCIe ბოლო წერტილად, თქვენ უნდა დააყენოთ PCIE BAR AXI (ან AHB) ფანჯარაზე.
ეს დოკუმენტი აღწერს ნაბიჯებს, რომლებიც აუცილებელია Libero დიზაინის შესაქმნელად, რომელიც ავტომატურად ახდენს DDR კონტროლერის და SERDESIF ბლოკების ინიციალიზებას ჩართვისას. იგი ასევე აღწერს, თუ როგორ უნდა გენერირებას firmware კოდი Libero SOC-დან, რომელიც გამოიყენება ჩაშენებული დიზაინის ნაკადში.
თავდაპირველად მოცემულია ოპერაციების თეორიის დეტალური აღწერა.
შემდეგი სექცია აღწერს, თუ როგორ უნდა შექმნათ ასეთი დიზაინი Libero SoC System Builder-ის გამოყენებით, მძლავრი დიზაინის ხელსაწყოს, რომელიც, სხვა ფუნქციებთან ერთად, ქმნის თქვენთვის „ინიციალიზაციის“ გადაწყვეტას, თუ თქვენს დიზაინში იყენებთ DDR ან SERDESIF ბლოკებს.
შემდეგი სექცია აღწერს, თუ როგორ უნდა დააყენოთ სრული „ინიციალიზაციის“ გადაწყვეტა SmartFusion2 System Builder-ის გამოყენების გარეშე. ეს გეხმარებათ იმის ახსნაში, თუ რა უნდა გაკეთდეს, თუ არ გსურთ სისტემის შემქმნელის გამოყენება, და ასევე აღწერს იმას, თუ რას წარმოქმნის სინამდვილეში თქვენთვის System Builder ინსტრუმენტი. ეს განყოფილება ეხება:

  • DDR კონტროლერის და SERDESIF კონფიგურაციის რეგისტრების კონფიგურაციის მონაცემების შექმნა
  • FPGA ლოგიკის შექმნა, რომელიც საჭიროა კონფიგურაციის მონაცემების სხვადასხვა ASIC კონფიგურაციის რეგისტრებში გადასატანად

ბოლოს ჩვენ აღვწერთ გენერირებულს fileდაკავშირებულია:

  • პროგრამული უზრუნველყოფის "ინიციალიზაციის" გადაწყვეტის შექმნა.
  • დიზაინის სიმულაცია DDR "ინიციალიზაციის" გადაწყვეტისთვის.

DDR კონტროლერის და SERDESIF კონფიგურაციის რეგისტრების შესახებ დეტალებისთვის იხილეთ Microsemi SmartFusion2 მაღალი სიჩქარით სერიული და DDR ინტერფეისების მომხმარებლის სახელმძღვანელო.

ოპერაციის თეორია

პერიფერიული ინიციალიზაციის გადაწყვეტა იყენებს შემდეგ ძირითად კომპონენტებს:

  • CMSIS SystemInit() ფუნქცია, რომელიც მუშაობს Cortex-M3-ზე და ორკესტრირებს ინიციალიზაციის პროცესს.
  • CoreConfigP რბილი IP ბირთვი, რომელიც ახდენს პერიფერიული მოწყობილობების კონფიგურაციის რეგისტრების ინიციალიზებას.
  • CoreResetP რბილი IP ბირთვი, რომელიც მართავს MSS, DDR კონტროლერების და SERDESIF ბლოკების გადატვირთვის თანმიმდევრობას.

პერიფერიული ინიციალიზაციის პროცესი მუშაობს შემდეგნაირად:

  1. გადატვირთვისას, Cortex-M3 აწარმოებს CMSIS SystemInit() ფუნქციას. ეს ფუნქცია ავტომატურად სრულდება აპლიკაციის main() ფუნქციის შესრულებამდე.
    CoreResetP გამომავალი სიგნალი MSS_HPMS_READY დამტკიცებულია ინიციალიზაციის პროცესის დასაწყისში, რაც მიუთითებს, რომ MSS და ყველა პერიფერიული მოწყობილობა (გარდა MDDR) მზად არის კომუნიკაციისთვის.
  2. SystemInit() ფუნქცია წერს კონფიგურაციის მონაცემებს DDR კონტროლერებზე და SERDESIF კონფიგურაციის რეგისტრებში MSS FIC_2 APB3 ავტობუსის მეშვეობით. ეს ინტერფეისი დაკავშირებულია რბილ CoreConfigP ბირთვთან, რომელიც ინსტალირებულია FPGA ქსოვილში.
  3. ყველა რეგისტრის კონფიგურაციის შემდეგ, SystemInit() ფუნქცია წერს CoreConfigP საკონტროლო რეგისტრებში, რათა მიუთითოს რეგისტრის კონფიგურაციის ფაზის დასრულება; შემდეგ დამტკიცებულია CoreConfigP გამომავალი სიგნალები CONFIG1_DONE და CONIG2_DONE.
    რეგისტრის კონფიგურაციის ორი ეტაპია (CONFIG1 და CONFIG2) რაც დამოკიდებულია დიზაინში გამოყენებული პერიფერიულ მოწყობილობებზე.
  4. თუ გამოყენებულია ერთი ან ორივე MDDR/FDDR და არცერთი SERDESIF ბლოკი არ არის გამოყენებული დიზაინში, არსებობს მხოლოდ ერთი რეგისტრის კონფიგურაციის ფაზა. ორივე CoreConfigP გამომავალი სიგნალი CONFIG1_DONE და CONIG2_DONE დამტკიცებულია ერთმანეთის მიყოლებით ყოველგვარი ლოდინის/დაყოვნების გარეშე.
    თუ ერთი ან მეტი SERDESIF ბლოკი არა-PCIe რეჟიმში გამოიყენება დიზაინში, რეგისტრის კონფიგურაციის მხოლოდ ერთი ეტაპია. CONFIG1_DONE და CONIG2_DONE დამტკიცებულია ერთმანეთის მიყოლებით ყოველგვარი ლოდინის/დაყოვნების გარეშე.
    თუ ერთი ან მეტი SERDESIF ბლოკი PCIe რეჟიმში გამოიყენება დიზაინში, არსებობს რეგისტრის კონფიგურაციის ორი ფაზა. CONFIG1_DONE დამტკიცებულია რეესტრის კონფიგურაციის პირველი ფაზის დასრულების შემდეგ. SERDESIF სისტემა და ზოლის რეგისტრები კონფიგურირებულია ამ ფაზაში. თუ SERDESIF კონფიგურირებულია არა-PCIE რეჟიმში, CONFIG2_DONE სიგნალი ასევე მყისიერად დაფიქსირებულია.
  5. შემდეგ მოჰყვება რეგისტრის კონფიგურაციის მეორე ეტაპი (თუ SERDESIF კონფიგურირებულია PCIE რეჟიმში). ქვემოთ მოცემულია სხვადასხვა მოვლენები, რომლებიც ხდება მეორე ეტაპზე:
    – CoreResetP ამტკიცებს PHY_RESET_N და CORE_RESET_N სიგნალებს, რომლებიც შეესაბამება თითოეულ გამოყენებულ SERDESIF ბლოკს. ის ასევე ამტკიცებს გამომავალ სიგნალს SDIF_RELEASED ყველა SERDESIF ბლოკის გადატვირთვის შემდეგ. ეს SDIF_RELEASED სიგნალი გამოიყენება CoreConfigP-სთვის მინიშნებით, რომ SERDESIF ბირთვი გადატვირთულია და მზად არის რეგისტრის კონფიგურაციის მეორე ფაზისთვის.
    – SDIF_RELEASED სიგნალის დამტკიცების შემდეგ, SystemInit() ფუნქცია იწყებს გამოკითხვას PMA_READY-ის დასამტკიცებლად შესაბამის SERDESIF ზოლზე. PMA_READY-ის დამტკიცების შემდეგ, SERDESIF რეგისტრების მეორე ნაკრები (PCIE რეგისტრები) კონფიგურირებულია/იწერება SystemInit() ფუნქციით.
  6. ყველა PCIE რეგისტრის კონფიგურაციის შემდეგ, SystemInit() ფუნქცია წერს CoreConfigP საკონტროლო რეგისტრებში, რათა მიუთითოს რეგისტრის კონფიგურაციის მეორე ფაზის დასრულება; შემდეგ დამტკიცებულია CoreConfigP გამომავალი სიგნალი CONIG2_DONE.
  7. გარდა ზემოაღნიშნული სიგნალის მტკიცებებისა/დამტკიცებებისა, CoreResetP ასევე მართავს სხვადასხვა ბლოკების ინიციალიზაციას შემდეგი ფუნქციების შესრულებით:
    – FDDR ბირთვის გადატვირთვის დემტკიცება
    – SERDESIF-ის დემტკიცება ბლოკავს PHY და CORE გადატვირთვას
    – FDDR PLL (FPLL) დაბლოკვის სიგნალის მონიტორინგი. FPLL უნდა იყოს ჩაკეტილი, რათა გარანტირებული იყოს, რომ FDDR AXI/AHBLite მონაცემთა ინტერფეისი და FPGA ქსოვილი სწორად დაუკავშირდნენ.
    – SERDESIF ბლოკის PLL (SPLL) დაბლოკვის სიგნალების მონიტორინგი. SPLL უნდა იყოს ჩაკეტილი, რათა გარანტირებული იყოს, რომ SERDESIF ბლოკავს AXI/AHBLite ინტერფეისს (PCIe რეჟიმი) ან XAUI ინტერფეისს შეუძლია სწორად დაუკავშირდეს FPGA ქსოვილს.
    – ველოდები გარე DDR მეხსიერების დალაგებას და მზადყოფნას DDR კონტროლერებისთვის წვდომისთვის.
  8. როდესაც ყველა პერიფერიული მოწყობილობა დაასრულებს ინიციალიზაციას, CoreResetP ამტკიცებს INIT_DONE სიგნალს; შემდეგ დამტკიცებულია CoreConfigP შიდა რეგისტრი INIT_DONE.
    თუ გამოიყენება ერთი ან ორივე MDDR/FDDR და მიღწეულია DDR ინიციალიზაციის დრო, CoreResetP გამომავალი სიგნალი DDR_READY დამტკიცებულია. ამ სიგნალის დადასტურება DDR_READY შეიძლება მონიტორინგდეს, როგორც ნიშანი იმისა, რომ DDR (MDDR/FDDR) მზად არის კომუნიკაციისთვის.
    თუ გამოიყენება ერთი ან მეტი SERDESIF ბლოკი და რეგისტრის კონფიგურაციის მეორე ეტაპი წარმატებით დასრულდა, CoreResetP გამომავალი სიგნალი SDIF_READY დამტკიცებულია. ამ სიგნალის დადასტურება SDIF_READY შეიძლება მონიტორინგდეს, როგორც იმის მანიშნებელი, რომ ყველა SERDESIF ბლოკი მზად არის კომუნიკაციისთვის.
  9. SystemInit() ფუნქცია, რომელიც ელოდა INIT_DONE-ის დამტკიცებას, სრულდება და აპლიკაციის main() ფუნქცია შესრულებულია. იმ დროს, ყველა გამოყენებული DDR კონტროლერი და SERDESIF ბლოკი ინიციალირებული იყო და firmware აპლიკაციას და FPGA ქსოვილის ლოგიკას შეუძლია საიმედოდ დაუკავშირდეს მათ.

ამ დოკუმენტში აღწერილი მეთოდოლოგია ეყრდნობა Cortex-M3-ს, რომელიც ახორციელებს ინიციალიზაციის პროცესს, როგორც სისტემის ინიციალიზაციის კოდის ნაწილი, რომელიც შესრულებულია აპლიკაციის მთავარ() ფუნქციამდე.
FDDR/MDDR, SEREDES (არა-PCIe რეჟიმი) და SERDES (PCIe რეჟიმი) ინიციალიზაციის საფეხურებისთვის იხილეთ ნაკადების დიაგრამები სურათზე 1-1, სურათზე 1-2 და სურათზე 1-3.
სურათი 1-4 გვიჩვენებს პერიფერიული ინიციალიზაციის დროის დიაგრამას.

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - დროის დიაგრამა 1 Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - დროის დიაგრამა 2

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - დროის დიაგრამა 3Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - დროის დიაგრამა 4სურათი 1-3 • SERDESIF (PCIe) ინიციალიზაციის ნაკადის სქემა
ამ დოკუმენტში აღწერილი ინიციალიზაციის პროცედურა მოითხოვს, რომ გაუშვათ Cortex-M3 ინიციალიზაციის პროცესში, მაშინაც კი, თუ არ გეგმავთ რაიმე კოდის გაშვებას Cortex-M3-ზე. თქვენ უნდა შექმნათ ძირითადი პროგრამული უზრუნველყოფის პროგრამა, რომელიც არაფერს აკეთებს (უბრალო მარყუჟი, მაგample) და ჩატვირთეთ შესრულებადი ჩაშენებულ არასტაბილურ მეხსიერებაში (eNVM), ასე რომ DDR კონტროლერები და SERDESIF ბლოკები ინიციალიზდება Cortex-M3-ის ჩატვირთვისას.

System Builder-ის გამოყენება დიზაინის შესაქმნელად DDR და SERDESIF ბლოკების გამოყენებით

SmartFusion2 System Builder არის მძლავრი დიზაინის ინსტრუმენტი, რომელიც დაგეხმარებათ აითვისოთ თქვენი სისტემის დონის მოთხოვნები და შექმნათ დიზაინი, რომელიც ახორციელებს ამ მოთხოვნებს. სისტემის შემქმნელის ძალიან მნიშვნელოვანი ფუნქციაა პერიფერიული ინიციალიზაციის ქვესისტემის ავტომატური შექმნა. „SmartDesign-ის გამოყენება დიზაინის შესაქმნელად DDR და SERDESIF ბლოკების გამოყენებით“ მე-17 გვერდზე დეტალურად არის აღწერილი, თუ როგორ უნდა შექმნათ ასეთი გადაწყვეტა System Builder-ის გარეშე.
თუ იყენებთ System Builder-ს, თქვენ უნდა შეასრულოთ შემდეგი ამოცანები, რათა შექმნათ დიზაინი, რომელიც ინიციალიზაციას უკეთებს თქვენს DDR კონტროლერებს და SERDESIF ბლოკებს ჩართვისას:

  1. მოწყობილობის მახასიათებლების გვერდზე (სურათი 2-1), მიუთითეთ რომელი DDR კონტროლერია გამოყენებული და რამდენი SERDESIF ბლოკია გამოყენებული თქვენს დიზაინში.
  2. მეხსიერების გვერდზე მიუთითეთ DDR-ის ტიპი (DDR2/DDR3/LPDDR) და თქვენი გარე DDR მეხსიერების კონფიგურაციის მონაცემები. დეტალებისთვის იხილეთ მეხსიერების გვერდის განყოფილება.
  3. პერიფერიული მოწყობილობების გვერდზე, დაამატეთ ქსოვილის მასტერები, რომლებიც კონფიგურირებულია AHBLite/AXI-ად Fabric DDR ქვესისტემასა და/ან MSS DDR FIC ქვესისტემაში (არასავალდებულო).
  4. საათის პარამეტრების გვერდზე, მიუთითეთ საათის სიხშირეები DDR ქვესისტემებისთვის.
  5. შეავსეთ თქვენი დიზაინის სპეციფიკაცია და დააჭირეთ Finish. ეს წარმოქმნის System Builder-ის შექმნილ დიზაინს, მათ შორის ლოგიკას, რომელიც აუცილებელია "ინიციალიზაციის" გადაწყვეტისთვის.
  6. თუ იყენებთ SERDESIF ბლოკებს, თქვენ უნდა დააინსტალიროთ SERDESIF ბლოკები თქვენს დიზაინში და დააკავშიროთ მათი ინიციალიზაციის პორტები System Builder-ის გენერირებული ბირთვის პორტებთან.

სისტემის შემქმნელის მოწყობილობის მახასიათებლების გვერდი
მოწყობილობის მახასიათებლების გვერდზე, მიუთითეთ რომელი DDR კონტროლერები (MDDR და/ან FDDR) გამოიყენება და რამდენი SERDESIF ბლოკია გამოყენებული თქვენს დიზაინში (სურათი 2-1).

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - მოწყობილობის მახასიათებლების გვერდისურათი 2-1 • System Builder Device Features Page

სისტემის შემქმნელის მეხსიერების გვერდი
MSS DDR (MDDR) ან ქსოვილის DDR (FDDR) გამოსაყენებლად, ჩამოსაშლელი სიიდან აირჩიეთ მეხსიერების ტიპი (სურათი 2-2).

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - გარე მეხსიერებასურათი 2-2 • MSS გარე მეხსიერება

თქვენ უნდა:

  1. აირჩიეთ DDR ტიპი (DDR2, DDR3 ან LPDDR).
  2. განსაზღვრეთ DDR მეხსიერების დაყენების დრო. იხილეთ თქვენი გარე DDR მეხსიერების სპეციფიკაციები მეხსიერების დაყენების სწორი დროის დასაყენებლად. DDR მეხსიერება შეიძლება ვერ მოხდეს სწორად ინიციალიზაცია, თუ მეხსიერების დაყენების დრო სწორად არ არის დაყენებული.
  3. ან შემოიტანეთ DDR რეგისტრის კონფიგურაციის მონაცემები ან დააყენეთ თქვენი DDR მეხსიერების პარამეტრები. დეტალებისთვის იხილეთ Microsemi SmartFusion2 მაღალი სიჩქარით სერიული და DDR ინტერფეისების მომხმარებლის სახელმძღვანელო.

ეს მონაცემები გამოიყენება DDR რეგისტრის BFM და firmware კონფიგურაციის შესაქმნელად files როგორც აღწერილია 26-ე გვერდზე „Firmware Application-ის შექმნა და შედგენა“ და „BFM“ Files გამოიყენება დიზაინის სიმულაციისთვის“ გვერდზე 27. დეტალებისთვის DDR კონტროლერის კონფიგურაციის რეგისტრების შესახებ იხილეთ Microsemi SmartFusion2 მაღალი სიჩქარით სერიული და DDR ინტერფეისების მომხმარებლის სახელმძღვანელო.
ყოფილიampკონფიგურაციის ლე file სინტაქსი ნაჩვენებია სურათზე 2-3. ამაში გამოყენებული რეგისტრის სახელები file იგივეა რაც აღწერილი Microsemi SmartFusion2 მაღალი სიჩქარით სერიული და DDR ინტერფეისების მომხმარებლის სახელმძღვანელო

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - File სინტაქსი მაგampleსურათი 2-3 • კონფიგურაცია File სინტაქსი მაგample
სისტემის შემქმნელის პერიფერიული მოწყობილობების გვერდი
პერიფერიული მოწყობილობების გვერდზე, თითოეული DDR კონტროლერისთვის იქმნება ცალკე ქვესისტემა (Fabric DDR Subsystem for FDDR და MSS DDR FIC Subsystem for MDDR). თქვენ შეგიძლიათ დაამატოთ Fabric AMBA Master (კონფიგურირებული, როგორც AXI/AHBLite) ბირთვი თითოეულ ამ ქვესისტემას, რათა ჩართოთ ქსოვილის ძირითადი წვდომა DDR კონტროლერებზე. გენერირების შემდეგ, System Builder ავტომატურად ახდენს ავტობუსის ბირთვების ინსტალაციას (დამატებული AMBA Master-ის ტიპის მიხედვით) და ავლენს ავტობუსის ბირთვის მთავარ BIF-ს და შესაბამისი ქვესისტემების საათისა და გადატვირთვის ქინძისთავებს (FDDR/MDDR) შესაბამისი პინების ჯგუფებში. ზედა. საკმარისია BIF-ები დააკავშიროთ შესაბამის Fabric Master ბირთვებთან, რომლებსაც დიზაინში გამოიყენებდით. MDDR-ის შემთხვევაში, არასავალდებულოა Fabric AMBA Master ბირთვის დამატება MSS DDR FIC ქვესისტემაში; Cortex-M3 არის ნაგულისხმევი მასტერი ამ ქვესისტემაზე. სურათი 2-4 გვიჩვენებს System Builder Peripherals Page.

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - Builder Peripherals Pageსურათი 2-4 • System Builder Peripherals Page

System Builder საათის პარამეტრების გვერდი
საათის პარამეტრების გვერდზე, თითოეული DDR კონტროლერისთვის, თქვენ უნდა მიუთითოთ საათის სიხშირეები, რომლებიც დაკავშირებულია თითოეულ DDR (MDDR და/ან FDDR) ქვესისტემასთან.
MDDR-სთვის თქვენ უნდა მიუთითოთ:

  • MDDR_CLK – ეს საათი განსაზღვრავს DDR კონტროლერის მუშაობის სიხშირეს და უნდა ემთხვეოდეს საათის სიხშირეს, რომელზეც გსურთ თქვენი გარე DDR მეხსიერების მუშაობა. ეს საათი განისაზღვრება, როგორც M3_CLK-ის ჯერადი (Cortex-M3 და MSS მთავარი საათი, სურათი 2-5). MDDR_CLK უნდა იყოს 333 MHz-ზე ნაკლები.
  • DDR_FIC_CLK – თუ თქვენ არჩეული გაქვთ ასევე წვდომა MDDR-ზე FPGA ქსოვილიდან, თქვენ უნდა მიუთითოთ DDR_FIC_CLK. ეს საათის სიხშირე განისაზღვრება, როგორც MDDR_CLK-ის თანაფარდობა და უნდა ემთხვეოდეს იმ სიხშირეს, რომლითაც მუშაობს FPGA ქსოვილის ქვესისტემა, რომელიც წვდება MDDR-ზე.

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - MDDR საათებისურათი 2-5 • Cortex-M3 და MSS მთავარი საათი; MDDR საათები

FDDR-სთვის უნდა მიუთითოთ:

  • FDDR_CLK – განსაზღვრავს DDR კონტროლერის მუშაობის სიხშირეს და უნდა ემთხვეოდეს საათის სიხშირეს, რომელზეც გსურთ თქვენი გარე DDR მეხსიერების მუშაობა. გაითვალისწინეთ, რომ ეს საათი განისაზღვრება, როგორც M3_CLK-ის ჯერადი (MSS და Cortex-M3 საათი, სურათი 2-5). FDDR_CLK უნდა იყოს 20 MHz და 333 MHz ფარგლებში.
  • FDDR_SUBSYSTEM_CLK – ეს საათის სიხშირე განისაზღვრება, როგორც FDDR_CLK-ის თანაფარდობა და უნდა ემთხვეოდეს იმ სიხშირეს, რომელზეც მუშაობს FPGA ქსოვილის ქვესისტემა, რომელიც წვდება FDDR-ს.

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - ქსოვილის DDR საათებისურათი 2-6 • ნაჭრის DDR საათები
SERDESIF კონფიგურაცია
SERDESIF ბლოკები არ არის დანერგილი სისტემის შემქმნელის გენერირებულ დიზაინში. თუმცა, ყველა SERDESIF ბლოკისთვის, ინიციალიზაციის სიგნალები ხელმისაწვდომია System Builder ბირთვის ინტერფეისში და შეიძლება იყოს დაკავშირებული SERDESIF ბირთვებთან იერარქიის შემდეგ დონეზე, როგორც ნაჩვენებია სურათზე 2-7.Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - პერიფერიული ინიციალიზაციის დაკავშირებასურათი 2-7 • SERDESIF პერიფერიული ინიციალიზაციის დაკავშირება
DDR კონფიგურაციის რეგისტრების მსგავსად, თითოეულ SERDES ბლოკს ასევე აქვს კონფიგურაციის რეგისტრები, რომლებიც უნდა იყოს ჩატვირთული გაშვების დროს. თქვენ შეგიძლიათ ამ რეგისტრის მნიშვნელობების იმპორტი ან გამოიყენოთ მაღალი სიჩქარის სერიული ინტერფეისის კონფიგურატორი (სურათი 2-8) თქვენი PCIe ან EPCS პარამეტრების შესაყვანად და რეგისტრის მნიშვნელობები ავტომატურად გამოითვლება თქვენთვის. დეტალებისთვის იხილეთ SERDES კონფიგურატორის მომხმარებლის სახელმძღვანელო.Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - სერიული ინტერფეისის კონფიგურატორისურათი 2-8 • მაღალი სიჩქარის სერიული ინტერფეისის კონფიგურატორი
მას შემდეგ რაც დააკავშირებთ მომხმარებლის ლოგიკას System Builder ბლოკთან და SERDES ბლოკთან, შეგიძლიათ შექმნათ თქვენი უმაღლესი დონის SmartDesign. ეს ქმნის ყველა HDL და BFM fileრომლებიც აუცილებელია თქვენი დიზაინის განსახორციელებლად და სიმულაციისთვის. შემდეგ შეგიძლიათ გააგრძელოთ დიზაინის ნაკადის დანარჩენი ნაწილი.

SmartDesign-ის გამოყენება დიზაინის შესაქმნელად DDR და SERDESIF ბლოკების გამოყენებით

ეს განყოფილება აღწერს, თუ როგორ უნდა დააყენოთ სრული „ინიციალიზაციის“ გადაწყვეტა SmartFusion2 System Builder-ის გამოყენების გარეშე. მიზანია დაგეხმაროთ იმის გაგებაში, თუ რა უნდა გააკეთოთ, თუ არ გსურთ სისტემის შემქმნელის გამოყენება. ეს განყოფილება ასევე აღწერს იმას, თუ რას ქმნის რეალურად თქვენთვის System Builder ინსტრუმენტი. ამ განყოფილებაში აღწერილია, თუ როგორ უნდა:

  • შეიყვანეთ კონფიგურაციის მონაცემები DDR კონტროლერისთვის და SERDESIF კონფიგურაციის რეგისტრებისთვის.
  • დააინსტალირეთ და დააკავშირეთ ქსოვილის ბირთვები, რომლებიც საჭიროა კონფიგურაციის მონაცემების გადასატანად DDR კონტროლერებსა და SERDESIF კონფიგურაციის რეგისტრებში.

DDR კონტროლერის კონფიგურაცია
MSS DDR (MDDR) და Fabric DDR (FDDR) კონტროლერები უნდა იყოს კონფიგურირებული დინამიურად (გაშვების დროს), რათა შეესაბამებოდეს გარე DDR მეხსიერების კონფიგურაციის მოთხოვნებს (DDR რეჟიმი, PHY სიგანე, ადიდებული რეჟიმი, ECC და ა.შ.). MDDR/FDDR კონფიგურატორში შეყვანილი მონაცემები იწერება DDR კონტროლერის კონფიგურაციის რეგისტრებში CMSIS SystemInit() ფუნქციით. კონფიგურატორს აქვს სამი განსხვავებული ჩანართი სხვადასხვა ტიპის კონფიგურაციის მონაცემების შესაყვანად:

  • ზოგადი მონაცემები (DDR რეჟიმი, მონაცემთა სიგანე, საათის სიხშირე, ECC, ქსოვილის ინტერფეისი, დისკის სიძლიერე)
  • მეხსიერების ინიციალიზაციის მონაცემები (ადიდებული სიგრძის, ადიდების რიგი, დროის რეჟიმი, შეყოვნება და ა.შ.)
  • მეხსიერების დროის მონაცემები

იხილეთ თქვენი გარე DDR მეხსიერების სპეციფიკაციები და დააკონფიგურირეთ DDR კონტროლერი, რათა შეესაბამებოდეს თქვენი გარე DDR მეხსიერების მოთხოვნებს.
DDR კონფიგურაციის შესახებ დეტალებისთვის იხილეთ SmartFusion2 MSS DDR კონფიგურაციის მომხმარებლის სახელმძღვანელო.
SERDESIF კონფიგურაცია
ორჯერ დააწკაპუნეთ SERDES ბლოკზე SmartDesign-ის ტილოზე, რათა გახსნათ კონფიგურატორი SERDES-ის კონფიგურაციისთვის (სურათი 3-1). თქვენ შეგიძლიათ ამ რეგისტრის მნიშვნელობების იმპორტი ან გამოიყენოთ SERDES კონფიგურატორი თქვენი PCIe ან EPCS პარამეტრების შესაყვანად და რეგისტრის მნიშვნელობები ავტომატურად გამოითვლება თქვენთვის. დეტალებისთვის იხილეთ SERDES კონფიგურატორის მომხმარებლის სახელმძღვანელო.Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - მაღალი სიჩქარის სერიული ინტერფეისის კონფიგურატორისურათი 3-1 • მაღალი სიჩქარის სერიული ინტერფეისის კონფიგურატორი
FPGA დიზაინის ინიციალიზაციის ქვესისტემის შექმნა
DDR და SERDESIF ბლოკების ინიციალიზაციისთვის, თქვენ უნდა შექმნათ ინიციალიზაციის ქვესისტემა FPGA ქსოვილში. FPGA ქსოვილის ინიციალიზაციის ქვესისტემა გადააქვს მონაცემები Cortex-M3-დან DDR და SERDESIF კონფიგურაციის რეგისტრებში, მართავს გადატვირთვის თანმიმდევრობებს, რომლებიც საჭიროა ამ ბლოკების ფუნქციონირებისთვის და სიგნალს აძლევს, როდესაც ეს ბლოკები მზად არიან დაუკავშირდეს თქვენს დანარჩენ დიზაინს. ინიციალიზაციის ქვესისტემის შესაქმნელად, თქვენ უნდა:

  • დააკონფიგურირეთ FIC_2 MSS-ში
  • დააინსტალირეთ და დააკონფიგურირეთ CoreConfigP და CoreResetP ბირთვები
  • დააინსტალირეთ ჩიპზე 25/50 MHz RC ოსცილატორი
  • შექმენით სისტემის გადატვირთვის (SYSRESET) მაკრო
  • დააკავშირეთ ეს კომპონენტები თითოეული პერიფერიული მოწყობილობის კონფიგურაციის ინტერფეისებთან, საათებთან, გადატვირთვასთან და PLL დაბლოკვის პორტებთან

MSS FIC_2 APB კონფიგურაცია
MSS FIC_2-ის კონფიგურაციისთვის:

  1. გახსენით FIC_2 კონფიგურატორის დიალოგური ფანჯარა MSS კონფიგურატორიდან (სურათი 3-2).
  2. აირჩიეთ პერიფერიული მოწყობილობების ინიცირება Cortex-M3-ის გამოყენებით.
  3. თქვენი სისტემის მიხედვით, მონიშნეთ ერთი ან ორივე შემდეგი ველი:
    - MSS DDR
    - ქსოვილის DDR და/ან SERDES ბლოკები
  4. დააწკაპუნეთ OK და გააგრძელეთ MSS-ის გენერირება (შეგიძლიათ გადადოთ ეს მოქმედება მანამ, სანამ MSS-ს სრულად არ დააკონფიგურირებთ თქვენი დიზაინის მოთხოვნებთან). FIC_2 პორტები (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK და FIC_2_APB_M_RESET_N) ახლა გამოფენილია MSS ინტერფეისზე და შეიძლება დაკავშირებული იყოს CoreConfigP და CoreResetP ბირთვებთან.

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - MSS FIC 2 კონფიგურატორისურათი 3-2 • MSS FIC_2 კონფიგურატორი

CoreConfigP
CoreConfigP-ის კონფიგურაციისთვის:

  1. დააინსტალირეთ CoreConfigP თქვენს SmartDesign-ში (როგორც წესი, ის, სადაც MSS ინსტანცირდება).
    ეს ბირთვი შეგიძლიათ იხილოთ Libero კატალოგში (პერიფერიული მოწყობილობების ქვეშ).
  2. ორჯერ დააწკაპუნეთ ბირთვზე კონფიგურატორის გასახსნელად.
  3. დააკონფიგურირეთ ბირთვი, რათა მიუთითოთ რომელი პერიფერიული მოწყობილობების ინიციალიზაცია (სურათი 3-3)

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - დიალოგური ყუთისურათი 3-3 • CoreConfigP დიალოგის ყუთი

CoreResetP
CoreResetP-ის კონფიგურაციისთვის:

  1. დააინსტალირეთ CoreResetP თქვენს SmartDesign-ში (როგორც წესი, ის, სადაც MSS ინსტანცირდება).
    ეს ბირთვი შეგიძლიათ იხილოთ Libero კატალოგში, პერიფერიული მოწყობილობების ქვეშ.
  2. ორჯერ დააწკაპუნეთ SmartDesign Canvas-ის ბირთვზე კონფიგურატორის გასახსნელად (სურათი 3-4).
  3. ბირთვის კონფიგურაცია:
    – მიუთითეთ გარე გადატვირთვის ქცევა (დამტკიცებულია EXT_RESET_OUT). აირჩიეთ ოთხი ვარიანტიდან ერთი:
    o EXT_RESET_OUT არასოდეს არის დამტკიცებული
    o EXT_RESET_OUT მითითებულია, თუ ჩართულია ჩართვის გადატვირთვა (POWER_ON_RESET_N)
    o EXT_RESET_OUT დამტკიცებულია, თუ FAB_RESET_N არის დადასტურებული
    o EXT_RESET_OUT მითითებულია, თუ დაყენებულია ჩართვის გადატვირთვა (POWER_ON_RESET_N) ან FAB_RESET_N
    – მიუთითეთ Device Voltagე. არჩეული მნიშვნელობა უნდა ემთხვეოდეს voltagთქვენ არჩეული გაქვთ Libero Project Settings დიალოგურ ფანჯარაში.
    – მონიშნეთ შესაბამისი ველები, რათა მიუთითოთ რომელ პერიფერიულ მოწყობილობებს იყენებთ თქვენს დიზაინში.
    – მიუთითეთ გარე DDR მეხსიერების დაყენების დრო. ეს არის მაქსიმალური მნიშვნელობა თქვენს აპლიკაციაში გამოყენებული ყველა DDR მეხსიერებისთვის (MDDR და FDDR). იხილეთ გარე DDR მეხსიერების გამყიდველის მონაცემთა ცხრილი ამ პარამეტრის კონფიგურაციისთვის. 200us არის კარგი ნაგულისხმევი მნიშვნელობა DDR2 და DDR3 მეხსიერებისთვის, რომლებიც მუშაობენ 200 MHz-ზე. ეს არის ძალიან მნიშვნელოვანი პარამეტრი სამუშაო სიმულაციისა და სილიკონზე მუშაობის სისტემის გარანტირებისთვის. დალაგების დროის არასწორმა მნიშვნელობამ შეიძლება გამოიწვიოს სიმულაციის შეცდომები. იხილეთ DDR მეხსიერების გამყიდველის მონაცემთა ცხრილი ამ პარამეტრის კონფიგურაციისთვის.
    – თქვენი დიზაინის თითოეული SERDES ბლოკისთვის, მონიშნეთ შესაბამისი ველები, რათა მიუთითოთ თუ არა:
    o PCIe გამოიყენება
    o საჭიროა PCIe Hot Reset-ის მხარდაჭერა
    o საჭიროა PCIe L2/P2-ის მხარდაჭერა

შენიშვნა: თუ იყენებთ 090 die-ს (M2S090) და თქვენი დიზაინი იყენებს SERDESIF-ს, თქვენ არ მოგიწევთ მონიშნოთ რომელიმე შემდეგი ველი: „გამოიყენება PCIe-სთვის“, „შეიცავს PCIe HotReset მხარდაჭერას“ და „შეიცავს PCIe L2/P2 მხარდაჭერას“. თუ თქვენ იყენებთ არა 090 მოწყობილობას და იყენებთ ერთ ან მეტ SERDESIF ბლოკს, თქვენ უნდა შეამოწმოთ ოთხივე ველი შესაბამისი SERDESIF განყოფილებაში.
შენიშვნა: ამ კონფიგურატორში თქვენთვის ხელმისაწვდომი ვარიანტების შესახებ დეტალებისთვის იხილეთ CoreResetP სახელმძღვანელო.

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - CoreResetPConfiguratorსურათი 3-4 • CoreResetPConfigurator

25/50 MHz Oscillator Instantiation
CoreConfigP და CoreResetP ტაქტირდება ჩიპზე 25/50 MHz RC ოსცილატორით. თქვენ უნდა შექმნათ 25/50 MHz ოსცილატორი და დააკავშიროთ იგი ამ ბირთვებთან.

  1. დააინსტალირეთ ჩიპის ოსცილატორების ბირთვი თქვენს SmartDesign-ში (როგორც წესი, ის, სადაც MSS ინსტანცირდება). ეს ბირთვი შეგიძლიათ იხილოთ Libero კატალოგში საათის და მენეჯმენტის ქვეშ.
  2. დააკონფიგურირეთ ეს ბირთვი ისე, რომ RC ოსცილატორი ამოძრავებს FPGA ქსოვილს, როგორც ნაჩვენებია სურათზე 3-5.

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - ოსცილატორების კონფიგურატორისურათი 3-5 • ჩიპის ოსცილატორების კონფიგურატორი

სისტემის გადატვირთვა (SYSRESET) ინსტალაცია
SYSRESET მაკრო უზრუნველყოფს მოწყობილობის დონის გადატვირთვის ფუნქციას თქვენს დიზაინზე. POWER_ON_RESET_N გამომავალი სიგნალი მტკიცდება/გამოირიცხება, როდესაც ჩიპი ჩართულია ან გარე პინი DEVRST_N არის დამტკიცებული/გამორთული (სურათი 3-6).
შექმენით SYSRESET მაკრო თქვენს SmartDesign-ში (როგორც წესი, ის, სადაც MSS არის ინსტაციირებული). ეს მაკრო შეგიძლიათ იხილოთ Libero კატალოგში მაკრო ბიბლიოთეკის ქვეშ. ამ მაკროს კონფიგურაცია არ არის საჭირო.

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - SYSRESET მაკროსურათი 3-6 • SYSRESET მაკრო

საერთო კავშირი
მას შემდეგ რაც დააინსტალირეთ და დააკონფიგურირებთ MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP და CoreResetP ბირთვების დიზაინში, თქვენ უნდა დააკავშიროთ ისინი პერიფერიული ინიციალიზაციის ქვესისტემის შესაქმნელად. ამ დოკუმენტში კავშირის აღწერილობის გასამარტივებლად, ის დაყოფილია APB3-ის შესაბამის კონფიგურაციის მონაცემთა ბილიკის დაკავშირებად, რომელიც დაკავშირებულია CoreConfigP და CoreResetP დაკავშირებულ კავშირებთან.
კონფიგურაციის მონაცემთა ბილიკის დაკავშირება
სურათი 3-7 გვიჩვენებს, თუ როგორ უნდა დააკავშიროთ CoreConfigP MSS FIC_2 სიგნალებთან და პერიფერიული მოწყობილობების APB3-თან შესაბამის კონფიგურაციის ინტერფეისებთან.
ცხრილი 3-1 • კონფიგურაციის მონაცემთა ბილიკის პორტი/BIF კავშირები

FROM
პორტი/ავტობუსის ინტერფეისი
(BIF)/ კომპონენტი
TO
პორტი/ავტობუსის ინტერფეისი (BIF)/კომპონენტი
APB S PRESET N/ CoreConfigP APB S PRESET N/ SDIF<0/1/2/3> APB S PRESET N/
FDDR
MDDR APB S PRESE TN/MSS
APB S PCLK/ CoreConfigP APB S PCLK/SDIF APB S PCLK/FDDR MDDR APB S POLK/ MSS
MDDR APBmslave/ CoreConfig MDDR APB SLAVE (BIF)/MSS
SDIF<0/1/2/ 3> APBmslave/Config APB SLAVE (BIF)/ SDIF<0/1/2/3>
FDDR APBmslave APB SLAVE (BIF)/ FDDR
FIC 2 APBmmaster/ CoreConfigP FIC 2 APB MASTER/ MSS

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - ქვესისტემის დაკავშირებასურათი 3-7 • FIC_2 APB3 ქვესისტემის დაკავშირება

საათები და აღადგენს დაკავშირებას
სურათი 3-8 გვიჩვენებს, თუ როგორ უნდა დააკავშიროთ CoreResetP გადატვირთვის გარე წყაროებთან და პერიფერიული მოწყობილობების ძირითადი გადატვირთვის სიგნალებთან. ის ასევე აჩვენებს, თუ როგორ დააკავშიროთ CoreResetP პერიფერიული მოწყობილობების საათის სინქრონიზაციის სტატუსის სიგნალებთან (PLL lock სიგნალები). გარდა ამისა, ის აჩვენებს, თუ როგორ არის დაკავშირებული CoreConfigP და CoreResetP.

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი - ქვესისტემის დაკავშირება 2სურათი 3-8 • Core SF2 Reset Sub-System Connectivity

Firmware აპლიკაციის შექმნა და შედგენა

როდესაც თქვენ ექსპორტს აწარმოებთ firmware-ს LiberoSoC-დან (Design Flow Window > Export Firmware > Export Firmware), Libero წარმოქმნის შემდეგს. fileს-ში /firmware/drivers_config/ sys_config საქაღალდე:

  • sys_config.c – შეიცავს მონაცემთა სტრუქტურებს, რომლებიც შეიცავს მნიშვნელობებს პერიფერიული რეგისტრებისთვის.
  • sys_config.h – შეიცავს #define განცხადებებს, რომლებიც აკონკრეტებენ, რომელი პერიფერიული მოწყობილობებია გამოყენებული დიზაინში და საჭიროებს ინიციალიზაციას.
  • sys_config_mddr_define.h – შეიცავს MDDR კონტროლერის კონფიგურაციის მონაცემებს, რომლებიც შეყვანილია რეგისტრების კონფიგურაციის დიალოგურ ფანჯარაში.
  • sys_config_fddr_define.h – შეიცავს FDDR კონტროლერის კონფიგურაციის მონაცემებს, რომლებიც შეყვანილია რეგისტრების კონფიგურაციის დიალოგურ ფანჯარაში.
  • sys_config_mss_clocks.h – ეს file შეიცავს MSS საათის სიხშირეებს, როგორც ეს განსაზღვრულია MSS CCC კონფიგურატორში. ეს სიხშირეები გამოიყენება CMSIS კოდით, რათა მიაწოდოს სწორი საათის ინფორმაცია MSS-ის ბევრ დრაივერზე, რომლებსაც უნდა ჰქონდეთ წვდომა მათი პერიფერიული საათის (PCLK) სიხშირეზე (მაგ., MSS UART ბაუდის სიჩქარის გამყოფები არის ბაუდის სიხშირის და PCLK სიხშირის ფუნქცია. ).
  • sys_config_SERDESIF_ .გ - შეიცავს SERDESIF_ SERDESIF_-ის დროს მოწოდებული კონფიგურაციის მონაცემების რეგისტრაცია ბლოკის კონფიგურაცია დიზაინის შექმნისას.
  • sys_config_SERDESIF_ .თ – შეიცავს #define განცხადებებს, რომლებიც განსაზღვრავს რეგისტრის კონფიგურაციის წყვილების რაოდენობას და ზოლის ნომერს, რომელიც უნდა გამოკითხული იყოს PMA_READY-სთვის (მხოლოდ PCIe რეჟიმში).

ესენი files საჭიროა CMSIS კოდის სწორად შედგენისთვის და შეიცავდეს ინფორმაციას თქვენს ამჟამინდელ დიზაინთან დაკავშირებით, მათ შორის პერიფერიული კონფიგურაციის მონაცემები და საათის კონფიგურაციის ინფორმაცია MSS-ისთვის.
არ დაარედაქტირო ესენი files ხელით; ისინი იქმნება შესაბამისი კომპონენტების/პერიფერიული დირექტორიების მიმართ ყოველ ჯერზე, როცა გენერირდება SmartDesign კომპონენტები, რომლებიც შეიცავს შესაბამის პერიფერიულ მოწყობილობებს. თუ რაიმე ცვლილება განხორციელდა რომელიმე პერიფერიული მოწყობილობის კონფიგურაციის მონაცემებში, თქვენ უნდა განაახლოთ პროგრამული უზრუნველყოფის პროექტები ისე, რომ განახლებული პროგრამული უზრუნველყოფა files (იხილეთ სია ზემოთ) ექსპორტირებულია / firmware/drivers_config/sys_config საქაღალდე.
firmware-ის ექსპორტისას, Libero SoC ქმნის firmware პროექტებს: ბიბლიოთეკა, სადაც არის თქვენი დიზაინის კონფიგურაცია files და მძღოლები შედგენილია.
თუ შეამოწმებთ პროექტს შექმნა ჩამრთველის ველი, როდესაც თქვენ ექსპორტს აწარმოებთ firmware, პროგრამული უზრუნველყოფის პროექტი SoftConsole/IAR/Keil იქმნება აპლიკაციის პროექტის შესანახად, სადაც შეგიძლიათ შეცვალოთ main.c და მომხმარებლის C/H. fileს. გახსენით SoftConSole/IAR/Keil პროექტი CMSIS კოდის სწორად შედგენის მიზნით და სწორად დააკონფიგურიროთ თქვენი პროგრამული უზრუნველყოფის აპლიკაცია, რათა შეესაბამებოდეს თქვენს აპარატურულ დიზაინს.

BFM Fileგამოიყენება დიზაინის სიმულაციისთვის

როდესაც თქვენ გენერირებთ SmartDesign კომპონენტებს, რომლებიც შეიცავს თქვენს დიზაინთან დაკავშირებულ პერიფერიულ მოწყობილობებს, სიმულაცია fileს შესაბამისი პერიფერიული მოწყობილობები გენერირებულია /სიმულაციის დირექტორია:

  • test.bfm - უმაღლესი დონის BFM file რომელიც პირველად შესრულებულია ნებისმიერი სიმულაციის დროს, რომელიც ავარჯიშებს SmartFusion2 MSS Cortex-M3 პროცესორს. ის ახორციელებს peripheral_init.bfm და user.bfm, ამ თანმიმდევრობით.
  • MDDR_init.bfm – თუ თქვენი დიზაინი იყენებს MDDR-ს, Libero ქმნის ამას file; ის შეიცავს BFM ჩაწერის ბრძანებებს, რომლებიც ახდენენ თქვენ მიერ შეყვანილი MSS DDR კონფიგურაციის რეგისტრის მონაცემების ჩაწერის სიმულაციას (რედაქტირების რეგისტრების დიალოგური ყუთის გამოყენებით ან MSS_MDDR GUI) MSS DDR კონტროლერის რეგისტრებში.
  • FDDR_init.bfm – თუ თქვენი დიზაინი იყენებს FDDR-ს, Libero წარმოქმნის ამას file; ის შეიცავს BFM ჩაწერის ბრძანებებს, რომლებიც სიმულაციას უკეთებს Fabric DDR კონფიგურაციის რეგისტრის მონაცემების ჩაწერას, რომელიც თქვენ შეიტანეთ (რედაქტირების რეგისტრების დიალოგური ყუთის გამოყენებით ან FDDR GUI) Fabric DDR Controller-ის რეგისტრებში.
  • SERDESIF_ _init.bfm – თუ თქვენი დიზაინი იყენებს ერთ ან მეტ SERDESIF ბლოკს, Libero წარმოქმნის ამას file თითოეული SERDESIF_სთვის გამოყენებული ბლოკები; ის შეიცავს BFM ჩაწერის ბრძანებებს, რომლებიც სიმულაციას უკეთებს თქვენ მიერ შეყვანილი SERDESIF კონფიგურაციის რეგისტრის მონაცემების ჩაწერას (რედაქტირების რეგისტრების დიალოგური ფანჯრის გამოყენებით ან SERDESIF_ში GUI) SERDESIF_-ში რეგისტრები. თუ SERDESIF ბლოკი კონფიგურირებულია როგორც PCIe, ეს file ასევე აქვს რამდენიმე #define განცხადება, რომელიც აკონტროლებს რეგისტრის კონფიგურაციის 2 ფაზის შესრულებას სრულყოფილი თანმიმდევრობით.
  • user.bfm - შეიცავს მომხმარებლის ბრძანებებს. ეს ბრძანებები შესრულებულია peripheral_init.bfm დასრულების შემდეგ. დაარედაქტირე ეს file რომ შეიყვანოთ თქვენი BFM ბრძანებები.
  • SERDESIF_ _user.bfm - შეიცავს მომხმარებლის ბრძანებებს. დაარედაქტირე ეს file რომ შეიყვანოთ თქვენი BFM ბრძანებები. გამოიყენეთ ეს, თუ კონფიგურირებული გაქვთ SERDESIF_ დაბლოკვა BFM PCIe სიმულაციის რეჟიმში და როგორც AXI/AHBLite ოსტატი. თუ თქვენ გაქვთ კონფიგურირებული SERDESIF_ დაბლოკეთ RTL სიმულაციის რეჟიმში, ეს არ დაგჭირდებათ file.

როდესაც თქვენ გამოიძახებთ სიმულაციას ყოველ ჯერზე, შემდეგი ორი სიმულაცია files ხელახლა იქმნება /სიმულაციის დირექტორია განახლებული შინაარსით:

  • ქვესისტემა.bfm – შეიცავს #define განცხადებებს თქვენს დიზაინში გამოყენებული თითოეული პერიფერიული მოწყობილობისთვის, რომელიც განსაზღვრავს peripheral_init.bfm-ის კონკრეტულ განყოფილებას, რომელიც უნდა შესრულდეს თითოეული პერიფერიული მოწყობილობის შესაბამისი.
  • operipheral_init.bfm – შეიცავს BFM პროცედურას, რომელიც ახდენს CMSIS:: SystemInit() ფუნქციის გაშვებას Cortex-M3-ზე, სანამ მთავარ() პროცედურაში შეხვალთ. ის აკოპირებს კონფიგურაციის მონაცემებს დიზაინში გამოყენებული ნებისმიერი პერიფერიული მოწყობილობის სწორ პერიფერიულ კონფიგურაციის რეგისტრებში და შემდეგ ელოდება, რომ ყველა პერიფერიული მოწყობილობა მზად იყოს, სანამ დაამტკიცებს, რომ შეგიძლიათ გამოიყენოთ ეს პერიფერიები. ის ახორციელებს MDDR_init.bfm და FDDR_init.bfm.

ამ გენერირებული გამოყენებით files, თქვენს დიზაინში DDR კონტროლერები კონფიგურირებულია ავტომატურად, სიმულირებულია თუ რა მოხდება SmartFusion2 მოწყობილობაზე. შეგიძლიათ შეცვალოთ user.bfm file დაამატოთ ნებისმიერი ბრძანება, რომელიც საჭიროა თქვენი დიზაინის სიმულაციისთვის (Cortex-M3 არის მთავარი). ეს ბრძანებები შესრულებულია პერიფერიული მოწყობილობების ინიციალიზაციის შემდეგ. არ დაარედაქტიროთ test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files და SERDESIF_ _init.bfm files.

პროდუქტის მხარდაჭერა

Microsemi SoC Products Group მხარს უჭერს თავის პროდუქტებს სხვადასხვა დამხმარე სერვისებით, მათ შორის მომხმარებელთა სერვისით, მომხმარებელთა ტექნიკური დახმარების ცენტრით, webსაიტი, ელექტრონული ფოსტა და გაყიდვების ოფისები მთელს მსოფლიოში.
ეს დანართი შეიცავს ინფორმაციას Microsemi SoC Products Group-თან დაკავშირების და ამ მხარდაჭერის სერვისების გამოყენების შესახებ.
მომხმარებელთა მომსახურება
დაუკავშირდით მომხმარებელთა მომსახურებას პროდუქტის არატექნიკური მხარდაჭერისთვის, როგორიცაა პროდუქტის ფასები, პროდუქტის განახლება, განახლებული ინფორმაცია, შეკვეთის სტატუსი და ავტორიზაცია.
ჩრდილოეთ ამერიკიდან დარეკეთ 800.262.1060
დანარჩენი მსოფლიოდან დარეკეთ 650.318.4460
ფაქსი, მსოფლიოს ნებისმიერი ადგილიდან, 408.643.6913
მომხმარებელთა ტექნიკური დახმარების ცენტრი
Microsemi SoC Products Group დაკომპლექტებულია მომხმარებელთა ტექნიკური მხარდაჭერის ცენტრთან მაღალკვალიფიციური ინჟინრებით, რომლებიც დაგეხმარებათ უპასუხონ თქვენს აპარატურულ, პროგრამულ უზრუნველყოფას და დიზაინის კითხვებს Microsemi SoC პროდუქტების შესახებ. მომხმარებელთა ტექნიკური მხარდაჭერის ცენტრი დიდ დროს ხარჯავს განაცხადის შენიშვნების, საერთო დიზაინის ციკლის კითხვებზე პასუხების, ცნობილი საკითხების დოკუმენტაციისა და სხვადასხვა ხშირად დასმული კითხვების შესაქმნელად. ასე რომ, სანამ დაგვიკავშირდებით, გთხოვთ ეწვიოთ ჩვენს ონლაინ რესურსებს. დიდი ალბათობით, ჩვენ უკვე გავეცი პასუხი თქვენს შეკითხვებს.
ტექნიკური მხარდაჭერა
ეწვიეთ მომხმარებელთა მხარდაჭერას webსაიტი (www.microsemi.com/soc/support/search/default.aspx) დამატებითი ინფორმაციისთვის და მხარდაჭერისთვის. ბევრი პასუხი ხელმისაწვდომია საძიებო სისტემაში web რესურსი მოიცავს დიაგრამებს, ილუსტრაციებს და ბმულებს სხვა რესურსებთან webსაიტი.
Webსაიტი
შეგიძლიათ დაათვალიეროთ სხვადასხვა ტექნიკური და არატექნიკური ინფორმაცია SoC-ის მთავარ გვერდზე, მისამართზე www.microsemi.com/soc.
დაუკავშირდით მომხმარებელთა ტექნიკური დახმარების ცენტრს
მაღალკვალიფიციური ინჟინრები აკომპლექტებენ ტექნიკური დახმარების ცენტრს. ტექნიკური დახმარების ცენტრს შეგიძლიათ დაუკავშირდეთ ელექტრონული ფოსტით ან Microsemi SoC პროდუქტების ჯგუფის მეშვეობით webსაიტი.
ელფოსტა
თქვენ შეგიძლიათ დაუკავშირდეთ თქვენს ტექნიკურ კითხვებს ჩვენს ელ. ფოსტის მისამართზე და მიიღოთ პასუხები ელექტრონული ფოსტით, ფაქსით ან ტელეფონით. ასევე, თუ თქვენ გაქვთ დიზაინის პრობლემები, შეგიძლიათ თქვენი დიზაინის ელექტრონული ფოსტით fileდახმარების მისაღებად.
ჩვენ მუდმივად ვაკვირდებით ელექტრონული ფოსტის ანგარიშს მთელი დღის განმავლობაში. თქვენი მოთხოვნის ჩვენთან გაგზავნისას, გთხოვთ, აუცილებლად მიუთითოთ თქვენი სრული სახელი, კომპანიის სახელი და თქვენი საკონტაქტო ინფორმაცია თქვენი მოთხოვნის ეფექტური დამუშავებისთვის.
ტექნიკური მხარდაჭერის ელექტრონული ფოსტის მისამართი არის soc_tech@microsemi.com.
ჩემი საქმეები
Microsemi SoC Products Group-ის მომხმარებლებს შეუძლიათ წარადგინონ და თვალყური ადევნონ ტექნიკურ შემთხვევებს ონლაინ რეჟიმში ჩემი საქმეები.
აშშ-ს გარეთ
კლიენტებს, რომლებსაც დახმარება ესაჭიროებათ აშშ-ის დროის ზონების გარეთ, შეუძლიათ დაუკავშირდნენ ტექნიკურ მხარდაჭერას ელექტრონული ფოსტით (soc_tech@microsemi.com) ან დაუკავშირდით ადგილობრივ გაყიდვების ოფისს. გაყიდვების ოფისების ჩამონათვალი შეგიძლიათ იხილოთ აქ www.microsemi.com/soc/company/contact/default.aspx.
ITAR ტექნიკური მხარდაჭერა
ტექნიკური მხარდაჭერისთვის RH და RT FPGA-ებზე, რომლებიც რეგულირდება იარაღის საერთაშორისო მოძრაობის წესებით (ITAR), დაგვიკავშირდით soc_tech_itar@microsemi.com. ალტერნატიულად, ჩემს საქმეებში აირჩიეთ დიახ ITAR-ის ჩამოსაშლელ სიაში. ITAR-ით რეგულირებული Microsemi FPGA-ების სრული სიისთვის ეწვიეთ ITAR-ს web გვერდი.
Microsemi Corporation (NASDAQ: MSCC) გთავაზობთ ნახევარგამტარული გადაწყვეტილებების ყოვლისმომცველ პორტფელს: აერონავტიკა, თავდაცვა და უსაფრთხოება; საწარმო და კომუნიკაციები; და სამრეწველო და ალტერნატიული ენერგიის ბაზრები. პროდუქტებში შედის მაღალი ხარისხის, მაღალი საიმედოობის ანალოგური და RF მოწყობილობები, შერეული სიგნალი და RF ინტეგრირებული სქემები, კონფიგურირებადი SoC, FPGA და სრული ქვესისტემები. Microsemi-ის სათაო ოფისი მდებარეობს ალისო ვიეხოში, კალიფორნია. შეიტყვეთ მეტი აქ www.microsemi.com.
© 2014 Microsemi Corporation. Ყველა უფლება დაცულია. Microsemi და Microsemi ლოგო არის Microsemi Corporation-ის სავაჭრო ნიშნები. ყველა სხვა სავაჭრო ნიშანი და მომსახურების ნიშანი მათი შესაბამისი მფლობელების საკუთრებაა.

5-02-00384-1/08.14მიკროსემი ლოგოMicrosemi კორპორატიული სათაო ოფისი
One Enterprise, Aliso Viejo CA 92656 აშშ
აშშ-ში: +1 949-380-6100
გაყიდვები: +1 949-380-6136
ფაქსი: +1 949-215-4996

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

Microsemi SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი [pdf] მომხმარებლის სახელმძღვანელო
SmartFusion2 DDR კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი, SmartFusion2 DDR, კონტროლერი და სერიული მაღალი სიჩქარის კონტროლერი, მაღალი სიჩქარის კონტროლერი

ცნობები

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

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