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 ...
随机推荐
- 用goaccess实现可视化并实时监控access日志
goaccess access.log -o ../html/report.html --real-time-html time-format='%H:%M:%S' --date-format=‘%d ...
- MySql新版本安装配置
版本:mysql-5.7.16-winx64 平台Windows 7 x64 1.进入mysql主目录(建议将其移到C或D盘的根目录,并改名为mysql) 2.配置path环境变量(如D:\JAVA\ ...
- WeChall_Prime Factory (Training, Math)
Your task is simple:Find the first two primes above 1 million, whose separate digit sums are also pr ...
- EOJ Monthly 2019.2 E 中位数 (二分+中位数+dag上dp)
题意: 一张由 n 个点,m 条边构成的有向无环图.每个点有点权 Ai.QQ 小方想知道所有起点为 1 ,终点为 n 的路径中最大的中位数是多少. 一条路径的中位数指的是:一条路径有 n 个点,将这 ...
- HDU6446 Tree and Permutation(树、推公式)
题意: 给一棵N个点的树,对应于一个长为N的全排列,对于排列的每个相邻数字a和b,他们的贡献是对应树上顶点a和b的路径长,求所有排列的贡献和 思路: 对每一条边,边左边有x个点,右边有y个点,x+y= ...
- DOM - Document Object Model
Document Object Model
- [转]java 为什么wait(),notify(),notifyAll()必须在同步方法/代码块中调用?
在 Java中,所有对象都能够被作为"监视器monitor"——指一个拥有一个独占锁,一个入口队列和一个等待队列的实体entity. 所有对象的非同步 方法都能够在任意时刻被任意线 ...
- Django (一) 基础
创建项目 创建app python manager.py startapp app01 修改.添加url from django.conf.urls import url,include fr ...
- 随着页面滚动,数字自动增大的jquery特效
首先为了截出gif图,我下载了一个小工具 GifCam: https://www.appinn.com/gifcam/ 随着页面滚动,数字自动增大的jquery特效 主要就是依赖这个脚本script. ...
- JavaScript之DOM基础
概述 DOM(Document Object Model)文档对象模型,针对Html和XML的文档的对象API,是一项 W3C (World Wide Web Consortium) 标准.文档对象模 ...