Perl-统计某电路面积、功耗占比(NVDIA2019笔试)

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笔试)的更多相关文章
- ChineseCounter.cs 统计中文文本中常用字占比
http://www.tuicool.com/articles/qmMba2 1 using System; using System.IO; using System.Collections.Gen ...
- 用 perl 统计 fasta 文件序列的总长
#!/usr/bin/perl -w use strict; die "Usage: $0 <file>\n" unless (@ARGV == 1); my $lin ...
- 【转载】FPGA功耗的那些事儿
在项目设计初期,基于硬件电源模块的设计考虑,对FPGA设计中的功耗估计是必不可少的. 笔者经历过一个项目,整个系统的功耗达到了100w,而单片FPGA的功耗估计得到为20w左右, 有点过高了,功耗过高 ...
- Tcl与Design Compiler (七)——环境、设计规则和面积约束
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 本文的主要内容是讲解( ...
- (数字IC)低功耗设计入门(六)——门级电路低功耗设计优化
三.门级电路低功耗设计优化 (1)门级电路的功耗优化综述 门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化 ...
- FPGA功耗那些事儿(转载)
在项目设计初期,基于硬件电源模块的设计考虑,对FPGA设计中的功耗估计是必不可少的.笔者经历过一个项目,整个系统的功耗达到了100w,而单片FPGA的功耗估计得到为20w左右,有点过高了,功耗过高则会 ...
- 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 ...
- [ACM_水题] 不要62(hdu oj 2089, 不含62和4的数字统计)
Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来, ...
- 数位类统计问题--数位DP
有一类与数位有关的区间统计问题.这类问题往往具有比较浓厚的数学味道,无法暴力求解,需要在数位上进行递推等操作.这类问题往往需要一些预处理,这就用到了数位DP. 本文地址:http://www.cnbl ...
随机推荐
- 实验14:VLAN间的路由
实验11-1: 单臂路由实现VLAN 间路由 Ø 实验目的通过本实验,读者可以掌握如下技能:(1) 路由器以太网接口上的子接口(2) 单臂路由实现VLAN 间路由的配置Ø 实验拓扑 实验步 ...
- 如何准备Java面试?如何把面试官的提问引导到自己准备好的范围内?
Java能力和面试能力,这是两个方面的技能,可以这样说,如果不准备,一些大神或许也能通过面试,但能力和工资有可能被低估.再仔细分析下原因,面试中问的问题,虽然在职位介绍里已经给出了范围,但针对每个点, ...
- ImageButton去边框&Button或者ImageButton的背景透明
在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法 一种方法是将ImageButton的背景改为所需要的图片.如:android:backgro ...
- 关于将笔记本电脑作为wifi热点的详细步骤
常规做法直接度娘.如果出现无法打开wifi功能,可找对应解决方法. 1.先检查网卡是否支持承载网络,检查方法为在cmd中使用管理员权限运行,输入netsh wlan show drivers.查看支持 ...
- 使用Java8 Files类读写文件
Java8 Files类的newBufferedReader()和newBufferedWriter()方法 这两个方法接受Path类型的参数.Path 类是Java8 NIO中的接口.可以由Path ...
- 04-Spring01-IOC
今日知识 1. Spring IOC控制反转(Inverse of control) 2. Spring DI依赖注入(Dependency Injection ) Spring 1. 概念:简单来说 ...
- [译]课程 3: 更多关于 Jobs 和 JobsDetails
译者注: 目录在这 [译]Quartz.NET 3.x 教程 译者注: 原文在这 Lesson 3: More About Jobs & JobDetails 正如你在 课程 2 中看到的, ...
- logstash 安装插件multiline
一.安装multiline 在使用elk 传输记录 java 日志时,如下 一个java的报错 在elk中会按每一行 产生多条记录,不方便查阅 这里修改配置文件 使用 multiline 插件 ...
- Shell脚本 统计店中店导出数据
有一个数据文件 yue.csv 是这样的 #head yue.csv 日期,商家名称,要求在线数,当天在线数,要求在线时长,在线时长达标数, ……"2017-12-31&quo ...
- linux的那些事-时间 时区
时间表示: 用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式显示当前时间,或是设置系 ...