书籍详情

精通VerilogHDL:IC设计核心技术实例详解

精通VerilogHDL:IC设计核心技术实例详解

作者:简弘伦编著

出版社:电子工业出版社

出版时间:2005-10-01

ISBN:9787121017742

定价:¥39.00

购买这本书可以去
内容简介
  由于半导体技术的不断提升,以及晶圆厂所需的建厂资金不断飚升,导致了晶圆代工的兴起,也为国内的Fabless design house设计的发展提供了温床。国内由于产业上下游完整,能直接针对下游的需求快速做出回应,加上有着训练有素的工程师,已成全世界IC设计产值的新兴大国。加上政府有心扶植,希望能提升我国电子业的技术水准,避免仅仅只是做代工的窘境,而在当前的校园里,VLSI 设计也成为热门学科。如何能快速提升设计效率,变成了当务之急的课题。传统采取的Schematic设计方法已不能符合快速Time to Market的需求。高级的硬件设计语言(HDL: Hardware Design Language)因运而生。高级HDL设计方法的最大优点是可以通过EDA(Electrical Design Automation) tool 来进行自动化的设计,从而实现许多以前难以达成的复杂功能。然而,国内相关书籍仍然不多,许多书籍仅简单介绍硬件设计语言,其内容较少有谈及实际的设计方法,其内含的范例相对也较为简单,这对于许多有志于此的学生或工程师而言是明显不够的。于是本书希望能从实际的角度,所附的范例都有相当的实用价值,以提升读者电路设计的观念和技巧,因此本书很适合有志于此的学生或工程师学习。随书光盘内容为本书实例源代码。
作者简介
  简弘伦,资深芯片设计工程师,中国台湾大学工程科学研究所,毕业于成功大学工程科学系,曾任职于美商泰鼎科技、威盛电子对于数字计算、影象及视频压缩等有深厚的兴趣。
