0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于IP桥接技术实现密码算法多IP核集成的应用方案设计

电子设计 来源:单片机与嵌入式系统应用 作者:温圣军,张鲁国,张 2020-09-08 17:58 次阅读

来源:单片机嵌入式系统应用,作者:温圣军,张鲁国,张国芳

信息社会中,基于密码算法设计的安全芯片,能够为用户的敏感信息提供有效的机密性与完整性保护。信息化的不断深入使得人们对信息安全服务的需求呈现使用简单化、功能多样化、高度集成化等趋势。这要求安全芯片在单一的硬件平台上,最大限度地提供多样的密码服务,并且具备标准统一的对外服务接口。功能多样化与高度集成化,已经成为当前以及今后安全芯片设计的必然要求。

安全芯片的功能多样化设计要求可以由软件方式实现,也可通过集成多个硬件密码算法IP核完成。由于密码算法IP核集成安全性较高,在向外提供密码服务时,数据处理速度较快,且不占用主控制器运算资源,相对于软件实现方法,更适合于安全芯片的实际应用需要。因此,在已有的多功能安全芯片设计中,一般采取多密码算法IP核集成,实现安全芯片功能多样化。

1 密码算法多IP核集成要求及方法

在单一硬件平台上集成多个密码算法IP核,需要满足三条基本设计要求:

第一,硬件平台运行频率与IP核运算频率的不一致要求。通常情况下,设计者在进行IP核实现时,出于数据处理速度的需要,一般都会尽量提高IP 核运算频率,以实现对数据的高速处理。要求硬件平台与IP核具备同样的时钟频率是不现实的,因为硬件平台的运行频率往往依赖于这一平台所采用的主控制器运行频率,而要提高主控制器的运行频率,以达到与不同IP核运算频率一致,不具有实际可行性。在具体实现多IP核集成时,密码算法IP核运算频率会远高于硬件平台的运行频率,各IP核的运算频率也不尽相同。因此,要实现IP核与硬件平台挂接集成,需首先解决硬件平台与IP核的时钟不一致问题。

第二,硬件平台与IP核、不同IP核之间处理数据位宽的不一致要求。同样是出于提高数据处理速度考虑,设计者在设计IP核时,一般采用较大的数据位宽。实现不同数据位宽的转换,是IP核能否正确处理数据的基本条件。

第三,能够灵活调用不同IP核的功能,对目标数据进行相应处理。单一硬件平台与多IP核的挂接集成,需要相应机制来最终实现对不同IP核功能的灵活调用。通过IP功能调用机制,硬件平台可以完成多个IP核对不同数据的同步运算处理,也可以单独调用某一IP核进行数据处理。

基于上述多IP核集成设计要求,当前文献中已有的实现方法主要有:

方法一,使用第三方专用系统总线,实现多IP核集成。采用第三方专用系统总线,将不同IP核与总线挂接,实现多IP核集成。其优点在于:专用系统总线功能强大,支持不同频率、不同端口的IP核集成,能够进行多个IP核对不同数据的同步运算处理,便于系统设计与实现。但由于需要采用第三方总线,因而芯片的研发成本会相应增加。

方法二,为每个IP核配备专用双端口数据存储器,实现多IP核集成。采用配备双端口存储器可以满足硬件平台与IP核异频处理要求,能够实现不同数据位宽之间的转换,能够进行多个IP核对不同数据的同步运算处理。在进行系统前端设计时,设计简单且实现方便。但由于密码服务是一个有序的过程,为每个 IP核均配备专用存储区,会造成系统资源浪费,且极大地增加了芯片后端设计中的布局布线难度。

在分析上述两种集成方法基础上,本文基于方法二,给出了一种改进的多IP核集成设计方法。方法采用IP桥接技术,将同一双端口存储器与不同IP 核进行动态重构,实现多IP核集成。与方法一相比,采用IP桥接技术实现多IP核集成可以显著减少芯片的研发成本;与方法二相比,改进方法不仅能够有效整合芯片内部资源,还可以降低系统功耗,提高芯片的整体性能。

