当前课程知识点:现代电子系统设计 >  第八章 FPGA与数字系统设计 >  8.9 Verilog硬件设计语言 >  8.9.6 Verilog设计举例(3)

返回《现代电子系统设计》慕课在线视频课程列表

8.9.6 Verilog设计举例(3)在线视频

下一节:8.9.7 Verilog设计举例(4)

返回《现代电子系统设计》慕课在线视频列表

8.9.6 Verilog设计举例(3)课程教案、知识点、字幕

接下来讲第八章第九节

Verilog硬件描述语言

第六小节Verilog设计举例(3)

我们前面讲过

在always模块中

可以用if和case语句

那么怎样来用呢

其实我们在前面举的这个

二选一数据选择器的例子中

已经用了这个if语句

那我们用if else来描述

这个输出out和ab之间的关系

实际上我们也可以用case

来描述这种关系

这是一个用case描述

这个out和ab的例子

那么case在用的时候

它和endcase是一起来用的

当它的条件sel等于1的时候

就执行out等于a

当sel等于0的时候

就执行out等于b

所以它用起来也是比较简单的

另外我们用了一个default语句

也就是一个缺省语句

缺损情况下

out等于x也就是位置的状态

之所以用这个default语句

是为了防止在case语句列举的时候

没有列全的情况

当然我们也可以不用这个default

那这个时候

也可以在它always语句一开始

就用out等于x

然后再用这个case语句

这样的话也可以

接下来我们看一个状态机

设计的例子

我们设计一个简单的状态机

它只有两个状态

s等于0

s等于1

然后它有两个输入变量

in和reset

reset是一个复位信号

in是一个输入信号

然后它有一个输出变量out

当in等于0的时候

那么状态它是保持的

也就是说它如果原来

在s等于0的状态

它还在0的状态

如果在1的状态

它也就还保持在1的状态

当reset等于1的时候

那么这时候无论是哪个状态

都要回到0状态

也就是原来是0状态

它还保持在0状态

如果原来是1状态

它就要回到0状态

另外在0状态的时候

它的输出等于1

另外在1状态的时候

它的输出等于0

这是这个状态机它的描述

接下来我们看怎么样

用语言来实现它

首先我们定义一个模块

就是FSM

表示状态机

然后列举了它的

输入和输出的变量

另外因为这个电路

是一个时序电路

所以还有一个时钟信号clock

作为输入信号

另外它的输出信号

是out

那这时候out还要把它定义成

reg型的变量

另外为了描述它的状态

我们引入了一个reg型的

state变量

然后它的两个状态0和1

用参数来描述

s0等于0

s1等于1

这是它的变量和参数

接下来我们就用两个always模块

也就是两段式的方式

来描述这个状态机

第一个always模块

用来描述在不同的状态下

它的输出的变量

第二个always模块

用来描述在输入条件变化的时候

状态是怎样转换的

下面现在第一个always模块

在这个always模块中

它括号中的输入变量是state

然后用case语句来描述

在状态s0的情况下

它的输出out等于1

在状态s1的情况下

它的输出out等于0

default的情况

out是等于0

这是第一个always模块

它描述的是不同状态下

输出的一个关系

接下来第二个always模块

就描述状态的转换

这时候它的括号中的变量是

clk或者reset的上升沿

也就是说当clk或者reset

出现上升沿的时候

就执行这个always它的结构体

首先if reset等于1

那么state就会回到0

这是第一个语句描述

reset它的作用

接下来否则如果reset不是等于1

那这时候接下来就用case语句

描述它的状态的转换

如果状态是等于0

那这时候只要输入等于1的话

那么它就转换到状态s1

也就是state等于s1

否则的话

它还维持它的s0的状态

如果case state等于s1

这时候就看这个输入变量

如果输入变量等于1

那这时候这个状态就回到0

否则的话

它还维持它自己原来的状态s1

这是状态转换的描述

感谢您的观看

现代电子系统设计课程列表:

课程简介

-课程简介

第一章 第一章 现代电子系统概述

-1.1 电子系统简介

--1.1 电子系统简介

-1.2 现代电子系统举例

--1.2 现代电子系统举例

-1.3 现代电子系统的组成

--1.3 现代电子系统的组成

-1.4 现代电子系统设计方法

--1.4 现代电子系统设计方法

-第一章 作业

-第一章 讨论题

第二章 传感器和执行器

-2.1 传感器定义

--2.1 传感器定义

-2.2 传感器的分类和性能指标

--2.2 传感器的分类和性能指标

-2.3 常用传感器介绍

-- 2.3.1 常用传感器介绍(1)

-- 2.3.2 常用传感器介绍(2)

--2.3.3 常用传感器介绍(3)

-2.4 常用执行器介绍

--2.4 常用执行器介绍

-第二章 作业

-第二章 讨论题

第三章 模拟电路和模数混合电路

-3.1 模拟信号处理简介

--3.1 模拟信号处理简介

-3.2 信号放大和隔离电路

--3.2 信号放大和隔离电路

-3.3 滤波电路

--3.3 滤波电路

-3.4 运算电路(一)

