今天还是这张图。最近一直在思考集成电路怎么与其它几个前沿领域相结合。
今天来讲讲Python。
Python其实不是人工智能、神经网络的专属语言,在芯片设计和验证领域也有非常多的应用。
下面是一些的开源项目:
RTL自动生成:
https://github.com/nvdla/hw/blob/master/tools/bin/epython
寄存器默型的自动生成:
https://github.com/SystemRDL/systemrdl-compiler
仿真脚本、回归脚本:
https://github.com/zhajio1988/YASA
https://mp.weixin.qq.com/s/SvWRJBGggg0lqiD8YjEZ3Q
RISCV Core的仿真脚本:
https://github.com/google/riscv-dv
因为Python相对于其它语言如Perl,Tcl学习成本更低、资料更多、更容易上手,所以在实际项目中使用python的情况越来越多。当然并不是说Perl、Tcl不需要学了,老项目还需要继续维护。
但是,打开大佬的代码后,却一脸懵逼。
下面是Google RISCV Core验证项目的脚本run.py截图,大佬们都喜欢用Class来装逼,这个对于Python零基础或者初学者很不友好。函数还没学会,你叫我用class?整天看着UVM就已经够头疼的了,唉。
连验证大佬炯哥的脚本也是。。。还有一大堆的import,望而生畏、望而却步。