1、 软件设计 实验报告 模 块 名 称 8 位格雷码编码器、高速分频器 专 业 通信工程 设计题目 基础题: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 的信号, 请设计一种分频器。 实验设备 及软件 Quartus II 9.0 同组人员 学号及姓 名 无 参考文献 1王振
2、红,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 。也就是将二进制码转换成格雷码时,高位 是完全相同的
4、, 下一位格雷码是 1 还是 0 , 完全是相邻两位二进制码的 “异” 还是“同” 来决定。下面举一个简单的例子加以说明。 假如要把二进制码 10110110 转换成格雷码,则可以通过下面的方法来完 成,方法如图 1-1。 图 1-1 3、功能仿真功能仿真 说明:B7B0 为输入信号,二进制码为:10110110 G7G0 为输出信号,格雷码为:11101101 4、实验代码:实验代码: 见附录一 二、高速分频器设计二、高速分频器设计 1、主要功能、主要功能 设计一个分频器,对 10Mhz 的时钟源进行分频,以得到 4Hz,3Hz,2Hz,1Hz 的时钟。 2、设计原理、设计原理 1 整体思路
5、整体思路 因为 10Mhz时钟源速度很快, 直接分频成 1Hz级别的时钟的话分频系数太 大,虽然思路简单,但是在实现时会造成 quartus 的寄存器资源消耗殆尽,导致 编译失败。 所以我先通过 10 分频和 100000 分频将 10Mhz 时钟源分频为 10Hz的时钟 源,然后对 10Hz的时钟源分别进行 2.5 分频,3.3 分频,5 分频,10 分频。从而 得到 4Hz,3Hz,2Hz,1Hz的时钟源。 原理框图如图 2-1 所示。 图 2-1 2 2.5 分频模块原理分频模块原理 设计一个模 3 的计数器,再设计一个扣除脉冲电路,加在模 3 计数器输出 之后, 每来两个脉冲就扣除一个
6、脉冲(实际上是使被扣除的脉冲变成很窄的脉冲, 可由异或门实现),就可以得到分频系数为 2.5 的小数分频器。 设需要设计一个分频系数为N-0.5的分频器, 其电路可由一个模N计数器、 一个二分频器和一个异或门组成,如图 2-2 所示。在实现时,模 N 计数器可设计 成带预置的计数器,这样就可以实现任意分频系数为 N-0.5 的分频器。 电路原理图如图 2-2 所示。 图 2-2 33.3 分频模块设计分频模块设计3 设置一个计数器,令其初始值为 0;在时钟源 clk 的每一个上升沿,计数器 加上 Q,若计数器里面的值小于 P,则发出删除一个脉冲的信号,将 delete 置为 低电平;若其值大于 P,则将计数器的值减去 P,并且将 delete 置为高电平,不 发出删除脉冲的信号。 本实验中要将一个 10Hz 的时钟源分频为 3Hz 的时钟信号, 则 Q=3,P=10。 电路原理图如图 2-3 所示。 图 2-3 4 4 5 5 分频模块设计分频模块设计