欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业论文 数字频率计设计.doc

    • 资源ID:3972196       资源大小:3.95MB        全文页数:70页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业论文 数字频率计设计.doc

    摘 要本文介绍了使用VHDL开发FPGA的一般流程,重点介绍了频率计的基本原理和相应的测量方案,最终采用了一种基于FPGA的数字频率的实现方法。该设计采用硬件描述语言VHDL,在软件开发平台ISE上完成,可以在较高速时钟频率(100MHz)下正常工作。该设计的频率计能准确的测量频率在1Hz到100MHz之间的信号。使用ModelSim仿真软件对VHDL程序做了仿真,并完成了综合布局布线,最终下载到芯片Spartan-II上取得良好测试效果。关键词:FPGA,VHDL,ISE,自顶向下。AbstractThis paper, introducing a general process to develop FPGA product with VHDL, focuses on the basic principle and measurement scheme of digital cymometer. A scheme achieved by FPGA is adopted. In this design plan, we use a popular hardware description language-VHDL and finish the program on the development platform ISE. The final production can measure the signals frequency between 1Hz and 100MHz. This system uses the simulation tool-ModelSim to run and debug the VHDL program, and design the circuit placement. A good result can be achieved when the program was burnt on the chip Spartan-II.Keywords: FPGA, VHDL, ISE, Top-down。目 录第一章 引言1第二章 基于FPGA的VHDL设计流程22.1 概述22.2 VHDL语言介绍22.2.1 VHDL的特点32.2.2 基于VHDL的自顶向下设计方法42.3 FPGA开发介绍52.3.1 FPGA简介52.3.2 FPGA设计流程62.3.3 Spartan-II芯片简介7第三章 数字频率计的软件开发环境133.1 开发环境133.2 ModelSim介绍133.2.1 ISE环境中ModelSim的使用133.3 ISE介绍153.3.1 建立项目工程163.3.2 行为仿真173.3.3 建立顶层原理图193.3.4 综合223.3.5 布局布线243.3.6 下载及硬件仿真24第四章 数字频率计的设计与实现264.1 任务要求264.2 测量原理274.2.1 频率或时间的原始基准274.2.2 电子计数器测频方法284.2.3 误差分析294.2.4 测量周期的必要性和基本原理324.2.5 等精度测量354.3 原理框图374.4 各模块的功能及实现374.4.1 分频器374.4.2 闸门选择器404.4.3 测频控制器424.4.4 频率计数器444.4.5 锁存器464.4.6 扫描显示控制译码系统474.5 顶层原理图514.6 分配引脚和下载实现524.7 测试结果52第五章 结论53参考文献54致 谢55附 录56附录1. 计数器级联程序56附录2. 锁存器源程序57附录3. 顶层原理图59附录4. 计数器的级联图60外文资料原文61翻译文稿64第一章 引言在电子技术领域内,频率是一个最基本的参数,频率与其它许多电参量的测量方案、测量结果都有十分密切的关系。如时间,速度等都涉及到或本身可转化为频率的测量。因此,频率的测量就显得更为重要。而且,目前在电子测量中,频率的测量精确度是最高的.现在市场上有各种多功能,高精度,高频率的数字频率计,但价格不菲。而在实际工程中,不是对所有信号的频率测量都要求达到非常高的精度。因此,本文提出了一种能满足一般测量精度要求,但成本低廉的数字频率计的设计方案。本文主要任务是针对设计的要求,基于FPGA利用硬件描述语言VHDL完成数字频率计的设计,通过仿真,分析,综合并最终下载到FPGA里面去实现。除被测信号的整形部分、键输入部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。经实验表明,其测量精度基本能达到,且系统成本非常低廉,可作为学生数字逻辑设计综合实验或自制数字频率计的备选方案。第二章 基于FPGA的VHDL设计流程2.1 概述数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。频率计的设计有传统方法和现代方法,传统的设计方法耗时耗功,设计强度大,且容易出错,设计的质量不一定是最好的。自然我们考虑到现代方法,即二十世纪八十年代兴起的电子设计自动化技术,英文为Electronic Design Auto,缩写为EDA。在EDA设计工具中,用的最广泛的是VHDL和VERILOG,当然还有其它的。比较VHDL和VERILOG,在顶层设计方面VHDL优于VERILOG,在门级电路设计方面VERILOG优于VHDL。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言,将使整个系统大大简化,提高整体的性能和可靠性。本次的频率计设计主要是顶层设计,目的是设计6位十进制频率计,学习常用的数字系统设计方法。采用VDHL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。2.2 VHDL语言介绍VHDL(Very-high-speed Integrated Circuit Hardware Description Language)诞生于1982年。1987年底,VHDL被IEEE(The Institute of Electrical and Electronics Engineers)和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本(IEEE-1076)之后,各EDA公司相继推出了自己的VHDL设计环境,并宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。现在,VHDL和VERILOG作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL和VERILOG语言将承担起几乎全部的数字系统设计任务。2.2.1 VHDL的特点VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式,描述风格以及句法十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称为设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(又称为可视部分,即端口)和内部(又称为不可视部分),即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的,具体如下:1、与其它的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件已不成问题,只是在综合与优化效率上略有差异。2、VHDL最初是作为一种仿真标准格式出现的,因此VHDL既是一种硬件电路描述和设计语言,也是一种标准的网表格式,还是一种仿真语言。其丰富的仿真语句和库函数,使得在任何大系统的设计早期(即尚未完成),就能用于查验设计系统的功能可行性,随时可对设计进行仿真模拟。即在远离门级的高层次上进行模拟,使设计者对整个工程设计的结构和功能的可行性做出决策。3、VHDL语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能,符合市场所需求的,大规模系统高效、高速的完成必须由多人甚至多个开发组共同并行工作才能实现的特点。VHDL中设计实体的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有力的支持。4、对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动地把VHDL描述设计转变成为门级网表。这种方式突破了门级电路设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。应用EDA工具的逻辑优化功能,可以自动地把一个综合后的设计变成一个更高效、更高速的电路系统。反过来,设计者还可以容易地从综合和优化后的电路获得设计信息,返回去更新修改VHDL设计描述,使之更为完善。5、VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。正因为VHDL硬件描述与具体的工艺技术和硬件结构无关,VHDL设计程序的硬件实现目标器件有广阔的选择范围,其中包括各系列的CPLD、FPGA及各种门阵列实现目标。6、由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需要改变端口类属参量或函数,就能轻易地改变设计的规模和结构。2.2.2 基于VHDL的自顶向下设计方法2.2.2.1 自顶向下设计的步骤1、设计说明:用自然语言表达系统项目的功能特点和技术参数等。2、建立VHDL行为模型,即将设计说明已转化为VHDL行为模型。建立模型是为了通过VHDL仿真器对整个系统进行系统行为仿真和性能评估。3、VHDL行为仿真。这一阶段可以利用VHDL仿真器对顶层系统的行为模型进行仿真测试,检查模拟结果,继而进行修改和完善。4、VHDL-RTL级建模。即将VHDL的行为模型表达为VHDL行为代码。5、前端功能仿真。即对VHDL-RTL级模型进行仿真,简称功能仿真。6、逻辑综合。使用逻辑综合工具将VHDL行为代码描述转化为结构化的门级电路。7、测试向量生成。8、功能仿真。9、结构综合。10、门级时序仿真。11、硬件测试。2.2.2.2 Top-down设计方法的优点1、完全符合设计人员的设计思路;从功能描述开始,到最后的物理实现。2、功能设计可完全独立于物理实现;采用Top-Down设计方法,功能输入采用国际标准的HDL输入方法,HDL可不含有任何器件的物理信息,因此工程师可以有更多的空间去集中精力进行功能描述。设计师可以在设计过程的最后阶段任意选择或更改物理器件,不会在设计一开始就受到最终所采用器件的约束。3、设计可再利用;设计结果完全可以以一种知识产权(IP-Intellectual Property)的方式作为设计师或设计单位的设计成果,应用于不同的产品设计中,做到成果的再利用。4、易于设计的更改;设计工程师可在极短的时间内修改设计,对各种FPGA/CPLD结构进行设计结果规模(门消耗)和速度(时序)的比较,选择最优方案。5、设计和处理大规模复杂电路;目前的FPGA/CPLD器件正向高集成度、深亚微米工艺发展。为设计系统的小型化,低功耗、高可靠性等提供了集成的手段。6、设计周期缩短,生产率大大提高,产品上市时间提前,性能明显提高,产品竞争力加强。据统计,采用Top-Down设计方法的生产率可达到传统设计方法2到4倍。2.3 FPGA开发介绍2.3.1 FPGA简介现场可编程门阵列(FPGA)器件是八十年代中期出现的新产品,它的应用大大地方便了IC的设计,因而随着数字技术日益广泛的应用,以FPGA为代表的ASIC器件得到了迅速的普及和发展,器件集成度和速度都在高速增长。传统的电路设计过程是:先画原理图、把原理图绘制成印制电路板图、再制版、安装、调试。有了FPGA,我们只需要在计算机上绘出原理图,再运行相应的软件,就可把所设计的逻辑电路在FPGA中实现。所有步骤均可自动完成。电子设计工程师自己设计专用集成电路成为了一件很容易的事情。FPGA作为专用集成电路(ASIC)概念上的一个新型范畴和门类,以其高度灵活的用户现场编程方式,现场定义高容量数字单片系统的能力,能够重复定义、反复改写的新颖功能,为复杂数字系统设计、研制以及产品开发提供了有效的技术手段。电子应用设计工程师应用FPGA技术不仅可避免通常ASIC单片系统设计周期长,前期投资风险大的弱点,而且克服了过去板级通用数字电路应用设计的落后,繁琐和不可靠性。目前FPGA的两个重要发展与突破是,大多数厂商在其高端器件上都提供了片上的处理器(如CPU、DSP)等硬核(Hard Core)或固化核(Fixed Core)。比如Xilinx的Virtex II Pro芯片可以提供Power PC,而Altera的Stratix、Excalibur等系列芯片可以提供Nios、DSP和Arm等模块。在FPGA上集成微处理器,使SOPC设计更加便利与强大。另一个发展是在不同器件商推出的高端芯片上大都集成了高速串行收发器,一般能够达到3Gb/s以上的数据处理能力,在Xilinx、Altera、Lattice都有相应的器件型号提供该功能。这些新功能使FPGA的数据吞吐能力大幅度增强。2.3.2 FPGA设计流程对于目标器件为FPGA和CPLD的HDL设计,其工程设计的基本流程如图 2-1所示。现具体说明如下。图 2-1 EDA设计流程1、文本编辑用任何文本编辑器都可以进行,通常VHDL文件保存为vhd文件,Verilog文件保存为v文件。2、使用编译工具编译源文件HDL的编译器有很多,ACTIVE公司,MODELSIM公司,SYNPLICITY公司,SYNOPSYS公司,VERIBEST公司等都有自己的编译器。3、逻辑综合将源文件调入逻辑综合软件进行综合。综合的目的是在于将设计的源文件由语言转换为实际的电路。但是此时还没有在芯片中形成真正的电路。这一步的最终目的是生成门电路级的网表(Netlist)。4、布局、布线将第3步生成的网表文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到CPLDFPGA内。这一步的目的是生成用于下载(编程Programming)的编程文件。在这一步,将用到第3步生成的网表,并根据CPLDFPGA厂商的器件容量,结构等进行布局、布线。这就好像在设计PCB时的布局布线一样。先将各个设计中的门根据网表的内容和器件的结构放在器件的特定部位。然后,在根据网表中提供的各门的连接,把各个门的输入输出连接起来。最后,生成一个供编程的文件。这一步同时还会加一些时序信息(Timing)到你的设计项目中去,以便于你做后仿真。5、后仿真利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。(也叫布局布线仿真或时序仿真)。这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你的设计要求。6、编程,下载如果前几步都没有发生错误,并且符合设计要求,这一步就可以将由适配器等产生的配置或下载文件通过编程器或下载电缆下载到目标芯片中。7、硬件测试硬件测试的目的是为了在更真实的环境中检验HDL设计的运行情况,特别是对于HDL程序设计上不是十分规范,语义上含有一定歧义的程序。2.3.3 SPARTAN-II芯片简介本设计用到的FPGA芯片是XILINX公司生产的SPARNTAN-II系列中的xc2s100-6。下面将对该系列做简单的介绍。2.3.3.1 Spartan-II系列的特点进入ASSP的领域FPGA正在极力将ASSP从电路板上挤出去,并使其失去设计人员的宠爱。但是任何旧式的FPGA器件都无法恰当地替代专用器件。只有Spartan-II FPGA可以做到这一点。Spartan-II系列为设计人员提供了完整的封装。在密度、功能和性能以及运行速度方面都差不多。但是,Spartan-II为解决方案所提供的可编程能力有着巨大的价值,从而使其与ASSP/ASIC器件相比具有了很大的优势。1、现场升级的灵活性Spartan-II FPGA的可编程能力为设计人员带来很大优势。采用的FPGA是标准器件后,您可更快地将产品标准化。因为Spartan器件可进行现场升级,升级就像下载软件一样简单。2、拥有丰富的逻辑门资源Spartan-II系列有六款器件,密度高达20万门。丰富的逻辑门资源能让设计者更大限度的发挥。3、告别ASIC和FPGA间的性能和功能差距在性能和功能方面,大多数设计人员都会想到ASIC和FPGA间的巨大差距。但是SPARTAN-II消除了这一差距。4、拥有最多的存储器片上带存储器是必须的,如果还具有很好的灵活性的话,那么就更为有用了。分布式存储器和块RAM可高效地实现最适合您要求的配置,现时还可采用与片上存储器一样快的外部存储器。5、方便的时钟管理如果您面临时钟管理问题,Spartan-II系列的四个高度灵活的DLL可解决您的问题。设计人员可在片上对输入时钟进行倍频或分频,还可驱动板上的多个时钟。6、提供高性能今天的数字世界里有许多新的I/O标准要求很苛刻。通过Select I/O技术,Spartan-II器件支持所有这些新I/O标准。I/O速度超过200 MHz。Spartan-II系列丰富的功能、以及高性能和低成本,使其成为多种数据网络应用HDLC控制器解决方案中的首选。Spartan-II也非常适于实现控制和接口逻辑,比如用于将CPU同QDR SRAM连接在一起。7、器件密度扩展至20万门随着大量产品的设计变得越来越复杂,对更高密度、更大存储器资源以及更多I/O数量的需求也在增长。对于此类设计,Spartan-II系列的XC2S200非常适合,该器件能提供20多万个门、14个RAM块以及284个I/O,并有三种不同的低成本适合大批量生产的封装PQ208、FG256和FG456可供选择。利用XC2S200,可获得比XC2S150多36%的逻辑单元,而且其密度是Spartan或Spartan-XL最大器件密度的五倍。XC2S200包括了支持Spartan-II解决方案获得成功的所有特性。2.3.3.2 Spartan-II的结构特点1、结构框图Spartan-II系列FPGA采用了常规的灵活可编程构架,包括可配置逻辑块(CLB)和环绕在CLB四周的可编程输入/输出模块(IOB),并通过多用途布线资源形成强大的互连体系。图2-2 Spartan-ii 的结构框图2、输入/输出模块 Spartan-II的IOB的输入和输出支持16种I/O信号标准,包括LVCMOS、HSTL、SSTL和GTL。这些高速输入和输出可支持各种先进的存储器和总线接口。三个IOB寄存器可作为边沿触发D型触发器或作为电平敏感的锁存器。图2-3 Spartan-ii 的输入输出模块3、逻辑单元Spartan-II CLB的基本构造单元是逻辑单元(LC)。一个LC包括一个四输入的函数发生器、一个进位逻辑和一个存储单元。每个LC中函数发生器的输出同时驱动CLB输出端和触发器的D输入端。每个Spartan-II CLB包含四个LC,两两组合成两个同样的Slice。除了四个基本LC外,Spartan-II CLB还包含一些逻辑电路,结合函数发生器可提供五个或六个输入的函数功能。因此当预计给定器件所能提供的系统门数量时,每个CLB可当作4.5个逻辑单元来计算。Spartan-II函数发生器采用4输入查找表(LUT)的方式来实现。除了作为函数发生器以外,每个LUT还可作为一个16*1位的同步RAM来使用。Spartan-II LUT还可作为一个16位移位寄存器使用,而且对于捕捉高速或猝发数据非常理想。这一模式还可在诸如数字信号处理等应用中用于数据的存储。Spartan-II逻辑片中的存储单元可通过配置成为边沿触发型D型触发器或电平敏感锁存器。图2-4 Spartan-ii的逻辑单元4.块RAMSpartan-II FPGA集成了几块大型的4K位容量Select RAM+ 存储器块。这与在CLB中能够实现浅RAM结构的分布式Select RAM+资源互为补充。每个存储器块可配置为4K x 1 和256 x 16之间的多种不同配置。图2-5 Spartan-ii的块RAM5.延迟锁相环与每个全局时钟输入缓冲器相连的是一个完全数字的延迟锁相环(DLL),它可消除时钟输入焊盘和器件内部时钟输入引脚间的畸变。每个DLL可驱动两个全局时钟网络。首先监视输入的时钟信号,然后是分布式时钟信号,并自动地调整时钟延迟单元。通过引入额外的延迟来保证时钟边沿严格地在到达时钟输入端一个时钟周期后到达内部触发器。通过保证到达内部触发器的时钟边沿与到达时钟输入端的时钟边沿严格同步,这一闭环系统有效地消除了时钟传输延迟。第三章 数字频率计的软件开发环境本章主要介绍项目中将要用到了一系列软件,包括用于VHDL语言编写和编译的ISE软件和用于程序仿真的仿真软件ModelSim。3.1 开发环境随着可编程器件纷纷超越百万门级,设计者面临的产品性能与设计效率的挑战也越来越大。设计者必须合理选择各EDA厂家提供的加速设计的工具软件,这样才能在较短的时间内设计出高效稳定的产品。在本次设计中,由于选择的FPGA芯片是由Xilinx公司生产的,所以我们主要使用ModelSim和ISE软件进行仿真和综合。3.2 ModelSim介绍ModelSim支持PC和UNIX平台,是单一内核支持VHDL和Verilog混合仿真的HDL语言仿真器。ModelSim不仅可以完成设计的功能验证,也可实现逻辑综合后的门级仿真以及布局布线后的功能与时序验证。ModelSim完全支持VHDL和Verilog标准;采用直接编辑技术,大大提高HDL编译和仿真速度。还可以利用ModelSim调用设计文件进行仿真分析。在调试环境中,设计者可以通过ModelSim的快速调试步骤以及对各种信号的监控功能(无论信号处于VHDL层,还是处于混合语言层)使仿真的执行过程形象直观化,帮助设计者及时发现漏洞,缩短设计周期。ModelSim最大的特点是其强大的调试功能:先进的数据流窗口,可以迅速追踪到生产不定或者错误状态的原因;性能分析工具帮助分析性能瓶颈,加速仿真;代码覆盖率检查确保测试的完备;多种模式的波形比较功能;先进的 SignalSpy功能,可以方便地访问VHDL或者VHDL和Verilog混合设计中的底层信号;支持加密IP;可以实现与Matlab的Simulink的联合仿真。3.2.1 ISE环境中ModelSim的使用ModelSim是一个独立的仿真工具,它在工作的时候并不需要其他软件的协助,在Xilinx公司的ISE集成开发环境中给ModelSim仿真软件预留了接口,通过这个接口可以从ISE集成环境中直接启动ModelSim工具进行仿真。这个过程通常会给初学者一个错觉,以为ISE集成环境和ModelSim工具是联合工作的,其实ISE并没有集成ModelSim工具,只是预留了软件接口。为了说明ModelSim的用户接口,将使用从ISE集成开发环境中直接启动ModelSim仿真工具的方法。使用此种方法启动ModelSim工具需要具备3个条件:第一,启动ISE集成开发环境并建立了一个FPGACPLD的工程项目;第二,添加设计源代码并且编译通过;第三,使用ISE中的TestFixture或者TestBenchWaveform工具为当前的设计提供一个测试模板(Testbench),并且在测试模板中添加设计激励。只有上述条件具备之后才可以从ISE的当前资源操作窗中直接启动ModelSim工具并运行仿真,以下使用ISE自带的一个例子加以说明。在ISE中直接启动ModelSim1、在Windows操作系统中选择开始程序Xilinx ISE 6Project Navigator命令,启动ISE集成开发环境。2、在ISE主窗口中选择FileOpen Example命令,弹出Open Example对话框,如图所示,然后在Select an Example Project栏目中选择“goldcode-ver-217”,在Destination Directory中选择项目存放的目录,单击OK按钮打开例子程序。图3-1 打开例子程序3、在资源管理窗口(Source in Project)中的模块视图(Model View)中选中的测试文件“testbench.tf”,在相应的当前资源操作窗口(Process for Current Source)中将会出现与Modelsim仿真器相关的行为仿真(Simulate Behavioral Verilog Model),翻译后仿真(Simulate Post-Map Verilog Model)和布局布线后仿真(Simulate Post-Place & Route Verilog Model)等4个不同的操作选项,如图所示:图 3-2 Modelsim 仿真4、双击Simulate Behavioral Model操作选项,将启动Modelsim仿真器。5、在Modelsim主窗口中选择View/All命令,将显示所有的窗口。在当前资源操作窗口中选择任意一个操作选项都可以启动相应阶段的仿真操作,如果相应阶段的仿真文件不存在,那么集成环境将自动生成仿真文件。例如,当双击资源操作窗口中的Simulate Post-Place & Route Verilog Model操作选项时将启动时序仿真,而这一仿真过程所需要的布局布线后仿真文件以及时序标注文件都还没有产生,那么ISE集成开发环境将自动开始对这个工程进行编译,综合,翻译,映射和布局布线等操作,得到布局布线后仿真文件以及时序标注文件,然后再启动ModelSim仿真器进行时序仿真。3.3 ISE介绍本节主要介绍在XILINX的ISE集成软件环境中,如何用VHDL和原理图的方式进行设计输入,如何用ModelSim仿真工具对设计进行功能仿真和时序仿真,如何实现设计。3.3.1 建立项目工程建立新的项目工程,选择【File】,再选择【New Project】,如图就可以了。图 3-3 ISE建立新工程选择使用的可编程器件类型device family-器件族名device-器件型号package封装speed grade-速度top-level module type-顶层文件类型synthesis tool-综合工具simulator-仿真工具generated simulation language生成的仿真模型语言。图 3-4 选择器件然后一路NEXT,最后点击完成。刚生成的工程是没有类型的,需要自己加入。方法是在 sources in project中右击,选择add sources,选择你写的文件加入即可。如果要新写程序,用同样的方法,选择new sources即可,会弹出如下对话框,让你选择New Sources的类型。图 3-5 选择New Sources的类型选择vhdl module,写上文件名,在下一页可以写上输入输出口,也可以不写。一路NEXT到完成就可以。这样就可以开始写代码或继续下一步综合了。要打开或编辑新建的文件,直接在sources in project窗口中双击该文件即可。3.3.2 行为仿真1、在工程项窗口Project Window的源文件中选中计数器(counter.vhd)。2、选择Project/New Source。3、在新的对话框中选择新文件类型为Test Bench Waveform。4、键入文件名为counter_tbw。5、点击Next,在其他工程项中你可以将你的testbench波形与其他源文件关联。6、一直Next直到Finish,此时HDL Bencher 程序自动启动并等候你输入所需的时序需求,你现在可以指定仿真所需的时间参数、时钟高电平时间和时钟低电平时间一起定义了设计操作必须达到的时钟周期,输入建立时间定义了输入在什么时候必须有效,输出有效延时,定义了有效时钟沿到达后多久必须输出有效数据。默认的初始化时间设置如下:时钟高电平时间: Clock high time: 50 ns 。时钟低电平时间: Clock low time: 50 ns 。输入建立时间: Input setup time: 10 ns 。输出有效时间: Output valid delay: 10 ns 。7、点击OK,接受默认的时间设定。Testbench waveform窗口如下。图 3-6 Testbench Waveform在HDL Bencher 的波形中,初始化计数器输入如下:在每个单元的蓝色区域输入激励。a、在CLK第1周期下点击RESET单元直到该单元变为。b、在CLK第2周期下点击RESET单元直到该单元变为低。c、在CLK第3周期下点击CE单元直到该单元变为高。d、在CLK第2周期下点击DIR单元直到该单元变为高。图 3-7 激励输入e、将你的testbench文件存盘,选择File/Save Waveform或点击工具栏的存盘图标,接下来HDL Bencher会提示你设置你希望仿真的时钟周期数。f、在End the testbench _ cycles after the last input assignment对话框中输入8,默认值为1。g、点击OK.退出HDL Bencher新的testbench波形源文件counter_tbw.tbw自动加入到该工程项中。8、生成预期的输出响应:我们进行行为仿真以验证计数器模块的功能。a、在Sources in Project窗口中选择counter_tbw.tbw文件。b、在Processes for Current Source窗口中点击 + 符号展开ModelSim仿真器的层次结构找到并双击Simulate Behavioral VHDL Model,此时ModelSim仿真器自动启动。c、对于第一次运行ModelSim的用户会显示一个对话框需要在其中做以下处理:选中Do not show this dialog again选项,点击Run ModelSim此对话框在你重新安装或重新配置ModelSim之前将不再显示你的仿真结果现在显示在ModelSim的波形窗口(wave window)。d、点击Zoom / Zoom Full;点击Zoom / Zoom in。e、拖动波形窗口下端的滚动条至窗口的最左端。图 3-8 仿真图3.3.3 建立顶层原理图3.3.3.1 生成原理图符号1、在Sources in Project窗口中选中计数器模块counter.vhd。2、在Processes for Current Source窗口中,点击设计输入实用程序(Design Entry Utilities)之前的“+”符号然后双击创建原理图符号(Create Schematic Symbol)经过以上步骤,名称为“counter”的图形化元件被放入到工程项库中。3.3.3.2 创建顶层原理图1、在工程项导航器(Project Navigator)菜单中,选择Project/New Source。2、选择原理图(Schematic)为源类型。3、输入原理图名为“top”。4、先点击“Next”再点击“Finish”,此时原理图编辑器(ECS)自动启动并在其原理图窗口中打开一张空图。3.3.3.3 例化VHDL模块1、在菜单中选择Add / Symbol或者在工具栏中点击(Add Symbol)图标。2、从元件符号列表(在屏幕右侧)中选择计数器counter,注意不要在类别(Categories)窗口中作任何选择。3、点击左键可将计数器counter放置在光标所在的位置出现。4、按ESC键退出添加符号(Add Symbol)模式。图 3-9 例化VHDL模块3.3.3.4 原理图连线1、首先激活划线功能通过在菜单中选择Add/Wire或者在工具栏中点击 (Add Wire)图标。2、添加一根悬空线和延展连线,在计数器模块的某一管脚单击鼠标,然后将连线拉伸到需要的长度。再在连线端点处双击鼠标,给计数器模块的每一管脚添加连线。3、添加两个元件符号之间的连线,在一个计数器模块的管脚处单击鼠标,在另一个计数器模块的对应管脚处双击鼠标。连接好线后按ESC键退出添加连线(Add/Wire)模式。图 3-10 原理图连线3.3.3.5 添加输入输出管脚标记1、在菜单中选择Add/ (I/O Marker)或在工具栏中点击(Add I/O Marker)图标,连接好的图如下。图 3-11 添加输入输出管脚2、连接步骤:首先为clock,reset,ce,load,dir1和dir2添加输入标记,同时为总线din1(3:0)和din2(3:0)添加输入标记。在工具栏右边的参数单选框中选择输入(Input);将鼠标移动到输入信号线的端点,此时光标处显示出输入标记的图形;点击鼠标左键,输入标记会将网络名或总线名包含在标记图形的内部。3、按如下步骤为count总线添加双向信号标记。在工具栏右边的参数单选框中选择双向(Bidirectional);将鼠标移动到输出信号线的端点,此时光标处显示出双向信号标记的图形;点击鼠标左键。4、在菜单中选择File/Save,保存原理图,退出原理图编辑器(ECS)。3.3.4 综合3.3.4.1 Synthesize综合当你编写程序后,并把顶层原理图连接好以后,就

    注意事项

    本文(毕业论文 数字频率计设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开