新书上架!芯片设计入门必看:SystemVerilog “零基础通关手册” 来了!

EETOP 2025-09-06 12:15

想入门数字IC设计与验证?想搞懂SystemVerilog这门核心语言?

这本由日本资深架构设计师篠塚一也撰写的《SystemVerilog入门指南》,直接帮你打通从理论到实操的任督二脉!

作为IEEE1800-2017标准的权威解读,它不仅兼容Verilog,更融合硬件描述与验证功能,414页内容覆盖24大核心章节——从数据类型、类、进程,到时钟块、接口、UVM概述,甚至硬件建模(组合逻辑/时序逻辑/FSM)和随机激励生成,全流程拆解芯片开发关键技术。

最贴心的是,书中用大量浅显易懂的示例化解难点:复杂的“接口类” 用“规范标准化”轻松解释,易混淆的阻塞/非阻塞赋值对比讲解,连 FSM电路建模、约束随机激励这些行业痛点,都有step-by-step案例,零基础也能看懂。

不管你是集成电路、微电子专业学生,还是刚入行的芯片设计/验证工程师,都能精准受益:想打基础?它帮你吃透语言全貌;想练实操?硬件建模案例可直接参考;想对接行业?UVM验证方法学入门带你跟上技术潮流。

资讯配图

扫描右上方二维码7折读书

◆图书简介◆

《SystemVerilog入门指南》是一本全面介绍SystemVerilog基础知识,并使每位读者都可以毫无误解地理解SystemVerilog的入门读物。本书通过大量浅显易懂的示例,透彻讲解了SystemVerilog的基本功能,并对难以理解、容易混淆的功能进行了详细介绍,为读者进行SystemVerilog实践提供全面的知识准备。

《SystemVerilog入门指南》由24章构成,全面、详细介绍了SystemVerilog语言。在概述SystemVerilog的概况和发展历史的基础上,分别介绍了用于设计和验证的构建块,数据类型,类,进程,赋值语句,运算符和表达式,执行语句,任务和函数,时钟块,进程同步和通信,检查器,程序,接口,包,模块,系统任务和系统函数,基于约束的随机激励生成,SystemVerilog的验证功能,硬件建模和验证,UVM,编译器预处理指令,仿真执行模型。

《SystemVerilog入门指南》可作为广大从事硬件设计、验证的技术人员,特别是正在入门的初学人员的学习教材和技术参考书,也可作为高校集成电路、电子技术、计算机等专业的课程教材。

◆ 目录:◆

目  录

译者序

原书前言

本书使用的缩略语一览表

第1章 概述1

1.1 SystemVerilog的历史1

1.2 SystemVerilog概述2

1.2.1 作为语言的SystemVerilog 2

1.2.2 作为设计语言的SystemVerilog 3

1.2.3 作为验证语言的SystemVerilog 3

1.3 本书的语法描述4

1.4 SystemVerilog的语法规则5

1.5 编译和细化6

1.6 声明和定义6

1.7 本书的对象和目的7

1.8 本书的结构8

1.9 关于示例9

1.10 本书的标记法9

第2章 用于设计和验证的构建块12

2.1 设计要素12

2.2 模块12

2.3 程序14

2.4 接口15

2.5 检查器16

2.6 包17

2.7 门级和开关级建模18

2.8 基本元件19

2.9 配置20

2.10 编译单元20