目录
第1章 设计方法概认(Design Methodology Introduction)
1.1 Verilog HDL硬件设计语言
1.2 设计流程(Design Flow)
1.2.1 设计规格阶段(Design Specification)
1.2.2 架构与设计划分阶段(Architecture&Design Partition)
1.2.3 编程与测试环境设计阶段(RTL Coding&Test Bench)
1.2.4 集成和仿真阶段(Integration&Simulation)
1.2.5 综合阶段(Synthesis)
1.2.6 布局前仿真阶段(Pre-Layout Simulation)
1.2.7 布局与布线阶段( Auto Placement &Route,AP&R)
1.2.8 布局后仿真/静态时序分析/形式验证阶段(Post-Sim/STA/Formal Verification)
1.2.9 DRC/LVS检查阶段
1.2.10 Design Sing-off阶段
1.2.11 手动修正(Engineering Change Order,ECO)
1.3 程序设计风格(Coding Style)
1.4 综合(Synthesis)
1.4.1 不可综合的Verilog HDL描述
1.4.2 不可综合的运算符
1.4.3 操作条件(Operating Condition)
1.4.4 Setup Time & Hold Time
1.4.5 元件库(Library)
1.4.6 时序约束(Timing Constraints)
1.4.7 时钟信号综合 (Synthesis for Clock)
1.4.8 线路负载模型 (Wire Load Model)
1.4.9 设计规则检查(Design Rule Check,DRC)
1.4.10 综合的原则
1.4.11 综合扫描电路(Scan Synthesis)
1.5 布局与布线(Auto Placement & Route,AP&R)
1.5.1 布局的概念
1.5.2 Floorplan
1.5.3 Cut Scan Chain
1.5.4 Pre-Placement Optimization
1.5.5 Placement
1.5.6 Placement Optimization
1.5.7 CTS(Clock Tree Synthesis)
1.5.8 Connect Scan Chain
1.5.9 Post Placement & CTS Optimization
1.5.10Route
1.5.11 Chip Utilization
1.5.12 PAD Limited & Core Limited
1.6 标准延迟文件(Standard Delay Format,SDF)
1.6.1 线路延迟(Interconnect Delay)
1.6.2 元件延迟(Cell Delay)
1.7 现场可编程门阵列(Field Programming Gate Array,FPGA)
1.8 结构化ASIC(Structural ASIC)
1.9 测试
1.9.良率(Yield Rate)/缺陷比例(Defect Levels)
1.9.2 测试的阶段
1.9.3 瑕疵(Fault)
1.9.4 测试向量(Test Vector)
1.9.5 自动测试向量产生 (Auto Test Pattern Generation,ATPG)
1.9.6 内存内建自我测试自动化(Built-In Self Test,BIST)
1.10 功率消耗(Power Consumption)
1.10.1 如何利用综合器综合出低功率消耗的电路
1.10.2 功耗计算
1.11 本章习题
第2章 硬件设计语言(Hardware Description language)
2.1 设计层次(Design Hierarchy)
2.2 模块(Module)
2.3 端口声明(Port Declarations)
2.4 参数声明(Parameter Ddeclarations)
2.5 include directives
2.6 变量声明(Variable Decalarations)
2.7 管脚对应规则(Port Mapping Rule)
2.8 输出输入管理脚规则(Port Connecting Rule)
2.9 测试平台(Test Bench)
2.10 事件(Event)
2.11 仿真器(Simulator)
2.12 执行过程(Executing Procedure)
2.12.1 initial statement
2.12.2 always statement
2.13 波形(Waveform)
2.14 空白与注释(Space&Comments)
2.15 数字单位(Number of Specification)
2.16 数值逻辑(Value Logic)
2.17 数据类型(Data Type)
2.17.1 接线(Net)
2.17.2 寄存器(Register)
2.17.3 整数与实数(Integer&Real)
2.17.4 时间(Time)
2.17.5 参数(Parameter)
2.17.6 数组(Array)
2.17.7 存储器(Memory)
2.17.8 字符串(String)
2.18 持续指定(Continuous Assignment)
2.19 运算符(operator)
2.19.1 位运算符(Logical Bit-wise Operator)
2.19.2 逻辑运算符(Logical operator)
2.19.3 等式运算符(Equality Operator)
2.19.4 关系运算符(Relational Operator)
2.19.5 移位运算符(Shift Operator)
2.19.6 缩减运算符(Reduction Operator)
2.19.7 算术运算符(Arithmetic Operator)
2.19.8 拼接运算符(Concatenation Operator)
2.19.9 条件运算符(Conditional Operator)
2.19.10 运算符的优先级
2.20 三态缓冲器及双向信号(Tristate Buffer & Bidirectional signals)
2.21 设计实例
2.21.1 CASE1:3-8译器器
2.21.2 CASE2:BCD码/加3码转换器
2.21.3 CASE3:奇偶校验(Parity Check)
2.21.4 CASE4:算术逻辑单元(ALU,Arithmetic Logic Unit)
2.21.5 CASE5:NRZI编码
2.22 本章习题
第3章 行为建模(Behavioral Modeling)
3.1 过程赋值(Procedure Assignment)
3.1.1 阻隔式赋值(Bolcking Assignment)
3.1.2 非阻隔式赋值(Non-Blocking Assignment)
3.2 时间延迟控制(Timing Delay Control)
3.3 门延迟(Gate Delay)
3.4 详细的延迟模型
3.5 时间刻度(Timescale)
3.6 条件语句
3.7 case语句
3.8 if语句和case语句的比较
3.9 循环(Loops)
3.9.1 while循环
3.9.2 for循环
3.9.3 repeat循环
3.9.4 forever循环
3.10 wait语句
3.11 循序区块与并行区块
3.12 任务与函数(Task&Function)
3.12.1 任务(Task)
3.12.2 函数(Function)
3.12.3 任务与函数的比较
3.13 赋值(Assignment)
3.14 编译指令(Compiler Directive)
3.15 信号提取(Signal Extraction)
3.16 随机数产生器(Random Number Generator)
3.17 文件输出输入(File I/O)
3.17.1 打开文件(Open File)
3.17.2 写入文件(Write to Flie)
3.17.3 读取文件(Read from Flit )
3.17.4 关闭文件(Close File)
3.17.5 由文件设定存储器初值
3.18 仿真控制任务(Simulation Control Task)
3.19 读入sdf文件
3.20 enerate语句
3.21 除错实例分析
3.22 AMBA Master设计实例
3.22.1 控制信号
3.22.2 程序代码
3.22.3 仿真波形
3.23 本章习题
第4章 同步设计(Synchronous Design)
4.1 设计风格的重要性(Importance of Coding Style)
4.1.1 CASE1:多重驱动(Mutiple driven)
4.1.2 CASE2:正负沿混合设计(Mixed rising &falling edge trigger)
4.1.3 CASE3:多重时钟驱动
4.1.4 CASE4:不以if-else作为的condition区分
4.1.5 CASE5: case语句里遗漏default的描述
4.1.6 CASE6:混合同步与异步Reset的语句
4.1.7 CASE7:对组合逻辑Reset
4.1.8 CASE8:不使用完整的敏感列表(Sen sitivity List)
4.1.9 CASE9:没有初始状态的程序状态机
4.1.10 CASE10:在模块与模块间使用Bi-drectional Signal
4.2 资源共享(Resource Sharing)
4.3 流水线(PipeLine)
4.4 设计实例
4.4.1 七段显示器设计实例
4.4.2 触发器(Flip-Flops)的设计
4.4.3 时钟信号分频(Clock Divider)的设计
4.4.4 可以对任务数目分频的分频器
4.4.5 并行输入/串行输出(Parallel-In/Serial-out)的移位寄存器
4.4.6 串行输入/并行输出(Serial-In/Parallel-out)的移位寄存器
4.4.7 串行输入/串行输出(Serial-In/Serial-out)的移位寄存器
4.4.8 具有向上计数/向下计数(Up-Down Count)功能的计数器
4.4.9 可以同步加载(SynchronousLoad)的向上计数寄存器
4.4.10 Johnson计数器
4.4.11 以D触发器(Flip-Flop)实现J-K触发器(Flip-Flop)
4.4.12 Mealy程序状态机(State Machine)设计
4.4.13 Moore程序状态机设计——红绿灯控制电路
4.4.14 同步缓冲器设计(Synchronous FIFO)
4.4.15 堆栈控制设计(Stack)
4.5 本章习题
第5章 异步(Asynchronous Design)
5.1 同步设计与异步设计(Synchonous &Non-Synchronous design)
5.2 了解Latch
5.3 Timing Borrow
5.4 为什么产生Latch
5.4.1 CASE1:综合电路产生Latch实例1(嵌套)
5.4.2 CASE2:综合电路产生Latch实例2(嵌套)
5.4.3 CASE3:语句导致Latch的实例
5.4.4 CASE4:因为敏感列表(Sensitivity List)不全导致Latch的实例
5.5 以RTL综合Latch-based的存储器
5.6 跨越时钟域(Clock Domain)的问题
5.7 亚稳太(Metastable)
5.8 异步接口设计实例
5.8.1 设计概念
5.8.2 程序代码
5.8.3 仿真波形
5.9 本间习题
第6章 功能性单元(Functional Unit)
6.1 概述
6.2 Ripple-Carry加法器
6.3 Carry Look-ahead加法器
6.4 CSA(Cary Save Adder)加法器
6.5 累加器(CSA Accumulator)
6.6 Ripple减法器
6.7 乘法器(Multiplier)
6.7.1 移位相加乘法器
6.7.2 CSD(Canonic Signed Digit)数
6.7.3 Ripple乘法器
6.7.4 CSA乘法器
6.7.5 SRAM乘法器
6.8 LFSR(Linear Feedback Shift Register)
6.9 CRC(Cyclic Redundancy Check)
6.10 4位CRC (Cyclic Redundancy Check)
6.11 本章习题
第7章 I2C Slave模型(I2C Slave Modeling)
7.1 规格说明
7.1.1 器件连接(Device Connection)
7.1.2 位传输(Bit Transfer)
7.1.3 协定的起始与终止(Start/Stop Condition)
7.1.4 数据传输(Data transfer)
7.1.5 时钟信号的同步(Clock Synchronization)
7.1.6 仲裁(Arbitration)
7.2 程序设计概念
7.3 程序代码
7.4 仿真波形
第8章 微处理器设计实例(Microprocessor Design)
8.1 CISC vs.RISC
8.2 计算机架构简介
8.3 测试
8.4 执行结果
8.5 程序代码
第9章 JPEG编码硬件加速器(JPEG Encoder Accelerator)
9.1 JPEG概述
9.2 设计描述(Design Description)
9.2.1 dct_ld模块设计概念
9.2.2 dctctl模块设计概念
9.2.3 jpegctl模块设计概念
9.2.4 smul模块设计概念
9.2.5 zzscan模块设计概念
9.2.6 vlcctl模块设计概念
9.2.7 packer模块设计概念
9.3 程序代码
猜您喜欢

读书导航