工学第二讲原理图设计方法

上传人:仙*** 文档编号:181696719 上传时间:2023-01-15 格式:PPT 页数:94 大小:2.45MB
返回 下载 相关 举报
工学第二讲原理图设计方法_第1页
第1页 / 共94页
工学第二讲原理图设计方法_第2页
第2页 / 共94页
工学第二讲原理图设计方法_第3页
第3页 / 共94页
点击查看更多>>
资源描述
第二讲第二讲 基于原理图的设计方法基于原理图的设计方法赵赵 楠楠Email: 哈尔滨工业大学电子与信息技术研究院哈尔滨工业大学电子与信息技术研究院 一、一、EDA设计流程及其工具设计流程及其工具 本章首先介绍本章首先介绍FPGA/CPLD开开发和设计的流程,然后介绍与设发和设计的流程,然后介绍与设计流程中各环节密切相关的计流程中各环节密切相关的EDA工具软件,最后就工具软件,最后就Max+plusII的的基本情况作一简述。基本情况作一简述。原理图原理图/VHDL文本编辑文本编辑综合综合FPGA/CPLD适配适配FPGA/CPLD编程下载编程下载FPGA/CPLD器件和电路系统器件和电路系统时序与功能时序与功能门级仿真门级仿真1、功能仿真、功能仿真2、时序仿真、时序仿真逻辑综合器逻辑综合器结构综合器结构综合器1、isp方式下载方式下载 2、JTAG方式下载方式下载 3、针对、针对SRAM结构的配置结构的配置 4、OTP器件编程器件编程 1 FPGACPLD设计流程设计流程(p175)应用应用FPGA/CPLD的的EDA开发流程开发流程:1.1 设计输入设计输入(原理图原理图HDL文本编辑文本编辑)1.1.图形输入图形输入 图形输入图形输入 原理图输入原理图输入 状态图输入状态图输入 波形图输入波形图输入2.HDL文本输入文本输入 这种方式与传统的计算机软件语言编辑输入基这种方式与传统的计算机软件语言编辑输入基本一致。就是将使用了某种硬件描述语言本一致。就是将使用了某种硬件描述语言(HDL)HDL)的的电路设计文本,如电路设计文本,如VHDLVHDL或或VerilogVerilog的源程序,进行的源程序,进行编辑输入。编辑输入。可以说,应用可以说,应用HDLHDL的文本输入方法克服了上述原的文本输入方法克服了上述原理图输入法存在的所有弊端,为理图输入法存在的所有弊端,为EDAEDA技术的应用和技术的应用和发展打开了一个广阔的天地。发展打开了一个广阔的天地。zHDL的可移植性好,使用方便,但效率不如原理的可移植性好,使用方便,但效率不如原理图;原理图输入的可控性好,效率高,比较直观,图;原理图输入的可控性好,效率高,比较直观,但设计大规模但设计大规模CPLD/FPGA时显得很烦琐,移植时显得很烦琐,移植性差。在真正的性差。在真正的CPLD/FPGA设计中,通常建议设计中,通常建议采用原理图和采用原理图和HDL结合的方法来设计,适合用原结合的方法来设计,适合用原理图的地方就用原理图,适合用理图的地方就用原理图,适合用HDL的地方就用的地方就用HDL,并没有强制的规定。在最短的时间内,用,并没有强制的规定。在最短的时间内,用自己最熟悉的工具设计出高效,稳定,符合设计自己最熟悉的工具设计出高效,稳定,符合设计要求的电路才是我们的最终目的。要求的电路才是我们的最终目的。3.HDL与与原理图输入法的关系原理图输入法的关系 1.2 综合综合 整个综合过程就是将设计者在整个综合过程就是将设计者在EDAEDA平台上编辑平台上编辑输入的输入的HDLHDL文本、原理图或状态图形描述,依据文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。由此可见,综合器工作层的电路描述网表文件。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功前,必须给定最后实现的硬件结构参数,它的功能就是能就是将软件描述与给定的硬件结构用某种网表将软件描述与给定的硬件结构用某种网表文件的方式对应起来文件的方式对应起来,成为相应互的映射关系。,成为相应互的映射关系。1.3 适配适配 适配器也称结构综合器,它的功能是将由综合器产生的适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文网表文件配置于指定的目标器件中,使之产生最终的下载文件,如件,如.sofsof或或.pofpof的文件。适配所选定的目标器件的文件。适配所选定的目标器件(FPGA/CPLDFPGA/CPLD芯片芯片)必须属于原综合器指定的目标器件系列。必须属于原综合器指定的目标器件系列。逻辑综合通过后必须利用适配器将综合后网表文件针对某逻辑综合通过后必须利用适配器将综合后网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、逻辑布局布线操作。适配完成后置、逻辑分割、逻辑优化、逻辑布局布线操作。适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时产可以利用适配所产生的仿真文件作精确的时序仿真,同时产生可用于编程的文件。生可用于编程的文件。1.4 时序仿真与功能仿真时序仿真与功能仿真时序仿真功能仿真 就是接近真实器件运行特性的仿真,就是接近真实器件运行特性的仿真,仿真文件中己包含了器件硬件特性参数,仿真文件中己包含了器件硬件特性参数,因而,仿真精度高。因而,仿真精度高。是直接对是直接对VHDL、原理图描述或其他原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求的过程,其实现的功能是否满足原设计的要求的过程,仿真过程不涉及任何具体器件的硬件特性。仿真过程不涉及任何具体器件的硬件特性。1.5 编程下载编程下载 通常,将对通常,将对CPLDCPLD的下载称为编程的下载称为编程(Program)Program),对对FPGAFPGA中的中的SRAMSRAM进行直接下载的方式称为配置进行直接下载的方式称为配置(Configure)Configure),但对于但对于OTP OTP FPGAFPGA的下载和对的下载和对FPGAFPGA的专用配置的专用配置ROMROM的下载仍称为编程。的下载仍称为编程。FPGAFPGA与与CPLDCPLD的辨别和分类主要是根据其结构特点和工作原的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:理。通常的分类方法是:C 将以乘积项结构方式构成逻辑行为的器件称为将以乘积项结构方式构成逻辑行为的器件称为CPLDCPLD,如如LatticeLattice的的ispLSIispLSI系列、系列、XilinxXilinx的的XC9500XC9500系列、系列、AlteraAltera的的MAX7000SMAX7000S系列和系列和Lattice(Lattice(原原VantisVantis)的的MachMach系列等。系列等。C 将以查表法结构方式构成逻辑行为的器件称为将以查表法结构方式构成逻辑行为的器件称为FPGAFPGA,如如XilinxXilinx的的SPARTANSPARTAN系列、系列、AlteraAltera的的FLEX10KFLEX10K或或ACEX1KACEX1K系列等。系列等。1.6 硬件测试硬件测试 最后是将含有载入了设计的最后是将含有载入了设计的FPGAFPGA或或CPLDCPLD的硬件系统进行统一的硬件系统进行统一测试,以便最终验证设计项目在测试,以便最终验证设计项目在目标系统上的实际工作情况,以目标系统上的实际工作情况,以排除错误,改进设计。排除错误,改进设计。2 常用常用EDA工具工具 本节主要介绍当今广泛使用的以开发本节主要介绍当今广泛使用的以开发FPGAFPGA和和CPLDCPLD为主的为主的EDAEDA工具,及部分关于工具,及部分关于ASICASIC设计的设计的EDAEDA工具。工具。EDAEDA工具大致可以分为如下工具大致可以分为如下5 5个模块:个模块:设计输入编辑器设计输入编辑器仿真器仿真器HDL综合器综合器适配器适配器(或布局布线器或布局布线器)下载器下载器2 常用常用EDA工具工具2.1 设计输入编辑器设计输入编辑器2.2 HDL综合器综合器性能良好的性能良好的FPGA/CPLD设计的设计的HDL综合器有如下三种:综合器有如下三种:Synopsys公司的公司的FPGA Compiler、FPGA Express综合器。综合器。Synplicity公司的公司的Synplify Pro综合器。综合器。Mentor子公司子公司Exemplar Logic的的LeonardoSpectrum综合器。综合器。综合器的使用也有两种模式:综合器的使用也有两种模式:图形模式和命令行模式图形模式和命令行模式(Shell模式模式)。2 常用常用EDA工具工具2.3 仿真器仿真器 按处理的硬件描述语言类型分,按处理的硬件描述语言类型分,HDL仿真器可分为:仿真器可分为:(1)VHDL仿真器。仿真器。(2)Verilog仿真器。仿真器。(3)Mixed HDL仿真器仿真器(混合混合HDL仿真器,同时处理仿真器,同时处理Verilog与与VHDL)。(4)其他其他HDL仿真器仿真器(针对其他针对其他HDL语言的仿真语言的仿真)。按仿真的级别可分为:按仿真的级别可分为:(1)功能仿真。功能仿真。(2)时序仿真。时序仿真。功能仿真示意功能仿真示意时序仿真示意时序仿真示意2 常用常用EDA工具工具2.4 适配器适配器(布局布线器布局布线器)2.5 下载器下载器(编程器编程器)适配器的任务是完成目标系统在器件上的布局布线。适适配器的任务是完成目标系统在器件上的布局布线。适配,即结构综合通常都由可编程逻辑器件的厂商提供的专配,即结构综合通常都由可编程逻辑器件的厂商提供的专门针对器件开发的软件来完成。这些软件可以单独或嵌入门针对器件开发的软件来完成。这些软件可以单独或嵌入在厂商的针对自己产品的集成在厂商的针对自己产品的集成EDA开发环境中存在。开发环境中存在。3 EDA工具软件1、ALTERA:MAX+PLUSII、QUARTUSII2、LATTICE:isp EXPERT SYSTEM、isp Synario ispDesignExpert SYSTEM ispCOMPILER、PAC-DESIGNER3、XILINX:FOUNDATION、ISE4、FPGA Compiler、FPGA Express、Synplify、Leonardo Spectrum.EDA公司:CADENCE、EXEMPLAR、MENTOR GRAPHICS、OrCAD、SYNOPSYS、SYNPLICITY、VIEWLOGIC、.Max+plusIIQuartusII4 MAX+plusII概述概述图形或图形或HDL编辑器编辑器MAX+plusII设计流程设计流程编译网表提取、数据库建立、逻辑综合、逻辑分割、适配延时网表提取、编程文件汇编编编 程程 器器设设 计计 输输 入入综合或综合或 编编 辑辑适适 配配 器器 件件下下 载载仿仿 真真MAX+plusII的启动界面:的启动界面:4 MAX+plusII概述概述MAX+plusII的原理图编辑器的原理图编辑器MAX+plusII的的HDL文本编辑器文本编辑器MAX+plusII的波形编辑器的波形编辑器 本章介绍本章介绍FPGA/CPLD基于基于原理图输入设计方法原理图输入设计方法1 1位全加器设计向导位全加器设计向导1.1 基本设计步骤基本设计步骤注意:注意:文件夹名不能用中文,且不可带空格。文件夹名不能用中文,且不可带空格。步骤步骤1:输入设计项目和存盘:输入设计项目和存盘图图1 进入进入MAX+plusII,建立一个新的设计文件建立一个新的设计文件使用原理图输入方法设计,必须选择打开原理图编辑器新建一个设计文件图图2 元件输入对话框元件输入对话框首先在这里用鼠标右键产生此窗,并选择“Enter Symbol”输入一个元件然后用鼠标双击这基本硬件库这是基本硬件库中的各种逻辑元件也可在这里输入元件名,如2输入与门AND2,输出引脚:OUTPUT图图3 将所需元件全部调入原理图编辑窗将所需元件全部调入原理图编辑窗图图4 连接好的原理图连接好的原理图输出引脚:OUTPUT输入引脚:INPUT将他们连接成半加器图图5 连接好原理图并存盘连接好原理图并存盘首先点击这里文件名取为:h_adder.gdf注意,要存在自己建立的文件夹中步骤步骤2:将设计项目设置成工程文件:将设计项目设置成工程文件(PROJECT)图图6 将当前设计文件设置成工程文件将当前设计文件设置成工程文件首先点击这里然后选择此项,将当前的原理图设计文件设置成工程最后注意此路径指向的改变注意,此路径指向当前的工程!步骤步骤3:选择目标器件并编译:选择目标器件并编译 图7 选择最后实现本项设计的目标器件选择最后实现本项设计的目标器件首先选择这里器件系列选择窗,选择ACEX1K系列根据实验板上的目标器件型号选择,如选EP1K30注意,首先消去这里的勾,以便使所有速度级别的器件都能显示出来图图8 对工程文件进行编译、综合和适配等操作对工程文件进行编译、综合和适配等操作选择编译器编译窗完成编译!完成编译!步骤步骤4:时序仿真:时序仿真(1)建立波形文件。建立波形文件。首先选择此项,为仿真测试新建一个文件选择波形编辑器文件(2)输入信号节点。输入信号节点。图图9 从从SNF文件中输入设计文件的信号节点文件中输入设计文件的信号节点从从SNF文件中文件中输入设计文件输入设计文件的信号节点的信号节点点点击击“LIST”SNF文件中文件中的信号节点的信号节点图图10 列出并选择需要观察的信号节点列出并选择需要观察的信号节点用此键用此键选择左窗选择左窗中需要的信号中需要的信号进入右窗进入右窗最后点击最后点击“OK”图图4-9 列出并选择需要观察的信号节点列出并选择需要观察的信号节点(3)设置波形参量。设置波形参量。图图11 在在Options菜单中消去网格对齐菜单中消去网格对齐Snap to Grid的选择的选择(消去对勾消去对勾)消去消去这里的勾,这里的勾,以便方便设置以便方便设置输入电平输入电平(4)设定仿真时间。设定仿真时间。图图12 设定仿真时间设定仿真时间选择选择END TIME调整仿真时间调整仿真时间区域。区域。选择选择60微秒微秒比较合适比较合适(5)加上输入信号。加上输入信号。图图13 为输入信号设定必要测试电平或数据为输入信号设定必要测试电平或数据(6)波形文件存盘。波形文件存盘。图图14 保存仿真波形文件保存仿真波形文件用此键用此键改变仿真改变仿真区域坐标到合适区域坐标到合适位置。位置。点点击击1,使拖黑,使拖黑的电平为高电平的电平为高电平(7)运行仿真器。运行仿真器。图图15 运行仿真器运行仿真器选择仿真器选择仿真器运行仿真器运行仿真器(8)观察分析半加器仿真波形观察分析半加器仿真波形。图图16 半加器半加器h_adder.gdf的仿真波形的仿真波形(9)为了精确测量半加器输入与输出波形间的延时量,可打开时序分析器为了精确测量半加器输入与输出波形间的延时量,可打开时序分析器.图图17 打开延时时序分析窗打开延时时序分析窗选择时序分析器选择时序分析器输入输出输入输出时间延迟时间延迟(10)包装元件入库。包装元件入库。选择菜单选择菜单“File”“Open”File”“Open”,在在“Open”Open”对话框中选择对话框中选择原理图编辑文件选项原理图编辑文件选项“Graphic Editor Files”Graphic Editor Files”,然后选择然后选择h_adder.gdfh_adder.gdf,重新打开半加器设计文件,然后选择重新打开半加器设计文件,然后选择“File”File”菜单的菜单的“Create Default Symbol”Create Default Symbol”项,将当前文件变成了项,将当前文件变成了一个包装好的单一元件一个包装好的单一元件(Symbol)Symbol),并被放置在工程路径指定并被放置在工程路径指定的目录中以备后用。的目录中以备后用。步骤步骤5:引脚锁定:引脚锁定可选择键可选择键8作为半作为半加器的输入加器的输入“a”选择实验电路结构图选择实验电路结构图6选择键选择键8作为半加作为半加器的输入器的输入“b”可选择发光管可选择发光管8作为半加器的作为半加器的进位输出进位输出“co”可选择发光管可选择发光管8作为半加器的作为半加器的和输出和输出“so”选择实验板上选择实验板上插有的目标器件插有的目标器件目目标标器器件件引引脚脚名名和和引引脚脚号号对对照照表表键键8的引脚名的引脚名键键8的引脚名的引脚名对应的引脚号对应的引脚号 引脚对应情况引脚对应情况实验板位置实验板位置 半加器信号半加器信号 通用目标器件引脚名通用目标器件引脚名 目标器件目标器件EP1K30TC144引脚号引脚号 1、键、键8:a PIO13 272、键、键7 b PIO12 263、发光管、发光管8 co PIO23 394、发光管、发光管7 so PIO22 38选择引脚选择引脚锁定选项锁定选项引脚窗引脚窗此处输入此处输入信号名信号名此处输入此处输入引脚名引脚名按键按键“ADD”即可即可注意引脚属性注意引脚属性错误引脚名将错误引脚名将无正确属性!无正确属性!再编译一次,再编译一次,将引脚信息将引脚信息进去进去查看rpt文件点击点击rpt 文件文件.rpt文件选择编程器,选择编程器,准备将设计准备将设计好的半加器好的半加器文件下载到目文件下载到目器件中去器件中去编程窗编程窗步骤步骤6:编程下载:编程下载(1)下载方式设定。下载方式设定。图图18 设置编程下载方式设置编程下载方式 在编程窗打开在编程窗打开的情况下选择的情况下选择下载方式设置下载方式设置选择此项下选择此项下载方式载方式步骤步骤7:编程下载:编程下载(1)下载方式设定。下载方式设定。图图4-18 设置编程下载方式设置编程下载方式(2)下载。下载。图图19 向向EF1K30下载配置文件下载配置文件下载(配置)下载(配置)成功!成功!步骤步骤7:设计顶层文件:设计顶层文件(1)仿照前面的仿照前面的“步骤步骤2”,打开一个新的原理图编辑窗口,打开一个新的原理图编辑窗口图图20 在顶层编辑窗中调出已设计好的半加器元件在顶层编辑窗中调出已设计好的半加器元件(2)完成全加器原理图设计完成全加器原理图设计,并以文件名并以文件名f_adder.gdf存在同一目录中存在同一目录中。(3)将当前文件设置成将当前文件设置成Project,并选择目标器件为并选择目标器件为EPF10K10LC84-4。(4)编译此顶层文件编译此顶层文件f_adder.gdf,然后建立波形仿真文件。然后建立波形仿真文件。图图21 在顶层编辑窗中设计好全加器在顶层编辑窗中设计好全加器(5)对应对应f_adder.gdf的波形仿真文件,参考图中输入信号的波形仿真文件,参考图中输入信号cin、bin和和ain输输入信号电平的设置,启动仿真器入信号电平的设置,启动仿真器Simulator,观察输出波形的情况。观察输出波形的情况。(6)锁定引脚、编译并编程下载,硬件实测此全加器的逻辑功能。锁定引脚、编译并编程下载,硬件实测此全加器的逻辑功能。图图22 1位全加器的时序仿真波形位全加器的时序仿真波形由1位全加器设计4位全加器4位全加器的时序波形图1.2 设计流程归纳设计流程归纳图图23 MAX+plusII一般设计流程一般设计流程思考:如何进行组合逻辑电路的图形化设计?思考:如何进行组合逻辑电路的图形化设计?(p179)1 1、数据选择器、数据选择器功能功能元件符号名元件符号名所在库所在库2选选121MUXmf宏功能库宏功能库双双4选选174153,74253mf宏功能库宏功能库8选选174151,74151bmf宏功能库宏功能库双双8位总线选位总线选12X8MUXmf宏功能库宏功能库任意位数选任意位数选1LPM_MUXMega-lpm参数化模块库参数化模块库2 2、译码器、译码器功能功能元件符号名元件符号名所在库所在库双双2-4线译码器线译码器74149,74155mf宏功能库宏功能库3-8线译码器线译码器74138,74137mf宏功能库宏功能库可调参数译码器可调参数译码器74151,74151bMega-lpm参数化参数化模块库模块库2 宏功能模块的应用宏功能模块的应用2.1 74161四位计数器的学习四位计数器的学习(p182)思考:如何用74161设计模12的计数器?模模12计数器的原理图设计方法计数器的原理图设计方法1(书书p182)模模12计数器的工作波形计数器的工作波形模模12计数器的原理图设计方法计数器的原理图设计方法2模模12计数器的工作波形计数器的工作波形用用74161设计设计24分频器分频器(对称输出对称输出):方法:方法124分频器分频器的工作波形的工作波形问题:问题:cout有毛刺,影响正常工作,故需要改进。有毛刺,影响正常工作,故需要改进。方法方法2 计数器的输出端第二位作为触发器的时钟计数器的输出端第二位作为触发器的时钟24分频器的工作波形分频器的工作波形方法方法3 利用触发器来消除毛刺利用触发器来消除毛刺24分频器的工作波形分频器的工作波形还可以利用还可以利用VHDL语言语言编写计数器消除毛刺编写计数器消除毛刺2.2 74151数据器选择器的学习数据器选择器的学习应用应用74151的多频率选择器的多频率选择器问题:问题:A1.0为为0,1,2,3时,分别选通计数器的时,分别选通计数器的qa,qb,qc,qd输出,这个输出分别是输入时钟输出,这个输出分别是输入时钟clk的的2分频、分频、4分频、分频、8分频和分频和16分频信号。分频信号。试用计数器试用计数器74161和和74151设计一设计一个个01100011序列发生器序列发生器。3 参数可设置参数可设置LPM兆功能块兆功能块3.1 基于基于LPM_MULT的无符号数乘法器的设计的无符号数乘法器的设计对乘法器的参数进行设定对乘法器的参数进行设定参数设定参数设定对话框对话框对信号进行赋值对信号进行赋值将信号的赋将信号的赋值设置成计值设置成计数的功能数的功能设置计数设置计数对话框对话框无符号乘法器的工作波形无符号乘法器的工作波形将数制选择设将数制选择设为十进制为十进制3.2 基于基于LPM_COUNTER的模的模30计数器的设计计数器的设计(p204)3.3 基于基于LPM_ROM的的4位乘法器设计位乘法器设计(p207)图图26 用用LPM_ROM设计的设计的 4位乘法器原理图位乘法器原理图用文本编辑器编辑用文本编辑器编辑mif文件文件乘法器工作模型乘法器工作模型实现了小九九实现了小九九乘法表的功能乘法表的功能
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!