好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

VHDL上机手册(基于Xilinx_ISE).doc

12页
  • 卖家[上传人]:新**
  • 文档编号:539493575
  • 上传时间:2024-03-25
  • 文档格式:DOC
  • 文档大小:238.01KB
  • / 12 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • VHDL上机手册(基于Xilinx ISE)___________________________________________________1 ISE 软件的运行2 创建一个新工程3 创建一个VHDL源文件框架4 输入VHDL程序*5 仿真6 创建Testbench波形源文件7 设置输入仿真波形___________________________________________________VHDL上机手册(基于Xilinx ISE)1 创建一个新工程Step1. 单击“开始->程序->Xilinx ISE7.1->Project Navigator”,进入ISE 软件Step2. 选择File->New Project…,出现如图2 所示的窗口这个窗口与以前版本的差别较大,以前的版本出现的窗口中可以直接选取器件类型、封装、门数、速度等级等信息而在ISE6.1 中需要单击“下一步”才能看到这些设置信息在本例中,我们先选择工程存放的路径,然后输入工程名称系统自动为每一个工程设定一个目录,目录名为工程名再选择顶层模块类型为HDL图2 新工程项对话框(其他几种类型说明如下:Schematic为原理图输入类型,类似于我们制作PCB 原理图时的情况,可以从库中选取器件,也可以用HDL 语言来生成器件,在后续章节会介绍原理图为设计输入的情况;EDIF为网表输入类型,EDIF 是Electronic Data Interchange Format 的缩写,是一种描述设计网表的标准的工业文件格式,可以由第三方工具生成,在ISE 中可以将其作为一种标准的输入格式。

      NGC 文件是一种包含了逻辑设计数据和约束的网表,所谓约束是指FPGA 设计中的一些特定的要求,例如,我们分配设计中的信号到具体的管脚时,需要一个文件来指定如何分配,这就是一种约束文件,由于NGC 网表包含了设计和约束,因此一个文件足够描述一个设计了NGC/NGO 和EDIF 都可以在ISE 外由其他综合工具生成也可由ISE 生成如果我们需要用ISE 作为设计输入,需要选择Schematic 或HDL 作为顶层模块类型;如果已经完成的设计文件为ABEL、Verilog或VHDL,应选择HDL 为顶层模块类型;如果已经完成的设计文件为原理图,这里应该选择Schematic 作为顶层模块类型Step3. 单击“下一步”,出现如图3 所示的窗口,在该窗口中来选择设计实现时所用的器件在包含FPGA 的PCB 板子做出来以前,我们选择不同类型的FPGA 进行测试,看看FPGA 的资源是否够用,在PCB 板子做出来以后,我们在这里的选择与PCB板上的FPGA 必须一致否则生成的下载文件无法配置到FPGA 中此处若选择错了,也没有关系,因为后面可以随时修改这些设置其中DeviceFamily 表示目标器件的类型;Device 表示目标器件的具体型号;Package 表示器件的封装;SpeedGrade 表示器件的速度等级。

      这里我们选择器件为Spartan2E,xc2s100,tq144,-6其中xc2s100中的100 表示器件为10 万门,tq144 表示器件有144 个管脚图3 设置工程所用的器件参数Step4. 因为这里我们重新编写VHDL 源代码,而不是使用以前设计好的源代码,故再单击“下一步”,“下一步”,单击“完成”,工程创建完毕Step5. 这时的界面如图4 所示,这里需要关注的是界面左上角出现的小框为我们所有的源文件的管理窗口,在其下面的窗口为我们选择不同的源文件时其所有可能操作的显示窗口;右半部分窗口为我们设计输入代码的窗口;下面的窗口为编译等信息的显示窗口这里与以前版本不同的地方在于编译输入窗口这里将Warnings 和Errors 可以分开显示我们可以在输入不同文件后选中不同的文件,看看进程窗口中的变化这样,我们新建了一个工程,下一步就要在工程中输入一些设计文件来实现我们的设计图4 创建新工程后的ISE 界面3 创建一个VHDL源文件框架在本小节我们向刚刚创建的工程中添加设计文件来实现要求的功能按照以下步骤建立一个计数器的VHDL 文件描述注意这里仅仅新建一个有框架的文件,下一小节将向该文件中添加具体代码。

      在这里我们以一个具有复位(reset)、使能(ce)、置数(load)、计数方向控制(dir)功能的计数器为基础进行设计其方块图如图5 所示其中CLK 为输入计数时钟信号,系统在该信号的驱动下开始工作;RESET 为复位信号,在上升沿处,输入复位为全零;CE 为使能信号,为1 时计数正常进行,为0 时停止计数;LOAD 为置数信号,当在时钟上升沿该信号为1 时,将DIN0~DIN3 分别置给COUT0~COUT3DIR 为计数方向控制,为1 时递增计数,为0 时递减计数这些功能描述只是我们的设计目标,或称为设计需求,我们在设计一个系统时,第一步就是要明确我们的设计要Step1. 选择Project->New Source;(或在Sources in Project 窗口中单击鼠标右键选择“New Source…”)出现如图6 所示的窗口;Step2. 选择VHDL Module(VHDL 模块)作为新建源文件的类型;Step3. 在文件名中键入“FourBitsCounter”;Step4. 单击“下一步”;Step5. 单击“下一步”;Step6. 单击“完成”,完成这个新源程序的创建。

      新源程序文件FourBitsCounter.vhd 将会显示在HDL 编辑窗口中,它包括Library,Use,Entity,Architecture 等语句图6 源程序的类型选择4 输入VHDL 语言程序VHDL程序如图所示.图8 计数器程序 输入完毕后, 选择File->Save,保存counter.vhd 源程序5 对程序进行语法检查Step1:双击Process View窗口的Synthesize-XST下面的Check Syntex如图9所示 图9:检查语法错误Step2:假如出现语法错误,及按照ISE的提示对程序进行修改6 仿真我们可以通过设置计数器模块的输入来观察仿真输出,以测试我们编写的VHDL 源文件是否满足逻辑功能要求我们建立的testbench 波形调用ISE自带的仿真工具,用来验证所设计的计数器的功能和延时是否达到要求7 创建Testbench波形源文件在仿真前,首先创建一个Testbench 波形源文件,与以前版本不同的是,该文件不是在HDL Bencher(ISE 集成的一个工具,用于设置输入波形)中打开,而是在ISE 中打开,这也是ISE6.1 不同于以前版本的地方。

      具体步骤如下:Step1. 打开上一节所建立的工程;Step2. 选择Project->New Source…,(或通过在Sources in Project 中单击右键选择“NewSource…”),出现如图10 所示的窗口;图10 创建波形源文件Step3. 选择文件类型为Test Bench Waveform;Step4. 键入文件名“TestWave”,如图11 中所示;Step5. 单击“下一步”,在本步骤中可以将波形文件与VHDL 文件进行关联Step6. 单击“下一步”;Step7. 单击“完成”;Step8. 此时,HDL Bencher 程序自动启动,如图10 所示,我们可以选择哪一个信号是时钟信号并可以输入所需的时序需求;在这里我们采用系统的默认值,单击“OK”按钮;图11 仿真时间参数的设置Step9. 这时出现了如图12 所示的波形;图12 新建的波形文件8 设置输入仿真波形我们可以打开刚刚建立的波形文件,来初始化输入波形,步骤如下:Step1. 单击波形图中的蓝色方块来设置波形电平的高低,设置后的波形如图13 所示;图13 HDL Bencher 中输入波形的设置Step2. 单击图13中工具栏上的图标 ,将波形文件保存。

      8 对波形进行仿真Step1 双击 process view 中的Xilinx ISE Simulator的 Simulate Behavioral ModelStep 2 观察仿真结果 如图14 所示 图14 ,波形仿真结果1。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.