微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 为什么RTL的对比模型大多使用C-,而不是perl或是Python?

为什么RTL的对比模型大多使用C-,而不是perl或是Python?

时间:12-12 整理:3721RD 点击:
如题。

效率吧?
C仿起来速度快

verilog有调用perl和python的接口吗?
perl和python写定点数模型方便吗?

脚本语言的优势在于字符串等轻量级的处理,但不是那么容易维护。很难想象一个大型的C算法用perl来实现后怎么去维护。

perl做模型?这种脚本语言写出来的程序,谁看得下去?

python和perl的模块化比较差,做复杂性大项目难。而且模型存在的必要性之一就是比rtl运行速度快,perl和python速度比rtl应该快不了多少

python是面向对象的,模块化不会差。perl我不了解,据说是不是一般的难懂

模块化和面向对象是两码事吧

Perl可以编译成可执行文件,运行速度绝对比rtl仿真要快很多

大型程序,perl比c++低一个量级。rtl比c++慢多少?
跑仿真时,rtl就是一种解释型语言,perl也是,慢不了多少的,同一量级。用perl的必要性很低。
仿真的时间就是金钱。

再重复一遍,Perl是可编译执行的

perl的编译成可执行无非是runtime打包了
和c/c++这类native的编译是无法比较性能的
.7

perl的特性就是:你写完,放一周,回头一看:
1.卧槽,这是谁写的
2.卧槽,当初思路是个啥?

那是perl2exe,还有PerlCC这样的——从perl转换成C,然后再编译成可执行文件,据说perl编译“print hello world”比C++编译之后的可执行文件都小

小不等于快

大多数是历史原因,前人写啥你写啥,大多数情况。
Perl的可维护性是相当差,靠它你的Perl会练的不错,绩效反比,哈哈
  

我用的模型不用脚本语言主要是位操作太麻烦,而且硬件模型一般都没多复杂,用c也不会乱到哪去。 你可以试试脚本语言位操作,说实话,我连汇编都嫌麻烦,还是hdl方便。

你没写过硬件模型吧?

还别说,真有verilog吊python的接口工具,scriptsim,我司就在用,testcase都是用python写的

不用再重复,perl可以打包成成可执行文件,但不代表不是解释执行
verilog到反而可以编译成本地代码直接运行。

就是通过动态链接库啊,你可以理解为SC模型成为了仿真器可以使用的资源

因为编译的正确性有风险。rtl编译执行比解释执行难很多。

编译的正确性难道不是靠编译器保证的?

编译器和运行时也会有bug,特别是rtl这种难度很高的,并且rtl编译器业界用的少也比较新,但是解释器就是久经考验的了。

编译器本身编译出bug,这个我相信可能是会有的
但是,我觉得随着时代的进步,这些bug也都应该是可以解决的
就如同C的编译器一样,也是在进步,之前的bug,可能现在已经修复了

VCS确实bug比较多,但是绝大部分都是因为不好的coding style引起的。

效率,跟simualtor和v sv接口成熟度,方法论成熟度

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top