芯华章持续助力第四届集成电路eda设计精英挑战赛,并邀请华南理工大学王小航教授带来详细的赛题解析,希望能够帮助同学们更加从容应对赛事,赛出水平! 1
赛题背景分析
低功耗设计是数字系统非常重要的考虑因素。为了支持低功耗设计,首先要对功耗进行计算。功耗可分为静态功耗(漏电流引起)和动态功耗(门翻转引起)。在本赛题中,我们主要考虑动态功耗的计算方法。 动态功耗的计算公式如下: 其中,vdd为电压,c为等效电容,tr为翻转率,即单位时间内逻辑门从0→1或从1→0的翻转次数。我们可以把电压和等效电容近似视为常数,对于不同的电路负载,统计其tr,就可以计算动态功耗。 这道赛题的目的,就是让大家通过vcd文件来统计一个电路负载的翻转率。 如何得到翻转率呢?我们回顾一下,在电路设计的时候,先设计其rtl(如verilog)代码,并编写testbench给出激励进行测试,如下所示: 用常见的仿真工具跑如上rtl代码和testbench,可得到如下的输出结果波形: 信号变化波形图(芯华章科技股份有限公司-fusion debug 提供) 仿真工具可以把上述波形输出vcd文件,类似: 好,现在重点来了。给定vcd文件(其实就是波形的文本表示),我们就可以统计翻转率,进而利用上述的功耗公式来计算动态功耗,它们之间的逻辑关系如下图: 在本赛题中,我们只关注如何从vcd文件(对应波形)到翻转率的解析。 2
赛题要点解析
本赛题主要就是进行vcd文件的解析,然后根据题目的要求,得到不同的统计结果(如翻转次数tc,信号逻辑值为1的时间t1, 信号逻辑值为0的时间t0,信号逻辑值为x的时间tx,以及信号逻辑值为1的概率又称静态概率sp)、某个时间窗口的统计结果、不同层次信号的统计结果。 因此,首先需要定义一些数据结构表示信号时间序列,可以用数组或者vector等,将vcd文件读取、解析为这些信号时间序列变量,再针对这些变量进行统计分析,得到所需的输出。如下图所示: 2.1 vcd文件解析 vcd文件解析的思路如下: 首先扫描文件头,建立每个信号对应的数组或者vector。
将vcd文件看作是不同时间段的信号改变,对于一个时间段,扫描各个变量的值的变化,记录其变化,就构成了时间序列。
这样,扫描完一个文件之后,各个变量随时间变化的序列就存下来了。 2.2 统计输出 有了信号的时间序列值,可以根据题目要求打印统计结果。主要考虑几方面: 翻转率等参数的计算,需要统计1和0的时间。
一个时间窗口的统计值,需要截取一个时间窗口进行计算。
层次化的信号,需要从文件中读取信号间的层次关系进行计算。
对于题目中的加分项,即给定vcd文件画波形,可以尝试采用matlab或者python等工具,生成一个数组和画图脚本,调用这些外部画图工具来画图。 2.3 多核加速 在题目要求中提到了多核加速,假如你的电脑有多个核,就可以用多线程方式加速。多核加速的本质是将任务划分到多个线程,让多个线程在多个核上同时运行从而提高计算速度。 加速方法有两种,一种是将文件读入到内存,然后将不同的行分配到不同的核/线程来处理,我们称之为横向划分;另外一种是将文件切分开分到不同的核,每个核处理文件的不同段,我们称之为纵向划分。 可以采用pthread或者openmp进行并行编程,需要注意线程间的同步和锁机制。 2.4 文件处理 当vcd文件很大时,为了减少一次性读入占用太多内存,可以每次读入一部分文件存在内存中,如用getline等函数每次读一行等。 3
建议解题步骤
1
对vcd的基本语法先熟悉一下,如信号名字的对应关系,每一行表示什么含义等。
2
实现vcd文件到信号时间序列变量的转换。这是一个文本逐行解析的过程。
3
写统计分析的模块,每个模块对应不同的统计需求,相对独立。
4
学习pthread或openmp多线程编程,学习如何创建线程、线程间如何同步、加锁等。
5
用pthread或openmp提高你的程序的效率,这里需要并行划分程序。
6
尝试一下不同的文件读取速度和占用内存情况,选择一个占用内存比较小的方式。
4
其它注意事项
苹果因电池门再遭集体诉讼
医药价格改革公布,各方影响全面解读
2019数字经济峰会在河南郑州市国际会展中心隆重举行
铅酸电池命运 稳步走向无法逃避的末日?
如何在OpenVINO 开发套件中“无缝”部署PaddlePaddle BERT模型
数字集成电路动态功耗优化策略分析与评估
对于LCD液晶屏的表面沾染污渍该如何清理
dfrobotURM07-UART低功耗超声波测距模块简介
三自由度气动机械手的PLC控制
对于物联网,领导者需要了解什么呢?
华为无惧“芯片禁令” 任正非早就留了“后手”
家用机器人成为巨头们的“群雄逐鹿”之地
AI技术已成为高性能计算领域的关键部分
最佳USB Type-C PD快速充电的解决方案设计
石英晶振使用过程的注意事项
光刻机的工作原理以及关键技术
玩转iPhone:你可能不知道的iPhone实用技巧
数据库技术发展史
基于ADSP-BF561的宽带信息终端设计
科伦特商用显示 助力知名零售品牌智慧升级