4.1.4 ISE软件的基本操作
1.ISE用户界面
ISE9.1i的界面如图4-6所示,由上到下主要分为标题栏、菜单栏、工具栏、工程管理区、源文件编辑区、过程管理区、信息显示区、状态栏等8部分。
1.ISE用户界面
ISE9.1i的界面如图4-6所示,由上到下主要分为标题栏、菜单栏、工具栏、工程管理区、源文件编辑区、过程管理区、信息显示区、状态栏等8部分。
图4-6 ISE的主界面
∙ 标题栏:主要显示当前工程的名称和当前打开的文件名称。
∙ 菜单栏:主要包括文件(File)、编辑(Edit)、视图(View)、工程(Project)、源文件(Source)、操作(Process)、窗口(Window)和帮助(Help)等8个下拉菜单。其使用
方法和常用的Windows软件类似。
∙ 工具栏:主要包含了常用命令的快捷按钮。灵活运用工具栏可以极大地方便用户在ISE中的操作。在工程管理中,此工具栏的运用极为频繁。
∙ 工程管理区:提供了工程以及其相关文件的显示和管理功能,主要包括源文件视图(Source View),快照视图(Snapshot View)和库视图(Library View)。其中源文件视图比较常用,显示了源文件的层次关系。快照是当前工程的备份,设计人员可以随时备份,也可以将当前工程随时恢复到某个备份状态。快照视图用于查看当前工程的快照。执行快照功能的方法是选择菜单项Project | Take Snapshot。库视图则显示了工程中用户产生的库的内容。
∙ 源文件编辑区:源文件编辑区提供了源代码的编辑功能。
∙ 过程管理区:本窗口显示的内容取决于工程管理区中所选定的文件。相关操作和FPGA设计流程紧密相关,包括设计输入、综合、仿真、实现和生成配置文件等。对某个文件进行了相应的处理后,在处理步骤的前面会出现一个图标来表示该步骤的状态。
∙ 信息显示区:显示ISE中的处理信息,如操作步骤信息、警告信息和错误信息等。信息显示区的下脚有两个标签,分别对应控制台信息区(Console)和文件查区(Find in Files)。如果设计出现了警告和错误,双击信息显示区的警告和错误标志,就能自动切换到源代码出错的地方。
∙ 状态栏:显示相关命令和操作的信息。
2.ISE菜单的基本操作
ISE所有的操作都可通过菜单完成,下面简要介绍ISE的菜单命令以及功能。
(1)File菜单
File菜单的命令包括:New Project、Open Project、Open Examples、Close Project、Save Project As、New、Open、Save、Save As、Save All、Print Preview、Print、Recent Files、Recent Projects以及Exit等。
ISE所有的操作都可通过菜单完成,下面简要介绍ISE的菜单命令以及功能。
(1)File菜单
File菜单的命令包括:New Project、Open Project、Open Examples、Close Project、Save Project As、New、Open、Save、Save As、Save All、Print Preview、Print、Recent Files、Recent Projects以及Exit等。
New Project命令:用于新建工程,是开始设计的第一步。ISE会为新建的工程创建一个和工程同名的文件夹,专门用于存放工程的所有文件。
Open Project命令:用于打开已有的ISE工程。高版本的ISE可以打开低版本的工程,但需要版本转换,该转换是单向的、不可逆的,因此需要做好版本备份。低版本的ISE不能打开高版本的ISE工程。
Open Examples命令:用于打开ISE提供的各种类型的示例。
Close Project命令:关闭当前工程。如果关闭前未保存文件,ISE会提示用户保存后再退出。
Save Project As命令:可将整个工程另存为其他名字的工程,在大型开发中,常使用该命令来完成版本备份。
New命令:用于新建源文件,可生成原理图、符号以及文本文件。文本文件另存为时可修改其后缀名,以生成.v或.vhd的源文件。
Open命令:用于打开所有Xilinx所支持的文件格式,便于用户查看各类文件资源。
Save、Save As以及Save All命令:分别用于保存当前源文件、另存为当前源文件以及保存所有源文件。用户要在开发当中养成及时保存文件的习惯,避免代码丢失。
Print Preview命令:用于打印预览当前文件,Print用于打印当前文件。
Recent Files命令:用于查看最近打开的文件。
Recent Projects命令:用于查看最近打开的工程。
Exit命令:用于退出ISE软件。
Save、Save As以及Save All命令:分别用于保存当前源文件、另存为当前源文件以及保存所有源文件。用户要在开发当中养成及时保存文件的习惯,避免代码丢失。
Print Preview命令:用于打印预览当前文件,Print用于打印当前文件。
Recent Files命令:用于查看最近打开的文件。
Recent Projects命令:用于查看最近打开的工程。
Exit命令:用于退出ISE软件。
2)Edit菜单
Edit菜单的命令包括:Undo、Redo、Cut、Copy、Paste、Delete、Find、Find Next、Find in Files、Language Templates、Select All、Unselect All、Message Filters、Object Properties以及Preference等,大多数命令用于源代码开发中。
Undo命令:用于撤销当前操作,返回到前一状态。
Redo命令:是Undo命令的逆操作,用于恢复被撤销的操作。
Edit菜单的命令包括:Undo、Redo、Cut、Copy、Paste、Delete、Find、Find Next、Find in Files、Language Templates、Select All、Unselect All、Message Filters、Object Properties以及Preference等,大多数命令用于源代码开发中。
Undo命令:用于撤销当前操作,返回到前一状态。
Redo命令:是Undo命令的逆操作,用于恢复被撤销的操作。
Cut命令:剪贴选中的代码, 快捷键为“CRTL+X”。
Copy命令:复制选中的代码, 快捷键为“CRTL+C”。
Paste命令:粘贴剪贴和复制的代码, 快捷键为“CRTL+V”。
Delete命令:删除选中的代码。
Find命令:查选中的文字,或寻在其输入框中输入的内容,快捷键为“CRTL+F”。
Find Next命令:寻下一个要查的内容,并跳至相应的位置,快捷键为“F3 ”。
Language Templates命令:可打开语言模版,里面有丰富的学习资料,是非常完整的HDL语言帮助手册,其地位类似于VisualC++的MSDN。
Select All命令:选中所有的代码,其快捷键为“CRTL+A”。
Unselect All命令:撤销已选中的全部代码,是Select All的逆操作。
Message Filter命令:过滤消息,只显示用户期望的消息。
Preference命令:用于设定ISE的启动参数以及运行参数,有着众多的设置项,最常用的就是第三方EDA软件的关联设置,将在第4.5节详细介绍。
(3)View菜单
Copy命令:复制选中的代码, 快捷键为“CRTL+C”。
Paste命令:粘贴剪贴和复制的代码, 快捷键为“CRTL+V”。
Delete命令:删除选中的代码。
Find命令:查选中的文字,或寻在其输入框中输入的内容,快捷键为“CRTL+F”。
Find Next命令:寻下一个要查的内容,并跳至相应的位置,快捷键为“F3 ”。
Language Templates命令:可打开语言模版,里面有丰富的学习资料,是非常完整的HDL语言帮助手册,其地位类似于VisualC++的MSDN。
Select All命令:选中所有的代码,其快捷键为“CRTL+A”。
Unselect All命令:撤销已选中的全部代码,是Select All的逆操作。
Message Filter命令:过滤消息,只显示用户期望的消息。
Preference命令:用于设定ISE的启动参数以及运行参数,有着众多的设置项,最常用的就是第三方EDA软件的关联设置,将在第4.5节详细介绍。
(3)View菜单
View菜单主要管理ISE软件的视图,不涉及FPGA开发中的任何环节,其中常用的命令有Layout Horizontally、Layout Vertically以及Restore Default Layout。
Layout Horizontally命令:将水平地排列ISE主界面中过程管理区、过程管理区以及代码编辑区等主要栏目。
Layout Vertically命令:将垂直地排列ISE主界面中过程管理区、过程管理区以及代码编辑区等主要栏目。
Restore Default Layout命令:将恢复ISE默认的主界面布局。
(4)Project菜单
Project菜单包含了对工程的各个操作,是设计中最常用的菜单之一,包括New Source、Add Source、Add Copy of source、Cleanup Project Files、Toggle Paths、Archive、Take Snapshot、Make Snapshot Current、Apply Project Properties以及Source Control正版源码命令。
New Source命令:用于向工程中添加源代码,可以添加HDL源文件、IP Core以及管脚和时序约束文件。
Add Source命令:将已有的各类源代码文件加入到工程中,Verilog模块的后缀为.v,VHDL模块的后缀为.vhd,IP core源文件为.xco文件或.xaw文件,约束文件的后缀为.ucf。
Add Copy of source命令,将目标文件拷贝一份添加到工程中。
Cleanup Project Files命令:用于清空综合和实现过程所产生的文件和目录。如果在EDIF设计模式中,只清空实现过程所产生的文件。
Toggle Paths命令:用于显示或隐藏非工程文件夹中的远端源文件的路径;
Archive命令:用于压缩当前工程,包括所有的文件,默认压缩类型为.zip格式。
Take Snapshot命令:用于产生一个工程快照,即当前目录和远程资源的一个只读记录,常用于版本控制。
Make Snapshot Current命令:用户恢复快照覆盖当前工程。由于该命令会将当前工程删除,所以使用前一定要做好数据备份工作。
Apply Project Properties命令:应用工程属性,会提示用于选择相应工程。
Source Control常用于代码的导入和导出,有Export和Import两个子命令。
Add Source命令:将已有的各类源代码文件加入到工程中,Verilog模块的后缀为.v,VHDL模块的后缀为.vhd,IP core源文件为.xco文件或.xaw文件,约束文件的后缀为.ucf。
Add Copy of source命令,将目标文件拷贝一份添加到工程中。
Cleanup Project Files命令:用于清空综合和实现过程所产生的文件和目录。如果在EDIF设计模式中,只清空实现过程所产生的文件。
Toggle Paths命令:用于显示或隐藏非工程文件夹中的远端源文件的路径;
Archive命令:用于压缩当前工程,包括所有的文件,默认压缩类型为.zip格式。
Take Snapshot命令:用于产生一个工程快照,即当前目录和远程资源的一个只读记录,常用于版本控制。
Make Snapshot Current命令:用户恢复快照覆盖当前工程。由于该命令会将当前工程删除,所以使用前一定要做好数据备份工作。
Apply Project Properties命令:应用工程属性,会提示用于选择相应工程。
Source Control常用于代码的导入和导出,有Export和Import两个子命令。
(4)Source菜单
Source菜单主要面向工程管理区,包含了对资源文件的各个操作,每个命令的操作也都可以在工程管理区单击右键弹出的对话框中点击实现,包括:Open、Set as Top Module、Use SmartGuide、New Partition、Delete Partition、Partition properties、Partition Force、Remove、Move to library以及Properties等命令。
Open命令:可打开所有类型的源文件,包括.v、.vhd、.xco、.xaw以及.ucf等格式。
Set as Top Module命令:用于将选中的文件设置成顶层模块。只有设置成顶层模块,才能对其综合、实现以及生成相应的二进制比特流文件。
Use SmartGuide命令:允许用户在本次实现时利用上一次实现的结果,包括时序约束以及布局布线结果,可节省实现的时间,但前提是工程改动不大。
New Partition命令:新建分区,常用于区域约束。
Delete Partition命令:删除区域约束的分区
Partition properties命令:可设置分区属性,详细说明刻参考4.4.4节内容。
Partition Force命令:包含“Force Synthesis Out-of-data”和“Force Implement Design Out-of-data”两个指令,分别用于分区综合和增量设计。
Remove命令:把选中的文件从工程中删除,但仍保留在计算机硬盘上。
Move to library命令:将选中的源文件移动到相应的库中,以便建立用户文件库。
Properties命令:查看源文件属性,有Synthesis/Implementation Only、Simulation Only以及Synthesis/Imp+ Simulation三种类型,其中Simulation Only类文件只能仿真,不能被综合。
(5)Process菜单
Process菜单包含了工程管理区的所有操作,每个命令的操作也都可以在过程管理区点击相应的图标实现,包括:Inmolement Top Module、Run、Rerun、Rerun All、Stop、Open Without Updating 以及Properties等命令。
Inmolement Top Module命令:完成顶层模块的实现过程。
Run命令:在工程过程栏,选中不同的操作,点击改命令,可分别启动综合、转换、映射、布局布线等过程。
Remove命令:把选中的文件从工程中删除,但仍保留在计算机硬盘上。
Move to library命令:将选中的源文件移动到相应的库中,以便建立用户文件库。
Properties命令:查看源文件属性,有Synthesis/Implementation Only、Simulation Only以及Synthesis/Imp+ Simulation三种类型,其中Simulation Only类文件只能仿真,不能被综合。
(5)Process菜单
Process菜单包含了工程管理区的所有操作,每个命令的操作也都可以在过程管理区点击相应的图标实现,包括:Inmolement Top Module、Run、Rerun、Rerun All、Stop、Open Without Updating 以及Properties等命令。
Inmolement Top Module命令:完成顶层模块的实现过程。
Run命令:在工程过程栏,选中不同的操作,点击改命令,可分别启动综合、转换、映射、布局布线等过程。
Rerun命令:重新运行Run指令执行的内容。
Rerun All命令:重新运行所有Run指令执行的内容。
Stop命令:停止当前操作,可中止当前操作,包括综合和实现的任一步骤。
Open Without Updating命令:改指令用于打开相应上一次完成的综合或实现过程所产生的文件。
Properties命令:在工程过程栏,选中不同的操作,点击该命令,可设置不同阶段的详细参数。
(6)Windows菜单
Windows菜单的主要功能是排列所有窗口,使其易看易管理。通过本菜单可以看到当前打开的所有窗口,并能直接切换到某个打开的窗口。由于各命令操作简单,不再介绍。
(7)Help菜单
Rerun All命令:重新运行所有Run指令执行的内容。
Stop命令:停止当前操作,可中止当前操作,包括综合和实现的任一步骤。
Open Without Updating命令:改指令用于打开相应上一次完成的综合或实现过程所产生的文件。
Properties命令:在工程过程栏,选中不同的操作,点击该命令,可设置不同阶段的详细参数。
(6)Windows菜单
Windows菜单的主要功能是排列所有窗口,使其易看易管理。通过本菜单可以看到当前打开的所有窗口,并能直接切换到某个打开的窗口。由于各命令操作简单,不再介绍。
(7)Help菜单
Help菜单主要提供ISE所有帮助以及软件管理操作,包括:Help Topics、Software Manuals、Xilinx on the Web、Tutorials、Update Software Product Configuration、Tip of the Day、WebUpdata以及About命令。
Help Topics命令:点击后,将自动调用IE浏览器打开ISE的帮助文档。
Software Manuals命令:点击后,将自动打开PDF文件,通过超链接到用户感兴趣的软件使用文档,其内容比网页形式的帮助文档要丰富。 Xilinx on the Web命令:包括完整的Xilinx网络资源,可根据需要点击查看链接。
Tutorials 命令:包括本地快速入门ISE的说明文档和Xilinx网站的入门教学内容,可点击查看。
Update Software Product Configuration 命令:用于更新ISE软件的注册ID,如果试用版用户在试用期间购买了正版软件,不用卸载再重新安装,只需要通过该命令更换ID即可。
Tip of the Day命令:每天提示,可设置或关闭在每次启动ISE时,弹出对话框,列出ISE的最新功能和一个应用技巧。
WebUpdata命令:点击该命令,可自动连接到Xilinx的,下载最近的软件包并提示用户安装。
About命令:点击该命令将弹出ISE的版本,包括主版本和升级号以及注册ID。
Help Topics命令:点击后,将自动调用IE浏览器打开ISE的帮助文档。
Software Manuals命令:点击后,将自动打开PDF文件,通过超链接到用户感兴趣的软件使用文档,其内容比网页形式的帮助文档要丰富。 Xilinx on the Web命令:包括完整的Xilinx网络资源,可根据需要点击查看链接。
Tutorials 命令:包括本地快速入门ISE的说明文档和Xilinx网站的入门教学内容,可点击查看。
Update Software Product Configuration 命令:用于更新ISE软件的注册ID,如果试用版用户在试用期间购买了正版软件,不用卸载再重新安装,只需要通过该命令更换ID即可。
Tip of the Day命令:每天提示,可设置或关闭在每次启动ISE时,弹出对话框,列出ISE的最新功能和一个应用技巧。
WebUpdata命令:点击该命令,可自动连接到Xilinx的,下载最近的软件包并提示用户安装。
About命令:点击该命令将弹出ISE的版本,包括主版本和升级号以及注册ID。
第2节 HDL代码输入
4.2.1 新建工程
首先打开ISE,每次启动时ISE都会默认恢复到最近使用过的工程界面。当第一次使用时,由于此时还没有过去的工程记录,所以工程管理区显示空白。选择File|New Project选项,在弹出的新建工程对话框中的工程名称中输入“one2two”。在工程路径中单击Browse按键,当工程放到指定目录,如图4-7所示。
首先打开ISE,每次启动时ISE都会默认恢复到最近使用过的工程界面。当第一次使用时,由于此时还没有过去的工程记录,所以工程管理区显示空白。选择File|New Project选项,在弹出的新建工程对话框中的工程名称中输入“one2two”。在工程路径中单击Browse按键,当工程放到指定目录,如图4-7所示。
图4-7 利用ISE新建工程的示意图
然后点击“Next”进入下一页,选择所使用的芯片类型以及综合、仿真工具。计算机上所安装的所有用于仿真和综合的第三方EDA工具都可以在下拉菜单中到,如图4-8所示。在图中,我们选用了Virtex4-10芯片,并且指定综合工具为Synplify(Verilog),仿真工具选为ModelSin-SE mixed。
图4-8 新建工程器件属性配置表
再点击“Next”进入下一页,可以选择新建源代码文件,也可以直接跳过,进入下一页。第4页用于添加已有的代码,如果没有源代码,点击“Next”,进入最后一页,单击确认后,就可以建立一个完整的工程。
4.2.2 代码输入
在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择“New Source”命令,会弹出如图4-9所示的New Source对话框。
在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择“New Source”命令,会弹出如图4-9所示的New Source对话框。
图4-9 新建源代码对话框
左侧的列表用于选择代码的类型,各项的意义如下所示:
∙ BMM File:
∙ ChipScope Definition and Connection File:在线逻辑分析仪ChipScope文件类型,具有独特的优势和强大的功能,将在M张进行讨论。
∙ IP(Coregen & Architecture Wizard):由ISE的IP Core生成工具快速生成可靠的源代码,这是目前最流行、最快速的一种设计方法,将在4.5节详细讨论。
∙ MEM File:
∙ Implementation Constraints File:约束文件类型。
∙ State Disgram:状态图类型。
∙ Test Bench Wavaform:测试波形类型。
∙ User Document:用户文档类型。
∙ Verilog Module:Verilog模块类型。
∙ Verilog Test Fixture:Verilog测试模块类型。
∙ VHDL Module:VHDL模块类型。
∙ VHDL Library:VHDL库类型。
∙ VHDL Packet:VHDL包类型。
∙ VHDL Test Bench:VHDL测试模块类型。
在代码类型中选择Verilog Module选项,在File Name文本框中输入one2two,单击Next进入端口定义对话框,如图4-10所示。
图4-10 Verilog模块端口定义对话框
其中Module Name就是输入的“one2two”,下面的列表框用于对端口的定义。“Port Name”表
示端口名称,“Direction”表示端口方向(可以选择为input、output或inout),MSB表示信号的最高位,LSB表示信号的最低位,对于单位信号的MSB和LSB不用填写。
定义了模块端口后,单击“Next”进入下一步,点击“Finish”按键完成创建。这样,ISE会自动创建一个Verilog模块的例子,并且在源代码编辑区内打开。简单的注释、模块和端口定义已经自动生成,所剩余的工作就是在模块中实现代码。填入的代码如下:
module one2two(x_in, flag, y1_out, y2_out);
input [7:0] x_in;
input flag;
output [7:0] y1_out;
output [7:0] y2_out;
// 以下为手工添加的代码
assign y1_out = flag ? x_in : 8'b0000_0000;
定义了模块端口后,单击“Next”进入下一步,点击“Finish”按键完成创建。这样,ISE会自动创建一个Verilog模块的例子,并且在源代码编辑区内打开。简单的注释、模块和端口定义已经自动生成,所剩余的工作就是在模块中实现代码。填入的代码如下:
module one2two(x_in, flag, y1_out, y2_out);
input [7:0] x_in;
input flag;
output [7:0] y1_out;
output [7:0] y2_out;
// 以下为手工添加的代码
assign y1_out = flag ? x_in : 8'b0000_0000;
assign y2_out = flag ? 8'b0000_0000 : x_in;
endmodule
endmodule
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论