问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Chisel基础介绍

发布网友 发布时间:2024-10-22 13:31

我来回答

1个回答

热心网友 时间:2024-11-07 17:12

Chisel:模块化Scala领域的力量</


Chisel,作为Scala领域专用语言的璀璨明珠,凭借其模块化和参数化特性,为高效硬件开发提供了强大支持。本文将引领你步入Chisel的世界,从基础安装到核心概念,一步步探索。


入门步骤


首先,让我们在Ubuntu上搭建环境:安装Java、sbt(Scala构建工具)和Verilator(用于波形模拟和gtkwave查看)。sbt是工程依赖的得力助手,通过它管理项目。


基础模块构建

Chisel巧妙地运用val(不变量)和":="(状态更新)。


类型转换与数据类型

从Scala到Chisel,类型转换清晰直观:如`Int to UInt`。Chisel数据类型包括`UInt`, `SInt`, `Bool`, `Bundle`, `Vec`,如1位无符号数值`1.U(1bit)`和12位有符号数值`-1.S(2bit)`。


变量与向量

硬件类型的变量定义:如`row10: Wire(UInt(16.W))`和`register: Reg(UInt(12.W))`。向量类`Vec`如`muls: Wire(Vec(length, UInt(8.W)))`,提供map、zip和foreach功能。


提高代码复用的Bundle

包裹类`Bundle`就像C语言中的struct,例如`exampleIO: Input/Output`, `io: IO(Bundle {...})`,提升代码重用性。


端口操作与运算符

ValidIO和Flipped提供灵活的端口操作,如`x: ValidIO(exampleIO), y: Flipped(ValidIO(exampleIO)), io.x >io.y`。运算符如`a = b.andR, a = b.orR`,智能处理位宽。


逻辑与时序处理

Chisel区分组合逻辑(Wire, 数据类型和位宽)和时序逻辑(Reg, 寄存器操作)。如`Wire(row10 = UInt(16.W))`和`Reg(register, io.in + 1.U)`。`RegEnable`和`ShiftRegister`用于更复杂的时序控制。


生成Verilog


利用`chisel3.Driver.execute`函数,Chisel能将设计转换为Verilog。在主函数`TutorialRunner`中调用,生成".firrtl"和".v"文件。测试则通过PeekPokeTester,编写Scala代码获取Golden Model,并通过`iotesters.Driver.execute`执行测试。


实战演练

尝试编写测试用例,如`Adder(8) tests`和`Adder4 tests`,并使用以下sbt命令执行:


sbt "test:runMain examples.Launcher Adder"


学习资源
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
美的燃气热水器12升电脑版显示FR一pH一PL一dH一nE一qU怎么调好_百度知... 热水器ph什么意思 上海工程技术大学公共管理专业是什么学院 公共事业管理在暨南大学中属于哪个学院? 中央财经大学公共事业管理学生就业去向都有哪些 中飞院公共事业管理是什么专业 广西医科大学公共事业管理属于哪个学院 抖音怎么发视频@抖音小助手 发视频@抖音小助手操作一览 轻颜相机怎么取消自动续费 取消自动续费教程 轻颜相机vip怎么取消 倚天屠龙记节目表 ...&lt;&lt;倚天屠龙记&gt;&gt;里的四十回的题目连起来是首诗?谁能打出来我给谁20... 电视剧倚天屠龙记为什么不演第一章“天涯思君不可忘 ”和第二章“武当... 问一老街机游戏的名字 经典街机游戏3合1叫什么,有个游戏第一关打树怪,最后一个游戏是... 食品放射性污染基本介绍 食品放射性污染主要危害 do造型是什么意思? 食品放射性污染对健康的影响 食品放射性污染的危害 ...首好听又好唱的流行歌。最好是中文的。顺便带伴奏 绝对配额与关税配 左右脸严重不对称是什么原因 欧洲有哪八大城市 欧洲有十座重要城市,都是什么? 欧洲城市有哪些 欧洲有哪些主要国家著名城市 汉维的维生素C泡腾片与传统的维生素C片剂相比效果如何? PPR管和铝塑管,哪个安全耐用?元芳,你怎么看? 哪种形式的维生素C补充剂吸收最好?汉维? 巨巨蟹座的必杀技是什么 巨蟹座的和哪个星座般配 ...那就是官方网站,官方微博,什么是官方,官方的含义是什么 起诉彩礼要什么证据 23天的新生儿人工喂养每次喂奶量应该是多少毫升? 请高手帮忙翻译一句日语,谢谢 诺基亚N73怎么下主题 要具体哦 N73哪里可以直接下SISX格式的主题. 下载手机N73的主题是怎么下载的 求各位解答关于N73手机主题 急 n78主题与手机不兼容的问题 国外客户(中间商)要求把发货人更改成他们自己。 ...公司的名称,但汇款给我的是B公司,这样对收汇,核销,退税都没有关系吧... 我现在是在个人窗口买的社保和医保,但现在有工作,且3月份转正就由公司买... 货代公司用美金结算有什么好处 ...请货代报关,这一操作可以吗 货代为什么不答应 收美金发票付人民币给货代,可以吗 怎样才知道公司公章有没有被其他股东私用,如果有应该怎样处理? 亚历山大城的建立和哪一个历史事件密切相关 埃及亚历山大城市景点