“华为杯”第四届中国研究生创“芯”大赛——华为企业命题
作者:秘书处 发布时间:2021-03-25 来源:中国研究生创“芯”大赛 阅读次数:6737

赛题一:主动降噪(ANC)降噪滤波器设计及实现

 描述及要求:

  1. 软硬件实现ANC降噪滤波器,支持多 Ref MIC ,多Err MIC(>=1)的ANC;
  2. 支持FF/FB/Hybrid(FF&FB)模式;
  3. ANC降噪滤波器工作在192kHz上;
  4. ANC降噪滤波器用Verilog HDL实现。

 评审得分点:

  1. 声学建模方案清晰合理;
  2. ANC降噪滤波器系数训练方案清晰;
  3. 输出多mic降噪与单mic降噪效果对比;
  4. 设计的ANC降噪滤波器具有较大的降噪深度和和降噪带宽;
  5. ANC降噪滤波器对多种噪声均具备一定的鲁棒性。

 输出要求:

  1. 算法模型的设计文档与代码,C/C++/Matlab代码不限
  2. 详细设计文档和逻辑Verilog HDL代码;
  3. 有验证数据及波形对比截图。

 

赛题二:主动降噪(ANC)外围低延时升降采样滤波器设计及实现

 描述及要求:

  1. 软硬件实现ANC外围低延时升降采样滤波器;
  2. ANC方案支持数字或模拟micphone;
  3. ANC低延时升降采样滤波器用Verilog HDL实现;

 评审得分点:

  1. ANC通路底噪低于-100dBV;
  2. Analogue->ADC->SRC->ANC CORE(direct through FF Filters@192kHz->SRC->DAC-> Analogue不高于13us。

 输出要求:

  1. 算法模型的设计文档与代码,C/C++/Matlab代码不限;
  2. 详细设计文档和逻辑代码;
  3. 有验证数据及波形对比截图。

 

赛题三:逻辑实现高性能NTT(数论变换)多项式乘法

 描述及要求:

  1. 基于格理论的(全)同态加密算法的基本操作会涉及维数较大的整系数多项式的乘法,快速NTT算法可以提升多项式乘法的计算性能;
  2. 利用NTT算法实现上的多项式乘法,其中n=256,q=3329
  3. NTT串行和并行实现方式二选一,综合频率不低于200MHz工艺不限
  4. NTT串行实现逻辑门数(不包含memory面积)不超过90KGENTT并行实现逻辑门数(不包含memory面积)不超过1400KGEMemory可以使用寄存器搭建;
  5. NTT串行实现Cycles数不超过1024NTT并行实现Cycles数不超过8

 评审得分点:

  1. 功能正确实现符合题目要求
  2. 需要有资源、面积、性能和功耗评估结果;
  3. 符合题目要求的基础上,性能越高,得分越高;
  4. 有考虑硬件攻击,如侧信道、故障注入等可加分;

 输出要求:

1. 算法模型设计文档和算法模型代码;(C\matlab等不限)

2. 详细设计文档和逻辑代码、软件代码

3. 算法实现合理性分析文档

4. EDA验证报告

 

 

赛题四:逻辑实现低面积低功耗带防护的AES算法

 描述及要求:

  1. 采用Verilog实现超低面积超低功耗带防护的AES算法,工作时钟频率40MHz以上
  2. AES算法模块支持常见的ECB加解密/CBC加解密/CMAC运算模式,输入数据只支持以Byte为单位,不支持以bit为单位,数据大小端不做要求;
  3. AES算法模块支持128bit/192bit/256bit密钥长度不同密钥长度可通过配置选择
  4. AES算法模块具有全面防御常见的侧信道(如CPA等)及错误注入(如DFA等)攻击的能力;
  5. 一轮AES运算采用4拍完成时:AES算法模块占用的逻辑门数不可超过20kGESMIC40nm工艺下RTL前仿功耗不大于0.6mw(40MHZ),其它工艺其它频率按工艺收益比例进行折算即可,并在设计文档中给出分析说明。一轮AES运算也可以采用4拍以上完成,此时性能、面积和功耗需要按比例折算。
  6. 模块接口按照分组计算的方式实现,模块的接口可参考以下方式,实际实现时可根据具体实现进行增加或删减;

Input         clk,

Input         rst_n,

Input         block_input,(位宽为一个输入分组长度,例如AES为128bit分组

Input         block_run,

Input         data_length,(位宽32bit验证最大10MB

Input         input_key,(位宽为输入密钥长度)

Output        block_done,

Output        block_output,(位宽为一个输出分组长度)

Output        block_busy

 评审得分点:

1.实现算法功能正确,满足题目要求;

2.设计方案文档描述清晰,模块功能划分合理;

3.代码简洁,可维护性好;

4.防攻击方案设计合理有效,防攻击效果越好,得分越高;

5.文档中要求明确的对面积和功耗优化的措施说明优化措施越有效模块面积越小功耗越低得分越高

6.要求有完备的验证方案和验证用例;

 输出要求:

1.算法模型代码及文档;(C\matlab等不限)

2.详细设计文档和逻辑代码;

3.输出验证用例、验证数据和波形截图;

 

赛题五:逻辑实现超高性能的SM4-GCM算法

 描述及要求:

  1. 采用Verilog实现超高性能的SM4-GCM算法,明密文数据运算时平均运算性能达到80bit/cycleAAD数据长度及IV长度不做要求AAD数据长度可以为0,IV长度可以简化为96bit
  2. SM4-GCM算法模块支持常见的SM4-GCM运算模式(要求GCTR和GHASH并行计算)和GHASH运算模式,输入数据只支持以Byte为单位,不支持以bit为单位,数据大小端不做要求;
  3. SM4-GCM模块内部包含多个运算单元,在SM4-GCM模块顶层需要完成对多个运算单元的调度逻辑;
  4. 设计时需要关注模块的面积、性能和功耗的平衡;

 评审得分点:

1.实现算法功能正确,满足题目要求;

2.设计方案文档描述清晰,模块功能划分合理;

3.代码简洁,可维护性好;

4.文档中要求明确说明对多个运算核心的调度策略调度方式越优化得分越高

5.在满足性能要求的前提下模块面积越小运算核心数量越少,功耗越低,可综合频率越高,得分越高

6.文档中要求明确的对面积和功耗优化的措施进行说明优化措施越有效,得分越高;

7.要求有完备的验证方案和验证用例;

 输出要求:

1.算法模型代码及文档;(C\matlab等不限)

2.详细设计文档和逻辑代码;

3.输出验证用例、验证数据和波形截图;

 

赛题六: 小面积/低功耗TRNG熵源设计以及实现

 描述及要求:

  1. 熵源类型不限;
  2. 实现方式不限,数字或模拟电路均可以;
  3. 要求熵源面积/功耗尽量小:以SMIC-40nm工艺为例,数字熵源面积小于2000um2模拟熵源面积小于6000um2,数字/模拟熵源的前仿功耗要求小于0.2mW;其他工艺请按工艺系数进行折算;
  4. 说明熵源的随机性原理,最好能对熵源进行建模;

 评审得分点:

  1. 熵源熵值,满足0.997的要求;
  2. PPA要求:面积小/功耗低;
  3. 实现简单,采用数字/模拟电路设计
  4. 熵源建模能够从理论模型说明随机性来源并证明熵值满足大于0.997

 输出要求:

  1. 熵源算法设计文档以及熵源建模文档;
  2. 详细设计文档以及逻辑代码。

 

赛题七:  基于ARM TrustZone架构的系统安全增强设计方案

 描述及要求:

  1. 权限隔离是一种重要的安全防护手段,例如ARM TrustZone技术,将SOC分为安全和非安全两种权限空间。
  2. 实现一个满足ARM TrustZone要求的SOC系统具备安全和非安全权限的隔离能力。在此基础上,设计一种系统安全增强方案进一步提升安全世界的安全性;
  3. SOC中至少包含CPU(例如RISC-V)、总线、DMA、SRAM和一个外设接口(例如UART),其他组件可选,不做强制要求;
  4. 题目中未明确要求的,不做强制要求。

 评审得分点:

  1. 正确设计满足ARM TrustZone规范要求的SOC系统,实现权限之间的隔离;
  2. 设计的SOC安全架构方案合理,可有效增强TrustZone安全世界的安全性;
  3. 设计方案清晰正确,对实现方式和性能进行详细分析;
  4. 提供功能、性能仿真报告,每个组件功能正确;

 输出要求:

  1. 设计方案说明书;
  2. RTL代码 (Verilog或者VHDL);
  3. 功能、性能仿真报告。

 

赛题八:硬件实现超低功耗乘法器

 描述及要求:

1. 采用Verilog实现低功耗无符号算术乘法器,要求乘法器位宽64bit。

2.乘法器不可以使用*实现

3.乘法器内部可插拍

4.逻辑不大于25Kgate

5.不要求在FPGA器件或ASIC器件等载体上实现能通过综合、仿真验证即可

 评审得分点:

1.符合要求的基础上,功耗越低,得分越高。S40nm工艺下RTL前仿功耗不大于0.2mw(13MHZ),其它工艺按工艺收益比例进行折算即可。

2.实现乘法器的面积越小得分越高

3.需要说明所设计方案的优点和亮点,有资源、功耗仿真结果。

 输出要求:

1.详细设计文档和逻辑代码;

2.实现合理性分析文档需要着重说明低功耗设计思路

 

赛题九超高性能非对称算法RSA/ECC硬件实现

 描述及要求

  1. verilog实现RSA模幂/ECC点乘算法 RSAECC任选一种即可。RSA算法位宽支持典型位宽512/1024/2048/3072/4096bitECC算法支持典型位宽128/256/384/521bit
  2. 要求硬件实现模幂/点乘;
  3. 400MHz下RSA2048指数2048bit运算性能不低于1000次/秒;ECC256点乘平均性能不低于2万次/秒;其他位宽、频率下性能按照比例折算;
  4. 实现频率工艺结构不做要求;逻辑面积不大于1000K gate,不包含memory面积。
  5. 对硬件主被动攻击安全性不做要求

 评审得分点:

1.RSA/ECC功能正确EDA仿真通过,满足题目要求;

2.方案和实现文档描述清晰,硬件实现结构合理;

3.实现性能满足题目要求

4.给出面积频率 

5.功耗评估结果;(此项为加分项,不做统一要求)

6.可具备加解密/签名验签能力。(此项为加分项,不做统一要求)

 输出要求:

1.总体设计方案以及理论分析文档

2.详细设计文档和逻辑代码、软件代码;

3.功能仿真报告

 

 

作品提交要求: 

由于华为赛题的专项奖是线下评审,没有答辩环节,除按竞赛组委会要求提交PPT外,还需按华为赛题要求提供文档和代码。如果是硬件作品,需提供照片或视频,含竞赛组成员合影。

 

华为专项奖设置: 

华为公司为选作华为赛题的前15名赛队设立华为专项奖,获奖赛队可同时参评竞赛组委会设立的其它竞赛奖。

华为专项奖一等奖5队,每队奖金1万元,

华为专项奖二等奖10队,每队奖金0.5万元。

 

华为命题专家咨询邮箱:wangbo24@hisilicon.com