Лагатып MicrosemiSmartFusion2
Кантролер DDR і паслядоўны высакахуткасны кантролер
Метадалогія ініцыялізацыі
Кіраўніцтва карыстальніка

Уводзіны

Пры стварэнні дызайну з выкарыстаннем прылады SmartFusion2, калі вы выкарыстоўваеце адзін з двух кантролераў DDR (FDDR або MDDR) або любы з блокаў паслядоўнага высакахуткаснага кантролера (SERDESIF), вы павінны ініцыялізаваць рэгістры канфігурацыі гэтых блокаў падчас выканання іх можна выкарыстоўваць. Напрыкладample, для кантролера DDR вы павінны ўсталяваць рэжым DDR (DDR3/DDR2/LPDDR), шырыню PHY, пакетны рэжым і ECC.
Аналагічным чынам, для блока SERDESIF, які выкарыстоўваецца ў якасці канчатковай кропкі PCIe, вы павінны ўсталяваць для PCIE BAR акно AXI (або AHB).
У гэтым дакуменце апісваюцца крокі, неабходныя для стварэння дызайну Libero, які аўтаматычна ініцыялізуе кантролер DDR і блокі SERDESIF пры ўключэнні. Тут таксама апісваецца, як стварыць код убудаванага праграмнага забеспячэння з Libero SOC, які выкарыстоўваецца ва ўбудаваным працэсе праектавання.
Спачатку даецца падрабязнае апісанне тэорыі аперацый.
У наступным раздзеле апісваецца, як стварыць такі дызайн з дапамогай Libero SoC System Builder, магутнага інструмента праектавання, які сярод іншых функцый стварае для вас рашэнне «ініцыялізацыі», калі вы выкарыстоўваеце ў сваім дызайне блокі DDR або SERDESIF.
У наступным раздзеле апісваецца, як сабраць поўнае рашэнне «ініцыялізацыі» без выкарыстання SmartFusion2 System Builder. Гэта дапамагае растлумачыць, што трэба зрабіць, калі вы не жадаеце выкарыстоўваць канструктар сістэм, а таксама апісвае, што інструмент канструктара сістэм насамрэч стварае для вас. У гэтым раздзеле разглядаюцца:

  • Стварэнне дадзеных канфігурацыі для кантролера DDR і рэгістры канфігурацыі SERDESIF
  • Стварэнне логікі FPGA, неабходнай для перадачы дадзеных канфігурацыі ў розныя рэгістры канфігурацыі ASIC

Нарэшце мы апісваем згенераваны fileзвязаны з:

  • Стварэнне рашэння «ініцыялізацыі» прашыўкі.
  • Мадэляванне канструкцыі рашэння «ініцыялізацыі» DDR.

Для атрымання падрабязнай інфармацыі аб кантролеры DDR і рэгістрах канфігурацыі SERDESIF звярніцеся да Кіраўніцтва карыстальніка Microsemi SmartFusion2 High Speed ​​Serial і DDR Interfaces.

Тэорыя працы

Рашэнне для ініцыялізацыі перыферыйных прылад выкарыстоўвае наступныя асноўныя кампаненты:

  • Функцыя CMSIS SystemInit(), якая працуе на Cortex-M3 і кіруе працэсам ініцыялізацыі.
  • Праграмнае ядро ​​IP CoreConfigP, якое ініцыялізуе рэгістры канфігурацыі перыферыйных прылад.
  • Праграмнае IP-ядро CoreResetP, якое кіруе паслядоўнасцю скіду блокаў 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 былі ініцыялізаваны, і праграма прашыўкі і логіка FPGA могуць надзейна ўзаемадзейнічаць з імі.

Метадалогія, апісаная ў гэтым дакуменце, абапіраецца на тое, што Cortex-M3 выконвае працэс ініцыялізацыі як частку кода ініцыялізацыі сістэмы, які выконваецца перад функцыяй main() прыкладання.
Глядзіце блок-схемы на малюнку 1-1, малюнку 1-2 і малюнку 1-3 для этапаў ініцыялізацыі FDDR/MDDR, SEREDES (рэжым без PCIe) і SERDES (рэжым PCIe).
На малюнку 1-4 паказана часовая дыяграма перыферыйнай ініцыялізацыі.

Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - часовая дыяграма 1 Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - часовая дыяграма 2

Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - часовая дыяграма 3Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - часовая дыяграма 4Малюнак 1-3 • Блок-схема ініцыялізацыі SERDESIF (PCIe).
Працэдура ініцыялізацыі, апісаная ў гэтым дакуменце, патрабуе запуску Cortex-M3 падчас працэсу ініцыялізацыі, нават калі вы не плануеце запускаць які-небудзь код на Cortex-M3. Вы павінны стварыць базавую праграму прашыўкі, якая нічога не робіць (просты цыкл, напрыкладample) і загрузіце гэты выканальны файл ва ўбудаваную энерганезалежную памяць (eNVM), каб кантролеры DDR і блокі SERDESIF ініцыялізаваліся пры загрузцы Cortex-M3.

