内容简介
本书以数的系统、计算电路、数字信号与电路系统为基础,以复杂数字计算系统为应用背景,重点研究和讨论计算电路中涉及的数的基本概念、计算电路基础、电路计算机制、复杂计算电路、数字信号处理、概率计算算法架构、有限域运算以及片上系统的架构与优化等内容。本书综合性高、实践性强、体系完整,可作为从事集成电路设计、芯片设计相关技术人员的参考书,也适合作为高校电子信息、计算机和集成电路设计等专业的教材。
目录
推荐序
前言
第1章计算电路概要
1.1计算机器
1.2MOS器件基础
1.2.1MOS管
1.2.2CMOS逻辑门
1.3电路设计基础
1.4总结和展望
思考题
第2章数的系统
2.1数的表示
2.1.1数的基
2.1.2基数转换
2.1.3数的编码
2.2冗余数系统
2.2.1冗余数基础
2.2.2冗余数编码
2.2.3数集的转换
2.3剩余数系统
2.3.1算术基础
2.3.2剩余数电路
2.4概率数系统
2.4.1概率数
2.4.2概率计算电路
2.5定点数与浮点数
2.6基本数学概念
思考题
第3章算术电路基础
3.1组合逻辑电路
3.1.1逻辑门基础
3.1.2组合逻辑变换
3.1.3基本逻辑电路
3.1.4其他逻辑电路
3.2加减法电路
3.2.1半加器
3.2.2全加器
3.2.3减法器
3.2.4递加递减电路
3.3基础加法器
3.3.1行波进位加法器
3.3.2曼彻斯特加法器
3.3.3位串行加法器
思考题
第4章高速加法器
4.1进位传播加法器
4.1.1超前进位加法器
4.1.2条件求和加法器
4.1.3进位选择加法器
4.1.4进位旁路加法器
4.2并行前缀加法器
4.2.1前缀加法
4.2.2常见的并行前缀加法器
4.3多操作数加法器
4.3.1无进位加法
4.3.2进位保留加法器
4.3.3华莱士树
4.3.4其他多输入数加法器
4.4冗余数加法
4.4.1冗余数
4.4.2冗余数运算
4.4.3混合基-2加减法
思考题
第5章乘法计算与电路
5.1求和移位乘法
5.1.1求和移位
5.1.2求和移位乘法器
5.2再编码乘法
5.2.1BOOTH算法
5.2.2再编码算法
5.2.3高基BOOTH乘法
5.3阵列乘法器
5.3.1无符号阵列乘法
5.3.2补码阵列乘法
5.3.3Baugh-Wooley乘法器
5.3.4BOOTH阵列乘法
5.4其他乘法器
5.4.1平方乘法器
5.4.2大位宽整数乘法
5.4.3截位乘法器
思考题
第6章除法计算电路
6.1基本除法
6.1.1恢复除法
6.1.2不恢复除法
6.2SRT除法
6.2.1SRT除法基础
6.2.2边界及连续条件
6.2.3进位保留除法
6.2.4高基数除法
6.3阵列结构
6.3.1带恢复阵列除法
6.3.2不恢复阵列除法
6.3.3SRT阵列除法
6.4收敛逼近法
6.4.1Goldschmidt除法
6.4.2牛顿-拉夫逊除法
6.5除法器的分类
思考题
第7章数字信号处理
7.1基本概念
7.1.1图的表示
7.1.2树和割集
7.1.3路径参数
7.1.4数字滤波器
7.2流水线与并行处理
7.2.1流水线
7.2.2并行处理
7.3重定时
7.3.1重定时基础
7.3.2割集重定时
7.3.3降速重定时
7.4脉动阵列
7.4.1脉动阵列基础
7.4.2脉动阵列的设计
7.4.3二维脉动阵列
7.5乘累加计算
7.5.1卷积计算
7.5.2分布式计算
7.5.3位串行乘法
思考题
第8章有限域运算
8.1有限域基础
8.1.1基本概念
8.1.2有限域多项式运算
8.2多项式运算电路
8.2.1加法电路
8.2.2乘法电路
8.2.3GF(2n)乘法
8.3密码芯片电路的设计
第9章概率及混合概率计算
9.1概率计算概述
9.1.1概率计算的起源
9.1.2概率计算电路的实现
9.2传统概率计算优化
9.2.1算术运算优化
9.2.2编码优化
9.3混合概率计算及电路
9.3.1混合概率计算简介
9.3.2混合概率运算单元
9.3.3混合概率计算的噪声容错
9.4混合概率计算的实现
9.4.1不同数系的计算
9.4.2复杂函数的计算方法
9.4.3带噪图像的处理
9.4.4混合概率计算神经网络加速器
第10章片上系统
10.1SoC简介
10.1.1SoC的架构
10.1.2软硬件协同设计
10.1.3芯片系统的开发
10.2SoC片上总线
10.2.1Wishbone总线
10.2.2AMBA总线
10.2.3TileLink总线
10.3SoC指令的编译执行
10.3.1SoC的计算过程
10.3.2系统编译过程
10.3.3系统机器码生成
10.4RISC-V核单元
10.4.1RISC-V核简介
10.4.2RISC-V指令集
10.5SoC的验证测试
10.5.1SoC模块仿真
10.5.2RISC-V系统验证
10.5.3SoC芯片测试
参考文献
前言/序言
前言
2023年,国际数据公司、浪潮信息、清华大学全球产业研究院联合发布《2022—2023全球计算力指数评估报告》。该报告显示,美国和中国的算力位于前两位,同处于领跑者位置,追赶者包括日本、德国、新加坡、英国、法国等国家。
“World War Ⅱ was decided by steel and aluminum,and followed shortly thereafter by the Cold War,which was defined by atomic weapons. The technology competition between the United States and China may well be determined by computing power.”这段话摘自2022年美国出版的图书Chip War。美国半导体工业协会与美国半导体研究联盟联合制定的未来十年左右(2023—2035年)全球半导体产业技术发展路线图,以及我国国务院发展研究中心发布的《世界前沿技术发展报告2023》,都将先进计算、非冯·诺依曼计算的新型架构作为关键技术之一。可见,先进计算及其芯片架构是算力发展的基础,也是各国优先发展的重点和科技竞争的焦点。
目前,对于高端计算芯片,关注的是如何通过芯片的工艺制程来提升其性能。工艺制程相当于芯片的物理骨骼,而芯片的灵魂却很少被提及。任正非先生曾提到:中国芯片仍落后一代,“数学补物理”是现实解法。我们希望在本书中体现芯片的灵魂——“数学”,以补齐芯片的物理短板。
高性能计算芯片的研发面临从数学“灵魂”到物理芯片量产的一系列挑战。在计算理论方面,要利用新计算范式(底层还要追溯到数的表示、数域及其编码等)的优势来优化计算电路以达到设计目标,并使其能够适应不同的计算目的,特别是适应AI大模型等的计算,这需要重新审视现有的数学计算范式。在电路设计方面,要将更高级别的算术原语映射成CMOS芯片中的计算算子,从而使计算算法、电路优化和版图验证工作高度融合且相互关联。最后,面对高算力、高吞吐率的要求,运算电路和片上系统的总线、接口的匹配互连也至关重要,计算算子不能孤立地进行设计和验证,系统集成化设计和优化使得芯片开发过程更加复杂和系统化。
在我国本科到研究生的信息大类人才培养体系中,缺乏数字电路之上进阶的算术计算电路课程。看似简单的算术运算电路的计算原理涉及很多基础的数学运算,包括数论、离散数学以及图论等数学知识。计算电路并非简单逻辑电路的升级,而是各种复杂数学运算的算法到硬件电路的映射。目前,许多关于数字逻辑与体系结构的书籍中并没有提供详细的算术电路理论和技术的介绍。早期计算电路原理方面的代表性著作是曾任教于加州大学的黄铠教授出版的《计算机算术原理、结构与设计》一书。
计算电路架构中的基本运算单元是各种算术电路,包括加法、减法、乘法、除法以及乘方或大整数运算的电路等。基本算术电路单元广泛应用于中央处理器(CPU)、图形处理器(GPU)、AI芯片(NPU)和数字信号处理芯片(DSP)等芯片计算核心。不仅如此,基本的算术运算也是复杂函数运算(三角、指数、对数和CORDIC算法等)的基础,有助于实现复杂工程计算的硬件化和高速化。
计算电路融合了数学、计算机科学和集成电路等学科的知识,重在研究数字逻辑系统中数的表示、计算算法及其电路的映射。本书描述了基础的算术原理、算法及其电路架构,主要内容包括:
数的系统。表示数(Number)的不同数字系统,包括二进制(基-2)、四进制(基-4)、十进制(基-10)以及非二进制数(SD数、SN数)等。数集(digit set)就是数位的集合,如[0,1]或[-1,0,1]等。
冗余数。区别于2补码的带符号数的概念,冗余数,也是有符号数,是带有正负位权的数,是算术电路计算的基础。
逻辑运算。逻辑运算是按位进行的,基本的按位运算包括AND、OR、XOR和NOT,位与位之间没有进位或借位关系。
算术运算。基本算术运算有加法、减法、乘法(包含乘方、大整数运算)、除法以及数字运算处理等。这些操作通常是CPU、GPU或NPU等处理器中ALU的基础与核心。
系统架构:即基于微处理器调度的片上计算系统(SoC),硬件包含CPU、数据处理器(GPU、DSP)、神经处理器(NPU)、总线控制器、各类接口、缓存等,甚至包含模拟采集前端(AFE)等各类异构计算单元。
总的来说,计算电路是当前高算力芯片设计(包括CPU、GPU、NPU以及DSP或者其他专用ASIC或通用FPGA的设计等)的基础。这些计算电路(或算术电路)的设计环境,包括数学理论、算法、架构以及HDL工具,为设计人员、开发人员和用户提供了更直接的原始技术创新的可能,带来了更大的设计挑战。
在本书的编写过程中,北京航空航天大学的钱德沛教授,香港中文大学(深圳)的黄铠教授给予了作者极大的支持和指导,本书初稿有幸得到了刘伟强教授(南京航空航天大学,第2章)、朱樟明教授(西安电子科技大学,第3章)、哈亚军教授(上海科技大学、第4章)、戴紫斌教授(信息工程大学,第5章)、隋兵才教授(国防科技大学,第6章)、周军教授(电子科技大学,第7章)、张吉良教授(南京邮电大学,第8章)、王继禾教授(西北工业大学,第9章)以及欧阳剑博士(百度昆仑,第10章)等业界专家、学者的审阅,在此向他们致以最诚挚的感谢!
本书由李洪革构思并主笔撰写完成。全书凝结了作者数十年来在计算电路设计方面的工作经验,并吸收、总结了多位学者的研究成果。参与本书工作的博士生有陈宇昊(起草第9章)、宋印杰(起草第8章)、朱新宇(起草第10章)、郭晓宇、刘宇盟以及多位硕士生。北京航空航天大学电子信息工程学院的领导和师生对本书的编写和出版给予了大力的支持和帮助。本书入选新闻出版署“十四五”国家重点出版项目,获得2025年国家出版基金和北京航空航天大学教材出版基金的支持。在此谨向所有为本书的编写、出版给予鼓励和帮助的社会各界表示最衷心的感谢!
尽管作者对书稿进行了仔细的推敲和多次修改,但由于计算电路的复杂性高,以及更新速度快,且受限于本人学识,书中的错误和不当之处在所难免,恳请使用本书的师生和社会各界人士给予指正。
作者
2025年8月




















