I want to learn VHDL, and I wonder if I can find any tool that allow me simulate a VHDL program without having an FPGA. I do some search in internet, and I found this list of HDL simulators, but I still don't know how to implement a VHDL program in a simulation.
-
\$\begingroup\$ electronics.stackexchange.com/questions/22596/… \$\endgroup\$– MaximGiCommented Feb 22, 2016 at 14:31
-
\$\begingroup\$ Modelsim student edition or starter edition? What have you actually tried to do and have trouble with? \$\endgroup\$– pjc50Commented Feb 22, 2016 at 14:31
-
\$\begingroup\$ I try to learn VHDL, i read some books and now i want to test some VHDL programs without having FPGA. \$\endgroup\$– joe billyCommented Feb 22, 2016 at 14:35
-
1\$\begingroup\$ EDAPlayground.com is pretty cool, its online and you just need a google account. \$\endgroup\$– MarcoCommented Feb 22, 2016 at 18:41
-
\$\begingroup\$ Aside from modelsim, you could use freely available dev environments from manufacturers. You can build a test bench and test your solution there. I've personally used the package from Lattice, and they have a number of cheap FPGA boards if you're looking for some hardware to get started. \$\endgroup\$– alphasierraCommented Sep 8, 2018 at 20:53
2 Answers
One of the more commonly used simulators (as far as I'm aware) is ModelSim, and therefore it's a good choice when you're starting out. If you install the free Web Edition of Quartus, ModelSim will be installed as well (and ModelSim also comes with ISE WebPack IIRC).
What you are wanting to do is known as a testbench and it consists of writing stimulus code that creates in the input signals for the design under test (DUT) and can also verify the outputs. So, you typically want at least two files: the design you are testing and the testbench for that design.
There are many online resources that will help you write a basic testbench. Here is a reasonable starting point, but you'll want to do a whole lot of searching online; there's a lot to learn.
Modelsim is a great choice to simulate HDL codes. However, it won't guarantee your design is synthesizable. Design synthesis depends on a target hardware. The best way to learn VHDL programming for making real-world hardware is to code in Xilinx ISE and then test and simulate your code in ModelSim.