当前课程知识点:EDA技术与应用 >  第三章 EDA开发平台——QuartusII应用 >  3.8 宏功能模块的使用 >  3.8.2 宏功能模块的使用 教学视频

返回《EDA技术与应用》慕课在线视频课程列表

3.8.2 宏功能模块的使用 教学视频在线视频

下一节:3.8.4 宏功能模块的使用 讨论

返回《EDA技术与应用》慕课在线视频列表

3.8.2 宏功能模块的使用 教学视频课程教案、知识点、字幕

同学们,大家好

在前几讲中

我们利用基本门电路

设计实现了1位全加器

同时利用层次化设计的方法

实现了4位全加器

其实,对于全加器这类常用的器件

FPGA的开发人员

已经积累了许多优秀的设计成果

Altera公司针对不同的器件结构

对其进行设计优化

使之成为用户可直接使用的资源

以便加快设计进度

提高资源利用率

这类模块统称为宏功能模块

那么,本讲就对宏功能模块的使用

做具体的分析

宏功能模块是在EDA设计中

由可编程逻辑器件厂商提供的

可作为一个元件被直接调用的

逻辑复杂的功能模块

对于初学者而言

最常用的宏功能模块

是LPM(可参数化模块)

该模块以图形

或硬件描述语言模块的形式存在

选择适当模块,并设定适当的参数

就能满足设计需要

QUARTUS Ⅱ软件中自带的宏模块

主要分为4类

第一类是算术组件

主要包括:累加器、加法器

乘法器和LPM算术函数

第二类是门电路

主要包括多路复用器和LPM门函数

第三类是I/O组件

主要包括时钟数据恢复、锁相环等

第四类是存储组件

主要包括存储器、移位寄存器宏模块

和LPM存储器函数

下面我们以调用可参数化加法器宏模块

来实现一个8位全加器为例

简单介绍一下宏功能模块的使用

设计开始前

需要新建一个工程“add8”

同时,在工程下新建一个

与工程命名相同的原理图文件

准备工作完成之后

开始宏功能模块的调用

点击工具栏中的“符号工具”按钮

在弹出的对话框中选择宏功能库下的

算术组件中的“可参数化加法/减法器”

然后点击“确定”

进入“宏模块向导插件管理器”

依据向导提示进行相关设置

当前页面需要完成两项工作

第一项是选择想要创建的输出文件类型

可根据需要自行选择语言类型

由于本门课程我们讲解的是VHDL语言

所以这里便选择VHDL

第二项是确定输出文件的名称

这里将其修改为的“add”

然后点击下一步

第三页是选择数据输入的位数和器件模式

由于我们设计的是8位全加器

因此,两个加数A和B的位数选择8位

器件类型选择“仅创建加法器”

然后点击下一步

第四页需要完成两步工作

第一步是确定两个加数的类型

这里选择均为变量

第二步是选择加法器的类型

这里选择“无符号”

然后点击下一步

第五页是选择是否添加一些附加端子

由于设计的是全加器,需要考虑进位

所以选择创建进位输入端和进位输出端

然后点击下一步

第六步是选择是否需要流水线功能

在EDA设计中使用流水线

会提高数据处理速度

但同时也增加了功耗和面积

所以可以根据具体的设计来进行选择

这里我们选择不使用

然后点击下一步

第七页是对仿真库和时间资源评估的介绍

这里直接点击下一步即可

最后一页是选择该模块配置完成后

将要生成的各种文件

每一个文件名的右侧都附有简单的说明

大家根据需要选择即可

这里我们直接点击“完成”

结束模块的设置

此时创建的8位全加器宏模块

便可添加到原理图中了

所有创建的宏模块都添加到了符号库中

我们点击“符号工具”按钮

在工程文件夹下可看到创建的宏模块

接下来为模块添加输入、输出端口

使之成为一个完整电路

这里直接将

已经设计好的完整电路复制过来

A、B为8位加数输入端

Cin为来自低位的进位输入端

S为加法运算后的8为本位和输出端

Cout为向高位的进位输出端

之后,只需完成编译仿真和编程下载

便可完成利用宏模块的调用

实现8位全加器的设计了

利用宏功能模块

极大程度上缩短了数字系统的设计周期

同时提高了资源的利用率

