I have been reading about FPGAs recently and found that they have a lot of applications in many fields. I also read an article that they are used for testing purposes alone. Are FPGAs only for that? Also please tell me the disadvantages of the FPGAs compared to the ASICs. Are FPGAs slowly being used more in many fields like military, space, image processing etc? Are they very useful compared to the ASICs?
I also read an article that they are used for testing purposes alone.
That is so ridiculous that I think you misunderstood the article. FPGAs are used for various applications, including data processing in specialized applications, and as glue logic in low volume applications where developing a fixed function ASIC would not be viable. Open up all kinds of electronic equipment and you will find an FPGA, or often many.
Also please tell me the disadvantages of the FPGAs compared to the ASICs.
Compared to an ASIC implementing the same function, an FPGA is slower, uses more power and costs more money per unit. The advantage is that it is much cheaper in low volumes and can be reprogrammed inexpensively.
Are FPGAs slowly being used more in many fields like military, space, image processing etc?
They have already been widely used in those fields for decades, although use in space can be tricky due to radiation hardness.
No, FPGAs are used in lots of different products from consumer electronic displays to video / image processing. They are also used in automotive & aerospace vehicles.
Earlier in FPGA's life I believe they were more likely used for lower volume products, but potentially down to us improving production processes and reducing volume costs they are totally viable for volume productions.
The cost of going from a design concept to an ASIC is horrendous and easily goes into 100ks$ to 1000ks$ range. Here I am referring to the money we pay to a company to manufactuer our ASICs. Once manufactured the design inside ASIC is fixed and cannot be improved or easily changed to fix any errors discovered later. However, provided that we mass produce the ASIC then the cost per unit becomes quite low. This is a whole science and I will not go into the details.
The thing called FPGA today started off a few decades ago where devices were developed that contained a small number logic gates that we could connect in an arbitrary order by "configuring them". In the beginning this process was "one time only" but later devices could be "congfigured" more than once. This created some ease in developing digital circuit implementation. Today's FPGAs are descendants of those devices but have a lot more resources then just logic gates and instead of having a few gates, they can easily have millions of them.
FPGAs are often used to "prototype" an ASIC design before we commit to getting the ASIC manufactured. This makes it easy to test and verify our design before we sign the paper to get the ASICs manufactured and end up paying 100ks$ to 1000ks$. However, as others have mentioned this is not always the case anymore. Now a lot of designs are implemented in FPGA and shipped to customers. Although the per unit cost of FPGA for given amount of logic resource would usually be higher than equivalent ASIC depending on the manufacture volume, the ability to be able to "upgrade" the design or "fix faults" in it once the product is shipped into the field and user by customer is a very powerful features of the FPGA.
FPGAs certainly cannot beat ASICs all the time. However, they can certainly help significantly if the production volume of our design is not in 100ks or 1000k+ of units. There are few things that FPGAs cannot achieve that ASICs can with some effort. ASICs can combine analogue and digital parts onto a single IC for a specific application. FPGAs are quite flexible in what they contain but they mostly contain resource to implement digital circuits. Another thing is power dissipation. FPGAs will ususally be more power hungry then ASICs for a given design. Also, FPGAs can be run at 100s of MHz clock frequency at most. However, ASICs can be designed to run in GHz range.
Engineering is all about trade-offs. Sometimes an ASIC will be the better option to implement the final design and FPGA will still be used for design testing and verification. At other times, the final product will contain FPGA instead of ASIC. FPGAs have come a long way in the last 20 years I must say due which they have moved into the "brain" of complex digital circuits whereas before they just worked as a "helper" for an ASIC or Processor. This has become possible only due to the massive increase in resources they can provide.