2 IP桥接技术设计原理与具体实现

IP桥接技术的核心是IP桥(IP_bridge)的设计与实现。IP_bridge是主控制器与各IP核协处理器的连接桥梁,同时也是各IP核协处理器与专用双端口存储器的连接桥梁。

2.1 IP桥接技术设计原理

IP_bridge是IP桥接技术设计与实现的核心,是主控制器与各IP核协处理器,以及各IP核协处理器与专用双端口存储器之间的连接桥梁。为实现这一目的,IP_bridge需完成以下功能:IP核选择参数译码;不同IP核与同一数据处理区的动态可重构;根据IP选择参数,配置选定IP核控制指令与运行时钟。

在IP_bridge满足上述设计要求的前提下,IP桥接技术具体设计原理可作如下表述:将各IP核与IP_bridge、 dual_ramx(双端口存储区)整合为系统的一个密码算法IP核重构模块,模块输入为系统输出数据、地址、读/写使能、系统时钟与IP时钟、IP控制指令与IP选择参数,输出为 IP核处理完成数据与协处理器运行状态标识。

在系统对某一IP核功能进行调用时,密码算法IP 核重构模块按如下步骤进行操作:a.根据系统的输入地址与读/写使能,将输入的待处理数据存储于 dual_ramx中;b.IP桥译码IP选择参数,重构选定IP核控制指令为输入的IP控制指令,dual_ramx为选定IP核数据处理区.c.选定 IP核将duaLramx中数据读入IP核内部,根据IP控制指令,完成数据处理;d.选定IP核将已处理数据输出到dual_ramx中,置相应状态完成信号为有效.e.系统判断状态信号有效,通过dual_ramx将处理完成数据读出,完成IP功能调用。

与本文第一部分中方法二相比较,IP桥接技术增加了IP_bridge对选定IP核重构数据处理区与控制指令这一过程。该设计可以实现不同IP 核与 dual_ramx的动态重构,通过引入IP桥,对IP核调用指令进行解释,进而配置被调用IP核的地址、数据、指令与时钟等各种接口信号,完成系统对 IP核的功能调用。不同IP核与同一数据处理区的动态可重构可以有效节省片内存储资源,提高存储区利用效率。

采用IP桥接技术实现密码算法多IP核集成,不仅可能节省系统资源消耗,在密码服务提供方面也具有一定优势。密码服务通常是一个有序的过程,在提供密码服务时,由于减少了在不同IP专用数据处理区之间的数据转移操作,因而可以有效提高系统对数据的处理效率。例如,在完成一次签名服务时,一般先对签名数据进行杂凑值运算,再调用公钥密码算法对杂凑结果进行签名,完成对签名数据的签名服务。在这一过程中,将签名服务作为一个完整的基本服务功能进行调用,系统将签名数据写入dual_ramx后,仅需完成对IP选择参数的配置与完成信号的判断操作,便可实现数据签名,极大地简化了系统在向外提供密码服务时的软件控制过程,提高了服务的完成效率。相比较于方法二,所要完成的密码服务越复杂,这一优势越明显。

2.2 IP桥接技术具体实现

以2.1中IP桥接技术设计原理为指导,本文在一个8位SoC系统上实现了TDES、SHA1、RSA三个IP核的系统集成设计。为简化 IP_bridge设计,三个IP核的数据位宽均统一为32位,执行频率统一为50 MHz。图1为密码算法IP核重构区RTL图。

基于IP桥接技术实现密码算法多IP核集成的应用方案设计

如图1所示,密码算法IP核重构区由TDES、SHA1、RSA三个IP核与IP_bridge、asis_ramx共同构成,根据输入的控制参数,完成同一双端口存储区与不同IP核之间的动态重构。其输入输出如表1所列。

以调用SHA1为例,系统完成对数据块杂凑值计算的操作步骤为:

MCU执行指令

MOV FUNCCHOOSE,#05H

选择当前调用IP核为SHA1。

②将一个16字节待处理数据块输入双端口存储区asis_ramx中,此时输入数据长度必须为16字节。

③执行指令