--3.4 运算电路(一)

-3.5 运算电路(二)

--3.5 运算电路(二)

-3.6 电压比较器

--3.6 电压比较器

-3.7 功率放大电路

--3.7 功率放大电路

-3.8 模-数转换器

--3.8 模-数转换器

-3.9 数-模转换器

--3.9 数-模转换器

-第三章 作业

-第三章 讨论题

第四章 直流电源

-4.1 直流电源简介

--4.1 直流电源简介

-4.2 线性稳压电源

--4.2 线性稳压电源

-4.3 开关稳压电源

--4.3 开关稳压电源

-第四章 作业

-第四章 讨论题

第五章 微处理器与片上系统

-5.1 微处理器简介

--5.1 微处理器简介

-5.2 微处理器和片上系统的发展历程

--5.2 微处理器和片上系统的发展历程

-5.3 微处理器分类

--5.3 微处理器分类

-5.4 微处理器和片上系统举例

--5.4 微处理器和片上系统举例

-5.5 微处理器和片上系统硬件结构

--5.5 微处理器和片上系统硬件结构

-5.6 外围接口和设备

--5.6.1 外围接口和设备简介

--5.6.2 串行接口UART

-- 5.6.3 串行总线SPI

--5.6.4 串行总线 I2C

--5.6.5 串行总线USB

--5.6.6 网络接口CAN

--5.6.7 无线网络接口蓝牙

-5.7 嵌入式软件开发方法

--5.7 嵌入式软件开发方法

-5.8 嵌入式操作系统

-- 5.8.1 嵌入式操作系统

--5.8.2 嵌入式操作系统

--5.8.3 嵌入式操作系统

-5.9 外围设备应用程序开发简介

--5.9 外围设备应用程序开发简介

-第五章 作业

-第五章 讨论题

第六章 TM4C123 SoC及其系统设计

-6.1 TM4C123 简介

--6.1 TM4C123 SoC简介

-6.2 TM4C123 实验板

--6.2 TM4C123 实验板

-6.3 TM4C123 软件开发

--6.3 TM4C123 软件开发

-6.4 TM4C123 实验举例

--6.4 TM4C123实验举例

-第六章 作业

-第六章 阅读资料

-第六章 讨论题

第七章 PSoC及其系统设计

-7.1 PSoC简介

--7.1 PSoC简介

-7.2 PSoC实验板

--7.2 PSoC实验板

-7.3 PSoC软件开发

--7.3 PSoC软件开发

-7.4 PSoC实验举例

--7.4 PSoC实验举例

-第七章 作业

-第7章 阅读资料

-第七章 讨论题

第八章 FPGA与数字系统设计

-8.1 FPGA简介

--8.1 FPGA简介

-8.2 FPGA的发展趋势

--8.2 FPGA的发展趋势

-8.3 FPGA的特点

--8.3 FPGA的特点

-8.4 FPGA的结构

--8.4 FPGA的结构

-8.5 FPGA结构举例

--8.5 FPGA结构举例

-8.6 FPGA设计工具和方法

--8.6 FPGA设计工具和方法

-8.7 QuartusⅡ集成开发环境

--8.7 QuartusⅡ集成开发环境

-8.8 DE2-115实验平台简介

--8.8 DE2-115实验平台简介

-8.9 Verilog硬件设计语言

-- 8.9.1 Verilog简介

--8.9.2 Verilog语法

--8.9.3 Verilog设计方法

--8.9.4 Verilog设计举例(1)

--8.9.5 Verilog设计举例(2)

--8.9.6 Verilog设计举例(3)

--8.9.7 Verilog设计举例(4)

-- 8.9.8 设计仿真

-8.10 数字电路设计与仿真举例

--8.10 数字电路设计与仿真举例

-第八章 作业

-第八章 阅读资料

-第八章 讨论题

第九章 SOPC系统设计

-9.1 SOPC简介

--9.1 SOPC简介

-9.2 Nios II 微处理器简介

--9.2 Nios II 微处理器简介

-9.3 Avalone总线简介

--9.3 Avalone总线简介

-9.4 SOPC设计方法简介

--9.4 SOPC设计方法简介

-9.5 SOPC设计举例

-- 9.5.1 设计内容

--9.5.2 实验操作(1)

-- 9.5.3 实验操作(2)

-9.6 Nios II 软件设计

--9.6 Nios II 软件设计

-第九章 作业

-第九章 讨论题

第十章 SoC实验与设备

-10.1 实验内容与要求

--10.1 实验内容与要求.

-10.2 实验设备与器材

--10.2 实验设备与器材

-10.3 注意事项与调试方法

--10.3 注意事项与调试方法

-10.4 实验结果展示

--10.4 实验结果展示

--学生课内作品展示-音乐播放器

--学生课内作品展示-螃蟹机器人

--学生课内作品展示-手势识别跟踪

--学生课内作品展示-倒立摆

--学生课外作品展示-无线触摸输入设备

--学生课内作品展示-数字手写体识别

-第十章 作业

-第十章 讨论题

期末考试

-期末考试

--期末考试

8.9.6 Verilog设计举例(3)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。