华为命题【华为命题均属于集成电路专业赛(创芯大赛)】赛题一:采用硬件RTL代码方式实现串行FFT算法(要求工作频率达到1Ghz)。描述及要求:1.FFT支持串行64、128、256、512点运算,支持FFT/IFFT两种运算模式。2.运算支持自适应压缩移位,以减少设计电路面积。3.对采用的基运算组合方式(基2、4、8)不做强制要求,最大支持基8运算。4.为减少面积存储单元采用两块单口ram(同一时刻只读或只写),每块大小256*32(数据位宽32bits,ram深度为256(最大支持512点))。5.FFT输入I/Q数据为12bits有符号数,输出I/Q数据30bits,30bits为理论计算最大值(512点基2串行实现)。各种运算单元带来的位宽扩展情况:Radix-22点FFT最大会带来2bit的数据位扩展Radix-44点FFT最大会带来3bit的数据位扩展Radix-88点FFT最大会带来4bit的数据位扩展注:自适应移位、ram、复乘器、旋转因子表等均有相应的IP可供选择,选手也可自行设计。评审得分点:1.500条用例(预设),用例跑通越多,得分越高。2.FFT运算处理时间越短,得分越高。3.面积越小,得分越高。4.综合时钟频率越高,得分越高。5.时钟门控率越高,得分越高。输出要求:1.算法设计文档和算法代码。2.详细设计文档和逻辑代码、软件代码。赛题二:采用软硬件结合的方式实现SM9算法(要求具备防DFA\SPA\DPA能力)。描述及要求:1.SM9需要的模乘、模加等基本运算使用硬件实现。其他高层算法可采用软件实现。具备防止各种已知SPA\DPA\DFA(二阶或者高阶)攻击的能力。2.可只实现点乘运算,其它高层算法不强制要求。3.256点乘至少可以达到20次/S(对应时钟频率为120MHz,其他时钟频率其它密钥位宽可等比例折算)。4.是否素域等不做强制要求。评审得分点:1.防攻击能力越强越全面,没有任何防护漏洞。得分越高。2.SM9密钥位宽至少为256位,位数越长,得分越高。3.性能越高,得分越高。输出要求:1.算法设计文档和算法代码。2.详细设计文档和逻辑代码、软件代码。赛题三:逻辑实现ZUC算法(要求具备防DFA\SPA\DPA能力)。描述及要求:1.逻辑实现一个完整的ZUC算法设计。具备防止各种已知SPA\DPA(二阶或者高阶)攻击的能力。防护手段不限。2.理论分析SPA\DPA(二阶或者高阶)攻击对ZUC的理论破解时间。3.时钟频率不限,资源不限,功耗不限。采用VHDL\VERILOG实现。评审得分点:1.具备防止各种已知SPA\DPA(二阶或者高阶)攻击的能力,无安全漏洞。2.SPA\DPA防攻击理论清晰,理论破解时间越长得分越高。输出要求:1.算法设计文档和算法代码。2.详细设计文档和逻辑代码。赛题四:基于sigma_delta的高性能AudioCodec设计。描述及要求:1.实现完整的Digital+Analog系统建模;2.Verilog实现Digital逻辑,完成仿真验证及资源开销;Analog部分完成建模仿真;3.给出完整的性能报告,包含SNR、THD+N、频响、带内平坦度等指标。评审得分点:1.关键性能指标SNR100dB,THD+N-80dB;性能越好得分越高;2.Digital逻辑面积越小得分越高。输出要求:1.算法设计文档和算法代码。2.详细设计文档和逻辑代码。3.仿真报告。赛题五:低功耗的语音识别系统设计。描述及要求:1.能通过语音端点检测(VAD:VoiceActivityDetection)实现语音唤醒,满足在有语音环境下才进行后续的语音识别,从而达到低功耗的要求。2.能对简单的词语和短命令(“播放”、“暂停”等)进行高精度的识别。3.Verilog实现Digital逻辑。评审得分点:1.高噪声条件下(SNR5DB)语音唤醒的虚警率(误唤醒)和漏检率均不高于30%;低噪声条件下虚警率(误唤醒)和漏检率均不高于15%。2.语音识别模块的识别率越高越好。输出要求:1.详细设计文档及算法设计文档。2.性能测试或仿真报告。赛题六:麦克风阵列算法建模及方案实现。描述及要求:1.麦克风阵列是利用一定数目,一定空间构型的声学传感器(一般是麦克风)组成,用来对声场的空间特性进行采样并处理的系统。2.麦克风阵列近场(2~3个mic)或远场算法(大于3个mic)建模(波束形成/声源定位/去混响技术…),任选其一。3.方案实现:资源不限,平台不限。选择一个语音应用场景,完成对该算法硬件平台方案实现。评审得分点:1.对现有主流算法对比分析,可从抗干扰性、识别率、运算速度、算法代价等方面进行分析。2.选择一种算法进行代码实现,仿真结果分析。3.硬件平台实现,对比算法仿真结果。能够对mic器件选择、mic数量及摆放位置进行理论分析。4.能够对算法优化改进分析。输出要求:1.算法分析设计文档和算法代码(matlab/c/c++)。赛题七:实现一个SparseMatrix-Multiply-VectorAccelerator。命题描述:实现一个SparseMatrix-Multiply-Vector(SpMV)Accelerator,提供RTLcode,加速算法,并演示计算流程。我们提供下列矩阵集合(包含MATLABmat-file格式,MatrixMarket格式,和Rutherford/Boeing格式,做题时选其中一种格式即可):://://://://://://://://://://://请自行下载矩阵,并将其转换为32-bit浮点。以Dense或者CSR/COO/HYB等常见稀疏矩阵存储格式(或者自定义的某种稀疏存储格式),将上面所列12个矩阵分次存入内存空间。利用所提供的脚本生成与这些矩阵(MixNi)尺寸相配的随机向量(Nx1)并存入内存。向量和矩阵的存入不计入运算时间。所设计的加速器,需要从内存中读取矩阵和向量,并传入加速器内部实现矩阵和向量相乘,并最后将结果存入内存。实现要求:1.所有矩阵,向量元素均为single-precisionfloatingpoint(32bits)长度2.加速器的硬件逻辑中最多存在256个fp32浮点乘法器3.12个矩阵的格式预处理可由软件处理;但对随机产生的12个向量的预处理必须由加速器的硬件逻辑完成。4.允许将附加和预处理后得到的信息存入内存5.不允许用有损的方式6.加速器与内存之间的读、写的数据位宽各为128-bit。为简化非关键特性,内存频率和加速器同频,接口为DualPortSRAM,单cycle延迟。(见图1)7.由脚本随机产生的向量也会有一定程度的稀疏率(30%~80%)。参赛者可以结合稀疏向量一同加速。(注意不能对向量预处理。注意处理向量的硬件代价)8.脚本:向量取决于矩阵的高度,请自行用脚本产生一组随机向量(稀疏率为30%-80%),或使用提供脚本生成向量.提供的脚本为python3脚本,参赛者可根据需求修改为python2或其他脚本的语法。importrandomasrnimportmathimportsyslength=sys.argv[1]lower=int(length)*30/100upper=int(length)*80/100ran=rn.randint(lower,upper)array=[]forxinrange(ran):array.append(0.0)foryinrange(int(length)-ran):array.append(rn.uniform(-10.0,10.0))rn.shuffle(array)foreleminarray:print(str(elem)+,,end='')print()评审得分点:1.计算结果要正确,可忽略32bit精度结果的误差2.所费的运算时间越少,得分越高3.通常,如果矩阵不做任何稀疏存储,仅以Dense格式进行运算,则运算时间肯定会比稀疏化后矩阵的时间长;如果根据CSR/COO/HYB(或者自定义的某种稀疏存储格式)稀疏存储,并采取与此有关的优化手段(跳0等),则运算时间可以大为降低;4.逻辑规模越小,得分越高5.加速器对内存访问带宽越小,得分越高6.功耗越小,得分越高输出要求:1.详细的算法解释文档,和算法代码。请在文档中写明加速亮点。2.详细的设计文档,和RTL代码(Verilog)。请在文档中写明低功耗设计点。3.硬件对上述12个benchmarks的加速性能分析文档。赛题八:时序加扰防护的理论分析及攻击。描述及要求:1.选择AES/DES/SM4中任意一种对称加解密引擎,在FPGA平台实现对对称加解密引擎的时序加扰防护,防护方法包括但不限于随机时钟门控、随机时钟抖动及伪操作等;2.从理论上比较各个加扰防护的防护能力,说明各个防护的优缺点;3.在FPGA平台上选择一种或几种时序加扰防护进行实际攻击测试,攻击可以获得正确的密钥信息。4.实现的时钟频率不限,但是时序加扰对于性能的影响不能过大。评审得分点:1.在FPGA平台上实现的时序加扰方法越多、防护能力越强得分越高。2.不同时序加扰防护比对理论分析清晰,结论越合理得分越高。3.时序加扰攻击的攻击能力越强,攻击效率越高得分越高。输出要求:1.时序加扰防护的设计文档和实现代码。2.不同时序加扰防护的比较文档。3.时序加扰攻击的算法文档和攻击实现代码。赛题九:实现随机数后处理。描述及要求:1.设计一套随机数后处理的模块,真随机数/伪随机数通过该模块后,所有数据均能够通过sp800测试套件(测试数据不少于30组,每组推荐值10^6*1073比特);2.输入的随机数来源自行确定。3.后处理输出的数据通过sp800测试套件的概率分析及实测;4.后处理不能直接采用SP800-90A推荐方式,可在其基础上进行修改。5.sp800优化测试套件可参考:SýsM,?íhaZ.Fasterrandomnesstestingwiththeniststatisticaltestsuite[C]//InternationalConferenceonSecurity,Privacy,andAppliedCryp