加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 xilinx_ISE_9.1中文教程

xilinx_ISE_9.1中文教程.pdf

xilinx_ISE_9.1中文教程

梧桐树下
2011-09-18 0人阅读 举报 0 0 暂无简介

简介:本文档为《xilinx_ISE_9.1中文教程pdf》,可适用于IT/计算机领域

第节ISE套件的介绍与安装ISE简要介绍Xilinx是全球领先的可编程逻辑完整解决方案的供应商研发、制造并销售应用范围广泛的高级集成电路、软件设计工具以及定义系统级功能的IP(IntellectualProperty)核长期以来一直推动着FPGA技术的发展。Xilinx的开发工具也在不断地升级由早期的Foundation系列逐步发展到目前的ISEi系列集成了FPGA开发需要的所有功能其主要特点有:包含了Xilinx新型SmartCompile技术可以将实现时间缩减倍能在最短的时间内提供最高的性能提供了一个功能强大的设计收敛环境全面支持Virtex系列器件(业界首款nmFPGA)集成式的时序收敛环境有助于快速、轻松地识别FPGA设计的瓶颈可以节省一个或多个速度等级的成本并可在逻辑设计中实现最低的总成本。FoundationSeriesISE具有界面友好、操作简单的特点再加上Xilinx的FPGA芯片占有很大的市场使其成为非常通用的FPGA工具软件。ISE作为高效的EDA设计工具集合与第三方软件扬长补短使软件功能越来越强大为用户提供了更加丰富的Xilinx平台。ISE功能简介ISE的主要功能包括设计输入、综合、仿真、实现和下载涵盖了FPGA开发的全过程从功能上讲其工作流程无需借助任何第三方EDA软件。设计输入:ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(TheISETextEditor)用于原理图编辑的工具ECS(TheEngineeringCaptureSystem)用于生成IPCore的CoreGenerator用于状态机设计的StateCAD以及用于约束文件编辑的ConstraintEditor等。综合:ISE的综合工具不但包含了Xilinx自身提供的综合工具XST同时还可以内嵌MentorGraphics公司的LeonardoSpectrum和Synplicity公司的Synplify实现无缝链接。仿真:ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDLBencher同时又提供了使用ModelTech公司的Modelsim进行仿真的接口。实现:此功能包括了翻译、映射、布局布线等还具备时序分析、管脚指定以及增量设计等高级功能。下载:下载功能包括了BitGen用于将布局布线后的设计文件转换为位流文件还包括了ImPACT功能是进行设备配置和通信控制将程序烧写到FPGA芯片中去。使用ISE进行FPGA设计的各个过程可能涉及到的设计工具如表所示。表ISE设计工具表ISE软件的安装E软件安装的基本硬件要求如下:CPU在PIII以上内存大于M硬盘大于G的硬件环境安装。为了更好地使用软件至少需要M内存CPU的主频在GHz以上。本书使用的集成开发环境是ISE仿真工具是ModelSimb综合工具为SynplifyPro。其中ISE、ModelSim软件和Synplify软件不同版本之间的差异不是很大所以操作和设计结果的差别也是很小的。具体安装过程如下:.光盘放进DVD光驱等待其自动运行(如果没有自动运行直接执行光盘目录下的Setupexe文件程序即可)会弹出图所示的欢迎界面点击“Next”进入下一页。图ISE安装过程的欢迎界面.接着进入注册码获取、输入对话框如图所示。注册码可以通过网站、邮件和传真方式申请注册码。如果已有注册码输入后单击“Next”按键后继续。图ISE安装程序的注册码输入界面购买了正版软件后最常用的方法就是通过网站注册获取安装所需的注册码。首先在Xilinx的官方主页wwwxilinxcom上建立自己的帐号然后点击图中的“Website”按键登陆帐号输入CD盒上的产品序列号(序号的格式为:个字符个数字)会自动生成位的注册码直接记录下来即可同时Xilinx网站会将注册码的详细信息发送到帐号所对应的邮箱中。.下一个对话框是Xilinx软件的授权声明对话框选中“Iacceptthetermsofthissoftwarelicense”单击“Next”后进入安装路径选择界面如图所示。单击“Browse”按键后选择自定义安装路径单击“Next”按键继续图ISE软件安装路径选择对话框.接下来的几个对话框分别是选择安装组件选择如图所示用户需要选择自己使用的芯片所对应的模块这样才能在开发中使用这些模块。在计算机硬盘资源不紧张的情况下通常选择“SelectAll”。图ISE安装组件选择界面.随后进入设置环境变量页面保持默认即可。如果环境变量设置错误则安装后不能正常启动ISE。选择默认选项安装完成后在“我的电脑”上单击右键选择属性环境变量中可看到名为“Xilinx”的环境变量其值为安装路径。最后进入安装确认对话框单击Install按钮即可按照用户的设置自动安装ISE如图所示。图ISE安装进程示意图.安装完成后会在桌面以及程序菜单中添加ProjectNavigator的快捷方式。双击即可进入ISE集成开发环境。ISE软件的基本操作.ISE用户界面ISEi的界面如图所示由上到下主要分为标题栏、菜单栏、工具栏、工程管理区、源文件编辑区、过程管理区、信息显示区、状态栏等部分。图ISE的主界面标题栏:主要显示当前工程的名称和当前打开的文件名称。菜单栏:主要包括文件(File)、编辑(Edit)、视图(View)、工程(Project)、源文件(Source)、操作(Process)、窗口(Window)和帮助(Help)等个下拉菜单。其使用方法和常用的Windows软件类似。工具栏:主要包含了常用命令的快捷按钮。灵活运用工具栏可以极大地方便用户在ISE中的操作。在工程管理中此工具栏的运用极为频繁。工程管理区:提供了工程以及其相关文件的显示和管理功能主要包括源文件视图(SourceView)快照视图(SnapshotView)和库视图(LibraryView)。其中源文件视图比较常用显示了源文件的层次关系。快照是当前工程的备份设计人员可以随时备份也可以将当前工程随时恢复到某个备份状态。快照视图用于查看当前工程的快照。执行快照功能的方法是选择菜单项Project|TakeSnapshot。库视图则显示了工程中用户产生的库的内容。源文件编辑区:源文件编辑区提供了源代码的编辑功能。过程管理区:本窗口显示的内容取决于工程管理区中所选定的文件。相关操作和FPGA设计流程紧密相关包括设计输入、综合、仿真、实现和生成配置文件等。对某个文件进行了相应的处理后在处理步骤的前面会出现一个图标来表示该步骤的状态。信息显示区:显示ISE中的处理信息如操作步骤信息、警告信息和错误信息等。信息显示区的下脚有两个标签分别对应控制台信息区(Console)和文件查找区(FindinFiles)。如果设计出现了警告和错误双击信息显示区的警告和错误标志就能自动切换到源代码出错的地方。状态栏:显示相关命令和操作的信息。.ISE菜单的基本操作ISE所有的操作都可通过菜单完成下面简要介绍ISE的菜单命令以及功能。()File菜单File菜单的命令包括:NewProject、OpenProject、OpenExamples、CloseProject、SaveProjectAs、New、Open、Save、SaveAs、SaveAll、PrintPreview、Print、RecentFiles、RecentProjects以及Exit等。NewProject命令:用于新建工程是开始设计的第一步。ISE会为新建的工程创建一个和工程同名的文件夹专门用于存放工程的所有文件。OpenProject命令:用于打开已有的ISE工程。高版本的ISE可以打开低版本的工程但需要版本转换该转换是单向的、不可逆的因此需要做好版本备份。低版本的ISE不能打开高版本的ISE工程。OpenExamples命令:用于打开ISE提供的各种类型的示例。CloseProject命令:关闭当前工程。如果关闭前未保存文件ISE会提示用户保存后再退出。SaveProjectAs命令:可将整个工程另存为其他名字的工程在大型开发中常使用该命令来完成版本备份。New命令:用于新建源文件可生成原理图、符号以及文本文件。文本文件另存为时可修改其后缀名以生成v或vhd的源文件。Open命令:用于打开所有Xilinx所支持的文件格式便于用户查看各类文件资源。Save、SaveAs以及SaveAll命令:分别用于保存当前源文件、另存为当前源文件以及保存所有源文件。用户要在开发当中养成及时保存文件的习惯避免代码丢失。PrintPreview命令:用于打印预览当前文件Print用于打印当前文件。RecentFiles命令:用于查看最近打开的文件。RecentProjects命令:用于查看最近打开的工程。Exit命令:用于退出ISE软件。()Edit菜单Edit菜单的命令包括:Undo、Redo、Cut、Copy、Paste、Delete、Find、FindNext、FindinFiles、LanguageTemplates、SelectAll、UnselectAll、MessageFilters、ObjectProperties以及Preference等大多数命令用于源代码开发中。Undo命令:用于撤销当前操作返回到前一状态。Redo命令:是Undo命令的逆操作用于恢复被撤销的操作。Cut命令:剪贴选中的代码,快捷键为“CRTLX”。Copy命令:复制选中的代码,快捷键为“CRTLC”。Paste命令:粘贴剪贴和复制的代码,快捷键为“CRTLV”。Delete命令:删除选中的代码。Find命令:查找选中的文字或寻找在其输入框中输入的内容快捷键为“CRTLF”。FindNext命令:寻找下一个要查找的内容并跳至相应的位置快捷键为“F”。LanguageTemplates命令:可打开语言模版里面有丰富的学习资料是非常完整的HDL语言帮助手册其地位类似于VisualC的MSDN。SelectAll命令:选中所有的代码其快捷键为“CRTLA”。UnselectAll命令:撤销已选中的全部代码是SelectAll的逆操作。MessageFilter命令:过滤消息只显示用户期望的消息。Preference命令:用于设定ISE的启动参数以及运行参数有着众多的设置项最常用的就是第三方EDA软件的关联设置将在第节详细介绍。()View菜单View菜单主要管理ISE软件的视图不涉及FPGA开发中的任何环节其中常用的命令有LayoutHorizontally、LayoutVertically以及RestoreDefaultLayout。LayoutHorizontally命令:将水平地排列ISE主界面中过程管理区、过程管理区以及代码编辑区等主要栏目。LayoutVertically命令:将垂直地排列ISE主界面中过程管理区、过程管理区以及代码编辑区等主要栏目。RestoreDefaultLayout命令:将恢复ISE默认的主界面布局。()Project菜单Project菜单包含了对工程的各个操作是设计中最常用的菜单之一包括NewSource、AddSource、AddCopyofsource、CleanupProjectFiles、TogglePaths、Archive、TakeSnapshot、MakeSnapshotCurrent、ApplyProjectProperties以及SourceControl命令。NewSource命令:用于向工程中添加源代码可以添加HDL源文件、IPCore以及管脚和时序约束文件。AddSource命令:将已有的各类源代码文件加入到工程中Verilog模块的后缀为vVHDL模块的后缀为vhdIPcore源文件为xco文件或xaw文件约束文件的后缀为ucf。AddCopyofsource命令将目标文件拷贝一份添加到工程中。CleanupProjectFiles命令:用于清空综合和实现过程所产生的文件和目录。如果在EDIF设计模式中只清空实现过程所产生的文件。TogglePaths命令:用于显示或隐藏非工程文件夹中的远端源文件的路径Archive命令:用于压缩当前工程包括所有的文件默认压缩类型为zip格式。TakeSnapshot命令:用于产生一个工程快照即当前目录和远程资源的一个只读记录常用于版本控制。MakeSnapshotCurrent命令:用户恢复快照覆盖当前工程。由于该命令会将当前工程删除所以使用前一定要做好数据备份工作。ApplyProjectProperties命令:应用工程属性会提示用于选择相应工程。SourceControl常用于代码的导入和导出有Export和Import两个子命令。()Source菜单Source菜单主要面向工程管理区包含了对资源文件的各个操作每个命令的操作也都可以在工程管理区单击右键弹出的对话框中点击实现包括:Open、SetasTopModule、UseSmartGuide、NewPartition、DeletePartition、Partitionproperties、PartitionForce、Remove、Movetolibrary以及Properties等命令。Open命令:可打开所有类型的源文件包括v、vhd、xco、xaw以及ucf等格式。SetasTopModule命令:用于将选中的文件设置成顶层模块。只有设置成顶层模块才能对其综合、实现以及生成相应的二进制比特流文件。UseSmartGuide命令:允许用户在本次实现时利用上一次实现的结果包括时序约束以及布局布线结果可节省实现的时间但前提是工程改动不大。NewPartition命令:新建分区常用于区域约束。DeletePartition命令:删除区域约束的分区Partitionproperties命令:可设置分区属性详细说明刻参考节内容。PartitionForce命令:包含“ForceSynthesisOutofdata”和“ForceImplementDesignOutofdata”两个指令分别用于分区综合和增量设计。Remove命令:把选中的文件从工程中删除但仍保留在计算机硬盘上。Movetolibrary命令:将选中的源文件移动到相应的库中以便建立用户文件库。Properties命令:查看源文件属性有SynthesisImplementationOnly、SimulationOnly以及SynthesisImpSimulation三种类型其中SimulationOnly类文件只能仿真不能被综合。()Process菜单Process菜单包含了工程管理区的所有操作每个命令的操作也都可以在过程管理区点击相应的图标实现包括:InmolementTopModule、Run、Rerun、RerunAll、Stop、OpenWithoutUpdating以及Properties等命令。InmolementTopModule命令:完成顶层模块的实现过程。Run命令:在工程过程栏选中不同的操作点击改命令可分别启动综合、转换、映射、布局布线等过程。Rerun命令:重新运行Run指令执行的内容。RerunAll命令:重新运行所有Run指令执行的内容。Stop命令:停止当前操作可中止当前操作包括综合和实现的任一步骤。OpenWithoutUpdating命令:改指令用于打开相应上一次完成的综合或实现过程所产生的文件。Properties命令:在工程过程栏选中不同的操作点击该命令可设置不同阶段的详细参数。()Windows菜单Windows菜单的主要功能是排列所有窗口使其易看易管理。通过本菜单可以看到当前打开的所有窗口并能直接切换到某个打开的窗口。由于各命令操作简单不再介绍。()Help菜单Help菜单主要提供ISE所有帮助以及软件管理操作包括:HelpTopics、SoftwareManuals、XilinxontheWeb、Tutorials、UpdateSoftwareProductConfiguration、TipoftheDay、WebUpdata以及About命令。HelpTopics命令:点击后将自动调用IE浏览器打开ISE的帮助文档。SoftwareManuals命令:点击后将自动打开PDF文件通过超链接到用户感兴趣的软件使用文档其内容比网页形式的帮助文档要丰富。XilinxontheWeb命令:包括完整的Xilinx网络资源可根据需要点击查看链接。Tutorials命令:包括本地快速入门ISE的说明文档和Xilinx网站的入门教学内容可点击查看。UpdateSoftwareProductConfiguration命令:用于更新ISE软件的注册ID如果试用版用户在试用期间购买了正版软件不用卸载再重新安装只需要通过该命令更换ID即可。TipoftheDay命令:每天提示可设置或关闭在每次启动ISE时弹出对话框列出ISE的最新功能和一个应用技巧。WebUpdata命令:点击该命令可自动连接到Xilinx的官方网站下载最近的软件包并提示用户安装。About命令:点击该命令将弹出ISE的版本包括主版本和升级号以及注册ID。第节HDL代码输入新建工程首先打开ISE每次启动时ISE都会默认恢复到最近使用过的工程界面。当第一次使用时由于此时还没有过去的工程记录所以工程管理区显示空白。选择File|NewProject选项在弹出的新建工程对话框中的工程名称中输入“onetwo”。在工程路径中单击Browse按键当工程放到指定目录如图所示。图利用ISE新建工程的示意图然后点击“Next”进入下一页选择所使用的芯片类型以及综合、仿真工具。计算机上所安装的所有用于仿真和综合的第三方EDA工具都可以在下拉菜单中找到如图所示。在图中我们选用了Virtex芯片并且指定综合工具为Synplify(Verilog)仿真工具选为ModelSinSEmixed。图新建工程器件属性配置表再点击“Next”进入下一页可以选择新建源代码文件也可以直接跳过进入下一页。第4页用于添加已有的代码如果没有源代码点击“Next”进入最后一页单击确认后就可以建立一个完整的工程。代码输入在工程管理区任意位置单击鼠标右键在弹出的菜单中选择“NewSource”命令会弹出如图所示的NewSource对话框。图新建源代码对话框左侧的列表用于选择代码的类型各项的意义如下所示:BMMFile:ChipScopeDefinitionandConnectionFile:在线逻辑分析仪ChipScope文件类型具有独特的优势和强大的功能将在M张进行讨论。IP(CoregenArchitectureWizard):由ISE的IPCore生成工具快速生成可靠的源代码这是目前最流行、最快速的一种设计方法将在节详细讨论。MEMFile:ImplementationConstraintsFile:约束文件类型。StateDisgram:状态图类型。TestBenchWavaform:测试波形类型。UserDocument:用户文档类型。VerilogModule:Verilog模块类型。VerilogTestFixture:Verilog测试模块类型。VHDLModule:VHDL模块类型。VHDLLibrary:VHDL库类型。VHDLPacket:VHDL包类型。VHDLTestBench:VHDL测试模块类型。在代码类型中选择VerilogModule选项在FileName文本框中输入onetwo单击Next进入端口定义对话框如图所示。图Verilog模块端口定义对话框其中ModuleName就是输入的“onetwo”下面的列表框用于对端口的定义。“PortName”表示端口名称“Direction”表示端口方向(可以选择为input、output或inout)MSB表示信号的最高位LSB表示信号的最低位对于单位信号的MSB和LSB不用填写。定义了模块端口后单击“Next”进入下一步点击“Finish”按键完成创建。这样ISE会自动创建一个Verilog模块的例子并且在源代码编辑区内打开。简单的注释、模块和端口定义已经自动生成所剩余的工作就是在模块中实现代码。填入的代码如下:moduleonetwo(xin,flag,yout,yout)input:xininputflagoutput:youtoutput:yout点击以下为手工添加的代码assignyout=flagxin:'bassignyout=flag'b:xinendmodule代码模板的使用ISE中内嵌的语言模块包括了大量的开发实例和所有FPGA语法的介绍和举例包括VerilogHDLHDL的常用模块、FPGA原语使用实例、约束文件的语法规则以及各类指令和符号的说明。语言模板不仅可在设计中直接使用还是FPGA开发最好的工具手册。在ISE工具栏中图标或选择菜单“Edit|LanguageTemplates”都可以打开语言模板其界面如图所示。图ISE语言模版用户界面界面左边有项:ABEL、UCF、Verilog以及VHDL分别对应着各自的参考资料。其中ABEL语言主要用于GAL和ISP等器件的编程不用于FPGA开发。以Verilog为例点击其前面的“”号会出现CommonConstructs、DevicePrimitiveInstantiation、SimulationConstructs、SynthesisConstructs以及UserTemplates个子项。其中第项主要介绍Verilog开发中所用的各种符号的说明包括注释符以及运算符等。第项主要介绍Xilinx原语的使用可以最大限度地利用FPGA的硬件资源。第项给出了程序仿真的所有指令和语句的说明和示例。第项给出了实际开发中可综合的Verilog语句并给出了大量可靠、实用的应用实例FPGA开发人员应熟练掌握该部分内容。UserTemplates项是设计人员自己添加的常用于在实际开发中统一代码风格。下面以调用全局时钟缓冲器模版为例给出语言模板的使用方法。在语言模板中选择“DevicePrimitiveInstantiationFPGAClockComponentsClockBuffersGlobalClockBuffer(BUFG)”即可看到调用全局时钟缓冲的示例代码如图所示。图全局时钟缓冲器的语言模板XilinxIPCore的使用XilinxIPcore基本操作IPCore就是预先设计好、经过严格测试和优化过的电路功能模块如乘法器、FIR滤波器、PCI接口等并且一般采用参数可配置的结构方便用户根据实际情况来调用这些模块。随着FPGA规模的增加使用IPcore完成设计成为发展趋势。IPCore生成器(CoreGenerator)是XilinxFPGA设计中的一个重要设计工具提供了大量成熟的、高效的IPCore为用户所用涵盖了汽车工业、基本单元、通信和网络、数字信号处理、FPGA特点和设计、数学函数、记忆和存储单元、标准总线接口等大类从简单的基本设计模块到复杂的处理器一应俱全。配合Xilinx网站的IP中心使用能够大幅度减轻设计人员的工作量提高设计可靠性。CoreGenerator最重要的配置文件的后缀是xco既可以是输出文件又可以是输入文件包含了当前工程的属性和IPCore的参数信息。启动CoreGenerato有两种方法一种是在ISE中新建IP类型的源文件另一种是双击运行开始程序XilinxISEiAccessoriesCoreGenerator。限于篇幅本节只以调用加法器IPCore为例来介绍第一种方法。在工程管理区单击鼠标右键在弹出的菜单中选择NewSource选中IP类型在FileName文本框中输入adder(注意:该名字不能出现英文的大写字母)然后点击Next按键进入IPCore目录分类页面如图所示。图IPCore目录分类页面下面以加法器模块为例介绍详细操作。首先选中“MathFuncationAdderSubtracterAdderSubtracterv”点击“Next”进入下一页选择“Finish”完成配置。这时在信息显示区会出现“CustomizingIP”的提示信息并弹出一个“AdderSubtracter”配置对话框如图所示。图加法器IPCore配置对话框然后选中adder设置位宽为然后点击“Generate”信息显示区显示GeneratingIP直到出现Successfullygeneratedadder的提示信息。此时在工程管理区出现一个“adderxco”的文件。这样加法器的IPCore已经生成并成功调用。IPCore在综合时被认为是黑盒子综合器不对IPCore做任何编译。IPCore的仿真主要是运用CoreGenerator的仿真模型来完成的会自动生成扩展名为v的源代码文件。设计人员只需要从该源文件中查看其端口声明将其作为一个普通的子程序进行调用即可。下面给出加法器的应用实例。例调用加法器的IPcore并用其实现图所示的级加法树。图级加法器示意图按照本节介绍的步骤生成个加法器的IPcoreAdd和Add前者用于实现第级的加法后者用于实现第级加法对应的代码为:moduleaddertree(clk,a,a,b,b,c)inputclkinput:ainput:ainput:binput:boutput:cwire:ab,abadderadder(A(a),B(a),Q(ab),CLK(clk))adderadder(A(b),B(b),Q(ab),CLK(clk))adderadder(A(ab),B(ab),Q(c),CLK(clk))endmodule上述程序经过综合后得到如图所示的RTL级结构图。图级加法树的RTL结构图经过ModelSimb仿真测试得到的功能波形图如图所示。由于每一级加法器会引入一个时钟周期的延迟因此两级加法器就会引入个时钟的周期可以看出仿真结果和设计分析的结果是一样的。图级加法树仿真结果示意图Xilinx公司提供了大量的、丰富的IPCore资源究其本质可以分为两类:一是面向应用的和芯片无关还有一种用于调用FPGA底层的宏单元和芯片型号密切相关。下面分别对这两类给出数字频率合成器模块DDS的调用实例。DDS模块IPCore的调用实例DDS算法原理DDS技术是一种新的频率合成方法是频率合成技术的一次革命最早由JOSEPHTIERNEY等人于年提出但由于受当时微电子技术和数字信号处理技术的限制DDS技术没有受到足够重视随着数字集成电路和微电子技术的发展DDS技术日益显露出它的优越性。DDS的工作原理为:在参考时钟的驱动下相位累加器对频率控制字进行线性累加得到的相位码对波形存储器寻址使之输出相应的幅度码经过模数转换器得到相应的阶梯波最后再使用低通滤波器对其进行平滑得到所需频率的平滑连续的波形其结构如图所示。图DDS的结构框图相位累加器由N位加法器与N位累加寄存器级联构成结构如图所示。每来一个时钟脉冲fclk加法器将频率控制字K与累加寄存器输出的累加相位数据相加把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样相位累加器在时钟作用下不断对频率控制字进行线性相位累加。由此可以看出相位累加器在每一个时钟脉冲输入时把频率控制字累加一次相位累加器输出的数据就是合成信号的相位相位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出完成相位到幅值转换。图DDS相位累加器波形存储器所储存的幅度值与余弦信号有关。余弦信号波形在一个周期内相位幅度的变化关系可以用图中的相位圆表示每一个点对应一个特定的幅度值。一个N位的相位累加器对应着圆上个相位点其相位分辨率为。若则共有种相位值与种幅度值相对应并将相应的幅度值存储于波形存储器中存储器的字节数决定了相位量化误差。在实际的DDS中可利用正弦波的对称性可以将范围内的幅、相点减小到内以降低所需的存储量量化的比特数决定了幅度量化误差。图三角函数相位与幅度的对应关系波形存储器的输出送到DA转换器DA转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量以便输出频谱纯净的正弦波信号。DDS在相对带宽、频率转换时间、高分辨力、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平为系统提供的信号源优于模拟信号源。DDS模块的输出频率是系统工作频率、相位累加器比特数N以及频率控制字K三者的一个函数其数学关系由式()给出。()它的频率分辨率即频率的变化间隔为()DDSIPCore的调用DDS模块IPCore的用户界面如图所示。该IPCore支持余弦、正弦以及正交函数的输出旁瓣抑制比的范围从dB到dB最小频率分辨率为Hz可同时独立支持个通道。其中的查找表既可以利用分布式RAM也可利用块RAM。图DDSIPCore的用户界面DDS模块的信号端口说明如下:()CLK:输入信号DDS模块的工作时钟对DDS输出信号的频率和频率分辨率有很大的影响。即式()中的。()A:输入信号由于DDS模块的相位增量存储器和相位偏置寄存器共用一个数据通道A端口信号用于片选相位增量寄存器和偏置寄存器。当A端口的最高位为时相位偏置寄存器被选中当其为时则选中相位增量寄存器。其余的低位比特用于片选DDS的输出通道最多可以输出路信号。()WE:输入信号写有效控制信号高有效。只有当WE为高时DATA端口的数值才能被写入相应的寄存器中。()DATA:输入信号时分复用的数据总线用于配置相位增量寄存器和相位偏置寄存器。()ACLR:输入信号异步的清空信号高有效。当ACLR等于时DDS模块内部所有的寄存器都被清空RDY信号也会被拉低。()SCLR:输入信号同步的清空信号高有效。当SCLR等于时DDS模块内部所有的寄存器都被清空RDY信号也会被拉低。()RDY:输出信号输出握手信号。当其为高时标志输出信号已经准备好。()CHANNEL:输出信号输出通路的下标。用于表明当前时刻输出端为哪一路输出其位宽由通道数决定。()SINE:输出信号用于输出正弦的时间序列。()COSINE:输出信号用于输出余弦的时间序列。例使用DDSIPCore实例化一个MHz分辨率为Hz带外抑制比为dB的正、余弦信号发生器假设工作时钟为MHz。IPCore直接生成DDS的Verilog模块接口为:modulemydds(DATA,WE,A,CLK,SINE,COSINE)synthesisblackboxinput:DATAinputWEinput:AinputCLKoutput:SINEoutput:COSINE……endmodule在使用时直接调用mydds模块即可如moduledds(DATA,WE,A,CLK,SINE,COSINE)input:DATA经过计算DATA=inputWEinput:AinputCLKoutput:SINEoutput:COSINEmyddsmydds(DATA(DATA),WE(WE),A(A),CLK(CLK),SINE(SINE),COSINE(COSINE))endmodule上述程序经过综合后得到如图所示的RTL级结构图。图DDS模块的RTL结构图经过ModelSim仿真测试得到的功能波形图如图所示:图DDS模块的局部功能仿真波形图注意:经过笔者大量验证发现在ISE版中使用DDSIPcore时只有采用wire型的变量控制DDS才能在ModelSim中得到正确结果使用reg型的变量不能成功操控该IPcore。第节基于ISE的开发流程例ISE开发流程演示代码将输入的数据加寄存并输出。moduletest(clk,din,dout)inputclkinput:dinoutput:doutreg:doutalways(posedgeclk)begindout<=dinendendmodule基于XilinxXST的综合所谓综合就是将HDL语言、原理图等设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元的逻辑连接(网表)并根据目标和要求(约束条件)优化所生成的逻辑连接生成EDF文件。XST内嵌在ISE以后的版本中并且在不断完善。此外由于XST是Xilinx

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/25

xilinx_ISE_9.1中文教程

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利