您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > AltiumDesigner基于FPGA嵌入式系统设计
1嵌入式系统设计教程AltiumDesigner一种全新的,在FPGA上实现系统开发的设计平台2基于FPGA的硬件设计以下我们将结合一个实例来简要介绍一下如何在AltiumDesigner上实现一个完整的嵌入式系统设计过程。首先:创建一个新的FPGA工程1.选择菜单File\New\FPGAProject,在工程栏中将会显示新建的FPGA工程名,选择菜单File\SaveProject,在对话框中修改工程名称Test,然后Save。在工程栏中选择FileView选项,在工程中将会列出所有属于当前工程的文件。图1工程栏----创建FPGA工程3基于FPGA的硬件设计2.选择菜单File\New\Schematic,保存原理图,命名为Test.schdoc。图2工程栏----创建原理图4基于FPGA的硬件设计3、接下来在原理图中完成硬件的设计。在这个实例中,将会用到基于51的处理器内核、RAM存储器、上电时序控制、异或门、Nexus协议接口等FPGA工程器件。AltiumDesigner的器件均可以在FPGA集成库中找到,单击窗口右侧的libraries一栏,选定设计中需要的器件,并拖拽到原理图中。图3集成库5基于FPGA的硬件设计器件名称所在的FPGA集成库TSK51A_DFPGAProcessors.IntLibRAMS_8x1KFPGAMemories.IntLibCLOCK_BOARDFPGANanoBoardPort-Plugin.IntLibTEST_BUTTONFPGANanoBoardPort-Plugin.IntLibLEDFPGANanoBoardPort-Plugin.IntLibNEXUS_JTAG_CONNECTFPGANanoBoardPort-Plugin.IntLibNEXUS_JTAG_PORTFPGAGeneric.IntLibOR2N1SFPGAGeneric.IntLibFPGA_STARTUPxFPGAPeripherals.IntLib设计中所用到的器件及器件所在集成库参见下表6基于FPGA的硬件设计4.将所有器件按下图所示放置好图4放置器件7基于FPGA的硬件设计图5连接器件5.使用工具栏工具按下图进行连接,图示中用红色标识的部分可以将不同总线宽度的端口连接在一起。将两设置成[9..0]8基于FPGA的硬件设计6.新建VHDL文件,选择菜单File\New\VHDLDocument,保存为Test1.VHDL图6新建VHDL文件9基于FPGA的硬件设计7.在VHDL文档界面下输入VHDL语言:LIBRARYieee;USEieee.std_logic_1164.ALL;ENTITYTest1ISPORT(D:INstd_logic_vector(7downto0);Q:OUTstd_logic_vector(7downto0));endTest1;ArchitectureRTLOFTestISBeginProcess(D)BeginCaseDIs10基于FPGA的硬件设计whenX“00=Q=X00;whenX“01=Q=X01;whenX“02=Q=X02;whenX“03=Q=X03;whenX“04=Q=X05;whenX“05=Q=X07;whenX“06=Q=X0B;whenX“07=Q=X10;whenX“08=Q=X17;11基于FPGA的硬件设计whenX“09=Q=X20;whenX“0A=Q=X2E;whenX“0B=Q=X41;whenX“0C=Q=X5C;whenX“0D=Q=X81;whenX“0E=Q=XB6;whenothers=Q=XFF;EndCase;EndProcess;EndRTL;12基于FPGA的硬件设计结果如图7所示图7VHDL输入13基于FPGA的硬件设计8.在原理图编辑界面下,选择菜单Design\CreateSheetSymbolFromSheet,然后在弹出的窗口中选择Tset1.VHDL,然后点击OK。见图8图8将VHDL产生图表符14基于FPGA的硬件设计生成如图9所示的图表符,图9将VHDL产生图表符15基于FPGA的硬件设计9.按图10将图表符连接好图10连接图表符16基于FPGA的硬件设计10.给各元件加上标注,选择菜单Tools\Annotatequiet…,在弹出的对话框中选择ok,原理图中的元件就自动排列完成了。图11自动标注元件17基于FPGA的硬件设计11.添加配置文件,选择Project\ConfigurationManager…,在弹出的窗口(图14)的左下角Configurations选项点击ADD,在新弹出的窗口中输入新的配置名Test,点击ok,然后在ConstraintsFiles选项点击ADD,弹出对话框如图12所示,选择该软件安装目录下\Altium2004\Library\Fpga,选择NB1_6_EP1C12Q240(取决于设计中用到的子板或FPGA器件),点击打开,结果见图13,选中Test下的复选框。最后点击Ok。配置文件便添加到了设计中,见图15。图12添加约束文件18基于FPGA的硬件设计图13添加配置19基于FPGA的硬件设计图14配置窗口20基于FPGA的硬件设计图15配置文件21基于FPGA的硬件设计12.保存项目文件,原理图文件及VHDL文件,选择Project\RecompileFPGAProjectTest.PRJFPG,在原理图编辑环境下点击窗口底部的System选项,选择Messages如图16所示,查看是否有错误发生,检查修改完毕后,可以开始进行嵌入式软件设计了。图16检查错误信息22内容基于FPGA的嵌入式软件设计23基于FPGA的嵌入式软件设计1.选择菜单File\New\EmbeddedProject,在工程栏中将会显示新建的Embedded工程名,选择菜单File\SaveProject,在对话框中修改工程名称为Test,然后Save。在工程栏中选择FileView选项,在工程中将会列出所有属于当前工程的文件。图17新建嵌入式工程24基于FPGA的嵌入式软件设计2.右键点击嵌入式工程,在弹出窗口中选择AddNewToProject\CFile,如图18所示图18新建嵌入式文件编辑25基于FPGA的嵌入式软件设计将文件以Test文件名保存,然后在编辑界面下输入C语言代码,如图19图19C语言输入26基于FPGA的嵌入式软件设计代码如下:voidmain(void){unsignedcharx=0;unsignedshorti;for(;;){P1=x++;for(i=0;i0xFFff;i++){__asm(nop);}}}27基于FPGA的嵌入式软件设计3.保存Test.C文件,在C语言编辑界面下选择菜单Project\ProjectOptions,在弹出的窗口中选择Configuration项,在下拉菜单中选择Tasking8051,其余选项按默认处理,完成后,点击Ok。图20编译器选项28基于FPGA的嵌入式软件设计4.右键点击Test.PRJEMB工程,在弹出窗口中选择RecompileEmbeddedProjectTest.PRJEMB,编译无误后即可进行系统级设置。图21编译结果29内容系统级设置及下载30系统级设置及下载以上介绍了基于FPGA的硬件设计和嵌入式软件设计步骤,下面来介绍系统级的设计和调试。1.在原理图编辑界面下,双击元件TSK51A_D,在弹出的器件属性窗口中,在右侧的ParametersforU1-TSK51A_D一栏,将ChildCore1的Value值设置为设计中用到的RAMS_8x1K的标注U4(根据设计中的实际标注而定),设置完成后点击OK。保存原理图。RAMS_8x1K和TSK51A_D就建立了关联。图22元件关联31系统级设置及下载2.建立FPGA硬件和嵌入式软件之间的关联,在Project窗口中,选择StructureEditor一项如图23所示,点击Test.PRJEMB将其拖拽到U1上,结果如图24所示,现在软件和硬件的关联已经建立起来了。重新选中FileView一项,将设计文件保存。图23软硬件关联32系统级设置及下载图24关联已经建立33系统级设置及下载3.选择菜单View\DevicesView,器件界面将被打开,如图25所示。图25器件界面34系统级设置及下载点击Live复选框,系统会扫描到当前的开发板使用情况(之前请确认开发板和用户电脑已经正确连接并且已经上电)。如图26所示。图26与开发板建立连接35系统级设置及下载图27给出了当前开发板上用到的器件,系统通过扫描自动将器件显示在界面上,另外器件上方依次有带有指示灯的四个工作区,分别为编译、综合、适配,下载四个过程,单击每个区域则完成相应的过程。也可直接点击ProgramFPGA完成所有过程。完成后如图28所示,其中,文本框部分为当前的配置情况。图27系统扫描到的器件图28下载过程36系统级设置及下载完成编译、下载等过程后,就可以在开发板上开到实际结果了,图29为设计中所用到的处理器内核,在只需改动软件的情况下,直接可通过此界面完成对软件的编译及下载过程,而无需再将硬件下载一遍。图29处理器内核37总结以上完成了从整个基于AlteraCycloneEP1C12型号FPGA项目工程的设计,通过将软硬件设计方案在NanoBoardNB1系统开发板上实际运行验证,再逐步优化,反复下载验证,最终完成项目的开发。结束谢谢各位有关Altium公司及其产品详细情况,请浏览:
本文标题:AltiumDesigner基于FPGA嵌入式系统设计
链接地址:https://www.777doc.com/doc-5233086 .html