内容简介
第一章 VerilogHDL设计方法概述
1.1硬件描述语言(HDL)
1.2VerilogHDL的历史
1.2.1什么是VerilogHDL
目录
1.2.2VerilogHDL的产生及发展
1.3VerilogHDL和VHDL的比较
1.4VerilogHDL目前的应用情况和适用的设计
1.5采用VerilogHDL设计复杂数字电路的优点
1.5.1传统设计方法——电路原理图输入法
1.5.2VerilogHDL输入法与传统的电路原理图输入法的比较
1.6VerilogHDL的设计流程简介
1.6.1自顶向下(TOP-DOWN)设计的基本概念
1.5.3VerilogHDL的标准化与软核的重用
1.5.4软核、固核和硬核的概念以及它们的重用
1.6.2层次管理的基本概念
1.6.3具体模块的设计编译和仿真的过程
1.6.4对应具体工艺器件的优化、映象和布局布线
1.7小结
思考题
第二章 VerilogHDL的基本语法
2.1.1简单的VerilogHDL程序介绍
2.1简单的VerilogHDL模块
2.1.2模块的结构
2.1.3模块的端口定义
2.1.4模块内容
2.2数据类型及其常量、变量
2.2.1常量
2.2.2变量
2.3.1基本的算术运算符
2.3运算符及表达式
2.3.2位运算符
2.3.3逻辑运算符
2.3.4关系运算符
2.3.5等式运算符
2.3.6移位运算符
2.3.7位拼接运算符
2.3.8缩减运算符
2.3.9优先级别
2.3.10关键词
2.4赋值语句和块语句
2.4.1赋值语句
2.4.2块语句
2.5.1if_else语句
2.5条件语句
2.5.2case语句
2.5.3使用条件语句不当生成锁存器的情况
2.6循环语句
2.6.1forever语句
2.6.2repeat语句
2.6.3while语句
2.6.4for语句
2.7结构说明语句
2.7.1initial语句
2.7.2always语句
2.7.3task和function说明语句
2.8系统函数和任务
2.8.1$display和$write任务
.2.8.2系统任务$monitor
2.8.3时间度量系统函数$time
2.8.5系统任务$stop
2.8.6系统任务$readmemb和$readmemh
2.8.4系统任务$finish
2.8.7系统任务$random
2.9编译预处理
2.9.1宏定义'define
2.9.2“文件包含”处理'include
2.9.3时间尺度'timescale
2.9.4条件编译命令'ifdef,'else,'endif
2.10小结
思考题
3.1门级结构描述
3.1.1与非门、或门和反向器等及其说明语法
第三章 不同抽象级别的VerilogHDL模型
3.1.2用门级结构描述D触发器
3.1.3由已经设计成的模块构成更高一层的模块
3.2VerilogHDL的行为描述建模
3.2.1仅用于产生仿真测试信号的VerilogHDL行为描述建模
3.2.2VerilogHDL建模在TOP-DOWN设计中的作用和行为建模的可综合性问题
3.3用VerilogHDL建模进行TOP-DOWN设计的实例
3.4小结
思考题
第四章 有限状态机和可综合风格的VerilogHDL
4.1有限状态机
4.1.1用VerilogHDL语言设计可综合的状态机的指导原则
4.1.2典型的状态机实例
4.1.3综合的一般原则
4.1.4语言指导原则
4.2.1组合逻辑电路设计实例
4.2可综合风格的VerilogHDL模块实例
4.2.2时序逻辑电路设计实例
4.2.3状态机的置位与复位
4.2.4复杂时序逻辑电路设计实践
第五章 可综合的VerilogHDL设计实例——简化的RISC-CPU设计简介
5.1什么是CPU
5.2RISC-CPU的结构
5.2.1时钟发生器
5.2.2指令寄存器
5.2.3累加器
5.2.4算术运算器
5.2.5数据控制器
5.2.6地址多路器
5.2.7程序计数器
5.2.8状态控制器
5.2.9外围模块
5.3RISC-CPU的操作和时序
5.3.1系统的复位和启动操作
5.3.2总线读操作
5.3.3写总线操作
5.4RISC-CPU的寻址方式和指令系统
5.5RISC-CPU模块的调试
5.5.1RISC-CPU模块的前仿真
5.5.2RISC-CPU模块的综合
5.5.3RISC-CPU模块的优化和布局布线
思考题
第六章 虚拟器件和虚拟接口模型
6.1虚拟器件和虚拟接口模块的供应商
6.2虚拟接口模块的实例
参考文献