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

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

8.9.5 Verilog设计举例(2)在线视频

下一节:8.9.6 Verilog设计举例(3)

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

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

接下来讲第八章第九节

Verilog硬件描述语言

第五小节

Verilog设计举例(2)

下面我们来看行为描述

怎样进行行为描述呢

行为描述

是对电路它的功能进行描述

它不关心电路内部的结构

也不关心输入到输出的数据流

它关心的是电路整体的功能

它采用的是一个过程赋值语句

always来描述

always是一个结构化的声明

在这个结构化的声明中

可以采用与C语言类似的控制结构

例如if else

和case语句

所谓always是说

它总是等待输入的变化

然后再去执行它的结构体

下面举例组合逻辑设计

前面我们介绍过

组合逻辑设计的时候

可以用always语句

那么这时候

它的括号中是变量

也就是所有的输入变量

它总是等待输入变量的变化

然后再执行它的结构体

在执行结构体的时候

是顺序执行的

下面我们看具体的例子

还是以这个二选一多路选择器为例

这时候我们先定义这个模块

它的名字

输入和输出变量

在这要注意的是

它的两个输出变量

out和outbar

要定义成寄存器型

然后我们用always模块

来描述它的功能

这时候always模块中

它的括号中的变量

是a b sel三个输入变量

只有等这三个输入变量中间

某一个或者是几个发生变化的时候

它才执行它的结构体

那么结构体中

是描述这个多路选择器的功能

if sel等于1

那么out就等于a

否则的话out就等于b

最后是outbar等于~ out

那这样它就可以把这个

多路选择器的功能描述出来了

非常简单

在这要注意的是

它的输出变量必须定义为reg型

也就是out和outbar

在always模块中应用的时候

要把它定义为reg型

第二个要注意的就是

它的声明的语句是顺序执行的

所以它的这个顺序是有关的

另外它的赋值语句

采用的是等号

这种赋值语句我们称它为

阻塞赋值

所谓阻塞赋值就是说

要等到当前的语句执行完了以后

才能够执行下一个语句

也就是执行当前语句的时候

是阻塞下面一个语句的执行的

在行为描述的过程中

过程赋值语句和连续赋值语句

是可以共存的

也就是在同一个模块中

可以用这两种语句

例如还是这个例子

我们在描述out

和a b sel的关系的时候

用always语句

而描述out和outbar关系的时候

用连续赋值语句assign

接下来看时序逻辑的设计

前面我们提到过

时序逻辑设计的时候

也可以用always语句

只不过这时候

它的括号中的变量

是一个变量的上升沿或者下降沿

例如这个时钟的上升沿

然后它内部的结构体是同步执行的

我们以一个D触发器为例

它有三个输入

一个是时钟CLK

一个是输入D

还有一个就是清零信号clearb

然后有一个输出Q

首先我们定义这个D触发器的模块

然后它的这个输入和输出变量

列举在括号中

然后接下来描述它的输入input

和输出output变量

另外它的输出变量Q

也要定义为reg型

接下来用always语句来描述

输入和输出之间的功能关系

在它的括号中

列举了是clock的上升沿

那也就是说

只有当clock上升沿的时候

才执行这个always里头的结构体

那么结构体是if clearb等于0

那么Q就等于0

否则Q就等于D

这样就描述了

这个D触发器它的功能

在这要注意的是

它采用的是一种叫

非阻塞赋值的语句

也就是说在always模块中

所有的语句是同时执行的

就是在clock上升沿的时候

同步执行

所以它采用的赋值的等号

是在等号的左边

再加了一个箭头

代表非阻塞的赋值语句

这个是跟前面的阻塞赋值语句

不一样的地方

因此我们说

用非阻塞的赋值语句

可以描述时序电路

而用阻塞语句来描述

组合逻辑电路

感谢您的观看

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

课程简介

-课程简介

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

-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.5 Verilog设计举例(2)笔记与讨论

也许你还感兴趣的课程:

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