搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Verilog编程艺术
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121220616
  • 作      者:
    魏家明编著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2014
收藏
编辑推荐
  《Verilog编程艺术》更加注重Verilog编程的方法论和实用性,深入地探讨编码风格、语言特性、简洁高效和时钟复位等实际问题,深入探讨如何避免使用易混淆和易错误的语句,如何避免前后仿真不一致,如何充分发挥Verilog-2001的特性。
展开
作者简介
  魏家明,具有多年的Verilog设计经验,参与了多个芯片的设计工作,重点在前端设计(设计、验证、综合、和STA等)。
展开
内容介绍
  《Verilog编程艺术》深入地探讨了Verilog编程,分为七个部分:设计原则、语言特性、书写文档、高级设计、时钟和复位、验证之路、其他介绍。本书对这些部分做了重点的探讨:Verilog编码风格、Verilog-2001的新特性、简洁高效的编程、容易出错的语言元素、可配置设计、时钟生成、复位设计、验证方法等。另外,本书还对SystemVerilog做了简单的介绍。
展开
精彩书评
  《电子技术应用》副总编杨晖、与非网创始人苏公雨、电子发烧友CEO陈遂伯、电子创新网CEO张国斌、中国电子顶开发网(EETOP)创始人毕杰、北京化工大学教师何宾、景略半导体(上海)有限公司郭雄飞、知名Verilog专家特权同学、知名Verilog专家阿东、畅销书作者原子联合力荐!
  看得出,作者是一位将美学思想贯穿于代码设计的爱“美”人士,其实,美学思想贯穿于我们生活的方方面面,从简单的烹饪家居到复杂的设计装潢,都有美的体现,代码编写也不例外,要通过Veilog 编程做出美的设计,离不开好的编码风格,《Verilog编程艺术》是作者多年编程经验的总结,对于那些开始学习或者已经在进行Veilog 编程的设计师来说,这些分享非常实用且无比宝贵。
  —— 电子创新网CEO 张国斌

  很喜欢作者的写作风格,摆事实讲道理的过程中安插了许多有趣的故事,让枯燥的学习立刻生动起来。看得出来,作者是下了很多功夫的。书中还安排了很多作者的宝贵经验和设计心得,非常实用。这是一本有个性的图书,将Verilog编程思想艺术化地奉献给了读者。
  ——电子发烧友CEO  陈遂伯

  作者魏家明具有多年实际工程设计和Verilog编程经验。本书从工程设计角度对Verilog编程从编码风格、语言特性、IP设计、时钟复位、验证等进行了深入阐述,并探讨了在设计中可能遇到的问题,提出了相应的解决办法。本书可以作为学习和提升Verilog的语法书籍,有助于读者形成“简单和谐、整洁有序”的编程风格。
  《电子技术应用》副总编  杨晖

  仔细读了本书前5章,有一种文艺范的感觉,编程就是一门艺术,就应该讲究美感,去除冗余!越往后读,笔者注重的编程艺术越重,甚至连文档该怎么写都是一种艺术。如果你正在用Verilog,推荐你阅读此书,对于你的帮助会很大!
  ——中国电子顶级开发网(EETOP)创始人毕杰

  作者在本书中分享了他在IC设计领域多年的经验,在这个经验至上的行业,如果说Verilog是我们手中的剑,那么这本书或许就是你成为“人剑合一”的武林高手过程中的武林秘籍。作者同时也鼓励读者养成良好的编码和书写文档的习惯,这都是成为一个卓越的工程师的必要条件。不论是对初学者还是有多年经验的设计人员,这都是一本不可多得的好书。
  ——景略半导体(上海)有限公司郭雄飞

  当我拿到《Verilog编程艺术》这本书的时候,细细品味,觉得眼前一亮。本书作者将Verilog的国际标准和自己多年的实践经验相结合,将Verilog语言写得生动活泼。本书内容浅显易懂,这将帮助初学者快速学习和系统掌握Verilog语言。为了兼顾Verilog语言高层次设计者的需求,书中还介绍了Verilog的高级设计方法。这些高级设计方法,将对设计者提高灵活运用Verilog的水平起到很好的帮助作用,使得他们能通过Verilog语言设计出复杂高效的数字系统
  —— 北京化工大学何宾老师
