20-05-2018, 07:47 AM
(This post was last modified: 20-05-2018, 07:51 AM by ppppenguin.)
VHDL is certainly very strongly typed. (who said "strong typing is for programmers with weak memories"?) I've not looked at Verilog much but I think it's much less so. In particular std_logic and boolean aren't distinguished.. Rather like the old ABEL language that I used many years ago for programming early PLDs.
VHDL conditional statements (IF, WHEN, WITH, CASE) all have little wrinkles. It's annoying that IF and CASE must always be used inside processes. Though these needn't be clocked. The syntax of IF is more intuitive than WHEN though both do the same job, likewise CASE makes more sense than WITH.
I'm sure you've realised that CASE and WITH must always be complete, using an OTHERS clause. The daft thing is that the synthesis engine usually complains about lack of OTHERS even if you have specified all cases explicitly. IF generates logic with priority which is probably obvious to software folk but a potential trap for many. It's one place where the order of statements really does matter.
On the subject of mindset, it's really important to get away from thinking about the old 74 and 4000 series devices. That can be hard for older engineers who have used them extensively.
VHDL conditional statements (IF, WHEN, WITH, CASE) all have little wrinkles. It's annoying that IF and CASE must always be used inside processes. Though these needn't be clocked. The syntax of IF is more intuitive than WHEN though both do the same job, likewise CASE makes more sense than WITH.
I'm sure you've realised that CASE and WITH must always be complete, using an OTHERS clause. The daft thing is that the synthesis engine usually complains about lack of OTHERS even if you have specified all cases explicitly. IF generates logic with priority which is probably obvious to software folk but a potential trap for many. It's one place where the order of statements really does matter.
On the subject of mindset, it's really important to get away from thinking about the old 74 and 4000 series devices. That can be hard for older engineers who have used them extensively.
www.borinsky.co.uk Jeffrey Borinsky www.becg.tv







