原理图输入的设计实用方法示例_第1页
原理图输入的设计实用方法示例_第2页
原理图输入的设计实用方法示例_第3页
原理图输入的设计实用方法示例_第4页
原理图输入的设计实用方法示例_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、原理图输入的设计实用方法示例1.1(组合逻辑)1位全加器设计1.2(时序逻辑)2位十进制数字频率计设计参数可设置LPM兆功能块设计波形输入设计方法1.1:1位全加器设计向导32022/7/25实验目的 熟悉利用MAX+plusII的原理图输入方法设计 简单组合电路,掌握层次化设计的方法。实验原理 1位全加器可以用两个半加器及一个或门连 接而成。先设计底层文件:半加器,再设计 顶层文件全加器。返回目录基本设计步骤42022/7/25 任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)

2、。一般不同的设计项目最好放在相应的文件夹中,注意,一个设计项目可以包含多个设计文件。假设本项设计的文件夹取名为MY_Project,路径为D: MY_Project, MAX+plus II 软件装在D盘maxplus2文件夹下。注意:文件夹名不能用中文,且不可带空格。步骤1:为本项工程设计建立文件夹步骤2:输入设计项目和存盘52022/7/25(1)打开MAX+plusII,选菜单“File”“New” 。步骤2:输入设计项目和存盘62022/7/25(2)在弹出的“New”对话框中选择“File Type”中为原理图编辑输入项“Graphic Editor file”,按“OK”后将打开原

3、理图编辑窗。步骤2:输入设计项目和存盘72022/7/25选择该项可建立一个图形输入文件文件格式使用默认格式:gdf可编辑用户生成的符号文件建立文本输入文件,如VHDL,Verilog HDL,mif文件可建立波形文件“New”对话框说明步骤2:输入设计项目和存盘82022/7/25(3)在原理图编辑窗中的任何一个位置上双击鼠标,将弹出输入元件项“Enter Symbol”的对话框。图形编辑区图形编辑工具 步骤2:输入设计项目和存盘92022/7/25“Enter Symbol” 对话框说明用户工作库,末存盘时为默认文件夹,此处已存盘到自己建立的文件夹元件符号名输入区,可直接输入所需元件的符号

4、名库选择区,软件安装在D盘maxplus2文件夹下,除了用户工作库外,还有四种元件库,包含了基本逻辑元件库prim,如门、触发器等;宏功能元件库mf,如74系列等;参数可设置兆功能元件库mega_lpm,如LPM_FIFO;逻辑元件与宏功能元件扩展库edif等当前选中的库为用户工作库,末存盘时为默认文件夹当前选中库的元件列表区步骤2:输入设计项目和存盘102022/7/25(4)调入元件and2、not、xnor、input和output。方法二:用键盘直接输入所需元件名,再单击“OK”按钮即可将元件调入原理图编辑窗中。方法一:用鼠标双击元件库“Symbol Libraries”中d:maxp

5、lus2maxplus2max2libprim项。在“Symbol Files”窗口即可看到基本逻辑元件库prim中的所有元件,双击需要的元件即可调入原理图编辑窗中。步骤2:输入设计项目和存盘112022/7/25(5)排列好调入的元件,连接好原理图。连线方法:把鼠标放在A处变成十字形,按处左键保持十字形移至B处松开即完成连接。AB步骤2:输入设计项目和存盘(6)分别在input和output的PIN_NAME上双击使其变黑色,再用键盘分别输入各引脚名:a、b、co、so。半加器表达式:进位:co=a and b和: so=a xnor (not b)注意:半加器用原理图的实现方法很多,此处用