展开
精彩书摘
  "程序设计是一门艺术"这句话有两个意思:一方面是说,程序设计像艺术设计一样,深不可测,奥妙无穷;另一方面是说,程序员像艺术家一样,也有发挥创造性的无限空间[梁肇新]。
  Donald Knuth认为"计算机科学"不是科学,而是一门艺术。它们的区别在于:艺术是人创造的,而科学不是;艺术是可以无止境提高的,而科学不能;艺术创造需要天赋,而科学不需要。所以Donald Knuth把他的4卷本巨著命名为《计算机程序设计艺术》(The Art of Computer Programming)。
  Donald Knuth不仅是计算机学家、数学家,而且是作家、音乐家、作曲家、管风琴设计师。他的独特的审美感决定了他的兴趣广泛、富有多方面造诣的特点,他的传奇般的生产力也是源于这一点。对于Donald Knuth来说,衡量一个计算机程序是否完整的标准不仅仅在于它是否能够运行,他认为一个计算机程序应该是雅致的,甚至可以说是美的。计算机程序设计应该是一门艺术,一个算法应该像一段音乐,而一个好的程序应该如一部文学作品一般。
  Bjarne Stroustrup,C++语言发明者,说"我喜欢优雅和高效的代码。代码逻辑应当直截了当,让缺陷难以隐藏;应当减少依赖关系,使之便于维护;应当依据分层战略,完善错误处理;应当把性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来"。他特别使用"优雅"一词来说明"令人愉悦的优美、精致和简单"[Robert C. Martin]。
  一个人的美学观点会影响他的程序设计,因为Knuth有这么多的艺术爱好,所以他把程序设计看成艺术设计,在程序设计中要体现出程序的美。同样,当Bjarne Stroustrup编写优雅且高效的代码的时候,他也是在程序设计中寻求美。
  我的美学观点是简单和谐、整洁有序;某导演的美学观点是宏大华丽、空洞无味;还有些人的美学观点是乱七八糟、凑合了事;你的美学观点是什么呢?有些人很自负,感觉良好,以为领悟到了编程的真谛,看到代码可以运行,就洋洋得意,可是却对自己造成的混乱熟视无睹。那堆"可以运行"的程序,就在眼皮底下慢慢腐坏,然后废弃扔掉。
  因为Verilog编程就是一种程序设计,所以Verilog编程也应该像设计艺术作品一样,要仔细打磨、精雕细琢,要经历痛苦与无奈,也要经历快乐与自得。设计要有自己的方法论,要体现自己的奇思妙想,要让自己的设计有更长的生命力,而不是豆腐渣工程。
  为什么那么多人对Apple的手机和计算机情有独钟?因为它们都是美的设计,因为它们的设计者都在追求美。同理,我们在做Verilog编程的时候也要追求美,也要设计出美的Verilog程序。
  ……
