- 主题:为什么RUST突然很火,在2020年的trend中都排行第一
你说的compile time feature举些例子呢
【 在 eggcar 的大作中提到: 】
:
: tcl真的太难用了,语法设计的简直业余级别
: 甚至verilog也很难用,缺少至少90%的compile time feature
: eda界真是保守过头了
:
: --
发自「今日水木 on PCT-AL10」
--
FROM 101.86.19.*
这个离实现verilog的meta programming差远了
而且你看很多情况下这个写的代码量可能比直接写verilog的还多
我觉得功能上过犹不及,keep it simple.
对于大部分要求来说,可能像html/template就能满足绝大多数需求
而且还保留了绝大多数可读性
pyverilog相当于写手好ast, 然后给你遍历出代码。完全缺少实现的优美性
用这个还不如直接用chipsel bluespec之类的语言来写代码
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 你这个再搞搞,是不是可以弄出一个 python 语法的新语言,编译到 verilog 去。
--
修改:eematlab FROM 64.207.220.*
FROM 64.207.220.*
验证框架UVM完全就是在宏上构建出来的
不过我感觉这种方式是弯路, 软件里有谁基于宏构建一个可重用的库不?
当然因为SV里缺少构建库或框架的元素,所以只能基于宏了
【 在 javaboy (喝了咖啡就话多-_-;) 的大作中提到: 】
: “代码生成”一种在软件编程方面很常见的形式。
: 常见例子有autotools、cython、jsp、还有c++的宏等等。
: 一般来说,都是都是坏处大于好处的。。
--
修改:eematlab FROM 64.207.220.*
FROM 64.207.220.*
agree,
我前不久基于text/template用golang写了个dft testbench生成器
输入是json格式的PIN information(name/direction/isclock/index)
然后写几个模板, 把这些pin在不同的地方展开
代码可读性非常好, 后期扩展(就是加模板)也方便
这是就一种工程中的折中。 把时间花在理解DFT业务逻辑,写出通用的模板上,比花在折腾ast上更合算
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: Verilog蛋疼的地方确实很多,我写的不多,但每次也是写的想砍人的心情。但你这个pyverilog其实改成pyxxxx都可以,生成什么语言都这样写没区别,反正是手动拼接ast树,太蛋疼了...
: myhdl才是pythonic的思路。如果不想myhdl这么激进,又不想pyverilog这么蛋疼,其实很多生成html的template engine都是可以用来干这个事情的。这个更糙快猛一点。
: 对于这类问题我曾经折腾过一个框架,实现两种不同语言的ast树的映射转换,你只需要提供一堆类似正则表达式的规则就行。但这个方法局限性也很大,用起来并没有说的这么简单。
--
FROM 64.207.220.*