因此在实际工程中应用非常广泛

希望通过本讲的学习

大家能够对宏功能模块的使用方法有所理解

同学们,利用QuartusⅡ软件

来进行数字系统设计与实现的相关内容

到本讲就基本结束了

在下一章中

将会对硬件描述语言VHDL

做具体的讲解

同学们,再见

EDA技术与应用课程列表:

第一章 EDA技术概述

-1.1 EDA技术概述

--1.1.1 EDA技术概述 导学

--1.1.2 EDA技术概述 教学视频

--1.1.3 EDA技术概述 单元测验

--1.1.4 EDA技术概述 讨论

第二章 可编程逻辑器件概述

-2.1 可编程逻辑器件(PLD)概述

--2.1.1 可编程逻辑器件 导学

--2.1.2 可编程逻辑器件概述 教学视频

--2.1.3 可编程逻辑器件概述 单元测验

--2.1.4 可编程逻辑器件概述 讨论

-2.2 CPLD的结构和原理

--2.2.1 CPLD结构和原理 导学

--2.2.2 CPLD的结构和原理 教学视频

--2.2.3 CPLD的结构和原理 单元测验

--2.2.4 CPLD的结构和原理 讨论

-2.3 FPGA的结构和原理

--2.3.1 FPGA的结构和原理 导学

--2.3.2 FPGA的结构和原理 教学视频

--2.3.3 FPGA的结构和原理 单元测验

--2.3.4 FPGA的结构和原理 讨论

-2.4 FPGA和CPLD的选用

--2.4.1 FPGA和CPLD的选用 导学

--2.4.2 FPGA和CPLD的选用 教学视频

--2.4.3 FPGA和CPLD的选用 单元测验

--2.4.4 FPGA和CPLD的选用 讨论

-2.5 FPGA与CPLD的编程和配置

--2.5.1 FPGA与CPLD的编程与配置 导学

--2.5.2 FPGA与CPLD的编程与配置 教学视频

--2.5.3 FPGA与CPLD的编程与配置 单元测验

--2.5.4 FPGA与CPLD的编程与配置 讨论

第三章 EDA开发平台——QuartusII应用

-3.1 QuartusII概述

--3.1.1 Quartus Ⅱ概述 导学

--3.1.2 Quartus Ⅱ概述 教学视频

--3.1.3 Quartus Ⅱ概述 单元测验

--3.1.4 Quartus Ⅱ概述 讨论

-3.2 新建工程

--3.2.1 新建工程 导学

--3.2.2 新建工程 教学视频

--3.2.3 新建工程 单元测验

-3.3 设计输入

--3.3.1 设计输入 导学

--3.3.2 设计输入 教学视频

--3.3.3 设计输入 单元测验

--3.3.4 设计输入 讨论

-3.4 设计编译

--3.4.1 设计编译 导学

--3.4.2 设计编译 教学视频

--3.4.3 设计编译 单元测验

--3.4.4 设计编译 讨论

-3.5 仿真验证

--3.5.1 仿真验证 导学

--3.5.2 仿真验证 教学视频

--3.5.3 仿真验证 单元测验

--3.5.4 仿真验证 讨论

-3.6 器件编程

--3.6.1 器件编程 导学

--3.6.2 器件编程1 教学视频

--3.6.3 器件编程2 教学视频

--3.6.4 器件编程 单元测验

--3.6.5 器件编程 讨论

-3.7层次化设计

--3.7.1 层次化设计 导学

--3.7.2 层次化设计 教学视频

--3.7.3 层次化设计 单元测验

--3.7.4 层次化设计 讨论

-3.8 宏功能模块的使用

--3.8.1 宏功能模块的使用 导学

--3.8.2 宏功能模块的使用 教学视频

--3.8.3 宏功能模块的使用 单元测验

--3.8.4 宏功能模块的使用 讨论

第四章 VHDL语言概述

-4.1 VHDL语言概述

--4.1.1 VHDL概述 导学

--4.1.2 VHDL语言概述 教学视频

--4.1.3 VHDL语言概述 单元测验

--4.1.4 VHDL概述 讨论

-4.2 VHDL代码的结构

--4.2.1 VHDL代码的结构 导学

--4.2.2 VHDL代码的结构 教学视频

