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 逐段验证

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


总结

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

相关推荐
llilian_1614 分钟前
失真度校准装置有哪些重点指标?失真度测量仪校准
功能测试·嵌入式硬件·51单片机·软件工程
2401_8888597138 分钟前
STM32H733 MPU、AXI、FMC学习
java·开发语言·stm32·spring
深圳老胡41 分钟前
STM32F4 OTA升级:单App与双App方案优缺点对比
笔记·stm32·单片机·代码规范
恒锐丰科技林技术员1 小时前
EG3112 半桥栅极驱动芯片解析与应用
经验分享·嵌入式硬件·硬件工程
mftang2 小时前
CAN总线控制段:位级结构、DLC编码、代际扩展与错误处理的系统性分析
单片机·嵌入式硬件·can总线·控制段·数据长度代码
Jason_zhao_MR10 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
BSD_CGQ11 小时前
FSR传感器STM32 DMA高速采样工程实现(高精度、低CPU占用)
stm32·单片机·嵌入式硬件·压力传感器·源头工厂·柔性薄膜压力传感器·可变电阻压力传感器
芯岭技术郦14 小时前
32 位 ARM® Cortex®-M0+ 内核MCU普冉MS32C001-C
单片机·嵌入式硬件
骑着毛驴数星星14 小时前
STM32 CAN波特率与采样点计算,基于HAL库
stm32·单片机·嵌入式硬件
zhangrelay15 小时前
Arduino-MEGA-ESP单片机理论课笔记02-硬件-2026
笔记·单片机·嵌入式硬件