使用High-Level Synthesis优化加密硬件设计
需积分: 9 170 浏览量
更新于2024-07-19
收藏 755KB PDF 举报
"本文主要探讨了密码硬件的高级综合(High-Level Synthesis,简称HLS)技术,通过使用软件编程语言如C/C++和特定领域语言(Cryptol)来实现FPGA硬件的设计与优化。HLS流程包括综合、映射和布局布线,可以缩短产品上市时间,简化验证过程,并允许进行架构探索。文章提到了几个重要的HLS工具,如Xilinx的Vivado HLS,多伦多大学的LegUp和Galois公司的Cryptol。"
在密码学硬件设计中,高级综合(High-Level Synthesis)是一种关键的技术,它使得开发者能够利用软件编程语言(如C/C++)或特定领域语言(Domain-Specific Language,例如Cryptol)来创建和优化硬件设计,特别是针对加密算法的实现。这种技术的使用显著减少了对硬件描述语言(如VHDL或Verilog)的直接操作,从而降低了设计的复杂性和时间成本。
1. **HLS流程**:HLS的基本流程通常包括三个主要步骤:
- **综合(Synthesis)**:将高级语言代码转换成逻辑门级别的硬件描述。
- **映射(Map)**:将逻辑门级设计分配到具体的硬件资源上。
- **布局布线(Place/Route)**:确定电路中各个组件的位置并连接它们,以满足时序和性能要求。
2. **优势**:
- **缩短时间至市场(Time-to-Market)**:HLS减少了编写和调试HDL代码所需的时间,加速了产品开发周期。
- **简化验证**:开发者可以在C/C++中编写测试平台,这比寄存器传输级(RTL)仿真运行得更快,使得验证过程更有效。
- **架构探索**:HLS允许设计者从单一的高级规格中生成多种架构,通过使用指令应用不同的架构策略。
3. **HLS工具**:
- **Vivado HLS**:由Xilinx公司提供,能将C/C++代码转化为Verilog/VHDL/SystemC,支持通过指令控制综合过程,包括循环展开、内联和重塑等优化方法。
- **LegUp**:多伦多大学的研究成果,可能专注于特定的嵌入式或并行计算应用。
- **Cryptol**:由Galois公司开发,是一种专门针对密码学应用的功能性领域特定语言,它提供了强大的数学表示和自动推理功能,适合于加密算法的描述和分析。
4. **其他考虑**:在HLS过程中,设计者可以设置时钟频率和其他接口选项,以满足特定性能和功耗需求。此外,通过HLS工具,开发者还可以对算法进行优化,如通过循环展开提高执行效率,或者通过内联减少函数调用开销。
高级综合在密码学硬件设计中扮演着至关重要的角色,它不仅简化了设计流程,提高了设计效率,还为架构创新提供了广阔的舞台。通过使用像Cryptol这样的DSL,可以更方便地处理复杂的密码算法,同时利用Vivado HLS等工具实现高效的硬件实现。
2019-03-31 上传
2020-05-13 上传
2018-10-06 上传
2022-05-31 上传
2023-03-16 上传
2017-05-28 上传
2021-02-08 上传
2021-05-11 上传
weixin_41656797
- 粉丝: 6
- 资源: 10
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全