FPGA Insights has engaged in an exclusive interview with Shyam Kumar, ASIC/FPGA Engineer at Ciena
Q1) Can you provide an overview of your organization and the services/products it offers?
I am working as an ASIC/FPGA Design Engineer. I am involved in a team of engineers to carry out FPGA development and its verification and also engaged with board design as well as the diag team for the proper deployment of our products.
Q2) Can you explain the benefits of using FPGAs over other types of processors?
There are a number of advantages that make FPGAs very attractive in various applications, but in my opinion, these four major advantages play a bigger role in FPGAs’ popularity over others:
- Simpler Design Cycles: Compared to ASICs, FPGAs have simpler design cycles meaning the design tools take care of the major function by themselves including placement, routing, and timing in reference to the specifications you have set for it. As such, they require almost little to no manual intervention when converting the program code into a downloadable design. If the design does not perform as expected, a new downloadable code can be prepared in a matter of hours – making the entire design cycle simple and quick.
- Adaptability: Because of their reprogrammability, FPGAs enable you to adapt and modify at the level of the customer rather than recreate the product whenever you need to make any updates. Even after the product has been finalized, developed, and delivered, you can update it and adapt it to the needs of the customer with minimum fuss.
- Real-Time Application: As mentioned before, FPGAs are perfect for time-critical systems due to their more efficient processing architecture. As such, they are ideal for real-time applications as they can perform more processing in a shorter period of time as compared to other alternatives in the market.
- System on Chip: Since now the FPGAs have become larger in terms of gate count. This made it possible to include CPU cores inside the FPGA – from a single core to a multiple number of cores, alongside a custom hardware code. By combining CPU cores and hardware code in a single chip the FPGAs function as a system on chip.
Q3) What are the most significant trends observed in the FPGA industry over the past year? How will these trends shape the industry’s future?
The common trends for FPGAs in the last couple of decades have been:
- Fast and inexpensive prototyping of digital systems — due to reconfigurability, which allows for cheap correction of errors or applying upgrades to the system.
- Implementing “custom” digital systems tailored to specific problems, often operating in parallel.
- Doing small quantities of systems (when the cost of developing an ASIC is not compensated due to the small number of units fabricated).
Nowadays it is common to see:
- Small or medium-scale FPGAs are attached to microcontrollers (or microprocessors) to implement certain digital functions at high speed, eventually several units operating in parallel. There are quite inexpensive amateur maker boards with both an FPGA and a microcontroller.
- Large-scale FPGAs are available in servers in large data centers, also for speeding up certain functions (often related to machine learning or data mining).
Q4) How do you see FPGA development evolving to meet the demands of modern applications and complex workloads?
The FPGA industry is expanding both in market share and in innovation to meet the demands of modern applications and complex workloads. The modern FPGAs come with advanced technologies and support for high computing speeds, more connectivity options, high-security features, and high bandwidth support.
FPGAs are tailored for current industrial applications and market needs, with all these features being present and faster performance available onboard making them a better choice to include them in an increasing number of applications in the upcoming years.
Q5) Key drivers behind the increasing adoption of FPGAs in various applications and industries?
The advantages provided by FPGAs are enough to increase their absorption in various applications and industries, some of these are:
- Better Performance:
- One of the first advantages of FPGA is performance. A general CPU is unable to perform parallel processing, giving FPGAs the upper hand as they can perform processing and calculation in parallel at a faster rate.
- Carefully designed FPGA can execute any function faster than a CPU which is running software code in a sequential fashion. FPGAs have additional gates and wiring that allow them to be flexible and programmable. This overhead comes with a cost and therefore makes FPGAs run slower than ASICs.
- One of the greatest advantages that FPGAs have over any other alternative is the fact that they are reprogrammable. This means that even after the circuit has been designed and implemented, FPGAs can still be modified, updated, and completely change their functionality to perform a completely different task than before.
- Reprogrammability reduces the efforts and cost required for the long-term maintenance of these chips. You do not need to invest in replacing or redesigning new hardware when the old one becomes out of date — you can simply update its code and program it in the field with the new functionality.
- Cost Efficiency:
- Since FPGAs can be reprogrammed again and again they prove to be extremely cost effective in the long run even though they may pose higher unit costs. This is clearly one of the advantages of FPGA architecture.
- They rid you of the need to cover recurring bug-related costs that you may get stuck paying if you were to opt for an ASIC.
- ASICs also have heavy non-recurring expenses which are skipped altogether when it comes to FPGAs in addition to the fact that you do not require the use of any costly and expensive tools to design or configure your FPGA chip. ASICs also prove to be more expensive in the long run as they must be completely redesigned along with hardware if updates and enhancements are needed. FPGAs do not share these costs as they can be reprogrammed for next to nothing.
So in conclusion FPGA provides all the necessary facilities required by industries to meet the demand-supply requirement in a shorter, better, and cost-efficient manner.
Q6) Sectors that stand to benefit the most from FPGA integration, and why?
In this modern era, no industry is untouched by the involvement of FPGAs. I am mentioning a few of these industries that still have immense scope for FPGA applications:
- Supporting real-time systems:
- In real-time systems, when response time is critical, FPGAs are utilized. Response times in conventional CPUs are unpredictable, so it’s impossible to estimate precisely when you’ll hear back once the trigger fires. Real-time operating systems are employed to maintain reaction times within predetermined bounds.
- In situations where a quick response time is required, this falls short. Systems must implement the requested method in an FPGA utilizing combinational or sequential circuitry to address this issue and guarantee a constant response time.
- Once it is prepared, a real-time system like this can be changed and put into production using an FPGA.
- Aerospace and defense use cases:
- To meet the performance, reliability, and lifespan requirements of harsh environments while offering greater flexibility than possible with conventional ASIC implementations, industrial manufacturing companies offer rad-hard and rad-tolerant FPGAs, which are often space-grade. Rad-hard reconfigurable FPGAs are suitable for processing-intensive space systems.
- Usage in communications and software-defined networks (SDN):
- Software-defined networks (SDN) and other algorithms like Fast Fourier transform (FFT) must be put into an FPGA to be used in a complex, real-time context.
- A radio’s standard components include an antenna for receiving and transmitting signals and network hardware for processing them by filtering them, changing their frequency, etc.
- This hardware couldn’t alter the functions for which it was intended fundamentally.
- Today, a large portion of this functionality is moved to an electronic device, which is frequently an FPGA. The analog part is commonly restricted to antenna, ADC, and DAC converters.
- FPGAs in data centers and cloud:
- The Internet of Things (IoT) and big data are generating an exponential growth of the data acquired and processed.
- This, combined with computational analysis of the same through deep learning techniques of multiple operations parallelly, is leading to a high demand for low-latency, flexible, and secure computational capacity.
- It cannot be resolved by adding more servers due to the increasing space costs. As a result of FPGAs’ ability to accelerate processing, flexibility in design, and security that the hardware provides against software, the doors to the world of the data center are being opened to them to a significant degree.
- Computer vision systems:
- In the modern world, computer vision systems are found in many gadgets. Video surveillance cameras, robots, and other devices are examples of this. An FPGA-based system is often needed for many of these gadgets for them to be able to act and interact with people in a way that makes sense, given their position, surroundings, and facial recognition capabilities.
- To use this function, many photos must be processed, with most of these operations being done in real-time, to detect objects, identify faces, etc.
Q7) The role of FPGAs in accelerating AI applications and advancements expected in the near future.
When we talk about modern AI, we usually talk about one of three things: the general idea of artificial intelligence, machine learning, or specifically deep learning. Artificial Intelligence, machine learning, deep learning.
The general idea of Artificial Intelligence, with machines possessing the intelligence of humans, has been around since at least the middle of the 20th century.
Machine learning blossomed much later, starting in the 1980s. Machine learning is based on parsing data, learning from it, and using that knowledge to make certain predictions or “train” the machine to perform specific tasks.
For learning, machine learning systems use different algorithms: clustering, decision trees, Bayesian networks, and so on. Deep learning is basically an approach to machine learning.
An important part of it is neural networks, resource-hungry and complex learning models that were nearly impossible to use for real-world tasks before the first GPUs and parallel task processing were invented.
The process of using a neural network model can be split into two stages: the development, when the model is trained, and the runtime application when you use the trained model to perform a particular task.
For instance, let’s consider image recognition tasks. In order to be able to distinguish, for example, different types of road signs, a neural network model must process lots of pictures, reconfiguring its internal parameters and structure step by step to achieve acceptable accuracy on training sets.
Then the trained model is shown a picture and has to identify what kind of a road sign is in it. Check out our article to learn more about artificial intelligence image recognition processes.
This is where FPGAs come into the picture. To be successful, inferencing requires flexibility and low latency. FPGAs can solve both of these problems. The reprogrammable nature of an FPGA ensures the flexibility required by the constantly evolving structure of artificial neural networks.
FPGAs also provide the custom parallelism and high-bandwidth memory required for real-time inferencing of a model. One more plus is that FPGAs are less power-hungry than standard GPUs.
FPGA-based systems can process data and resolve complex tasks faster than their virtualized analogs. And while not everyone can reprogram an FPGA to perform a particular task, cloud services bring FPGA-based data processing services closer to customers.
Some cloud providers are even offering a new service, Acceleration as a Service (AaaS), granting their customers access to FPGA accelerators.
Q8) Ensuring the security and integrity of FPGA designs, especially in sensitive applications like finance and defense.
As I mentioned earlier for aerospace and defense security, the FPGAs meet the performance, reliability, and lifespan requirements of harsh environments while offering greater flexibility than possible with conventional ASIC implementations, industrial manufacturing companies offer rad-hard and rad-tolerant FPGAs, which are often space-grade.
Rad-hard reconfigurable FPGAs are suitable for processing-intensive space systems. In addition to that, equip firewalls and network isolation mechanisms to protect the FPGA systems from illegal access. Implement thorough recording of all access to and modifications to FPGA settings and keep a close eye on these logs for any indications of illegal or questionable behavior.
So FPGAs have a lot to offer in these sensitive applications as well. Also, improvements can always be made for the betterment of every aspect to ensure security and privacy.
Q9) Advice for students and professionals interested in pursuing a career in FPGA development to stay updated with the latest trends and technologies.
For students, I would say:
- Learn to use any of the FPGA tools like Xilinx ISE/Vivado, and Altera Quartus – Learn overall flow in the FPGA design process. (All of these tools are either free or have student discounts)
- Buy an FPGA board or borrow one from your college labs (For low-cost FPGA boards in India, I would suggest Mimas V2) and compile RTL to the bin and write, and verify.
- Learn Protocols such as UART, I2C, AMBA, PCIE, DDR interface, etc (You can find these commonly required protocols in any FPGA developer job description).
A consistent hunger towards learning is key to progress so make yourself available for new learnings every day and enjoy.