Hardware Description Languages: Difference between revisions
(Created page with "As the size and complexity of digital systems increase, more computer aided design tools which facilitate design entry, verification and automatic hardware generation are being introduced into the design process. The newest addition to this design methodology is Hardware Description Languages (HDLs). Hardware Description Language is a specialized language used to describe the behaviour and/or structure of digital circuits. HDLs are used to describe hardware for the pur...") |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Overview == | |||
As the size and complexity of digital systems increase, more computer aided design tools which facilitate design entry, verification and automatic hardware generation are being introduced into the design process. The newest addition to this design methodology is Hardware Description Languages (HDLs). | As the size and complexity of digital systems increase, more computer aided design tools which facilitate design entry, verification and automatic hardware generation are being introduced into the design process. The newest addition to this design methodology is Hardware Description Languages (HDLs). | ||
Hardware Description Language is a specialized language used to describe the behaviour and/or structure of digital circuits. HDLs are used to describe hardware for the purpose of simulation, modeling, testing, design and documentation. You can check this [[https://en.wikipedia.org/wiki/Hardware_description_language wikipage]] for a brief background on HDLs. | Hardware Description Language is a specialized language used to describe the behaviour and/or structure of digital circuits. HDLs are used to describe hardware for the purpose of simulation, modeling, testing, design and documentation. You can check this [[https://en.wikipedia.org/wiki/Hardware_description_language wikipage]] for a brief background on HDLs. For this course, we will be focusing on Verilog. If you are not familiar with Verilog, here's a [[https://www.youtube.com/watch?v=q1QwC3YlHG0 short video]] to give an overview of what Verilog is. | ||
There are different implementation approaches for digital design (Fig. 1). Custom IC design requires drawing the polygons manually. Designs using HDLs follow the semi-custom approach, where designs are automatically (through the process known as ''synthesis'') to its corresponding gate or other primitive netlist. | |||
[[File:Implementation.png||Fig. 1. Digital Circuit Implementation Approaches <ref>J. Rabaey, A. Chandrakasan, and B. Nikolic. Digital Integrated Circuits - A Design Perspective. ''Prentice Hall, 2ed edition,'' (''2004'')</ref>]] | |||
== Module and Instance == | |||
We always start our Verilog code with the definition of a '''module'''. A module defines the design unit or block, starting with the name and its input and output ports (See Fig. 2). It starts with the keyword '''module''' and ends with the keyword '''endmodule'''. | |||
Back to [[Modern_VLSI_Design_(February_2024)]] | |||
== References == |
Latest revision as of 14:45, 27 February 2024
Overview
As the size and complexity of digital systems increase, more computer aided design tools which facilitate design entry, verification and automatic hardware generation are being introduced into the design process. The newest addition to this design methodology is Hardware Description Languages (HDLs).
Hardware Description Language is a specialized language used to describe the behaviour and/or structure of digital circuits. HDLs are used to describe hardware for the purpose of simulation, modeling, testing, design and documentation. You can check this [wikipage] for a brief background on HDLs. For this course, we will be focusing on Verilog. If you are not familiar with Verilog, here's a [short video] to give an overview of what Verilog is.
There are different implementation approaches for digital design (Fig. 1). Custom IC design requires drawing the polygons manually. Designs using HDLs follow the semi-custom approach, where designs are automatically (through the process known as synthesis) to its corresponding gate or other primitive netlist.
Module and Instance
We always start our Verilog code with the definition of a module. A module defines the design unit or block, starting with the name and its input and output ports (See Fig. 2). It starts with the keyword module and ends with the keyword endmodule.
Back to Modern_VLSI_Design_(February_2024)
References
- ↑ J. Rabaey, A. Chandrakasan, and B. Nikolic. Digital Integrated Circuits - A Design Perspective. Prentice Hall, 2ed edition, (2004)