2.11 `timescale编译器指令21

2.12 垃圾回收22

2.12.1 automatic变量23

2.12.2 static变量23

第3章 数据类型24

3.1 数据类型和数据对象24

3.2 logic类型25

3.3 线网(net)类型26

3.4 变量28

3.5 线网和变量30

3.6 4-state 类型31

3.7 2-state类型32

3.8 integral类型33

3.9 real、shortreal和realtime类型34

3.10 void 类型34

3.11 chandle 类型35

3.12 string类型35

3.13 event类型37

3.14 typedef语句39

3.15 enum类型40

3.16 常量43

3.17 const常量47

3.18 cast操作符47

3.19 $cast动态类型转换48

3.20 便利的初始值设置49

3.20.1 位值扩展49

3.20.2 通过位号的设定51

3.21 引用指针51

第4章 由多个元素组成的数据类型53

4.1 结构体53

4.1.1 紧凑结构体55

4.1.2 结构体的赋值56

4.2 共用体57

4.2.1 紧凑共用体58

4.2.2 标记共用体59

4.3 紧凑数组和非紧凑数组60

4.3.1 紧凑数组61

4.3.2 非紧凑数组61

4.3.3 数组的引用62

4.3.4 紧凑数组的引用64

4.4 动态数组64

4.4.1 适用于动态数组的方法65

4.4.2 数组的复制67

4.5 关联数组69

4.5.1 关联数组概述69

4.5.2 关联数组数据元素的添加及更新70

4.5.3 适用于关联数组的方法71

4.5.4 关联数组实量71

4.6 队列73

4.6.1 队列概述73

4.6.2 队列的操作74

4.6.3 适用于队列的方法75

4.7 数组信息获取函数76

4.8 数组操作方法77

4.8.1 数组搜索方法77

4.8.2 数组数据元素的排序方法79

4.8.3 数组计算方法81

4.9 数组扫描方法82

第5章 类84

5.1 类的概述84

5.2 类的语法85

5.3 类对象(类实例)88

5.4 类属性和方法的访问88

5.5 构造函数89

5.6 指定类型的构造函数调用90

5.7 static类属性90

5.8 static类方法92

5.9 this句柄93

5.10 句柄数组93

5.11 类的复制95

5.12 类继承和子类97

5.13 $cast101

5.14 const类属性102

5.15 virtual方法103

5.16 抽象类和pure virtual方法105

5.17 类作用域运算符107

5.18 类成员的访问控制109

5.19 如何在类外编写方法110

5.20 通过参数进行的通用类定义111

5.20.1 概述111

5.20.2 通过参数进行的通用类实现111

5.20.3 使用参数实现通用类的步骤113

5.21 类的前向声明115

5.22 将类应用于测试平台115

5.23 接口类117

5.23.1 概述117

5.23.2 功能118

第6章 进程121

6.1 仿真过程121

6.1.1 initial过程122

6.1.2 always过程123

6.1.3 final过程128

6.2 语句块129

6.2.1 begin-end语句块129

6.2.2 fork-join语句块129

6.2.3 语句块命名134

6.2.4 fork语句块的有效利用135

6.3 基于定时的执行控制136

6.3.1 基于定时的执行控制概述136

6.3.2 延时控制137

6.3.3 边缘敏感事件控制137

6.3.4 赋值定时控制139

6.3.5 事件等待控制141

6.3.6 事件控制和解除141

6.4 进程控制143

6.4.1 wait语句143

6.4.2 wait fork语句143

6.4.3 disable fork语句144

6.4.4 wait_order语句145

6.5 进程和RNG147

6.6 特定的用户进程控制148

第7章 赋值语句152

7.1 连续赋值语句153

7.2 行为赋值语句154

7.2.1 阻塞赋值语句155

7.2.2 非阻塞赋值语句156

7.3 模式赋值158

第8章 运算符和表达式160

8.1 运算符160

8.1.1 赋值运算符162

8.1.2 自增和自减运算符162

8.1.3 算术运算符163

8.1.4 比较运算符164

8.1.5 通配符比较运算符166

8.1.6 逻辑运算符167

8.1.7 位运算符168

8.1.8 单变量逻辑运算符168

8.1.9 移位运算符169

8.1.10 条件运算符170

8.1.11 拼接运算符171

8.1.12 inside运算符172

8.1.13 比特流运算符173

8.2 操作数177

8.2.1 部分选择177

8.2.2 非紧凑数组178

8.3 带标记成员的操作178

第9章 执行语句180

9.1 if语句180

9.1.1 所有条件的列举180

9.1.2 unique-if语句和unique0-if语句181

9.1.3 priority-if语句182

9.2 case语句182

9.2.1 unique-case语句和unique0-case语句184

9.2.2 priority-case语句185

9.2.3 casez和casex185

9.3 inside运算符与if语句及case语句186

9.3.1 if语句和inside运算符186

9.3.2 case语句和inside运算符187

9.4 循环语句188

9.4.1 for语句189

9.4.2 repeat语句190

9.4.3 foreach语句191

9.4.4 while语句194

9.4.5 do-while语句194

9.4.6 forever语句195

9.5 return语句195

9.6 break语句196

9.7 continue语句197

第10章 任务和函数199

10.1 任务199

10.1.1 端口信号列表199

10.1.2 任务内的描述200

10.2 函数200

10.2.1 函数的限制201

10.2.2 端口信号列表201

10.2.3 函数内的描述202

10.3 参数默认值的设置方法202

10.4 具有返回值函数的调用204

10.5 递归调用204

10.6 类方法和递归调用205

10.7 方法内的变量初始化206

10.8 作为参数的数组208

10.9 导入和导出209

第11章 时钟块212

11.1 最简单的时钟块212

11.2 时钟块的偏移213

11.3 时钟事件和Observed区域215

11.4 周期延时217

第12章 进程同步和通信220

12.1 旗语220

12.2 信箱223

12.3 参数化信箱227

12.4 命名事件227

12.4.1 概述227

12.4.2 triggered方法230

12.4.3 作为参数的事件对象232

12.4.4 事件资源的释放233

12.4.5 比较事件233

12.4.6 事件的别名233

第13章 检查器235

13.1 概述235

13.2 检查器的实例化236

13.3 检查器中的随机变量238

13.4 DUT输出采样239

第14章 程序242

14.1 语法242

14.2 程序的特点243

14.3 程序控制245

14.4 仿真结束246

第15章 接口248

15.1 语法248

15.2 接口功能概述249

15.3 基于通用接口的连接251

15.4 modport251

15.5 参数化接口252

15.6 虚接口253

第16章 包258

16.1 语法258

16.2 包的定义259

16.3 包的使用260

16.4 std包263

第17章 模块267

17.1 概述267

17.2 模块的定义268

17.3 端口信号列表271

17.3.1 Verilog风格和SystemVerilog风格271

17.3.2 关于端口信号方向的规则272

17.4 参数化模块273

17.5 top模块275

17.6 模块实例275

17.7 使用接口的模块描述275

17.8 未定义模块的声明277

17.9 层次结构名称279

第18章 系统任务和系统函数281

18.1 $display和$write任务281

18.2 $sformat任务和$sformatf函数283

18.3 $monitor284

18.4 仿真时间获取函数285

18.5 $printtimescale286

18.6 数值转换287

18.7 信息获取函数287

18.8 vector系统函数290

18.9 用于序列采样值获取的系统函数291

18.10 错误处理系统任务293

18.11 随机化系统函数294

18.12 仿真控制295

18.13 其他系统任务和函数295

18.14 命令行参数296

18.15 VCD文件298

18.15.1 VCD文件的指定298

18.15.2 VCD文件的记录298

18.15.3 VCD文件记录的暂停和恢复299

18.15.4 VCD文件创建示例299

第19章 基于约束的随机激励生成302

19.1 概述302

19.2 随机变量304

19.2.1 随机变量概述304

19.2.2 关键字rand305

19.2.3 关键字randc305

19.2.4 随机变量定义示例305

19.3 随机数生成函数306

19.4 约束条件308

19.4.1 关键字inside308

19.4.2 关键字dist311

19.4.3 关键字unique313

19.4.4 关键字implication314

19.4.5 运用foreach语句进行的约束315

19.4.6 随机变量生成顺序的约束317

19.5 测试过程中的约束定义318

19.6 随机变量的启用和禁用319

19.7 约束的启用和禁用321

19.8 使用randomize()方法进行的随机变量控制322

19.9 否定形式的约束条件描述324

19.10 结构体的随机化325

19.11 队列的随机化327

19.12 以约束对数据进行的检查328

19.13 测试用例约束的单独指定330

19.14 在类外部进行的约束定义332

19.15 std::randomize()函数333

19.16 系统函数334

第20章 SystemVerilog的验证功能336

20.1 功能覆盖率336

20.1.1 概述336

20.1.2 功能覆盖率计算337

20.1.3 功能覆盖率计算示例338

20.2 断言343

20.2.1 概述343

20.2.2 断言的类型344

20.2.3 断言表达式345

20.2.4 断言描述示例346

第21章 硬件建模和验证350

21.1 组合逻辑电路351

21.1.1 组合逻辑电路的描述规则351

21.1.2 验证组合逻辑电路的时机352

21.1.3 译码器353

21.1.4 编码器355

21.1.5  ALU357

21.1.6 比较器359

21.1.7 将格雷码转换为二进制码的电路360

21.1.8 筒式移位器(循环移位器)362

21.1.9 带符号整数的加减运算器364

21.2 时序逻辑电路366

21.2.1 时序逻辑电路描述规则367

21.2.2 时序逻辑电路的验证367

21.2.3 二进制计数器369

21.2.4 JK触发器370

21.2.5 Johnson计数器372

21.2.6 通用移位寄存器374

21.2.7 格雷计数器377

21.2.8 环形计数器379

21.2.9 门控时钟的描述示例380

21.3 FSM383

21.3.1 概述383

21.3.2 Moore型FSM电路的建模384

21.3.3 Mealy型FSM电路的建模387

21.4 采用FSM电路的比特序列模式识别390

21.4.1 比特序列模式识别问题390

21.4.2 Moore型FSM电路的建模391

21.4.3 Mealy型FSM电路的建模393

第22章 UVM概述395

22.1 什么是UVM395

22.2 验证技术的发展趋势与UVM395

22.3 UVM的验证要素397

22.3.1 与事务和方案描述相关的UVM类397

22.3.2 方法类397

22.4 TLM398

22.5 UVM仿真399

22.5.1 仿真阶段399

22.5.2 run_test()方法400

22.6 UVM验证组件的开发400

22.7 top模块401

第23章 编译器预处理指令403

23.1 `include语句403

