The world of HDL (Hardware Description Language) is divided between two, VHDL Vs Verilog. Some people may believe that Verilog is best suited for ASIC and FPGA development and some believe that VHDL is a much superior programming language.
This debate has been carrying on for the past few decades now. And it does not look likely to stop anytime soon
The Base of Everything
HDL (Hardware Description Language) is similar to programming languages but not the same. Programming languages are used to build software, whereas we use a hardware description language to describe or express the behavioral characteristics of digital logic circuits.
Doubts & About of VHDL
VHDL is a rich and strongly typed language, deterministic and more verbose than Verilog. As a result, designs written in VHDL are considered self-documenting. Its syntax is non-C-like and engineers working in VHDL need to do extra coding to convert from one data type to another. VHDL often catches errors missed by Verilog. VHDL emphasizes unambiguous semantics and allows portability between tools.
Many people find VHDL to be much more verbose than its counterpart in Verilog and you end up having to write many more lines of code when compared with the other option a major benefit of this verbosity and a non C like syntax is that it flows much more naturally and thus, you may find it relatively easy to use. So, while you may find that the code written with VHDL as the programming language is longer and takes up more space, it also tends to flow better and is easier to understand as you read it.
Doubts & About of VERILOG
Verilog is a Hardware Description Language; a textual format for describing electronic circuits and systems. Applied to electronic design, Verilog is intended to be used for verification through simulation, timing analysis, test analysis (testability analysis and fault grading), and logic synthesis.
Verilog is much better suited if you are looking to model at a low level. The reason behind this is that Verilog was initially created for the sole purpose of modeling and simulating logic gates which is why it has special functions to allow you to run basic primitive simulations using Verilog code to determine what will happen in a given scenario. Verilog also allows you to define your primitives, a feature called user-defined primitives.
VHDL has a library management system that contains compiled architectures, packages, as well as configurations that can be accessed by the user on top of the code. This simplifies the process of creating complex hardware systems in FPGA.
On the flip side, Verilog is not as suited for high-level hardware modeling as it does not support complex data types but rather only delves into the simpler ones. Add to that the fact that users are not allowed to define their own data types in this language.
In nutshell, it is advised that you dabble in and practice with both Verilog and VHDL at some point in your life as you are bound to encounter them in this field. The best idea is to code using them yourself practically and practice each of the languages to determine which one works best for you. So choose a language based on the trend and area of your work.