万本电子书0元读

万本电子书0元读

顶部广告

数字系统设计与Chisel实现电子书

本书立足工程实践,贯穿大量设计案例,实现 “语法学习+系统设计”的提升。从简单的组合逻辑、时序逻辑电路,到复杂的 FIFO 缓冲器、串口模块、Leros 处理器,每个示例均提供完整代码与详细设计思路。书中还清晰地呈现 Chisel 发环境搭建、仿真测试、Verilog 代码生成等全流程操作,配套波形测试、印调试、多线程测试等实用技巧,让读者能够快速上手并应用于实际项目。

售       价:¥

纸质售价:¥46.70购买纸书

0人正在读 | 0人评论 6.7

作       者:刘苍,黄玉金,张伟伟,孟双德,伍复慧

出  版  社:机械工业出版社

出版时间:2025-12-09

字       数:12.1万

所属分类: 教育 > 大中专教材 > 研究生/本科/专科教材

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(条)
  • 读书简介
  • 目录
  • 累计评论(条)
本书从实用性角度出发,对基于Chisel语言的数字系统设计的方法、技术和相关工具行了系统介绍,主要内容包括:数字系统设计的基础知识、Chisel语言发环境及仿真测试方法、使用Chisel语言行数字系统设计的要素、使用Scala语言配置硬件生成的相关方法、复杂的数字系统功能模块的实例,以及对通用化FPGA逻辑结构的展望。书中引大量设计示例,帮助读者在学习Chisel语法的同时,系统掌握数字系统设计的相关知识。本书既适合作为高校计算机类专业数字系统设计相关课程的教材,也适合从事数字系统设计相关工作的工程师阅读。<br/>【推荐语】<br/>本书立足工程实践,贯穿大量设计案例,实现 “语法学习+系统设计”的提升。从简单的组合逻辑、时序逻辑电路,到复杂的 FIFO 缓冲器、串口模块、Leros 处理器,每个示例均提供完整代码与详细设计思路。书中还清晰地呈现 Chisel 发环境搭建、仿真测试、Verilog 代码生成等全流程操作,配套波形测试、印调试、多线程测试等实用技巧,让读者能够快速上手并应用于实际项目。 本书结构层层递,构建起从基础到阶的完整知识体系。篇介绍数字系统设计基本概念与发展趋势,帮助读者建立宏观认知;着,系统讲解 Chisel 数据类型、模块定义、硬件生成器等核心要素,兼顾 Scala 语言配置技巧;然后,聚焦输信号处理、有限状态机、总线互联等复杂模块设计,最终延伸至通用化 FPGA 逻辑结构的探索。这种“从门到精通”的梯度化内容设计,既适合零基础学习者,也能为工程师提供创新思路。 针对 Chisel 语言生态尚未完善的现状,本书提供全方位学习支持。不仅详细说明 IntelliJ IDEA、Icarus Verilog 等工具的安装与使用,还配套知乎专栏“数字系统设计与 Chisel 实现”,实时更新相关学习内容并提供相关的学习指导。<br/>【作者】<br/>刘苍,毕业于国防科学技术大学计算机学院,工学博士。现任教于海军工程大学,主要研究方向为芯片发、数字系统设计、微电子学与固体电子学等,2、发表发表学术论文二十余篇,其中以第一作者发表SCI/EI检索论文8篇;主持国家自然科学基金、湖北省自然科学基金各一项,参与多个国家级课题;申请国家发明专利十余项。Chisel语言生态社区的积极贡献者,在知乎等技术社区发表关于Chisel语言的系列文章。<br/>
目录展开

前言

第1章 数字系统设计基础

1.1 数字系统设计概述

1.1.1 什么是数字信号

1.1.2 什么是数字电路

1.1.3 什么是数字系统

1.1.4 现代数字系统的设计流程

1.2 基于FPGA的数字系统设计概述

1.2.1 FPGA概述

1.2.2 基于FPGA的数字系统设计流程

1.3 数字系统设计的发展趋势

1.3.1 基于框架的低代码设计

1.3.2 领域专用处理器

1.3.3 异构计算架构

1.3.4 安全性设计

第2章 Chisel语言概述

2.1 FPGA逻辑设计方法

2.1.1 原理图输入法

2.1.2 VHDL设计语言

2.1.3 Verilog设计语言

2.1.4 Chisel设计语言

2.1.5 各种设计方法的对比

2.2 开发工具的安装

2.2.1 IntelliJ IDEA的安装

2.2.2 Icarus Verilog的安装

2.3 使用IntelliJ IDEA进行Chisel逻辑设计的流程

第3章 基于Chisel语言的程序构建和基础测试

