
EDA设计(II)南京理工大学老师上课所讲.pdf
52页EDA设计设计目的 ● 学习EDA集成工具软件QuartusII的使用; ● 学习基于可编程逻辑器件的EDA设计流程; ● 学会使用原理图设计电路 参考教材 EDA技术与实验(第2版),机械工业出版社,2013年设计内容 1 QUARTUSI软件应用 2 多功能数字钟设计1 QUARTUSII软件应用 • 1.1 QUARTUSⅡ软件概述与设计流程 • 1.2 设计输入 • 1.3 项目编译 • 1.4 设计仿真 • 1.5 引脚分配 • 1.6 编程下载1.1 QUARTUSⅡ软件概述与设计流程 1.1.1 QUARTUSII软件概述 Altera的QUARTUSI软件属于第四代PLD开发平 台,该软件界面友好,功能强大,是一个完全集成化 的可编程逻辑设计环境,是先进的EDA工具软件 QUARTUSII支持Altera公司的ACEX1K系列、APE X20K系列、APEXII系列、FLEX6000系列、FLEX10K 系列、MAX3000AMAX7000MAX9000 系列;支持MAX7000/MAX3000等乘积项器件;支持 MAX I系列、Cyclone系列、Cyclone I、Stratix I系 列、Stratix GX系列等;支持IP核,包含了LPM/Mega Function宏功能模块库,从而使用户简化了设计的复 杂性、加快了设计速度。
1.1.2 QUARTUSII软件设计流程 QUARTUSII设计流程图1.2 设计输入 1.2.1 工程项目建立 1. 启动QUARTUSII 2.建立新工程项目 ⑴ 在主菜单中,选择File—New Project Wizard出现 新建工程项目向导界面2)单击“Next”按钮,弹出如图所示对话框,第一个文 本行中输入工程文件存放的目录;第二个文本行中填 写此项工程项目名称;第三个文本行中为当前工程顶 层文件的实体名可先建立工程文件存放的目录如: D:\design\adder,建议工程顶层文实体名和工程项 目名保持一致⑶ 继续单击“Next”按钮,打开Add Files对话框若需 添加设计输入文件可单击“Add”按钮;如果工程中用到 用户自定义的库,则单击“User Libraries”按钮,添加相 应的库文件在这里,直接单击“Next”按钮进入可编程 逻辑器件选择对话框⑷ 在可编程逻辑器件选择对话框可以选择器件的系列、 器件的封装形式、引脚数目和速度级别约束可选器件的 范围这里选择CycloneII系列中的“EP3C25F324C8”⑸ 单击“Next”按钮,进入EDA工具选择对话框,在该对 话框中可以选择其它EDA工具。
这里可不做选择,表示 使用QUARTUSII软件自带的综合器、仿真器等⑹ 单击“Next”按钮,出现新建工程的文件信息摘要框, 单击“Finish”按钮,至此完成新工程项目的创建1.2.2 设计输入 1. 原理图设计输入 ⑴ 在主菜单中,选中File—New,出现文件类型选择 对话框选择“Block Diagram/Schematic File”,单击 “OK”,进入图形编辑界面⑵ 左键双击图形编辑区空白处,弹出 “Symbol”对话框 或单击鼠标右键,在弹出的选择对话框中选择Insert— Symbol,也会弹出该对话框 点击Symbol对话框的左上角“…Libraries”,可以用来选 择需要的功能模块库 也可在Name框直接输入需要使用的模块名称如设 计中用到译码器74138,只需在Name框中输入74138⑶ 单击“OK”按钮,选定模块就会出现在图形编辑区中 重复上述过程,添加两个四输入端与非门(nand4)、 代表高电平的VCC、代表低电平的GND、三个输入端口 INPUT及两个输出端口OUTPUT等逻辑符号(这里以设 计一位全加器所需的功能模块为例)⑷ 元件间连线:如果需要连接元件的两个端口,则将光 标移到其中一个端口上,这时光标指示符会自动变为“+” 形,然后按住鼠标左键并拖动光标至第二个端口(或其 他地方);松开鼠标左键后则可画好一条连线。
若想删 除一条连线,只需用鼠标左键点中该线,被点中的线会 变为蓝色,此时按“Delete”键即可删除 或者:如果需要连接元件的两个端口,则将光标移 到其中一个端口上,这时光标指示符会自动变为“+” 形,然后按住鼠标左键并拖动光标,画出一小段线,且 该线段为蓝色时,并有闪烁标志,此时键入文字即可; 按同样的方法在另一端口作类似操作,这样相同名字的 导线代表它们在电气上是相连的⑸ 在主菜单中,选中File—Save As,输入的文件命名 “adder1”,原理图文件的扩展名为“.bdf” 完成电路原理图设计输入后,即可进行项目编译2. 文本编辑设计输入 如果采用VHDL语言输入方式,则建立文本编辑设计 文件的步骤如下: ⑴ 完成新工程项目的创建后,在主菜单中,选中File— New,出现文件类型选择对话框选择“VHDL File”, 单击“OK”,进入文本编辑界面,⑵ 在当前的文本编辑窗口直接输入VHDL程序,以一位 全加器的带使能的3线8线译码器功能模块为例说明 在主菜单中,选中File—Save As,输入的文件命名 “decoder38”,VHDL语言文件的扩展名为“.vhd”1.3 项目编译 1. 选择“Project”菜单,点击“Set as TopLevel Entity” 项,把当前文件设置为顶层实体。
或右键点击所要编译 的文件,如adder1.bdf,弹出菜单,点击“Set as Top Level Entity”项,也可将当前文件设置为顶层实体2. 点击工具栏上的“ ”按钮或打开“Processing”菜单,点 击“Start Compilation”执行完全编译 3. 编译成功后,编译器产生相应的输出文件如果有 错误,编译器将停止编译,并给出错误信息,双击错 误信息条,一般可给出错误之处,根据“Messages”消 息栏给出的错误提示修改程序,保存后再次编译,直 至所有错误均改正后,系统会弹出编译结束窗口,显 示零错误(一般警告信息可以忽略),单击“确定”按 钮,出现编译状态显示窗口编译报告给出硬件信息、 资源占用率等信息1.4 设计仿真 1. 在主菜单中,选择File—New,打开“Other Files”标 签项,选中“Vector Waveform File”,点击“OK” 2. 在波形编辑窗口左侧栏的Name栏目下的空白框里, 双击鼠标左键,出现 “Insert Node or Bus”框口,再点 击“Node Finder”按钮,弹出 “Node Finder”对话框。
3. 查找节点信息,插入节点在图中的“Filter:”选项下 选择管脚类型为“Pins:all”,然后单击List按钮,可在左 下侧区域看到设计项目中的输入输出信号,再单击按钮 “》”,可将这些信号选择到“Selected Nodes”区,表示对 这些信号进行观测4. 点击上图中的“OK”按钮后自行回到插入节点对话框; 再点击“OK”按钮即可完成节点的添加,出现添加节点后 的波形编辑窗口5. 在主菜单中,选中File—Save As或点击工具栏中的“ ” 按钮,输入的文件命名“adder1”,波形文件的扩展名为 “.vwf” 6. 编辑输入节点波形,也就是为输入信号建立输入波形 下图给出了与绘制波形图操作的相关工具条说明1)设置合适的仿真结束时间在主菜单中,选中Edit— End Time…选项,打开End Time对话框,在Time框内 输入2.0,单位为us,单击“OK”按钮即可完成仿真时间 设定Time框内默认状态为1.0,单位为us,用户可 根据实际情况设定仿真时间)(2)设置合适的栅格时间在主菜单中,选中Edit—Grid Size…选项,打开Grid Size对话框,在Time period框 内输入20.0,单位为ns,单击“OK”按钮即可完成栅格时 间设定。
Time period框内默认状态为10.0,单位为ns 用户可根据实际情况设定栅格时间)3)这里需要对一位全加器进行波形仿真,故对输入信 号a、b、ci分别赋值000、001、010、011、100、101、 110111的一个周期 在主菜单中,选中File—Save As或点击工具栏中的“ ” 按钮,再次保存波形文件“adder1.vwf”,至此完成波形输 入7. 时序仿真 选择Procesing菜单下的Simulator Tool选项,打开仿 真工具对话框,在“Simulation mode”选择Functional(功 能仿真)或Timing(时序仿真)等模式;在“Simulation input”后面的文本框里指定需要仿真的波形文件的路径若进行Functional(功能仿真)操作,则需先点击 “ ”运行,确定后再点击“ ” 按钮,开始仿真仿真完成如无问题,确定后点击 “ ”按钮,即可观察到仿真后的波形若进行Timing(时序仿真)操作,点击“ ”按 钮,即可开始仿真仿真完成如无问题,确定后点击 “ ”按钮,即可观察到仿真后的波形1.5 引脚分配 1.选择器件 这里以将上述一位全加器电路下载到CycloneII系列 器件中的EP3C25F324C8为例进行说明。
(1)返回到上例的一位全加器电路图形编辑窗口 (2)在主菜单Asignments中选择Device项,打开器件 选择对话窗口 (3)单击Family 区的下拉列表,可进行器件系列选择, 本例应选择CycloneII系列 (4)在Available devices的下拉列表中选择EP3C25F 324C8 (5)单击OK按钮,对话框关闭,即完成器件选择2.管脚锁定 (1)在主菜单Asignments中选择Pins项,弹出管脚分 配对话窗口,在下方的列表中列出了本项目所有的输入/ 输出引脚名2)在需要锁定的信号处,例如选择a节点信号,双击 引脚锁定区Location后弹出引脚列表,从中选择合适的 引脚,这里将a节点信号锁定在V9号引脚上,则输入信 号a的引脚锁定完毕也可双击a节点信号引脚锁定区 Location后,直接写入V9就可以完成信号a的引脚锁定3)按照步骤(2)中的引脚锁定过程,完成一位全加 器电路其他引脚的锁定具体引脚分配如下: M5 LED2(LED灯) S(全加器的和,输出) R4 LED1(LED灯) co(本位向高位的进位,输出) B9 KEY3(开关) Ci(低位向本位的进位,输入) U10 KEY2(开关) b(加数,输入) V9 KEY1(开关) a(被加数,输入) 物理引脚号 对应器件名 信号名一位全加器电路的所有输入/输出引脚锁定完毕,如 图所示:(4)未使用的引脚设置。
在主菜单Assignments中选择 Device项,打开对话窗口,点击其中的“Device & Pin Options…”,打开Device and Pin Options对话框,选择 Unused Pins标签页,将未使用的引脚设置为高阻输入 “As input tristated”,单击“确定”5)重新编译器件选择和引脚分配后,需要重新运 行编译器,QuartusI将生成如.pof和.sof等编程数据文 件通过下载电缆载到预先选择的FPGA芯片中选择 “ProcessingStart Compilation”。