23.2 `define语句404

23.2.1 常量的定义404

23.2.2 具有前缀和后缀的名称创建405

23.3 字符串中的参数展开406

23.4 `endif语句407

23.5 `_ _FILE_ _与`_ _LINE_ _的使用示例407

第24章 仿真执行模型409

24.1 调度区域409

24.2 #0延时效应411

参考文献413

资讯配图

扫描右上方二维码7折读书


◆ 前言:◆

SystemVerilog的最新技术规范已于2018年2月21日发布于IEEE Std 1800-2017标准中(详见参考文献[1]),相应的LRM随后也被公开,事实上标志着Verilog HDL(以下简称Verilog)时代的终结,SystemVerilog的时代已经到来。SystemVerilog不仅消除了Verilog所存在的一些模糊性,还增加了Verilog所没有的许多新功能,从而能够提高设计和验证领域的生产力和质量。特别是SystemVerilog中的类,作为一种特殊的数据类型发挥着重要作用,可提高验证技术的可重用性。

SystemVerilog的LRM是一部长达1300页的巨著,是许多研究人员和技术人员多年努力的结晶。由于LRM是SystemVerilog的标准和规范,所以也是所有从事硬件设计、验证的技术人员必须通读一遍的语言规范书。然而,尽管有这个必要性,但LRM绝不能说是可以用很容易理解的英文来撰述的。也许是由于SystemVerilog语言描述严密性的需要,导致LRM的表述也必须具有足够的严密性,因此其英文表述总的来说还是很难理解的,是一本难以阅读的语言说明书。一般来说,难懂的描述不仅难以理解,而且还潜藏着读者的理解差异,结果会造成很多混乱。另一方面,由于SystemVerilog的功能很复杂,因此其语言说明书也非常复杂。由此可以认为,这两种复杂性的叠加是妨碍日本国内SystemVerilog实践应用开展的主要原因之一。鉴于这种情况,《SystemVerilog入门指南》全面提供了SystemVerilog基础知识,使每位读者都可以毫无误解地理解其LRM的介绍。也就是说,本书重点且透彻地解说了作为SystemVerilog根基的基本功能,以及被认为难以理解的功能,目的是全面确立SystemVerilog用于实践时所需的知识准备。