6、同或的方法来实现。有兴趣的同学可以用其它的方法来实现。步骤2:输入设计项目和存盘132022/7/25(7)选择菜单“File”“Save As”,选择刚才为自己的工程建立的目录D:MY_Project,将已设计好的图文件取名为:h_adder(注意后缀是.gdf),并存盘在此目录内。1、选择目录2、选择gdf后缀3、输入文件名步骤3:将设计项目设置成工程文件142022/7/25为了使MAX+ plusII能对输入的设计项目按设计者的要求进行各项处理,必须将设计文件设置成当前Project。末设置时步骤3:将设计项目设置成工程文件设置后如果设计项目由多个设计文件组成,则应该将它们的主文件,即

7、顶层文件设置成Project。步骤4:选择目标器件并编译162022/7/25(1)选择“Assign”菜单中“Device”项,弹出Device对话框。步骤4:选择目标器件并编译172022/7/25(2)在Device对话框中选择ACEX1K系列EP1K30QC208-2目标芯片,点击“OK”。步骤4:选择目标器件并编译182022/7/25(3)启动编译器。步骤4:选择目标器件并编译192022/7/25(4)单击“Start”开始编译,如果有错,排除错误后再次编译。步骤4:选择目标器件并编译202022/7/25(5)编译完成。步骤5:时序仿真212022/7/25(1)建立波形文件。

8、选菜单“File”“New” ,在弹出的“New”对话框中选择“File Type”中为波形编辑输入项“Waveform Editor file”,按“OK”后将打开波形编辑窗。选中波形建立文件,后缀为scf步骤5:时序仿真222022/7/25(2)输入信号节点。在波形编辑窗选择菜单“Node”,在下拉菜单中选择输入信号节点项“Enter Nodes from SNF”。步骤5:时序仿真232022/7/25在弹出的对话框中单击“List”按钮,这时左列表框将列出该设计所有信号节点。设计者有时只需要观察其中部分信号的波形,可利用中间的“=”键将需要观察的信号选到右边中,然后单击“OK”按钮。

9、我们此处全选。步骤5:时序仿真242022/7/25(3)设置波形参量。在“Option”菜单中消去网格对齐项“Snap to Grid”的对勾,以便能够任意设置输入电平位置,或设置输入时钟信号的周期。步骤5:时序仿真(4)设置仿真时间。选择“File”End Time”。步骤5:时序仿真262022/7/25在End Time对话框中选择适当的仿真时间域,如可选34uS,以便有足够长的观察时间,然后点击“OK”。步骤5:时序仿真272022/7/25(5)加上输入信号。波形时间显示为了设置此段波形为高电平,用鼠标拖黑,再按左侧的1步骤5:时序仿真282022/7/25(6)波形文件存盘。选择

10、菜单“File”“Save As”,按“OK”按钮。保存窗口中的波形文件名是默认的(h_adder.scf),所以直接存盘即可。步骤5:时序仿真(7)运行仿真器。步骤5:时序仿真步骤5:时序仿真312022/7/25单击Simulator对话框中的“Start”按钮,仿真提示无错。步骤5:时序仿真322022/7/25(8)观察半加器的仿真波形。结果正确,但有延迟步骤5:时序仿真332022/7/25(9)精确测量半加器输入与输出波形的延迟量。步骤5:时序仿真342022/7/25步骤5:时序仿真352022/7/25单击“Start”按钮,延迟分析完成。注意:这个延迟量是针对ACEX1K系列

11、EP1K30QC208-2器件的步骤6:建立元件362022/7/25(10)包装元件入库。步骤6:建立元件372022/7/25打开“Enter Symbol”菜单可以看到我们的包装元件,不妨新建一个pdf文件调出来观察一下。步骤7:引脚锁定382022/7/25(1)调出引脚锁定对话框。注意:管脚定义跟目标器件及硬件相关,这里以ZYE1502E的EDA-E实验箱系统进行实测。步骤7:引脚锁定(2)定义引脚特别注意:引脚重新定义后必须再通过编译器“Compile”对文件重新进行编译,以便将引脚信息编入下载文件中。目标芯片为ACEX1K系列的EP1K30QC208-2,芯片45、46脚对应硬件

