Kishore wrote> -> Are there things that VHDL does better than verilog or vice-versaIt's is much easier to calculate constraints (LOCs and the like) in VHDL. Only applies if you need to do higher performance stuff, when it becomes 100% vital, IMHO. And VHDL is tougher on types, saving some debugging time. I'm not an expert, but I believe the latest Verilog has caught up with VHDL on generate, etc.
Verilog vs VHDL
Started by ●May 23, 2006
Reply by ●May 24, 20062006-05-24
Reply by ●May 24, 20062006-05-24
In article <1148420806.519398.325680@u72g2000cwu.googlegroups.com>, Kishore <kishore2k4@gmail.com> wrote:>Hi, > > I know this has been brought up many times in various groups but >here is my view on them and I would really appreciate some >clarification. I started working on FPGA design and stuff some 3 months >back or so. All the time I was switching back and forth between verilog >and VHDL for various projects. I personally feel that one can be very >productive as in time with Verilog? I only use VHDL if there is no >choice but I am not aganist VHDL or anything. > > After some searching on google and various usenet groups I came >across many arguments regarding Verilog vs VHDL summarising either as >"use the right the tool for the right job" or "leading to language >wars". I am open-minded and I am biased to the former at the same time >a bit biased to verilog :) I just wanted to know some things. > >-> Are there things that VHDL does better than verilog or vice-versa >-> What is the most widely used language in the industry i.e. FPGA and >ASIC designs. I think VHDL is the dominant one as Xilinx totally uses >VHDL? > > All kinds of thoughts, experiences and constructive criticisms will >be helpful.Here be dragons and I should perhaps not jump into the dragon pit, but here's an observation: One thing I notice is that people who have had exposure to software development seem to prefer VHDL because VHDL allows one to define new types whereas with Verilog you've gotta be happy with the types that come with it out-of-the-box. Hardware engineers with lots of software background might therefore tend to prefer VHDL whereas Hardware engineers with less software development experience might tend to prefer Verilog because they may not care about the potential benefits of being able to define new types. ...but I don't want to over generalize... ;-) Phil
Reply by ●May 24, 20062006-05-24
I think it just goes way back to when Verilog first came out, we were still driven by schematics in the early 80s, the nested symbol was the level of abstraction used. Verilog was primary invented by Moorby when he joined Gateway. On day one he was told they had a synthesis tool with no language to drive it, so he insisted on building one. He had previously built the Hilo tool for Genrad so he had a good insight as to what was needed at that time. It may be true that in the past hardware guys with little software experience didn't care about having such abstractions available since the divide was far greater then, but the opposite point can't always be true. When you are proficient in software and hardware you can still choose Verilog over VHDL because the missing abstractions can be got by working in C or other languages. Most projects involve both hardware & software and Verilog + something else was able to make up for the missing features that VHDL had. I wonder what programming languages VHDL fans generally favor, is it just same as everyone else? Does VHDL generally need C or anything to boost it in anyway? John Jakson transputer guy
Reply by ●May 25, 20062006-05-25
In article <1148510875.580909.76090@y43g2000cwc.googlegroups.com>, JJ <johnjakson@gmail.com> wrote:>I think it just goes way back to when Verilog first came out, we were >still driven by schematics in the early 80s, the nested symbol was the >level of abstraction used. > >Verilog was primary invented by Moorby when he joined Gateway. On day >one he was told they had a synthesis tool with no language to drive it, >so he insisted on building one. He had previously built the Hilo tool >for Genrad so he had a good insight as to what was needed at that time. > >It may be true that in the past hardware guys with little software >experience didn't care about having such abstractions available since >the divide was far greater then, but the opposite point can't always be >true. When you are proficient in software and hardware you can still >choose Verilog over VHDL because the missing abstractions can be got by >working in C or other languages. Most projects involve both hardware & >software and Verilog + something else was able to make up for the >missing features that VHDL had.Well, C doesn't exactly offer a lot of abstraction either...> >I wonder what programming languages VHDL fans generally favor, is it >just same as everyone else?I like Ruby for lots of things and I'm learning Io, functional programming. Lisp/Scheme are cool too.> Does VHDL generally need C or anything to >boost it in anyway?While I refer VHDL over Verilog, VHDL is still lacking... Phil
Reply by ●May 29, 20062006-05-29
Phil Tomson wrote:> Here be dragons and I should perhaps not jump into the dragon pit, but > here's an observation: > > One thing I notice is that people who have had exposure to software > development seem to prefer VHDLAs a retired computer programmer of 35+ years who has only recently taught myself Verilog during my retirement (as a hobby), I vastly prefer Verilog to what I've seen of VHDL. On the other hand, most of my programming was "down to the metal" device drivers and realtime embedded systems work, so it was very important for me to be able to easily deal with hardware interfaces and to know exactly what code the compiler (if used at all) generated so I could have strict control over the timing of things. I was overjoyed when the C programming language came along because it maps very well to the computer architectures of most machines and allowed me to use a high level language instead of assembly language even when doing bit-twiddling things such as device drivers (I had used assembly and Pascal up until then). The transition from C to Verilog was almost totally painless once I figured out this new concept of "wires" ;-) because of the similarity between the two languages - at least as far as the low level operators and general design philosophy of the languages go. The thing that bothers me most about abstract computer languages such as COBOL, Lisp, ADA, and I will include VHDL in this category) is that the hardware the design is implemented on is *not* abstract at all - it is composed of bits and bytes and elementary operations an ALU can perform, and so if I care anything at all about performance I like to use a relatively low level language. I think it's rather amusing that whenever I do a new Verilog design, I usually begin by coding the algorithm in the Maple computer language. Maple is a very high level arbitrary precision language that can do symbolic algebra, calculus, differential equations, etc. It may be a surprising choice as a design language for Verilog, but it works quite well because Maple allows me to do pretty much whatever I want without regard to implementation specifics. When I wrote the Verilog implementation of Lenstra's Elliptic Curve Factoring method (ECM), I started by writing a Maple program from the algorithm described in a textbook, and then gradually decomposed each of the higher level operations into simpler operations until I had something that could be implemented easily in Verilog. :-) Ron P.S. My Verilog ECM factoring design for the RSA-704 challenge number is now in its 178'th hour of synthesis (CPU hours), and shows no signs of finishing any time soon. I'm using Xilinx 5.1 Foundation software targeted at a Xilinx XCV2000E FPGA, and running on a Pentium 4 with 1.5 GB of RAM.
Reply by ●June 6, 20062006-06-06
Ron <News5@spamex.com> writes:> The thing that bothers me most about abstract computer languages such > as COBOL, Lisp, ADA, and I will include VHDL in this category) is > that the hardware the design is implemented on is *not* abstract at > all - it is composed of bits and bytes and elementary operations an > ALU can perform, and so if I care anything at all about performance I > like to use a relatively low level language. >The thing about VHDL is that although it has some highish levels of abstraction, which are great for the test environment. However, if you are writing synthesisable code, you are much more constrained, and the language maps relatively predictably (most of the time) onto device hardware. So you get the best of both worlds. IMHO There's no *design performance* reason to prefer Verilog over VHDL. At the RTL level they are pretty much equivalent nowadays (as I understand it, I'm predominantly a VHDL man myself)> I think it's rather amusing that whenever I do a new Verilog design, I > usually begin by coding the algorithm in the Maple computer > language. Maple is a very high level arbitrary precision language that > can do symbolic algebra, calculus, differential equations, etc. It may > be a surprising choice as a design language for Verilog, but it works > quite well because Maple allows me to do pretty much whatever I want > without regard to implementation specifics. When I wrote the Verilog > implementation of Lenstra's Elliptic Curve Factoring method (ECM), I > started by writing a Maple program from the algorithm described in a > textbook, and then gradually decomposed each of the higher level > operations into simpler operations until I had something that could be > implemented easily in Verilog. :-) >That's always a good way to proceed :-) Cheers, Martin -- martin.j.thompson@trw.com TRW Conekt - Consultancy in Engineering, Knowledge and Technology http://www.trw.com/conekt
Reply by ●June 6, 20062006-06-06
Ron wrote:> As a retired computer programmer of 35+ years who has only recently > taught myself Verilog during my retirement (as a hobby), I vastly prefer > Verilog to what I've seen of VHDL.I dont unstand what you are saying, Ron. You are a Verilog novice and don't know VHDL. You may have 35+ years of "experience", but that doesn't make you more credible in this particular context> On the other hand, most of my programming was "down to the metal" device > drivers and realtime embedded systems work, so it was very important for > me to be able to easily deal with hardware interfaces and to know > exactly what code the compiler (if used at all) generated so I could > have strict control over the timing of things. I was overjoyed when the > C programming language came along because it maps very well to the > computer architectures of most machines and allowed me to use a high > level language instead of assembly language even when doing > bit-twiddling things such as device drivers (I had used assembly and > Pascal up until then). The transition from C to Verilog was almost > totally painless once I figured out this new concept of "wires" ;-) > because of the similarity between the two languages - at least as far as > the low level operators and general design philosophy of the languages go.If your C and Verilog are very close to each other, then something is very wrong. Ignoring the HW vs SW-mind, yes the syntax is kind of resembling. But after 35+ years you should be able to learn any syntax in a day or two? Do you seriously mean that you choose Verilog over VHDL because you couldn't learn to write "AND" instead of "&"? (BTW, I am a C programmer by trade. Wondering my favourite HDL? read on then...)> > The thing that bothers me most about abstract computer languages such as > COBOL, Lisp, ADA, and I will include VHDL in this category) is that the > hardware the design is implemented on is *not* abstract at all - it is*Everything* is abstract, at some level and with some distance... If you haven't seen it yet, its because you are playing with tiny designs (knowning your answer here, I counter: yes, you can still fill a large FPGA with a tiny design). And for gods sake, how did you - as a software guy - missed the big "abstraction wave" during the 90s?> composed of bits and bytes and elementary operations an ALU can perform, > and so if I care anything at all about performance I like to use a > relatively low level language.You said you prefer C over assembler. Well, same thing here. Please read up on behavioural-but-still-synthesizable-code. Given the current state of synthesis tools, I prefer to write code at a higher level and let Synplify/DC/Leonardo/Quartus/Blast/Palace do their magic. Somehow, I don't feel like doing multimillion-gate designs at transistor level.> > I think it's rather amusing that whenever I do a new Verilog design, I > usually begin by coding the algorithm in the Maple computer language. > Maple is a very high level arbitrary precision language that can do > symbolic algebra, calculus, differential equations, etc. It may be a > surprising choice as a design language for Verilog, but it works quite > well because Maple allows me to do pretty much whatever I want withoutNow you are contradicting yourself. I use C-based languages (C/C++/Java/C#/..) to prototype. I may use Matlab when I do DSP, but thats another story.> regard to implementation specifics. When I wrote the Verilog > implementation of Lenstra's Elliptic Curve Factoring method (ECM), I > started by writing a Maple program from the algorithm described in a > textbook, and then gradually decomposed each of the higher level > operations into simpler operations until I had something that could be > implemented easily in Verilog. :-)I know VHDL, Verilog and SystemC plus a few more (there were tons of other languages during the PAL/PLD-era). And believe me, they are all pretty much the same, SPECIALLY AT LOW-LEVEL!>From my experience, people recommending language V1 over anotherlanguage V2 do it because they don't know language V2. Given that VHDL is a bit harder to learn, you hear a lot of this from the Verilog-Only camp. And then you have the ASIC people who love to hate VHDL. But Austin and Peter say ASIC is dying, and given that they are one of world largest AISC shops I assume they know what they are talking about :) Ok back to the subject, if you are serious about HW design, you MUST know at least VHDL and Verilog. Well, unless you never ever use IP-blocks, which is a whole another discussion...
Reply by ●June 6, 20062006-06-06
All, Lately I got a database of ICs, analog, digital, etc. market research. It allows you to ask questions like: "Who are the top 5 digital logic IC companies, in order of 1 to 5, and how did they fare compared to last year (2005 vs 2004)" Intel +27.2% up from last year to 10.3% of market Qualcomm up 7.5% with 5.4% of market Broadcomm up 10.4% with 5.4% nVidia up 23.8% with 4.4% and ATI up 6% with 4.4% Which makes those top 5 with only 29.8% of the total market, but with $14.21 billion in revenues from all Logic ICs. This is everyone. Us included. But, since that is not so narrow as just ASICs, I then narrowed it to Logic ASICs: IBM down 8% with 15.7% of market Fujitsu down 3.8% with 10.7% NEC down 26.8% with 9% of market Toshiba even with 6.4% of market and Agere down 3.1% with 6.3% of market Which makes for 48.1% of the market, which comprises $5.9 billion (total logic ASIC here is $12.34 down 7.2% from last year. Looking at PLDs alone (no surprises here): Xilinx up 3.7% with 50.3% Altera up 7.6% with 33.1% Lattice down 7.1% with 6.4% Actel up 7.8% with 5.5% and QuickLogic up 6.7% with 1.5% Which makes these 5 with 96.8% of a $3.17 billion market, which overall grew 3.6% over last year. Hmmm. Logic ASIC ~4X PLD's ...that's interesting. So, what happens when you combine the Logic ASIC with the PLD markets, and look at them together? IBM down 8% with 12.4% Xilinx up 3.7% with 10.5% Fujitsu down 3.8% with 8.4% Altera up 10.6% with 7.2% and NEC down 26.8% with 7.1% A combined 45.7% of the total market, which accounts for $7.13 billion. Conclusion: So, if you are wondering if you should learn verilog or VHDL, the figures really say you should know both. Well. Really well. Austin
Reply by ●June 6, 20062006-06-06
Austin Lesea (austin@xilinx.com) wrote: : All, : So, if you are wondering if you should learn verilog or VHDL, the : figures really say you should know both. Well. Really well. (Going of on a tanget here from the bulk of Austin's posting...!) Hah. I get a bit bored seeign the repetative 'Should I learn VHDL or Verilog' questions. Both are a bit more nebulous than most software languages people learn, in that everyone's synthesis or simulation tools implement different parts of the language spec for different purposes, and ultimatly most people on CAF use them to describe what they want a CPLD/FPGA to do. Chuck in the mess of things like VHDL attributes and Verilog comments being used to pass (vendor / technology) specific hints to the synthesiser... When that's the case what you really need to know is what you want the device to do, how the device works best, and the intersection between the two. If you've got half a clue about that and are competent in any computer language then VHDL/Verilog become little more than a preference for a syntax (other than generate + attributes etc. in rare cases.) And both could be much better. Much much better. Oh well... cds
Reply by ●June 6, 20062006-06-06
Austin Lesea wrote:> All, > > Lately I got a database of ICs, analog, digital, etc. market research. > > It allows you to ask questions like: > > "Who are the top 5 digital logic IC companies, in order of 1 to 5, and > how did they fare compared to last year (2005 vs 2004)" > > Intel +27.2% up from last year to 10.3% of market > Qualcomm up 7.5% with 5.4% of market > Broadcomm up 10.4% with 5.4% > nVidia up 23.8% with 4.4% > and > ATI up 6% with 4.4% > > Which makes those top 5 with only 29.8% of the total market, but with > $14.21 billion in revenues from all Logic ICs. This is everyone. Us > included. > > But, since that is not so narrow as just ASICs, I then narrowed it to > Logic ASICs: > > IBM down 8% with 15.7% of market > Fujitsu down 3.8% with 10.7% > NEC down 26.8% with 9% of market > Toshiba even with 6.4% of market > and > Agere down 3.1% with 6.3% of market > > Which makes for 48.1% of the market, which comprises $5.9 billion (total > logic ASIC here is $12.34 down 7.2% from last year. > > Looking at PLDs alone (no surprises here): > > Xilinx up 3.7% with 50.3% > Altera up 7.6% with 33.1% > Lattice down 7.1% with 6.4% > Actel up 7.8% with 5.5% > and > QuickLogic up 6.7% with 1.5% > > Which makes these 5 with 96.8% of a $3.17 billion market, which overall > grew 3.6% over last year. > > > Hmmm. Logic ASIC ~4X PLD's ...that's interesting. > > > So, what happens when you combine the Logic ASIC with the PLD markets, > and look at them together? > > IBM down 8% with 12.4% > Xilinx up 3.7% with 10.5% > Fujitsu down 3.8% with 8.4% > Altera up 10.6% with 7.2% > and > NEC down 26.8% with 7.1% > > A combined 45.7% of the total market, which accounts for $7.13 billion. > > > Conclusion: > > So, if you are wondering if you should learn verilog or VHDL, the > figures really say you should know both. Well. Really well... and learn Quartus, as Altera's growth is well above Xilinx's ? :) Indeed, Xilinx's growth seems to be well below the average of the top 5 in this sector ? In one table above, you have Altera as appx 2x Xilinx growth, but in another shows ~3x - is that because the first table excludes their hardcopy ASICs ? The second table also shows a larger Altera (lower ratio Xilinx:Altera) so something extra seems to be included here, that is missing in what you call PLDs alone ? -jg