🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/全国大学生集成电路创新创业大赛/基于蜂鸟E203的AES加解密NICE协处理单元设计
基于蜂鸟E203的AES加解密NICE协处理单元设计
全国大学生集成电路创新创业大赛 作者 何志帆 发布于 2021-07-06 10:51(1921 天前) 9911 浏览

一、团队介绍

我们是学堂路三轮车队,报名编号卫CICC1449。这是我们分享的第六篇文章,此前的五篇文章链接如下:

非常感谢此开源论坛,确实收获满满!

二、作品简介

我们设计了基于NICE接口的AES加解密协处理单元,拓展了6条拓展指令,支持EBC、CBC、、CFB、OFB、CTR五种加密模式,和软件相比,速度提高约2000倍。整体框架如下:

工程设计主要分成三个部分:软件上指令拓展、接口调度、硬件协同优化。

1.软件上指令拓展

我们采用中等粒度方式设计了6条拓展指令,通过适当组合,可以支持五种加解密模式。

2.接口调度

接口实现是工程的难点,需要非常仔细设计其中的数据流和控制流,期间碰到大小端转换问题、文本密钥缓存问题等,总体框图如下:

3.硬件协同优化

AES的硬件实现有许多开源的项目,但若要取得更高的性能,需要特别设计,比如轮密钥拓展的时序、状态机的控制、密钥缓存的设计等,总体框架如下:

三、测试结果

最后测试不同明文块下,ECB、CBC软件和硬件加解密的周期数,取得约2000倍的加速效果。



全部回复 2
何志帆
何志帆1910 天前 · 1 楼

后面的不对,会不会是nice写回E203的时候出错了,这只能对照时序图看了;第二个似乎也是写回的问题;FPGA出问题的话,可以看看代码有没warning,把warning也改好。

突刺咸鱼
突刺咸鱼1911 天前 · 2 楼

大佬,我想问一下,我们也是做的AES(128位)加解密,但是我们最后仿真结果只能显示32位,后面的不对,但是波形图可以出现正确结果,你们知道怎么解决吗?第二个问题就是,软件不能通过指令接收到结果,NICE指令没有返回值,但是之前那个3乘3是可以的,第三个问题就是,我们得到正确仿真波形图,但是FPGA验证会出问题。

💡 请 登录 后参与讨论(微信扫码即登录/注册)