欢迎来到天天文库
浏览记录
ID:58223949
大小:1.42 MB
页数:42页
时间:2020-04-28
《可编程逻辑器件实验报告.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、HarbinInstituteofTechnology可编程逻辑器件设计及应用实验报告姓名:禾小鬼同组人:学号:16S班级:信息2班指导教师:xxx院系:电信学院实验一电路图方法设计:异步16分频一实验内容实验内容包括下面两个方面1.熟悉ISE开发环境第一次接触ISE开发环境,首先可以通过新建一个工程熟悉ISE的各种基本操作。需要学习的包括以下几个方面:选器件,采用原理图方法画一个电路图实现某种功能,并对这个功能进行时序仿真以验证功能上的正确性,配置引脚,进行后仿真从而判断是否能够在真实器件上正确运行。2.采用电路图方法设计一个异步1
2、6分频在开始之前,首先要明确设计目的,我们的设计目的是要用电路图方法实现设计一个“异步16分频”。然后,可以先根据自己的思路想好一个电路图的设计方案,由于这次实验电路图已经给出,所以直接按照电路图连线即可。二实验结果1.第一步:建立一个新的工程新建工程的过程中,最重要的设置器件,不同的器件的设计之间并不兼容。根据实验指导书的要求我们统一使用的是CPLD9500系列,选择XC9536,引脚封装PC44,速度-15。采用Verilog语言,顶层文件设置为原理图(schematic)。一直下一步,最后会有一个综合的信息框,注明了你所做的设置
3、,看看没问题就可以了。2.第二步:画电路图新建工程后,再新建一个原理图文件作为顶层文件,将顶层文件命名为top,以方便寻找顶层文件,新建完毕,就可以在上面画图了。本次试验只要采用软件自带的器件库中的器件。然后按照实验指导书上的电路图连就可以了。我画的电路图,如图1-1所示。该电路是通过D触发器,一层一层地实现分频,首先,对clk二分频,再讲二分频的结果输出给下一个同样连接结构D触发器,则会进一步二分频,以此类推。该D触发器是边沿触发,来一个时钟上升沿就会读取当前的输入,输入和输入相同。二分频的原理很简单,利用非门的延时好,组成一个闭环
4、,将D触发器的输出取“非”后作为输入传回去,根据D触发器原理只有两个时钟周期,输出才会出现一次电平翻转,也就实现了二分频。图1-1电路图设计方案3.功能仿真验证在电路图链接无误后,开始功能仿真,选择模式为Behavioralsimulator,新建仿真文件Testbench,这一步骤最重要的是设置,即设置总时间,时钟高电平时间,低电平时间,我设置的如图1-2所示。图1-2仿真设置这里有个问题需要注意,画电路图的时候需要把时钟输入设置为BUFG而不是iBUF,只有这样设置,才会默认为时钟,才会自动出现图1-2,可以设置时钟频率和占空比等
5、信息。4.功能仿真结果验证如图1-3所示,仿真结果,可以看出一个16分频是o4对于clk的16分频。清零引脚clr高电平有效,我们设置了半个周期长的clr为高电平,通过观察只要clr为高电平,就清零,反之,则正常执行。观察结果,我们可以看出,o1、o2、o3的输出也是对clk的分频,o1是二分频,o2是4分频,o3是8分频。图1-3功能仿真结果5.后仿真引脚配置和结果分析后仿真是为了通过最终的时序图发现程序在存在延时的实际电路中运行会出现的问题。由于实际电路存在延时,不同复杂程度的电路延时程度不同。首先,在后仿真前我们要配置引脚,称引
6、脚约束,即将设计电路的输出和输入(即IO口)与实际硬件电路(器件)相对应。本次实验的配置如下图1-4。图1-4引脚约束后仿真的结果如图5所示,通过对比功能仿真和后仿真,可以看到,功能仿真没有延时,后仿真则出现延时,延时的意思指当系统的控制发生变换,最后的结果不会马上发生变换,而是存在一定的反应时间。通过观察后仿真结果,可以看出,延时为:10213-10200=13ns,相当于76.9Mhz,如果时钟频率大于76.9Mhz,则会出现时序错误,没有输出结果。通俗理解就是,输出的变化跟不上clk的变化,当clk周期少于13ns时,还没等输出
7、的状态变化,时钟又有新的变化了。图5后仿真结果图三实验结果讨论分析在第二部分,在展示结果的同时,也对实现过程中详细的细节和需要注意的地方进行了说明,同时对结果进行了详细的分析,下面对结果进行总结,如下:首先,功能仿真的结果正确,四个输出分别对clk进行了不同的分频,o1、o2、o3、o4分别对clk进行了二分频、四分频、八分频和十六分频。通过观察,o4o3o2o1的组合是一个4位二进制减法计数器。然后,后仿真输出的时序结果,在具备一定电路延时的情况下,同样实现了分频功能,通过观察延时,延时为:10213-10200=13ns,相当于7
8、6.9Mhz,如果时钟频率大于76.9Mhz,则会出现时序错误,没有输出结果。通俗理解就是,输出的变化跟不上clk的变化,当clk周期少于13ns时,还没等输出的状态变化,时钟又有新的变化了。最后,通过本次试验,我学会了
此文档下载收益归作者所有