news 2026/4/18 10:58:31

FPGA应用开发和仿真【2.3】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FPGA应用开发和仿真【2.3】
4.2.2 数据选择器

代码4-5是参数化的数据选择器,输入端口定义为数组,数据选择器功能使用数组索引实现。

4.3 常用时序逻辑单元的描述

本节介绍第1章提到的常用时序逻辑的Verilog描述。这些代码均以模块的形式给出,但在实际设计中,也有可能只是复杂模块中的一部分。

代码4-5 参数化的数据选择器

4.3.1 移位寄存器

代码4-6是参数化的移位寄存器,对照第1章的图1-117,这里的描述还增加了同步复位rst和移位使能shift。由if-else语句判断rst、load或shift的有效与否来决定对q作复位、预置或移位操作。if-else语句隐含优先逻辑,rst信号优先于load,load优先于shift,例如在load为高时,无论shift为何电平,都是对q作预置操作。

代码4-6 参数化的移位寄存器

4.3.2 延迟链

代码4-7是参数化的延迟链,使用生成块区分LEN为零和不为零分别描述,在第17行将数组中的连续元素当作整体赋值实现以元素为单位的“移位”。

代码4-7 参数化的延迟链

4.3.3 计数器

代码4-8是参数化模的计数器的代码,包含使能输入和进位输出。

代码4-8 参数化的计数器

代码4-9则实现了类似第1章图1-141所示的秒、分、时计数。代码中假定时钟频率为10Hz,使用模为10的计数器的进位输出作为秒计数的使能。

代码4-9 秒、分、时计数

图4-1、图4-2和图4-3是代码4-9的仿真波形(测试平台代码略),分别是秒计数、分计数和时计数的细节。在图4-3中还包含了秒计数向分计数和分计数向时计数两个进位信号为高的波形。

有时可能需要用到可变模(作为输入端口)的计数器,如代码4-10所示。注意输入的并非模,而是最大值(模减去1),这样可以使得它与计数输出位宽一致。

代码4-10 可变模计数器

计数器是数字逻辑中最为重要的少数几个功能单元之一,代码4-8所示的

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:44:19

时钟分频电路设计详解:vhdl课程设计大作业系统学习

从50MHz到1Hz:手把手教你用VHDL写一个精准时钟分频器你有没有遇到过这样的问题?FPGA开发板上接的是50MHz晶振,可你要控制数码管扫描、按键去抖,甚至做个秒表——这些功能根本不需要那么快的时钟。跑得太快,LED闪得像抽…

作者头像 李华
网站建设 2026/4/11 7:36:53

YOLOFuse缉毒犬训练辅助:可疑物品藏匿点热成像提示

YOLOFuse缉毒犬训练辅助:可疑物品藏匿点热成像提示 在边境检查站的昏暗货舱里,缉毒犬正沿着一排集装箱嗅探前行。训导员紧随其后,目光不时扫向手中的平板——屏幕上,一个醒目的红色热区正闪烁在箱体夹层位置,而肉眼几乎…

作者头像 李华
网站建设 2026/4/18 2:17:38

三位3D视觉从业者的2025年终总结!

这里总结一下我们3D视觉从入门到精通知识星球里三位小伙伴的2025年对自己的深度年终总结,值得学习。2025年年底星球内布置的作业来自第一位小伙伴的真诚分享详细内容整理如下:时间过得真快,上一次在知识星球分享年度总结,仿佛还在…

作者头像 李华
网站建设 2026/4/18 8:48:03

YOLOFuse训练日志保存路径揭秘:runs/fuse目录内容解读

YOLOFuse训练日志保存路径揭秘:runs/fuse目录内容解读 在智能安防、自动驾驶和夜间监控等实际场景中,单一可见光图像常常因低光照、烟雾或遮挡而难以稳定检测目标。这种局限性推动了多模态感知技术的发展——尤其是RGB(可见光)与红…

作者头像 李华
网站建设 2026/4/18 8:09:31

深入理解UDS 31服务:ECU编程前的必备知识

深入理解UDS 31服务:ECU编程前的“发令枪”为何如此关键?你有没有遇到过这样的情况——在给ECU刷写新固件时,一切准备就绪,却突然收到一条NRC 0x22(条件不满足)的错误响应?或者更糟,…

作者头像 李华