作品简介

本书教读者制作原创的计算机系统。第1章以介绍CPU为主,同时介绍如何制作存储程序与数据的内存、输入与输出的I/O以及将这些模块连接起来的总线,这些模块可以组合成一个简单的计算机系统。为了让这个计算机系统运转起来,第2章介绍电路板的设计和制作。第3章为这个计算机系统编写程序,并上机测试。本书可以帮助软件工程师了解硬件与底层,开发出高效代码。硬件工程师可以在该书基础上设计定制硬件,开发高速计算机系统。相信读者可以在本书的阅读过程中,体会到自制计算机系统的乐趣。

水头一寿(KAZUTOSHI SUITOU),庆应义塾大学硕士毕业。现在在庆应义塾大学攻读博士学位。目前从事实时嵌入式系统的系统LSI相关研究和开发。兴趣为音乐、摄影、自行车等。在RESPON小组担任逻辑设计工作。

米泽辽(RYO YONEZAWA),庆应义塾大学硕士毕业后,进入东芝株式会社半导体与存储子公司工作。目前从事高速串行接口IP的开发。兴趣为电子制作、家庭服务器管理等。在RESPON小组担任电路板设计与封面设计工作。

藤田裕士(YUJI FUJITA),庆应义塾大学硕士毕业后,进入日本电气株式会社工作。目前从事固件开发工作。兴趣为音乐欣赏、吉他演奏等。在RESPON小组担任软件设计工作。

赵谦(译者),2007年于青岛科技大学取得学士学位。2008年至今在日本熊本大学攻读博士学位。目前从事容错性FPGA架构及其CAD相关研究与开发。在FPGA领域著名国际会议FPGA、FPL以及ICFPT等发表过多篇学术论文。