如前所述,SystemVerilog增加了许多新功能,特别是SystemVerilog的丰富数据类型要求对验证工作进行实际改革。例如,SystemVerilog的测试平台不是以往那种基于模块的测试,使用SystemVerilog类构建验证环境有助于提高生产率和可重用性,并允许将验证技术作为库进行存储。从这个意义上说,SystemVerilog的使用需要有与以往不同的构思。

当前,从Verilog迁移到SystemVerilog,或者将SystemVerilog作为设计和验证领域的主要语言,应该被视为时代的主流趋势。因此,对于硬件设计验证技术人员来说,掌握有关SystemVerilog的实用知识,现在已成为不可避免的任务。但是,任何一本好书,并不是对每个人都适合。这是因为每个人在思维方式、经验、知识、需求等方面的差异,表现为理解程度的差异。特别是SystemVerilog是欧美人发明的语言,其概念在很多方面并不一定与日本人的思维方式一致。例如, LRM对于接口类概念的描述就是如此。在SystemVerilog的LRM中,对于接口类的概念做了很多冗长的解释,但在日本人的思维中,接口类可以用“规范的标准化”一词进行说明。这样的解释对于日本人来说更容易理解。本书正是为了适应这种思维方式而进行了功能的解说。

从这个意义上说,《SystemVerilog入门指南》不仅是SystemVerilog的说明书,而且是从基础上解说语言所具有的意义,重点是提供用于实践的知识。除验证功能之外,本书介绍了LRM中描述的所有重要章节,几乎包含了其全部内容(除功能覆盖和断言之外),因此也可能不是一本入门书。但是,由于撰述风格是针对初学者的,所以我认为初学者理解本书的内容并不困难。

