اینجا صمیم؛ همراه با تیم توسعه برنامه نویسی FPGA

امروزه تکنولوژی به شکلی غیرقابل انکار در حال پیشرفت بوده و صنایع گوناگون برای جا نماندن از این قافله، باید سرعت رشد خود را به میزان قابل توجهی افزایش دهند. قاعدتا صنعت برودکست نیز از این قاعده مستثنی نبوده و فناوری به کار رفته در محصولات و خدمات این حوزه با سرعت شگرفی در حال توسعه می باشد . گروه مهندسی صمیم به عنوان بزرگترین شرکت ایرانی فعال در این صنعت، همگام شدن با تغییرات روز دنیا را به عنوان استراتژی اصلی خود در نظر گرفته است. به همین منظور تیم توسعه برنامه نویسی FPGA صمیم که از نخبگان صنعت برودکست به شمار می روند، همواره در تلاشند تا با مطالعه تغییرات روز این صنعت، محصولاتی درخور توجه و هم تراز با نمونه های باکیفیت خارجی طراحی نمایند.

در این مقاله به فعالیت های مرتبط با به کار گیری تکنولوژی های به روز قابل استفاده در FPGA ها جهت راه اندازی محصولاتی جدید در حوزه صنعت برودکست و شبکه، معرفی ابزارهای پیشرفته نرم افزاری و سخت افزاری مورد نیاز و مدیریت فرایند های این واحد به صورت Agile با استفاده از نرم افزار های مدیریت جریان کاری و برنامه نویسی پرداخته خواهد شد.

کاربردها

تیم توسعه برنامه نویسی FPGA‌ شرکت صمیم در حال حاضر بر روی توسعه محصولات این شرکت در دو حوزه برودکست و شبکه فعالیت می کند. این واحد علاوه بر بهبود محصولاتی که قبلا به بازار ارائه شده اند در حال کار بر روی کارت هایی می باشد که امکان کار با پروتکل های شبکه 100G‌ را داشته و همچنین از تصاویر 4K‌ پشتیبانی می کنند. مشخصا کار بر روی حوزه هایی که در دنیا مرز تکنولوژی محسوب می شوند نیازمند بهره گیری از حداکثر توان FPGA می باشد و  در این راستا، از حداکثر توان ترنسیورهای پر سرعت، DDR کنترلر ها، هسته های CODEC تصویر، هسته های پردازش صدا و تصویر و… به صورت تخصصی در شرکت صمیم استفاده می شود. همچنین این واحد در حال پیاده سازی نهایی استاندارد SMPTE 2110 می باشد که فعالیتی بی نظیر در داخل کشور در حوزه صدا و تصویر است.

برنامه نویسی fpga

از جمله محصولات شاخص شرکت صمیم می توان به میز میکسر تصویر اشاره کرد که دارای پیچیدگی های فراوانی در بحث پردازش صدا و تصویر می باشد. برقراری ارتباط با واحدهای مختلف، استفاده از پروتکل های متنوع و هماهنگی بین قسمت های مختلف این سیستم که باید بدون هیچ خطایی در کاربرد های حرفه ای به صورت 24/7 کار کند، نیازمند تیمی متخصص و قدرتمند در این حوزه می باشد. شرکت صمیم با نهایی کردن تولید میز میکسر و عرضه آن به بازار سبب شده تا تکنولوژی ساخت این محصول که در آسیا منحصرا در اختیار کشور ژاپن بوده، حالا با افتخار در اختیار کشور عزیزمان ایران نیز باشد.

تکنولوژی و ابزار توسعه برنامه نویسی FPGA

fpga چیست؟

 

قطعا FPGA هایی که برای کارهای پیشرفته در حوزه صدا و تصویر استفاده می شوند باید دارای تکنولوژی های به­ روز باشند. همین امر موجب شده تا شرکت صمیم بر روی محصولات خود از آخرین نسل برنامه نویسی FPGA ها استفاده کند. بدون شک کار با FPGA های خانواده  Ultrascale+‌ و همچنین استفاده از  MPSoc های بسیار قدرتمند و پیشرفته Zynq‌ سری EG و  EV از خانواده Ultrascale+ در شرکت صمیم،  فضای کاری دلپذیری برای متخصصان توسعه FPGA می باشد و این متخصصان را در مرز فناوری هایی که در این حوزه در حال توسعه می باشد قرار داده است.

 

FPGA چیست

 

