FPGA入门(三):3-8 译码器 仿真波形解读

FPGA入门


文章目录


前言

前面已经讲过如何仿真并且把代码烧进板子里验证,本章就重点讲一下如何看懂波形。

一、3-8 译码器的核心逻辑

3-8 译码器的本质是3 位二进制输入 → 8 位独热码输出的组合逻辑电路:

  • 输入:A2A1A0(3 位,范围000 ~ 111,对应十进制0~7)
  • 输出:Y7~Y0(8 位,高电平有效,同一时间只有 1 个输出为 1,其余全 0)
  • 举个例子:输入A2A1A0=011(十进制 3),只有Y3会被拉高,其余 7 个输出全为低电平。

二、仿真波形解读:怎么看懂译码器

我们运行 Testbench 后,会在 Vivado 里得到这样的波形图,但一开始看满屏的高低电平会有点乱,别慌,我们一步步把它 "读明白"!

2.1 波形更直观

直接看A2、A1、A0三个独立信号很难一眼看出输入值,我们可以把它们拼成一个虚拟总线:

  1. 按住Ctrl键,同时选中A2、A1、A0三个信号;

  2. 右键点击选中的信号,选择New Virtual Bus;

  3. 给总线起个名字(比如A),这样三个信号就被打包成了一个 3 位总线。

接下来,把总线的显示改成十进制:右键点击总线A → Radix → 选择Unsigned Decimal,这样波形里就会直接显示0~7的数字,一眼就能看出当前输入是几!

处理后的波形图就清晰多了:输入A会从0依次增加到7,对应我们 Testbench 里的 8 种测试用例。

2.2 逐段验证

可以看到,我们的译码器完全按照预期工作,没有出现多个输出同时为高的错误


总结

通过虚拟总线、进制修改,把抽象的高低电平变成直观的输入输出对应关系,快速验证逻辑是否正确

相关推荐
飞睿科技13 小时前
从一颗雷达芯片到一台生命体征仪:飞睿 UWB 雷达的“一芯两用”
嵌入式硬件·物联网·uwb
伟大的前程13 小时前
Flash 只能将比特从 1 改写为 0,无法从 0 改回 1
单片机
薛定谔的bug~14 小时前
【vivado】10G ibert 工程
fpga开发
博览鸿蒙14 小时前
新手怎么挑一块靠谱的FPGA开发板?
fpga开发·fpga·fpga开发板
Zw-awa14 小时前
点亮第一盏 LED:STM32 的 GPIO 到底在控制什么
stm32
剑指offer.14 小时前
嵌入式硬件-ARM芯片的启动
c语言·嵌入式硬件·嵌入式
Kuakewei88814 小时前
1.5V升压3V专用芯片PW5100在单节干电池供电中的边界条件
嵌入式硬件
DaTou大头15 小时前
STM32第六篇
单片机·嵌入式·电路基础
周周记笔记15 小时前
LTC7000高边NMOS驱动器测试与过流保护方法论
硬件工程·数据手册·测试方法·硬件测试·机器人测试
Kuakewei88815 小时前
1.5V升压3.3V专用芯片PW5100直通关断与PW5103真关断分析
嵌入式硬件