本书的内容安排遵循LRM的结构,因此在阅读本书时参考LRM比较容易。虽然本书简明扼要地解释了LRM的本质,但参考原版LRM可以获得更详细的知识和信息。

《SystemVerilog入门指南》由包括概述在内的24章构成,详细介绍了SystemVerilog语言。但是,关于上述的验证功能,只进行了概括性的介绍。本书以与Verilog的差异、设计和验证工作中必要的SystemVerilog的基本功能为中心进行介绍,并解说了随机静态激励的生成功能。在第21章中,解释了模块定义的方法和测试方法,并以代表性的电路为例,介绍了SystemVerilog的建模示例。这些示例包括组合逻辑电路、时序逻辑电路、FSM(有限状态机)等,使读者可以再次确认使用SystemVerilog语言功能进行建模的知识。除此之外,由于本书使用适当的SystemVerilog功能来验证其建模,所以这些验证例子也是说明SystemVerilog功能的最佳素材。总之,在阅读完本书后,读者已经完全掌握了SystemVerilog的基础知识。

本书是一本SystemVerilog入门书籍,因此省略了验证功能的详细说明以及近期受到关注的验证方法UVM的详细解析。UVM是一个几乎利用了SystemVerilog所有功能所搭建的强大验证库。因此,理解UVM将有助于加深对SystemVerilog的理解。关于省略的UVM的详细内容,可参见本书参考文献,其中包含了相关的详细解释。

本书由很多章节构成,但在依次阅读前5章内容后,即可选择其他章节进行学习。可根据阅读目的和需求选择主题,进行有效的学习。

最后,本书是一本独一无二的SystemVerilog入门学习用书,详细介绍了SystemVerilog提供的功能。因此,关于SystemVerilog语法的解释、术语的解说、说明图、仿真结果的呈现等,本书的出版单位—共立出版社均分别给予了细微的周到安排。特别感谢共立出版社的菅沼正裕先生,在本书出版中给予了大量的协助和支持。

