• 敏捷硬件开发语言Chisel与数字系统设计
21年品牌 40万+商家 超1.5亿件商品

敏捷硬件开发语言Chisel与数字系统设计

正版保障 假一赔十 可开发票

43.36 6.3折 69 全新

库存7件

广东广州
认证卖家担保交易快速发货售后保障

作者梁峰

出版社电子工业出版社

ISBN9787121434129

出版时间2021-06

装帧平装

开本16开

定价69元

货号11652046

上书时间2024-12-28

灵感书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
第一篇 敏捷硬件开发语言Chisel

 第1章 新型敏捷硬件开发语言——Chisel和Scala

 1.1 优选的宿主——什么是Scala

 1.2 敏捷开发——什么是Chisel

 1.3 Scala入门——让你的代码跑起来

 1.3.1 Scala的安装方法

 1.3.2 使用Scala解释器

 1.3.3 运行Scala脚本

 1.3.4 编译非脚本文件

 1.3.5 使用IDEA开发Scala项目

 1.3.6 总结

 1.4 章节安排

 1.5 参考文献

 1.6 课后练习

 第2章 Chisel入门及数据类型

 2.1 Chisel开发环境的安装步骤

 2.1.1 安装步骤

 2.1.2 开发环境测试

 2.1.3 小结

 2.2 Chisel的常见问题

 2.3 Chisel的变量与数据类型

 2.3.1 数据字面量与数据类型

 2.3.2 数据宽度

 2.3.3 类型转换

 2.3.4 向量

 2.3.5 混合向量

 2.3.6 包裹

 2.3.7 Chisel的内建操作符

 2.3.8 位宽推断

 2.3.9 Chisel泛型

 2.4 总结

 2.5 课后练习

 第3章 模块与硬件类型

 3.1 Chisel是如何赋值的

 3.2 端口(IO)

 3.2.1 定义端口列表

 3.2.2 翻转端口列表的方向

 3.2.3 整体连接

 3.2.4 动态修改端口

 3.3 模块

 3.3.1 模块分类

 3.3.2 定义模块

 3.3.3 例化模块

 3.3.4 例化多个模块

 3.4 线网

 3.4.1 Wire

 3.4.2 WireDefault

 3.4.3 未驱动的线网

 3.5 寄存器

 3.5.1 Reg

 3.5.2 RegNext

 3.5.3 RegInit

 3.5.4 RegEnable

 3.5.5 ShiftRegister

 3.5.6 寄存器实例

 3.5.7 异步寄存器

 3.6 寄存器组

 3.7 用when给电路赋值

 3.8 总结

 3.9 参考文献

 3.10 课后练习

 第4章 Chisel常用的硬件原语

 4.1 多路选择器

 4.2 优先编码器

 4.3 仲裁器

 4.4 队列

 4.5 ROM

 4.6 RAM

 4.7 带写掩码的RAM

 4.8 从文件读取数据到RAM

 4.9 计数器

 4.10 线性反馈移位寄存器

 4.11 状态机

 4.12 总结

 4.13 参考文献

 4.14 课后练习

 第5章 生成Verilog HDL代码与基本测试

 5.1 生成Verilog HDL代码

 5.1.1 execute

 5.1.2 emitVerilog

 5.2 增加参数的方法

 5.2.1 Firrtl传递参数

 5.2.2 给主函数传递参数

 5.3 编写chisel-iotesters测试

 5.4 运行chisel-iotesters测试

 5.5 使用chiseltest进行测试

 5.6 总结

 5.7 课后练习

 第6章 黑盒

 6.1 例化黑盒

 6.2 复制Verilog文件

 6.3 内联Verilog文件

 6.4 inout端口

 6.5 总结

 6.6 课后练习

 第7章 多时钟域设计

 7.1 没有隐式端口的模块

 7.2 定义一个时钟域和复位域

 7.2.1 withClockAndReset

 7.2.2 withClock和withReset

 7.2.3 复位信号的三种类型

 7.3 使用时钟负沿和低有效的复位信号

 7.4 示例:异步FIFO

 7.5 总结

 7.6 参考文献

 7.7 课后练习

 第8章 函数的应用

 8.1 用函数抽象组合逻辑

 8.2 用工厂方法简化模块的例化

 8.3 用Scala的函数简化代码

 8.4 Chisel的打印函数

 8.4.1 Scala风格

 8.4.2 C风格

 ……

