免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2954 | 回复: 17

求个程序 [复制链接]

论坛徽章:
0
发表于 2013-02-22 10:56 |显示全部楼层
提取第一张网表里的pin信息,输出第二张图的文件
I--Input
O-Output
B--Inout
输出可以都提取,也可以有选择的提取,比如只提取SMIC_NR2,谢谢大牛

2图片

2图片

论坛徽章:
0
发表于 2013-02-22 10:59 |显示全部楼层
白色的部分是你要的还是*PIN这行是你要的?

哪行是你要的?

论坛徽章:
0
发表于 2013-02-22 11:10 |显示全部楼层
回复 2# dahe_1984


    第一张图的蓝色行
就是从第一张图的文件内容,输出第二张图文件内容
工作需要,手写太累,谢谢您

论坛徽章:
0
发表于 2013-02-22 11:20 |显示全部楼层
* PININFO A:I Y:O HG:B HV:B 转换成什么?

论坛徽章:
0
发表于 2013-02-22 11:32 |显示全部楼层
回复 4# dahe_1984


("HV" "Inout" "Power")
("HG" "Inout" "Ground")
("A" "Input")
("Y" "Output")
请看
*.PININFO A:I Y:O HG:B HV:B

B 代表“Inout"
I 代表“Input"
O代表"Output"
然后出处它们各自冒号前的字符即可
但是B冒号前有“Power"和"Ground"的区别
谢谢

论坛徽章:
0
发表于 2013-02-22 12:59 |显示全部楼层
$ perl yuama.pl
A I
Y O
HG B Inout
HV B Inout

he@he-THINK ~/manson/Image
$ cat yuama.pl
#!perl

my $str = '*.PININFO A:I Y:O HG:B HV:B';

my @array = split /\s+/, $str;

my %hash = (
B  => 'Inout',
I  => 'Input',
O  => 'Output',
HV => 'Power',
HG => 'Ground',
);

foreach (@array) {
my @tmp;
my $rc;

   next if /PININFO/;

   @tmp = split /:/, $_;
   $rc = "$tmp[0]" . ' ' . "$tmp[1]";
   if($tmp[1] eq 'B') {
        $rc = $rc . ' ' . "$hash{$tmp[1]}";
   } else {

   }

   print "$rc\n";
}

是这么算么?

论坛徽章:
0
发表于 2013-02-22 13:04 |显示全部楼层
$ perl yuama.pl
("A" "Input")
("Y" "Output")
("HG" "Inout" "Ground")
("HV" "Inout" "Power")

he@he-THINK ~/manson/Image
$ cat yuama.pl
#!perl

my $str = '*.PININFO A:I Y:O HG:B HV:B';

my @array = split /\s+/, $str;

my %hash = (
B  => 'Inout',
I  => 'Input',
O  => 'Output',
HV => 'Power',
HG => 'Ground',
);

foreach (@array) {
my @tmp;
my $rc;

   next if /PININFO/;

   @tmp = split /:/, $_;
   $rc = "\"$tmp[0]\"" . ' ' . "\"$hash{$tmp[1]}\"";
   if($tmp[1] eq 'B') {
        $rc = $rc . ' ' . "\"$hash{$tmp[0]}\"";
   } else {

   }

   print "($rc)\n";
}

论坛徽章:
0
发表于 2013-02-22 13:18 |显示全部楼层
回复 7# dahe_1984


    谢谢了先,赞一个好快

论坛徽章:
0
发表于 2013-02-22 13:27 |显示全部楼层
回复 7# dahe_1984


    有好多行的,不光只有一行,只是简单句了个例子
另外每一段要提取的都是以.SUBCKT开始的,也不是从图片提取,是从文件提的
.SUBCKT 后面跟着:I, :B, :O字符前的字符串,然后是一行一行的下面这些东西
*.PININFO ADC1_CHSEL[0]:I ADC1_CLK:I ADC1_CONV:I ADC1_ON:I ADC1_SAMP:I
*.PININFO ADC1_TSVREFE:I ADC2_CHSEL[4]:I ADC2_CHSEL[3]:I ADC2_CHSEL[2]:I
*.PININFO ADC2_CHSEL[1]:I ADC2_CHSEL[0]:I ADC2_CLK:I ADC2_CONV:I ADC2_ON:I
*.PININFO ADC2_SAMP:I CORE_PLL_CON[5]:I CORE_PLL_CON[4]:I CORE_PLL_CON[3]:I
*.PININFO CORE_PLL_CON[2]:I CORE_PLL_CON[1]:I CORE_PLL_CON[0]:I
*.PININFO CORE_POR_OFF_H:I CSS_EN:I HSEBYP:I HSEON:I HSION:I HSI_CAL[7]:I
*.PININFO HSI_CAL[6]:I HSI_CAL[5]:I HSI_CAL[4]:I HSI_CAL[3]:I HSI_CAL[2]:I
*.PININFO HSI_CAL[1]:I HSI_CAL[0]:I LP_MODE:I LSEBYP_H:I LSEON_H:I LSION_H:I
*.PININFO PLLMUL[4]:I PLLMUL[3]:I PLLMUL[2]:I PLLMUL[1]:I PLLMUL[0]:I PLLON:I
*.PININFO PLLSRC:I PLLXTPRE:I PLS_H[2]:I PLS_H[1]:I PLS_H[0]:I PVD_EN_H:I
*.PININFO TEST_MODE_H:I TEST_S0_H:I TEST_S1_H:I TEST_S2_H:I TI_HSI_H:I
*.PININFO TI_POR_H:I TO_SPOR_H:I VC[4]:I VC[3]:I VC[2]:I VC[1]:I VC[0]:I
*.PININFO ADC1_DATA[11]:O ADC1_DATA[10]:O ADC1_DATA[9]:O ADC1_DATA[8]:O
*.PININFO ADC1_DATA[7]:O ADC1_DATA[6]:O ADC1_DATA[5]:O ADC1_DATA[4]:O
*.PININFO ADC1_DATA[3]:O ADC1_DATA[2]:O ADC1_DATA[1]:O ADC1_DATA[0]:O
*.PININFO ADC2_DATA[11]:O ADC2_DATA[10]:O ADC2_DATA[9]:O ADC2_DATA[8]:O
要是能把文件传给你就好了,可惜我unix服务器上的东西没权限弄出来

论坛徽章:
0
发表于 2013-02-22 13:53 |显示全部楼层
你自己在加点东西吧, 每次都只说一点点,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP