首页 百科知识 原理图方式设计步骤

原理图方式设计步骤

时间:2022-10-10 百科知识 版权反馈
【摘要】:本节以1位全加器的设计为例,介绍原理图输入的基本设计方法。以下将给出使用原理图输入的方法进行底层元件设计和层次化设计的主要步骤。为了设计半加器,分别调入元件and2、not、xnor、input和output。这种方法使原理图连线明了简洁。可以将前面的工作看成是完成了一个底层元件的设计,并被包装入库。现在利用已经设计好的半加器,完成顶层项目全加器的设计。

5.3.2 原理图方式设计步骤

本节以1位全加器的设计为例,介绍原理图输入的基本设计方法。1位全加器可以用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。以下将给出使用原理图输入的方法进行底层元件设计和层次化设计的主要步骤。

1)建立文件夹

建立一个文件夹,取名为fadder,路径为:D:\fadder。

2)输入设计项目

(1)打开MAX+plusⅡ,选菜单“File”→“New”,出现如图5.2所示的对话框,在框中选中“Graphic Editor file”,按“OK”按钮,这时将会出现一个名为Untitled的无标题图形编辑窗口。

(2)MAX+plusⅡ软件本身自带了不少元件,可直接调用。首先用鼠标选择左侧工具面板的选择工具img253,再到原理图编辑窗口中单击以确定输入的位置。然后选择菜单“Symbol”→“Enter Symbol”;或者在编辑窗口中的任何一个位置上右击鼠标,将出现快捷菜单,选择其中的输入元件项“Enter Symbol”;或者编辑窗口中的任何一个位置上双击鼠标左键,于是将弹出如图5.29所示的输入元件的对话框。

img254

图5.29 输入元件对话框

c:\maxplus2\max2lib\prim是基本逻辑元件库,如与门、或门、D触发器等;c:\maxplus2 \max2lib\mf是宏功能元件库,包含了几乎所有74系列的器件;c:\maxplus2 \max2lib \mega_lpm是参数可设置兆功能元件库,如lpm_rom。

(3)用鼠标双击元件库“Symbol Libraries”中的c:\maxplus2\max2lib\prim。在下面的“Symbol File”中将以列表方式将元件显示出来,选择要输入的元件,或在“Symbol Name”中直接输入所需元件名,然后单击“OK”按钮,即可将元件调入原理图编辑窗口中。当要放置多个相同的元件符号时,可采用复制的方法;当元件的摆放位置不理想时,可以选择旋转对其进行调整,其方法是用鼠标选中该元件后,单击右键弹出快捷菜单,选择其中的“Rotate”,可以选择“Rotate 90°/180°/270°”进行调整,也可以在Edit菜单下进行同样的操作。为了设计半加器,分别调入元件and2、not、xnor、input和output。

(4)放置好元件后,接下来就要实现对功能模块间逻辑信号的连接。有两种方法可以将元件的相应管脚连接起来。

①直接连接法。将鼠标移到其中的一个端口,则鼠标变为“+”形状,一直按住鼠标左键,将鼠标拖到待连接的另一个端口上,放开左键,则一条连线就画好了。这种方法优点是直观,但当模块比价多、管脚比较多时,会使原理图中的连线繁杂,看起来很混乱。

②标注连接法。在要连接的元件的管脚上做相同的标注,系统在编译时,会认为标注相同的地方在逻辑关系上是连接在一起的。这种方法使原理图连线明了简洁。

将调入的元件连接好,然后分别在INPUT和OUTPUT的PIN_NAME上双击使其变黑,再用键盘分别输入各引脚名:a、b、co和so,如图5.30所示。

img255

图5.30 连接好的半加器原理图

(5)选择菜单“File”→“Save As”选择刚才为工程建立的目录D:\fadder,将已经设计好的图形文件取名为:h_adder.gdf(原理图文件名可以用设计者认为合适的任何英文名),单击“OK”按钮。

3)将当前设计项目设置成工程文件

在编译文件h_adder.gdf之前,需要设置该文件为顶层文件(工程文件)Project。选择菜单“File”→“Project”→“Set Project to Current File”。如果设计项目中有多个设计文件组成,则应将它们的主文件,即顶层文件设置成Project。

4)选择目标器件并编译

选择目标器件,如EP1K30TC144-3,同样应去掉“Show Only Fastest Grades”选项中的“√”,以便显示所有速度级别的器件,才能显示EP1K30TC144-3(见图5.6)。选择“MAX+plusⅡ”→“Compiler”菜单,在进入的编译窗口(见图5.7)中,选择“Processing”→“Fitter Setting”,在打开的对话框中,消去最上面的“Use Quartus Fitter...”项中的“√”(见图5.9),最后在“Compiler”窗口中按下“Start”按钮,启动编译过程,直到编译结束。如果发现有错误,选中该错误,然后按下“Locate”按钮,将找到该错误在设计文件中所处的位置。

5)时序仿真

时序仿真同文本输入法中介绍的相同。

(1)建立仿真波形文件。

(2)输入信号节点。如图5.31所示。

(3)设置波形参量

在“Options”菜单中消去网格对齐项“Snap to Grid”左侧的“√”,然后设定仿真时间长度,选择“File”→“End Time...”,在End Time对话框中选择适当的仿真时间域,可选50us以便有足够长的观察时间。

(4)设置输入信号波形。为输入信号a和b分别加上时钟信号,方法是单击左侧的信号名a,使其变黑,然后单击左侧工具栏(见图5.15)的时钟按钮,并在弹出的“Overwrite Clock”窗口中(见图5.16)设定时钟周期,本例设置a为400ns。同理可设置b为200ns。最后选择菜单“File”→“Save As”,按“OK”按钮即可。

img256

图5.31 输入信号节点

(5)运行仿真器进行仿真

img257

图5.32 半加器仿真结果

图5.32即为仿真运算完成后的时序波形。验证:当a为1,b为1时,so应为0,进位co应为1,图5.32显示的时序波形是正确的。

6)包装入库

最后是包装元件入库。选择菜单“File”→“Open”,在“Open”对话框中选择“Graphic Editor Files”,然后选择h_adder.gdf,重新打开半加器设计文件,然后选择“File”→“Creat Default Symbol”,将当前文件变成了一个包装好的单一元件,并被放置在工程路径指定的目录中以备后用。

7)设计顶层文件

可以将前面的工作看成是完成了一个底层元件的设计,并被包装入库。现在利用已经设计好的半加器,完成顶层项目全加器的设计。

img258

图5.33 在顶层编辑窗口中调出已设计好的半加器元件

(1)仿照前面的步骤,打开一个新的原理图编辑窗口,然后在编辑窗口中的任何一个位置上右击鼠标,将出现快捷菜单,选择其中的输入元件项“Enter Symbol”,在弹出的对话框“Symbol File”中将显示包装好的元件h_adder(见图5.33),然后单击“OK”按钮,即可将元件调入原理图编辑窗口中。然后复制元件h_adder,再调入元件or2、input和output。

(2)放置好元件后,将调入的元件连接好,然后分别在INPUT和OUTPUT的PIN_NAME上双击使其变黑,再用键盘分别输入各引脚名:ain、bin、cin、sum和cout,如图5.34所示。并以文件名f_adder.gdf存在同一目录中。

img259

图5.34 设计好的全加器原理图

(3)将文件设置成Project。

(4)选择目标器件为EP1K30TC144-3并编译。

(5)时序仿真。对应f_adder.gdf的波形仿真文件如图5.35所示。验证:当ain为1,bin为1,cin为1时,sum应为1,进位cout应为1,图5.32显示的时序波形是正确的。

img260

图5.35 1位全加器的时序仿真波形

6)引脚锁定

根据评估板或EDA实验板,确定实验的模式为6,用键3(PIO8)、键4(PIO9)和键5(PIO10)控制输入ain、bin和cin,用发光管D1(PIO16)和D2(PIO17)控制输出sum和cout。然后查目标器件引脚名和引脚号对照表(见附表1),引脚号分别为20、21、22、30和31。再选择菜单“Assign”→“Pin/Location/Chip...”弹出一个对话框来设置引脚。锁定好的引脚如图5.36所示。引脚锁定后必须再通过“MAX+plusⅡ”的编译器“Compiler”,对文件重新进行编译一次,以便将引脚信息编入下载文件中。

img261

图5.36 引脚锁定

7)编程下载

将实验板连接好,接好电源,选实验电路模式6。启动“MAX+plusⅡ”→“Programmer”,在出现的对话框中单击“Configure”按钮,如果连线无误,应出现报告配置完成的信息提示“Configuration Complete”。硬件测试:按下键3、键4和键5,此时ain为‘ 1’,bin为‘ 1’,cin为‘ 1’,发光管D1和D2亮,表明设计正确。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