篠塚一也

◆ 序言:◆

半导体集成电路是一项颠覆性的技术创新,其高集成度、高性能、低功耗和低成本的特点,为现代信息化社会发展奠定了物质基础。在大国博弈、科技封锁的当下,以集成电路为核心的半导体技术已经成为我国重点关注和发展的关键技术,对社会经济和技术发展具有重大意义。因此,作为集成电路设计和验证的SystemVerilog,无疑有着非常重要的现实意义,这也正是本书翻译出版的意义所在。

SystemVerilog简称SV语言,是建立在Verilog语言的基础之上,兼容Verilog 2001的新一代集成电路设计语言,是IEEE Std 1364-2001 标准的扩展增强,并发布为IEEE 1800-2017标准。SystemVerilog融合了 Verilog、VHDL、C++的概念,引入了验证和断言语言,实现了HDL(硬件描述语言)与HVL(硬件验证语言)的结合,成为当今广泛应用的硬件设计和验证语言,受到高度复杂电路设计和验证工程师的极大青睐。

SystemVerilog在一个更高的抽象层次上提高了设计建模的能力,主要定位于芯片的实现和验证流程,拥有芯片设计及验证所需的全部功能,集成了面向对象编程、动态线程和线程间通信等特性。作为一种工业标准语言,全面综合了RTL(寄存器传输级)设计、测试平台、断言和覆盖,可以大大增强模块复用性,提高芯片开发效率,缩短芯片开发周期,为系统级的设计及验证提供了强大的支撑作用。

Verilog适合系统级、算法级、寄存器级、逻辑级、门级和电路开关级的设计,System Verilog是Verilog语言的拓展和延伸。而SystemVerilog支持诸如信号、事件、接口和面向对象的概念,对于RTL、抽象模型和先进验证平台的开发来说最具效率,更适合于可重用的可综合IP(知识产权)和可重用的验证用IP设计,以及特大型基于IP的系统级设计和验证。SystemVerilog具备了执行系统级设计和验证任务所需的诸如随机激励的约束生成、功能覆盖和断言等基础功能和架构,是描述RTL设计的首选语言,具有描述真实硬件和断言能力的工具和支持。

正如《SystemVerilog入门指南》作者所言,SystemVerilog不仅消除了Verilog所存在的一些模糊性,还增加了Verilog所没有的许多新功能,从而能够提高设计和验证领域的生产力和质量。特别是SystemVerilog中的类,可提高验证技术的可重用性。一方面,SystemVerilog作为标准和规范,是所有从事硬件设计、验证的技术人员必须通读的语言规范;另一方面,由于SystemVerilog语言描述严密性的需要,其表述也必须具有足够的严密性,加上SystemVerilog的LRM(语言参考手册)是一部长达1300页的巨著,因此也是很难理解和难以阅读的语言说明书。在这种情况下,广大从事硬件设计、验证的技术人员,特别是正在入门的初学人员,迫切需要一本通俗、全面的学习教材。本书正是一本能够全面介绍基础知识,并使每位读者都可以毫无误解地理解SystemVerilog的入门读物。其重点在于,通过大量浅显易懂的示例透彻讲解了SystemVerilog的基本功能,并对难以理解、容易混淆的功能进行了详细介绍,为读者进行SystemVerilog实践提供全面的知识准备。

