
Тұғырнамалық жобалау
Алдыңғы бөлім IP-ді (немесе виртуалды құраушыларды) бөлек блоктар базасы негізінде көп ретті пайдалануға арналды. Бірақ, соңғы бірнеше жылдарда «тұғырнамалық жобалау» деп аталатын виртуалды құраушыларды көп ретті пайдалануына және күрделі SoC жабалауына деген анағұрлым біріктілген амалдар пайда болды. Берілген мәселелерге байланысты толығырақ ақпаратты [6,7,8,9]-дан табуға болады. Ал мұнда біз тұғырнамалық жобалауды тек бір жақты қарастырамыз.
Біз тұғырнамалық жобалауды талап етілетін күшінің, жобалау уақытының және күрделі SoC анықтаулары (верификациялары) мен талдамаларының жобалық қаупін азайтатын жоспарланған жобалық әдістеме ретінде анықтай аламыз. Блоктар негізіндегі көпретті қолданудан тұғырнамалық жобалаудың бөлек ерекшелігі ‒ құраушылар тобын көпретті қолданылатын тұғырнамалық архитектураға жинайды. Мұндай көпретті пайдаланылатын архитектура алдын ала параметлренген және алдын ала верификацияланған виртуалды құраушылардың (HW және SW қолданбаларына бағдарланған) кітапханасымен қоса SoC біріктіруінің тұғырнамасы болып табылады.
Өндірістік жобалауда тұғырнамалық жобалау танымалдылығының өсуінің бірнеше себептері бар. Бұған жобалау өнімділігіндегі ұлғаю, тәуекелдің азаюы, алдын ала біріктірілген виртуалды құраушыларды басқа қолданбалы аймақтардан анағұрлым нәтижелі пайдалану мүмкіндігі және бұрын SoC архитектурасын қайта қолдану мүмкіндігі жатады. Индустриялы тұғырнамаларға толығымен қолданбадағы тұғырнамалар, қайта конфигурацияланатын тұғырнамалар және процессорлы-бағдарланған тұғырнамалар жатады [10]. Philips Nexperia және TI ОМАР сияқты толығымен қолданбадағы тұғырнамалар нақты қолданбалы аймақтарға арналған жүзеге асыру құралдарының толық жиынтығын қамтамасыз етеді [11]. ARM Prime-Xsys сынды процессорлы-бағдарланған тұғырнамалар шинаның шиналық архитектурасымен, нақтылы операционды жүйесімен (RTOS) бірге приферияның базалық жиынтығымен сәйкес келетін процессорда орналасып, негізделеді. Xilinx Platform FPGA және Altera SOPC секілді қайта конфигурацияланатын немесе «жоғары бағдарламаланатын» тұғырнамалар жобалаудың берілген маршруты бойынша САПР құралдарымен, қауымдастырылған (ассоциацияланған) IP кітапханаларымен, қайта конфигурацияланатын логикамен біргепроцессордың hard-core-ын ұсынады.
SoC біріктірілген тұғырнамаларын пайдалану SoC жобалау үдерісін 2 негізгі аспектіде өзгертеді:
Базалық тұғырнама тұғырнама авторларын таңдау арқылы SoC жобалауының нысандандырылған және мамандандырылған үдерісі негізінде өңделуі қажет. Еншілес (туынды) жобаларда көп ретті қолданыс үшін SoC тұғырнамаларын құру барысында тұғырнаманың барлығын және оның HW/SW құраушыларының нысандандырылған кітапханаларын толықтай жүзеге асыруға дейін жеткізу қажеттігін есте сақтау керек. Тұғырнаманың толық сипаттамасы үшін, нысандандырылған кітапханалар үшін, сондай-ақ көп ретті пайдалану үлгілерін құру үшін қаншалықты қажет болса, жүзеге асыру соншалықты дәрежеде орындалу керек. Тұғырнаманы құру үрдісінде, сонымен қатар, тұғырнаманы және оның туынды жобаларды жобалау үрдісіндегі кітапханасын қайта қолдануға қажетті, мұрағатталатын және қолайлы түрде сақталатын барлық жобалық файлдар да маңызды болып табылады. Бұған туынды жобаларды жобалау барысындағы конфигурацияланған тұғырнамаларды автоматты түрде құруға мүмкіндік беретін конфигурациялы бағдарламалар мен скрипттердікүйге келтіру әдістері де кіруі қажет.
Жобалау үрдісі берілген біріктіруші SoC тұғырнамасын пайдаланатын барлық туынды жобалар үшін қолданылуы және құрастырылуы қажет. Сонымен бірге мұрағаттан тұғырнаманы шығару үрдістері, туынды жобалар үшін реконфигурационды күйге келтіру кіріспелері/енгізулері, туынды жобалар үшін жобалық файлдар генерациялары, туынды жобаларды анықтау (верификациялау) үшін сәкес келетін орта генерациялары, сондай-ақ кітапханалардан құраушыларды таңлау мүмкіндігі, олардың модификация мен барлық тұғырнама шеңберінде тексеру мүмкіндіктері, және берілген туынды қолданба үшін жаңа құраушыларды (тұғырнама мүмкіндік беретін шеңберде) құру мүмкіндігі қамтамасыз етілуі керек.
Қайта конфигурацияланатын немесе жоғары бағдарламаланатын тұғырнамалар SoC тұғырнамалық жобалау үдерісіне өзінің нәтижелі қосымшасын қосады. FPGA тұғырнамасы мен SoC құрылғысын «мета-тұғырнама» ретінде, яғни тұғырнама құруға арналған тұғырнама ретінде қарастыруға болады. Жобалық топтар құрылғы мәліметтерін Xilinх и Altera сияқты компаниялардан ала алады. Бұл құрылғыларда жалпы мүмкіндіктердің базалық жиынтығы және IP ‒ кіріктірме процессорлар, чиптегі шиналар, MACs және SERDES секілді арнайы IP блоктар, сондай-ақ IP блоктартардың алдын ала анықталған (верификацияланған) басқа жиынтықтары болады. Содан кейін жобалық топтар өзінің мамандандырылған IP кітапханаларын қоса отырып, бұл мета-тұғырнаманы нақты қолданбалы аймақтан түрлендіруі мүмкін. Соңында алынған тұғырнама базалық мета-тұғырнаманы таңдай алатын және оны нақты қолданбаға қажетті IP блоктарды таңдай отырып, алдын ала берілген шеңберде аралық тұғырнамаға (жоғарыда айтылған) конфигурациялай алатын, туынды жобалар бойынша жұмыс істейтін жобалық топтарға беріледі.
ASIC және ASSP жобалауының эволюциясы
Тапсырысты, ASIC және ASSP-ді (Application Specific Standard Parts) басынан құрайтын жобалаулардан көп ретті пайдалану негізіндегі SoC жобалауға өту эволюциясы табиғи түрде, блоктық жобалау үдерісінен эволюция тоқтап қалуы мүмкін кезеңінде өтеді. Блоктық жобалаудан (толық тапсырысты ASIC жобалау маршрутына табиғи түрде жиналатын) тұғырнамалық жобалауға ауысу туралы шешім бірнеше факторларға тәуелді.
SoC тұғырнамалары барлық қолданбалы аймақтар үшін ақталмаған. Анағұрлым жоғары өнімділікті, қоректі азырақ тұтынуды және/немесе анағұрлым төмен бағаны (мысалы, жоғары өнімділікті процессорлар мен серверлер, жоғары сапалы желілік жабдықтар, немесе бағасы бойынша өте төмен, тұтыну қолданбаларына арналған аралас SoC (mixed signal)) талап ететін қолданбалар үшін блоктық жобалау біріктірумен және үлкен тәуекелмен айтарлықтай күш салу арқылы ең аз көпретті қолдануға алып келетін болса да, ең оңтайландырылған болып табылуы мүмкін. Әрине, мұндай қолданбалар жобалаушы топтардың көбеюін және жобалау талап ететін уақыттың артуын ақтау керек, ал осымен байланысты анағұрлым жоғары тәуекел өнімнің ұзақ уақытты келешегімен немесе жай ғана оның танымалдылығымен теңгерілуі тиіс.
Алайда жобалық топтардың жобалаудың блоктық үлгісінен тұғырнамалық жобалауға ақырындап ауысу мүмкіндігі болатын көптеген қолданбалы аймақтар бар. Мысалы, егер SoC-тің кең жиынтығы жалпы процессорлы ішкі жүйені (нысандандырылған шинамен (мысалы, АМВА) бірге ARM негізіндегі RISC процессор, DMA, және т.б.) пайдаланады леп күтілсе, онда осы процессорлы ішкі жүйенің SoC туынды жобаларындағы кезекті көп ретті қолдануға арналған «мини-тұғырнамаға» айналу талабының ақталуы әбден мүмкін. Егер қандай да бір интерфейс немесе функционалды процессорлы блок SoC-тің жоспарланған біраз бөлігінде пайдаланылатын болса, онда оларды алдын ала сертификттай және параметрлей отырып, берілген процессорлы ішкі жүйеге қосуға болады. Бұл енді, қолданбаға бағдарланған SoC тұғырнамасына ұқсай бастайды, бірақ мамандандырылу дәрежесі мен бағдарлану толығымен жобалық топтың бақылауында болады және де шығынды төмендететін болса, қалаулары бойынша кеңейтілуі мүмкін.
Алдында жаңа SoC құру міндеті тұрған жобалық топ сыртқы тұғырнаманы (Philips немесе TI сынды жартылайөткізгішті жеткізушіден не PrimeXSys [11] тұғырнамасы бар ARM сынды IP жеткізушісінен) пайдалану мен алуды және блоктық амалдарды пайдалану немесе бәрін басынан бастаудың орнына берілген тұғырнама негізінде SoC-ті өңдеуді шеше алады. Бұрынырақ талқыланған Xilinx сияқты қайта конфигурацияланатын тұғырнамалар жеткізушілерінің «екі қатпарлы» тұғырнамалары, өз кезегінде, FPGA кемшіліктерін икемделу мен өнімді жылдам құру артықшылықшылықтары бағасы, өнімділігі мен қуаты бойынша ауыстыратын кейбір қолданбалы аймақтарда өте қызықты мүмкіндіктерді ұсынады.
Ip кітапханаларға қойылатын талаптар
IP кітапханаларға қойылатын талаптар, жалпы көп ретті пайдаланудың әр түрлі үлгілеріне қатысты қатты өзгере қоймайды. Барлық жағдайларда барлық блоктар IP модельдерінің толық жиынтығымен, құжаттамалармен және сәйкес келетін стандарттарды талап ететін басқа да нәрселермен берілуі керек. Олар Design and Reuse-те [13] сипатталған немесе зерттеу жобаларымен (ТООLIР секілді [14]) құрылған коммерциялық сұлбалар негізіндегі жылдам іздестіруді қолдау үшін иерархиялық түрде ұйымдасуы және саралануы қажет. Ақырында, IP блоктар жайлы мета-мәліметтер («мәліметтер жайлы мәліметтер» ‒ жылдам сәйкестендіруді (идентификацияны), баға мен іздестіруді қолдайтын құжаттамалық ақпарат) жылдам іздестіру мүмкіндігімен мәліметтер қорына ұйымдасуы қажет.
Алайда, блоктық амалға қарама-қарсы тұғырнамалық жобалауда, IP кітапханалардың бөлек блоктар базасында ғана емес толық тұғырнама базасында да сақтауды, шығаруды, іздестіруді қолдағандары да маңызды. Басқаша айтатын болсақ, бағдарламалық және аппараттық тұғырнамалармен бірге пайдалану үшін мамандырылған виртуалды құраушылар блоктарынан тұратын тұғырнама біртұтас іздестіруге мүмкіндік беруі және сақталуы қажет: иерархиялық мәліметтер қорының мүмкіншілігі қөмегімен, тұғырнама кітапханасын құраушы индивидуалды құраушылар бір-бірімен және тұғырнаманың өзімен байланысты болуы қажет. Процессорлы және стандартты интерфейстер сияқты жалпы функционалды блоктар бірнеше тұғырнамаларға кіруі мүмкін екендігі белгілі; сондықтан блок туралы ақпаратты бір рет сақтауға және оған рұқсат бірнеше әр түрлі жолдармен (SoC жобалаудың блоктық үлгісіндегі бөлек блоктар мен тұғырнама бөлімдері сияқты) болатын мүмкіндігі бар мәліметтер қорының сұлбасын иемдену өте маңызды. Сондықтан жобалық топ нақты блок негізінде оның қандай тұғырнамаларға жататынын, тұғырнаманың тіркелген архитектурасының бөлігі болатын/болмайтынын немесе тұғырнаманың айнымалы кітапханаларына жататын/жатпайтындығын анықтауға қабілетті болуы тиіс.
ІР блок үшін біріктіру архитектуралары
және оның салдары
Заманауи SoC архитектуралары чиптегі стандартты шиналардың дәстүрлі иерархиясын қолданады. Мысалы, ARM-нен AMBA, IBM-нен CoreConnect түріндегі стандарттар негізіндегі процессорлы шиналар, жоғарыжылдамдықты жүйелік шиналар және сыртқы (периферийный) шиналар, сондай-ақ master-slave стандартты шинасы. Жақында пакетті технологияға негізделген (packet-switching) чиптегі желі түріндегі коммуникационды архитектураларға үлкен қызығушылық пайда болды; әдебиетте бұл тақырыпқа сәйкес келетін көптеген тәсілдер көрсетілген, бірақ ол жоғары оқу орындарындағы сияқты, өнеркәсіптік зерттеу зертханаларында да негізінен зерттеушілер тақырыбы болып қала береді.
SONICS-те өңделген және қазір OCP-IP стандартымен қолдаулы Open Core Protocol протоколы SoC біріктіру архитектураларына «коммуникацияға бағдарланған» тәсілін ұсынады – ол SoC коммуникацияларынң стандартты жұйелерінде жиналады және осы ІР блоктардың әр түрлі желілерінің бейімделуінің «бағдарланғандарды-процессорға» SoC амалдарында қабылданған процессорлы блоктары сияқты функционалды блоктарға негізделген дәстүрлі акценттен айырмашылығы.
SoC коммуникациясының желісіне назар аудару SoC архитектурасындағы негізгі мәселе сияқты дәйекті болып көрінеді. Оны ОСР мысалындағыдай чиптегі желінің даму бағытында анық байқауға болады. Негізгі себебі, қажетті орындау мүмкіншілігі және чиптегі коммуникация кідірісі жеке ІР блоктың тез әсер етуі сияқты SoC-тың тез әсер етуіне осындай дәрежеде ықпал етеді. Егер коммуникационды желі нашар жобаланған болса, онда SoC берілген спецификацияларға лайықты бола алмайды және бұған басқа ІР блоктарды алмастырып қою көмектеспейді. Мәселені тек коммуникационды желіні қайтадан толық тексеру арқылы шешуге болады. Сондықтан желі топологиясын, иерархияны (қабаттың саны және түрі), коммуникацияның егжей-тегжейлі (детальный) протоколдарын және желінің нақты конфигурациясын таңдау SoC жобалауының негізі болып барады.
SoC-тың 10-20 блоктар жинағынан 50-100 блоктар жинағына, одан әрі жүздеген жеке ІР блоктарға ауысуынан кейін жеке блоктың тез әсер етуімен салыстырғанда блоктардың арасындағы байланыс (ІР блоктар деңгейіндегі байланыс) басты мәселеге айналып барады. Осы жағдайда SoC жобалауы, логикалық элементтің (gate) кідірісін аралық байланыс кідірісімен салыстыруы бойынша қатыстық өзгерістерін анағұрлым жоғары деңгейде белгілейді. Біз ИС сандық жобалауындағы 500 нм-ден 350,250,180,130 және қазіргі уақытта 90 нм-ге дейінгі ауысуды бақыладық. Бұл ауысу чиптегі коммуникацияның және блок ішіндегі есептеудің қатысты маңыздылығының өзгеруі.
Сөйтіп, минималды өлшемдердің азаюымен және чиптегі коммуникацияның сенімді желілерін құру тапсырмаларының күрделенуімен, чиптегі коммуникация желілерін жобалау маңыздылығы артады, соның ішінде коммуникация жобалауының асинхронды үлгілері күрделілігін синхронды түрімен салыстыра отырып қайта қарау мүмкіндігі.