新書推薦:
《
不被定义的年龄:积极年龄观让我们更快乐、健康、长寿
》
售價:HK$
79.4
《
南方谈话:邓小平在1992
》
售價:HK$
82.8
《
纷纭万端 : 近代中国的思想与社会
》
售價:HK$
109.8
《
中国古代文体形态研究(第四版)(中华当代学术著作辑要)
》
售價:HK$
172.5
《
朋党之争与北宋政治·大学问
》
售價:HK$
102.4
《
甲骨文丛书·波斯的中古时代(1040-1797年)
》
售價:HK$
90.9
《
以爱为名的支配
》
售價:HK$
64.4
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:HK$
55.2
|
內容簡介: |
本书讲述了利用硬件描述语言VerilogHDL设计复杂数字系统的方法。这种方法源自20世纪90年代的美国,在美国取得成效后迅速在其他先进工业国得到推广和普及。利用硬件描述语言建模、通过仿真和综合技术设计出极其复杂的数字系统是这种技术的*优势。 本书从算法和计算的基本概念出发,讲述如何用硬线逻辑电路实现复杂数字逻辑系统的方法。全书共四部分。*部分Verilog数字设计基础与第二部分Verilog数字系统设计和验证共18章;第三部分共12个上机练习实验范例;第四部分是Verilog硬件描述语言参考手册,可供读者学习、查询之用。本书第3版后,在语法篇中增加了IEEEVerilogl364 2001标准简介,以反映Verilog语法的*变化。 本书的讲授方式以每2学时讲授一章为宜,每次课后需要花10h来复习思考。完成10章学习后,就可以开始做上机练习,从简单到复杂,由典型到一般,循序渐进地学习VerilogHDL基础知识。按照书上的步骤,可以使大学电子类及计算机工程类本科及研究生,以及相关领域的设计工程人员在半年内掌握VerilogHDL设计技术。
|
目錄:
|
绪 论 1
第一部分 Verilog数字设计基础
第1章 Verilog的基本知识 10
1.1 硬件描述语言 HDL 10
1.2 VerilogHDL的历史 11
1.2.1 什么是VerilogHDL 11
1.2.2 VerilogHDL的产生及发展 11
1.3 VerilogHDL和 VHDL的比较 12
1.4 Verilog的应用情况和适用的设计 13
1.5 采用 VerilogHDL设计复杂数字电路的优点 13
1.5.1 传统设计方法电路原理图输入法 13
1.5.2 VerilogHDL设计法与传统的电路原理图输入法的比较 14
1.5.3 Verilog的标准化与软核的重用 14
1.5.4 软核、固核和硬核的概念及其重用 14
1.6 采用硬件描述语言VerilogHDL的设计流程简介 15
1.6.1 自顶向下Top_Down设计的基本概念 15
1.6.2 层次管理的基本概念 16
1.6.3 具体模块的设计编译和仿真的过程 16
1.6.4 具体工艺器件的优化、映像和布局布线 16
小 结 17
思 考 题 18
第2章 Verilog语法的基本概念 19
概 述 19
2.1 Verilog模块的基本概念 20
2.2 Verilog用于模块的测试 23
小 结 24
思 考 题 25
第3章 模块的结构、数据类型、变量和基本运算符号 26
概 述 26
3.1 模块的结构 26
3.1.1 模块的端口定义 26
3.1.2 模块内容 27
3.1.3 理解要点 28
3.1.4 要点总结 28
3.2 数据类型及其常量和变量 29
3.2.1 常 量 29
3.2.2 变 量 32
3.3 运算符及表达式 35
3.3.1 基本的算术运算符 35
3.3.2 位运算符 36
小 结 37
思 考 题 38
第4章 运算符、赋值语句和结构说明语句 39
概 述 39
4.1 逻辑运算符 39
4.2 关系运算符 40
4.3 等式运算符 40
4.4 移位运算符 41
4.5 位拼接运算符 41
4.6 缩减运算符 42
4.7 优先级别 42
4.8 关 键 词 43
4.9 赋值语句和块语句 43
4.9.1 赋值语句 43
4.9.2 块语句 45
小 结 48
思 考 题 49
第5章 条件语句、循环语句、块语句与生成语句 50
概 述 50
5.1 条件语句if_else语句 50
5.2 case语句 53
5.3 条件语句的语法 57
5.4 多路分支语句 58
2 Verilog数字系统设计教程第3版
5.5 循环语句 60
5.5.1 forever语句 60
5.5.2 repeat语句 60
5.5.3 while语句 61
5.5.4 for语句 61
5.6 顺序块和并行块 63
5.6.1 块语句的类型 63
5.6.2 块语句的特点 65
5.7 生成块 67
5.7.1 循环生成语句 68
5.7.2 条件生成语句 70
5.7.3 case生成语句 71
5.8 举 例 72
5.8.1 四选一多路选择器 72
5.8.2 四位计数器 73
小 结 74
思 考 题 75
第6章 结构语句、系统任务、函数语句和显示系统任务 78
概 述 78
6.1 结构说明语句 78
6.1.1 initial语句 78
6.1.2 always语句 79
6.2 task和function说明语句 82
6.2.1 task和function说明语句的不同点 82
6.2.2 task说明语句 83
6.2.3 function说明语句 84
6.2.4 函数的使用举例 86
6.2.5 自动递归函数 88
6.2.6 常量函数 89
6.2.7 带符号函数 90
6.3 关于使用任务和函数的小结 90
6.4 常用的系统任务 91
6.4.1 $display和$write任务 91
6.4.2 文件输出 94
6.4.3 显示层次 96
6.4.4 选通显示 96
6.4.5 值变转储文件 97
6.5 其他系统函数和任务 98
小 结 98
思 考 题 99
第7章 调试用系统任务和常用编译预处理语句 100
概 述 100
7.1 系统任务 $monitor 100
7.2 时间度量系统函数$time 101
7.3 系统任务$finish 102
7.4 系统任务$stop 102
7.5 系统任务$readmemb和$readmemh 103
7.6 系统任务$random 105
7.7 编译预处理 106
7.7.1 宏定义 d?efine 106
7.7.2 文件包含处理 i?nclude 108
7.7.3 时间尺度 t?imescale 111
7.7.4 条件编译命令i?fdef、e?lse、e?ndif 113
7.7.5 条件执行 114
小 结 115
思 考 题 116
第8章 语法概念总复习练习 117
概 述 117
小 结 128
第二部分 Verilog数字系统设计和验证
第9章 VerilogHDL模型的不同抽象级别 130
概 述 130
9.1 门级结构描述 130
9.1.1 与非门、或门和反向器及其说明语法 130
9.1.2 用门级结构描述D触发器 131
9.1.3 由已经设计成的模块构成更高一层的模块 132
9.2 VerilogHDL的行为描述建模 133
9.2.1 仅用于产生仿真测试信号的VerilogHDL行为描述建模 134
9.2.2 VerilogHDL建模在Top Down设计中的作用和行为建模的可综合性问题 136
9.3 用户定义的原语 137
小 结 138
思 考 题 139
第10章 如何编写和验证简单的纯组合逻辑模块 140
概 述 140
10.1 加法器 140
10.2 乘法器 142
10.3 比较器 145
10.4 多路器 146
10.5 总线和总线操作 148
10.6 流水线 149
小 结 154
思 考 题 155
第11章 复杂数字系统的构成 156
概 述 156
11.1 运算部件和数据流动的控制逻辑 156
11.1.1 数字逻辑电路的种类 156
11.1.2 数字逻辑电路的构成 156
11.2 数据在寄存器中的暂时保存 158
11.3 数据流动的控制 160
11.4 在 VerilogHDL设计中启用同步时序逻辑 162
11.5 数据接口的同步方法 164
小 结 165
思 考 题 165
第12章 同步状态机的原理、结构和设计 166
概 述 166
12.1 状态机的结构 166
12.2 Mealy状态机和 Moore状态机的不同点 167
12.3 如何用Verilog来描述可综合的状态机 168
12.3.1 用可综合Verilog模块设计状态机的典型办法 168
12.3.2 用可综合的 Verilog模块设计、用独热码表示状态的状态机 170
12.3.3 用可综合的 Verilog模块设计、由输出指定的码表示状态的状态机 171
12.3.4 用可综合的 Verilog模块设计复杂的多输出状态机时常用的方法 173
小 结 175
思 考 题 176
第13章 设计可综合的状态机的指导原则 177
概 述 177
13.1 用 VerilogHDL语言设计可综合的状态机的指导原则 177
目 录 5
13.2 典型的状态机实例 178
13.3 综合的一般原则 180
13.4 语言指导原则 180
13.5 可综合风格的 VerilogHDL模块实例 181
13.5.1 组合逻辑电路设计实例 181
13.5.2 时序逻辑电路设计实例 187
13.6 状态机的置位与复位 189
13.6.1 状态机的异步置位与复位 189
13.6.2 状态机的同步置位与复位 191
小 结 192
思 考 题 193
第14章 深入理解阻塞和非阻塞赋值的不同 194
概 述 194
14.1 阻塞和非阻塞赋值的异同 194
14.1.1 阻塞赋值 195
14.1.2 非阻塞赋值 196
14.2 Verilog模块编程要点 196
14.3 Verilog的层次化事件队列 197
14.4 自触发always块 198
14.5 移位寄存器模型 199
14.6 阻塞赋值及一些简单的例子 203
14.7 时序反馈移位寄存器建模 203
14.8 组合逻辑建模时应使用阻塞赋值 205
14.9 时序和组合的混合逻辑使用非阻塞赋值 207
14.10 其他阻塞和非阻塞混合使用的原则 208
14.11 对同一变量进行多次赋值 209
14.12 常见的对于非阻塞赋值的误解 210
小 结 212
思 考 题 212
第15章 较复杂时序逻辑电路设计实践 213
概 述 213
小 结 224
思 考 题 224
第16章 复杂时序逻辑电路设计实践 226
概 述 226
16.1 二线制I2CCMOS串行EEPROM 的简单介绍 226
16.2 I2C总线特征介绍 226
6 Verilog数字系统设计教程第3版
16.3 二线制I2CCMOS串行EEPROM 的读写操作 227
16.4 EEPROM 的VerilogHDL程序 228
总 结 251
思 考 题 251
第17章 简化的 RISC_CPU设计 252
概 述 252
17.1 课题的来由和设计环境介绍 252
17.2 什么是CPU 253
17.3 RISC_CPU结构 253
17.3.1 时钟发生器 255
17.3.2 指令寄存器 257
17.3.3 累加器 258
17.3.4 算术运算器 259
17.3.5 数据控制器 260
17.3.6 地址多路器 261
17.3.7 程序计数器 261
17.3.8 状态控制器 262
17.3.9 外围模块 268
17.4 RISC_CPU 操作和时序 269
17.4.1 系统的复位和启动操作 269
17.4.2 总线读操作 270
17.4.3 总线写操作 271
17.5 RISC_CPU寻址方式和指令系统 271
17.6 RISC_CPU模块的调试 272
17.6.1 RISC_CPU模块的前仿真 272
17.6.2 RISC_CPU模块的综合 286
17.6.3 RISC_CPU模块的优化和布局布线 292
小 结 302
思 考 题 303
第18章 虚拟器件接口、IP和基于平台的设计方法及其在大型数字系统设计中的作用 304
概 述 304
18.1 软核和硬核、宏单元、虚拟器件、设计和验证IP以及基于平台的设计方法 304
18.2 设计和验证IP供应商 306
18.3 虚拟模块的设计 307
18.4 虚拟接口模块的实例 311
小 结 312
思 考 题 312
目 录 7
第三部分 Verilog数字设计示范与实验练习
概 述 313
练习一 简单的组合逻辑设计 314
练习二 简单分频时序逻辑电路的设计 316
练习三 利用条件语句实现计数分频时序电路 318
练习四 阻塞赋值与非阻塞赋值的区别 320
练习五 用always块实现较复杂的组合逻辑电路 322
练习六 在VerilogHDL中使用函数 324
练习七 在VerilogHDL中使用任务task 326
练习八 利用有限状态机进行时序逻辑的设计 329
练习九 利用状态机实现比较复杂的接口设计 332
练习十 通过模块实例调用实现大型系统的设计 337
练习十一 简单卷积器的设计 343
附录一 AD转换器的 VerilogHDL模型机所需要的技术参数 357
附录二 2K*8位 异步 CMOS静态RAM HM 65162模型 361
练习十二 利用SRAM 设计一个FIFO 366
第四部分 Verilog简明语法
语法篇1 关于VerilogHDL的说明 376
一、关于IEEE1364标准 376
二、Verilog简介 377
三、语法总结 377
四、编写 VerilogHDL源代码的标准 379
五、设计流程 381
语法篇2 Verilog硬件描述语言参考手册 382
一、VerilogHDL语句与常用标志符按字母顺序排列 382
二、系统任务和函数Systemtaskandfunction 448
三、常用系统任务和函数的详细使用说明 452
四、CommandLineOptions命令行的可选项 463
五、IEEEVerilog1364 2001标准简介 464
参考文献478
出版者的话479
|
內容試閱:
|
前 言
数字信号处理DSP系统的研究人员一直在努力寻找各种经优化的算法来解决相关的信号处理问题。当他们产生了比较理想的算法思路后,就在计算机上用C语言或其他语言程序来验证该算法,并不断修改以期完善,然后与别的算法做性能比较。在现代通信和计算机系统中,对于DSP算法评价最重要的指标是看它能否满足工程上的需要。而许多工程上的需要都有实时响应的要求,也就是所设计的数字信号处理DSP系统必须在限定的时间内,如在几个毫秒ms甚至几个微秒s内,对所输入的大量数据完成相当复杂的运算,并输出处理结果。这时如果仅仅使用通用的微处理器,即使是专用于信号处理的微处理器,往往也无法满足实时响应的要求。因此,不得不设计专用的高速硬线逻辑来完成这样的运算。设计这样有苛刻实时要求的、复杂的高速硬线运算逻辑是一件很有挑战性的工作,即使有了好的算法而没有好的设计工具和方法也很难完成。
半个世纪来,我国在复杂数字电路设计技术领域与国外的差距越来越大。作为一名在大学讲授专用数字电路与系统设计课程的老师深深感到责任的重大。笔者认为,我国在这一技术领域的落后与大学的课程设置和教学条件有关。因为我们没有及时把国外最先进的设计方法和技术介绍给学生,也没有给他们创造实践的机会。
1995年我受学校和系领导的委托,筹建世行贷款的电路设计自动化EDA实验室。通过20多年来的摸索、实践,逐步掌握了利用VerilogHDL设计复杂数字电路的仿真和综合技术。
在此期间我们为航天部等有关单位设计了卫星信道加密用的复杂数字电路,提供给他们经前后仿真验证的VerilogHDL源代码,得到了很高的评价。在其后的几年中又为该单位设计了卫星下行信道RS255,223编码解码电路和卫星上行信道BCH64,56编码解码电路,这几个项目已先后通过有关单位的验收。1999年到2000年期间,我们又成功地设计了用于小波Wavelet图像压缩解压缩的小波卷积器和改进的零修剪树算法SPIHT算法的RTL级VerilogHDL模型。不但成功地对该模型进行了仿真和综合,而且制成的可重新配置硬线逻辑采用ALTERAFLEX10K 系列CPLD103050各一片的PCI线路板,能完成约2000条C语句程序才能完成的图像解压缩算法。运算结果与软件完成的效果完全一致,而且速度比用微型计算机快得多。2003年由作者协助指导的JPEG2000算法硬线逻辑设计,在清华同行的努力下完成了FPGA 验证后并成功地投片,该芯片目前已应用于实时监控系统,可见这种新设计方法的潜力。近年来作者带领的研究生分别为日本某公司、香港科技大学电子系、革新科技公司和神州龙芯集成电路设计公司完成多项设计,其中包括SATA 接口、AMBA 总线接口、LED 控制器和USB控制器等在内的多项IP设计,取得了良好的社会效益和声誉。2006年秋起,正式受聘于神州龙芯等集成电路设计公司担任技术顾问,目前在至芯科技公司担任FPGA 设计培训顾问。
本书是在1998年北京航空航天大学出版社出版的《复杂数字电路与系统的VerilogHDL设计技术》、2003年《Verilog数字系统设计教程》和2008年《Verilog数字系统设计教程第2版》基础上修订的,是一本既有理论又有实践的设计大全。由于教学、科研、技术资料翻译和实验室的各项工作很忙,只能利用零碎时间,一点一滴地把积累的教学经验和新收集到的材料补充输入到计算机中,抽空加以整理。我们使用Verilog设计复杂数字逻辑电路虽然已经有20余年的时间,但仍在不断地学习提高之中,书中难免存在疏忽、错误之处,敬请细心的读者不吝指教。笔者之所以在原版基础上把这本书再版,是想把原教材中一些不足的地方作一些必要的补充和修改,在大学生和研究生中加快Verilog设计技术的推广,尽快培养一批掌握先进设计技术的跨世纪的人才。期望本书能在这一过程中起到抛砖引玉的作用。
回想起来,这本书实质上是我们实验室全体老师和同学们多年的劳动成果,其中在EDA实验室工作过的历届研究生张琰、山岗、王静璇、田玉文、冯文楠、杨柳、傅红军、龚剑、王书龙、胡瑛、杨雷、邢伟、管丽、刘曦、王进磊、王煜华、苏宇、张云帆、杨鑫、徐伟俊、邢小地、霍强、宋成伟、邢志成、李鹏、李琪、陈岩、赵宗民等都帮我做了许多工作,如部分素材的翻译、整理、录入和一些VerilogHDL模块的设计修改和验证。而我做的工作只是收集全书的素材、翻译、理解素材中一些较难的概念,结合教学经验编写一些章节和范例,以及全书文稿的最后组织、整理和补充,使其达到出版的要求。趁此机会让我衷心地感谢在编写本书过程中所有给过我帮助和鼓励的老师和同学们。本书是在第2版第20次印刷之后,受北航出版社之托进行的,虽然被称为第3版,然而本人在至芯科技的FPGA 培训工作繁忙,没有时间对本书做大幅度的修改,望各位读者谅解。
教学中使用的多媒体课件已交付给出版社,有需要者可发送电子邮件至goodtextbook@126.com 向北航出版社索取,可以免费提供给有关教师指导教学和备课演示之用。
笔者的电子邮箱是xyw46@263.net,有问题可与作者商讨,谢谢!
夏宇闻
2017年7月
|
|