TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

VHDL or Verilog?

115 pointsby chclauabout 8 years ago

19 comments

mzakharo1about 8 years ago
Little known in the industry, VHDL struct syntax allows for very neat and concise method to be used, called [Gaisler&#x27;s method](<a href="http:&#x2F;&#x2F;www.gaisler.com&#x2F;doc&#x2F;vhdl2proc.pdf" rel="nofollow">http:&#x2F;&#x2F;www.gaisler.com&#x2F;doc&#x2F;vhdl2proc.pdf</a>). The entire Processor and architecture is written using it (<a href="http:&#x2F;&#x2F;www.gaisler.com&#x2F;index.php&#x2F;downloads&#x2F;leongrlib" rel="nofollow">http:&#x2F;&#x2F;www.gaisler.com&#x2F;index.php&#x2F;downloads&#x2F;leongrlib</a>) - and it is fantastic to work with - it feels like a piece of object oriented programming, while using low level language of VHDL. Not sure if anyone has tried to apply Gasler&#x27;s method to SystemVerilog, but verilog on its own falls quite short in this regard.
评论 #14239948 未加载
pdqabout 8 years ago
VHDL and Verilog are virtually no different from eachother. It&#x27;s basically equivalent to ARM assembly vs MIPS assembly -- they are both machine-level assembly languages.<p>If you want something more interesting, see High Level Synthesis (aka C to RTL, SystemC, etc) [1]. But this is still very beta (and has been for over a decade), so it&#x27;s almost unused in the industry on designs.<p>The majority of hardware design time is now dominated in the hardware verification space, aka SystemVerilog.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;High-level_synthesis" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;High-level_synthesis</a>
评论 #14236334 未加载
评论 #14236081 未加载
评论 #14235690 未加载
评论 #14236283 未加载
userbinatorabout 8 years ago
Whenever the VHDL vs Verilog argument is brought up, I am reminded of this competition from a long time ago:<p><a href="http:&#x2F;&#x2F;athena.ecs.csus.edu&#x2F;~changw&#x2F;class_docs&#x2F;VerilogManual&#x2F;cooley.html" rel="nofollow">http:&#x2F;&#x2F;athena.ecs.csus.edu&#x2F;~changw&#x2F;class_docs&#x2F;VerilogManual&#x2F;...</a><p>(Notice which language won, who won, and what company he worked for...)
评论 #14237357 未加载
评论 #14238538 未加载
jackyingerabout 8 years ago
Verilog and VHDL are certainly fundamental, but there&#x27;s plenty of alternatives...<p>Chisel with Scala, MyHDL with Python, Bluespec and Lava with Haskell are all low level HDL languages to name a few that piggy back on typical programming languages.<p>And if you want a higher level integrated solution you could use Altera OpenCL or Xilinx HLS.<p>Not to say we couldn&#x27;t ask for a lot more from FPGA tools!!
评论 #14235850 未加载
rebootthesystemabout 8 years ago
Back many years ago when I had to make a choice between these two I took a very practical approach. I learned both of them to a level adequate enough to implement a few small test projects and then I made my decisions.<p>How?<p>As a solo founder CEO&#x2F;CTO&#x2F;Electrical, Mechanical, Software and FPGA Engineer and, let&#x27;s not forget, Janitor at the time there was one thing I valued far above anything else: Time.<p>VHDL, I found, is very verbose. Verilog not so. To me this meant having to type twice as much to say the same thing. This didn&#x27;t sit well with me and that was the primary driver in deciding in favor of Verilog.<p>Another driver was familiarity with C. I had a need to switch contexts with some frequency. I was using C and C++ for embedded and workstation code development. As a mental exercise, switching to VHDL felt, for lack of a better word, violent. Switching between those languages and Verilog felt natural. Again, a time saver.<p>It also seemed far easier to find and hire a good Verilog engineer when the time came for me to let go of that title and focus on being a better Janitor. To me Verilog was the clear winner on all fronts. At the time it lacked a few constructs that were later added into the language yet I never found that to be a problem and managed to successfully design and manufacture many successful products.
评论 #14237052 未加载
评论 #14235999 未加载
评论 #14237510 未加载
daxfohlabout 8 years ago
As a Haskell fan I was drawn toward VHDL because of its &quot;strong typing&quot;. Haha, it&#x27;s nothing like what I expected, mainly just a bunch of annoying forced casts from signed to unsigned etc. I ended up liking Verilog better: more characters are dedicated to your intent than to your casts. But ultimately they&#x27;re not that different.<p>(Note there are also Haskell-oriented HDL&#x27;s, but my experience with those wasn&#x27;t great, at least 4-5 years ago. Proprietary, poor interop, and let&#x27;s face it, it&#x27;s not Haskell. On the surface FP seems like a good fit for FPGA, but in the trenches you constantly need lower-level tricks to keep your program&#x27;s gate count from exploding.)
评论 #14237315 未加载
nrclarkabout 8 years ago
I&#x27;d say go with Verilog. SystemVerilog 2013 and VHDL 2008 are competitive when it comes to synthesis features, but synthesis is only half of the story.<p>SV&#x27;s simulation features are really top-notch. If you&#x27;re going to pick one to learn, I&#x27;d go with SV because you&#x27;ll probably be using it anyways for verification tasks.
odmkSeijinabout 8 years ago
Both. The differences are not that great. I don&#x27;t believe anyone who says they can done something in one that can&#x27;t be done in another, they just don&#x27;t now how to do it. After staring at a large design day after day, it is a pleasure to switch to the other one just to break up monotony. If you inherit someone else&#x27;s design, I prefer to have the component list in VHDL to get an overall picture of what is going on. I guess it is easier to write Verilog, but easier to read someone else&#x27;s VHDL.
rsp1984about 8 years ago
At a recent Intel event I spoke to a senior Altera engineer and he recommended just using OpenCL and not bothering with either VHDL or Verilog. Apparently the OpenCL to FPGA compilers these days have become so good that the performance is within 10%-30% of hand-written VHDL &#x2F; Verilog, which for most use-cases is very much in the &quot;good enough&quot; range.
评论 #14237006 未加载
评论 #14237011 未加载
tisannaiabout 8 years ago
Having used both for multiple years, I prefer Verilog. I think that for the synthesized subset of RTL, that HDL is typically used for, Verilog is way more productive than VHDL. The endless type conversions that are required for VHDL, just means too much mental burden and is away from actual design effort. VHDL is not practical.<p>Strong typing is useful when you use the same types for multiple instances, as in SW. However in HW, you construct your data to a set of bits, and then take as many as needed for the particular case. The type you need is a bit vector. Bit slicing checks can be done in the Linter tool, if needed. In DSP designs you can get benefits from VHDL types for signed and unsigned integers, but in my opinion even that does not cover the VHDL related deficiencies.<p>When you are working with synthesizable subset, you will never have problems with race conditions in simulation. You stick to a strict coding style, and it becomes the second nature. For beginners there are always issues, including this.<p>I find comparing the merits of SW languages to HW languages a bit silly. Describing SW does not benefit from the same features that describing HW does. For example Functional Programming (aka Haskell people) has nothing to do with HW. In FP you want to separate state from your functions. In HW the intention is to do the exact opposite. You want capture everything as local as possible, in order to enable maximum performance in speed, power, and area. This implies that OOP is pretty close to what HW requires, but not FP.
kevin_thibedeauabout 8 years ago
Try to implement a general purpose, synthesizable CRC for any polynomial of any size in Verilog without resorting to hard-coded lookup tables.<p>Can&#x27;t be done.<p>One language suffers from a serious lack of expressiveness and forces its users to effectively carve their gates from stone with incessant low level bit twiddling. The other lets you describe high level behavior and have the tooling do all the hard work.
评论 #14240391 未加载
mars4rpabout 8 years ago
Verilog of course. try to do nested if without else in VHDL!
deepnotderpabout 8 years ago
Neither, get yourself some Chisel.
eggie5about 8 years ago
I&#x27;ve done both VHDL an Verilog extensively in school but not professionally. From my experience verilog was much nicer to use. I designed a complete MIPS pipelined CPU: <a href="https:&#x2F;&#x2F;github.com&#x2F;eggie5&#x2F;SDSU-COMPE475-SPRING13" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;eggie5&#x2F;SDSU-COMPE475-SPRING13</a><p>However, speaking to many FPGA professionals I know, VHDL has a much more traction in industry and patricianly in defense contractors.
eeksabout 8 years ago
OCaml with HardCaml (<a href="http:&#x2F;&#x2F;www.ujamjar.com&#x2F;hardcaml&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.ujamjar.com&#x2F;hardcaml&#x2F;</a>).
sunmagabout 8 years ago
Vhdl + vunit. HLS will (latency&#x2F;bandwidth)-wise do equally good, provided you have some spare resources(large enough fpga).
tomeabout 8 years ago
I recommend Clash. I&#x27;ve used it in production.<p><a href="http:&#x2F;&#x2F;www.clash-lang.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.clash-lang.org&#x2F;</a>
pjmlpabout 8 years ago
As Ada fan I would say VHDL.
codebookabout 8 years ago
Of course, systemverilog!