Live data from Hacker News

MyHDL: Using Python as a hardware description and verification language

github.com

11–16 of 16 posts

Re: MyHDL: Using Python as a hardware description and verification language

#11
post #9
post #4

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.)

I use VHDL, not used Python. My understanding is that Python will be many times slower than VHDL, so verification tests that take the best part of a week would then take several weeks with Python. And being dynamically typed is fine if you are running a script that returns quickly, but what about it borking even hours into a simulation, when you can catch most dynamic type errors with stronger typed languages at compile time. Python doesn't look like a compelling replacement for VHDL, unless my understanding is off.

Re: MyHDL: Using Python as a hardware description and verification language

#12
post #3

Earlier 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!

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 :)

Re: MyHDL: Using Python as a hardware description and verification language

#13

Earlier 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 :)

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.

Re: MyHDL: Using Python as a hardware description and verification language

#14

Earlier 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.

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.

Re: MyHDL: Using Python as a hardware description and verification language

#15

Earlier 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.

Ah thanks for that. I dunno, I suspect most TCL users are those that are forced to use it (because of EDA tools probably). Kind of the same reason Bash and CMake are popular, even though they share similar levels of insanity to TCL.

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

#16

Using 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

And I've been involved in a project that's making heavy use of Bluespec: https://github.com/B-Lang-org/bsc/

Same problem though - you have to transpile it down to Verilog to use it in anything beyond a simulation.

Post reply on HN