FPGA学习笔记(八)——3-8译码器的设计与验证

这篇具有很好参考价值的文章主要介绍了FPGA学习笔记(八)——3-8译码器的设计与验证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、3-8译码器介绍

    3-8译码器是三输入,八输出。当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。

真值表:

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

二、设计

创建工程,注意项目名不能以数字开头

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

创建verilog文件,放置在rtl文件夹。根据真值表去编写文件

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

点击分析和综合,没有问题

 3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

三、验证

编写测试文件(testbench)

新建一个verilog文件,保存在testbench文件夹,命名为my3_8_tb.v

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

分析和综合也没问题,现在配置tb文件

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

 但是进行RTL仿真(前仿真)时,却出错了,不显示波形

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

 Error: (vsim-3170) Could not find 'E:/FPGA project/class3/prj/simulation/modelsim/rtl_work.my3_8_tb'.

这是因为tb文件中的module后面接的名称与tb文件名不匹配,my后面多打了个下划线。改掉之后保存,再运行RTL仿真就没问题了。

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

 3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

波形图很简单,不多解释。 现在进行全编译。

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

 全编译没有问题,我们现在进行门级仿真(后仿真)

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

 点击run就开始仿真了

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

这个红线是未知态,因为out是需要输入才能产生的,存在延迟。后仿真是模拟实际情况的,必须要考虑延迟和过渡态。 

3-8译码器真值表,从零开始的FPGA生活,fpga开发,学习,笔记

 这个就是过渡态,因为0000_0001变为0000_0010的时候,有两位进行翻转,而每一位的变化时间是不一致的,有的变得快,有的变得慢。图中的过渡态0000_0000,就是最低位先变化,第二位后变化的情况。虽然图里过渡态只有一种,但是过渡态是可以同时存在多种的,这是有危害的,应该想办法去避免。

从本篇文章开始进入正式的FPGA学习,3-8译码器原理很简单,用它来回顾一下之前学的设计流程是很好的。文章来源地址https://www.toymoban.com/news/detail-745164.html

到了这里,关于FPGA学习笔记(八)——3-8译码器的设计与验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA_38译码器

    本文来自《小梅哥FPGA视频》的笔记整理 不要眼高手低,一定一定要实践,自己动手去敲一遍!!! 在数字电路中可以根据电路功能的不同分为,组合逻辑电路与时序逻辑电路。 组合逻辑 电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状

    2023年04月11日
    浏览(37)
  • Verilog 编程实现 3-8 译码器 FPGA

    Verilog 编程实现 3-8 译码器 FPGA FPGA 是一种可重构的数字电路芯片,可用于实现各种逻辑电路。在 FPGA 中,我们可以使用 Verilog HDL(硬件描述语言)来编写数字电路设计。本篇文章将为您介绍如何使用 Verilog 实现基本的数字电路,即 3-8 译码器。 3-8 译码器是一种常用的数字电路

    2024年02月07日
    浏览(41)
  • 【FPGA】译码器、计数器及数码管显示

    写在前面 万万没想到秋招春招找工作以C++为主、FPGA为辅,最后去了FPGA岗位 也算是不忘初心,回归了从研一就开始学的FPGA老本行 但之前学FPGA的时候并没有养成写笔记的习惯,导致后面有些东西都比较模糊,因此打算从今天开始从头来过,把之前基础知识和新学到的FPGA相关

    2024年02月11日
    浏览(47)
  • 用译码器来设计组合逻辑电路

     三线到八线:输入端只有三个所以只能是三变量  我们先来看书上的一个例子  设计的过程第一步 将函数表达式整理成最小项和的形式 我们用来举例,不是最小项的形式 三变量函数可以用三变量的最小项来表示  为了看的更清楚,我们写成 最小项的编号 ,这样子更好看

    2024年02月08日
    浏览(46)
  • Verilog 3线-8线译码器设计

    任务描述 相关知识 3线-8线译码器的功能 case语句 编程要求 说明  源代码 设计一个3线-8线译码器。运用Verilog HDL进行设计,完善译码器的功能描述风格代码,具备组合逻辑电路的设计仿真和测试的能力。 需要掌握: 1.3线-8线译码器的功能; 2.如何用case语句进行逻辑功能的描

    2024年02月08日
    浏览(48)
  • EDA实验-----3-8译码器设计(QuartusII)

    目录 一. 实验目的 二. 实验仪器 三. 实验原理及内容 1.实验原理 2.实验内容 四.实验步骤 五. 实验报告 六. 注意事项  七. 实验过程 1.创建Verilog文件,写代码 ​编辑 2.波形仿真 3.连接电路图 4.烧录操作 学会Verilog HDL的case语句应用。 学会Verilog HDL的if语句应用。 学会使用Ver

    2024年02月05日
    浏览(55)
  • 数字逻辑与部件设计基础实验——3-8译码器

    用连续值 或者always语句实现3-8译码器74138 了解3-8译码器的功能,锻炼根据功能表实现硬件功能的能力 熟悉上板操作的步骤和流程 74138的器件手册中的Function Tables: 用verilog语言在vivado环境下编写源文件,实现3-8译码器。经综合、实现、生成bitstream文件后,将bit文件下载到NE

    2024年02月02日
    浏览(36)
  • 哈夫曼编/译码器的设计与实现(结合文件)

    前言 一、问题描述: 二、数据结构设计: 1、课设要求: 2、具体实现: 三、功能(函数)设计 1、课设要求 2、具体实现: 四、界面设计 五、程序设计  1、流程图/程序思想详细介绍: 2、函数功能说明如下: 六、运行与测试 1、课设要求 2、具体实现: (1)测试的数据及

    2024年02月02日
    浏览(38)
  • 第二节 3-8译码器设计实现与相关语法基础

    目录 前言 一、三八译码器基本理论 1.3-8译码器框图 2.3-8译码器真值表 二、fpga实现步骤 1.设计输入 2.功能仿真 1.testbench编写 2.仿真结果 1.3-8译码器基本理论 2.fpga设计实现三八译码器 3.基本语法:always 语句/数字表示形式/位拼接{} 提示:以下是本篇文章正文内容,下面案例可

    2024年02月11日
    浏览(34)
  • 6、七段数码管显示译码器设计与应用

    掌握七数码管显示原理 掌握七段码显示译码设计 进一步熟悉 Xilinx ISE 环境及 SWORD 实验平台 任务 1:原理图设计实现显示译码 MyMC14495 模块 任务 2:用 MyMC14495 模块实现数码管显示 1.创建工程并绘制原理图 建立工程 MyMC14495,创建原理图文件 MyMC14495,按原理图绘制 2.原理图仿真

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包