展开
目录
第一部分  设 计 原 则
第1章  美的设计
1.1  美学观点
1.2  美是修养
1.3  专业术语
第2章  高效之道
2.1  敏捷开发
2.2  代码质量
2.3  版本控制
2.4  提早集成
第3章  组织管理
3.1  植物分类
3.2  SoC特性
3.3  设计流程
3.4  仔细规划
3.5  管理表格
3.6  模块层次
3.7  目录组织
第4章  使用工具
4.1  使用Emacs
4.2  使用Shell
4.3  使用CVS
第5章  编码风格
5.1  干干净净
5.2  代码划分
5.3  代码要求
5.4  名字定义
5.5  书写格式
5.6  添加注释
5.7  参数化
5.8  lint检查
第二部分  语 言 特 性
第6章  Verilog特性
6.1  Verilog标准
6.2  抽象级别
6.3  可综合子集
6.4  保持一致
第7章  常数
7.1  整数(integer)
7.2  实数(real)
7.3  字符串(string)
7.4  标识符(identifier)
第8章  数据类型
第9章  表达式
第10章  赋值操作
10.1  连续赋值
10.2  过程赋值
第11章  门级和开关级模型
第12章  用户定义原语
12.1  UDP定义
12.2  组合UDP
12.3  电平敏感时序UDP
12.4  沿敏感时序UDP
第13章  行为模型
13.1  概览
13.2  过程赋值
13.3  过程连续赋值
13.4  条件语句
13.5  循环语句
13.6  过程时序控制
13.7  块语句
13.8  结构化过程
13.9  always有关的问题
第14章  case语句
第15章  task和function
第16章  调度和赋值
16.1  仿真过程
16.2  事件仿真
16.3  仿真参考模型
16.4  分层事件队列
16.5  确定性和不确定性
16.6  赋值的调度含义
16.7  阻塞赋值和非阻塞赋值
16.8  赋值使用原则
16.9  自己触发自己
16.10  仿真零延迟RTL模型
16.11  惯性延迟和传输延迟
16.12  延迟线模型
16.13  使用#1延迟
16.14  多个公共时钟和竞争条件
16.15  避免混杂阻塞赋值和非阻塞赋值
16.16  RTL和门级混合仿真
16.17  带有SDF延迟的门级仿真
第17章  层次结构
17.1  模块
17.2  参数
17.3  端口
17.4  Generate语句
17.5  实例数组
17.6  层次名字
第18章  系统任务和函数
18.10  波形记录
第19章  编译指令
第20章  Specify块
20.1  specify块声明
20.2  speparam
20.3  模块路径声明
20.4  模块路径延迟
第21章  时序检查
21.1  概览
21.2  使用稳定窗口的时序检查
21.3  时钟和控制信号的时序检查
21.4  使用notifier响应时序违反
21.5  使用条件事件
21.6  时序检查中的Vector
21.7  Negative timing check
第22章  反标SDF
22.1  SDF标注器
22.2  SDF construct到Verilog的映射
22.3  $sdf_annotate
22.4  SDF文件例子
第23章  编程语言接口
23.1  DirectC
23.2  SystemVerilog
第24章  综合指令
第三部分  书 写 文 档
第25章  书写文档
25.1  文档格式
25.2  定义文档
25.3  应用文档
25.4  设计文档
25.5  备份文档
25.6  GPIO设计
第26章  GPIO应用文档
26.1  Overview
26.2  Register Description
26.3  Program Guide
第27章  GPIO设计文档
27.1  文件列表(见表27-1)
27.2  端口列表(见表27-2)
27.3  配置参数(见表27-3)
第四部分  高 级 设 计
第28章  使用IP
第29章  代码优化
29.1  代码可读
29.2  简洁编码
29.3  优化逻辑
29.4  优化迟到信号
29.5  括号控制结构
第30章  状态机设计
30.1  状态机类型
30.2  状态编码方式
30.3  二进制编码FSM
30.4  独热码编码FSM
30.5  寄存器输出
第31章  可配置设计
31.1  格雷码转换
31.2  通用串行CRC
31.3  FIFO控制器
31.4  RAM Wrapper 例子
31.5  可配置的GPIO设计
31.6  可配置的BusMatrix
31.7  可配置的Andes Core N801
31.8  可配置的ARM926EJS
31.9  灵活的coreConsultant
第32章  可测性设计
32.1  内部扫描
32.2  内建自测
32.3  边界扫描
第五部分  时钟和复位
第33章  异步时序
33.1  亚稳态
33.2  MTBF
33.3  同步器
33.4  同步多位数据
33.5  异步FIFO
33.6  Design Ware
33.7  DW_fifoctl_s2_sf
33.8  门级仿真
第34章  时钟生成
34.1  同步电路
34.2  设计原则
34.3  分频器
34.4  时钟切换
34.5  时钟生成
第35章  时钟例子
第36章  复位设计
第六部分  验 证 之 路
第37章  验证之路
37.1  整洁验证
37.2  验证目标
37.3  验证流程
37.4  验证计划
37.5  随机验证
37.6  直接验证
37.7  白盒验证
37.8  模块验证
37.9  系统验证
37.10  DFT验证
37.11  网表验证
37.12  高级抽象
37.13  灵活验证
37.14  ARM926EJS的Validation环境
37.15  AHB BusMatrix的验证
37.16  某芯片的SoC验证环境
第七部分  其 他 介 绍
第38章  SystemVerilog特性
参考文献
关于版权
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证