I use systemverilog daily, and it's very powerful. What does myhdl bring that's a game changer or even significant advantage in practice? SV has quite powerful synatx, especially for verification, and it seems this replicates the basics of that but had to force it into an imperative box by using yield, etc to achieve concurrence, while SV has it by default - so SV is less complex in thst regard. Its an impressive ach…
SV has some quite crazy features and is absolutely massive. But I agree I think Python is a terrible replacement. By moving away from SV you lose a lot of tool support which is extremely important (can you do FPV in Python?) and Python is a pretty bad language anyway compared to its peers (Typescript, Kotlin, Rust, etc.)
MyHDL: Using Python as a hardware description and verification language
11–16 of 16 posts
Re: MyHDL: Using Python as a hardware description and verification language
#12Earlier quoted context omitted.
I agree! Just the fact that it's capable of translating to VHDL or Verilog makes it very useful. I'm surprised the industry doesn't care too much still.
The industry still heavily uses TCL. TCL!
I actually really like Tcl, I like the simplicity of its command argument nature.
The thread "Why is Tcl syntax so weird" was posted a couple of weeks back, https://news.ycombinator.com/item?id=29143346. The first comment on the page includes "Tcl is still a wonderful language and I often lament how it’s mostly died out". Happily, for me at least, it's still going strong in HDL land :)
Re: MyHDL: Using Python as a hardware description and verification language
#13Earlier quoted context omitted.
The industry still heavily uses TCL. TCL!
Thanks that made me smile :) I actually really like Tcl, I like the simplicity of its command argument nature. The thread "Why is Tcl syntax so weird" was posted a couple of weeks back, https://news.ycombinator.com/item?id=29143346 . The first comment on the page includes "Tcl is still a wonderful language and I often lament how it’s mostly died out". Happily, for me at least, it's still going strong in HDL land :)
Brainfuck is stupidly simple but good luck writing reliable code with that!
I should make a TCL quoting quiz to prove how insane it is.
Re: MyHDL: Using Python as a hardware description and verification language
#14Earlier quoted context omitted.
Thanks that made me smile :) I actually really like Tcl, I like the simplicity of its command argument nature. The thread "Why is Tcl syntax so weird" was posted a couple of weeks back, https://news.ycombinator.com/item?id=29143346 . The first comment on the page includes "Tcl is still a wonderful language and I often lament how it’s mostly died out". Happily, for me at least, it's still going strong in HDL land :)
TCL is a terrible error-prone language. The fact that language rules are quite short (I think, there doesn't even seem to be a specification so who really knows) doesn't mean the language is good. Brainfuck is stupidly simple but good luck writing reliable code with that! I should make a TCL quoting quiz to prove how insane it is.
I guess Tcl is just one of things that divides opinion.
Re: MyHDL: Using Python as a hardware description and verification language
#15Earlier quoted context omitted.
TCL is a terrible error-prone language. The fact that language rules are quite short (I think, there doesn't even seem to be a specification so who really knows) doesn't mean the language is good. Brainfuck is stupidly simple but good luck writing reliable code with that! I should make a TCL quoting quiz to prove how insane it is.
The rules are here https://www.tcl-lang.org/man/tcl/TclCmd/Tcl.htm I guess Tcl is just one of things that divides opinion.
The one thing I'll give it is that the "function bodies are just eval'd strings, quoted using braces" is a kind of neat trick for implementing functions. Like if you want to make a language that supports functions with the minimum amount of code possible, that's a fun idea.
Not a good idea, but a fun one. The correct response is "ha that's a neat trick. Now please delete it and do it properly."
Re: MyHDL: Using Python as a hardware description and verification language
#16Using modern languages for hardware design seems to be a tendency today. I wonder how does MyHDL compare to Chisel? Chisel is another hardware description language based on Scala, which has already been wildly used in the RISC-V community. Check it out here: https://www.chisel-lang.org
Same problem though - you have to transpile it down to Verilog to use it in anything beyond a simulation.