《SystemVerilog入门指南》由24章构成,全面、详细介绍了SystemVerilog语言。第1章概述,介绍了SystemVerilog的概况和发展历史,本书的语法描述和标记方法等。第2章用于设计和验证的构建块,介绍了模块、程序、接口、检查器、包等设计要素。第3章数据类型,介绍了logic、线网、变量、常量和引用指针等SystemVerilog数据类型和数据对象。第4章由多个元素组成的数据类型,详细介绍了结构体、共用体、数组、队列等复合数据类型及其操作方法。第5章类,详细介绍了类的概述、语法、类对象、类属性和方法等。第6章进程,介绍了initial、always等仿真过程,begin-end、fork-join等语句块,延时、边缘敏感事件、赋值定时等执行控制和进程控制。第7章赋值语句,介绍了连续赋值、行为赋值、阻塞赋值等赋值语句。第8章运算符和表达式,介绍了赋值、比较、移位等运算符,以及部分选择、非紧凑数组等操作数。第9章执行语句,介绍了if、case等分支执行语句,for、repeat等循环执行语句,以及return、break和continue执行控制语句。第10章任务和函数,介绍了任务和函数的端口信号列表和内部描述,函数的递归调用、导入和导出等。第11章时钟块,介绍了时钟块的偏移、时钟事件和Observed区域等。第12章进程同步和通信,介绍了旗语、信箱等进程同步和通信方法。第13章检查器,介绍了检查器的实例化、检查器中的随机变量、DUT输出采样等。第14章程序,介绍了程序的语法、特点和程序控制等。第15章接口,介绍了接口的语法、modport、参数化接口和虚接口等。第16章包,介绍了包的语法、定义、使用和std包等。第17章模块,介绍了模块的定义、端口信号列表、端口信号方向的规则等。第18章系统任务和系统函数,介绍了$display和$write以及仿真时间获取、错误处理等系统任务和函数。第19章基于约束的随机激励生成,介绍了随机变量、随机数生成函数、约束条件、约束定义等。第20章SystemVerilog的验证功能,介绍了功能覆盖率、断言的概念及应用。第21章硬件建模和验证,介绍了组合逻辑电路、时序逻辑电路以及FSM的描述和验证。第22章UVM概述,介绍了UVM的概念、UVM类、UVM的验证要素等。第23章编译器预处理指令,介绍了`include、`define等语句,以及常量定义、字符串中的参数展开等处理。第24章仿真执行模型,详细介绍了SvstemVerilog的调度区域和#0延时效应

《SystemVerilog入门指南》由黄海、刘志伟、张冰等翻译,其中原书前言、第1-14章由黄海翻译,第15-20章由刘志伟翻译,第21-24章由张冰翻译。张振宇、徐倩、刘朝阳、刘东举、孟琳、何玉晶、杨博参与了本书的翻译工作。全书由王卫兵统稿,并最终定稿。在本书的翻译过程中,全体翻译人员为了尽可能准确地翻译原书的内容,对书中的相关内容进行了大量的查证和佐证分析,以求做到准确无误。为方便读者对相关文献的查找和引用,本书保留了所有参考文献的原文信息,对书中所应用的专业术语采用了中英文对照的形式。对于本书的翻译,全体翻译人员做出了巨大的努力,付出了艰辛的劳动,在此谨向他们表示诚挚的感谢。

鉴于《SystemVerilog入门指南》较强的专业性,并且具有一定的深度和难度,因此,翻译中的不妥和失误之处在所难免,望广大读者予以批评指正。

黄海  

◆ 作者简介:◆

篠塚一也,1972年毕业于日本名古屋大学理学研究科,获数学硕士学位,现任艺术图形EDA开发部架构设计师。主要研究方向为编程语言设计、编译器开发、RTL逻辑综合、SystemVerilog设计及验证开发。主要著作为《基于SystemVerilog的验证基础》(森北出版,2020)。


声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
芯片
more
华为麒麟芯片,为何又重出江湖?
射频前端芯片的演进之路:高集成度、宽频带和复杂调制技术
燧原科技赵立东:中国AI芯片创新之路上的清华力量
大厂“角逐”芯片战场!
华为公开麒麟芯片
英伟达下一代中国特供芯片价格曝光
惨烈!浙江20亿芯片项目,宣布破产清算!
华为手机芯片,官宣回归
第四期芯片“嘉”话暨嘉宝智慧湾产业沙龙成功举办
麒麟芯片时隔4年重现华为发布会!
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号