MOV INSTUCT,#80H

MOV INSTRUCT,#01H

前一条指令将SHA1进行复位,后一条指令使能SHA1,将待处理数据读入IP核内部寄存器,进而对其进行SHA1运算处理。

④对FUNCSTATE最低位进行判断,为1时输入下一个16字节数据块,执行指令

MOV INSTRUCT,#01H

复位SHA1完成信号,继续进行SHA1运算处理。

⑤最后一个16字节数据块输入,执行指令

MOV INSTRUCT,#01H

判断FUNCSTATE最低位,为1时读出双端口存储区中处理完成数据。

⑥执行指令

MOV INSTRUCT,#00H

关闭SHA1协处理器,完成SHA1调用。

对TDES及RSA的功能调用类似于SHA1,仅在指令配置时稍有不同。TDES增加了密钥生成过程的指令配置与完成信号判断,RSA增加了对模长与模幂的参数配置。由上可知,与方法二相比较,IP桥接技术在调用实现IP核功能时,需要增加的仅为一条IP选择参数配置指令。

3 测试与仿真

本文采用软件仿真与FPGA下载测试两种手段,对2.2中的设计进行了功能正确性验证。图2给出了该设计中IP_bridge在quartus II 5.0下的仿真波形图。

在图2中,FUNCCHOOSE为系统功能区的IP选择参数输入,INSTRUCT为IP控制指令。当IP选择参数值为07H、06H、05H 时,对应的选定IP为RSA、TDES、SHA1。以选定SHA1为例,当IP选择参数为05H时,IP_bridge模块重构asis_ramx为 SHA1专用数据处理区,且此时SHA1控制指令shal_instruct_o被配置为当前IN-STRUCT值,完成对SHA1的接口配置;当IP选择参数为 06H、07H时,IP_bridge置SHA1控制指令shal_in-struct_o为00H,使SHA1协处理器处于休眠状态。对 IP_bridge仿真波形图的分析表明,其逻辑功能正确。由于在初次FPGA下载测试时发现,允许IP_bridge对IP核进行时钟配置会导致协处理器功能不稳定,因而取消了IP_bridge的IP核时钟配置功能。除此以外,其余部分均满足本文2.1中的功能要求。

为进一步验证设计的正确性,本文选用Altera公司Cyclone II系列EP2C35F672C6器件,对其进行了FPGA下载测试。在初次测试时发现,各IP核虽然可以完成功能调用,但执行结果不稳定,测试结果的最后5~10字节与标准测试对的结果不符。经分析发现,导致IP核功能错误的原因为IP_bridge在对时钟进行配置时,会产生时钟延迟。因此,取消了 IP_bridge的时钟配置功能,在Qu-artus II 5.0下进行编译仿真与综合下载,再次进行FPGA下载测试。测试结果显示,各IP核功能均正确无误。采用选定器件,IP_bridge逻辑资源消耗为 200 LE,最大路径延迟为16.838 ns。

结语

本文在总结多IP核集成设计方法的基础上,提出了一种IP桥接技术,用于实现多IP核集成;并以其为指导,基于一个8位SoC系统,具体实现了三个IP核集成。功能仿真与FPGA 测试表明该技术具备实际可行性,且相比较于现有多IP核集成方法,IP桥接技术具备可有效提高片内资源利用率,降低系统功耗与开发成本等优势;其缺点在于,当不同IP核的数据接口不一致时,IP_bridge的逻辑设计会比较复杂,且不能实现对IP核的变频时钟配置。初步分析表明,通过修改IP核的双端口存储区数据写入环节,延长数据写入完成至done信号有效这一时间段,可解决这一问题。方法的有效性检测与具体实现,是笔者下一步工作的重点研究内容。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16191

    浏览量

    177369
  • IP
    IP
    +关注

    关注

    5

    文章

    1646

    浏览量

    149324