Выкарыстанне System Builder для стварэння дызайну з выкарыстаннем блокаў DDR і SERDESIF

SmartFusion2 System Builder - гэта магутны інструмент для распрацоўкі, які дапамагае ахапіць вашы патрабаванні на сістэмным узроўні і стварае праект, які рэалізуе гэтыя патрабаванні. Вельмі важнай функцыяй System Builder з'яўляецца аўтаматычнае стварэнне падсістэмы Peripheral Initialization. «Выкарыстанне SmartDesign для стварэння дызайну з выкарыстаннем блокаў DDR і SERDESIF» на старонцы 17 падрабязна апісвае, як стварыць такое рашэнне без канструктара сістэм.
Калі вы выкарыстоўваеце System Builder, вы павінны выканаць наступныя задачы, каб стварыць дызайн, які ініцыялізуе вашы кантролеры DDR і блокі SERDESIF пры ўключэнні:

  1. На старонцы Device Features (Малюнак 2-1) пакажыце, якія кантролеры DDR выкарыстоўваюцца і колькі блокаў SERDESIF выкарыстоўваецца ў вашым дызайне.
  2. На старонцы «Памяць» укажыце тып DDR (DDR2/DDR3/LPDDR) і даныя канфігурацыі для вашай вонкавай памяці DDR. Падрабязнасці глядзіце ў раздзеле «Старонка памяці».
  3. На старонцы "Перыферыйныя прылады" дадайце майстры сеткі, настроеныя як AHBLite/AXI, у падсістэму Fabric DDR і/або падсістэму MSS DDR FIC (неабавязкова).
  4. На старонцы налад гадзінніка ўкажыце тактавыя частоты для падсістэм DDR.
  5. Запоўніце спецыфікацыю дызайну і націсніце "Гатова". Гэта стварае дызайн, створаны System Builder, уключаючы логіку, неабходную для рашэння «ініцыялізацыі».
  6. Калі вы выкарыстоўваеце блокі SERDESIF, вы павінны стварыць асобнік блокаў SERDESIF у сваім дызайне і падключыць іх парты ініцыялізацыі да партоў ядра, згенераванага System Builder.

Старонка функцый прылады System Builder
На старонцы «Характарыстыкі прылады» пакажыце, якія кантролеры DDR (MDDR і/або FDDR) выкарыстоўваюцца і колькі блокаў SERDESIF выкарыстоўваецца ў вашай канструкцыі (малюнак 2-1).

Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - старонка функцый прыладыМалюнак 2-1 • Старонка функцый прылады System Builder

Старонка памяці канструктара сістэмы
Каб выкарыстоўваць MSS DDR (MDDR) або Fabric DDR (FDDR), абярыце Тып памяці з выпадальнага спісу (Малюнак 2-2).

Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - знешняя памяцьМалюнак 2-2 • Знешняя памяць MSS

Вы павінны:

  1. Выберыце тып DDR (DDR2, DDR3 або LPDDR).
  2. Вызначце час усталёўкі памяці DDR. Пракансультуйцеся са спецыфікацыямі знешняй памяці DDR, каб усталяваць правільны час налады памяці. Памяць DDR можа не правільна ініцыялізавацца, калі час усталёўкі памяці не ўсталяваны правільна.
  3. Альбо імпартуйце даныя канфігурацыі рэгістра DDR, альбо задайце параметры памяці DDR. Для атрымання падрабязнай інфармацыі звярніцеся да Microsemi SmartFusion2 High Speed ​​Serial і DDR Interfaces Кіраўніцтва карыстальніка.

