分离窗口选择工具插入文本插入符号插入模块器件连线画总线画管道部分线选择工具全屏切换查找工具水平翻转垂直翻转逆时针旋转90o分离窗口画椭圆分离窗口画弧线橡皮筋功能缩放工具
图1-11 原理图编辑工具栏说明图
3、在原理图编辑窗中的任何一个位置上双击鼠标左键,或执行菜单 Edit→Insert Symbol...;或点击图1-11所示的插入符号(元件)按钮,将弹出如图1-12所示的输入元件选择窗。在左侧的Libraries选择区域可以展开元件库。“megafuctions”为兆功能元件库;“others”主要包括maxplus2中的元
件库;“primitives”为基本元件库,主要包括缓存、基本逻辑门、输入输出管脚符号、触发器等。或直接在“Name:”区域直接输入元件名称以快速的找到所需的元件。点击“MegaWizard Plug-In Manager…”按钮,可以进入添加参数可设置的兆功能模块向导。
根据公式1-1可知,我们需要两个基本的逻辑门器件----两个信号的与门和异或门(XOR)。我们可以展开“primitives”基本元件库的的logic基本逻辑门器件列表,分别找到and2选择“OK”,并在原理图输入区放置到合适的位置。同样添加xor元件。
同时我们还要添加输入(input)、输出(output)引脚符号。 说明:
1.寻找、选择器件时可以直接在“Name:”下直接输入元件或符号名
2.如果是同一原理图存在较多的相同元件,在添加第一个元件后,在原理图上可以点选改器件,使用快捷键“CTRL+ c”进行复制,然后鼠标点击其它空白区域,使用快捷键“CTRL+ v”进行粘贴。 3.为了连线方便,有连线的器件尽量距离靠近一些;为了原理图美观,尽量器件对齐。要养成好的习惯,以达到较好的视觉效果
11
所选择元件预览区
图1-11 选择元件界面
4、按照式1-1,进行连线,结果如图1-12所示。
AND2AINPUTVCCOUTPUTCOinstXOROUTPUTBINPUTVCCSOinst2 图1-12 半加器原理图
说明:
1. 放置元器件后,每个元器件的符号的左下角都有一个编号,如“inst”、“inst2”,是输入元件时软件的自动顺序标号,编译时如果该元件有错误,会提示[ID:*] 错误,便于区别和寻找。
2. “INPUT”为输入管脚符号,双击该符号,则弹出如图1-13所示的输入管脚属性设置对话框,为了方便的区分管脚名称,在“Pin name(s):”栏可以对管脚进行重命名。在“Default value:”栏可以
12
对输入管脚的默认电平进行设置。在“Format”选项卡可以对内部线的颜色和字体进行设置。
图1-13 输入管脚属性设置对话框
3、对“Pin name”和“Default value”的设置也可以这样设置:在管脚名称或默认电平区域点击鼠标,然后再点击鼠标(中间有一定的时间间隔不要双击而进入图1-13的界面),会选中该名称,然后进行相应的输入或设置。如果修改完成后,键入“Enter”键确定,且该管脚不是同类管脚的最后一个添加的管脚,则自动跳到其下一个添加的同类管脚的相应位置进行修改。
4、关于连线:如果需要连接两个元件端口,则将鼠标移动到其中的一个端口上,这时鼠标指示符会自动变为“+”形,然后按住鼠标左键并拖动鼠标至第二个端口(或其它地方),松开鼠标后则可画出一条连线。如果两个元件端口并未在同一水平线或垂直线上,先拖动鼠标到合适位置,松开后在此处继续拖动鼠标左键,即可改变为折线。
也可以这样方便的连线:如图1-12,如果在CO和AND2之间需要连线,在图1-11的“橡皮筋功能”使能的情况下,移动CO的管脚符号使其需要连线的端口和AND2符号的输出端口贴紧,松开鼠标,然后移动管脚CO,在这两个端口之间就方便连线了。
如果需要删除某段连线,左键点选该线为蓝色(颜色和软件的设置有关),按“Delete”删除。如果要对某段线相通的全部连线进行操作,在线上双击鼠标即可选择其全部连线,然后点击鼠标右键进行删除、旋转操作和线类型设置等。
对原理图操作时,一般工具箱一直选择的是“选取工具”,结合鼠标的右键弹出的相应功能,基本可以完成全部的操作了。
在空白区域点击并拖动鼠标可以选择区域内的元件和连线。
元件之间的连线尽量不要和元件符号的边缘虚线重合,也尽量不要从元件符号区域穿过。不仅原理图不美观,且无法发现连线的错误。
4、执行菜单File →Save,或点击快捷按钮中的保存按钮,文件取名为:h_adder.bdf (注意后缀是.bdf)。在保存文件时,文件名可以用设计者认为合适的任何英文名,但是不要和所使用的元件名重名,名称也最好和其功能相联系。
在保存界面上,一定要勾选“Add file to current project”,即把该文件加入到该工程。
重点注意:保存文件时一定要注意对文件的命名,绝对不能相互之间重名;对软件默认(建议)保
存的名称一定要仔细看清楚,是否使用。否则一定会出错误,对初学者来说,这个错误是经常遇到的。
13
步骤3:设置顶层文件
如果设计项目由多个设计文件组成,则应该将它们的主文件,设置成顶层文件。文件保存后,工程控制面板的信息如图1-14所示,在文件选项卡,选择待设置为顶层文件的文件,点击鼠标右键,弹出如图1-15所示的文件操作界面。
(a) 层级选项卡 (b) 文件选项卡
图1-14 工程控制面板
图1-15 文件操作界面
在该界面中:“Remove Filr from Project”是把从工程中移除该文件(不不是删除文件);“Set as Top-Level Entity”是把该文件设置为本工程的顶层文件(类似主程序),在编译时,就编译该文件以及与其相关的文件。我们执行“Set as Top-Level Entity”操作,把“h_adder.bdf”设置为顶层文件。这时图1-14所示的层级选项卡的顶层文件会相应的改变。 步骤4:引脚锁定
如果需要将设计编程下载进选定的目标器件中,进行硬件的测试,以便最终了解设计项目的正确性。这就必须根据评估板、开发电路系统或EDA实验板的要求对设计项目输入输出引脚赋予确定的引脚,以便能够对其进行实测。
在实验中,为了验证设计的正确性,就需要一定的外围电路。如本实验中,为了能控制输入信号的变化,就需要按键、拨动开关之类的电路,可以方便地控制输入的高低电平变化。本实验的输出信号只是高低电平变化,故需要使用LED,LED的亮灭变化能显示输出管脚的电平变化。假设本实验使用K1控制A、K2控制B、LED1显示CO、LED2显示SO。
如果不锁定管脚,直接下载到FPGA芯片上,半加器的4引脚A、B、CO、SO与FPGA芯片的IO管脚是随机分配的。锁定管脚,就是把半加器的输入输出管脚人为固定分配。例如我们要用K1控制半加器的输入A,实验板本身,已经把按键的信号和FPGA器件的编号为121的管脚相连接,我们只需在FPGA器件内部使半加器的输入A和121管脚相连即可,即锁定管脚,这样就实现K1控制半加器的输入信号A了。
本实验管脚分配如表1-1所示。
信号 A
14 引脚 121 B CO SO 122 50 53 执行菜单“Assignments”→“Assignment Edit”或点击与其对应的快捷按钮,弹出如图1-16所示的引脚分配对话框。
管脚顺序编号
图1-16 分配引脚对话框
在该对话框内,不激活“Show All Assignable Pin Number”的按钮Pin Names”的按钮
,激活“Show All Known
,可以只显示输入输出管脚的信息。在“Value”栏,点击相应的区域,可以
直接输入相应的管脚编号,回车后,自动跳到下一个。完成引脚分配后,关闭该子窗口,进行保存,或点击保存按钮。切换到“h_adder.bdf”文件,则看到原理图文件中的输入输出管脚附近有该管脚的引脚标号信息。如果没有引脚标号信息,执行菜单“View”,激活“Show Location Assignments”即可;或在原理图文件空白区域点击鼠标右键,在弹出的菜单“Show”中激活该选项设置。
注意:器件和引脚的其它设置 执行菜单““Assignments”→“Device…”,弹出如图1-17所示的器件选择对话框。如果需要,在这里可以重新选择FPGA器件。(更改器件可能需要重新引脚锁定)。
15