8位格雷码编码器、高速分频器 课程设计报告.doc
《8位格雷码编码器、高速分频器 课程设计报告.doc》由会员分享,可在线阅读,更多相关《8位格雷码编码器、高速分频器 课程设计报告.doc(13页珍藏版)》请在三一办公上搜索。
1、通达学院2012/2013学年 第二学期软件设计 实验报告模 块 名 称 8位格雷码编码器、高速分频器 专 业 通信工程 学 生 班 级 100019 学 生 学 号 10001927 学 生 姓 名 杨润达 指 导 教 师 王奇、孔凡坤、周小燕、梅中辉 设计题目基础题:8位格雷码编码器综合题:高速分频器设计任务要求基础题:设计一个8位(bit)二进制码输入,输出8位格雷码的编码器(输入:B7 -B0并行8位 , 输出G7-G0并行8位 ,提示:当i7时:G(i)=B(i+1)xorB(i),G(7)=B(7))。综合题:有一个10MHz的时钟源,为得到4Hz,3Hz,2Hz和1Hz的信号,请
2、设计一种分频器。实验设备及软件Quartus II 9.0同组人员学号及姓名无参考文献1王振红,VHDL电路设计与应用实践教程:机械工业出版社。2徐向民,数字系统设计及VHDL实践:机械工业出版社。3毛为勇,祁中洋,王兰,基于FPGA的任意小数分频器的设计:桂林航天工业高等专科学校学报8位格雷码编码器及高速分频器设计实验目的: 1.全面了解如何应用该硬件描述语言进行高速集成电路设计 2.通过软件使用、设计与仿真环节使学生熟悉EDA-VHDL开发环境 3.通过对基本题、综合题的设计实践,使学生掌握硬件系统设计方法 (自底向上或自顶向下),熟悉VHDL语言三种设计风格,并且培养 应用VHDL语言解
3、决实际问题的能力。实验设备:PC机实验课题:一、8位格雷码编码器 1、主要功能设计一个8位(bit)二进制码输入,输出8位格雷码的编码器(输入:B7 -B0并行8位,输出G7-G0并行8位,提示:当i7时:G(i)=B(i+1)xorB(i),G(7)=B(7)。 2、设计原理 根据组合逻辑电路的分析方法,先列出其真值表再通过卡诺图化简,可以很快 的找出格雷码与二进制码之间的逻辑关系。其转换规律为:高位同,从高到低看异 同,异出1,同出0。也就是将二进制码转换成格雷码时,高位是完全相同的,下一位格雷码是1还是0,完全是相邻两位二进制码的“异”还是“同” 来决定。下面举一个简单的例子加以说明。假
4、如要把二进制码10110110转换成格雷码,则可以通过下面的方法来完成,方法如图1-1。 图1-13、 功能仿真 说明:B7B0为输入信号,二进制码为:10110110 G7G0为输出信号,格雷码为:111011014、 实验代码: 见附录一 二、高速分频器设计 1、主要功能 设计一个分频器,对10Mhz的时钟源进行分频,以得到4Hz,3Hz,2Hz,1Hz的时钟。 2、设计原理 整体思路 因为10Mhz时钟源速度很快,直接分频成1Hz级别的时钟的话分频系数太大,虽然思路简单,但是在实现时会造成quartus的寄存器资源消耗殆尽,导致编译失败。 所以我先通过10分频和100000分频将10Mh
5、z时钟源分频为10Hz的时钟源,然后对10Hz的时钟源分别进行2.5分频,3.3分频,5分频,10分频。从而得到4Hz,3Hz,2Hz,1Hz的时钟源。 原理框图如图2-1所示。 图 2-1 2.5分频模块原理 设计一个模3的计数器,再设计一个扣除脉冲电路,加在模3计数器输出之后,每来两个脉冲就扣除一个脉冲(实际上是使被扣除的脉冲变成很窄的脉冲,可由异或门实现),就可以得到分频系数为2.5的小数分频器。 设需要设计一个分频系数为N-0.5的分频器,其电路可由一个模N计数器、一个二分频器和一个异或门组成,如图2-2所示。在实现时,模N计数器可设计成带预置的计数器,这样就可以实现任意分频系数为N-
6、0.5的分频器。电路原理图如图2-2所示。 图 2-2 3.3分频模块设计3 设置一个计数器,令其初始值为0;在时钟源clk的每一个上升沿,计数器加上Q,若计数器里面的值小于P,则发出删除一个脉冲的信号,将delete置为低电平;若其值大于P,则将计数器的值减去P,并且将delete置为高电平,不发出删除脉冲的信号。本实验中要将一个10Hz的时钟源分频为3Hz的时钟信号,则Q=3,P=10。 电路原理图如图2-3所示。 图 2-3 5分频模块设计 定义两个计数器,分别对输入时钟的上升沿和下降沿进行计数,然后把这两个计数值输入一个组合逻辑,用其控制输出时钟的电平。这是因为计数值为奇数,占空比为5
7、0%,前半个和后半个周期所包含的不是整数个clkin的周期。5分频,前半个周期包含2.5个clkin周期,后半个周期包含2.5个clkin周期。 10分频模块设计 定义一个计数器对输入时钟进行计数,在计数的前一半时间里,输出高电平,在计数的后一半时间里,输出低电平,这样输出的信号就是占空比为50%的偶数分频信号。10分频,计数值为04输出高电平,计数值为59输出低电平。3、功能仿真 由于题目所给的10Mhz时钟信号频率过大,如果直接对它进行分频的话将难以看到完整的结果,但如果将仿真时间调长,则仿真速度过慢,所以在仿真中,我将第一次分频的分频系数调低,然后选择适当的输入时钟频率,以验证2.5分频
8、,3.3分频,5分频,10分频的正确性。 仿真结果如图2-4所示。 图 2-44、 实验代码 见附录二设计总结 本实验主要是运用VHDL语言实现格雷码编码器和高速分频器的设计,相对于其他的来说,本实验比较简单,但在实际做的时候还是遇到不少的问题。 在编译时出现了许多错误,经过反复修改编译,再修改再编译最终排除了所有的错误。 在仿真时一开始看不到完整的结果,通过调节分频系数以及输入时钟频率的等手段仿真成功,验证了2.5分频,3.3分频,5分频,10分频的正确性。收获和体会 在老师布置好题目后,我仔细进行设计,通过查阅各参考书,最终把实验做出来了,达到了老师对本实验的要求。在这次设计中我收获颇丰,
9、首先最直接的收获就是我巩固了这节课所学的知识,把它运用到实践中去,并且学到了许多在课本中所没有的知识,通过查阅相关知识,进一步加深对EDA的了解。其次,我们不管做什么都不能粗心,如我们在输入程序是,把字母打错了时,保存文件时命名与程序中的名称不一样时,都会导致编译错误,在此过程中虽然浪费了不少时间,但这也让我注意到在实际做设计时应该注意的问题,意识到自己的不足,对学过的知识了解不够深刻,掌握的不足够。总的来说,这次设计还算成功,也让我明白了要把理论知识与实践结合起来,从实践中强化自己的理论,才能更好提高自己的实际动手能力和独立思考能力。如果在设计过程中遇到问题时,我们要有耐心并细心的查找错误,
10、这也是学习的过程。附录一格雷码编码器源代码library ieee;use ieee.std_logic_1164.all;entity green is port(B:in std_logic_vector(7 downto 0); G:out std_logic_vector(7 downto 0);end green;architecture code of green isbegin G(7) = B(7); G(6) = B(7) XOR B(6); G(5) = B(6) XOR B(5); G(4) = B(5) XOR B(4); G(3) = B(4) XOR B(3); G
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8位格雷码编码器、高速分频器 课程设计报告 位格雷码 编码器 高速 分频器 课程设计 报告

链接地址:https://www.31ppt.com/p-4192183.html