Question

In: Electrical Engineering

What are the differences between the programming languages of VHDL and Verilog? Why use one over...

What are the differences between the programming languages of VHDL and Verilog? Why use one over the other?

Solutions

Expert Solution

Verilog was the first hardware description language, it was proprietary and only used for simulation originally. It was designed to be like “C”: easy to code and run. At the lowest level of gates it is easier to read than a spice deck. To this day it is the preferred way netlists are transferred between tools.

VHDL was created as a cooperative standard HDL for design specification and simulation. It had to have strict type definitions, libraries and information hiding capabilities to be useful as a specification language. It is based on ADA, which is more like PASCAL than like the loosely typed “C” language of the time.

Synthesis tools first targeted VHDL since it was an open standard. Later Verilog was made open because people would not invest in a proprietary language. The synthesis tools then accepted Verilog as a HDL. Verilog has gone through iterations to add types like “signed” and “unsigned” and libraries.

I would say VHDL is a better language for system design and simulation because it is general. You could simulate a moon landing in VHDL because you can define arbitrary types and modify the event queue. But to use VHDL for synthesis you need to adhere to a small subset and particular types.

It takes longer to do a design in VHDL than in Verilog because VHDL does not have the simple semantics of “1=VDD” and “0=GND”. If you come from a schematic capture background or you need to do a lot of gate level design you would find Verilog easier to use.


Related Solutions

Explain the differences between MBR and GPT and why you might decide to use one over...
Explain the differences between MBR and GPT and why you might decide to use one over the other. This initial response must be a minimum of 150 words and address the question being asked.
It is standard in some programming languages for the number zero to represent one of the...
It is standard in some programming languages for the number zero to represent one of the truth values (either true or false) and for positive numbers to represent the other truth value. If assigned correctly, the operations of addition and multiplication will then correspond to conjunction and disjunction, in some order. Figure out how to make this all work out neatly.
You can use any programming languages Using a random generator, compute 1000 integers between 1 and...
You can use any programming languages Using a random generator, compute 1000 integers between 1 and 1000. There will be duplicates in the array. Sort the array using bubble sort and merge sort. The two sorted arrays should agree. Then pick at random one element from your sorted array and use a binary search to find its position in the array.
Discuss the differences between Excel and Access, when you would use one over the other and...
Discuss the differences between Excel and Access, when you would use one over the other and how/when you can use them together to achieve a goal.
*Explain the difference between procedural and nonprocedural languages. Use specific procedural and nonprocedural languages of your...
*Explain the difference between procedural and nonprocedural languages. Use specific procedural and nonprocedural languages of your choice to illustrate the difference. *Explain what is backtracking in Prolog systems, and why backtracking is necessary. *Explain resolution and unification in Prolog, and their relationship. *Write Prolog programs for the following problems: a) Reverse a list. b) Find the length of a list. c) Find the average of a list of numbers. *Write Scheme programs for the following problems: a) Reverse a list....
In many programming languages you can generate a random number between 1 and a limiting value...
In many programming languages you can generate a random number between 1 and a limiting value named LIMIT by using a statement similar to randomNumber = random(LIMIT). Create the logic for a guessing game in which the application generates a random number and the player tries to guess it. Display a message indicating whether the player’s guess was correct, too high, or too low. (After you finish Chapter 4, you will be able to modify the application so that the...
Looking into the future, describe one future technology and how you believe programming languages will have...
Looking into the future, describe one future technology and how you believe programming languages will have to adapt to make that technology successful
what are the differences between the existing , over- served , and non -customer categories ?...
what are the differences between the existing , over- served , and non -customer categories ? how does one grow or sustain a business in relation to each of these categories
Why are there differences between tax accounting and financial reporting? What are the differences in goals...
Why are there differences between tax accounting and financial reporting? What are the differences in goals of the two reporting systems?
Describe the differences between the following and listany particular advantages possessed by one over the other:...
Describe the differences between the following and listany particular advantages possessed by one over the other: (a) phototubes and photomultiplier tubes .
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT