用户工具

站点工具


linux:perl:用perl产生verilog文件

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
linux:perl:用perl产生verilog文件 [2023/10/27 08:48] zhangguolinux:perl:用perl产生verilog文件 [2023/10/27 22:27] (当前版本) – [1. vpl.pl] zhangguo
行 11: 行 11:
  
 <file perl vpl.pl> <file perl vpl.pl>
 +#!/usr/bin/perl
 if (scalar @ARGV < 1) { if (scalar @ARGV < 1) {
-    print "usage: perl vpl.pl xxx.vpl\n";+    print "usage: perl vpl.pl xxx.x [xxx.x.v]\n";
     exit;     exit;
 } }
  
 $ivpl = shift @ARGV; $ivpl = shift @ARGV;
-$opl = $ivpl+$opl = "$ivpl.pl";
-$opl =~ s/\.\w+$/.opl/;+
 if (scalar @ARGV > 0) { if (scalar @ARGV > 0) {
 $vfile = shift @ARGV; $vfile = shift @ARGV;
 } }
 else { else {
-$vfile = $ivpl+$vfile = "$ivpl.v";
-$vfile =~ s/\.\w+$/.v/;+
 } }
  
行 54: 行 53:
 if ($ret == 0) { if ($ret == 0) {
     print "generate $vfile ok!\n";     print "generate $vfile ok!\n";
-    @ar = glob "$opl*"; +    @ar = glob "$opl";
-    #print "will delete @ar\n";+
     foreach $tmp (@ar) {     foreach $tmp (@ar) {
         unlink ($tmp);         unlink ($tmp);
行 62: 行 60:
  
 exit 0; exit 0;
 +
 </file> </file>
 +
 +
 +
 +===== - example =====
 +
 +<code bash>
 +localhost /home/user01 perl ./vpl.pl a.x
 +generate a.x.v ok!
 +</code>
 +
 +file: a.x
 +<code verilog>
 +module a(
 +    input clk,
 +
 +; for ($i=0; $i<10; $i++) {
 +    input data_$i,   
 +;}
 +
 +    output data_o
 +);
 +
 +; for ($i=0; $i<10; $i++) {
 +;     $j = 10 - $i;
 +//  10 - $j = $i;
 +; }
 +
 +
 +endmodule
 +</code>
 +
 +output a.x.v:
 +<code verilog>
 +module a(
 +    input clk,
 +
 +    input data_0,   
 +    input data_1,   
 +    input data_2,   
 +    input data_3,   
 +    input data_4,   
 +    input data_5,   
 +    input data_6,   
 +    input data_7,   
 +    input data_8,   
 +    input data_9,   
 +
 +    output data_o
 +);
 +
 +//  10 - 10 = 0;
 +//  10 - 9 = 1;
 +//  10 - 8 = 2;
 +//  10 - 7 = 3;
 +//  10 - 6 = 4;
 +//  10 - 5 = 5;
 +//  10 - 4 = 6;
 +//  10 - 3 = 7;
 +//  10 - 2 = 8;
 +//  10 - 1 = 9;
 +
 +
 +endmodule
 +</code>
 +
linux/perl/用perl产生verilog文件.1698367692.txt.gz · 最后更改: 2023/10/27 08:48 由 zhangguo

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki