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

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

8.9.7 Verilog设计举例(4)在线视频

下一节: 8.9.8 设计仿真

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

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

下面讲第八章第九节

Verilog硬件描述语言

第七小节Verilog设计举例(4)

下面我们来举一个例子说明

顶层声明和模块互连

那么我们之前说过

对于一个数字电路

它整体可以看作是一个模块

那么这个模块呢

就是顶层模块

然后它内部又可以根据功能的不同

划分为子模块

在顶层模块中可以实例化子模块

然后实现它们之间的互连

下面我们举一个例子

用一个四位的全加器来说明

四位的全加器

它其实可以用四个一位的全加器互连组成

所以下面我们先看一位的全加器

如何来设计

一位的全加器它由两个输入a b

一个输出sum

还有一个进位的输入cin

和一个进位的输出cout

那我们下面来设计这个子模块

定义一个一位的全加器

然后它有五个变量

a b cin sum和cout

这五个变量呢

都是一位的变量

其中输出变量sum和cout

又同时把它们定义为reg型的变量

然后我们通过一个always语句

来实现加法的功能

这就是一个一位的全加器

接下来看这个四位的全加器

那么它同样也有五个变量

a b cin sum和cout

其中a b和sum是四位的变量

而cin cout是一位的变量

另外也定义了三个wire型的变量

c1 c2和c3

接下来就实例化四个一位的全加器

FA0 FA1 FA2和FA3

在它们的括号中分别传入

对应的端口变量

那这四个一位的全加器

实际上是通过三个wire型的变量

连接在一起的

那于是对于这个四位的全加器

那么它是一个顶层的模块

在它的内部实例化了四个子模块

那这样的话呢

就可以实现一个四位的全加器

我们在实例化子模块的时候

那这时候呢

在它的括号中要传入对应的端口变量

传入变量有两种方式

第一种方式就是按位置相关来传入变量

也就是上面这种方式

也就是我们刚才用的那种方式

这时候传入端口变量的时候

是按照它原来定义的端口变量的位置

顺序传入的

这时候它们的位置不能改变

还有一种方式呢

就是名字相关的变量传入方式

像下面这个传入的方式

这时候在原来的端口变量前面加一个点

然后在它后面的括号中写入关联的

变量的名字

然后在写入变量的时候

它们的位置的顺序可以变化

例如

a变量原来是第一个变量

这时候用这种名字相关的传入方式

就可以把a变量放在第二个

或者是其它的位置

所以位置是没有关系的

这是两种不同的变量传入方式

都可以使用

接下来举一个整数运算的例子

我们以一个32位的

带进位的加法器来说明

首先我们设计一个不带进位的

32位的加法器

我们来看一下

这时候它有三个变量

a b和sum

a b是输入变量

sum是输出变量

那这三个变量都是32位的

用一个assign赋值语句

就可以实现32位的加法

再来看一个

带进位的32位的加法器的实现

这时候它除了a b和sum三个变量以外

还增加了cin和cout

这个进位输入和进位输出的变量

a b sum还是32位的变量

cin和cout是一位的变量

这时候我们也用一个

assign赋值语句

就可以实现带进位的32位的加法的运算

这时候在用assign赋值语句的时候

在等号的左边我们用了一个

位拼接操作符

也就是这个大括号操作符

这时候把sum和cout拼接成一个新的变量

这个大括号位拼接操作符呢

可以把一个变量中的某些位

拼接为一个新的变量

或者是把不同的变量之间的某些位

拼接为一个不同的变量

那下面我们再举一个例子

例如在这个例子中

它把a的0到7位

和a的8到15拉

拼接为一个16位的变量

同时也把b的8到15位

和b的0到7位

拼接为一个新的变量

这就是这个位拼接操作符它的应用

感谢您的观看

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

课程简介

-课程简介

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

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

也许你还感兴趣的课程:

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