首页 » 互联网 » 芯片开拓措辞:Verilog在左Chisel在右_措辞_半导体

芯片开拓措辞:Verilog在左Chisel在右_措辞_半导体

少女玫瑰心 2024-08-27 11:18:58 0

扫一扫用手机浏览

文章目录 [+]

来源:内容转载自"大众号「老石谈芯」,感激。

专注不雅观察环球半导体最新资讯、技能前沿、发展趋势。
《摩尔精英》《中国集成电路》共同出品,欢迎订阅摩尔旗下公众年夜众号:摩尔精英MooreElite、摩尔芯闻、摩尔芯球\公众 data-from=\公众0\"大众>

芯片开拓措辞:Verilog在左Chisel在右_措辞_半导体 芯片开拓措辞:Verilog在左Chisel在右_措辞_半导体 互联网

老石按:

芯片开拓措辞:Verilog在左Chisel在右_措辞_半导体 芯片开拓措辞:Verilog在左Chisel在右_措辞_半导体 互联网
(图片来自网络侵删)

在传统的数字芯片开拓里,绝大多数设计者都会利用诸如Verilog、VHDL或者SystemVerilog的硬件描述措辞(HDL)对电路的行为和功能进行建模。
但是在喷鼻香山处理器里,团队选择利用Chisel作为紧张开拓措辞。
这是基于若何的考虑?

Chisel是基于Scala这个函数式措辞来扩展出来的,我们可以把它看做是一个用来描述电路的领域专用措辞,它和Verilog还是有很大差异的。

事实上,我们自己也做过两种措辞的比拟。
在2016年,我们全体团队开始决定用RISC-V去实现标签化体系构造,也在那个时候开始打仗Chisel。
最早的时候我们重用了UC伯克利开拓了的名叫Rocket的开源内核。
这是个顺序实行的小核,我们在它上面加上了我们的标签机制,这期间实在就有很多的一些开拓体会。

Rocket chip generator的系统架构图

前面提到我们的同学原来对Verilog很熟,但是用Chisel往后就会有一种爱不释手的觉得。
有好多的通信,特殊是年轻的同学,他们都乐意去考试测验利用Chisel。
有一个北大的研究生,他在做报告的时候讲,你用了Chisel往后就再也回不去了。

实在,我们自己还做过量化的评估。
在2018年,我们团队里有两个本科生和一个工程师做过一个实验。
这个实验是要开拓一个L2 Cache,但是要集成到RISC-V的内核里。
我们的工程师是用Verilog来开拓的,他对Cache非常熟习。
他把OpenSPARC里面的Cache、还有Xilinx供应的Cache等等都研究过,代码都读得很透。
以是他用Verilog开拓,并且接到RISC-V里面去。
当时他花了该当是6个星期开拓,包括测试框架等等,一共写了5000多行代码。
即便这样,后面还是有一些问题和Bug。

其余,我们当时有一位大四的本科生,现在也是喷鼻香山的核心成员,他懂一些打算机体系构造,利用Chisel有9个月的韶光。
同样的任务,他用Chisel开拓只花了三天韶光就写出来了。
把设计接到RISC-V核里面之后,还能够正常事情。
之后又进一步就把DMA调通了,就能够支持像网卡这样的一些DMA的数据的传输。
这个给我们留下了很深刻的印象。

表格来源:《芯片敏捷开拓实践:标签化RISC-V》

我们以为,本科生利用Chisel做的设计,哪怕是性能或者各方面差了一些,但他只用了三天韶光。
这样我们就可以快速去验证,并且实现我们的想法。

当然这个只是第一组实验。
我们当时有一个群,在群里面吵的还是挺不可开交的,由于我们的工程师那个时候很不服气,他就以为他的代码各方面都质量更高。
以是我们后来又有其余一位中国科学院大学的大四本科生,他懂Verilog、但是没学过Chisel,以是他做的事情便是读我们工程师的Verilog代码,并把核心代码一行一行翻译成Chisel,末了要通过工程师写的测试。
也便是说,翻译后的Chisel和Verilog实现的逻辑功能是完备同等的。

翻译完之后,再在同一个FPGA上面评估,看设计的PPA、 频率、功耗,还有利用的资源等等。
这样下来的话,你就会看到实在出来的指标上面,大多数的指标实际都是Chisel还反而更好一些,代码量也会比他要小。

这还只是第一个阶段。
后面我们的本科生又在博士生的辅导下,把Chisel里面的高等特性给它加进去,结果一下子就完备超越Verilog的版本了,代码量大概只有Verilog的1/4~1/5,有些逻辑资源可以减少百分之六七十。
以是那时候这组数据出来往后,工程师就他也以为服气了。

表格来源:《芯片敏捷开拓实践:标签化RISC-V》

Chisel vs 高层次综合

老石按:

