[发明专利]一种基于C++的FPGA硬件构造语言实现系统在审
申请号: | 202210376210.5 | 申请日: | 2022-04-11 |
公开(公告)号: | CN114756219A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 陈文智;魏成坤;施青松;王淼;刘剑文;陈义全 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 曹兆霞 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 c++ fpga 硬件 构造 语言 实现 系统 | ||
本发明公开了一种基于C++的FPGA硬件构造语言实现系统,包括代码设计单元、代码编译单元、中间语言解析单元以及转换单元;所述代码设计单元用于提供基于C++实现的语法设计模块,并将基于语法设计模块设计的构造函数传输至代码编译单元,其中构造函数记录了电路设计信息;所述代码编译单元用于采用C++编译器对设计构造函数进行编译以形成中间语言;所述中间语言解析单元用于对中间语言进行解析以得到中间语言语法树;所述转换单元用于通过对中间语言语法树进行分析以生成硬件描述语言Verilog HDL。该系统将高级编程语言特性融入硬件设计,提高硬件开发效率与表达能力。
技术领域
本发明属于硬件设计领域,具体涉及一种基于C++的FPGA硬件构造语言实现系统。
背景技术
目前的硬件设计领域中存在如下几方面问题:
一是现有的硬件描述语言缺乏抽象能力,表达能力较弱,因而造成硬件设计难度大、重复性工作多、设计效率低下等问题,为硬件开发带来了很高的门槛。
二是硬件领域的社区生态相较软件社区来说并不完善,缺少可便捷重用、可扩展、可快速构建设计的库支持,这使得硬件设计的周期相对较长,效率较低。
三是硬件设计很大程度上受到开发工具的制约,而现有的硬件设计工具对于软件系统跨平台的支持较差,且其工具本身的版本兼容性也不能满足设计者的需求,不能给设计者带来良好的开发体验。
以上三方面问题的存在一方面阻碍了硬件设计领域本身的发展,另一方面也提高了硬件设计的学习成本,进而为软硬件协同相关领域工作的进展带来了巨大的困难。
为了解决上述问题,目前已有通过高级编程语言来快速映射硬件设计的设计方法HLS(如Vivado HLS),能够为软件设计中既有的算法自动生成对应功能的硬件设计。但是这种设计方法通常适合需要在硬件上快速实现某些算法的场景,但其最终映射的硬件可控性低,难以对其进行细粒度的控制,且设计出错后难以进行问题的查找以及调试工作,因此对无法提供很高的定制性。
不同于高级综合语言,目前国外已有一些硬件构造语言也尝试解决了硬件设计中存在的问题,硬件构造语言一般都是嵌入某种软件编程语言实现的,最终转换成对应的硬件设计。现有的硬件构造语言相关的研究主要基于Python与Scala实现,如Pyverilog是基于Python的、Chisel与SpinalHDL是基于Scala的,它们的目标语言都是Verilog HDL。这些技术的实现思路都是利用软件编程的类或函数进行硬件结构的实现与转换。国内尚无类似技术。
发明内容
鉴于上述,本发明的目的是提供一种基于C++的FPGA硬件构造语言实现系统,将高级编程语言特性融入硬件设计,提高硬件开发效率与表达能力。
为实现上述发明目的,实施例提供了一种基于C++的FPGA硬件构造语言实现系统,包括代码设计单元、代码编译单元、中间语言解析单元以及转换单元;
所述代码设计单元用于提供基于C++实现的语法设计模块,并将基于语法设计模块设计的类的构造函数传输至代码编译单元,其中构造函数记录了电路设计信息;
所述代码编译单元用于采用C++编译器对设计构造函数进行编译以形成中间语言;
所述中间语言解析单元用于对中间语言进行解析以得到中间语言语法树;
所述转换单元用于通过对中间语言语法树进行分析以生成硬件描述语言VerilogHDL。
在一个实施例中,所述语法设计模块包括端口集合和模块设计部分,所述模块设计部分通过C++的构造函数实现,所述模块设计部分包括线网、寄存器、硬件原语模块、控制流以及子模块;
所述端口集合包括输入端口、输出端口,用于连接设计的电路节点,该输入端口和输出端口通过C++中的struct类实现;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210376210.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:目标显示方法和可读存储介质
- 下一篇:铜铝转接连接器及加工方法