SmartFusion2
DDR కంట్రోలర్ మరియు సీరియల్ హై స్పీడ్ కంట్రోలర్
ఇనిషియలైజేషన్ మెథడాలజీ
వినియోగదారు గైడ్
పరిచయం
SmartFusion2 పరికరాన్ని ఉపయోగించి డిజైన్ను రూపొందించేటప్పుడు, మీరు రెండు DDR కంట్రోలర్లలో (FDDR లేదా MDDR) లేదా ఏదైనా సీరియల్ హై స్పీడ్ కంట్రోలర్ (SERDESIF) బ్లాక్లలో ఒకదాన్ని ఉపయోగిస్తే, మీరు ఈ బ్లాక్ల కాన్ఫిగరేషన్ రిజిస్టర్లను ముందుగా రన్-టైమ్లో ప్రారంభించాలి. వాటిని ఉపయోగించవచ్చు. ఉదాహరణకుample, DDR కంట్రోలర్ కోసం, మీరు తప్పనిసరిగా DDR మోడ్ (DDR3/DDR2/LPDDR), PHY వెడల్పు, బర్స్ట్ మోడ్ మరియు ECCని సెట్ చేయాలి.
అదేవిధంగా, PCIe ఎండ్పాయింట్గా ఉపయోగించే SERDESIF బ్లాక్ కోసం, మీరు తప్పనిసరిగా PCIE BARని AXI (లేదా AHB) విండోకు సెట్ చేయాలి.
పవర్ అప్ వద్ద DDR కంట్రోలర్ మరియు SERDESIF బ్లాక్లను స్వయంచాలకంగా ప్రారంభించే లిబెరో డిజైన్ను రూపొందించడానికి అవసరమైన దశలను ఈ పత్రం వివరిస్తుంది. ఎంబెడెడ్ డిజైన్ ఫ్లోలో ఉపయోగించే Libero SOC నుండి ఫర్మ్వేర్ కోడ్ను ఎలా రూపొందించాలో కూడా ఇది వివరిస్తుంది.
కార్యకలాపాల సిద్ధాంతం యొక్క వివరణాత్మక వివరణ మొదట అందించబడింది.
మీరు మీ డిజైన్లో DDR లేదా SERDESIF బ్లాక్లను ఉపయోగిస్తుంటే, ఇతర లక్షణాలతోపాటు, మీ కోసం 'ప్రారంభ' పరిష్కారాన్ని సృష్టించే శక్తివంతమైన డిజైన్ సాధనమైన Libero SoC సిస్టమ్ బిల్డర్ని ఉపయోగించి అటువంటి డిజైన్ను ఎలా సృష్టించాలో తదుపరి విభాగం వివరిస్తుంది.
SmartFusion2 సిస్టమ్ బిల్డర్ని ఉపయోగించకుండా పూర్తి 'ప్రారంభ' పరిష్కారాన్ని ఎలా ఉంచాలో తదుపరి విభాగం వివరిస్తుంది. మీరు సిస్టమ్ బిల్డర్ను ఉపయోగించకూడదనుకుంటే ఏమి చేయాలో వివరించడానికి ఇది సహాయపడుతుంది మరియు సిస్టమ్ బిల్డర్ సాధనం మీ కోసం వాస్తవంగా ఏమి ఉత్పత్తి చేస్తుందో కూడా వివరిస్తుంది. ఈ విభాగం చిరునామాలు:
- DDR కంట్రోలర్ మరియు SERDESIF కాన్ఫిగరేషన్ రిజిస్టర్ల కోసం కాన్ఫిగరేషన్ డేటా యొక్క సృష్టి
- వివిధ ASIC కాన్ఫిగరేషన్ రిజిస్టర్లకు కాన్ఫిగరేషన్ డేటాను బదిలీ చేయడానికి అవసరమైన FPGA లాజిక్ యొక్క సృష్టి
చివరగా మేము ఉత్పత్తిని వివరిస్తాము fileలు సంబంధించినవి:
- ఫర్మ్వేర్ 'ప్రారంభ' పరిష్కారం యొక్క సృష్టి.
- DDR 'ఇనిషియలైజేషన్' సొల్యూషన్ కోసం డిజైన్ యొక్క అనుకరణ.
DDR కంట్రోలర్ మరియు SERDESIF కాన్ఫిగరేషన్ రిజిస్టర్ల గురించిన వివరాల కోసం, చూడండి మైక్రోసెమి స్మార్ట్ఫ్యూజన్2 హై స్పీడ్ సీరియల్ మరియు DDR ఇంటర్ఫేస్ల యూజర్స్ గైడ్.
ఆపరేషన్ సిద్ధాంతం
పరిధీయ ప్రారంభ పరిష్కారం క్రింది ప్రధాన భాగాలను ఉపయోగిస్తుంది:
- CMSIS SystemInit() ఫంక్షన్, ఇది కార్టెక్స్-M3పై నడుస్తుంది మరియు ప్రారంభ ప్రక్రియను ఆర్కెస్ట్రేట్ చేస్తుంది.
- CoreConfigP సాఫ్ట్ IP కోర్, ఇది పెరిఫెరల్స్ కాన్ఫిగరేషన్ రిజిస్టర్లను ప్రారంభిస్తుంది.
- CoreResetP సాఫ్ట్ IP కోర్, ఇది MSS, DDR కంట్రోలర్లు మరియు SERDESIF బ్లాక్ల రీసెట్ క్రమాన్ని నిర్వహిస్తుంది..
పరిధీయ ప్రారంభ ప్రక్రియ క్రింది విధంగా పనిచేస్తుంది:
- రీసెట్ చేసిన తర్వాత, Cortex-M3 CMSIS SystemInit() ఫంక్షన్ను అమలు చేస్తుంది. అప్లికేషన్ యొక్క ప్రధాన() ఫంక్షన్ని అమలు చేయడానికి ముందు ఈ ఫంక్షన్ స్వయంచాలకంగా అమలు చేయబడుతుంది.
CoreResetP అవుట్పుట్ సిగ్నల్ MSS_HPMS_READY ప్రారంభ ప్రక్రియ ప్రారంభంలో నొక్కిచెప్పబడింది, MSS మరియు అన్ని పెరిఫెరల్స్ (MDDR మినహా) కమ్యూనికేషన్ కోసం సిద్ధంగా ఉన్నాయని సూచిస్తుంది. - SystemInit() ఫంక్షన్ DDR కంట్రోలర్లకు కాన్ఫిగరేషన్ డేటాను వ్రాస్తుంది మరియు MSS FIC_2 APB3 బస్ ద్వారా SERDESIF కాన్ఫిగరేషన్ నమోదు చేస్తుంది. ఈ ఇంటర్ఫేస్ FPGA ఫాబ్రిక్లో ఇన్స్టాంటియేటెడ్ సాఫ్ట్ CoreConfigP కోర్కి కనెక్ట్ చేయబడింది.
- అన్ని రిజిస్టర్లు కాన్ఫిగర్ చేయబడిన తర్వాత, రిజిస్టర్ కాన్ఫిగరేషన్ దశ పూర్తయినట్లు సూచించడానికి SystemInit() ఫంక్షన్ CoreConfigP నియంత్రణ రిజిస్టర్లకు వ్రాస్తుంది; CoreConfigP అవుట్పుట్ సిగ్నల్లు CONFIG1_DONE మరియు CONIG2_DONE తర్వాత నొక్కిచెప్పబడతాయి.
డిజైన్లో ఉపయోగించే పెరిఫెరల్స్పై ఆధారపడి రిజిస్టర్ కాన్ఫిగరేషన్ (CONFIG1 మరియు CONFIG2) రెండు దశలు ఉన్నాయి. - MDDR/FDDR ఒకటి లేదా రెండూ ఉపయోగించబడితే మరియు డిజైన్లో SERDESIF బ్లాక్లు ఏవీ ఉపయోగించబడకపోతే, ఒకే రిజిస్టర్ కాన్ఫిగరేషన్ దశ ఉంటుంది. CoreConfigP అవుట్పుట్ సిగ్నల్లు CONFIG1_DONE మరియు CONIG2_DONE రెండూ ఎటువంటి నిరీక్షణ/ఆలస్యం లేకుండా ఒకదాని తర్వాత ఒకటిగా చెప్పబడతాయి.
డిజైన్లో నాన్-PCIe మోడ్లో ఒకటి లేదా అంతకంటే ఎక్కువ SERDESIF బ్లాక్లను ఉపయోగించినట్లయితే, రిజిస్టర్ కాన్ఫిగరేషన్లో ఒక దశ మాత్రమే ఉంటుంది. CONFIG1_DONE మరియు CONIG2_DONE ఎటువంటి నిరీక్షణ/ఆలస్యం లేకుండా ఒకదాని తర్వాత ఒకటిగా నిర్ధారించబడ్డాయి.
PCIe మోడ్లో ఒకటి లేదా అంతకంటే ఎక్కువ SERDESIF బ్లాక్లను డిజైన్లో ఉపయోగించినట్లయితే, రిజిస్టర్ కాన్ఫిగరేషన్లో రెండు దశలు ఉంటాయి. రిజిస్టర్ కాన్ఫిగరేషన్ యొక్క మొదటి దశ పూర్తయిన తర్వాత CONFIG1_DONE నిర్ధారించబడింది. SERDESIF వ్యవస్థ మరియు లేన్ రిజిస్టర్లు ఈ దశలో కాన్ఫిగర్ చేయబడ్డాయి. SERDESIF నాన్-PCIE మోడ్లో కాన్ఫిగర్ చేయబడితే, CONFIG2_DONE సిగ్నల్ కూడా తక్షణమే నొక్కి చెప్పబడుతుంది. - రిజిస్టర్ కాన్ఫిగరేషన్ రెండవ దశ (SERDESIF PCIE మోడ్లో కాన్ఫిగర్ చేయబడి ఉంటే) అనుసరిస్తుంది. రెండవ దశలో జరిగే వివిధ సంఘటనలు క్రిందివి:
– CoreResetP ఉపయోగించిన ప్రతి SERDESIF బ్లాక్లకు సంబంధించిన PHY_RESET_N మరియు CORE_RESET_N సిగ్నల్లను నిర్ధారిస్తుంది. అన్ని SERDESIF బ్లాక్లు రీసెట్ అయిన తర్వాత ఇది SDIF_RELEASED అవుట్పుట్ సిగ్నల్ను కూడా నిర్ధారిస్తుంది. SERDESIF కోర్ రీసెట్ అయిందని మరియు రెండవ దశ రిజిస్టర్ కాన్ఫిగరేషన్ కోసం సిద్ధంగా ఉందని CoreConfigPకి సూచించడానికి ఈ SDIF_RELEASED సిగ్నల్ ఉపయోగించబడుతుంది.
– SDIF_RELEASED సిగ్నల్ నొక్కిచెప్పబడిన తర్వాత, SystemInit() ఫంక్షన్ తగిన SERDESIF లేన్లో PMA_READY యొక్క నిర్ధారణ కోసం పోలింగ్ను ప్రారంభిస్తుంది. PMA_READY నొక్కిచెప్పబడిన తర్వాత, రెండవ సెట్ SERDESIF రిజిస్టర్లు (PCIE రిజిస్టర్లు) SystemInit() ఫంక్షన్ ద్వారా కాన్ఫిగర్ చేయబడతాయి/వ్రాయబడతాయి. - అన్ని PCIE రిజిస్టర్లు కాన్ఫిగర్ చేయబడిన తర్వాత, SystemInit() ఫంక్షన్ CoreConfigP కంట్రోల్ రిజిస్టర్లకు రిజిస్టర్ కాన్ఫిగరేషన్ యొక్క రెండవ దశ పూర్తయినట్లు సూచించడానికి వ్రాస్తుంది; CoreConfigP అవుట్పుట్ సిగ్నల్ CONIG2_DONE అప్పుడు నొక్కిచెప్పబడుతుంది.
- పైన పేర్కొన్న సిగ్నల్ అసెర్షన్లు/డి-అసెర్షన్లు కాకుండా, CoreResetP కింది ఫంక్షన్లను చేయడం ద్వారా వివిధ బ్లాక్ల ప్రారంభాన్ని కూడా నిర్వహిస్తుంది:
– FDDR కోర్ రీసెట్ని డి-అస్టరింగ్ చేయడం
– SERDESIF PHY మరియు CORE రీసెట్లను బ్లాక్ చేస్తుంది
– FDDR PLL (FPLL) లాక్ సిగ్నల్ యొక్క పర్యవేక్షణ. FDDR AXI/AHBLite డేటా ఇంటర్ఫేస్ మరియు FPGA ఫాబ్రిక్ సరిగ్గా కమ్యూనికేట్ చేయగలవని హామీ ఇవ్వడానికి FPLL తప్పనిసరిగా లాక్ చేయబడి ఉండాలి.
– SERDESIF బ్లాక్ PLL (SPLL) లాక్ సిగ్నల్స్ పర్యవేక్షణ. SERDESIF బ్లాక్లు AXI/AHBLite ఇంటర్ఫేస్ (PCIe మోడ్) లేదా XAUI ఇంటర్ఫేస్ FPGA ఫాబ్రిక్తో సరిగ్గా కమ్యూనికేట్ చేయగలదని హామీ ఇవ్వడానికి SPLL తప్పనిసరిగా లాక్ చేయబడి ఉండాలి.
- బాహ్య DDR జ్ఞాపకాలు స్థిరపడటానికి వేచి ఉన్నాయి మరియు DDR కంట్రోలర్ల ద్వారా యాక్సెస్ చేయడానికి సిద్ధంగా ఉండండి. - అన్ని పెరిఫెరల్స్ వాటి ప్రారంభీకరణను పూర్తి చేసినప్పుడు, CoreResetP INIT_DONE సిగ్నల్ను నిర్ధారిస్తుంది; CoreConfigP అంతర్గత రిజిస్టర్ INIT_DONE అప్పుడు నిర్ధారించబడింది.
MDDR/FDDRలో ఒకటి లేదా రెండూ ఉపయోగించబడి, DDR ప్రారంభ సమయాన్ని చేరుకున్నట్లయితే, CoreResetP అవుట్పుట్ సిగ్నల్ DDR_READY నిర్ధారించబడుతుంది. DDR (MDDR/FDDR) కమ్యూనికేషన్ కోసం సిద్ధంగా ఉందనడానికి ఈ సంకేతం DDR_READY యొక్క హామీని పర్యవేక్షించవచ్చు.
ఒకటి లేదా అంతకంటే ఎక్కువ SERDESIF బ్లాక్లు ఉపయోగించబడి, రెండవ దశ రిజిస్టర్ కాన్ఫిగరేషన్ విజయవంతంగా పూర్తయితే, CoreResetP అవుట్పుట్ సిగ్నల్ SDIF_READY నిర్ధారించబడుతుంది. అన్ని SERDESIF బ్లాక్లు కమ్యూనికేషన్ కోసం సిద్ధంగా ఉన్నాయని సూచనగా ఈ సంకేతం SDIF_READY యొక్క హామీని పర్యవేక్షించవచ్చు. - INIT_DONE నిశ్చితార్థం కోసం వేచి ఉన్న SystemInit() ఫంక్షన్ పూర్తవుతుంది మరియు అప్లికేషన్ యొక్క ప్రధాన() ఫంక్షన్ అమలు చేయబడుతుంది. ఆ సమయంలో, ఉపయోగించిన అన్ని DDR కంట్రోలర్లు మరియు SERDESIF బ్లాక్లు ప్రారంభించబడ్డాయి మరియు ఫర్మ్వేర్ అప్లికేషన్ మరియు FPGA ఫాబ్రిక్ లాజిక్ వాటితో విశ్వసనీయంగా సంభాషించగలవు.
ఈ పత్రంలో వివరించిన పద్దతి అప్లికేషన్ యొక్క ప్రధాన()ఫంక్షన్కు ముందు అమలు చేయబడిన సిస్టమ్ ఇనిషియలైజేషన్ కోడ్లో భాగంగా ప్రారంభ ప్రక్రియను అమలు చేసే కార్టెక్స్-M3పై ఆధారపడి ఉంటుంది.
FDDR/MDDR, SEREDES(నాన్-PCIe మోడ్) మరియు SERDES (PCIe మోడ్) యొక్క ప్రారంభ దశల కోసం మూర్తి 1-1, మూర్తి 1-2 మరియు మూర్తి 1-3లోని ఫ్లో చార్ట్లను చూడండి.
మూర్తి 1-4 పరిధీయ ప్రారంభ సమయ రేఖాచిత్రాన్ని చూపుతుంది.
![]() |
![]() |
మూర్తి 1-3 • SERDESIF (PCIe) ఇనిషియలైజేషన్ ఫ్లో చార్ట్
ఈ డాక్యుమెంట్లో వివరించిన ఇనిషియలైజేషన్ విధానం మీరు కార్టెక్స్-M3లో ఏదైనా కోడ్ని అమలు చేయడానికి ప్లాన్ చేయనప్పటికీ, ప్రారంభ ప్రక్రియ సమయంలో మీరు Cortex-M3ని అమలు చేయాల్సి ఉంటుంది. మీరు ఏమీ చేయని ప్రాథమిక ఫర్మ్వేర్ అప్లికేషన్ను తప్పనిసరిగా సృష్టించాలి (ఉదా. కోసం ఒక సాధారణ లూప్ample) మరియు ఎంబెడెడ్ నాన్ వోలటైల్ మెమరీ (eNVM)లో ఎక్జిక్యూటబుల్ని లోడ్ చేయండి కాబట్టి కార్టెక్స్-M3 బూట్ అయినప్పుడు DDR కంట్రోలర్లు మరియు SERDESIF బ్లాక్లు ప్రారంభించబడతాయి.
DDR మరియు SERDESIF బ్లాక్లను ఉపయోగించి డిజైన్ను రూపొందించడానికి సిస్టమ్ బిల్డర్ని ఉపయోగించడం
SmartFusion2 సిస్టమ్ బిల్డర్ అనేది మీ సిస్టమ్-స్థాయి అవసరాలను సంగ్రహించడంలో మరియు ఆ అవసరాలను అమలు చేసే డిజైన్ను రూపొందించడంలో మీకు సహాయపడే శక్తివంతమైన డిజైన్ సాధనం. సిస్టమ్ బిల్డర్ యొక్క చాలా ముఖ్యమైన విధి పెరిఫెరల్ ఇనిషియలైజేషన్ సబ్-సిస్టమ్ యొక్క స్వయంచాలక సృష్టి. 17వ పేజీలోని “DDR మరియు SERDESIF బ్లాక్లను ఉపయోగించి డిజైన్ను రూపొందించడానికి SmartDesignని ఉపయోగించడం” సిస్టమ్ బిల్డర్ లేకుండా అటువంటి పరిష్కారాన్ని ఎలా సృష్టించాలో వివరంగా వివరిస్తుంది.
మీరు సిస్టమ్ బిల్డర్ని ఉపయోగిస్తుంటే, పవర్ అప్లో మీ DDR కంట్రోలర్లు మరియు SERDESIF బ్లాక్లను ప్రారంభించే డిజైన్ను రూపొందించడానికి మీరు తప్పనిసరిగా ఈ క్రింది పనులను చేయాలి:
- పరికర లక్షణాల పేజీలో (మూర్తి 2-1), మీ డిజైన్లో ఏ DDR కంట్రోలర్లు ఉపయోగించబడుతున్నాయి మరియు ఎన్ని SERDESIF బ్లాక్లు ఉపయోగించబడుతున్నాయో పేర్కొనండి.
- మెమరీ పేజీలో, మీ బాహ్య DDR జ్ఞాపకాల కోసం DDR (DDR2/DDR3/LPDDR) రకాన్ని మరియు కాన్ఫిగరేషన్ డేటాను పేర్కొనండి. వివరాల కోసం మెమరీ పేజీ విభాగాన్ని చూడండి.
- పెరిఫెరల్స్ పేజీలో, ఫ్యాబ్రిక్ DDR సబ్సిస్టమ్ మరియు/లేదా MSS DDR FIC సబ్సిస్టమ్ (ఐచ్ఛికం)కి AHBLite/AXIగా కాన్ఫిగర్ చేయబడిన ఫాబ్రిక్ మాస్టర్లను జోడించండి.
- గడియార సెట్టింగ్ల పేజీలో, DDR ఉప-వ్యవస్థల కోసం క్లాక్ ఫ్రీక్వెన్సీలను పేర్కొనండి.
- మీ డిజైన్ స్పెసిఫికేషన్ను పూర్తి చేసి, ముగించు క్లిక్ చేయండి. ఇది 'ప్రారంభ' పరిష్కారానికి అవసరమైన లాజిక్తో సహా సిస్టమ్ బిల్డర్ సృష్టించిన డిజైన్ను రూపొందిస్తుంది.
- మీరు SERDESIF బ్లాక్లను ఉపయోగిస్తుంటే, మీరు తప్పనిసరిగా మీ డిజైన్లోని SERDESIF బ్లాక్లను ఇన్స్టంషియేట్ చేయాలి మరియు సిస్టమ్ బిల్డర్ రూపొందించిన కోర్కి వాటి ప్రారంభాల పోర్ట్లను కనెక్ట్ చేయాలి.
సిస్టమ్ బిల్డర్ పరికర ఫీచర్ల పేజీ
పరికర లక్షణాల పేజీలో, ఏ DDR కంట్రోలర్లు (MDDR మరియు/లేదా FDDR) ఉపయోగించబడతాయో మరియు మీ డిజైన్లో ఎన్ని SERDESIF బ్లాక్లు ఉపయోగించబడుతున్నాయో పేర్కొనండి (మూర్తి 2-1).
మూర్తి 2-1 • సిస్టమ్ బిల్డర్ పరికర ఫీచర్ల పేజీ
సిస్టమ్ బిల్డర్ మెమరీ పేజీ
MSS DDR (MDDR) లేదా Fabric DDR (FDDR)ని ఉపయోగించడానికి, డ్రాప్-డౌన్ జాబితా నుండి మెమరీ రకాన్ని ఎంచుకోండి (మూర్తి 2-2).
మూర్తి 2-2 • MSS బాహ్య మెమరీ
మీరు తప్పక:
- DDR రకాన్ని ఎంచుకోండి (DDR2, DDR3 లేదా LPDDR).
- DDR మెమరీ స్థిరీకరణ సమయాన్ని నిర్వచించండి. సరైన మెమరీ సెట్టింగ్ సమయాన్ని సెట్ చేయడానికి మీ బాహ్య DDR మెమరీ స్పెసిఫికేషన్లను సంప్రదించండి. మెమరీ స్థిరీకరణ సమయం సరిగ్గా సెట్ చేయకపోతే DDR మెమరీ సరిగ్గా ప్రారంభించడంలో విఫలం కావచ్చు.
- DDR రిజిస్టర్ కాన్ఫిగరేషన్ డేటాను దిగుమతి చేయండి లేదా మీ DDR మెమరీ పారామితులను సెట్ చేయండి. వివరాల కోసం, చూడండి మైక్రోసెమి స్మార్ట్ఫ్యూజన్2 హై స్పీడ్ సీరియల్ మరియు DDR ఇంటర్ఫేస్ల యూజర్స్ గైడ్.
ఈ డేటా DDR రిజిస్టర్ BFM మరియు ఫర్మ్వేర్ కాన్ఫిగరేషన్ను రూపొందించడానికి ఉపయోగించబడుతుంది file26వ పేజీలోని “ఫర్మ్వేర్ అప్లికేషన్ను సృష్టించడం మరియు కంపైల్ చేయడం” మరియు “BFM”లో వివరించిన విధంగా Fileపేజీ 27లో డిజైన్ను అనుకరించడం కోసం ఉపయోగించబడింది. DDR కంట్రోలర్ కాన్ఫిగరేషన్ రిజిస్టర్లపై వివరాల కోసం, చూడండి మైక్రోసెమి స్మార్ట్ఫ్యూజన్2 హై స్పీడ్ సీరియల్ మరియు DDR ఇంటర్ఫేస్ల యూజర్స్ గైడ్.
ఒక మాజీampఆకృతీకరణ యొక్క le file వాక్యనిర్మాణం మూర్తి 2-3లో చూపబడింది. ఇందులో ఉపయోగించిన రిజిస్టర్ పేర్లు file లో వివరించిన వాటికి సమానంగా ఉంటాయి మైక్రోసెమి స్మార్ట్ఫ్యూజన్2 హై స్పీడ్ సీరియల్ మరియు DDR ఇంటర్ఫేస్ల యూజర్స్ గైడ్
మూర్తి 2-3 • ఆకృతీకరణ File సింటాక్స్ Example
సిస్టమ్ బిల్డర్ పెరిఫెరల్స్ పేజీ
పెరిఫెరల్స్ పేజీలో, ప్రతి DDR కంట్రోలర్ కోసం ఒక ప్రత్యేక ఉపవ్యవస్థ సృష్టించబడుతుంది (FDDR కోసం ఫ్యాబ్రిక్ DDR సబ్సిస్టమ్ మరియు MDDR కోసం MSS DDR FIC సబ్సిస్టమ్). DDR కంట్రోలర్లకు ఫాబ్రిక్ మాస్టర్ యాక్సెస్ని ప్రారంభించడానికి మీరు ఈ సబ్సిస్టమ్లలో ప్రతిదానికి ఫ్యాబ్రిక్ AMBA మాస్టర్ (AXI/AHBLite వలె కాన్ఫిగర్ చేయబడింది) కోర్ను జోడించవచ్చు. ఉత్పత్తి అయిన తర్వాత, సిస్టమ్ బిల్డర్ ఆటోమేటిక్గా బస్ కోర్లను ఇన్స్టాంటియేట్ చేస్తుంది (AMBA మాస్టర్ జోడించిన రకాన్ని బట్టి) మరియు బస్ కోర్ యొక్క మాస్టర్ BIF మరియు సంబంధిత సబ్సిస్టమ్ల (FDDR/MDDR) యొక్క క్లాక్ మరియు రీసెట్ పిన్లను తగిన పిన్ గ్రూపుల క్రింద బహిర్గతం చేస్తుంది. టాప్. మీరు చేయాల్సిందల్లా BIFలను మీరు డిజైన్లో తక్షణమే గుర్తించే తగిన ఫ్యాబ్రిక్ మాస్టర్ కోర్లకు కనెక్ట్ చేయడం. MDDR విషయంలో, MSS DDR FIC సబ్సిస్టమ్కు ఫ్యాబ్రిక్ AMBA మాస్టర్ కోర్ను జోడించడం ఐచ్ఛికం; Cortex-M3 ఈ ఉపవ్యవస్థలో డిఫాల్ట్ మాస్టర్. మూర్తి 2-4 సిస్టమ్ బిల్డర్ పెరిఫెరల్స్ పేజీని చూపుతుంది.
మూర్తి 2-4 • సిస్టమ్ బిల్డర్ పెరిఫెరల్స్ పేజీ
సిస్టమ్ బిల్డర్ క్లాక్ సెట్టింగ్ల పేజీ
గడియార సెట్టింగ్ల పేజీలో, ప్రతి DDR కంట్రోలర్ కోసం, మీరు తప్పనిసరిగా ప్రతి DDR (MDDR మరియు/లేదా FDDR) ఉప వ్యవస్థకు సంబంధించిన క్లాక్ ఫ్రీక్వెన్సీలను తప్పనిసరిగా పేర్కొనాలి.
MDDR కోసం, మీరు తప్పక పేర్కొనాలి:
- MDDR_CLK – ఈ గడియారం DDR కంట్రోలర్ యొక్క ఆపరేటింగ్ ఫ్రీక్వెన్సీని నిర్ణయిస్తుంది మరియు మీరు మీ బాహ్య DDR మెమరీని అమలు చేయాలనుకుంటున్న క్లాక్ ఫ్రీక్వెన్సీకి సరిపోలాలి. ఈ గడియారం M3_CLK (కార్టెక్స్-M3 మరియు MSS ప్రధాన గడియారం, మూర్తి 2-5) యొక్క బహుళంగా నిర్వచించబడింది. MDDR_CLK తప్పనిసరిగా 333 MHz కంటే తక్కువగా ఉండాలి.
- DDR_FIC_CLK – మీరు FPGA ఫాబ్రిక్ నుండి MDDRని కూడా యాక్సెస్ చేయాలని ఎంచుకుంటే, మీరు DDR_FIC_CLKని పేర్కొనాలి. ఈ క్లాక్ ఫ్రీక్వెన్సీ MDDR_CLK యొక్క నిష్పత్తిగా నిర్వచించబడింది మరియు MDDRని యాక్సెస్ చేసే FPGA ఫాబ్రిక్ సబ్-సిస్టమ్ రన్ అవుతున్న ఫ్రీక్వెన్సీకి సరిపోలాలి.
మూర్తి 2-5 • కార్టెక్స్-M3 మరియు MSS ప్రధాన గడియారం; MDDR గడియారాలు
FDDR కోసం, మీరు తప్పక పేర్కొనాలి:
- FDDR_CLK – DDR కంట్రోలర్ యొక్క ఆపరేటింగ్ ఫ్రీక్వెన్సీని నిర్ణయిస్తుంది మరియు మీరు మీ బాహ్య DDR మెమరీని అమలు చేయాలనుకుంటున్న క్లాక్ ఫ్రీక్వెన్సీతో సరిపోలాలి. ఈ గడియారం M3_CLK (MSS మరియు కార్టెక్స్-M3 గడియారం, మూర్తి 2-5) యొక్క బహుళంగా నిర్వచించబడిందని గమనించండి. FDDR_CLK తప్పనిసరిగా 20 MHz మరియు 333 MHz లోపల ఉండాలి.
- FDDR_SUBSYSTEM_CLK – ఈ క్లాక్ ఫ్రీక్వెన్సీ FDDR_CLK యొక్క నిష్పత్తిగా నిర్వచించబడింది మరియు FDDRని యాక్సెస్ చేసే FPGA ఫాబ్రిక్ సబ్-సిస్టమ్ రన్ అవుతున్న ఫ్రీక్వెన్సీకి సరిపోలాలి.
మూర్తి 2-6 • ఫాబ్రిక్ DDR గడియారాలు
SERDESIF కాన్ఫిగరేషన్
సిస్టమ్ బిల్డర్ రూపొందించిన డిజైన్లో SERDESIF బ్లాక్లు ఇన్స్టాంటియేట్ చేయబడవు. అయినప్పటికీ, అన్ని SERDESIF బ్లాక్ల కోసం, సిస్టమ్ బిల్డర్ కోర్ యొక్క ఇంటర్ఫేస్లో ప్రారంభ సంకేతాలు అందుబాటులో ఉంటాయి మరియు మూర్తి 2-7లో చూపిన విధంగా తదుపరి స్థాయి సోపానక్రమంలో SERDESIF కోర్లకు కనెక్ట్ చేయబడతాయి.మూర్తి 2-7 • SERDESIF పెరిఫెరల్ ఇనిషియలైజేషన్ కనెక్టివిటీ
DDR కాన్ఫిగరేషన్ రిజిస్టర్ల మాదిరిగానే, ప్రతి SERDES బ్లాక్లో కూడా కాన్ఫిగరేషన్ రిజిస్టర్లు ఉంటాయి, అవి తప్పనిసరిగా రన్టైమ్లో లోడ్ చేయబడతాయి. మీరు ఈ రిజిస్టర్ విలువలను దిగుమతి చేసుకోవచ్చు లేదా మీ PCIe లేదా EPCS పారామితులను నమోదు చేయడానికి హై స్పీడ్ సీరియల్ ఇంటర్ఫేస్ కాన్ఫిగరేటర్ (మూర్తి 2-8)ని ఉపయోగించవచ్చు మరియు రిజిస్టర్ విలువలు మీ కోసం స్వయంచాలకంగా గణించబడతాయి. వివరాల కోసం, చూడండి SERDES కాన్ఫిగరేటర్ యూజర్స్ గైడ్.చిత్రం 2-8 • హై స్పీడ్ సీరియల్ ఇంటర్ఫేస్ కాన్ఫిగరేటర్
మీరు సిస్టమ్ బిల్డర్ బ్లాక్ మరియు SERDES బ్లాక్తో మీ వినియోగదారు లాజిక్ను ఏకీకృతం చేసిన తర్వాత, మీరు మీ ఉన్నత స్థాయి స్మార్ట్డిజైన్ను రూపొందించవచ్చు. ఇది అన్ని HDL మరియు BFMలను ఉత్పత్తి చేస్తుంది fileమీ డిజైన్ను అమలు చేయడానికి మరియు అనుకరించడానికి అవసరమైనవి. మీరు మిగిలిన డిజైన్ ఫ్లోతో కొనసాగవచ్చు.
DDR మరియు SERDESIF బ్లాక్లను ఉపయోగించి డిజైన్ను రూపొందించడానికి SmartDesignని ఉపయోగించడం
SmartFusion2 సిస్టమ్ బిల్డర్ని ఉపయోగించకుండా పూర్తి 'ప్రారంభ' పరిష్కారాన్ని ఎలా ఉంచాలో ఈ విభాగం వివరిస్తుంది. మీరు సిస్టమ్ బిల్డర్ను ఉపయోగించకూడదనుకుంటే మీరు ఏమి చేయాలో అర్థం చేసుకోవడంలో మీకు సహాయపడటమే లక్ష్యం. సిస్టమ్ బిల్డర్ సాధనం మీ కోసం వాస్తవానికి ఏమి ఉత్పత్తి చేస్తుందో కూడా ఈ విభాగం వివరిస్తుంది. ఈ విభాగం ఎలా చేయాలో వివరిస్తుంది:
- DDR కంట్రోలర్ మరియు SERDESIF కాన్ఫిగరేషన్ రిజిస్టర్ల కోసం కాన్ఫిగరేషన్ డేటాను ఇన్పుట్ చేయండి.
- కాన్ఫిగరేషన్ డేటాను DDR కంట్రోలర్లు మరియు SERDESIF కాన్ఫిగరేషన్ రిజిస్టర్లకు బదిలీ చేయడానికి అవసరమైన ఫ్యాబ్రిక్ కోర్లను తక్షణమే మరియు కనెక్ట్ చేయండి.
DDR కంట్రోలర్ కాన్ఫిగరేషన్
బాహ్య DDR మెమరీ కాన్ఫిగరేషన్ అవసరాలకు (DDR మోడ్, PHY వెడల్పు, బర్స్ట్ మోడ్, ECC, మొదలైనవి) సరిపోలడానికి MSS DDR (MDDR) మరియు ఫ్యాబ్రిక్ DDR (FDDR) కంట్రోలర్లు తప్పనిసరిగా డైనమిక్గా (రన్టైమ్లో) కాన్ఫిగర్ చేయబడాలి. MDDR/FDDR కాన్ఫిగరేటర్లో నమోదు చేయబడిన డేటా CMSIS SystemInit() ఫంక్షన్ ద్వారా DDR కంట్రోలర్ కాన్ఫిగరేషన్ రిజిస్టర్లకు వ్రాయబడుతుంది. వివిధ రకాల కాన్ఫిగరేషన్ డేటాను నమోదు చేయడానికి కాన్ఫిగరేటర్ మూడు వేర్వేరు ట్యాబ్లను కలిగి ఉంది:
- సాధారణ డేటా (DDR మోడ్, డేటా వెడల్పు, క్లాక్ ఫ్రీక్వెన్సీ, ECC, ఫ్యాబ్రిక్ ఇంటర్ఫేస్, డ్రైవ్ స్ట్రెంత్)
- మెమరీ ఇనిషియలైజేషన్ డేటా (బర్స్ట్ లెంగ్త్, బర్స్ట్ ఆర్డర్, టైమింగ్ మోడ్, లాటెన్సీ మొదలైనవి)
- మెమరీ టైమింగ్ డేటా
మీ బాహ్య DDR మెమరీ యొక్క స్పెసిఫికేషన్లను చూడండి మరియు మీ బాహ్య DDR మెమరీ అవసరాలకు సరిపోయేలా DDR కంట్రోలర్ను కాన్ఫిగర్ చేయండి.
DDR కాన్ఫిగరేషన్ వివరాల కోసం, చూడండి SmartFusion2 MSS DDR కాన్ఫిగరేషన్ యూజర్ గైడ్.
SERDESIF కాన్ఫిగరేషన్
SERDESని కాన్ఫిగర్ చేయడానికి కాన్ఫిగరేటర్ను తెరవడానికి SmartDesign కాన్వాస్లోని SERDES బ్లాక్పై రెండుసార్లు క్లిక్ చేయండి (మూర్తి 3-1). మీరు ఈ రిజిస్టర్ విలువలను దిగుమతి చేసుకోవచ్చు లేదా మీ PCIe లేదా EPCS పారామితులను నమోదు చేయడానికి SERDES కాన్ఫిగరేటర్ని ఉపయోగించవచ్చు మరియు రిజిస్టర్ విలువలు మీ కోసం స్వయంచాలకంగా గణించబడతాయి. వివరాల కోసం, చూడండి SERDES కాన్ఫిగరేటర్ యూజర్స్ గైడ్.చిత్రం 3-1 • హై స్పీడ్ సీరియల్ ఇంటర్ఫేస్ కాన్ఫిగరేటర్
FPGA డిజైన్ ఇనిషియలైజేషన్ సబ్-సిస్టమ్ను సృష్టిస్తోంది
DDR మరియు SERDESIF బ్లాక్లను ప్రారంభించేందుకు, మీరు తప్పనిసరిగా FPGA ఫాబ్రిక్లో ప్రారంభ ఉపవ్యవస్థను సృష్టించాలి. FPGA ఫాబ్రిక్ ఇనిషియలైజేషన్ సబ్సిస్టమ్ Cortex-M3 నుండి DDR మరియు SERDESIF కాన్ఫిగరేషన్ రిజిస్టర్లకు డేటాను తరలిస్తుంది, ఈ బ్లాక్లు పనిచేయడానికి అవసరమైన రీసెట్ సీక్వెన్స్లను నిర్వహిస్తుంది మరియు ఈ బ్లాక్లు మీ మిగిలిన డిజైన్తో కమ్యూనికేట్ చేయడానికి సిద్ధంగా ఉన్నప్పుడు సంకేతాలను అందిస్తాయి. ప్రారంభ ఉపవ్యవస్థను సృష్టించడానికి, మీరు తప్పక:
- MSS లోపల FIC_2ని కాన్ఫిగర్ చేయండి
- CoreConfigP మరియు CoreResetP కోర్లను తక్షణమే మరియు కాన్ఫిగర్ చేయండి
- ఆన్-చిప్ 25/50MHz RC ఓసిలేటర్ను తక్షణం చేయండి
- సిస్టమ్ రీసెట్ (SYSRESET) మాక్రోను తక్షణం చేయండి
- ఈ భాగాలను ప్రతి పరిధీయ కాన్ఫిగరేషన్ ఇంటర్ఫేస్లు, గడియారాలు, రీసెట్లు మరియు PLL లాక్ పోర్ట్లకు కనెక్ట్ చేయండి
MSS FIC_2 APB కాన్ఫిగరేషన్
MSS FIC_2ని కాన్ఫిగర్ చేయడానికి:
- MSS కాన్ఫిగరేటర్ నుండి FIC_2 కాన్ఫిగరేటర్ డైలాగ్ బాక్స్ను తెరవండి (మూర్తి 3-2).
- Cortex-M3ని ఉపయోగించి పెరిఫెరల్స్ ప్రారంభించు ఎంచుకోండి.
- మీ సిస్టమ్పై ఆధారపడి, కింది చెక్బాక్స్లలో ఒకటి లేదా రెండింటిని తనిఖీ చేయండి:
– MSS DDR
- ఫాబ్రిక్ DDR మరియు/లేదా SERDES బ్లాక్లు - సరే క్లిక్ చేసి, MSSని రూపొందించడానికి కొనసాగండి (మీరు MSSని మీ డిజైన్ అవసరాలకు పూర్తిగా కాన్ఫిగర్ చేసే వరకు మీరు ఈ చర్యను వాయిదా వేయవచ్చు). FIC_2 పోర్ట్లు (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK మరియు FIC_2_APB_M_RESET_N) ఇప్పుడు MSS ఇంటర్ఫేస్లో బహిర్గతం చేయబడ్డాయి మరియు CoreConfigP మరియు CoreResetP కోర్లకు కనెక్ట్ చేయబడతాయి.
మూర్తి 3-2 • MSS FIC_2 కాన్ఫిగరేటర్
CoreConfigP
CoreConfigPని కాన్ఫిగర్ చేయడానికి:
- CoreConfigPని మీ స్మార్ట్డిజైన్లోకి తక్షణమే మార్చండి (సాధారణంగా MSS తక్షణం అందించబడినది).
ఈ కోర్ లిబెరో కేటలాగ్లో (పరిధీయ పరికరాల క్రింద) కనుగొనవచ్చు. - కాన్ఫిగరేటర్ను తెరవడానికి కోర్పై రెండుసార్లు క్లిక్ చేయండి.
- ఏ పెరిఫెరల్స్ను ప్రారంభించాలో పేర్కొనడానికి కోర్ను కాన్ఫిగర్ చేయండి (మూర్తి 3-3)
మూర్తి 3-3 • CoreConfigP డైలాగ్ బాక్స్
కోర్ రీసెట్ పి
CoreResetPని కాన్ఫిగర్ చేయడానికి:
- CoreResetPని మీ స్మార్ట్డిజైన్లోకి తక్షణమే మార్చండి (సాధారణంగా MSS తక్షణం చేయబడినది).
ఈ కోర్ని పెరిఫెరల్స్ క్రింద లిబెరో కేటలాగ్లో కనుగొనవచ్చు. - కాన్ఫిగరేటర్ను తెరవడానికి స్మార్ట్డిజైన్ కాన్వాస్లోని కోర్పై రెండుసార్లు క్లిక్ చేయండి (మూర్తి 3-4).
- కోర్ని దీనికి కాన్ఫిగర్ చేయండి:
– బాహ్య రీసెట్ ప్రవర్తనను పేర్కొనండి (EXT_RESET_OUT నొక్కి చెప్పబడింది). నాలుగు ఎంపికలలో ఒకదాన్ని ఎంచుకోండి:
o EXT_RESET_OUT ఎప్పటికీ నిర్ధారించబడలేదు
o పవర్ అప్ రీసెట్ (POWER_ON_RESET_N) నొక్కిచెప్పబడితే EXT_RESET_OUT నిర్ధారించబడుతుంది
o FAB_RESET_N నొక్కిచెప్పబడితే EXT_RESET_OUT నిర్ధారించబడుతుంది
o పవర్ అప్ రీసెట్ (POWER_ON_RESET_N) లేదా FAB_RESET_N నిర్ధారించబడితే EXT_RESET_OUT నిర్ధారించబడుతుంది
- పరికరం వాల్యూమ్ను పేర్కొనండిtagఇ. ఎంచుకున్న విలువ వాల్యూమ్తో సరిపోలాలిtagమరియు మీరు లిబెరో ప్రాజెక్ట్ సెట్టింగ్ల డైలాగ్ బాక్స్లో ఎంచుకున్నారు.
– మీరు మీ డిజైన్లో ఏ పెరిఫెరల్స్ ఉపయోగిస్తున్నారో సూచించడానికి తగిన చెక్బాక్స్లను చెక్ చేయండి.
– బాహ్య DDR మెమరీ సెట్టింగ్ సమయాన్ని పేర్కొనండి. ఇది మీ అప్లికేషన్ (MDDR మరియు FDDR)లో ఉపయోగించిన అన్ని DDR మెమరీలకు గరిష్ట విలువ. ఈ పరామితిని కాన్ఫిగర్ చేయడానికి బాహ్య DDR మెమరీ విక్రేత డేటాషీట్ని చూడండి. 200MHz వద్ద నడుస్తున్న DDR2 మరియు DDR3 మెమరీలకు 200us మంచి డిఫాల్ట్ విలువ. సిలికాన్పై వర్కింగ్ సిమ్యులేషన్ మరియు వర్కింగ్ సిస్టమ్కు హామీ ఇవ్వడానికి ఇది చాలా ముఖ్యమైన పరామితి. స్థిరీకరణ సమయానికి సరికాని విలువ అనుకరణ దోషాలకు దారితీయవచ్చు. ఈ పరామితిని కాన్ఫిగర్ చేయడానికి DDR మెమరీ వెండర్ డేటాషీట్ని చూడండి.
– మీ డిజైన్లోని ప్రతి SERDES బ్లాక్కు, తగిన బాక్సులను చెక్ చేయండి:
o PCIe ఉపయోగించబడుతుంది
o PCIe హాట్ రీసెట్ కోసం మద్దతు అవసరం
o PCIe L2/P2 కోసం మద్దతు అవసరం
గమనిక: మీరు 090 డై(M2S090)ని ఉపయోగిస్తుంటే మరియు మీ డిజైన్ SERDESIFని ఉపయోగిస్తుంటే, మీరు ఈ క్రింది చెక్బాక్స్లలో దేనినీ తనిఖీ చేయవలసిన అవసరం లేదు: 'PCIe కోసం ఉపయోగించబడింది', 'PCIe హాట్రీసెట్ మద్దతును చేర్చండి' మరియు 'PCIe L2/P2 మద్దతును చేర్చండి'. మీరు ఏదైనా 090 కాని పరికరాన్ని ఉపయోగిస్తుంటే మరియు ఒకటి లేదా అంతకంటే ఎక్కువ SERDESIF బ్లాక్లను ఉపయోగిస్తుంటే, మీరు తగిన SERDESIF విభాగంలోని నాలుగు చెక్బాక్స్లను తనిఖీ చేయాలి.
గమనిక: ఈ కాన్ఫిగరేటర్లో మీకు అందుబాటులో ఉన్న ఎంపికల వివరాల కోసం, CoreResetP హ్యాండ్బుక్ని చూడండి.
మూర్తి 3-4 • CoreResetPConfigurator
25/50MHz ఓసిలేటర్ ఇన్స్టాంటియేషన్
CoreConfigP మరియు CoreResetP ఆన్-చిప్ 25/50MHz RC ఓసిలేటర్ ద్వారా క్లాక్ చేయబడతాయి. మీరు తప్పనిసరిగా 25/50MHz ఓసిలేటర్ని ఇన్స్టాంటియేట్ చేసి, ఈ కోర్లకు కనెక్ట్ చేయాలి.
- మీ స్మార్ట్డిజైన్లో చిప్ ఓసిలేటర్ల కోర్ని ఇన్స్టాంటియేట్ చేయండి (సాధారణంగా MSS ఇన్స్టంటియేట్ చేయబడినది). ఈ కోర్ క్లాక్ & మేనేజ్మెంట్ కింద లిబెరో కేటలాగ్లో కనుగొనవచ్చు.
- Figure 3-5లో చూపిన విధంగా RC ఓసిలేటర్ FPGA ఫాబ్రిక్ను డ్రైవ్ చేసే విధంగా ఈ కోర్ని కాన్ఫిగర్ చేయండి.
మూర్తి 3-5 • చిప్ ఓసిలేటర్స్ కాన్ఫిగరేటర్
సిస్టమ్ రీసెట్ (SYSRESET) తక్షణం
SYSRESET మాక్రో మీ డిజైన్కు పరికర స్థాయి రీసెట్ కార్యాచరణను అందిస్తుంది. POWER_ON_RESET_N అవుట్పుట్ సిగ్నల్ చిప్ పవర్ చేయబడినప్పుడు లేదా ఎక్స్టర్నల్ పిన్ DEVRST_N నిశ్చితార్థం/నిర్ధారణ చేయబడినప్పుడల్లా నిర్ధారిస్తుంది/నిర్ధారిస్తుంది (మూర్తి 3-6).
SYSRESET స్థూలాన్ని మీ స్మార్ట్డిజైన్లోకి తక్షణం చేయండి (సాధారణంగా MSS తక్షణం చేయబడినది). మాక్రో లైబ్రరీ క్రింద లిబెరో కేటలాగ్లో ఈ స్థూలాన్ని కనుగొనవచ్చు. ఈ మాక్రో యొక్క కాన్ఫిగరేషన్ అవసరం లేదు.
మూర్తి 3-6 • SYSRESET మాక్రో
మొత్తం కనెక్టివిటీ
మీరు మీ డిజైన్లో MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP మరియు CoreResetP కోర్లను ఇన్స్టంషియేట్ చేసి, కాన్ఫిగర్ చేసిన తర్వాత, పెరిఫెరల్ ఇనిషియలైజేషన్ సబ్సిస్టమ్ను రూపొందించడానికి మీరు వాటిని కనెక్ట్ చేయాలి. ఈ పత్రంలో కనెక్టివిటీ వివరణను సరళీకృతం చేయడానికి, ఇది CoreConfigP మరియు CoreResetP సంబంధిత కనెక్షన్లతో అనుబంధించబడిన APB3 కంప్లైంట్ కాన్ఫిగరేషన్ డేటా పాత్ కనెక్టివిటీకి విభజించబడింది.
కాన్ఫిగరేషన్ డేటా పాత్ కనెక్టివిటీ
MSS FIC_3 సిగ్నల్స్ మరియు పెరిఫెరల్స్ APB7 కంప్లైంట్ కాన్ఫిగరేషన్ ఇంటర్ఫేస్లకు CoreConfigPని ఎలా కనెక్ట్ చేయాలో మూర్తి 2-3 చూపిస్తుంది.
పట్టిక 3-1 • కాన్ఫిగరేషన్ డేటా పాత్ పోర్ట్/బిఐఎఫ్ కనెక్షన్లు
నుండి పోర్ట్/బస్ ఇంటర్ఫేస్ (BIF)/ భాగం |
TO పోర్ట్/బస్ ఇంటర్ఫేస్ (BIF)/కాంపోనెంట్ |
||
APB S ప్రీసెట్ N/ CoreConfigP | APB S ప్రీసెట్ N/ SDIF<0/1/2/3> | APB S ప్రీసెట్ N/ FDDR |
MDDR APB S ప్రెస్ TN/MSS |
APB S PCLK/ CoreConfigP | APB S PCLK/SDIF | APB S PCLK/FDDR | MDDR APB S POLK/ MSS |
MDDR APBmslave/ CoreConfig | MDDR APB స్లేవ్ (BIF)/MSS | ||
SDIF<0/1/2/ 3> APBmslave/Config | APB స్లేవ్ (BIF)/ SDIF<0/1/2/3> | ||
FDDR APBmslave | APB స్లేవ్ (BIF)/ FDDR | ||
FIC 2 APBmaster/ CoreConfigP | FIC 2 APB మాస్టర్/ MSS |
మూర్తి 3-7 • FIC_2 APB3 సబ్-సిస్టమ్ కనెక్టివిటీ
గడియారాలు మరియు కనెక్టివిటీని రీసెట్ చేస్తుంది
CoreResetPని బాహ్య రీసెట్ మూలాధారాలు మరియు పెరిఫెరల్స్ కోర్ రీసెట్ సిగ్నల్లకు ఎలా కనెక్ట్ చేయాలో మూర్తి 3-8 చూపిస్తుంది. పెరిఫెరల్స్ క్లాక్ సింక్రొనైజేషన్ స్టేటస్ సిగ్నల్స్ (PLL లాక్ సిగ్నల్స్)కి CoreResetPని ఎలా కనెక్ట్ చేయాలో కూడా ఇది చూపిస్తుంది. అదనంగా, ఇది CoreConfigP మరియు CoreResetP ఎలా కనెక్ట్ చేయబడిందో చూపిస్తుంది.
మూర్తి 3-8 • కోర్ 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 CCC కాన్ఫిగరేటర్లో నిర్వచించిన విధంగా MSS క్లాక్ ఫ్రీక్వెన్సీలను కలిగి ఉంటుంది. ఈ పౌనఃపున్యాలు CMSIS కోడ్ ద్వారా అనేక MSS డ్రైవర్లకు సరైన గడియార సమాచారాన్ని అందించడానికి ఉపయోగించబడతాయి, అవి తప్పనిసరిగా వారి పెరిఫెరల్ క్లాక్ (PCLK) ఫ్రీక్వెన్సీకి ప్రాప్యతను కలిగి ఉండాలి (ఉదా, MSS UART బాడ్ రేట్ డివైజర్లు బాడ్ రేటు మరియు PCLK ఫ్రీక్వెన్సీకి సంబంధించినవి. )
- sys_config_SERDESIF_ .సి – SERDESIF_ని కలిగి ఉంది SERDESIF_ సమయంలో అందించబడిన కాన్ఫిగరేషన్ డేటాను నమోదు చేయండి డిజైన్ సృష్టిలో బ్లాక్ కాన్ఫిగరేషన్.
- sys_config_SERDESIF_ .h – రిజిస్టర్ కాన్ఫిగరేషన్ జతల సంఖ్య మరియు PMA_READY (PCIe మోడ్లో మాత్రమే) కోసం పోల్ చేయాల్సిన లేన్ నంబర్ను పేర్కొనే #define స్టేట్మెంట్లను కలిగి ఉంటుంది.
ఇవి fileMSS కోసం పరిధీయ కాన్ఫిగరేషన్ డేటా మరియు క్లాక్ కాన్ఫిగరేషన్ సమాచారంతో సహా మీ ప్రస్తుత రూపకల్పనకు సంబంధించిన సమాచారాన్ని సరిగ్గా కంపైల్ చేయడానికి మరియు కలిగి ఉండటానికి CMSIS కోడ్కు లు అవసరం.
వీటిని సవరించవద్దు fileలు మానవీయంగా; సంబంధిత పెరిఫెరల్స్ను కలిగి ఉన్న స్మార్ట్డిజైన్ కాంపోనెంట్లు రూపొందించబడిన ప్రతిసారీ అవి సంబంధిత భాగం/పరిధీయ డైరెక్టరీలకు సృష్టించబడతాయి. ఏదైనా పెరిఫెరల్స్ యొక్క కాన్ఫిగరేషన్ డేటాకు ఏవైనా మార్పులు జరిగితే, మీరు ఫర్మ్వేర్ ప్రాజెక్ట్లను మళ్లీ ఎగుమతి చేయాలి, తద్వారా అప్డేట్ చేయబడిన ఫర్మ్వేర్ fileలు (పై జాబితాను చూడండి) కు ఎగుమతి చేయబడతాయి / firmware/drivers_config/sys_config ఫోల్డర్.
మీరు ఫర్మ్వేర్ను ఎగుమతి చేసినప్పుడు, Libero SoC ఫర్మ్వేర్ ప్రాజెక్ట్లను సృష్టిస్తుంది: మీ డిజైన్ కాన్ఫిగరేషన్ ఉన్న లైబ్రరీ fileలు మరియు డ్రైవర్లు సంకలనం చేయబడ్డాయి.
మీరు ప్రాజెక్ట్ సృష్టించు తనిఖీ చేస్తే మీరు ఫర్మ్వేర్ను ఎగుమతి చేసినప్పుడు చెక్బాక్స్, అప్లికేషన్ ప్రాజెక్ట్ను ఉంచడానికి సాఫ్ట్వేర్ సాఫ్ట్కాన్సోల్/ఐఎఆర్/కెయిల్ ప్రాజెక్ట్ సృష్టించబడుతుంది, ఇక్కడ మీరు main.c మరియు వినియోగదారు C/Hని సవరించవచ్చు. fileలు. CMSIS కోడ్ని సరిగ్గా కంపైల్ చేయడానికి SoftConSole/IAR/Keil ప్రాజెక్ట్ను తెరవండి మరియు మీ హార్డ్వేర్ డిజైన్కు సరిపోయేలా మీ ఫర్మ్వేర్ అప్లికేషన్ను సరిగ్గా కాన్ఫిగర్ చేయండి.
BFM Fileలు డిజైన్ను అనుకరించడం కోసం ఉపయోగించబడుతుంది
మీరు మీ డిజైన్, అనుకరణతో అనుబంధించబడిన పెరిఫెరల్స్ను కలిగి ఉన్న SmartDesign భాగాలను రూపొందించినప్పుడు fileసంబంధిత పెరిఫెరల్స్కు అనుగుణంగా లు ఉత్పత్తి చేయబడతాయి / అనుకరణ డైరెక్టరీ:
- test.bfm - అత్యున్నత స్థాయి BFM file SmartFusion2 MSS కార్టెక్స్-M3 ప్రాసెసర్ని ఉపయోగించే ఏదైనా అనుకరణ సమయంలో ఇది మొదట అమలు చేయబడుతుంది. ఇది ఆ క్రమంలో peripheral_init.bfm మరియు user.bfmని అమలు చేస్తుంది.
- MDDR_init.bfm – మీ డిజైన్ MDDRని ఉపయోగిస్తుంటే, Libero దీన్ని ఉత్పత్తి చేస్తుంది file; ఇది మీరు నమోదు చేసిన MSS DDR కాన్ఫిగరేషన్ రిజిస్టర్ డేటా (ఎడిట్ రిజిస్టర్ల డైలాగ్బాక్స్ లేదా MSS_MDDR GUIని ఉపయోగించి) MSS DDR కంట్రోలర్ రిజిస్టర్లలోకి వ్రాయడాన్ని అనుకరించే BFM రైట్ ఆదేశాలను కలిగి ఉంది.
- FDDR_init.bfm – మీ డిజైన్ FDDRని ఉపయోగిస్తుంటే, Libero దీన్ని ఉత్పత్తి చేస్తుంది file; ఫాబ్రిక్ DDR కంట్రోలర్ రిజిస్టర్లలో మీరు నమోదు చేసిన (ఎడిట్ రిజిస్టర్ల డైలాగ్బాక్స్ లేదా FDDR GUIని ఉపయోగించి) ఫాబ్రిక్ DDR కాన్ఫిగరేషన్ రిజిస్టర్ డేటా యొక్క వ్రాతలను అనుకరించే BFM రైట్ ఆదేశాలను కలిగి ఉంది.
- SERDESIF_ _init.bfm – మీ డిజైన్ ఒకటి లేదా అంతకంటే ఎక్కువ SERDESIF బ్లాక్లను ఉపయోగిస్తుంటే, Libero దీన్ని ఉత్పత్తి చేస్తుంది file ప్రతి SERDESIF_ కోసం ఉపయోగించిన బ్లాక్స్; ఇది మీరు నమోదు చేసిన SERDESIF కాన్ఫిగరేషన్ రిజిస్టర్ డేటా యొక్క వ్రాతలను అనుకరించే BFM రైట్ ఆదేశాలను కలిగి ఉంది (రిజిస్టర్లను సవరించు డైలాగ్ బాక్స్ లేదా SERDESIF_లో ఉపయోగించి GUI) SERDESIF_లోకి నమోదు చేస్తుంది. SERDESIF బ్లాక్ PCIeగా కాన్ఫిగర్ చేయబడితే, ఇది file ఖచ్చితమైన క్రమంలో 2 రిజిస్టర్ కాన్ఫిగరేషన్ దశల అమలును నియంత్రించే కొన్ని #డిఫైన్ స్టేట్మెంట్లను కూడా కలిగి ఉంది.
- user.bfm - వినియోగదారు ఆదేశాలను కలిగి ఉంటుంది. peripheral_init.bfm పూర్తయిన తర్వాత ఈ ఆదేశాలు అమలు చేయబడతాయి. దీన్ని సవరించండి file మీ BFM ఆదేశాలను నమోదు చేయడానికి.
- SERDESIF_ _user.bfm - వినియోగదారు ఆదేశాలను కలిగి ఉంటుంది. దీన్ని సవరించండి file మీ BFM ఆదేశాలను నమోదు చేయడానికి. మీరు SERDESIF_ని కాన్ఫిగర్ చేసి ఉంటే దీన్ని ఉపయోగించండి BFM PCIe సిమ్యులేషన్ మోడ్లో మరియు AXI/AHBLite మాస్టర్గా బ్లాక్ చేయండి. మీరు SERDESIF_ని కాన్ఫిగర్ చేసి ఉంటే RTL సిమ్యులేషన్ మోడ్లో బ్లాక్ చేయండి, మీకు ఇది అవసరం లేదు file.
మీరు ప్రతిసారీ అనుకరణను ప్రారంభించినప్పుడు, క్రింది రెండు అనుకరణలు fileలు తిరిగి సృష్టించబడతాయి నవీకరించబడిన విషయాలతో / అనుకరణ డైరెక్టరీ:
- subsystem.bfm – మీ డిజైన్లో ఉపయోగించిన ప్రతి పెరిఫెరల్ కోసం #define స్టేట్మెంట్లను కలిగి ఉంటుంది, ఇది ప్రతి పరిధీయానికి అనుగుణంగా అమలు చేయాల్సిన peripheral_init.bfm యొక్క నిర్దిష్ట విభాగాన్ని పేర్కొంటుంది.
- operipheral_init.bfm – CMSIS:: SystemInit() ఫంక్షన్ను అనుకరించే BFM విధానాన్ని కలిగి ఉంటుంది: మీరు ప్రధాన() విధానాన్ని నమోదు చేసే ముందు కార్టెక్స్-M3పై రన్ అవుతుంది. ఇది డిజైన్లో ఉపయోగించిన ఏదైనా పెరిఫెరల్ కోసం కాన్ఫిగరేషన్ డేటాను సరైన పెరిఫెరల్ కాన్ఫిగరేషన్ రిజిస్టర్లకు కాపీ చేస్తుంది మరియు మీరు ఈ పెరిఫెరల్స్ను ఉపయోగించవచ్చని నిర్ధారించే ముందు అన్ని పెరిఫెరల్స్ సిద్ధంగా ఉండే వరకు వేచి ఉంటుంది. ఇది MDDR_init.bfm మరియు FDDR_init.bfmలను అమలు చేస్తుంది.
వీటిని ఉపయోగించి రూపొందించారు files, SmartFusion2 పరికరంలో ఏమి జరుగుతుందో అనుకరిస్తూ, మీ డిజైన్లోని DDR కంట్రోలర్లు స్వయంచాలకంగా కాన్ఫిగర్ చేయబడతాయి. మీరు user.bfmని సవరించవచ్చు file మీ డిజైన్ను అనుకరించడానికి అవసరమైన ఏవైనా ఆదేశాలను జోడించడానికి (కార్టెక్స్-M3 మాస్టర్). పెరిఫెరల్స్ ప్రారంభించిన తర్వాత ఈ ఆదేశాలు అమలు చేయబడతాయి. test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfmని సవరించవద్దు fileలు మరియు SERDESIF_ _init.bfm files.
ఉత్పత్తి మద్దతు
మైక్రోసెమి SoC ప్రొడక్ట్స్ గ్రూప్ దాని ఉత్పత్తులకు కస్టమర్ సర్వీస్, కస్టమర్ టెక్నికల్ సపోర్ట్ సెంటర్, ఎ webసైట్, ఎలక్ట్రానిక్ మెయిల్ మరియు ప్రపంచవ్యాప్త విక్రయ కార్యాలయాలు.
ఈ అనుబంధం మైక్రోసెమి SoC ఉత్పత్తుల సమూహాన్ని సంప్రదించడం మరియు ఈ మద్దతు సేవలను ఉపయోగించడం గురించి సమాచారాన్ని కలిగి ఉంది.
కస్టమర్ సేవ
ఉత్పత్తి ధర, ఉత్పత్తి అప్గ్రేడ్లు, అప్డేట్ సమాచారం, ఆర్డర్ స్థితి మరియు అధికారీకరణ వంటి సాంకేతికేతర ఉత్పత్తి మద్దతు కోసం కస్టమర్ సేవను సంప్రదించండి.
ఉత్తర అమెరికా నుండి, కాల్ చేయండి 800.262.1060
ప్రపంచంలోని ఇతర ప్రాంతాల నుండి, కాల్ చేయండి 650.318.4460
ప్రపంచంలో ఎక్కడి నుండైనా ఫ్యాక్స్, 408.643.6913
కస్టమర్ టెక్నికల్ సపోర్ట్ సెంటర్
మైక్రోసెమి SoC ప్రోడక్ట్స్ గ్రూప్ దాని కస్టమర్ టెక్నికల్ సపోర్ట్ సెంటర్లో అత్యంత నైపుణ్యం కలిగిన ఇంజనీర్లతో మీ హార్డ్వేర్, సాఫ్ట్వేర్ మరియు మైక్రోసెమి SoC ప్రోడక్ట్ల గురించిన సందేహాలకు సమాధానం ఇవ్వడంలో సహాయపడుతుంది. కస్టమర్ టెక్నికల్ సపోర్ట్ సెంటర్ అప్లికేషన్ నోట్స్, సాధారణ డిజైన్ సైకిల్ ప్రశ్నలకు సమాధానాలు, తెలిసిన సమస్యల డాక్యుమెంటేషన్ మరియు వివిధ FAQలను రూపొందించడానికి ఎక్కువ సమయాన్ని వెచ్చిస్తుంది. కాబట్టి, మీరు మమ్మల్ని సంప్రదించడానికి ముందు, దయచేసి మా ఆన్లైన్ వనరులను సందర్శించండి. మీ ప్రశ్నలకు మేము ఇప్పటికే సమాధానమిచ్చాము.
సాంకేతిక మద్దతు
కస్టమర్ సపోర్ట్ని సందర్శించండి webసైట్ (www.microsemi.com/soc/support/search/default.aspx) మరింత సమాచారం మరియు మద్దతు కోసం. శోధించదగిన వాటిలో చాలా సమాధానాలు అందుబాటులో ఉన్నాయి web వనరులో రేఖాచిత్రాలు, దృష్టాంతాలు మరియు ఇతర వనరులకు లింక్లు ఉంటాయి webసైట్.
Webసైట్
మీరు SoC హోమ్ పేజీలో వివిధ రకాల సాంకేతిక మరియు నాన్-టెక్నికల్ సమాచారాన్ని బ్రౌజ్ చేయవచ్చు www.microsemi.com/soc.
కస్టమర్ టెక్నికల్ సపోర్ట్ సెంటర్ను సంప్రదిస్తోంది
అత్యంత నైపుణ్యం కలిగిన ఇంజనీర్లు టెక్నికల్ సపోర్ట్ సెంటర్లో సిబ్బంది. టెక్నికల్ సపోర్ట్ సెంటర్ని ఇమెయిల్ ద్వారా లేదా మైక్రోసెమి SoC ప్రోడక్ట్స్ గ్రూప్ ద్వారా సంప్రదించవచ్చు webసైట్.
ఇమెయిల్
మీరు మీ సాంకేతిక ప్రశ్నలను మా ఇమెయిల్ చిరునామాకు తెలియజేయవచ్చు మరియు ఇమెయిల్, ఫ్యాక్స్ లేదా ఫోన్ ద్వారా సమాధానాలను తిరిగి పొందవచ్చు. అలాగే, మీకు డిజైన్ సమస్యలు ఉంటే, మీరు మీ డిజైన్ను ఇమెయిల్ చేయవచ్చు fileసహాయం అందుకోవడానికి రు.
మేము రోజంతా ఇమెయిల్ ఖాతాను నిరంతరం పర్యవేక్షిస్తాము. మీ అభ్యర్థనను మాకు పంపుతున్నప్పుడు, దయచేసి మీ అభ్యర్థనను సమర్థవంతంగా ప్రాసెస్ చేయడానికి మీ పూర్తి పేరు, కంపెనీ పేరు మరియు మీ సంప్రదింపు సమాచారాన్ని చేర్చాలని నిర్ధారించుకోండి.
సాంకేతిక మద్దతు ఇమెయిల్ చిరునామా soc_tech@microsemi.com.
నా కేసులు
మైక్రోసెమి SoC ప్రోడక్ట్స్ గ్రూప్ కస్టమర్లు ఆన్లైన్లో సాంకేతిక కేసులను సమర్పించవచ్చు మరియు ట్రాక్ చేయవచ్చు నా కేసులు.
US వెలుపల
US టైమ్ జోన్ల వెలుపల సహాయం అవసరమయ్యే కస్టమర్లు ఇమెయిల్ ద్వారా సాంకేతిక మద్దతును సంప్రదించవచ్చు (soc_tech@microsemi.com) లేదా స్థానిక విక్రయ కార్యాలయాన్ని సంప్రదించండి. సేల్స్ ఆఫీస్ జాబితాలను ఇక్కడ చూడవచ్చు www.microsemi.com/soc/company/contact/default.aspx.
ITAR సాంకేతిక మద్దతు
ఇంటర్నేషనల్ ట్రాఫిక్ ఇన్ ఆర్మ్స్ రెగ్యులేషన్స్ (ITAR) ద్వారా నియంత్రించబడే RH మరియు RT FPGAలపై సాంకేతిక మద్దతు కోసం, మమ్మల్ని దీని ద్వారా సంప్రదించండి soc_tech_itar@microsemi.com. ప్రత్యామ్నాయంగా, నా కేసులలో, ITAR డ్రాప్-డౌన్ జాబితాలో అవును ఎంచుకోండి. ITAR-నియంత్రిత మైక్రోసెమి FPGAల పూర్తి జాబితా కోసం, ITARని సందర్శించండి web పేజీ.
మైక్రోసెమి కార్పొరేషన్ (NASDAQ: MSCC) దీని కోసం సెమీకండక్టర్ సొల్యూషన్ల యొక్క సమగ్ర పోర్ట్ఫోలియోను అందిస్తుంది: ఏరోస్పేస్, రక్షణ మరియు భద్రత; ఎంటర్ప్రైజ్ మరియు కమ్యూనికేషన్స్; మరియు పారిశ్రామిక మరియు ప్రత్యామ్నాయ ఇంధన మార్కెట్లు. ఉత్పత్తులలో అధిక-పనితీరు, అధిక-విశ్వసనీయత అనలాగ్ మరియు RF పరికరాలు, మిశ్రమ సిగ్నల్ మరియు RF ఇంటిగ్రేటెడ్ సర్క్యూట్లు, అనుకూలీకరించదగిన SoCలు, FPGAలు మరియు పూర్తి ఉపవ్యవస్థలు ఉన్నాయి. మైక్రోసెమి ప్రధాన కార్యాలయం కాలిఫోర్నియాలోని అలిసో వీజోలో ఉంది. ఇక్కడ మరింత తెలుసుకోండి www.microsemi.com.
© 2014 మైక్రోసెమి కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. మైక్రోసెమి మరియు మైక్రోసెమి లోగో మైక్రోసెమి కార్పొరేషన్ యొక్క ట్రేడ్మార్క్లు. అన్ని ఇతర ట్రేడ్మార్క్లు మరియు సేవా గుర్తులు వాటి సంబంధిత యజమానుల ఆస్తి.
5-02-00384-1/08.14మైక్రోసెమి కార్పొరేట్ ప్రధాన కార్యాలయం
వన్ ఎంటర్ప్రైజ్, అలిసో వీజో CA 92656 USA
USA లోపల: +1 949-380-6100
అమ్మకాలు: +1 949-380-6136
ఫ్యాక్స్: +1 949-215-4996
పత్రాలు / వనరులు
![]() |
మైక్రోసెమి స్మార్ట్ఫ్యూజన్2 DDR కంట్రోలర్ మరియు సీరియల్ హై స్పీడ్ కంట్రోలర్ [pdf] యూజర్ గైడ్ SmartFusion2 DDR కంట్రోలర్ మరియు సీరియల్ హై స్పీడ్ కంట్రోలర్, SmartFusion2 DDR, కంట్రోలర్ మరియు సీరియల్ హై స్పీడ్ కంట్రోలర్, హై స్పీడ్ కంట్రోలర్ |