内容摘要

在今天众多的编程语言中,Java常常是软件开发者的首选语言。而能让Java之父给出如此评价的 Scala,想必有其吸引人之处。那么,Seala究竟是一门什么样的语言呢?

Scala 是-门基于JVM (Java Virtual Machine,Java 虚拟机)运行的语言,并且兼容现有的Java程序,在设计之初就考虑了与Java的无缝衔接。Scala代码不需要任何特殊的语法、显式的接口描述,就可以直接调用Java方法、访问Java字段、从Java类继承、实现Java接口。 Java 代码也可以调用Seala 代码,不过由于Seala的语义比 Java更为丰富,因此有些更为先进的Scala 特性映射在Java前需要先被编码。但是Scala 设计者的目的是创造一门比Java更好用、更高效、更优秀的语言。从运行机制上讲,Scala会被编译成与Java一样的字节码,交由JVM运行,所以其运行时的速度通常与Java程序不分上下。从实用性来看,它的形式比Java简洁得多,语法功能更加强大,代码量往往比相同功能的Java少得多。

Scala是一门面向对象的函数式语言。时至今日,面向对象已经成为大多数编程语言都支持的主要特性。但另一方面,Scala没有选择更多人熟悉的指令式编程风格,而是选择了更为

小众的函数式编程理念。对于熟悉C/C++、Java、Python等语言的读者来说,可能从未接触过函数式编程。但只需要基本的学习,读者便能掌握基本的函数式编程,并会逐步发现函数式编程的妙处。Scala提倡使用者使用函数式编程,但也预留了指令式编程的余地。

正如它名字取自的“Scalable”一样,这也是一门可以自由伸缩的语言:既能裁剪已有的类库,又能扩展自定义类库;既能用于编写一个简单的脚本,又足以胜任复杂、庞大的软件系统编程任务。Scala的语法比Python更为简洁,抽象能力也比C++更为高级,因此,Scala的学习曲线并非平滑的,而是阶梯状的。也正因此,如果读者能耐心学习Scala,并逐步掌握它提供的高级语法,深入理解其编程理念,就会发现这是一种让你爱不释手、相见恨晚的编程语言。

Scala最大的优势就是其各种语法便利造就的强大伸缩性,进而成为一种优秀的宿主语言。换句话说,开发者可以方便地利用自定义Scala类库,快速开发出“新”语言,专门用于某一特殊用途。

1.2 敏捷开发——什么是 Chisel

对每个数字电路工程师而言,Verilog HDL(Verilog Hardware Description Language,Verilog硬件描述语言)是再熟悉不过的了。然而,Verilog HDL是C语言时代的产物,现如今,其开……



精彩内容
从20世纪90年代开始,利用硬件描述语言和综合技术设计实现复杂数字系统的方法已经在集成电路设计领域得到普及。随着集成电路集成度的不断提高,传统硬件描述语言和设计方法的开发效率低下的问题越来越明显。近年来逐渐崭露头角的敏捷化设计方法将把集成电路设计带入一个新的阶段。与此同时,集成电路设计也需要一种适应敏捷化设计方法的新型硬件开发语言。本书从实用性和优选性出发,较全面地介绍新型硬件开发语言Chisel和数字系统敏捷化设计方法。全书分两篇。第一篇共10章,主要内容包括Chisel语言简介、Chisel的数据类型、Chisel的模块与硬件类型、Chisel常用的硬件原语、如何将Chisel代码转换生成Verilog HDL代码及基本测试方法、Chisel的黑盒、用Chisel实现多时钟域设计、Chisel的函数应用及其他议题等。第二篇共9章,介绍编写Chisel需要掌握的Scala语言编程基础知识。读者可以根据自身情况,跳过第二篇Scala基础部分,直接学习Chisel的硬件开发功能。本书提供配套的课后练习参考答案、仿真程序代码等。本书可作为集成电路科学与工程、电子信息类、计算机类等相关专业的高年级本科生及研究生的教学用书,也可供从事集成电路设计的工程人员和EDA专业人员学习、参考。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP