5.7.1 层次原理图的定义及结构
当设计的电路比较复杂的时候,用一张原理图来绘制显得比较困难,可读性也相对很差,此时可以采用层次型电路来简化电路。把一个完整的电路系统按照功能划分为若干子系统,即子功能电路模块。这样,设计人员就可以把每一个子功能电路模块的相应原理图绘制出来,然后在这些子原理图之间建立连接关系,从而完成整个电路系统的设计。不难看出,层次原理图的设计实际上就是一种化整为零、聚零为整的设计方法。
层次原理图设计的概念很像文件管理树状结构,设计者可以从绘制电路母原理图(简称母图)开始,逐级向下绘制子原理图(简称子图);也可以从绘制基本的子原理图开始,逐级向上绘制相应的母原理图。因此,层次原理图的设计方法可以分为两种,即自上而下的层次原理图设计方法和自下而上的层次原理图设计方法。
(1)自上而下:先设计好母原理图,再用母图的方块图来设计子图,如图5-138所示。
(2)自下而上:先设计好子原理图,再用子图来产生方块图连接成母图,如图5-139所示。
图5-138 自上而下 图5-139 自下而上
5.7.2 自上而下的层次原理图设计
层次原理图中是有包含的关系,这里我们介绍一下层次原理图自上而下设计思路,按照以下的步骤即可:
(1)创建分级的模块Hierarchical Block,在原理图设计的页面,执行命令Place->Hierarchical Block…,如图5-140所示。
(2)在弹出的对话框中,输入分级模块的名称,如图5-141所示,选择合适的参数,一般如图5-141所示设置即可,点击OK,则层次式原理图分级模块创建完毕;
图5-140 层次原理图创建分级模块示意 图5-141 层次原理图分级模块参数设置示意图
(3)在原理图页面画出合适的分级模块框框的大小,这个也可以后面进行调整,如图5-142所示,用于分配子端口的以及总线的位置;
(4)双击新生成的图框,或者选中图框进行右击,选择Descend Hierarchy,如图5-143所示,进行子图的设置;
图5-142 层次原理图分级模块方框设置示意图 图5-143 层次式原理图子图设置示意图
(5)在弹出来的对话框中填写原理图页面名,然后点击“OK”按钮,如图5-144所示,设置子图的原理图页的名称;
(6)在新生成的原理图页面中进行原理图的子图绘制设置,并放置好与总框图的接口Hierarchical Port,如图5-145所示;
图5-144 层次式原理图子图页设置示意图 图5-145 层次式原理图子图原理图绘制示意图
(7)双击放置的Hierarchical Port名,修改其名称,点击“OK”退出,如图5-146所示;
(8)然后返回到放置Hierarchical Block的页面,选中已放置好的框并右击选取Synchronize Up,然后在此框边缘会出面子原理图页面中的Hierarchical Port,如图5-147所示;图5-146 端子设置示意图 图5-147 端子设置示意图
(9)选取需修改的Hierarchical Port右击,选取Edit Properties进行编辑,如图5-148所示;
(10)在弹出来的对话框对其属性进行修改,然后保存退出即可,如图5-149所示,这样我们的层次原理图的模块就绘制完毕了,其它模块跟这个流程是一样的,这里就不在赘述了。
图5-148 属性设置示意图 图5-149 属性修改示意图
5.7.3 自下而上的层次原理图设计
自下而上的层次原理图设计和自上而下的层次原理图设计是刚好相反的顺序,首先先设计好各个模块的子原理图,然后通过子图来生成母图的方块图。首先我们需要在工程界面新建好我们所需要的子原理图,并在原理图文件夹下面新建原理图页。
(1)右击项目浏览窗口中的DSN文件,并选择“New Schematic”如图5-150所示,在弹出的“New Schematic”窗口中输入创建的子原理图文件夹名字,此处举例为“USB”如图5-151所示。
图5-150 新建原理图文件夹 图5-151 原理图文件夹命名窗口
(2)在新建好的原理图文件夹中,选中并右击,选择“New Page”来新建原理图页如图5-152所示,如图5-153是在弹出的窗口中编辑新原理图页的名字。
图5-152 新建原理图页 图5-153 原理图页命名窗口
(3)利用相同的方法再创建一个POWER的原理图文件夹及原理图页,完成效果图如图5-154所示。
图5-154 新建原理图文件夹及原理图页完成效果图
(4)一般来说我们新建工程文件时默认的“SCHEMATIC”文件夹一般是默认的总图,当然我们也可以自定义其他的文件夹为总图,右击需要设置的文件夹并选择“Make Root”如图5-155所示即可自定义需要的文件夹为总图,此处我们还是以默认的文件夹作为总图。
图5-155 设置总图
(5)新建好原理图文件夹、原理图页及设置好总图之后,我们需要在新建好的原理图页中设计好我们的电路图,并执行菜单命令“Place—Hierarchical Port”放置我们用来进行层次原理图设计的端口,如图5-156所示。然后双击放置的Hierarchical Port名,修改其名称,点击“OK”退出,如图5-157所示;
图5-156 放置端口
图5-157 端子设置示意图
(6)创建各个分级的模块电路图,然后将电路设计完毕之后,然后在我们的总图中放置好端Hierarchical Block,在原理图设计的页面,执行命令Place->Hierarchical Block…,如图5-158所示。并在弹出的对话框中,输入分级模块的名称,如图5-159所示,选择合适的参数,一般如图5-159所示设置即可,点击OK,则层次式原理图分级模块创建完毕;
图5-158 层次原理图创建分级模块示意图 图5-159 层次原理图分级模块参数设置示意图
(7)在原理图页面画出合适的分级模块框框的大小,这个也可以后面进行调整,如图5-160所示,用于分配子端口的以及总线的位置;与自上而下不同的地方是,此时放置的模块框已经自带了端口。
图5-160 层次原理图分级模块图 图5-161 层次原理图分级模块方框设置示意图
(8)利用同样的方法再次放置好POWER的分级模块并进行端口与端口之间的连线,此时我们的层次原理图即设置完毕,如图5-162所示。
图5-162 层次原理图
5.7.4 层次原理图调用已经创建好的模块
在层次原理图中,我们之前做好的模块如果是一样的,是可以重复调用的,这样就大大节省了我们设计的时间,特别是有很多重复性的功能模块情况下,调用已有模块的方法如下:
(1)创建分级的模块Hierarchical Block,在原理图设计的页面,执行命令Place->Hierarchical Block…,如图5-163所示。
(2)在弹出的对话框中,输入分级模块的名称,如图5-164所示,选择合适的参数,一般如图5-164所示设置即可,点击OK,则层次式原理图分级模块创建完毕;
图5-163 层次原理图创建分级模块示意 图5-164 层次原理图分级模块参数设置示意图
(3)在原理图页面画出合适的分级模块框框的大小,这个也可以后面进行调整,如图5-165所示,用于分配子端口的以及总线的位置;
(4)在当前项目中新建一个文件夹(文件夹名须与Implementation Nane的名字一致),将需要调用的模块原理图页面拷贝到文件夹下,如图5-166所示;
(5)进入到放置Hierarchical Block的页面,选中已放置好的框并右击选取Synchronize Up,然后在此框边缘会出面子原理图页面中的Hierarchical Port。最后对Hierarchical Port属性进行编辑即可,这样就完成了相同模块的复用,然后对相同的位号进行重新编号即可。
图5-165 层次原理图分级模块方框设置示意图 图5-166 拷贝调用的模块示意图