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

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

قطعا FPGAهایی که برای کارهای پیشرفته در حوزه صدا و تصویر استفاده میشوند باید دارای تکنولوژیهای بهروز باشند. همین امر موجب شده تا شرکت صمیم بر روی محصولات خود از آخرین نسل برنامهنویسی FPGAها استفاده کند. بدون شک کار با FPGAهای خانواده Ultrascale+ و همچنین استفاده از MPSoCهای بسیار قدرتمند و پیشرفته Zynq سری EG و EV از خانواده Ultrascale+ در شرکت صمیم، فضای کاری دلپذیری برای متخصصان توسعه 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 نیز بهره گرفته شده است.

به طور مثال، در توسعه هستههای پردازش تصویر، هستههای مرتبط با RAM و هستههای پردازش بستههای شبکه، از ابزار HLS شرکت Xilinx استفاده میشود. با بهکارگیری این ابزار، توسعه طراحیهای مختلف در FPGA در سطوح بالاتر تجریدی و به زبان C انجام میپذیرد و خروجیهای RTL بهصورت خودکار استخراج میشود. با استفاده از pragmaهای مختلف میتوان ابزار سنتز را برای دستیابی به معماریهای مختلف در پیادهسازیهای RTL هدایت کرد. با استفاده از ابزار HLS در زمان خیلی کمتری میتوان فضای حالت طرح از نظر معماریهای مختلف را جستجو و نتایج را با هم مقایسه کرد. همچنین time-to-market به میزان قابلملاحظهای کاهش مییابد.
مدیریت فرایند
شرکت صمیم از معدود شرکتهایی است که در ورکفلوی تیمهای برنامهنویسی FPGA خود از متد Agile استفاده میکند. همچنین برای نگهداشت و کنترل ورژن کدهای برنامهنویسی FPGA نیز از روشهای بهروز مبتنی بر گیت با نوآوریهای منحصربهفرد شرکت صمیم استفاده میشود. در واحد توسعه FPGA، با استفاده از روندهای CI/CD، امکان تجمیع و تحویل مداوم کدها در اکوسیستم تولید محصولات فراهم آمده است.
HDسازی شبکههای تلویزیونی با شرکت مهندسی صمیم
با استفاده از مکانیزم Continuous Integration، توسعهدهندگان بهصورت مستمر کدهای خود را در مخزنهای مشترک بارگذاری نموده و ضمن بررسی عدم ناسازگاری بین این کدها و کدهای موجود در مخزن که همیشه بهروز هستند، امکان تست کدهای تجمیعی بهصورت مستمر فراهم میآورند. این فرایند ضمن تسهیل توسعه محصول توسط چندین توسعهدهنده باعث میشود بسیاری از خطاها در مراحل اولیه تشخیص داده شوند. در این مرحله، انواع بیلدها و تستها بهصورت اتوماتیک و مستمر و توسط سرورهای کانفیگ شده در شرکت انجام میشوند. از طرف دیگر، Continuous Delivery باعث میشود تغییرات مختلف اعمالشده در کدها از جمله افزودن ویژگیها و رفع باگها، به صورت سریع و قابلاعتماد به واحد تولید تحویل داده شود. این مسأله با اطمینان از اینکه نسخهای از کدها همیشه در وضعیت قابل تحویل است، محقق میشود. در این راستا، انواع پکیجینگها برای رساندن خروجیها به واحد تولید نیز بهصورت کاملاً خودکار انجام میپذیرد.