资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
57基于 Quartus II 的 CPLD开发实训手册(适用于电信系 11 级数电课程设计)编者:李楠2012-958Quartus II 软件使用简介Quartus II 是 Altera 公司提供的 FPGACPLD 开发集成环境, Altera 是世界上最大可编程逻辑器件供应商之一。Quartus II 界面友好、使用便捷,被誉为业界最易用易学的 EDA 软件。其主要功能为数字电子系统的设计输入、编辑、仿真、下载等。该软件支持原理图输入设计和 VHDL 语言(以及其它硬件描述语言)输入设计和原理图与 HDL 混合输入设计。硬件描述语言(HDL-Hardware Description Language)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传 统的门级描述方式相比,它更适合大规模系统的设计。VHDL(Very High Speed IC Hardware Description Language)以下将详细介绍原理图输入设计方法,但读者应该更多地关注设计流程,因为除了最初的图形编辑输入外,其它处理流程都与文本(如 VHDL 文件)输入设计完全一致。步骤 1:建立工作库文件夹步骤 2:输入设计项目原理图或 VHDL 源程序步骤 3:存盘,注意原理图或 VHDL 文件取名步骤 4:创建工程并将设计文件加入工程中步骤 5:选择目标器件步骤 6:启动编译步骤 7:建立仿真波形文件步骤 8:仿真测试和分析步骤 9:选定工作模式、引脚锁定并编译步骤 10:编程下载步骤 11:硬件测试59实验一 原理图方式设计二进制全加器一、设计目的1、通过设计一个二进制全加器,掌握组合逻辑电路设计的方法。2、初步了解 QuartusII 采用原理图方式进行设计的流程。3、初步掌握 FPGA 开发的流程以及基本的设计方法、基本的仿真分析方法。二、设计原理三、设计内容四、设计步骤1 位全加器设计向导1 为本项设计建立文件夹任何一项设计都是一项工程(Project) ,都必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被 EDA 软件默认为工作库(Work Library) 。一般不同的设计项目最好放在不同的文件夹中,注意,一个设计项目可以包含多个设计文件,如频率计。打开 Quartus ,选菜单 FileNew,在弹出的 New 对话框中选择 Device Design Files 页的原理图文件编辑输入项 Block Diagram/Schematic File, 单击 OK 按钮后打开原理图编辑窗口如图所示。60图 原理图编辑窗口2 输入设计项目和存盘在双击原理图的任一空白的处,或单击鼠标右键会弹出一个元件对话框。61图 元 件 输 入 对 话 框单 击 按 钮 “”, 找 到 基 本 元 件 的 路 径 , 选 种 需 要 的 元 件 , 单 击 “打 开 ”按 钮 , 该 元 件即 显 示 在 窗 口 中 , 然 后 单 击 Symbol 窗 口 的 OK 按 钮 , 即 可 将 元 件 调 入 原 理 图 编 辑 窗 口 中 , 按照 此 方 法 把 所 要 的 元 件 全 部 调 入 原 理 图 编 辑 窗 口 中 并 连 接 好 , 连 接 好 的 电 路 如 图 所 示 ( 图 中有 and2、 not、 xnor) 。图 连 接 好 的 一 位 全 加 器 电 路连 接 好 电 路 以 后 然 后 分 别 在 input 和 ouput 的 PIN NAME 上 双 击 , 用 键 盘 输 入 各 引 脚 名( a、 b、 co、 so) , 其 窗 口 如 图 所 示 。62图 改 变 引 脚 名选 择 菜 单 File Save As 按 刚 才 为 自 己 工 程 建 立 好 的 目 录 F:adeera,将 已 设 计 好 的 原 理图 文 件 取 名 为 b_adder.bdf, 并 存 盘 在 此 文 件 夹 内 。3 将 设 计 项 目 设 计 成 可 调 用 的 元 件为 了 构 成 全 加 器 的 顶 成 设 计 , 必 须 将 以 上 设 计 的 半 加 器 b_adder.bdf 设 置 成 可 调 用 的元 件 , 方 法 是 选 择 菜 单 File Create/Update Symbol Files for Current File 项 , 即 可 将当 前 文 件 b_adder.bdf 变 成 一 个 元 件 符 号 存 盘 , 以 待 在 高 层 设 计 中 调 用 。使 用 相 同 的 方 法 也 可 以 将 VHDL 文 本 文 件 变 成 原 理 图 中 的 一 个 元 件 符 号 , 实 现 VHDL 文 本设 计 与 原 理 图 的 混 合 输 入 设 计 方 法 。 转 换 中 需 要 注 意 以 下 几 点 : 转 换 好 的 文 件 必 须 存 在 当 前 工 程 文 件 夹 中 。 按 这 种 方 式 File Create/Update Symbol Files for Current File 转 换 , 只 能 针 对被 打 开 的 当 前 文 件 。4 设 计 全 加 器 顶 层 文 件为 了 建 立 全 加 器 的 顶 层 文 件 , 必 须 打 开 一 个 原 理 图 编 辑 窗 口 , 方 法 同 前 , 即 再 次 选 择菜 单 File New, Block Diagram/Schematic File。在 弹 出 的 图 中 Project 下 调 出 b_adder 文 件 , 同 时 按 照 图 连 接 好 全 加 器 。 以 q_adder 命名 将 此 全 加 器 设 计 存 在 同 一 路 径 F:addera 文 件 夹 中 。 图 是 已 连 接 好 了 的 全 加 器 电 路 。63图 半 加 器 调 用 窗 口连 线 将 鼠 标 入 到 元 件 的 引 脚 上 , 鼠 标 会 变 成 “十 ”字 形 状 。 按 下 左 键 , 拖 动 鼠 标 , 就 会有 导 线 引 出 。 根 据 我 们 要 实 现 的 逻 辑 , 连 好 各 元 件 的 引 脚若 将 一 根 细 线 变 成 以 粗 线 显 示 的 总 线 , 可 以 先 将 其 点 击 使 其 变 成 兰 色 , 把 它 拖 长 , 在拖 长 处 变 成 了 粗 线 , 即 总 线 , 然 后 双 击 该 线 即 可 在 此 处 加 信 号 标 号 , 标 有 相 同 标 号 的 线 段可 视 作 连 接 线 段 , 但 可 不 必 直 接 连 接 。64图形编辑器图 是 已 连 接 好 了 的 全 加 器 电 路 。图 已 连 接 好 的 全 加 器 电 路5 创 建 工 程1)选择 File 下拉菜单中的 New Project Wizard,新建一个工程。如图所示。65新建工程向导2)点击图中的 next 进入工作目录。新建工程对话框663)在 What is the working directory for this project 栏目中设定新项目所使用的路径;在 What is the name of this project 栏目中输入新项目的名字: q_adder,点击 Next 按钮。图 q_adder 工程设计窗口4)设计中需要包含的其它设计文件,在此对话框中不做任何修改,直接点击 next。图 工程文件加入窗口6、对设计文件进行编译在 Processing 菜单下,点击 Start Compilation 命令,开始编译我们的项目。编译结束后,点击 确定 按钮。677 仿真 接下来应该测试设计项目的正确性,即逻辑仿真。1)创建一个波形文件,在 File 下拉菜单中选择 New,选取对话框的 Other File 标签下的 VectorWaveform File,点击 OK,打开一个空的波形编辑器窗口。68建立一个仿真波形文件2)加入输入、输出端口,在波形编辑器窗口的左边端口名列表区双击,在弹出的菜单中选择 Node Finder 按钮。693)出现 Node Finder 界面后,在 Filer 列表中选择 Pins:all,点击 List,在 Node Finder窗口出现所有的信号名称,点击中间的“ ”按钮则 Selected Nodes 窗口下方出现被选择的端口名称,点击 OK。4)制定输入端口的逻辑电平变化,最后保存该仿真波形文件,文件名与工程名相同。70波形编辑器工具栏5)点击 EDITEND TIME,在弹出的窗口中的“time”窗口中将默认值 1.0 改为 100.0单位为“us” ,点击“OK” ,完成设置。6)点击右上角的蓝色箭头开始波形仿真71图 全加器的仿真结果72实验二 原理图方式设计频率计频率计设计的基本步骤与上节介绍的完全一样,只是需要考虑从哪一个电路模块开始。这里首先设计测频用含使能控制的两位十进制计数器。1 计数器电路设计 (1)含有时钟使能的 2 位十进制计数器电路设计原理如图 2. 1 所示,频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器。为此这里拟用一个双十进制计数 74390 和其它一些辅助元件来完成。图中 74390 连接成两个独立的十进制计数器,待测频率信号 clk 通过一个与门进入 74390 的第 1 个计数器的时钟输入端 1CLKA,与门的另一端由计数使能信号 enb 控制:当 enb = 1 时允许计数;enb = 0 时禁止计数。计数器 1 到 4 位输出 q3、q2、q1和 q0并成总线表达方式即 q3.0,由图2.4.12 左下角的 OUTPUT 输出端口向外输出计数值,同时由一个 4 输入与门和两个反相器构成进位信号进入第 2 个计数器的时钟输入端 2CLKA。 第 2 个计数器的 4 位计数输出是q7、q6、q5和 q4,总线输出信号是 q7.4。这两个计数器的总的进位信号,即可用于扩展输出的进位信号由一个 6 输入与门和两个反相器产生,由 cout 输出。clr是计数器的清零信号。(2)在原理图的绘制过程中应特别注意图形设计规划中信号标号和总线的表达方式(粗线条表示总线),对于以标号方式进行总线连接,可以如图 2.1 所示。例如一根 8位的总线 bus17.0欲于另三根分别为 1、3、4 个位宽的连线相接,它们的标号可分别为 bus10, bus13.0,bus17.4。图 2.1 含有时钟使能的 2 位十进制计数器(3)计数器电路实现,在此首先从实现图 2. 1 所示的电路的绘制和测试开始。于是可以在 Librariesothersmaxplus2 中可看到绝大多数 74 系列的元件。这些器件的73详细功能及其它们的逻辑真值表可以通过查阅“Help”选项来获得。为了查阅 74390 的功能,在 Help 菜单中选 Old-Style Macrofunctions 项,然后选 Counters 项。在图中分别键入 74390、AND4、AND2、NOT、INPUT、VCC 和 OUTPUT 元件名,调出这些元件并按图 2. 1 连接好电路。注意电路中 VCC 在 LibrariesprimitivesotherVCC 中调出。若将一根细线变成以粗线显示的总线,可以先将其点击使其变成兰色,把它拖长,在拖长处变成了粗线,即总线,然后双击该线即可在此处加信号标号,标有相同标号的线段可视作连接线段,但可不必直接连接。对于以标号方式进行总线连接可以如图 2. 1
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号