FPGA 8-3译码器

2 篇文章 7 订阅
1 篇文章 0 订阅

《电子线路设计、测试与实验(二)》

实验目的

**·学习使用Verilog HDL描述数字逻辑电路与系统的方法;**

**·了解并掌握采用可编程逻辑器件实现数字电路与系统的方法;**

**·学习并掌握采用Vivado软件开发可编程器件的过程;**

实验任务与验收要求

**·**使用Vivado软件设计、仿真、下载实现8 线-3 线优先编码器

**·**将要求1中Verilog语言采取三种方式分别实现;

**·**实现文字显示器,并能够显示HELLO,HI,HAHA,HEHE。

设计平台

嵌入式软件:Vivado 2018.1

软件平台

硬件平台:Nexys4

开发板外观如下图
开发板

Nexys4可用资源如下图:
可用资源

电路设计与实验仿真

  1. 开发流程:

    如下图所示:

流程

  1. 电路设计:

    1. 8-3线优先译码器的真值表
      真值表

      1. 逻辑表达式

表达式

  1. 实现代码

    a)采用行为级描述:
    行为及描述

b)采用数据流描述:
数据流描述

c)采用门级描述

门级

  1. 引脚约束:

在这里插入图片描述
在这里插入图片描述

  1. 实验仿真

    我们将输入从00000000~1xxxxxxx依次改变,改变的周期为10ns,可以看到输出Y依次将其译码为{0,0,1,2,3,4,5,6,7},验证得到该仿真是正确的。

仿真

4. 附加实验

实现代码(部分核心代码):
在这里插入图片描述

在这里插入图片描述

实验效果:

  1. 8-3线优先编码器:

在这里插入图片描述

在这里插入图片描述

  1. 文字显示:

在这里插入图片描述
在这里插入图片描述

实验问题与分析

  1. 开始仅能实现8-3线简单译码,而未能实现优先编码:

    解:开始使用case语句如下:

在这里插入图片描述

可见,该代码为简单编码,但如果将低位的0改为x的话,则会显示生成比特流失败,最后改为使用if……else
if语句,成功实现。

  1. 附加实验中,七段数码管全黑,未实现实验效果。

    解:开始时是引脚约束文件中,未将Clk与Nexys4上面的时钟clk所对应,添加引脚约束后仍不显示;

    后来在网络上查询类似情况,问题为:文字显示器部分,分频的时钟周期一定要选择合适。如果时钟周期过快(接近FPGA板的时钟周期),有可能存在未显示的情况,猜测的原因是信号变化太快,数码管还未点亮信号就已经消失了。如果时钟周期过慢,则显示的数码管存在闪烁的情况,本次实验选择的分频时钟周期为1ms。修改代码后实现效果。

  2. 文字显示时,显示内容出错。

    解:可知,我们使用的Nexys4,如果想让对应的数码管点亮,段码该位应为低电平,使用网络上对应的段码为高电平,取反修改后实验效果正确。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yuetianw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值