-3
\$\begingroup\$

I'm learning digital electronics and I met with VHDL. I know it's hardware description language, but once I learn syntax and how to write code, what can I do with that code? Essentialy, what is VHDL?

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Did you read the description for the vhdl tag that you used? \$\endgroup\$
    – Dave Tweed
    Apr 20, 2016 at 22:10
  • \$\begingroup\$ @Dave Tweed, Yes, but I'm not sure what it means exactly :( Does it mean that program which I write in VHDL can be "uploaded" to some hardware to do specific task (which is defined by program) ? Something like writing program in Arduino and uploading it to microcontroller...? \$\endgroup\$
    – Igor
    Apr 20, 2016 at 22:14
  • 1
    \$\begingroup\$ No, not directly, but tools called "logic synthesizers" can map the abstract VHDL description to a specific implementation technology (such as an FPGA), and the results of that can be loaded into a chip. It's vaguely similar to compiling C code and loading it into a microcontroller, but the language and the semantics are very different -- HDLs describe things that happen in parallel, while C code (and other software programming languages) describe things that happen sequentially. It's a very different mindset. \$\endgroup\$
    – Dave Tweed
    Apr 20, 2016 at 22:16

1 Answer 1

4
\$\begingroup\$

What is C? A programming language that makes it so you dont have to write in assembly langauge, it makes the job of programming easier. What is Python, basically the same answer. What is JAVA, same answer.

What is VHDL/Verilog. These are hardware programming languages that make it so you dont have to do schematic capture, you dont have to design your logic by wiring up basic gates. if you want to and two 8 bit things you dont have to draw 16 wires into 8 and gates with 8 wires coming out. you can write one line of "code". Then just like C/C++/Pascal/Python/JAVA, etc, there is a compiler that turns the high level thing into something lower level.

VHDL/Verilog exactly the same, there exists a compiler that converts your code into something lower level, understand that lower level varies, when simulating it may be compiled into gates/modules the simulator does well, when re-compiling with the same tool that lower level may be different gates from the simulator ones that target a specific fpga, then if you want to make an asic from that, it has to compile for that cell library. not unlike C being compiled into x86, arm, mips, etc depending on where you want to run that high level code that day.

For the same reason we use high level languages for programs we use high level programming languages for logic.

\$\endgroup\$
4
  • \$\begingroup\$ I think it would be worth making your 'and' gates AND gates in this description, as to somebody with zero knowledge (the kind of person who would ask this question), the plain 'and' you have used could lead to some unreadable sentences here. \$\endgroup\$
    – scary_jeff
    Apr 21, 2016 at 12:13
  • \$\begingroup\$ @scary_jeff, I'm not kind of person with zero knowledge, I'm perfectly familiar with and gate. I'm new in VHDL. Once in the past you were also beginner and you knew VHDL the same as I know it now. Or you are maybe a special type of man who was born with all knowledge of digital electronics, including VHDL? \$\endgroup\$
    – Igor
    Apr 21, 2016 at 12:22
  • \$\begingroup\$ @Igor I wasn't talking about you in particular, I just meant that the kind of person who doesn't know what a hardware description language is, and finds this question in future, might also not know what an AND gate is. I think this is a reasonable assertion and again was not directed at you in particular. No offense intended, sorry. \$\endgroup\$
    – scary_jeff
    Apr 21, 2016 at 12:34
  • \$\begingroup\$ Ok :) Best regards \$\endgroup\$
    – Igor
    Apr 21, 2016 at 13:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.