收藏 人收藏

    评论

    相关推荐

    FPGA的IP使用技巧

    够与所使用的FPGA平台和开发工具无缝集成。 阅读和理解IP的文档 : 在使用IP之前,务必仔细阅读和理解其提供的文档,包括用户手
    发表于 05-27 16:13

    基于IP的Viterbi译码器实现

    Viterbi译码的基本过程,接着根据Viterbi译码器IP的特点,分别详细介绍了并行结构、混合结构和基于混合结构的增信删余3种Viterbi译码器IP的主要性能和使用方法,并通
    发表于 04-26 16:08

    ATM流量控制器IP的设计和实现

    控制机制对当前变长分组骨干网的流量控制还是具有重要的参考价值,所以有必要对ATM的流量控制及其实现方式进行深入的研究。  IP是一段具有特定电路功能的硬件描述语言代码,该程序与集成
    发表于 09-27 11:54

    基于IP的SoC接口技术

    引言随着半导体技术的发展,深亚微米工艺加工技术允许开发上百万门级的单芯片,已能够将系统级设计集成到单个芯片中即实现片上系统SoC。IP
    发表于 06-11 05:00

    基于FPGA的数据采集控制器IP的设计方案实现方法研究

    此提供了新的解决方案IP(IP Core)是具有特定电路功能的硬件描述语言程序,可较方便地进行修改和定制,以提高设计效率[3]。本文研究了基于FPGA的数据采集控制器
    发表于 07-09 07:23

    安全芯片中密码算法IP集成方法有哪些?

    密码算法IP集成要求及方法是什么IP
    发表于 04-28 06:43

    无线充方案IP6806 5W过QI认证 全集成

    改变振荡频率从而调整线圈上的输出功率。一旦 接收器上的电池充满电时,IP6806 终止电力传输。IP6806 片内集成驱动电路和全功率
    发表于 09-11 10:03

    IP5310+IP6826可做成背夹式移动电源无线充,可咨询

    6826 片内集成驱动电路和全功率MOS,电压&电流两路 ASK 通讯解调模块;方案集成度高,可显著降低
    发表于 02-23 18:07

    基于NiosII处理器的通用AD IP的设计与实现

    提出了一种采用基于NiosII处理器的通用AD IP实现嵌入式数据采集系统的新方案。它能将市面上任意一款AD芯片制作成IP
    发表于 07-30 11:39 50次下载

    基于SOPC技术的异步串行通信IP的设计

    介绍了SoPC(System on a Programmable Chip)系统的概念和特点,给出了基于PLB总线的异步串行通信(UART)IP的硬件设计和实现。通过将设计好的UART IP
    发表于 03-05 17:53 63次下载
    基于SOPC<b class='flag-5'>技术</b>的异步串行通信<b class='flag-5'>IP</b><b class='flag-5'>核</b>的设计

    基于Xilinx_FPGA_IP的FFT算法的设计与实现

    利用FPGA的IP设计和实现FFT算法
    发表于 05-24 14:14 37次下载

    基于PCIIP Core的VeriIog HDL实现

    基于PCIIP Core的VeriIog HDL实现
    发表于 10-31 09:28 22次下载
    基于PCI<b class='flag-5'>桥</b><b class='flag-5'>接</b><b class='flag-5'>IP</b> Core的VeriIog HDL<b class='flag-5'>实现</b>

    莱迪思半导体推出全新的模块化IP,能为客户提供创建自定义视频解决方案所需模块

    莱迪思半导体公司推出7款全新的模块化IP,支持屡获殊荣的CrossLink FPGA产品系列,可为消费电子、工业和汽车应用提供更高的设计灵活性。这些模块化IP为客户提供创建自定义
    发表于 07-22 12:09 796次阅读

    莱迪思全新CrossLink可编程ASPP(pASSP)IP解决方案,可实现全新的视频功能

    CSI-2的CrossLink演示平台,设计工程师可实现全新的视频功能。莱迪思致力于为消费电子、工业和汽车应用提供
    发表于 07-22 12:48 1426次阅读

    ip设计电路特点

    IP目前的IP设计已成为目前FPGA设计的主流方法之一,应用专用集成电路(ASIC)或者可编辑逻辑器件(FPGA)的逻辑块或数据块。IP
    发表于 10-01 09:08 2567次阅读