离线
TA的每日心情 | 拍拍 2022-6-27 11:09 |
---|
签到天数: 25 天 [LV.4]
|
发表于 2020-9-13 09:34:05
|
显示全部楼层
本帖最后由 sky 于 2020-9-13 09:35 编辑
问:
UC Berkeley主导的开源项目RISC-V采用了他们自己新发明的chisel语言,这种语言成熟吗?为什么不采用同是高层次语言且已经成熟的SV;chisel以后可以取代SV吗?能完美地实现更层次综合吗?比Xilinx的HLS更强大吗?
某人答:
使用chisel还是写rtl,和写verilog本质是一样的,但是他用编程的方式来描述硬件电路,描述能力更强,参数系统也更方便,chisel是基于scala的,语法简洁,而且编程范式支持很好,面向对象,函数式,模板应有尽有,容易提高代码复用能力 好处这么多,写过 chisel的人就再也回不去verilog了 当然也有问题, 首先是scala的学习曲线比较陡,用好chisel,还是得学好scala,有人这么说scala是宇宙第二难学语言,这肯定是夸张了,但是确实不容易
第二应该说来还不算很完善,chisel3.0还是未能发布,看上去还有一些工作,他们的目标是3.0要进军工业界,而且chisel持续投入,参与的人也不少,完善也就只是时间问题了
但是我还是很享受写scala,感觉开发效率高很多,关键是,这个项目一定会持续发展,而且他们已经基于chisel做了很多芯片,总的说来,靠得住
-------------这是记录的分割线
Chisel3已经支持跨时钟域了,感觉过不了多久就要发布了
Chisel和scala一样,在未来的一段时间注定是小众,但是技术的门槛并不会一直都那么高,金子总会发亮,好东西总要普及,过不了几年肯定会有相关的书籍出现,再复杂的事情都有人讲简单。这里的原因很简单,因为riscv的参考设计rocket是完全开源的,中国半导体大潮下,肯定会有人前赴后继的冲进来。大胆猜测一下,过不了几年,懂得chisel/rocket的工程师,将会火起来。
某人答:
1. chisel并不成熟。chisel在描述硬件的灵活性上不如verilog. 但是相比verilog,chisel提供了oo功能(比generate强多了),更多的primitive(比如arbiter,queue...),简化了interface连接,可以compile成c++ simulator...但是作为一个verilog programmer,scala用起来还是挺别扭的
2. 为啥不用sv,因为大学研究项目,要装13
3. chisel不是hls,更像program verilog in scala。 Xilinx都不能实现完美hls,一个大学研究项目更不可能
4. 取代verilog...还是下辈子吧
5. 个人认为ucb的这个项目价值更大的还是risc-v指令集,而不是chisel
某人答:
UCB说了啊 纯粹是人力不足,而只能用chisel,其实语言从来都不是主要的,毕竟只是工具,重要的是riscv本身
某人答:
Verilog存在不支持多重数组,不支持可变接口等严重缺陷,写出来的代码太呆板,可重用性比较差。
Verilog的Generate功能在面向对象、函数式编程等成熟的编程武器面前完全不堪一击。
对于复杂的大型数字电路,如CPU、通信基带而言,Chisel的开发效率是Verilog的10倍不止,发展潜力非常大
某人答:
新项目不用新语言,还想让那些有无数历史包袱的老项目用新语言
某人答:
sv有些工具支持还是不行,最多用一些sv的特性。chisel因为最后转成verilog,所以工具支持没啥问题。
我感觉唯一chisel不好的就是转出来的代码中间信号名,不能直观看出对应元代码的位置
某人答:
EDA厂商不支持,debug起来能痛苦死你。
|
|