3.1 使用sbt构建工程

3.1.1 代码组织

3.1.2 运行sbt脚本

3.1.3 生成Verilog代码文件

3.1.4 工具流

3.2 基于Chisel语言进行测试

3.2.1 ScalaTest

3.2.2 ChiselTest

3.2.3 波形测试

3.2.4 打印调试

第4章 高阶测试及验证

4.1 调试

4.2 Chisel设计的测试

4.3 多线程测试

4.4 仿真验证模拟器

第5章 数字系统的组成

5.1 Chisel的数据类型和常数

5.2 组合逻辑电路

5.2.1 逻辑运算

5.2.2 算术运算

5.2.3 多路选择器

5.3 寄存器

5.4 Bundle和Vec

5.4.1 Bundle

5.4.2 Vec

5.5 Wire、Reg和IO

第6章 模块的定义及例化

6.1 Chisel语言的模块

6.2 模块嵌套

6.3 算术逻辑单元

6.4 批量连接

6.5 例化第三方模块

第7章 组合逻辑电路设计

7.1 组合逻辑电路

7.2 译码器

7.3 编码器

7.4 仲裁器

7.5 优先级编码器

7.6 比较器

第8章 时序逻辑电路设计

8.1 寄存器

8.2 计数器

8.2.1 递增计数器和递减计数器的设计

8.2.2 通过计数器构造时序

8.2.3 计数器优化

8.2.4 定时器

8.2.5 脉冲宽度调制

8.3 移位寄存器

8.3.1 并行输出的移位寄存器

8.3.2 并行输入的移位寄存器

8.4 存储器

第9章 硬件生成器

9.1 Scala语言简介

9.2 使用函数实现轻量级模块

9.3 含配置参数的数字电路设计

9.3.1 简单的参数化配置

9.3.2 样例类

9.3.3 含类型参数的函数

9.3.4 含类型参数的模块

9.3.5 参数化的Bundle类型

9.4 生成组合逻辑

9.5 继承的使用

9.6 使用函数式编程进行硬件生成

9.6.1 搜索最小值

9.6.2 仲裁树

第10章 输入信号处理

10.1 异步输入

10.2 输入信号去抖动

10.3 输入信号滤波

10.4 将输入信号处理封装为函数

10.5 同步复位

第11章 有限状态机

11.1 基本有限状态机

11.2 快速输出的Mealy型有限状态机

11.3 Moore型有限状态机和Mealy型有限状态机的对比

第12章 状态机通信互联

12.1 闪灯程序示例

12.2 含数据通路的状态机

12.3 ready/valid流控接口

第13章 设计示例

13.1 FIFO缓冲器

13.2 串口

13.3 FIFO的设计变体

13.3.1 参数化的FIFO

13.3.2 基于标准化接口设计BubbleFIfo

13.3.3 双缓冲FIFO缓冲器

13.3.4 基于寄存器堆的FIFO缓冲器

13.3.5 基于片上存储器的FIFO缓冲器

13.4 多时钟域存储器

第14章 互联

14.1 经典的微处理器总线

14.2 片上总线

14.2.1 组合式握手协议

14.2.2 流水线握手协议

14.2.3 I/O外设设计示例

14.2.4 存储器映射外设设计示例

14.3 总线和接口标准

14.3.1 Wishbone总线

14.3.2 AXI总线

14.3.3 Open Core Protocol标准

14.3.4 其他总线标准

第15章 Leros处理器设计

15.1 指令集

15.2 数据通路

15.3 算术逻辑单元

15.4 指令译码单元

15.5 汇编指令

15.6 指令存储器

15.7 数据通路的状态机设计

第16章 通用化FPGA逻辑结构设计

16.1 为什么进行通用化FPGA逻辑结构设计

16.2 可重构通用化FPGA逻辑设计

16.2.1 总体设计

16.2.2 数据交换模块

16.2.3 信号转换模块

16.3 原型系统设计和验证

16.3.1 可重构通用化FPGA逻辑结构原型系统

16.3.2 下一步工作计划

16.4 对通用化、标准化逻辑设计的展望

附录A Chisel 3.6手册

A.1 变量说明

A.2 关键词

A.3 wire型信号创建及赋值

A.4 信号构造方法

A.5 枚举Enum的用法

A.6 集合类型

A.6.1 Bundle方法

A.6.2 Vec方法

A.7 操作符

A.8 代码生成

A.9 强制类型转换

A.10 标准单元库

A.10.1 位操作

A.10.2 状态组件及模块的标准单元库

A.10.3 接口

A.11 模块的定义和例化

参考文献

累计评论(条) 个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部