در شرکت صمیم طراحی یکپارچه سخت افزار و نرم افزار (Hardware-Software Codesign) با به کار گیری پروسسورهای امبدد در FPGA آغاز و با استفاده از SoCهای پیشرفته Toradex در کنار برنامه نویسی FPGA ادامه یافت. اکنون نیز از MPSoC های پیشرفته و به روز Zynq در محصولات شرکت استفاده می­ شود. تلاش برای بهینه ­سازی طراحی یکپارچه سخت افزار و نرم افزار همواره یکی از مراحل جذاب طراحی در محصولات شرکت صمیم است. استفاده از پلتفرم Zynq نیز فرصت جذاب راه ­اندازی لینوکس، درایورهای مختلف و انواع توسعه ­های سخت ­افزاری و نرم ­افزاری را با استفاده از ابزارهای Vitis و PetaLinux فراهم آورده است. شایان ذکر است که MPSoCهای Zynq از خانواده Ultrascale+، نسل دوم پلتفرم Zynq محسوب می شوند و ترکیبی از پروسسور چهار هسته­ ای Cortex-A53 64 بیتی، پروسسور دو هسته ­ای بی­درنگ Cortex-R5 و FPGA سری Ultrascale+ روی یک Die تجمیع شده ­اند که سرعت بالای ارتباط بین پروسسورها و FPGA مزیت نسبی فوق العاده ای برای کاربردهای متنوع پدید آورده است.

توسعه FPGA در شرکت صمیم محدود به زبان برنامه نویسی و ابزار خاصی نمی باشد. در کد های شرکت صمیم از تمام زبان های HDL از جمله Verilog , system Verilog , VHDL به فراخور استفاده شده است. همچنین از ابزار های پیشرفته ای همچون  High Level Synthesis ، HDL coder و system generator نیز بهره گرفته شده است.

 

FPGA چیست

 

به طور مثال، در توسعه هسته ­های پردازش تصویر، هسته­ های مرتبط با RAM و هسته­ های پردازش بسته ­های شبکه، از ابزار HLS شرکت Xilinx استفاده می­ شود. با به کارگیری این ابزار، توسعه طراحی­ های مختلف در FPGA در سطوح بالاتر تجریدی و به زبان C انجام می­ پذیرد و خروجی ­های RTL به صورت خودکار استخراج می­ شود. با استفاده از pragma های مختلف می ­توان ابزار سنتز را برای دست یافتن به معماری­ های مختلف در پیاده­ سازی­ های RTL مورد نظر هدایت کرد. با استفاه از ابزار HLS در زمان خیلی کمتری می ­توان فضای حالت طرح از نظر معماری­ های مختلف را جستجو نموده و نتایج را با هم مقایسه کرد. هم­چنین time-to-market به میزان قابل ملاحظه ­ای کاهش می­ یابد.

مدیریت فرایند

شرکت صمیم از معدود شرکت هایی  است که در  ورک فلوی تیم­ های برنامه نویسی FPGA خود از متد Agile استفاده می کند. همچنین برای نگهداشت و کنترل ورژن کدهای برنامه نویسی FPGA نیز از روش ­های به ­روز مبتنی بر گیت با نوآوری­ های منحصر به شرکت صمیم استفاده می­ شود. در واحد توسعه FPGA، با استفاده از روندهای CI/CD، امکان تجمیع و تحویل مداوم کدها در اکوسیستم تولید محصولات فراهم آمده است.

…..  HD سازی شبکه های تلویزیونی با شرکت معتبر صمیم  …..

با استفاده از مکانیزم Continuous Integration، توسعه دهندگان به صورت مستمر کدهای خود را در مخزن­ های مشترک بارگذاری نموده و ضمن بررسی عدم ناسازگاری بین این کدها و کدهای موجود در مخزن که همیشه به ­روز هستند، امکان تست کدهای تجمیعی به­ صورت مستمر را فراهم می­ آورند. این فرآیند ضمن تسهیل فرآیند توسعه محصول توسط چندین توسعه دهنده باعث می ­شود، بسیاری از خطاها در مراحل اولیه تشخیص داده شوند. در این مرحله، انواع بیلدها و تست­ ها به صورت اتوماتیک و مستمر و توسط سرورهای کانفیگ شده در شرکت انجام می ­پذیرند. از طرف دیگر، Continuous Delivery، باعث می­ شود تغییرات مختلف اعمال شده در کدها از جمله افزودن ویژگی­ ها و رفع باگ­ ها، به صورت کاملا سریع و قابل اعتماد، قابل تحویل به واحد تولید باشند. این مساله با اطمینان از این­که نسخه ­ای از کدها همیشه در وضعیت قابل تحویل هستند، میسر می­ شود. در این راستا انواع پکجینگ­ ها برای رساندن خروجی­ ها به واحد تولید نیز به صورت کاملا خودکار انجام
می پذیرد.