FPGA…from Gates to Space
Many engineers and students think that FPGAs are just used for prototyping or small projects for students to learn. This post is to help…
FPGA…from Gates to Space
Many engineers and students think that FPGAs are just used for prototyping or small projects for students to learn. This post is to help readers to change their thought and to know more about how powerful FPGAs can be…Let’s goo😉
What are FPGAs?

Field Programmable Gate Array (FPGA) is an electronic circuit with special characteristics. The most important one of them is what its name implies…Programmability.
But no, we don’t write a software code to program a processor to do a certain task we ask it to do, although it can appear to be.
Programmability here belongs to the programmability of the inside connections of the circuit. The magic happens when the same IC you hold, can change its inside connections without resending it to tapeout as ASIC chips require. And the thing that controls this behavior is called Bitstream. It is the thing that controls how these connections are shaped and what functions are implemented on this very design.
Who generates the Bitstream?🤔
It’s you…through the HDL lines you give to your FPGA toolchain, bitstream is generated and everything is instantaneously loaded.
So eventually, you aren’t writing any programming languages and there is no processors to be programmed. That should clear what programmability in FPGAs means. But is it worth?
Step 1: Logic Gates
Excelling in FPGAs and knowing what are their biggest powers require you firstly to go through some basic, but essential steps, to stand on a strong foundation.
As discussed earlier, FPGAs can change the design they behave as according to the HDL of the design to be deployed. That said, smallest digital design are definitely “Logic Gates”.

This can be a great opportunity for beginners to exercise building primitive units functions and watching their custom gates output appearing on whatever LEDs are there on their FPGA PCB. But we aren’t here for that…
Step 2: FPGA IPs

It doesn’t make sense to rely on implementing gates only when dealing with such powerful chips such as FPGAs. Thus, the next step one may want to learn and practise is to make use of his gates to create standalone block. The thing that is referred to here as FPGA IPs.
Once you were able to create logic gates, you had passed the first step, after which you can now assemble your logic, create more complex designs to test on your chip.
But you don’t have to go too far, what is meant by IPs here is basic blocks that are used in most of complete designs e.g. RAMs, synchronizers, serial and parallel interfaces, etc.
They can also be small custom blocks that are employed in a bigger design utilizing them for a certain purpose e.g. MVAU, FPU, etc.
Step 3: Wrapping things up
If you are a good learner, you should think now: “Am I just going to implement submodules on this stuff?”
The answer is a strong No. Many students at the beginning of their learning journey think that FPGAs are just for learning, prototyping designs or for checking what is to be sold as ASIC product on hardware. And this only a part of the case. You can create a fully standalone project on FPGAs.
FPGAs are ideal for researchers due to their price for non-massive production. As in this paper , a completely pure-hardware YOLO system was implemented without the need to any external help. The thing which leverages the high potential of FPGAs in the research field.
GitHub Repository: https://github.com/m7md5303/pure-hardware-YOLO-inference/tree/main
FPGAs can provide higher reliability than ASICs in some cases. Due to the fact they are reconfigurable, faulty designs or latent bugs can be easily fixed with deployment of the correct bitstream which is much cheaper and more efficient than spending months and dollars for getting a new chip.
Step 4: Hardware/Software Co-design

This is the unexplored world from most of learners, where both hardware and software live in the same design. You can know more from my past article here. How can this be related to FPGAs?
Hardware/Software Co-design was revealed many years ago, more specifically in the last century 90s. However, its powerful outcomes in research and industry relied in many cases on FPGAs…
But where is the software side? Haven’t we said that FPGAs are for implementing hardware design as ASICs??
This is why most learners underestimate FPGA capabilities. They haven’t been exposed to such a technique. I will answer the question briefly, since this is not the main topic of this article.
Processors themselves are hardware designs that are capable of running a software code. That said, if you have a platform that can host hardware designs (FPGAs), you can easily design your processor (software side) besides your other hardware designs (hardware side) on the same chip.
Additionally, some vendors currently put a physical processor connected with the FPGA through some interconnect to allow for users to apply Co-design on their products.
All of these would have been too complex to implement if FPGAs didn’t exist. You would have to manufacture your own SoC or discretize your components which would affect badly your overall performance.
Step 5: Going to the Space
🚀🚀
After Step 4, you are able to build complete systems using only FPGA. This may be good for most of cases. But not for engineers who always like to develop their products and create new technologies from the simple blocks they have.
Hence, you can conclude that the next step is to deploy your implemented system on FPGA in a bigger and more complex one. And this is not an impossible mission or hard one to achieve. It is a reality…flying above you in the Space…

Satellites do have FPGAs on their bodies. They are used for many tasks whether for data processing or critical control. What I want to say here is although satellites is a standalone system and FPGAs can have a complete system deployed as well, FPGAs are now a part of a bigger system internally performing whatever required from them, communicating with the bigger hosting system for them, Satellites, and in the same time dealing with the most difficult environment for devices…Space
Conclusion
At the end of the post, one can conclude that FPGAs aren’t just for students to do simple logic and reusable IPs. They do allow for more than that, implementing more complex designs till being embedded in a Space-qualified system.
메타데이터
- post_id
- a15a3dedbb04
- slug
- fpga-from-gates-to-space-a15a3dedbb04
- url
- https://medium.com/@m7md5303/fpga-from-gates-to-space-a15a3dedbb04
- canonical_url
- https://medium.com/@m7md5303/fpga-from-gates-to-space-a15a3dedbb04
- author_url
- https://medium.com/@m7md5303
- status
- ok
- fetched_at
- 2026-06-17 08:20:12