HDL Programming Fundamentals: VHDL and Verilog

Chapter 9: Mixed-Language Descriptions

OVERVIEW

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.

9.1 HIGHLIGHTS OF MIXED-LANGUAGE DESCRIPTION

Facts

  • 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.

9.2 HOW TO INVOKE ONE LANGUAGE FROM THE OTHER

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.

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Programmable Logic Controllers (PLC)
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.