《每日一题》NO.77:利用perl对文本进行处理

Posted 芯司机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《每日一题》NO.77:利用perl对文本进行处理相关的知识,希望对你有一定的参考价值。

芯司机《 每日一题》会每天更新一道IC面试笔试题(其中有些题目已经被很多企业参考采用了哦),聪明的你快来挑战一下吧!


《每日一题》NO.77:利用perl对文本进行处理



今天是第77题


Perl和Tcl是ic设计中最常用的两种脚本语言,在这里先总结一下Perl的作用: 

用于生成Verilog代码

在写verilog时,经常遇到一些规律性强,编写又比较麻烦的代码,而这些恰恰又是可重用性比较强的。比如总线模块、FIR滤波器、IIR滤波器,只要滤波器阶数和参数定了编码都大致相似的模块,就比较适合用来自动生成实现他们功能的verilog代码。Perl的强项在于文本处理,对于verilog代码的生成,perl的代码会比较简洁易写。


用于扩充Verilog的语法

有一些verilog没有的语法功能,可以使用perl来扩充。比如工程中某变量的bit数有变化,导致了门级描述中门的个数变化,就可以用perl来生成相应的verilog代码。


用于验证中的数据处理

验证中有些数据格式需要处理,还有些数据需要分析。比如用matlab生成的数据改写成verilog能识别的ROM格式,或是直接生成ROM的verilog。还有Verilog验证后生成的数据格式变成下一级做数据分析软件能识别的格式。Perl还能直接对verilog验证所得数据进行数据比对和分析。


后端工具与前后级连接的格式处理

如果说Tcl比较常用在后端的软件使用中,那么perl就大多数用在软件和软件之间粘合上。有一些前级的工具所得结果不能直接用于下级工具的输入,那他们之间的转换用perl是完全合适的。


如上所述,基本上都用在文本格式的转换上。其实,perl的功能和C/C++是一样的,只是运行的方式不同,C等是编译之后生成exe文件,而perl是需要perl的运行环境支撑,有点像运行语句编译一句的感觉,这就与matlab的原理有点相似。可perl与C相比更加灵活,在文本操作上的编码相当简便。


脚本语言也是IC工程师必须要掌握的技能。


《每日一题》NO.77:利用perl对文本进行处理


《每日一题》NO.77:利用perl对文本进行处理

用perl或者shell脚本对当前目录中所有符合下面名字的文件内容进行处理,并同意第一列每个单词出现的个数,左图为源文件,右图为处理后的文件。

《每日一题》NO.77:利用perl对文本进行处理


以上就是今天的题啦,小伙伴们开始解题吧~


答案将在明天公布,敬请期待~


也欢迎更多小伙伴来留言讨论哦~





《每日一题》NO.77:利用perl对文本进行处理



上期第76题参考答案


《每日一题》NO.77:利用perl对文本进行处理

for the circuit and two given stuck-at faults shown in figure below, use the parallel-pattern signle-fault propagation fault simulation techniqure to identify which fault can be detected by the given test patterns

 

《每日一题》NO.77:利用perl对文本进行处理

解答:


DFT simualtion 根据输出结果和期望值进行比较,如果发生mismatch,就可以说明此pattern是一个有效的pattern。parallel-pattern signle-fault 说的意思单次只测试一个fault。图中可以看到3个pattern,2个fault A和B。


期望的simualtion 结果:a = 101, b = 011, O1 = 001, B = 100 , c = 101


stuck-at A : a= 101, b = 011, A = 000, O1 = 000, B = 100, c = 100。和其他期望结果不一致。


stuck-at B : a= 101, b = 011, O1 = 001, B = 111, c = 111。和其他期望结果不一致。


因此, pattern a = 101, b = 011可以同时用于fault-A,faultB的测试。


《每日一题》NO.77:利用perl对文本进行处理



《每日一题》NO.77:利用perl对文本进行处理

请持续关注“芯司机”的每日一题,不见不散!


直击求职难点,“每日一题”剑指offer!

请大家持续关注芯司机,我们会带来更多更全面的知识分享,助力学生就业。

每日更新一题,长按二维码立即订阅

《每日一题》NO.77:利用perl对文本进行处理



推荐阅读:

E课网(www.eecourse.com)是摩尔精英旗下专业的集成电路教育平台,致力于半导体行业高质量集成电路专业人才的培养。平台以集成电路企业岗位需求为导向,提供贴合企业环境的实训平台,通过线上线下的培训方式, 快速培养学员符合企业需求。


E课网拥有成熟的培训平台、完善的课程体系、强大的师资力量,规划中国半导体精品课程体系168门,涵盖整个集成电路产业链,并拥有4个线下实训基地。至今深度培养总人数15367人,为行业直接输送专业人才4476名。与143所高校建立深度合作关系,共举办企业专场IC培训240场

以上是关于《每日一题》NO.77:利用perl对文本进行处理的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 每日一题 68. 文本左右对齐

LeetCode每日一题

12.3PMP试题每日一题

每日一题899. 有序队列

LeetCode每日一题

每日一题:树模型为什么不需要归一化?