12、按键1、2,19、24脚对应硬件发光二极管1、2。输入半加器的端口名输入目标芯片对应管脚号增加到列表框引脚锁定列表框端口输入输出类型选择步骤8:编程下载402022/7/25(1)下载方式设定。步骤8:编程下载412022/7/25步骤8:编程下载422022/7/25步骤8:编程下载432022/7/25(2)下载。连接好硬件及下载连接线等。按“Configure”下载配置文件。成功后通过硬件进行逻辑验证。步骤9:设计顶层文件(1)依照前面的步骤2,新建文件,调入半加器。步骤9:设计顶层文件(2)可以将前面的步骤看成是完成了一个底层元件的设计,并被包装入库。现在利用已设计好的半加器,完成顶层

13、项目全加器的设计,详细步骤可参考前面的设计流程。这里不再详述。补充说明:多层设计流程与单一层次设计完全一样,此时低层次的设计项目只是高层次项目(顶层设计)中的某个或某些元件,而当前的顶层设计项目也可成为更高层设计中的一个元件。设计流程归纳462022/7/25步骤1:建立工作库文件夹步骤2:输入设计项目原理图/VHDL代码步骤3:存盘,注意原理图/文本取名步骤4:将设计项目设置成Project步骤5:选择目标器件步骤6:启动编译步骤7:建立仿真波形文件步骤8:仿真测试和波形分析步骤9:引锁定并编译步骤10:编程下载/配置步骤11:硬件测试补充说明本示例汇集主要讲述一个项目的设计原理与设计方法,

14、从而举一反三,提高自己的设计能力,前面讲述了设计流程,供初学者快速入门,要想知道更多软件使用知识请参考MuxPlusII学习课件,后面示例将以设计思路为主,本示例汇集都在型号为ZYE1502E的EDA-E实验箱上成功验证过。提出项目1.项目可行性2.项目功能3.设计思路4.具体建模项目设计1.设计输入2.综合3.适配4.仿真5.下载硬件测试(实践工具EDA-E实验箱)EDA-E实验箱为项目可行性提供了广阔的空间1.2:2位十进制数字频率计设计482022/7/25设计总框图计数输出测频时序控制电路计数器电路显示电路基准时钟待测时钟计数控制显示控制数码显示注意:这里仅设计二位十进制数字频率计,有

15、兴趣的同学在学习时考虑一下任意位数的频率计的设计,根据以上总框图电路模块其实是很容易扩展的。返回目录设计分析与实现492022/7/25(1)计数器模块:设计有时钟使能的两位十进制计数器:en:计数使能;clk:待测频率;clr:清零;cout:进位输出;q3.0:BCD码个位数输出;q7.4:BCD码十位数输出;频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器,这里用一个双十进制计数74390和其它一些辅助元件来完成。小知识:A、74390是从宏功能元件库mf调出,了解其详细功能有两个方法:方法一:双击调出的74390元件,可以分析原理图得知。方法二:如下图所示操作,弹出“ol

16、d-style Macrofunctions”帮助对话框,选择Counters选项,找到74390即可查阅到详细功能及逻辑真值表。通过帮助菜单可以查阅元件库元件的功能。小知识:512022/7/25B、总线定义方法如右图所示:q3.0等效于q3, q2, q1, q0。C、标有相同标号的线段可视作连接线段。设计分析与实现522022/7/25(2)显示模块:设计有锁存功能的两位BCD码译码器:lock:锁存时钟,clk:显示时钟锁存器BCD码译码位选7段码输出数码管片选设计分析与实现532022/7/25(3)测频时序控制模块:设计3个控制信号:计数器计数信号en、清零信号clr、锁存信号lo

