1、 能对设计方案作随时更改,并储存入档设计过程中所有的电路和测试文件; 通过编译和编程下载,能在FPGA或CPLD上对设计项目随时进行硬件测试验证。 如果使用FPGA和配置编程方式,将不会有如何器件损坏和损耗; 符合现代电子设计技术规范。传统的数字电路实验利用手工连线的方法 完成元件连接,容易对学习者产生误导,以为只要将元件间的引脚用引线按电路图连上即可,而不必顾及引线的长短、粗细、弯曲方式、可能产生的分布电感和电容效应以及电磁兼容性等等十分重要的问题。 以下将以一位全加器的设计为例详细介绍原理图输入设计方法,但应该更多地关注设计流程,因为除了最初的图形编辑输入外,其它处理流程都与文本(如VHD
2、L文件)输入设计完全一致。1位全加器可以用两个半加器及一个或门连接而成,因此需要首先一个半加器的设计。以下将给出使用原理图输入的方法进行底层元件设计和层次化设计的完整步骤,其主要流程与数字系统设计的一般流程基本一致。事实上,除了最初的输入方法稍有不同外,应用VHDL的文本输入设计方法的流程也基本与此相同。 步骤1:为本项设计建立文件夹 任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)。一般不同的设计项目最好放在不同的文件夹中,注意,一个设计项目可以包含多个设计文件,例如数字频
3、率计。 图A3-1 进入Max+plusII,建立一个新的设计文件 图A3-2 元件输入选择窗 假设本项设计的文件夹取名为MY_PRJCT,在E盘中,路径为:E:MY_PRJCT。文件夹不能用中文。 步骤2:输入设计项目和存盘 1、打开Mux+plusII,选菜单 (图A3-1),在 弹出的 窗中选原理图编辑输入项Graphic editor File,按OK后将打开原理图编辑窗。 2、在原理图编辑窗中的任何一个位置上点鼠标右键,将跳出一个选择窗,选择此窗中的输入元件项Enter Symbol,于是将跳出如图A3-2所示的输入元件选择窗。3、用鼠标双击文件库“Symbol Libraries”
4、中的e: maxplu2max2libprim项,在Symbol Files窗中即可看到基本逻辑元件库prim中的所有元件,但也可以在Symbol Name窗中用键盘直接输入所需元件名,在按OK键,即可将元件调入原理图编辑窗中。如为了设计半加器,分别调入元件and2、not、xnor、input和output(图A3-3)并连接好。然后用鼠标分别在input和output的PIN-NAME上双击使其变黑色,再用键盘分别输入各引脚名:a、b、co和so。 4、点击选项File “Save As”,选出刚才为自己的工程建立的目录E:MY_PRJCT,将已设计好的图文件取名为:h_adder.gdf
5、 (注意后缀是.gdf),并存在此目录内。图A3-3 将所需元件全部调入原理图编辑窗 注意,原理图的文件名可以用设计者认为合适的任何英文名(VHDL文本存盘名有特殊要求),如adder.gdf(加法器)等。还应注意,为了将文件存入自己的E:MY_PRJCT目录中,必须在如图A3-4的Save as窗中双击MY_PRJCT目录,使其打开,然后键入文件名,并按OK。图A3-4 连接好原理图并存盘 注意:原理图画好后,可以建立成一个默认的逻辑符号,Flie - creat default symbol,则可以将用户刚刚设计的电路形成一个模块符号h_adder。图A3-5 将当前设计文件设置成工程文件
6、 步骤3:将设计项目设置成工程文件(PROJECT) 为了使Max+plusII能对输入的设计项目按设计者的要求进行各项处理,必须将设计文件,如半加器h_adder.gdf,设置成Project。如果设计项目由多个设计文件组成,则应该将它们的主文件,即顶层文件设置成Project。如果要对其中某一底层文件进行单独编译、仿真和测试,也必须首先将其设置成Projcet。图A3-6 选择最后实现本项设计的目标器件 将设计项目(如h_adder.gdf)设定为工程文件设置成Project有两个途径: 1、如图A3-5,选择File Project Set Project to Current File
7、,即将当前设计文件设置成Project。选择此项后可以看到图A3-5所示的窗口左上角显示出所设文件的路径。这点特别重要,此后的设计应该特别关注此路径的指向是否正确! 2、如果设计文件未打开,可如图A3-5所示,选 File Project Name ,然后在跳出的Project Name窗中找到E:MY_PRJCT目录,在其File小窗中双击adder.gdf文件,此时即选定此文件为本次设计的工程文件(即顶层文件)了。 步骤4:选择目标器件并编译图A3-7 对工程文件进行编译、综合和适配等操作 为了获得与目标器件对应的,精确的时序仿真文件,在对文件编译前必须选定最后实现本设计项目的目标器件,在
8、Max+plusII环境中主要选Altera公司的FPGA或CPLD。 首先在Assign选项的下拉菜单中选择器件选择项Device,其窗口如图A3-6所示。此窗口的Device Family是器件序列栏,应该首先在此拦中选定目标器件对应的序列名,如EPM7128S对应的是MAX7000S系列;EPF10K10对应的是FLEX10K系列等。为了选择EPF10K10LC84-4器件,应将此栏下方标有Show only Fastest Speed Grades的勾消去,以便显示出所有速度级别的器件。完成器件选择后,按OK键。 最后启动编译器,首先选择左上角的MAX+plusII选项,在其下拉菜单中
9、选择编译器项Compiler(图A3-7),此编译器的功能包括网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和编程下载文件装配等。 点击Start,开始编译!如果发现有错,排除错误后再次编译。 步骤5:时序仿真 接下来应该测试设计项目的正确性,即逻辑仿真,具体步骤如下: 1、建立波形文件。按照以上“步骤2”,为此设计建立一个波形测试文件。选择File项及其New,再选择图A5-1右侧New窗中的Waveform Editer.项,打开波形编辑窗。 2、输入信号节点。在图A3-8所示的波形编辑窗的上方选择Node项,在下拉菜单中选择输入信号节点项Nodes f
10、rom SNF。在弹出的窗口(图A3-9)中首先点击List键,这时左窗口将列出该项设计所以信号节点。由于设计者有时只需要观察其中部分信号的波形,因此要利用中间的“=”键将需要观察的信号选到右栏中,然后点击OK键即可。图A3-8 从SNF文件中输入设计文件的信号节点图A3-9 列出并选择需要观察的信号节点图A3-10 在Options选项中消去网格对齐Snap to Grid的选择(消去勾) 3、设置波形参量。图A3-10所示的波形编辑窗中已经调入了半加器的所有节点信号,在为编辑窗的半加器输入信号a和b设定必要的测试电平之前,首先设定相关的仿真参数。如图A3-10所示, 在Options选项中
11、消去网格对齐Snap to Grid的选择(消去勾),以便能够任意设置输入电平位置,或设置输入时钟信号的周期。 4、如图A3-11所示,设定仿真时间宽度。选择File项及其End time选项,在End time选择窗中选择适当的仿真时间域,如可选34us(34微秒),以便有足够长的观察时间。 5、加上输入信号。现在可以为输入信号a和b设定测试电平了。如图A3-12标出的那样,利用必要的功能键为a和b加上适当的电平,以便仿真后能测试so和co输出信号。图A3-11 设定仿真时间宽度图A3-12 为输入信号设定必要的测试电平或数据 图A3-13 仿真波形文件存盘图A3-14 运行仿真器图A3-1
12、5 半加器h_adder.gdf的仿真波形 6、波形文件存盘。选择File项及其Save as选项,按OK键即可。由于图A3-13所示的存盘窗中的波形文件名是默认的(这里是h_adder.scf),所以直接存盘即可。 7、运行仿真器。选择MAX+plusII项及其中的仿真器Simulator选项,点击跳出的仿真器窗口(图A3-15)中的Start键。图5-15是仿真运算完成后的时序波形。注意,刚进入图A3-15的窗口时,应该将最下方的滑标拖向最左侧,以便可观察到初始波形。 8、观察分析波形。通过分析,图A3-15显示的半加器的时序波形是正确的。还可以进一步了解信号的延时情况。图A3-15右侧的
13、竖线是测试参考线,它上方标出的991.ns是此线所在的位置,它与鼠标箭头间的时间差显示在窗口上方的Interval小窗中。由图可见输入与输出波形间有一个小的延时量。图A3-16 打开延时时序分析窗 图5-17 半加器引脚锁定 为了精确测量半加器输入与输出波形间的延时量,可打开时序分析器,方法是选择左上角的MAX+plusII项及其中的Timing Analyzer选项,点击跳出的分析器窗口(图A3-16)中的Start键,延时信息即刻显示在图表中。其中左排的列表是输入信号,上排列出输出信号,中间是对应的延时量,这个延时量是精确针对EPF10K10LC84-4器件的。 9、包装元件入库。选择Fi
14、le项的“Open”选项,在“Open”窗中先点击原理图编辑文件项Graphic Editor Files,选择h_adder.gdf,重新打开半加器设计文件,然后如图A3-5选择File中的Create Default Symbol项,此时即将当前文件变成了一个包装好的单一元件,并被放置在工程路径指定的目录中以备后用。 步骤6:引脚锁定 如果以上的仿真测试正确无误,就应该将设计编程下载进选定的目标器件中,如EPF10K10,作进一步的硬件测试,以便最终了解设计项目的正确性。这就必须根据评估板、开发电路系统或EDA实验板的要求对设计项目输入输出引脚赋予确定的引脚,以便能够对其进行实测。这里假设根据实际需要,要将半加器的4引脚a、b、co和so分别与目标器件EPF10K10的第5、6、17和18脚相接,操作如下: 1、选择Assig
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1