没有合适的资源?快使用搜索试试~ 我知道了~
首页SpinalHDL-ppt.pdf
马車2021.5.20 SpianlHDL 直播分享PPT 讨论当前IC设计当中存在的效率问题,分享SpinalHDL在IC前端设计中的优势,对比SpinalHDL 和Chisel的差异,以及基于Scala的硬件开发方法学在芯片设计中的应用和意义。 直播回放:https://live.csdn.net/room/csdnnews/8LPIPg9L?utm_medium=distribute.pc_home_second_level_live.none-task-liveroom-null-14.nonecase&depth_1-utm_source=distribute.pc_home_second_level_live.none-task-liveroom-null-14.nonecase
资源详情
资源评论
资源推荐

HDL develop base on Scala
Jijing Guo 2021
goco.v@163.com
SpinalHDL
1 . 1

什么是SpinalHDL
⼀门硬件描述语⾔,基于Scala上的HDL框架
Verilog⽣成器,不是HLS,RTL层⾯进⾏描述
是传统HDL的⼀个超集
提供更⾼级别的参数化和组织抽象能⼒
强⼤的元编程能⼒(寄⽣Scala)
提供⼀整套lib和Soc互联⽅案
提供⼀整套基于开源项⽬的前端开发⽅案
–Charles Papon
@Dulo1990
class Delay extends Component{
val io = new Bundle{
val din = in Bits(8 bit)
val dout = out Bits(8 bit)
}
io.dout := RegNext(io.din) init 0
}
1 . 2

传统HDL有什么问题
例化繁琐,⼤量的⼿动连线(插件只能解决部分问题)
⼤量的重复声明(⽆休⽌的中间信号位宽声明)
函数不能带参数(摆设)
模块参数化能⼒弱鸡(基于宏,parameter不⽀持函数)
错误检测能⼒弱(需要依赖EDA⼯具检查错误)
重构、增减信号⿇烦,即便是依赖脚本,也不通⽤
低级错误注⼊频繁,增加验证成本,增长验证收敛周期
基础电路重复书写,⼯程⾝⼼疲惫
电路复⽤程度低,开发周期跟模块⼤⼩成线性关系
语⾔缺乏缺乏结构化的元素
事件驱动的范式并不是⽤来RTL描述的,它是⽤来仿真⾏为建模
你觉的Verilog/VHDL/SV哪些地⽅你不能忍受?
如果让你来改进Verilog,你会提供那些Feature
你希望EDA⼯具应该增加持那些feature
你有没有⽤脚本或者其他⼯具来⽣成rtl代码的经历
思考
问题
错误检查弱
参数化能⼒弱
复⽤程度低
1 . 3

HDL语⾔的3个演进⽅向
Super Verilog
HLS
DSL based
优点:语法有延续性
问题:没能根本上解决参数化,错误检查的问题,EDA对新特性⽀持并不积极
优点:对于某些C参考平台可以快速⽣成硬件电路
问题:C书写限制较多,场景有局限性,⾯积冗余不可控,Debug空
难,ECO难做, 商业芯⽚采⽤的⽐较少
优点:基于RTL级的描述,参数化能⼒,⾼效的⽣成器,没有冗余
问题:百花齐放,⽣态割裂,迫切需要⼀个更强⼒的语⾔去领导
1 . 4

HDL尝试层出不穷
C++
- an IEEE standard meta-HDL
- an integrated development environment (IDE)
rapid design for FPGAs
Haskell
Haskell to hardware, 2016+
- A functional hardware description language
- A Haskell DSL for describing hardware pipelines
- Compiler, simulator, and tools for the Bluespec
Hardware Description Language.
Java
..2006
JavaScript
- elastic circuit toolchain
- Hardware description language (HDL) parser, and
Hardware simulator.
- Simple Hardware Description Language
Julia
- a Verilog-generation DSL for Julia., 2017
SystemC
VisualHDL
concat
https://github.com/conal/talk-2015-haskell-to-hardware
CλaSH
pipelineDSL
Bluespec
jhdl
PSHDL
reqack
hdl-js
shdl
Julia-Verilog
Python
Meta HDL, verification env. IP-core generator, HDL glue
Coarse-Grained Reconfigurable Architecture generator based on
magma, 2018+
- Meta HDL, 2017+
- Meta HDL, 2011+
- Process based HDL, verification framework included, 2004+
- A refreshed Python toolbox for building complex digital
hardware, 2018+
- Python-like language supporting "fluid pipelines" and "live flow",
2017+
- Meta HDL, simulator suitable for research.
- Process based HDL, verification framework included, 2014+
- Python, meta HDL with HLS like features, 2015-?
Ruby
Rust
- Meta HDL, 2016+
- Meta HDL, 2019+
Scala
- Meta HDL, 2014+
- Meta HDL 2014+
HWT
garnet
magma
migen
MyHDL
nMigen
Pyrope
PyRTL
PyMTL
veriloggen
RHDL
hoodlum
kaze
Chisel
SpinalHDL
1 . 5
剩余37页未读,继续阅读











安全验证
文档复制为VIP权益,开通VIP直接复制

评论0