电路的响应是否正确。图中的窄脉冲是竞争冒险所致。 图2.3.172输入与非门仿真波形图 5.生成符号文件 通过波形仿真可以确定程序功能是否正确后,就可以把该程序生成符号文件,以 便在后面的程序中调用。具体操作是:打开File”菜单,选择Creat/Updata莱单项,右 侧弹出子菜单再选择“Creat Symbol files for Current file'”,把当前文件创建成符号文件, 状态窗口有进度信息显示。如图23.18。 生成的符号文件可以通过打开原理图窗口调入,进行验证,如图2.3.19为生成的 2输入与非门模块。 w出 nand2_lab1 。 图2.3.18将当前文件创建成符号 2.3.19原理图文件中调用符号 6.编程下载 器件编程就是编译和波形仿真正确后,QuartusII将生成的如.pof和sof等编程数 据文件,通过下载电缆载到预先选择的FPGA芯片中。下载成功后,FPGA芯片就会 执行设计文件描述的功能。 器件编程步骤:编程硬件连接、编程文件的产生、运行编程操作。器件编程操作 成功后,查看FPGA功能与设计文件描述的功能是否一致。 (1)编程硬件连接 在进行编程操作之前,首先将下载电缆的一端与PC机对应的端口进行相连,下 载电缆的另一端与编程器件相连,下载电缆连接好后才能进行编程器的操作。编程电 12
12 电路的响应是否正确。图中的窄脉冲是竞争冒险所致。 图 2.3.17 2 输入与非门仿真波形图 5.生成符号文件 通过波形仿真可以确定程序功能是否正确后,就可以把该程序生成符号文件,以 便在后面的程序中调用。具体操作是:打开“File”菜单,选择 Creat/Updata 菜单项,右 侧弹出子菜单再选择“Creat Symbol files for Current file”,把当前文件创建成符号文件。 状态窗口有进度信息显示。如图 2.3.18。 生成的符号文件可以通过打开原理图窗口调入,进行验证,如图 2.3.19 为生成的 2 输入与非门模块。 图 2.3.18 将当前文件创建成符号 2.3.19 原理图文件中调用符号 6.编程下载 器件编程就是编译和波形仿真正确后,QuartusII 将生成的如.pof 和.sof 等编程数 据文件,通过下载电缆载到预先选择的 FPGA 芯片中。下载成功后,FPGA 芯片就会 执行设计文件描述的功能。 器件编程步骤:编程硬件连接、编程文件的产生、运行编程操作。器件编程操作 成功后,查看 FPGA 功能与设计文件描述的功能是否一致。 (1) 编程硬件连接 在进行编程操作之前,首先将下载电缆的一端与 PC 机对应的端口进行相连,下 载电缆的另一端与编程器件相连,下载电缆连接好后才能进行编程器的操作。编程电
缆不同,与PC机连接的端口就不同。我们的EDA实验室采用的是ByteBlaster下载电 缆,将ByteBlaster电缆一端插入计算机并行口,另一端l0针阴极头插入BTGY-EDA 实验箱的阳极头插座,接通电源。 (2)指定目标器件 如果在建立项目时,没有指定目标器件,可以在Settings对话框Cagegory栏目下 选择Device项,出现如图2.3.21所示界面,指定设计项目使用的目标器件。 m 图2.3.21指定目标器件对话框 在Family下拉列表中选择器件系列:此处选择FLEX10K: 在Available Device区选择具体的目标器件,选择EPF1OK2ORC208-4: 在Show in'Available devices'list中可以选择封装形式、引脚数和速度级别。 (3)管脚分配 选择菜单Assignments\Pins,出现Assignment Editor对话框知图2.3.22所示。由于 设计项目已经进行过编译,因此在节点列表区会自动列出所有信号的名称,在需要锁 定的节点名处,双击引脚锁定区Location,在列出的引脚号中进行选择。例如,选择 节点信号,锁定在75号引脚上。重复此过程,逐个进行引脚锁定 ALTERA 13
13 缆不同,与 PC 机连接的端口就不同。我们的 EDA 实验室采用的是 ByteBlaster 下载电 缆,将 ByteBlaster 电缆一端插入计算机并行口,另一端 10 针阴极头插入 BTGY-EDA 实验箱的阳极头插座,接通电源。 (2)指定目标器件 如果在建立项目时,没有指定目标器件,可以在 Settings 对话框 Cagegory 栏目下 选择 Device 项,出现如图 2.3.21 所示界面,指定设计项目使用的目标器件。 图 2.3.21 指定目标器件对话框 在 Family 下拉列表中选择器件系列;此处选择 FLEX10K; 在 Available Device 区选择具体的目标器件,选择 EPF10K20RC208-4; 在 Show in‘Available devices’ list 中可以选择封装形式、引脚数和速度级别。 (3)管脚分配 选择菜单 Assignments\Pins,出现 Assignment Editor 对话框如图 2.3.22 所示。由于 设计项目已经进行过编译,因此在节点列表区会自动列出所有信号的名称,在需要锁 定的节点名处,双击引脚锁定区 Location,在列出的引脚号中进行选择。例如,选择 a 节点信号,锁定在 75 号引脚上。重复此过程,逐个进行引脚锁定
图2.322管脚分配 使用BTGY-EDA实验箱,根据EDA实验箱的资源情况,输入a,b分配给数据开 关,输出s分配给LED灯。管脚分配如表2.3.1所示: 表231 nand2ab1的管分配 信号名 对应器件名 物理引脚号 a(输入) S1(数据开关) 75 b(输入) S2(数据开关) 74 s(输出) L17(LED灯) 88 选择了器件和分配了管脚后 定要重新运行编译器方能使之生效。 重新编译后的逻辑电路图上出现己分配的管脚号。可作时序仿真再次观察仿真结 果正确与否,然后进行下一步,即器件编程1配置。 (4)编程操作 选择菜单Tools\Programmer或点击工具栏中编程快捷按钮,打开编程窗口如图 2.3.23所示。读者需要根据自己的实验设备情况,进行器件编程的设置。 Smdation Reoot-Simulation Wave eam1.cd Hadwale Selu 0 1选择下载电缆 5进度表显示 图23.23编程下载窗口 硬件选择ByteBlaster下载电缆: 配置模式Mode设置:JTAG模式: 单击Add File.添加配置文件。 单击编程按钮Stat,开始对器件进行编程。编程过程中进度表显示下载进程,信 息窗口显示下载过程中的警告和错误信息。 器件编程结束后,在实验设备上实际查看FPGA芯片作为2输入与非门的工作情 况,验证实验的正确性。 14
14 图 2.3.22 管脚分配 使用 BTGY-EDA 实验箱,根据 EDA 实验箱的资源情况,输入 a,b 分配给数据开 关,输出 s 分配给 LED 灯。管脚分配如表 2.3.1 所示: 表 2.3.1 nand2_lab1 的管脚分配 信号名 对应器件名 物理引脚号 a(输入) S1(数据开关) 75 b(输入) S2(数据开关) 74 s(输出) L17(LED 灯) 88 选择了器件和分配了管脚后,一定要重新运行编译器方能使之生效。 重新编译后的逻辑电路图上出现已分配的管脚号。可作时序仿真再次观察仿真结 果正确与否,然后进行下一步,即器件编程 \ 配置。 (4) 编程操作 选择菜单 Tools\Programmer 或点击工具栏中编程快捷按钮,打开编程窗口如图 2.3.23 所示。读者需要根据自己的实验设备情况,进行器件编程的设置。 图 2.3.23 编程下载窗口 硬件选择 ByteBlaster 下载电缆; 配置模式 Mode 设置:JTAG 模式; 单击 Add File.添加配置文件。 单击编程按钮 Start,开始对器件进行编程。编程过程中进度表显示下载进程,信 息窗口显示下载过程中的警告和错误信息。 器件编程结束后,在实验设备上实际查看 FPGA 芯片作为 2 输入与非门的工作情 况,验证实验的正确性。 3添加配置文 件 4编程按钮 1选择下载电缆 ByteBlaste 0编程按 钮 2选择配置模 式 5进度表显示 下载进程
2.4原理图输入设计方法 原理图是设计人员最为熟悉的电路描述方法,QuartuslI提供了图形编辑器,通过 图形编辑器可以编辑图形和图表模块,画出熟悉的原理图,产生原理图文件(bd)。 原理图文件产生后,仍然需要进行设计编译处理、波形仿真、器件编程,这些操 作与前面介绍的过程基本相同。 为简化原理图的设计过程,QuartuslI建立了常用的符号库,在库中提供了各种逻 辑功能的符号,包括宏功能(Macrofunction)符号和图元(Primitive)等,供设计人 员直接调用。 现通过24进制计数器为例说明原理图输入的设计过程。 例:使用74160(十进制计数器)设计一个模为24的8421BCD码计数器,设计 放d:\text目录下,文件名为count24。 (假设已在d盘创建了text目录。) 2.4.1创律工程文件 利用QuartuslI软件创建工程向导(New Project Wizard)创建一个新工程。 选择工程目录为d:\text”,项目名称为count2.4,其余同上节nand2labl的设计。 2.4.2输入原理图文件 1.建立原理图文件 选择菜单File\New.,在出现的对话框中选择Design Files\Block Diagram\Schematic File,则打开图形编辑器,出现空白的原理图文件,如图24.l所示。 图2.4.1 Quartus原理图编辑器窗口 原理图编辑器窗口左侧和上方有若干工具条按钮,当把鼠标移工具条某个按钮 上,在窗口的下面可看到该工具按钮的功能提示,使用工具条按钮,可方便软件的操 作。 2.编辑原理图文件 编辑逻辑电路图的主要工作有:调用元器件、连接元器件、定义输入输出等。 (1)使用模块符号库调用元器件 在图形编辑器窗口下,选择菜单EditVnsert Symbol.或点击工具栏中模块符号图 15
15 2.4 原理图输入设计方法 原理图是设计人员最为熟悉的电路描述方法,QuartusII 提供了图形编辑器,通过 图形编辑器可以编辑图形和图表模块,画出熟悉的原理图,产生原理图文件(.bdf)。 原理图文件产生后,仍然需要进行设计编译处理、波形仿真、器件编程,这些操 作与前面介绍的过程基本相同。 为简化原理图的设计过程,QuartusII 建立了常用的符号库,在库中提供了各种逻 辑功能的符号,包括宏功能(Macrofunction)符号和图元(Primitive)等,供设计人 员直接调用。 现通过 24 进制计数器为例说明原理图输入的设计过程。 例:使用 74160(十进制计数器)设计一个模为 24 的 8421BCD 码计数器,设计 放 d:\ text 目录下,文件名为 count24 。 (假设已在 d 盘创建了 text 目录。) 2.4.1 创建工程文件 利用 QuartusII 软件创建工程向导(New Project Wizard)创建一个新工程。 选择工程目录为“d:\ text”,项目名称为 count24,其余同上节 nand2_lab1 的设计。 2.4.2 输入原理图文件 1. 建立原理图文件 选择菜单 File\New. , 在 出 现 的 对 话 框 中 选 择 Design Files\Block Diagram\Schematic File,则打开图形编辑器,出现空白的原理图文件,如图 2.4.1 所示。 图 2.4.1 QuartusII 原理图编辑器窗口 原理图编辑器窗口左侧和上方有若干工具条按钮,当把鼠标移工具条某个按钮 上,在窗口的下面可看到该工具按钮的功能提示,使用工具条按钮,可方便软件的操 作。 2. 编辑原理图文件 编辑逻辑电路图的主要工作有:调用元器件、连接元器件、定义输入输出等。 (1)使用模块符号库调用元器件 在图形编辑器窗口下,选择菜单 Edit\Insert Symbol.或点击工具栏中模块符号图
标,也可以直接在编辑器空白处双击鼠标左键,出现Symbol对话框。在对话框下, 可以选择各种逻辑电路符号,方便绘制原理图时使用。 双击others库名,则在Symbol Files区显示该库中的所有符号,移动滚动条,找 到74160后将其选中,或在name文字框中键入74160,单击OK按钮,在图形编辑器 中点击鼠标左键,插入模块符号74160,将它放在合适的位置。如图2.4.2。 图2.42选择符号对话框 双击的primitves库名,在Symbol Files区找到nand2后将其选中,单击OK,这 时窗口出现nand2的符号,将它放在合适的位置,也可以调用自己在上一节创建的模 块符号nand2labl:同方法调用Vcc、gnd等符号。 在调用符号时,如果已经知道符号名,也可直接在Name文字框中键入符号名, 单击OK即可。 Symbol对话框左下角的三个复选框表示输入符号的不同方式:连续输入符号 (Repeat-insert Mode、以图表模块形式输入符号(Insert Symbol As Block)入打开宏模 块导航MegaWizard Plug-In Manager(Launch MegaWizard Plug-.ln). QuartusII己经预先存放了设计中常用的电路模块符号,在进行原理图设计输入时 可以随时调用。QuartusII在安装目录c:\Altera/8O/quartus/Mlibraries/下,设有三个子目录 分别存放了三个库。 (I)megafunctions(宏功能模块) 宏功能模块是参数化的模块,模块的各个参数由设计者为满足设计要求自行定 制,只要修改模块参数,就可以得到满足需要的特定模块。宏功能模块设有:算术运 算模块arithmetic、.门单元模块gates、/O模块IO和存储器模块storage (Ⅱ)others(其它模快) 这是一个与maxplux2兼容的模块库,包含4系列的器件符号和各种组合电路模 块符号,在模块编辑器中可以查看符号内部的电路结构。例如,输入二选一数据选择 器符号21mux,在模块编辑器中双击该符号,就会出现21mux的内部电路结构和说明。 (I)primitves(图元) 图元主要包括以下几种功能模块:buffer(缓冲器)、logic(基本逻辑符号)、pin (引脚符号)、storage(触发器)和other(其它功能模块)。其中最重要的就是pin目 录下的输入引脚iput和输出引脚output,这两个引脚是任何原理图文件都要用到的引 脚符号。 6
16 标,也可以直接在编辑器空白处双击鼠标左键,出现 Symbol 对话框。在对话框下, 可以选择各种逻辑电路符号,方便绘制原理图时使用。 双击 others 库名,则在 Symbol Files 区显示该库中的所有符号,移动滚动条,找 到 74160 后将其选中,或在 name 文字框中键入 74160,单击 OK 按钮,在图形编辑器 中点击鼠标左键,插入模块符号 74160,将它放在合适的位置。如图 2.4.2。 图 2.4.2 选择符号对话框 双击的 primitves 库名,在 Symbol Files 区找到 nand2 后将其选中,单击 OK,这 时窗口出现 nand2 的符号,将它放在合适的位置,也可以调用自己在上一节创建的模 块符号 nand2_lab1;同方法调用 Vcc、gnd 等符号。 在调用符号时,如果已经知道符号名,也可直接在 Name 文字框中键入符号名, 单击 OK 即可。 Symbol 对话框左下角的三个复选框表示输入符号的不同方式:连续输入符号 (Repeat-insert Mode)、以图表模块形式输入符号(Insert Symbol As Block)、打开宏模 块导航 MegaWizard Plug-In Manager(Launch MegaWizard Plug-In)。 QuartusII 已经预先存放了设计中常用的电路模块符号,在进行原理图设计输入时 可以随时调用。QuartusII 在安装目录 c:\Altera/80/quartus/libraries/下,设有三个子目录 分别存放了三个库。 (I)megafunctions(宏功能模块) 宏功能模块是参数化的模块,模块的各个参数由设计者为满足设计要求自行定 制,只要修改模块参数,就可以得到满足需要的特定模块。宏功能模块设有:算术运 算模块 arithmetic、门单元模块 gates、I/O 模块 IO 和存储器模块 storage。 (II)others(其它模块) 这是一个与 maxplux2 兼容的模块库,包含 74 系列的器件符号和各种组合电路模 块符号,在模块编辑器中可以查看符号内部的电路结构。例如,输入二选一数据选择 器符号 21mux,在模块编辑器中双击该符号,就会出现 21mux 的内部电路结构和说明。 (III)primitves(图元) 图元主要包括以下几种功能模块:buffer(缓冲器)、logic(基本逻辑符号)、pin (引脚符号)、storage(触发器)和 other(其它功能模块)。其中最重要的就是 pin 目 录下的输入引脚 input 和输出引脚 output,这两个引脚是任何原理图文件都要用到的引 脚符号