HDL Programming Fundamentals: VHDL and Verilog

In This Chapter
Understand the concept of mixed-language description.
Learn the advantages of mixing between VHDL and Verilog modules.
Learn how to invoke a Verilog module from a VHDL module.
Learn how to invoke a VHDL module from a Verilog module.
Learn the current limitations of mixed-language descriptions.
To write HDL code in mixed-language, the simulator used with the HDL package should be able to handle a mixed-language environment.
In the mixed-language environment, both VHDL and Verilog module files are made visible to the simulator.
In the mixed-language environment, both VHDL and Verilog Libraries are made visible to the simulator.
At the present time, the mixed-language environment has many limitations; but the development of simulators that can handle mixed-language environments with minimal constraints is underway. One of these major constraints is that a VHDL module can only invoke the entire Verilog module; and a Verilog module can only invoke a VHDL entity. For example, we cannot invoke a VHDL procedure from a Verilog module.
Mixed-language description can combine the advantages of both VHDL and Verilog in one module. For example, VHDL has more-extensive file operations than Verilog, including write and read. By writing mixed-language, we can use the VHDL file operations in a Verilog module.
As mentioned, when writing VHDL code, you can invoke (import) a Verilog module; if you are writing Verilog code, you can invoke (import) a VHDL entity.