Chisel概述


Chisel 背景

Verilog HDL开发效率低,不能满足芯片规模的高速发展。相对而言,软件开发效率变强很多,这是由于其高抽象层次的编程语言。于是出现了基于Scala为宿主语言开发的硬件构建语言,以减少硬件设计的反馈环,提高生产力。

Chisel是一种开源,RTL级的硬件描述语言,并不是HLS语言(行为级描述的高级语言如C直接生产RTL而不会看到寄存器级别的东西),可以加速ASIC和FPGA数字逻辑设计的高级电路生成和设计重用。

Chisel将硬件构造原语添加到Scala编程语言中,为设计者提供了现代编程语言的能力,可以编写复杂的、可参数化的电路生成器,从而生成可综合的Verilog。这种生成器方法能够创建可重用的组件和库,例如Chisel标准库中的FIFO队列和仲裁器,从而提高设计中的抽象级别,同时保持精细的控制。

最初是在RISC-V处理器开发时出现的,由于处理器芯片迭代快速,很多模块可以通过派生和重载来产生,包括SOC设计中模块的重用,chisel可以体现自身优势。 类似的还有SpinalHDL语言。


Chisel 特性

  1. 内嵌scala语言,语法基本相似,继承了其便于封装、扩展的特性

  2. 面向对象以及功能构建的语言,即类的集成和派生可用;强大的函数式编程方式,参数化、代码复用更加方便高效

  3. 工作步骤:Chisel转换为verilog
    (1) Chisel编译器,将Chisel代码转换成AST中间数据
    (2) Firrtl编译器,将AST数据转换成Firrtl代码
    (3) Firrtl编译器,将Firrtl代码转换成Verilog代码

  4. 端口互连简单

  5. chisel编辑器能实现功能强大的错误检查

问题尚存

  1. 学术界产物,短期内难以取代Verilog
  2. Chisel需要先转换成verilog,而转换后的verilog信号名有大量的命名替换(Chisel源码修改后原来的名称可能发生变化),这会给问题定位和代码覆盖率收集带来很多障碍
  3. 不支持主流的EDA工具

参考文章

  1. Chisel初体验——Chisel是什么(一)
  2. 新型敏捷硬件开发语言—Chisel
  3. 硬件描述语言(HDL)的挑战者-SpinalHDL
  4. 硬件描述语言(HDL)的搅局者-Chisel
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值