描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787121298448
目 录
忍者学校篇
章 基础知识 2
加和尚说技术发展 穆金仙谈语言演变
Verilog语言发展及其主要特点 5
守规并非实际迂腐 按部方为真正捷径
ASIC与FPGA的开发流程 13
高速率信号要完整 门阵列时序可约束
FPGA的时序约束 21
打胜仗未雨需绸缪 做设计把握到细节
FPGA结构与面向FPGA的设计 30
语言设计两面全能 初学乍练一头雾水
Verilog语言的可综合性 38
第二章 语言层次 47
翻译标准穆子得意 胡说层次加菲犯难
标准内容与逻辑层次 50
跳出行为天地宽 广面试之前此节
非RTL级的Verilog简介 57
脚踏阴阳以生四象 内存数值而出格式
常量与表达式 63
出生命名自有准则 千丝万缕布尔逻辑
变量类型 71
工程步骤自顶向下 逻辑设计模块连接
模块设计与连接 77
下忍者篇
第三章 组合操作 88
科学思维三段推理 数字电路逻辑运算
逻辑运算 92
四则运算正负整数 可否综合加减乘除
算术运算 99
适应环境多种选择 分支导航关系比较
关系操作 107
关关雎鸠辗转反侧 位位比特拼接扩展
位拼接与选取 113
前途歧路会看地图 系统分支选择操作
“? :”选择操作 122
第四章 还是组合 131
默默潜伏不求正名 时时准备立即响应
组合逻辑:reg与always 134
条件面前戏说假如 真情实感泪唱如果
选择语句 143
数座“伊夫”管理困难 多个数值讨论“案例”
多选语句 151
沙弥听讲迷途知返 老道说书指点迷津
组合逻辑综合 160
中忍者篇
第五章 时序逻辑 167
两个活宝锁存触发 一对兄弟电平边沿
触发器与时序逻辑 171
积香厨中穆子做面 集电芯内触发联串
D触发器链 181
包袱重压蜗牛行路 轻装分担马蹄飞奔
时序与组合逻辑融合 192
独木成林难于登天 兄弟协力分进合击
并行化设计模式 204
天下大事欲速不达 建功立业集腋成裘
流水线设计模式 214
工作不满老板发怒 一人多用调度得当
时分复用设计模式 231
第六章 工程话题 241
系统复位无上法宝 片外按键初级输入
按键与复位 244
语言有限移位受限 智力无边位数可变
可变移位宽度的移位操作 255
数字逻辑状态一统 数学抽象模型两种
有限状态机及其代码 262
多个时钟滴滴答答 几种隔离分分合合
多时钟系统 275
重复工作令人烦恼循环描述可能综合
循环控制 282
上忍者篇
第七章 灵活模块 291
辟邪驱鬼书宝尉迟 复杂计算任务函数
函数与任务 294
统一环境统一定义 一起修改一起作用
宏定义与宏判断 303
结构一致小节差异 书写单次参数细化
参数 310
学习方法模式总结 代码简练生成有道
生成块 319
综合知识核心设计 数字分频牛刀小试
数字分频器核的设计 333
第八章 电路之外 334
行为涉及红花两朵 电路验证各有不同
与电路无关的HDL 347
继承而来功能丰富 范围广泛应用谨慎
编译指令 356
仿真亦需输入输出 语言也有任务函数
系统任务与函数 364
武林高手也要吃饭 强设计必须测试
测量向量与激励 374
对外联络语言接口 勾选交通句柄函数
与其他语言/系统借口简介 383
火影篇
第九章 综合例子 391
脉冲时钟时时震荡 正弦信号刻刻查表
DDS及其基于ROM查找表的实现 394
截弓为弦祖子得率 化曲作线比丘成功
基于折线拟合的DDS实现 407
胡旋不停逐步逼近 位宽延长内外有别
基于CORDIC的DDS实现 421
常用Verilog关键词的逻辑归类 431
代码风格与规则 434
有关开发与仿真环境的资料 438
自打老僧加菲说书《IP核芯志》之后,不知又经历了几度劫数 。正所谓“沧海桑田 ”,世间已经不知出了几多自称“茄菲”、“力口菲”和“加菲新”的说书之人了。连虚无镇里、小木庵对面都盖起了一座长春观,号称是全真嫡传,至于其真伪无人考据。
1.缘起核芯志
话头回到老和尚那里,加菲本以为自己功德圆满,退归本寺后面勤练“秋风功”非止一日。渐渐说书的收入慢慢变薄,似乎在提醒着什么。奈何这个比丘忒是愚钝,竟然茫然不觉。只气得雷音寺的斗战胜佛抓耳挠腮:“……我愚蠢的弟弟啊……”。于是大神趁着净坛使者下凡的机会,捎话给老和尚叫他重新出山、渡人渡己。神仙喜欢玄虚,因此来用了托梦的方法。期间自有一番盛况,不需细讲。加菲得到神谕曰:
“前者汝说核芯志,百喻经中三重楼。
欲得学业大圆满,明日门前问黄冠。”
老僧到藏经阁借得《百喻经》 ,翻到《三重楼喻》一看,上面写道:
“往昔之世,有富愚人,痴无所知。到余富家,见三重楼,高广严丽,轩敞疏朗,心生渴仰,即作是念:我有财钱,不灭于彼,云何顷来而不造作如是之楼?即唤木匠而问其曰:‘解作彼家端正舍不?’木匠答言:‘是我所作。’即便语言:‘今可为我造楼如彼。’
是时,木匠即便经地垒墼作楼。愚人见其垒墼作舍,犹怀疑惑,不能了知,而问之言:‘欲作何等?’木匠答言:‘作三重屋。’愚人复言:‘我不欲作下二重之屋,先可为我作上屋。’木匠答言:‘无有是事!何有不作下重屋,而得造彼第二之屋?不造第二,云何得造第三重屋?’愚人固言:‘我今不用下二重屋,必可为我作上者。’时人闻已,便生怪笑,咸作此言:‘何有不造下屋而得上者?’
譬如世尊四辈弟子,不能精勤修敬三宝,懒惰懈怠,欲求道果,而作是言:‘我今不用余下三果,唯求得彼阿罗汉果。’亦为时人之所嗤笑,如彼愚者,等无有异。 ”
加菲思忖道:“这不就是空中楼阁的典故吗?老衲明白了:我佛慈悲,是感觉我的《IP核芯志》(简称《核芯志》)过于高深,不适合入门之人。好吧,这就等待明天值机缘,与之合作讲解简单入门的知识者也。”
花开两朵各表一枝。
且说小木庵降神事件发生的前几天,在沿着忘情川通往子虚镇的小路上,来了一位骑驴的老道。但见这位道长身材修长、鼻直口方、目若朗星,身穿蓝色的道袍,虽然已经显得有些年头了,但是却还干净贴身。引人注目的地方是他身后背了一把一尺长的小宝剑。一般宝剑应该是三尺到四尺的样子,这位老道的佩剑却不到寻常之剑的一半长度。俗话说“一寸长一寸强,一寸短一寸险”,可见此人不仅是武林高手,更是高手中的高手。
当然,上面都是行家看到的门道,普通群众自然不知。就在这些“不知”的情况下,道长在长春观前下了驴子,走上台阶进入观中。至于如何通报、如何挂单 等俗事流程,就不一一细说了。据传此人是观中主持师傅降阶而迎的,是武当山来的高手,道号穆子。
几日无事,无非来往辩经论道,说些《道德》和《南华》。直到降神的次日,穆子道长心血来潮,信步走到了小木庵与长春观之间的大路之上。道长想起当年加菲和尚说书的盛况,不禁吟诗一首:
“世人都晓核心好,唯有语言忘记了。
巧妙结构和所在,面条一堆变C了!”
道士本是无心之语,却引起了一段说书界的佳话。
正所谓“说者无心,听者有意”,这边一个胖大比丘面有愠色。此僧非是他人,正是按照神谕来寻有缘之人的加菲和尚。老僧正欲发作,又想起神谕上面的话:“黄冠,黄冠莫非就印了此人?”
于是他上前合十,答言道:“善哉善哉,老衲这厢有礼了!刚才闻得仙长之言,似乎对在下的《核芯志》颇有不满啊?”
“非也非也,《核芯志》是一本好书,是教导众人如何打通任督二脉的不二之选。只是实践缺了基本功的教导,施主们没有了正规语言运用的培训。《核芯志》也就成了镜花水月了。”
加菲寻思这正和神谕的前两句,于是问道:“仙长的意思是需要讲一讲Verilog吗?”
“然!”
“仙长不嫌弃,我俩合说一场如何?”
“那自然好!这回书就叫《Verilog语言传奇》吧!”
“明日仙长可有空闲,到我寮房一同筹划?”
“甚佳,不见不散!”
2.穆加九章书
穆子道长也未料到师傅交给他的任务如此简单就能做到,甚是欣喜若狂。一夜无话,待到第二天天明,即往老家的住处去了。穆子与加菲经过一番讨论,得到了九章的说书结构。据后院小沙弥偷来的草稿显示,书的主要内容是下面这样的。
章,用来介绍Verilog语言的基本知识,包括发展历史、设计流程、时序分析、芯片结构和可综合性等。这里的重点是帮大家建立Verilog语言与其他学科之间的联系。另外,还需要帮助大家掌握设计数字逻辑系统需要考量的有关内容。
第二章,除了介绍IEEE有关Verilog语言的标准体系及非RTL级的设计之外,还重点说明了常量、变量及结构化模块的内容,是学习Verilog语言的基础。
第三章和第四章,分别介绍了用assign和always定义的组合逻辑电路的描述方法。其中包含各种运算符操作的写法,以及条件、多选的描述。后,以多路选择器为例,说明了如何分析一个组合逻辑电路系统。
第五章,介绍了时序逻辑电路系统的Verilog语言描述方法,包括D触发器及D触发器链的写法。本章还介绍了如何拆分组合电路以适应系统操作时间要求的概念。在此基础上,介绍了三种系统速度与面积平衡的方法:并行化设计、流水线设计与时分复用设计。
第六章,结合工程实践,介绍了经常遇到的若干问题,其中包括复位系统设计、可变移位操作、有限状态机设计、多时钟系统处理及循环操作的处理。
第七章,介绍了与IP核设计有关的灵活编程问题。其中涉及任务与函数的写法、利用宏定义方法改变系统参数、利用参数方法改变系统参数及生成块方法改变系统结构。后综合运用这几种方法,给出了一个简单的IP核——数字分频系统——设计的例子。
第八章,说明了Verilog语言中不可综合的部分。其一为仿真所需的数据类型、复杂运算和并行块设计;其二包含预编译命令;其三为系统任务与函数。本章还介绍了测试向量的概念及其编写方法,以及Verilog语言与其他语言接口的问题。
第九章,以“直接数字式频率合成器”系统为例,综合前面各章介绍的知识,采用了ROM查找表、折线法和CORDIC算法分别进行了实现。本章不仅希望读者学会如何综合使用Verilog语言,还进一步介绍了部分算法与算法定点化的知识。
以上是后院小沙弥偷出的、后世研究穆-加联盟的手资料。该资料虽然珍贵,但是难免有缺失,不过也够后世考据者管中窥豹之用了。
据后人研究,本书适合的读者有如下几种。
希望学习Verilog语言的学习者,尤其是在校学生。在本书之前的有关书籍均按照程序语言之体系写作。对于Verilog这种以电路为基础的语言来说,它们会造成某种程度的误解。本书创“电路门”之先河,以电路带语言,便于读者理解。
ASIC前端/FPGA工程师:此类施主的动手能力极强,但是也有很多未建立电路与语言的联系,颇有C style的风格。从此后,“逻辑派”和“语法党”皈依“电路门”者,众。
希望了解具体实现的算法工程师:此类施主有着很好的理论知识,但是因为没有亲手做过与数字逻辑有关的设计,所以经常被某些人(这些人的居心属于主观问题,贫僧不做评论)忽悠。听了二老说的书,您就有了据理力争的本钱。
计算机硬件设计工程师:看完本书,所有忧愁都将消失。数字加速器是啥?如何做?书里都有答案。
3.阅读有顺序
数月后,子虚镇的壶友茶社门口高挂告示“穆子加菲连口,电路语言开讲”,下面有一行小字“每晚六点,茶金三文”。据当时《子虚晚报》记载,这场书一共说了九九八十一天,期间还有很多曲折,观中书里慢慢看来。
后世的研究者发现,这两位讲本书颇得汉印的精髓:“疏可跑马,密不插针。”换句话说,本书的顺序虽然符合一般读者认识进步的逻辑,但是不建议读者平均用力阅读。好的建议之一来源于《如何读<Verilog传奇>》的结论。
本书的内容与其他资料相比,在正文里缺少了如何使用FPGA开发环境与仿真软件的内容。这部分知识在附录3给出了资料的链接。对于不熟悉这些软件使用的读者而言,需要自行下载有关环境与资料,按照里面的材料练习,做到熟练掌握软件的使用。接下来建议采用以下步骤阅读本书。
首先,粗读/跳读章到第二章的第二讲,了解基本概念。本书的基本假设是读者都掌握了《数字电子技术》这一门基础课。对于章中提到的读者感觉陌生的内容,需要重新复习数字电子技术的内容。
其次,详细阅读第二章第三讲开始到第五章的内容,掌握基本语法。这部分是Verilog语言的基础,掌握这些内容基本就可以完成设计工作了。
接着,阅读第六章和第七章的内容。这些是进阶内容,需要提高的读者应该特别注意。
接下来到了第八章,这些是做测试和验证的内容。如果读者以设计为主,则略读讲到第四讲即可,重点掌握如何自己编写测试向量。对于以测试和验证为主的读者,这一章的介绍是不够的,需要另外的资料作为补充。
第九讲是一个复杂的例子,重点是阅读作者的思想、设计过程及代码风格。
后的几个附录属于索引部分,可读可不读。
如此通读完全文之后,建议读者再回过头来好好研究章的第二讲到第五讲的内容,并联系自己的工程实践,相信必有所斩获。
评论
还没有评论。