书籍详情
VHDL数字控制系统设计范例
作者:林明权等编著;马维旻改编
出版社:电子工业出版社
出版时间:2003-01-01
ISBN:9787505383869
定价:¥32.00
购买这本书可以去
内容简介
电子技术的发展,特别是专用集成电路(ASIC)设计技术的日趋进步和完善,推动了数字系统设计的迅猛发展。电子设计自动化(EDA)工具给电子设计带来了巨大变革,尤其是硬件描述语言的出现和发展,解决了传统用电路原理图设计大系统工程时的诸多不便,成为电子电路设计人员的最得力助手。学习VHDL已日益成为我国高校学生和工程技术人员的迫切需求。本书是在台湾繁体版图书《数位控制系统设计::使用VHDL》的基础上,结合当前集成电路设计领域的新内容和典型实例改编而成的。既简要地介绍了VHDL的语法,又以基本逻辑电路为例,阐述VHDL的设计技巧。随后列举了七个数字控制系统设计的完整范例,包括自动售货机、电子钟、红绿灯交通信号系统、步进电机定位控制系统、直流电机速度控制系统、计算器以及点阵列LED显示控制系统。目的是使读者通过学习这些典型实例的设计过程,循序渐进地掌握VHDL应用在复杂数字控制系统设计中的要领。本书所附的光盘中收录了书中列举的程序代码,供读者学习使用。本书在改编过程中得到魏永昌等老师的大力帮助,在此表示感谢。由于理论水平和实践经验有限,书中难免存在错误或不妥之处,敬请读者批评指正。改编者本书在简要介绍VHDL的语法和基本数字逻辑电路设计技巧的基础之上,完整地给出了七个较为复杂的数字控制系统设计范例,包括自动售货机、电子钟、红绿灯交通信号系统、步进电机定位控制系统、直流电机速度控制系统、计算器以及点阵列LED显示控制系统。通过学习这些典型的实例,读者可以学会自己利用VHDL设计实用的数字控制系统。本书适合从事数字控制系统设计的技术人员和高校相关专业的师生阅读。
作者简介
暂缺《VHDL数字控制系统设计范例》作者简介
目录
第1章 VHDL语法概要
1.1 概述
1.2 语言特性
1.3 VHDL语法规则
1.3.1 标识符(Identifiers)
1.3.2 数据对象(Data objects)
1.3.3 数据类型(Data types)
1.3.4 运算符(Operators)
1.4 语句结构分类
1.4.1 库
1.4.2 实体说明
1.4.3 结构定义
1.5 并行语句(Concurrent statements)
1.5.1 信号赋值
1.5.2 变量赋值
1.5.3 when_else(多输入条件,单输出语句)
1.5.4 with_select_when(单输入条件,单输出语句)
1.5.5 for_generate语句
1.5.6 process语句
1.5.7 block语句
1.5.8 过程调用(Procedure call)
1.5.9 元件例化(Component instantiation)
1.6 顺序性语句(Sequential statements)
1.6.1 条件语句if_then_else
1.6.2 选择语句case_when(单输入条件,多输出语句)
1.6.3 循环语句for_loop
1.6.4 循环语句while_loop
1.6.5 等待语句wait_until
1.6.6 function语句
1.7 程序包(package)
第2章 基本数字逻辑电路设计
2.1 简介
2.2 数字信号传输控制
2.2.1 锁存器(latch)
2.2.2 多路选择器multiplexer
2.2.3 三态门
2.2.4 双向输入/输出端口
2.2.5 内部(缓冲)信号
2.3 组合逻辑电路设计
2.3.1 编码转换
2.3.2 多路选择器
2.3.3 加法器
2.3.4 编码器/译码器
2.3.5 4位乘法器
2.3.6 只读存储器(16×8 ROM)
2.4 时序逻辑电路设计
2.4.1 RSFF触发器
2.4.2 DFF触发器
2.4.3 JKFF触发器
2.4.4 计数器
2.4.5 分频器
2.4.6 寄存器
2.4.7 状态机
第3章 自动售货机
3.1 自动售货机功能概述
3.2 自动售货机外观
3.3 实验电路安排
3.4 系统设计说明
3.4.1 entity定义模块
3.4.2 architecture模块
3.4.3 产生退币闪烁信号的电路模块(return_clk)
3.4.4 投入10元硬币的处理电路模块(coin_10_counting)
3.4.5 投入5元硬币的处理电路模块(coin_5_counting)
3.4.6 饮料选择处理电路模块(select_drink)
3.4.7 确认与取消处理电路模块(ok_or_cancel)
3.4.8 退币处理电路模块(coin_returned)
3.4.9 出货并计算存货电路模块(give_check)
3.5 debouncing电路模块
3.6 FPGA制作讨论
第4章 电子钟
4.1 电子钟功能概述
4.2 电子钟外观
4.3 共享组件与程序包的设计说明
4.3.1 1Hz_generator组件
4.3.2 count60组件
4.3.3 count24组件
4.3.4 alarm_set组件
4.3.5 stop_watch组件
4.3.6 i60bcd组件
4.3.7 i24bcd组件
4.3.8 bin2led组件
4.3.9 七段显示器扫描输出电路模块(display)
4.3.10 entity模块
4.3.11 architecture模块
4.3.12 正常计数时间功能模块
4.3.13 定时器设定与计时功能模块
4.3.14 闹钟设定与时间对比功能模块
4.3.15 输出选择与数码转换功能模块
4.3.16 扫描多路输出功能模块
4.4 FPGA制作讨论
第5章 红绿灯交通信号系统
5.1 红绿灯交通信号系统功能概述
5.2 红绿灯交通信号系统外观
5.3 实验电路安排
5.4 红绿灯交通信号系统的VHDL模块图
5.5 红绿灯交通信号系统VHDL程序设计说明
5.5.1 clk_gen时钟发生电路(即分频电路)的VHDL设计说明
5.5.2 traffic_mux计数秒数选择电路的VHDL程序设计说明
5.5.3 count_down倒计时控制电路的VHDL程序设计说明
5.5.4 traffic_fsm红绿灯信号控制电路的VHDL程序设计说明
5.6 建造一个属于自己的程序包(package)
5.6.1 traffic红绿灯信号系统电路的VHDL程序设计说明
5.7 FPGA制作讨论
第6章 步进电机定位控制系统
6.1 步进电机定位控制系统功能概述
6.2 步进电机定位控制系统的VHDL模块图
6.3 步进电机速度控制系统VHDL程序设计说明
6.3.1 entity模块
6.3.2 architecture模块
6.3.3 步进电机方向设定电路模块
6.3.4 步进电机步进移动与定位控制电路模块
6.3.5 编码输出电路模块
6.4 FPGA制作讨论
第7章 直流电机速度控制系统
7.1 直流电机速度控制系统功能概述
7.1.1 电机加速
7.1.2 电机减速
7.1.3 电机定速
7.1.4 速度检测
7.2 实验电路安排
7.3 直流电机速度控制系统的VHDL模块图
7.4 直流电机速度控制系统VHDL程序设计说明
7.5 FPGA制作讨论
第8章 计算器
8.1 加法器/减法器电路设计
8.1.1 全加器电路
8.1.2 四位逐位进位加法器
8.1.3 二进制编码的十进制(BCD)加法器电路
8.1.4 BCD码取9补码电路
8.1.5 一个字符的BCD加/减法器
8.1.6 三个字符的BCD加/减法器
8.1.7 负数取补修正电路
8.1.8 寄存器电路
8.1.9 倒数计数器电路
8.1.10 加/减法器电路
8.2 乘法器电路设计
8.2.1 左移位寄存器电路
8.2.2 右移位寄存器电路
8.2.3 2选1选择器
8.2.4 乘法器电路
8.3 除法器电路设计
8.4 键盘扫描电路设计
8.4.1 分频器电路
8.4.2 键盘扫描计数器电路
8.4.3 按键检测电路
8.4.4 按键抖动消除电路
8.4.5 键盘编码电路
8.5 显示电路设计
8.5.1 七段显示器扫描电路
8.5.2 计数译码电路
8.5.3 BCD多路选择器
8.5.4 BCD对应七段显示器编码电路
8.5.5 显示电路整合
8.6 FPGA制作讨论
第9章 点阵列LED显示控制系统
9.1 点阵列LED显示控制系统功能概述
9.1.1 点阵列LED显示组件的介绍
9.1.2 扫描式显示原理的介绍
9.1.3 字符字形的编码
9.2 单一字符显示电路
9.2.1 硬件电路结构设计
9.2.2 单一字符显示电路的VHDL程序设计说明
9.2.3 仿真波形图
9.3 八位数字字符显示电路
9.3.1 硬件电路结构设计
9.3.2 八位数字字符显示电路的VHDL程序设计说明
9.3.3 仿真波形图
9.4 独立式扫描电路模块
9.4.1 独立式扫描电路模块的VHDL程序设计说明
9.4.2 仿真波形图
9.5 水平式扫描显示电路
9.5.1 水平式扫描法
9.5.2 程序代码
9.5.3 仿真结果
9.6 结束语
9.7 FPGA制作讨论
附录
1.1 概述
1.2 语言特性
1.3 VHDL语法规则
1.3.1 标识符(Identifiers)
1.3.2 数据对象(Data objects)
1.3.3 数据类型(Data types)
1.3.4 运算符(Operators)
1.4 语句结构分类
1.4.1 库
1.4.2 实体说明
1.4.3 结构定义
1.5 并行语句(Concurrent statements)
1.5.1 信号赋值
1.5.2 变量赋值
1.5.3 when_else(多输入条件,单输出语句)
1.5.4 with_select_when(单输入条件,单输出语句)
1.5.5 for_generate语句
1.5.6 process语句
1.5.7 block语句
1.5.8 过程调用(Procedure call)
1.5.9 元件例化(Component instantiation)
1.6 顺序性语句(Sequential statements)
1.6.1 条件语句if_then_else
1.6.2 选择语句case_when(单输入条件,多输出语句)
1.6.3 循环语句for_loop
1.6.4 循环语句while_loop
1.6.5 等待语句wait_until
1.6.6 function语句
1.7 程序包(package)
第2章 基本数字逻辑电路设计
2.1 简介
2.2 数字信号传输控制
2.2.1 锁存器(latch)
2.2.2 多路选择器multiplexer
2.2.3 三态门
2.2.4 双向输入/输出端口
2.2.5 内部(缓冲)信号
2.3 组合逻辑电路设计
2.3.1 编码转换
2.3.2 多路选择器
2.3.3 加法器
2.3.4 编码器/译码器
2.3.5 4位乘法器
2.3.6 只读存储器(16×8 ROM)
2.4 时序逻辑电路设计
2.4.1 RSFF触发器
2.4.2 DFF触发器
2.4.3 JKFF触发器
2.4.4 计数器
2.4.5 分频器
2.4.6 寄存器
2.4.7 状态机
第3章 自动售货机
3.1 自动售货机功能概述
3.2 自动售货机外观
3.3 实验电路安排
3.4 系统设计说明
3.4.1 entity定义模块
3.4.2 architecture模块
3.4.3 产生退币闪烁信号的电路模块(return_clk)
3.4.4 投入10元硬币的处理电路模块(coin_10_counting)
3.4.5 投入5元硬币的处理电路模块(coin_5_counting)
3.4.6 饮料选择处理电路模块(select_drink)
3.4.7 确认与取消处理电路模块(ok_or_cancel)
3.4.8 退币处理电路模块(coin_returned)
3.4.9 出货并计算存货电路模块(give_check)
3.5 debouncing电路模块
3.6 FPGA制作讨论
第4章 电子钟
4.1 电子钟功能概述
4.2 电子钟外观
4.3 共享组件与程序包的设计说明
4.3.1 1Hz_generator组件
4.3.2 count60组件
4.3.3 count24组件
4.3.4 alarm_set组件
4.3.5 stop_watch组件
4.3.6 i60bcd组件
4.3.7 i24bcd组件
4.3.8 bin2led组件
4.3.9 七段显示器扫描输出电路模块(display)
4.3.10 entity模块
4.3.11 architecture模块
4.3.12 正常计数时间功能模块
4.3.13 定时器设定与计时功能模块
4.3.14 闹钟设定与时间对比功能模块
4.3.15 输出选择与数码转换功能模块
4.3.16 扫描多路输出功能模块
4.4 FPGA制作讨论
第5章 红绿灯交通信号系统
5.1 红绿灯交通信号系统功能概述
5.2 红绿灯交通信号系统外观
5.3 实验电路安排
5.4 红绿灯交通信号系统的VHDL模块图
5.5 红绿灯交通信号系统VHDL程序设计说明
5.5.1 clk_gen时钟发生电路(即分频电路)的VHDL设计说明
5.5.2 traffic_mux计数秒数选择电路的VHDL程序设计说明
5.5.3 count_down倒计时控制电路的VHDL程序设计说明
5.5.4 traffic_fsm红绿灯信号控制电路的VHDL程序设计说明
5.6 建造一个属于自己的程序包(package)
5.6.1 traffic红绿灯信号系统电路的VHDL程序设计说明
5.7 FPGA制作讨论
第6章 步进电机定位控制系统
6.1 步进电机定位控制系统功能概述
6.2 步进电机定位控制系统的VHDL模块图
6.3 步进电机速度控制系统VHDL程序设计说明
6.3.1 entity模块
6.3.2 architecture模块
6.3.3 步进电机方向设定电路模块
6.3.4 步进电机步进移动与定位控制电路模块
6.3.5 编码输出电路模块
6.4 FPGA制作讨论
第7章 直流电机速度控制系统
7.1 直流电机速度控制系统功能概述
7.1.1 电机加速
7.1.2 电机减速
7.1.3 电机定速
7.1.4 速度检测
7.2 实验电路安排
7.3 直流电机速度控制系统的VHDL模块图
7.4 直流电机速度控制系统VHDL程序设计说明
7.5 FPGA制作讨论
第8章 计算器
8.1 加法器/减法器电路设计
8.1.1 全加器电路
8.1.2 四位逐位进位加法器
8.1.3 二进制编码的十进制(BCD)加法器电路
8.1.4 BCD码取9补码电路
8.1.5 一个字符的BCD加/减法器
8.1.6 三个字符的BCD加/减法器
8.1.7 负数取补修正电路
8.1.8 寄存器电路
8.1.9 倒数计数器电路
8.1.10 加/减法器电路
8.2 乘法器电路设计
8.2.1 左移位寄存器电路
8.2.2 右移位寄存器电路
8.2.3 2选1选择器
8.2.4 乘法器电路
8.3 除法器电路设计
8.4 键盘扫描电路设计
8.4.1 分频器电路
8.4.2 键盘扫描计数器电路
8.4.3 按键检测电路
8.4.4 按键抖动消除电路
8.4.5 键盘编码电路
8.5 显示电路设计
8.5.1 七段显示器扫描电路
8.5.2 计数译码电路
8.5.3 BCD多路选择器
8.5.4 BCD对应七段显示器编码电路
8.5.5 显示电路整合
8.6 FPGA制作讨论
第9章 点阵列LED显示控制系统
9.1 点阵列LED显示控制系统功能概述
9.1.1 点阵列LED显示组件的介绍
9.1.2 扫描式显示原理的介绍
9.1.3 字符字形的编码
9.2 单一字符显示电路
9.2.1 硬件电路结构设计
9.2.2 单一字符显示电路的VHDL程序设计说明
9.2.3 仿真波形图
9.3 八位数字字符显示电路
9.3.1 硬件电路结构设计
9.3.2 八位数字字符显示电路的VHDL程序设计说明
9.3.3 仿真波形图
9.4 独立式扫描电路模块
9.4.1 独立式扫描电路模块的VHDL程序设计说明
9.4.2 仿真波形图
9.5 水平式扫描显示电路
9.5.1 水平式扫描法
9.5.2 程序代码
9.5.3 仿真结果
9.6 结束语
9.7 FPGA制作讨论
附录
猜您喜欢