Perl脚本能够高效批量化操作,降低错误率,提高效率。如批量生成verilog代码,快速生成仿真testbench,verilog代码的自动对齐,module模块的例化连接。
Perl脚本可以用于生成有规律的代码,如SOC地址仲裁模块verilog代码、不同规格的CRC校验verilog代码、不同规格的FIFO代码。
在芯片设计过程中,所用到的FIFO数量很多,大于100多个很常见,甚至大于500个都是存在的。而不同规格的FIFO基本都是用最基础的RAM模块来搭建实现的,如果依靠人工编写,错误率高而且效率极其低下。因此,使用perl脚本编写不同规格的FIFO代码是可靠高效的方式。
快速生成testbench:在进行功能仿真的时候,需要编写测试案例testbench,可以利用perl脚本快速生成测试案例的大部分代码,手动添加少量verilog,即可快速完成testbench的编写,有效减少工作量。
Verilog代码自动对齐:verilog代码在人工编写时全靠手敲空格符会很累,并且效率低下,采用perl脚本一键对齐,效率高节省体力。
Module例化连接:有些module模块的输入输出信号有上百条,依靠手动添加会很繁琐,此时利用perl脚本生成例化模块可以有效提高效率,降低错误率。
3、如何使用perl脚本?
生成RAM代码步骤:--在window环境中
1)在Excel表格中填写不同规格的RAM参数,如128*256 FIFO 1R1W 读写延时 名称等
3)在Windows系统里将填写好的表格拖拽到Perl脚本图标上,即可生成代码
生成RAM代码步骤:--在linux环境中
1) 在Excel表格中填写不同规格的RAM参数,如128*256 FIFO 1R1W 读写延时 名称等,将填写好的表格保存为CSV格式: ram_list.csv
2) 写好Perl脚本后保存为pl格式:fifo_generate.pl