ISE的使用——以led实验为例SOLID一、启动XinlixISE:单击:开始所有程序XilinxISE11ProjectNavigator二、新建\打开一个工程如果已经有了工程,则在FileOpenProject弹出的对话框里面选择你的工程。如果没有合适的工程就需要通过FileNewProject来新建一个工程。具体操作步骤如下:分别在ProjectName和ProjectLocation里面填写你想要创建的工程的名称和路径。在Top-levelModuleType的下拉菜单里面选择你的工程的顶层模块的类型。本次led实验选择HDL。单击Next:在这个对话框里面选择:DeviceFamily使用的FPGA的种类Device使用的FPGA的型号Package使用的FPGA的封装SpeedGrade使用的FPGA的速度Top-LevelModuleType顶层模块类型SynthesisTool综合工具Simulator仿真工具GeneratedSimulationLanguage仿真模块语言类型本次实验选用的都是ISE自己带的综合工具和仿真工具,这里也可以选择第三方的应用软件:Modelsim和SynplifyPro是比较通用的第三方仿真和综合软件。在这里如果我们选择了使用第三方的软件进行综合,仿真的话,在后面执行相应步骤的时候ISENavigator就会自动寻找并打开相应的软件。填写好FPGA型号和使用的综合,仿真软件以后点击Next:在这个对话框里面,允许用户为即将建立的工程创建一个新的源文件,这里只可以创建一个源文件,其他的要在工程建立以后创建。也可以在创建工程以后再建立所有的源文件,在这里就直接点击Next:在这个对话框里面为即将建立的工程添加已经存在的源文件,如果没有现成的源文件,直接点击Next:在这个对话框里面显示将要创建的工程的全部信息,确认无误后点击完成,ProjectNavigator将自动创建一的名为led的工程。三.为工程添加源文件创建好工程以后就要为工程添加源文件了,具体方法如下:创建源文件:单击design里面的NewSource也可以在ModuleView对话框里面的xc3s1000-4ft256图标上面点击鼠标右键,选择NewSource…选项选择了NewSource将弹出如下对话框:在右面的FileName栏里面填写要生成的源文件的名字,路径一般位于工程文件夹里面,没有特殊需要不必更改,一定要选择Addtoproject,然后在左边的一排图标里面选择源文件的类型后点击Next:可以在上面的对话框里面输入源文件的模块名称和管脚定义,也可以先不输入,后面写程序的时候自己输入。单击Next:确认信息无误后,点击完成,将生成名为led.v的源文件。输入程序:modulesw_led(clk,rst,sw0,sw1,sw2,sw3,led0,led1,led2,led3,led4,led5,led6,led7);inputclk;inputrst;inputsw0;inputsw1;inputsw2;inputsw3;outputled0;outputled1;outputled2;outputled3;outputled4;outputled5;outputled6;outputled7;wireled0;wireled1;wireled2;wireled3;wireled4;wireled5;wireled6;wireled7;wire[3:0]sw;reg[7:0]led;assignsw={sw0,sw1,sw2,sw3};assign{led0,led1,led2,led3,led4,led5,led6,led7}=led;always@(posedgeclkornegedgerst)beginif(!rst)led='b0;elsecase(sw)4'b0001:led=8'b0000_0001;4'b0010:led=8'b0000_0010;4'b0100:led=8'b0000_0100;4'b1000:led=8'b0000_1000;4'b0011:led=8'b0001_0000;4'b0110:led=8'b0010_0000;4'b1100:led=8'b0100_0000;4'b1001:led=8'b1000_0000;default:led=8'b0000_0000;endcaseendendmodule输入好程序以后,保存源文件。四.编辑约束在源程序输入完成以后,就可以设置约束,规划布局布线的努力方向。在源文件右击,选择NewSource选择了NewSource将弹出如下对话框:在右面的FileName栏里面填写要生成的约束文件的名字,路径一般位于工程文件夹里面,没有特殊需要不必更改,一定要选择Addtoproject,然后在左边的一排图标里面选择约束文件的类型后点击Next:确认信息无误后,点击Finish双击EditConstraints(Text),输入程序NETclkLOC=T9;NETled0LOC=A5;NETled1LOC=A7;NETled2LOC=A3;NETled3LOC=D5;NETled4LOC=B4;NETled5LOC=A4;NETled6LOC=C5;NETled7LOC=B5;NETrstLOC=K14;NETsw0LOC=R12;NETsw1LOC=P11;NETsw2LOC=R11;NETsw3LOC=M10;保存文件。五.综合(一)综合在ProcessView对话框里面双击Synthesize-XST在这里ISE会自动对刚才设计的工程模块进行分析,检查是否存在语法错误(CheckSyntax),是否可综合的模块。在运行窗口里双击ImplementDesign。ISE会自动运行下面的步骤:翻译(Translate):将模块的描述语言翻译成可以映射成CLB的语言;映射(Map):将描述语言映射成为可以在FPGA里面实现的逻辑单元;布局布线(Place&Route):在FPGA内部安排并连接逻辑单元。成功以后我们可以在DesignSummary里面查看已经使用的FPGA资源。六.下载(确保开发板和PC机连接)布局布线完成以后就可以将程序下载到开发板上进行调试,将开发板正确连接到电脑上。开发板提供两种下载方式:JTAG和PROM。区别在于JTAG下载是用于在线调试使用的,断电后不保留程序;而PROM模式则是将程序烧写在存储器里面,上电后自动加载。在ProcessView上双击GenerateProgrammingFile图标ISE将生成供JTAG模式下载的bit文件。GenerateProgrammingFile左边的绿色对号说明已经成功生成了下载文件。双击ProcessView框里面的ConfigureDevice(iMPACT)图标,打开如下对话框:PROM模式下载是把程序存在一块存储器里面(开发板上面使用的是Xilinx公司的xcf04s)。当开发板上电的时候,FPGA就自动加载存储器里面的程序,其具体操作方法如下:双击PROMFileFormatter,出现如图对话框:点击,选择xcf04s,点击AddStorageDebice,点击,在FileName里面输入保存的文件名,FileLocation选择保存路径。点击OK,弹出对话框:点击OK,添加文件sw_led.bit,弹出对话框:上面对话框询问是否还要加载一个器件文件,选择否:点击OK。创建PROM下载文件,双击击iMPACTProcesses下的GenerateFile:ISE就会自动为我们生成后縀为.MCS的十六进制PROM下载文件,成功显示如下:双击BoundaryScan,出现如下对话框:右击,AddXinlixDevice,选择文件sw_led.bit,会弹出下面对话框,选择确定就能看见ISE扫描到的开发板上面的下载链:添加PROM,点击工具栏上的,出现对话框:选择Yes,在xcf04s中添加生成的文件led.mcs,在x3cs1000中添加sw_led.bit,在生成的对话框中选择OK点击器件图标右击,选择Program,就可以完成下载了,下载成功会有如下显示:完成所有操作就可以在开发板上进行硬件调试操作了。