首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >脚本将位爆破后的netlist转换为总线格式

脚本将位爆破后的netlist转换为总线格式
EN

Unix & Linux用户
提问于 2020-05-21 23:43:09
回答 2查看 589关注 0票数 0

我有这样的信号

代码语言:javascript
运行
复制
signal[3]_and_[31]
signal[3]_and_[30]
signal[3]_and_[29]
signal[3]_and_[28]
...
signal[3]_and_[0]

signal[2]_and_[31]
signal[2]_and_[30]
signal[2]_and_[29]
signal[2]_and_[28]
...
signal[2]_and_[0]
..
...

我想把它转换成

代码语言:javascript
运行
复制
signal[3:0]_and_[31:0]

帮助感激。

EN

回答 2

Unix & Linux用户

发布于 2020-05-22 03:22:20

假设每比特有一行该死的信号,我们运行下面的Perl代码并将其转换为相应的总线符号。

代码语言:javascript
运行
复制
perl -MList::Util=max,min -lne '
  BEGIN {
   $sig_re = qr/signal\[(\d+)]_and_\[(\d+)]/;
   $bus_fmt = q/signal[%d:%d]_and_[%d:%d]/;
  }

  /^$sig_re$/ and push(@A,$1), push(@B,$2);

  print(sprintf($bus_fmt,
           max(@A), min(@A),
           max(@B), min(@B)))
                 if eof;
' signals.bit_blasted > signals.bussed
票数 0
EN

Unix & Linux用户

发布于 2020-05-22 21:59:30

代码语言:javascript
运行
复制
$ echo 'signal[3]_and_[31]' | awk -F'[][]' '{ print "signal[" $2 ":0]_and_[" $4 ":0]"; }'
signal[3:0]_and_[31:0]
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/588225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档