Talk:Hardware description language
This article is rated C-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||
|
This article is substantially duplicated by a piece in an external publication. Since the external publication copied Wikipedia rather than the reverse, please do not flag this article as a copyright violation of the following source:
|
Timing question
[edit]- "Synthesizers generally ignore the expression of any timing constructs in the text. Digital logic synthesizers, for example, generally use clock edges as the way to time the circuit, ignoring any timing constructs. "
If synthesizers ignore the timing constructs, then why are they added at all to an HDL circuit description? Thanks, -Abdull (talk) 16:55, 7 February 2010 (UTC) VHDL was originally a description language for hardware designed in a more traditional way, ie schematic capture. It was only later used for synthesis. VHDL is also frequently used for non-synthesis purposes such as test benches where the full scope of the language can be used. Hope that helps!Hardyp3 (talk) 14:56, 12 September 2013 (UTC)
Introduction and making sense
[edit]Just making it clear to anyone working on this article that the introduction doesn't describe what a hardware description language is to anyone who doesn't already know what a hardware description language is.
When you see the term "hardware description language" you first think of some very basic questions such as "What does that mean?" and "A normal programming language is compiled into instructions telling a computer what to do. What is this 'compiled' into and what executes the instructions?" and "Is it executed by a computer or printer displaying a 3D diagram or blueprints?" or "Does it directly tell something like a 3D printer what to create?"
None of these questions are answered by the introduction. Instead it seems to assume you know what it does, then describes it further with more jargon. --Qwerty0 (talk) 11:51, 7 July 2010 (UTC)
- Well, since this is listed under Category:Specification_languages, VHDL would probably be better described as a specification language and/or a modeling language in the introduction than as a programming language. --jwilkinson (talk) 03:15, 21 December 2010 (UTC)
- Ok thanks, so I think I get it now. It's more like HTML than Java. It's just a formal language for describing something? I'd still suggest clarifying that in the introduction. If I knew enough to make sure it'd be accurate, I'd go for it myself. If at some point I've learned that much, I'll take a crack at it.
- --Qwerty0 (talk) 20:26, 9 February 2011 (UTC)
- ---
This topic should be extremely difficult for an ordinary user to understand. It is used only by engineers who want to run chip prototypes in a simulated environment. HDL is extremely important, but of absolutely no interest at all to anyone but hardware and software engineer involved in chip design and simulations. HDL is the generic, and VHDL is one specific instance of the generic just as Verilog is, so VHDL is not a better description. And no, HDL is not at all for layout or printer input. It is entirely for run time characteristics, and there are flavors for analog, digital, and mixed signal. It is not at all like html as compared to Java because it has nothing to do with appearance or layout. It has to do with run time characteristics in simulated environments, and should be thought of as input to a software breadboard.
Kirk Augustin, introduced to HDL at Analogy before it was bought out by Synopsys. — Preceding unsigned comment added by 174.28.100.87 (talk) 22:00, 15 November 2015 (UTC)
External links modified
[edit]Hello fellow Wikipedians,
I have just modified one external link on Hardware description language. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
- Added archive https://web.archive.org/web/20120712224415/http://www.xilinx.com/tools/sysgen.htm to http://www.xilinx.com/tools/sysgen.htm
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}}
(last update: 5 June 2024).
- If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
- If you found an error with any archives or the URLs themselves, you can fix them with this tool.
Cheers.—InternetArchiveBot (Report bug) 04:49, 30 October 2017 (UTC)
How to structure this article
[edit]I am not sure to call a hardware description language an specification language, because an specification language like ML the predecessor of Standard ML (Meta Language) are more abstract. By more abstract I mean, based on an abstract model like heterogeneous algebras or some kind of data types.
On the other hand, there are several ways to specify the semantics of programming languages: operational, denotational or axiomatic.
Standard ML has a formal operational semantics.
The border between specification languages and programming languages is not always clear, SML is an example, it started as an specification language, then became a programming language.
A reliable programming language, has a formal syntax and formal semantics. Although that is not always true, Haskell for example, is a great language with a great syntax, although it is a non-strict functional language with algebraic types, Subjects under very formal computing research, Haskell lacked a formal semantics (I ignore if at this time, it finally has a formal semantics.)
I mentioned SML and Haskell because they are functional languages, thus declarative languages. Declarative languages specify the what to compute, not how.
Although it is possible to implement functional languages directly in hardware via a primitive basis of logical combinators, in practice they are mainly implemented in C (for me the best systems programming language).
Hardware description languages, are more declarative in nature, they describe how hardware components are interconnected.
I don't have this knowledge fresh, I vaguely remember that a language was used to program FPGA cards, but the language I used, had a syntax similar to ADA, but the semantics was not well specified and it was hard to get the desired behavior.
I remember that previous to coding the hardware in a HDL, we had to develop a STATE CHART. I don't remember the name of the kind of charts that we used. But that was the starting point of the project.
How to structure the article?
I think that this article can be more clear if it explains in first place what kind of things are programmed in such languages, the formal syntax and semantics of the abstract language used in the charts that specify the behavior of the hardware.
Then what is the target of the compiled HDL, to understand the semantics. It is preferable to have a formal definition of the semantics, but an intuitive description always helps to understand the formal description.
Are there different styles of HDLs? Describe each family and the correspondence among each other. Before programming an FPGA, a simulation is run. Describe what is simulated, or maybe analyzed via some model checking technique.
Also include many simple examples. — Preceding unsigned comment added by 2806:107E:4:B19A:218:DEFF:FE2B:1215 (talk) 14:00, 14 January 2018 (UTC)
History
[edit]VHDL 2019 was released 109.43.50.75 (talk) 18:08, 22 October 2022 (UTC)