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

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


总结

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

相关推荐
Industio_触觉智能8 小时前
瑞芯微工业ADC采集实战-上|AD7616&RK3506 FlexBus高速并行采集落地
嵌入式硬件·硬件架构·硬件工程·adc·瑞芯微·rk3506·flexbus
szxinmai主板定制专家8 小时前
ARM+FPGA 数控机床控制器:选 CODESYS SoftMotion CNC,还是基于 LinuxCNC 自研搭建?架构、授权、实时性、量产风险深度对比
arm开发·fpga开发·codesys·数据采集卡·linuxcnc·rk3576
女神下凡8 小时前
芯参谋(79):嵌入式学习进阶_(硬件与软件)深入实践指南
arm开发·单片机·嵌入式硬件·学习·fpga开发·设计规范
Zhao136824553918 小时前
AT7456E 中科微电子 OSD图形叠加芯片/发生器芯片 无人机显示开发
嵌入式硬件
‎ദ്ദിᵔ.˛.ᵔ₎8 小时前
STM32 USART 串口
stm32·单片机·嵌入式硬件
smartpi_ai9 小时前
高端智能沙发如何接入大模型语音:JL-17T 离在线语音模块方案实录
人工智能·单片机·语音识别
路上有只喵10 小时前
认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇5
单片机·嵌入式硬件·fpga开发
爱吃汽的小橘10 小时前
FPGA/数字IC设计的时序优化
fpga开发
FPGA小迷弟10 小时前
FPGA 与无线电:从软件定义无线电到 5G 基带的硬件实现之路
5g·fpga开发·架构·dsp开发·fpga·无线电
恒锐丰科技林技术员10 小时前
CL5012A 升压型双节锂电池充电芯片方案解析
经验分享·嵌入式硬件·硬件工程