作品目录

  • 译者序
  • 声明
  • 作者序
  • 本书的阅读方法
  • 第1章 CPU的设计与实现
  • 1.1 序
  • 1.2 计算机系统
  • 1.2.1 什么是计算机
  • 1.2.2 什么是 CPU
  • 1.2.3 什么是内存
  • 1.2.4 什么是 I/O
  • 1.2.5 什么是总线
  • 1.2.6 小结
  • 1.3 数字电路基础
  • 1.3.1 什么是数字电路
  • 1.3.2 数值表达
  • 1.3.3 有符号二进制数
  • 1.3.4 MOSFET 的结构
  • 1.3.5 逻辑运算
  • 1.3.6 CMOS 基本逻辑门电路
  • 1.3.7 存储元件
  • 1.3.8 组合电路和时序电路
  • 1.3.9 时钟同步设计
  • 1.3.10 小结
  • 1.4 Verilog HDL 语言
  • 1.4.1 什么是 Verilog HDL
  • 1.4.2 电路描述
  • 1.4.3 电路仿真
  • 1.4.4 Verilog HDL 的仿真环境
  • 1.4.5 小结
  • 1.5 系统蓝图
  • 1.5.1 目标系统整体介绍
  • 1.5.2 关于本章中的代码
  • 1.6 总线的设计与实现
  • 1.6.1 总线的设计
  • 1.6.2 总线的实现
  • 1.6.3 小结
  • 1.7 存储器的设计与实现
  • 1.7.1 FPGA 的 RAM 区域
  • 1.7.2 ROM 的设计与实现
  • 1.7.3 小结
  • 1.8 AZ Processor 的设计与实现
  • 1.8.1 关于 CPU
  • 1.8.2 AZ Processor 的设计
  • 1.8.3 AZ Processor 的实现
  • 1.8.4 小结
  • 1.9 I/O 的设计与实现
  • 1.9.1 定时器
  • 1.9.2 UART
  • 1.9.3 GPIO
  • 1.9.4 小结
  • 1.10 AZPR SoC 整体连接
  • 1.10.1 各模块的连接
  • 1.10.2 时钟模块的实现
  • 1.10.3 顶层模块的实现
  • 1.10.4 小结
  • 1.11 AZPR SoC 的仿真
  • 1.11.1 仿真模型的编写
  • 1.11.2 Testbench 的编写
  • 1.11.3 执行仿真
  • 1.11.4 小结
  • 1.12 本章总结
  • 第2章 电路板的设计与制作
  • 2.1 序
  • 2.2 电路板规格
  • 2.2.1 电路板名称
  • 2.2.2 电路板的构成
  • 2.2.3 电路板尺寸
  • 2.2.4 电路板层数
  • 2.2.5 FPGA 选型
  • 2.2.6 外围电路的选定
  • 2.3 元件选型
  • 2.3.1 元件选型标准
  • 2.3.2 元件选型
  • 2.3.3 元件的选购
  • 2.4 电路设计
  • 2.4.1 下载规格书
  • 2.4.2 配置电路
  • 2.4.3 外围电路
  • 2.4.4 电源电路
  • 2.4.5 电路板设计环境
  • 2.4.6 使用 Eagle 设计电路图
  • 2.4.7 完成的电路图
  • 2.5 布局设计
  • 2.5.1 电路板设计约束条件及布线策略
  • 2.5.2 FPGA 板的布局设计
  • 2.5.3 电源板的布局设计
  • 2.5.4 使用 Eagle 布局
  • 2.5.5 完成的布局
  • 2.6 制作元件库
  • 2.6.1 制作 Symbol
  • 2.6.2 制作 Package
  • 2.6.3 制作 Device
  • 2.7 电路板 3D 模型
  • 2.7.1 软件使用说明
  • 2.7.2 准备 3D 模型库
  • 2.7.3 制作电路板模型
  • 2.8 制作感光电路板
  • 2.8.1 整体流程
  • 2.8.2 制作光罩
  • 2.8.3 粘合光罩
  • 2.8.4 曝光
  • 2.8.5 显像
  • 2.8.6 蚀刻
  • 2.8.7 阻焊剂
  • 2.8.8 开孔
  • 2.8.9 在背面安装 VPort 接头时的处理
  • 2.8.10 制作通孔
  • 2.8.11 飞线
  • 2.9 使用电路板制造服务
  • 2.9.1 电路板制造服务
  • 2.9.2 DRC
  • 2.9.3 输出 Gerber 数据
  • 2.9.4 检查 Gerber 数据
  • 2.9.5 向 P 板 .com 公司下单制板
  • 2.9.6 向 OLIMEX 公司下单制板
  • 2.10 组装电路板
  • 2.10.1 电源板
  • 2.10.2 组装 FPGA 板
  • 2.11 功能测试
  • 2.11.1 识别 FPGA
  • 2.11.2 诊断程序
  • 2.12 本章总结
  • 第3章 编程
  • 3.1 序
  • 3.2 开发环境
  • 3.2.1 准备工作
  • 3.2.2 FPGA 开发环境
  • 3.2.3 ISE WebPACK
  • 3.2.4 UrJTAG
  • 3.2.5 交叉汇编程序
  • 3.2.6 第一个程序
  • 3.3 串口通信
  • 3.3.1 安装 Tera Term
  • 3.3.2 编写程序
  • 3.3.3 执行程序
  • 3.4 程序加载器
  • 3.4.1 XMODEM 协议
  • 3.4.2 编写程序
  • 3.4.3 编写加载测试程序
  • 3.4.4 执行程序
  • 3.5 中断与异常
  • 3.5.1 什么是中断
  • 3.5.2 编写程序
  • 3.5.3 执行程序
  • 3.5.4 什么是异常
  • 3.5.5 编写程序
  • 3.5.6 执行程序
  • 3.6 七段数码管
  • 3.6.1 什么是七段数码管
  • 3.6.2 七段数码管的控制
  • 3.6.3 七段数码管计数器概要
  • 3.6.4 编写程序
  • 3.6.5 执行程序
  • 3.7 制作一个实用程序
  • 3.7.1 功能概要
  • 3.7.2 制作程序
  • 3.7.3 执行程序
  • 3.8 结语
  • 看完了
展开全部