Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Hardware description language
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Comparison with control-flow languages=== It is certainly possible to represent hardware semantics using traditional programming languages such as [[C++]], which operate on [[control flow]] semantics as opposed to [[data flow]], although to function as such, programs must be augmented with extensive and unwieldy [[Class library#Object and class libraries|class libraries]]. Generally, however, software programming languages do not include any capability for explicitly expressing time, and thus cannot function as hardware description languages. Before the introduction of [[System Verilog]] in 2002, [[C++]] integration with a [[Logic simulation|logic simulator]] was one of the few ways to use [[object-oriented programming]] in hardware verification. System Verilog is the first major HDL to offer object orientation and garbage collection. Using the proper subset of hardware description language, a program called a synthesizer, or [[Logic synthesis|logic synthesis tool]], can infer hardware logic operations from the language statements and produce an equivalent netlist of generic hardware primitives{{technical statement|date=April 2014}} to implement the specified behaviour.{{Citation needed|date=July 2010}} Synthesizers generally ignore the expression of any timing constructs in the text. Digital logic synthesizers, for example, generally use [[Clock signal|clock edges]] as the way to time the circuit, ignoring any timing constructs. The ability to have a synthesizable subset of the language does not itself make a hardware description language.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)