在FPGA里高层综合是一个非常热、非常盛行的一个研究方向。
但是我知道Chisel和高层次综合可能并不是一回事。
在Chisel官网上也明确的指出:我不是高层次综合。
但在我看来,它们背后的思维办法、或者是大的方向是有共同之处的,也便是让硬件开拓更加的快速、更加敏捷。
也便是像您刚才说的,从想法到实现,周期更加缩短。

但是从高层综合的角度来看,虽然学术界一贯在讲高层次综合已经很多年的韶光,它实际的商业化可能还是须要特殊打破性的进展。
现在业界的这些设计,比如大的网络设计、还有数据中央加速器的这些设计,仍旧是基于SystemVerilog/Verilog/VHDL这样的RTL措辞。
这紧张是由于高层次综合有这么几个问题:

第一个便是HLS可能并不能覆盖掉的全部运用领域,也便是说它可能适宜于某些运用领域,但是对付这种吞吐量比较大的、或者高速数据包处理这些运用,它可能就不那么适宜。

其余一个便是它的验证。
由于它相称于在RTL顶上加了一层额外的高层次措辞,等它综合或者处理完了往后,还是天生底层的RTL措辞,然后再走原来的FPGA的这些开拓流程。
以是在验证过程中,增加额外的这层可能会给验证事情造成很大的问题。
以是关于这两点您怎么看?

我想实在它的通用性方面是没有问题的。
Chisel本身是一个硬件描述措辞,以是从它的这种完备性来看的话,它跟Verilog是一样的。
也便是说,Verilog能干什么事,Chisel也能干什么事,这两个是没有什么差异的,它只不过是其余一种语法表达而已。

调试是很多人都担心的一个问题。
由于Chisel它现在实在是一个源到源的翻译,是首先是基于Scala这套语法去写一个硬件的描述。
然后通过FIRRTL进行翻译。
再今后走的话,实在是用Verilog那套流程去做,末了天生GDSII版图。

以是在这个过程当中,实在是明显的分成两个阶段了。
前面一个阶段Chisel到Verilog,第二阶段便是Verilog到GDSII版图。

我们用Chisel已经流过三颗芯片,有大的芯片、有的小的芯片,有单核的有8核的。
在早期的时候,我们实在也碰着过这样的一些问题。
比如你用Chisel写的代码天生了Verilog,Verilog里面有一些变量,你那边在Chisel里面改一行代码,那它这个变量就全部重新改变。
后来实在仔细剖析往后,我们创造这些问题都是可以有一些办法来办理的,或者说它不是阻碍可调试性的最根本的问题。
所往后面我们在做喷鼻香山的时候,我们在这些方面已经处理得比较好了。

就像我们有同学,他自己开拓了一个工具,可以把电路波形直接转变成一个上层的高等的事宜。
这个时候他实在就用了Chisel和FIRRTL里面的特性。

由于FIRRTL它有点像LLVM,它可以放很多的这样自己设计的模块,FIRRTL也可以定义自己须要的功能。
这个在LLVM里叫pass,在FIRTEL里叫transformer。

有了这些工具,就可以让Chisel源码和下面波形建立起联系,让调试的过程乃至比原来用Verilog还要方便。

除了这个工具,同学们还自定义和扩展了一些printf,让我们在调的时候很多时候根本不用去看波形。
这些都得益于Chisel的强大和开放。

与30万半导体精英一起,订阅您的私家芯闻秘书!
欢迎订阅摩尔精英旗下更多"大众号:摩尔精英、半导体行业不雅观察、摩尔App\公众 data-from=\公众0\"大众>

免责声明:本文由作者原创。
文章内容系作者个人不雅观点,半导体行业不雅观察转载仅为了传达一种不同的不雅观点,不代表半导体行业不雅观察对该不雅观点赞许或支持,如果有任何异议,欢迎联系半导体行业不雅观察。

本日是《半导体行业不雅观察》为您分享的第2745内容,欢迎关注。

晶圆|集成电路|设备|汽车芯片|存储|MLCC|英伟达|仿照芯片

标签:

相关文章

IT项目建模,构建成功项目的基石

随着信息技术的飞速发展,IT项目已成为企业提升竞争力的重要手段。IT项目的实施过程中,如何确保项目顺利进行,达到预期目标,成为企业...

互联网 2024-12-30 阅读0 评论0

IT项目时间管理,关键要素与高效步骤

在当今信息化时代,IT项目已成为企业发展的重要驱动力。IT项目的复杂性和不确定性使得时间管理成为项目管理中的一大挑战。本文将围绕I...

互联网 2024-12-30 阅读0 评论0

IT高校论坛,探索未来科技教育的风向标

随着科技的飞速发展,我国IT行业呈现出蓬勃发展的态势。在此背景下,IT高校论坛应运而生,成为连接行业、学校、学生的重要桥梁。本文将...

互联网 2024-12-30 阅读0 评论0