当前课程知识点:现代电子系统设计 > 第八章 FPGA与数字系统设计 > 8.9 Verilog硬件设计语言 > 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.2 现代电子系统举例
-1.3 现代电子系统的组成
-1.4 现代电子系统设计方法
-第一章 作业
-2.1 传感器定义
-2.2 传感器的分类和性能指标
-2.3 常用传感器介绍
-2.4 常用执行器介绍
-第二章 作业
-3.1 模拟信号处理简介
-3.2 信号放大和隔离电路
-3.3 滤波电路
--3.3 滤波电路
-3.4 运算电路(一)
-3.5 运算电路(二)
-3.6 电压比较器
-3.7 功率放大电路
-3.8 模-数转换器
-3.9 数-模转换器
-第三章 作业
-4.1 直流电源简介
-4.2 线性稳压电源
-4.3 开关稳压电源
-第四章 作业
-5.1 微处理器简介
-5.2 微处理器和片上系统的发展历程
-5.3 微处理器分类
-5.4 微处理器和片上系统举例
-5.5 微处理器和片上系统硬件结构
-5.6 外围接口和设备
-5.7 嵌入式软件开发方法
-5.8 嵌入式操作系统
-5.9 外围设备应用程序开发简介
-第五章 作业
-6.1 TM4C123 简介
-6.2 TM4C123 实验板
-6.3 TM4C123 软件开发
-6.4 TM4C123 实验举例
-第六章 作业
-7.1 PSoC简介
-7.2 PSoC实验板
-7.3 PSoC软件开发
-7.4 PSoC实验举例
-第七章 作业
-8.1 FPGA简介
-8.2 FPGA的发展趋势
-8.3 FPGA的特点
-8.4 FPGA的结构
-8.5 FPGA结构举例
-8.6 FPGA设计工具和方法
-8.7 QuartusⅡ集成开发环境
-8.8 DE2-115实验平台简介
-8.9 Verilog硬件设计语言
-- 8.9.8 设计仿真
-8.10 数字电路设计与仿真举例
-第八章 作业
-9.1 SOPC简介
-9.2 Nios II 微处理器简介
-9.3 Avalone总线简介
-9.4 SOPC设计方法简介
-9.5 SOPC设计举例
-- 9.5.1 设计内容
-9.6 Nios II 软件设计
-第九章 作业
-10.1 实验内容与要求
-10.2 实验设备与器材
-10.3 注意事项与调试方法
-10.4 实验结果展示
-第十章 作业
-期末考试
--期末考试