--4.2.3 VHDL代码的结构 单元测验

--4.2.4 VHDL代码的结构 讨论

-4.3 库和库声明

--4.3.1 库和库声明 导学

--4.3.2 库和库声明 教学视频

--4.3.3 库和库声明 单元测验

--4.3.4库和库声明 讨论

-4.4 实体说明

--4.4.1 实体说明 导学

--4.4.2 实体说明 教学视频

--4.4.3 实体说明 单元测验

--4.4.4 实体说明 讨论

-4.5 结构体

--4.5.1 结构体 导学

--4.5.2 结构体 教学视频

--4.5.3 结构体 单元测验

--4.5.3 结构体 讨论

-4.6 VHDL预定义数据类型

--4.6.1 VHDL预定义数据类型 导学

--4.6.2 VHDL预定义数据类型 教学视频

--4.6.3 VHDL预定义数据类型 单元测验

--4.6.4 VHDL预定义数据类型 讨论

-4.7 常量、变量和信号

--4.7.1 常量、变量和信号 导学

--4.7.2 常量、变量和信号 教学视频

--4.7.3 常量、变量和信号 单元测验

--4.7.4 常量、变量和信号 讨论

-4.8 运算操作符和属性

--4.8.1 运算操作符和属性 导学

--4.8.2 运算操作符和属性 教学视频

--4.8.3 运算操作符和属性 单元测验

--4.8.4 运算操作符和属性 讨论

-4.9 IF语句和WAIT语句

--4.9.1 IF语句和WAIT语句 导学

--4.9.2 IF语句和WAIT语句 教学视频

--4.9.3 IF语句和WAIT语句 单元测验

--4.9.4 IF语句和WAIT语句 讨论

-4.10 CASE语句

--4.10.1 CASE语句 导学

--4.10.2 CASE语句 教学视频

--4.10.3 CASE语句 单元测验

--4.10.4 CASE语句 讨论

-4.11 LOOP循环语句

--4.11.1 LOOP循环语句 导学

--4.11.2 LOOP循环语句 教学视频

--4.11.3 LOOP循环语句 单元测验

--4.11.4 LOOP循环语句 讨论

-4.12 进程

--4.12.1 进程 导学

--4.12.2 进程 教学视频

--4.12.3 进程 单元测验

--4.12.4 进程 讨论

-4.13 条件信号赋值语句

--4.13.1 条件信号赋值语句 导学

--4.13.2 条件信号赋值语句 教学视频

--4.13.3 条件信号赋值语句 单元测验

-4.14 选择信号赋值语句

--4.14.1 选择信号赋值语句 导学

--4.14.2 选择信号赋值语句 教学视频

--4.14.3 选择信号赋值语句 单元测验

-4.15 元件例化语句

--4.15.1 元件例化语句 导学

--4.15.2 元件例化语句 教学视频

--4.15.3 元件例化语句 单元测验

--4.15.4 元件例化语句 讨论

-4.16 VHDL模块化设计

--4.16.1 VHDL模块化设计

--4.16.2 VHDL模块化设计 教学视频

--4.16.3 VHDL模块化设计 单元测验

--4.16.4 VHDL模块化设计 讨论

第五章 设计方法概述

-5.1 设计方法概述

--5.1.1 设计方法概述 导学

--5.1.2 设计方法概述 教学视频

--5.1.3 设计方法概述 单元测验

--5.1.4 设计方法概述 讨论

-5.2 EDA综合设计案例(1)— 数字钟的设计

--5.2.1 EDA综合设计案例1 导学

--5.2.2 EDA综合设计设计案例1— 数字钟的设计 教学视频

--5.2.3 EDA综合设计案例1 单元测验

--5.2.4 EDA综合设计案例1 讨论

-5.3 EDA综合设计案例(2)—16×16点阵控制器设计

--5.3.1 EDA综合设计案例2 导学

--5.3.2 EDA综合设计案例2—16×16点阵控制器设计 教学视频

--5.3.3 EDA综合设计案例2 单元测验

--5.3.4 EDA综合设计案例2 讨论

思政教育

-国产EDA技术如何突破?

3.8.2 宏功能模块的使用 教学视频笔记与讨论

也许你还感兴趣的课程:

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