Гэтыя даныя выкарыстоўваюцца для стварэння рэгістра DDR BFM і канфігурацыі прашыўкі files, як апісана ў раздзелах «Стварэнне і кампіляцыя прыкладання мікрапраграмы» на старонцы 26 і «BFM Files Выкарыстоўваецца для мадэлявання канструкцыі» на стар. 27. Для атрымання падрабязнай інфармацыі аб рэгістрах канфігурацыі кантролера DDR звярніцеся да Кіраўніцтва карыстальніка Microsemi SmartFusion2 High Speed ​​Serial і DDR Interfaces.
Былыampле канфігурацыі file сінтаксіс паказаны на малюнку 2-3. Рэестры імёнаў, якія выкарыстоўваюцца ў гэтым file такія ж, як апісаны ў Microsemi SmartFusion2 High Speed ​​Serial і DDR Interfaces Кіраўніцтва карыстальніка

Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - File Сінтаксіс ExampleМалюнак 2-3 • Канфігурацыя File Сінтаксіс Example
Старонка перыферыйных прылад System Builder
На старонцы Peripherals для кожнага кантролера DDR ствараецца асобная падсістэма (падсістэма Fabric DDR для FDDR і падсістэма MSS DDR FIC для 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 паказвае старонку Peripherals Builder System.

Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - старонка перыферыйных прылад BuilderМалюнак 2-4 • Старонка перыферыйных прылад канструктара сістэмы

Старонка налад гадзінніка System Builder
На старонцы налад гадзінніка для кожнага кантролера DDR вы павінны ўказаць тактавыя частоты, звязаныя з кожнай падсістэмай DDR (MDDR і/або FDDR).
Для MDDR вы павінны ўказаць:

  • MDDR_CLK – Гэты тактавы сігнал вызначае рабочую частату кантролера DDR і павінен адпавядаць тактавай частаце, на якой вы хочаце працаваць знешняй памяццю DDR. Гэты такт вызначаецца як кратны M3_CLK (галоўны такт Cortex-M3 і MSS, малюнак 2-5). MDDR_CLK павінен быць меншым за 333 МГц.
  • 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 МГц і 333 МГц.
  • FDDR_SUBSYSTEM_CLK – Гэтая тактавая частата вызначаецца як суадносіны FDDR_CLK і павінна адпавядаць частаце, на якой працуе падсістэма FPGA, якая звяртаецца да FDDR.

Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - тактавыя сігналы DDRМалюнак 2-6 • Тканкавыя гадзіннікі DDR
Канфігурацыя SERDESIF
Блокі SERDESIF не створаны ў канструкцыі System Builder. Аднак для ўсіх блокаў SERDESIF сігналы ініцыялізацыі даступныя на інтэрфейсе ядра System Builder і могуць падключацца да ядраў SERDESIF на наступным узроўні іерархіі, як паказана на малюнку 2-7.Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - падключэнне перыферыйнай ініцыялізацыіМалюнак 2-7 • Падключэнне перыферыйнай ініцыялізацыі SERDESIF
Падобна рэгістрам канфігурацыі DDR, кожны блок SERDES таксама мае рэгістры канфігурацыі, якія неабходна загружаць падчас выканання. Вы можаце альбо імпартаваць гэтыя значэнні рэгістраў, альбо выкарыстоўваць канфігуратар высакахуткаснага паслядоўнага інтэрфейсу (малюнак 2-8), каб увесці параметры PCIe або EPCS, і значэнні рэгістраў будуць аўтаматычна вылічаны за вас. Для атрымання падрабязнай інфармацыі звярніцеся да Кіраўніцтва карыстальніка SERDES Configurator.Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - канфігуратар паслядоўнага інтэрфейсуМалюнак 2-8 • Канфігуратар высакахуткаснага паслядоўнага інтэрфейсу
Пасля таго, як вы інтэгравалі сваю карыстальніцкую логіку з блокам System Builder і блокам SERDES, вы можаце стварыць свой верхні ўзровень SmartDesign. Гэта стварае ўсе HDL і BFM files, якія неабходныя для рэалізацыі і мадэлявання вашага дызайну. Затым вы можаце працягнуць астатнюю частку працэсу праектавання.

Выкарыстанне SmartDesign для стварэння дызайну з выкарыстаннем блокаў DDR і SERDESIF

У гэтым раздзеле апісваецца, як сабраць поўнае рашэнне «ініцыялізацыі» без выкарыстання SmartFusion2 System Builder. Мэта складаецца ў тым, каб дапамагчы вам зразумець, што вы павінны рабіць, калі вы не жадаеце выкарыстоўваць System Builder. У гэтым раздзеле таксама апісваецца, што на самой справе стварае для вас інструмент System Builder. У гэтым раздзеле апісваецца, як:

  • Увядзіце даныя канфігурацыі для кантролера DDR і рэгістры канфігурацыі SERDESIF.
  • Стварыце і падключыце ядра Fabric, неабходныя для перадачы дадзеных канфігурацыі ў кантролеры DDR і рэгістры канфігурацыі SERDESIF.

Канфігурацыя кантролера DDR
Кантролеры MSS DDR (MDDR) і Fabric DDR (FDDR) павінны быць настроены дынамічна (падчас выканання) у адпаведнасці з патрабаваннямі канфігурацыі знешняй памяці DDR (рэжым DDR, шырыня PHY, пакетны рэжым, ECC і г.д.). Даныя, уведзеныя ў канфігуратар MDDR/FDDR, запісваюцца ў рэгістры канфігурацыі кантролера DDR з дапамогай функцыі CMSIS SystemInit(). Канфігуратар мае тры розныя ўкладкі для ўводу розных тыпаў дадзеных канфігурацыі:

  • Агульныя даныя (рэжым DDR, шырыня дадзеных, тактавая частата, ECC, інтэрфейс Fabric, магутнасць дыска)
  • Даныя аб ініцыялізацыі памяці (даўжыня пакета, парадак пакета, рэжым сінхранізацыі, затрымка і г.д.)
  • Дадзеныя часу памяці

Звярніцеся да спецыфікацый вашай знешняй памяці DDR і наладзьце кантролер DDR у адпаведнасці з патрабаваннямі вашай знешняй памяці DDR.
Для атрымання падрабязнай інфармацыі аб канфігурацыі DDR звярніцеся да Кіраўніцтва карыстальніка па канфігурацыі SmartFusion2 MSS DDR.
Канфігурацыя SERDESIF
Двойчы пстрыкніце блок SERDES на палатне SmartDesign, каб адкрыць канфігуратар для налады SERDES (малюнак 3-1). Вы можаце імпартаваць гэтыя значэнні рэгістраў або выкарыстоўваць канфігуратар SERDES, каб увесці параметры PCIe або EPCS, і значэнні рэгістраў будуць аўтаматычна вылічаны для вас. Для атрымання падрабязнай інфармацыі звярніцеся да Кіраўніцтва карыстальніка SERDES Configurator.Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - Канфігуратар высакахуткаснага паслядоўнага інтэрфейсуМалюнак 3-1 • Канфігуратар высакахуткаснага паслядоўнага інтэрфейсу
Стварэнне падсістэмы ініцыялізацыі дызайну FPGA
Каб ініцыялізаваць блокі DDR і SERDESIF, вы павінны стварыць падсістэму ініцыялізацыі ў структуры FPGA. Падсістэма ініцыялізацыі FPGA перамяшчае дадзеныя з Cortex-M3 у канфігурацыйныя рэгістры DDR і SERDESIF, кіруе паслядоўнасцямі скіду, неабходнымі для працы гэтых блокаў, і сігналізуе, калі гэтыя блокі гатовыя да сувязі з астатняй часткай вашай канструкцыі. Каб стварыць падсістэму ініцыялізацыі, неабходна:

  • Наладзьце FIC_2 у MSS
  • Стварыце і наладзьце ядра CoreConfigP і CoreResetP
  • Стварыце ўбудаваны RC-генератар 25/50 МГц
  • Стварыце макрас "Скід сістэмы" (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д. Абранае значэнне павінна адпавядаць абtage, які вы выбралі ў дыялогавым акне налад праекта Libero.
    – Адзначце адпаведныя сцяжкі, каб паказаць, якія перыферыйныя прылады вы выкарыстоўваеце ў сваім дызайне.
    – Укажыце час налады вонкавай памяці DDR. Гэта максімальнае значэнне для ўсіх памяці DDR, якія выкарыстоўваюцца ў вашым дадатку (MDDR і FDDR). Звярніцеся да табліцы дадзеных пастаўшчыка знешняй памяці DDR, каб наладзіць гэты параметр. 200us - добрае значэнне па змаўчанні для памяці DDR2 і DDR3, якія працуюць на частаце 200 МГц. Гэта вельмі важны параметр, які гарантуе працу мадэлявання і працоўнай сістэмы на крэмніі. Няправільнае значэнне часу адстойвання можа прывесці да памылак мадэлявання. Звярніцеся да табліцы дадзеных пастаўшчыка памяці DDR, каб наладзіць гэты параметр.
    – Для кожнага блока SERDES у вашым дызайне адзначце адпаведныя сцяжкі, каб паказаць, ці:
    o Выкарыстоўваецца PCIe
    o Патрабуецца падтрымка PCIe Hot Reset
    o Патрабуецца падтрымка PCIe L2/P2

Заўвага: Калі вы выкарыстоўваеце плашку 090 (M2S090) і ў вашай канструкцыі выкарыстоўваецца SERDESIF, вам не трэба ставіць галачку ў ніводным з наступных сцяжкоў: «Выкарыстоўваецца для PCIe», «Уключыць падтрымку PCIe HotReset» і «Уключыць падтрымку PCIe L2/P2». Калі вы карыстаецеся любой прыладай не-090 і выкарыстоўваеце адзін або некалькі блокаў SERDESIF, вы павінны адзначыць усе чатыры сцяжкі ў адпаведным раздзеле SERDESIF.
Заўвага: Для атрымання падрабязнай інфармацыі аб параметрах, даступных для вас у гэтым канфігуратары, звярніцеся да CoreResetP Handbook.

Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - CoreResetPConfiguratorМалюнак 3-4 • CoreResetPConfigurator

Экземпляр асцылятара 25/50 МГц
CoreConfigP і CoreResetP працуюць ад убудаванага ў чып RC-генератара 25/50 МГц. Вы павінны стварыць асобнік асцылятара 25/50 МГц і падключыць яго да гэтых ядраў.

  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-злучэнні

АД
Інтэрфейс порт/шына
(BIF)/ Кампанент
ДА
Інтэрфейс порта/шыны (BIF)/кампанент
APB S PRESET N/ CoreConfigP APB S ПРАДУСТАЎКА N/ SDIF<0/1/2/3> APB S ПРАДУСТАЎКА 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/канфіг APB SLAVE (BIF)/ SDIF<0/1/2/3>
ФДДР АПБмраб 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). Акрамя таго, ён паказвае, як падключаюцца CoreConfigP і CoreResetP.

Кантролер Microsemi SmartFusion2 DDR і паслядоўны высакахуткасны кантролер - Падключэнне да падсістэмы 2Малюнак 3-8 • Падключэнне да падсістэмы Core SF2Reset

Стварэнне і кампіляцыя праграмы прашыўкі

Калі вы экспартуеце прашыўку з LiberoSoC (Акно працэсу праектавання > Экспарт прашыўкі > Экспарт прашыўкі), 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_ .c – Змяшчае SERDESIF_ даныя канфігурацыі рэгістрацыі, прадстаўленыя падчас SERDESIF_ канфігурацыя блока ў стварэнні дызайну.
  • sys_config_SERDESIF_ .ч – Змяшчае аператары #define, якія вызначаюць колькасць пар канфігурацыі рэгістраў і нумар паласы, які неабходна апытаць для PMA_READY (толькі ў рэжыме PCIe).

Гэтыя fileпатрабуюцца для правільнай кампіляцыі кода CMSIS і ўтрымліваюць інфармацыю аб вашай бягучай канструкцыі, уключаючы даныя канфігурацыі перыферыйных прылад і інфармацыю аб канфігурацыі гадзінніка для MSS.
Не рэдагуйце гэтыя files ўручную; яны ствараюцца ў адпаведных каталогах кампанентаў/перыферыйных прылад кожны раз, калі ствараюцца кампаненты SmartDesign, якія змяшчаюць адпаведныя перыферыйныя прылады. Калі ў канфігурацыйныя дадзеныя любога з перыферыйных прылад унесены якія-небудзь змены, неабходна паўторна экспартаваць праекты прашыўкі, каб абноўленая прашыўка files (гл. спіс вышэй) экспартуюцца ў / тэчка firmware/drivers_config/sys_config.
Калі вы экспартуеце ўбудаванае праграмнае забеспячэнне, Libero SoC стварае праекты ўбудаванага праграмнага забеспячэння: бібліятэку, у якой знаходзіцца ваша канфігурацыя дызайну files і драйверы скампіляваны.
Калі вы адзначыце Стварыць праект сцяжок, калі вы экспартуеце прашыўку, ствараецца праграмны праект SoftConsole/IAR/Keil для захоўвання праекта прыкладання, у якім вы можаце рэдагаваць main.c і карыстальнік C/H fileс. Адкрыйце праект SoftConSole/IAR/Keil, каб правільна скампіляваць код CMSIS і правільна наладзіць убудаванае праграмнае забеспячэнне ў адпаведнасці з дызайнам вашага абсталявання.

БФМ Files Выкарыстоўваецца для мадэлявання дызайну

Калі вы ствараеце кампаненты SmartDesign, якія змяшчаюць перыферыйныя прылады, звязаныя з вашым дызайнам, мадэляванне files, якія адпавядаюць адпаведным перыферыйным прыладам, генеруюцца ў /каталог мадэлявання:

  • test.bfm – BFM вышэйшага ўзроўню file які ўпершыню выконваецца падчас любога мадэлявання, якое выкарыстоўвае працэсар SmartFusion2 MSS Cortex-M3. Ён выконвае peripheral_init.bfm і user.bfm у такім парадку.
  • MDDR_init.bfm – Калі ваш дызайн выкарыстоўвае MDDR, Libero генеруе гэта file; ён утрымлівае каманды запісу BFM, якія імітуюць запіс дадзеных рэгістра канфігурацыі MSS DDR, якія вы ўвялі (з дапамогай дыялогавага акна рэдагавання рэгістраў або ў графічным інтэрфейсе MSS_MDDR) у рэгістры кантролера MSS DDR.
  • FDDR_init.bfm – Калі ваш дызайн выкарыстоўвае FDDR, Libero генеруе гэта file; ён утрымлівае каманды запісу BFM, якія імітуюць запіс дадзеных рэгістра канфігурацыі Fabric DDR, якія вы ўвялі (з дапамогай дыялогавага акна рэдагавання рэгістраў або ў графічным інтэрфейсе FDDR) у рэгістры кантролера Fabric DDR.
  • 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 перад тым, як увесці працэдуру main(). Ён капіюе канфігурацыйныя дадзеныя для любой перыферыйнай прылады, якая выкарыстоўваецца ў распрацоўцы, у правільныя рэгістры канфігурацыі перыферыйных прылад, а затым чакае, пакуль усе перыферыйныя прылады будуць гатовыя, перш чым сцвярджаць, што вы можаце выкарыстоўваць гэтыя перыферыйныя прылады. Ён выконвае 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 Products Group webсайт.
Электронная пошта
Вы можаце задаць свае тэхнічныя пытанні на наш адрас электроннай пошты і атрымаць адказы па электроннай пошце, факсу або тэлефоне. Акрамя таго, калі ў вас ёсць праблемы з дызайнам, вы можаце адправіць свой дызайн па электроннай пошце files атрымаць дапамогу.
Мы пастаянна кантралюем уліковы запіс электроннай пошты на працягу дня. Адпраўляючы нам свой запыт, не забудзьцеся ўказаць сваё поўнае імя, назву кампаніі і кантактную інфармацыю для эфектыўнай апрацоўкі вашага запыту.
Адрас электроннай пошты тэхнічнай падтрымкі 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 FPGA Microsemi, наведайце ITAR web старонка.
Microsemi Corporation (NASDAQ: MSCC) прапануе шырокі спектр паўправадніковых рашэнняў для: аэракасмічная, абарона і бяспека; прадпрыемства і сувязь; і прамысловыя і альтэрнатыўныя рынкі энергіі. Прадукцыя ўключае высокапрадукцыйныя, высоканадзейныя аналагавыя і радыёчастотныя прылады, інтэгральныя схемы са змешаным сігналам і радыёчастотныя схемы, наладжвальныя SoC, FPGA і поўныя падсістэмы. Штаб-кватэра Microsemi знаходзіцца ў Аліса-В'еха, Каліфорнія. Даведайцеся больш на www.microsemi.com.
© 2014 Microsemi Corporation. Усе правы ахоўваюцца. Microsemi і лагатып Microsemi з'яўляюцца гандлёвымі маркамі Microsemi Corporation. Усе іншыя гандлёвыя маркі і знакі абслугоўвання з'яўляюцца ўласнасцю іх адпаведных уладальнікаў.

5-02-00384-1/08.14Лагатып MicrosemiКарпаратыўны штаб-кватэра 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, кантролер і паслядоўны высакахуткасны кантролер, высакахуткасны кантролер

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *