完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
2个回答
|
|
在verilog/Vhdl出生到现在,其他HDL一直层出不穷,更多的是玩票或者试验性质的,有的也只是在很小的范围内局部应用,并没有根本上解决Verilog的问题。SpinalHDL是基于SCALA语言上的DSL(还有一个兄弟叫Chisel),更准确的说是一个基于Scala的HDL开发框架,不同于以前的那些HDL,它解决了Verilog的痛点,并且和传统的IC-flow和谐共存,适合大规模的Soc系统的开发。
可以总结为八个字:高效可靠,方便复用 SpinalHDL相比Verilog/VHDL 1:彻底的参数化能力,自定义组件,自定义Lib,真正实现可重用 2:位宽推导,类型推导,写出的HDL简洁可靠3:内置Lint静态检查(位宽,端口,CDC),生成的代码不会有静态错误 4:大量高效的基础组件和可重用Lib,还在持续发展 5:至少一个Soc框架和RISCV处理器 6:自带仿真框架(后台基于Verilator),非常方便并且灵活强大,在此之上发展出一个UVM也不难 7:开源,跨平台开发SpinalHDL + Verilator(仿真) + GtkWave(波形),对于个人或者小团队再也不必上Linux装盗版全家桶 8:不光适合HDL,参考平台,测试激励都可以用Scala完成,一个平台全部搞定 SpinalHDL相比MyHDL 1: MyHDL的硬件代码更像python,而基于Scala的SpinalHDL代码更像HDL,硬件工程师阅读书写转变成本低 2: MyHDL测试基于Python,对于稍大规模仿真很难胜任,SpinalHDL仿真测试基于verilator,毫不逊色商业软件VCS 3: Scala比Python更简洁跟安全,Scala非常适合DSL,对于满眼钉子的你,Scala就是手握各种锤子 SpinalHDL相比HLS 1:SpinalHDL的代码是基于RTL,思考过程跟verilog开发完全一致,并不会产生冗余逻辑,只会参数化生成,时序问题完全取决于设计者 2:HLSL的效率逻辑冗余一致被人诟病,对于低成本低功耗的消费级IC,面积功耗是一道过不去的门槛,需要精细化的设计。 SpinalHDL相比Chisel 1:chisel源于学校,缺乏工程经验,不管是chisel源码还是生成的Verilog可读性较差,有大量的争议设计 2:SpinalHDL对硬件工程师更为友好,对于有IC开发背景的工程师,阅读SpinalHDL源码几乎没有太大障碍。 3:SpinalHDL有完整的文档, 清晰的软硬件概念,生成的verilog代码非常接近工程师手工书写风格,适合团队混合开发。 SpinalHDL并不替代现有IC开发Flow,它是一个高效的生成器,对传统IC团队较为友好,对于混合开发(部分人SpinalHDL, 部分人Verilog)也完全没有阻碍,不做强制。 缺点: 算不上缺点的缺点,Scala是基于JVM上的一门面向对象函数式编程语言,对于传统的IC工程师需要一些学习成本。 但是如果有python或者C,java使用经验,学习Scala花不了多久,另外Scala也是一门非常值得学习的语言,有很多先进的元素。 如果之前你认为python是一门最简洁方便的语言,那么用了Scala你可能会改变主意 : ) 担心: 回到之初的那个问题,会不会是一个玩具,值得花时间去学习吗? 对于IC工程师,我在自己公司会不会用不了? 是否需要花时间学习一门新的语言,因人而异,看自己的兴趣和需求,但是SpinalHDL确实具备生产力,能开发大型系统,而且更适合开发大型系统,所以它不是玩具。 SpinalHDL跟现有团队以及Flow不冲突,可以自由组合,平滑过渡。 SpinalHDL2015左右出现的,还算比较新,但是已经在IC图像处理,通信基带,神经网络,以及SOC有实实在在的应用,并没有遇到严重的缺点。另外SpinalHDL是开源的,对于不满意的地方,或者自己有好的lib或者组件,每个人都可以不断的完善,而且也不难。 资料: 1 官方文档:https://spinalhdl.github.io/SpinalDoc-RTD/index.html 2 社区讨论:https://gitter.im/SpinalHDL/SpinalHDL 3 新手教程:https://github.com/jijingg/Spinal-bootcamp 4 知乎专栏:https://zhuanlan.zhihu.com/c_1172895565598920704 |
|
|
|
最近想从Verilog入坑SpinalHDL,有几点问题想请教下:
1、环境问题:习惯了Windows+VSCode,这个环境能支持么? 2、仿真调试问题:貌似需要先将SpinalHDL转成Verilog,再上Verilator,这个调试就可能有些麻烦,要返回去定位错误。不知道有什么经验 3、语言稳定性问题:版本升级,是否会带来不兼容的问题 4、其他:粗略看了一下SpinalHDL、Chisel3,貌似两者还是比较相似的,是否有工具支持把Chisel3转成SpinalHDL代码,这样可能有比较丰富的IP库可以用[/td] |
|
|
|
只有小组成员才能发言,加入小组>>
2875 浏览 3 评论
27640 浏览 2 评论
3449 浏览 2 评论
3968 浏览 4 评论
基于采用FPGA控制MV-D1024E系列相机的图像采集系统设计
2311 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 05:23 , Processed in 0.519818 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号