1、perl脚本

open IN, "<", "data.txt" or die "The file does not exist!";

$line = ;    # 文本总的行数

while(<IN>){
chomp;
#print("$_\n");
push(@line_array,$_); # 将文本所有行存入数组
if(/^ALU/){
push(@ALU_index,$line); # 记录ALU所在行
}
if(/^RAM/){
push(@RAM_index,$line); # 记录RAM所在行
}
$line++;
} #print("$line\n");
#print("@RAM_index\n"); foreach (@line_array){
print("$_\n");
@elements = split(/\s+/,$_); #按空格进行切分
push(@name_array,$elements[]); #将每行的4个元素进行归类
push(@number_array,$elements[]);
push(@area_array,$elements[]);
push(@power_array,$elements[]);
}
#print("@power_array\n"); # 计算总面积
$total_area = ;
for($i=;$i<$line;$i++){
$total_area = $total_area + $number_array[$i]*$area_array[$i];
}
print("total area is $total_area\n"); # 计算RAM的面积
$RAM_area = ;
foreach(@ALU_index){
$RAM_area = $RAM_area + $number_array[$_]*$area_array[$_];
}
print("RAM area is $RAM_area\n");
$RAM_area_percentage = $RAM_area/$total_area*;
print("The percentage of RAM area is $RAM_area_percentage %\n"); close IN;

2、输出

Name:           Instance_number        Area-per-instance      Power-per-instance
ALU-Adder: 0.0333
ALU-Multiplier 0.2235
RAM-Small 0.0542
RAM-Large 1.9312
Control 0.2344
Data-pipe 1.3423
Processor 1.0212
total area is
RAM area is
The percentage of RAM area is 61.5019903028154 %

3、涉及知识点

  1)数组的基本操作:push

  2)按照空白字符进行分割:split(/\s+/,$_),+表示多个空格

  3)循环语句:for,foreach

Perl-统计某电路面积、功耗占比(NVDIA2019笔试)的更多相关文章

  1. ChineseCounter.cs 统计中文文本中常用字占比

    http://www.tuicool.com/articles/qmMba2 1 using System; using System.IO; using System.Collections.Gen ...

  2. 用 perl 统计 fasta 文件序列的总长

    #!/usr/bin/perl -w use strict; die "Usage: $0 <file>\n" unless (@ARGV == 1); my $lin ...

  3. 【转载】FPGA功耗的那些事儿

    在项目设计初期,基于硬件电源模块的设计考虑,对FPGA设计中的功耗估计是必不可少的. 笔者经历过一个项目,整个系统的功耗达到了100w,而单片FPGA的功耗估计得到为20w左右, 有点过高了,功耗过高 ...

  4. Tcl与Design Compiler (七)——环境、设计规则和面积约束

    本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 本文的主要内容是讲解( ...

  5. (数字IC)低功耗设计入门(六)——门级电路低功耗设计优化

    三.门级电路低功耗设计优化 (1)门级电路的功耗优化综述 门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化 ...

  6. FPGA功耗那些事儿(转载)

    在项目设计初期,基于硬件电源模块的设计考虑,对FPGA设计中的功耗估计是必不可少的.笔者经历过一个项目,整个系统的功耗达到了100w,而单片FPGA的功耗估计得到为20w左右,有点过高了,功耗过高则会 ...

  7. du 使用详解 linux查看目录大小 linux统计目录大小并排序 查看目录下所有一级子目录文件夹大小 du -h --max-depth=1 |grep [

    常用命令 du -h --max-depth=1 |grep [TG] |sort   #查找上G和T的目录并排序 du -sh    #统计当前目录的大小,以直观方式展现 du -h --max-d ...

  8. [ACM_水题] 不要62(hdu oj 2089, 不含62和4的数字统计)

    Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来, ...

  9. 数位类统计问题--数位DP

    有一类与数位有关的区间统计问题.这类问题往往具有比较浓厚的数学味道,无法暴力求解,需要在数位上进行递推等操作.这类问题往往需要一些预处理,这就用到了数位DP. 本文地址:http://www.cnbl ...

随机推荐

  1. 基于HTTPS的接口测试——nginx配置SSL

    目录 基于HTTPS的接口测试--nginx配置SSL 1. 背景 2. 所需环境与域名备案解析 2.1 云服务器 2.2 域名 2.3 SSL证书 2.4 网站备案 2.5 域名解析 3.nginx ...

  2. vb.net datagridview 使用方法

    目录:  1. 取得或者修改当前单元格的内容  2. 设定单元格只读  3. 不显示最下面的新行  4. 判断新增行  5. 行的用户删除操作的自定义  6. 行.列的隐藏和删除  7. 禁止列或者行 ...

  3. HDU_5057_分块

    http://acm.hdu.edu.cn/showproblem.php?pid=5057 分块,保存每个块中每位对应数字的和,复杂的是getmum,左右下标所在的块不能直接读取block数组,要重 ...

  4. Zabbix监控实现跨区域跨网络监控数据

    Zabbix监控实现跨区域跨网络监控数据 环境: 公司现有服务器10台,其中5台服务器有一台安装了zabbix,并且这5台服务器处于一个网络,只有一台服务器有公网ip, 另外的5台处于另一个网络,仅有 ...

  5. HDU4195 Regular Convex Polygon (正多边形、外接圆)

    题意: 给你正n边形上的三个点,问n最少为多少 思路: 三个点在多边形上,所以三个点的外接圆就是这个正多边形的外接圆,余弦定理求出每个角的弧度值,即该角所对边的圆周角,该边对应的圆心角为圆心角的二倍. ...

  6. 实例探究Aspectj,解析SentinelResourceAspect

    为了学习SentinelResourceAspect,这篇文章里我用Aspectj实现一个AOP实例,一起来看下. Sentinel 提供了 @SentinelResource 注解用于定义资源,支持 ...

  7. CodeForces 327B 水题。

    I - 9 Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  8. Jedis客户端即redis中的pipeline批量操作

    关注公众号:CoderBuff,回复"redis"获取<Redis5.x入门教程>完整版PDF. <Redis5.x入门教程>目录 第一章 · 准备工作 第 ...

  9. Python学习小记(4)---class

    1.名称修改机制 大概是会对形如 __parm 的成员修改为 _classname__spam 9.6. Private Variables “Private” instance variables ...

  10. Linux运维--15.OpenStack vm使用keepalived 实现负载均衡

    外接mariadb集群 实现负载均衡 实验环境 10.0.1.27 galera1 10.0.1.6 galera2 10.0.1.23 galera3 10.0.1.17 harpoxy1 hapr ...