17、ck。完成频率计自动测频功能。设计分析与实现542022/7/25(4)频率计顶层文件设计:(5)功能概述:对照频率计设计的顶层文件与总框图,可以了解到我们成功的用原理图的方式设计出了2位十进制频率计,8Hz是基准时钟,通过ctrol模块产生1Hz的en计数有效信号,及计数锁存信号lock,计数清零信号clr。32768Hz是数码管显示扫描信号,可完成多位数码显示。fry是待测频率,cout满一百时的进位显示,可通过发光二极管显示。在二位频率范围内,输入不同的待测频率可以马上在数码管显示出测量值。有兴趣的同学不妨按总框图的结构试用原理图设计出多位频率计的设计。设计误差分析 由于计数结果不对,我

18、们可以初步估计一下为计数出了问题,认真的分析一下计数器模块的输入时钟。如上图所示,由于en有延迟,导致在相与后多出一个下降沿(由于74390为下降沿触发计数,所以我们主要分析下降沿数目),我们是以8Hz的频率量作为基准频率来产生en,当然测量8Hz的频率是准确的,实际上相当于en没有延迟,测量当然没有误差,而其它频率量显然会产生误差,而这个误差都是由于en的延迟产生的,我们若要在硬件上去掉误差是相当困难的,因为en延迟不可控制,所以我们必须在多出一个下降沿之前锁存计数数据。把时序产生电路模块的en取反作为锁存信号load,这样刚好把多余的一个下降沿去掉。但是又出现了另外一个问题,即测量8Hz时

19、出现了问题,原来测量8Hz时是正确的,现在由于提前锁存导制测量偏小,我们把待测频率取反(如上图所示的CLK取反分析可知刚好正确,另外一个解决方法不用8Hz作为基准频率,用1Hz作基准频率即不存在这样的问题了),经实验是正确的,到现在找到了误差原因和解决了误差。 从上面分析可知,若不考虑到实际情况,一不小心就出现错误,因此除了会设计出程序出来,还会分析出错原因并修正。关于多位频率计的设计可参考EDA-E的实验指导书实验二十七。 我们设计完频率计后要进行验证,通过实验验证后发现所测频率量除了8Hz外都存在1Hz的误差,那么实际误差在那儿产生的呢?1.3:参数可设置LPM兆功能块设计562022/7

20、/251.31 LPM:Library of Parameterized ModulesLPM中功能模块的内容丰富,MAX+plus II中提供的LPM中有多种实用的兆功能块,可以在左图所示看到,每一模块的功能、 参数含义、使用方法、硬件描述语言模块参数设置及调用方法都可以在“Help”菜单中的“Megafunctions/LPM”命令中找到。以下将以基于LPM_ROM的4位乘法器设计(99乘法器)来说明LPM模块的原理图使用方法。返回目录基于LPM_ROM的4位乘法器设计572022/7/25(1)调出LPM_ROM兆功能块,将弹出“Edit Ports/Parameters”对话框(或双击

21、右上角的参数显示文字,或如下图所示右击选择可弹出对话框)。基于LPM_ROM的4位乘法器设计582022/7/25(2)设置LPM_ROM兆功能块参数:基于LPM_ROM的4位乘法器设计592022/7/25(3)设置结果如下:地址输入由时钟inclock的上升沿锁入乘法表数据文件,指示所存路径,路径要一致。q输出为非寄存方式q输出为8位address地址输入位为8位基于LPM_ROM的4位乘法器设计602022/7/25(4)4位乘法器原理图:4位乘法器原理说明: ad3.0四位作为乘数,乘法表的横选地址; ad7.4四位作为被乘数,乘法表的列选地址,clk为地址锁存时钟,q7.0为所选地址对应的乘法结果,乘法表根据以上原理建立,假如: 乘数ad3.0=4, 被乘数ad7.4=5,则在LPM_ROM中第五行,第六列所寄存的数据为20,即所得结果,通过q7.0输出。基于LPM_ROM的4位乘法器设计612022/7/25(5)乘法表的建立:在“New”菜单选择Text Editor File命令进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论