使用High-Level Synthesis优化加密硬件设计
需积分: 9 174 浏览量
更新于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等工具实现高效的硬件实现。
396 浏览量
222 浏览量
137 浏览量
2022-05-31 上传
176 浏览量
2021-02-08 上传
694 浏览量
点击了解资源详情
点击了解资源详情
weixin_41656797
- 粉丝: 6
- 资源: 10
最新资源
- 简介
- ArcGIS_Engine_C#实例开发教程+源码(超值)
- 矩阵理论全套课件PPT (北航、北理、清华、北邮).rar
- project-1 2.0
- RobusTest-crx插件
- 1个
- ML_Projects
- TCP服务器完整源码(基于IOCP实现) v1.4-易语言
- Prolific USB-to-Serial Comm Port
- Delphi7-SQLMemTable 多线程修改内存表 例子.rar
- 二维码识别工具.zip
- Stashio [URL Saver]-crx插件
- rest_pistache
- TIC
- docusaurus-netlifycms:docusaurs和Netlify CMS的简单实现
- Trainual-crx插件