news 2026/6/10 19:05:27

FPGA应用开发和仿真【2.0】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FPGA应用开发和仿真【2.0】

2.15 生成块

初学者可跳过此节,当觉得在模块中重复写类似的有规律的内容比较烦琐时,再来学习本节。

代码2-42 8位格雷码到二进制码转换

生成块可根据一定的规律,使用条件生成语句、循环生成语句等,重复构造生成块的内容,等效于按照规律重复书写了生成块中的内容。考虑代码2-42。

该代码描述了一个将8位格雷码转换到二进制码的组合逻辑,可以看到书写了8行很有规律的持续赋值。试想,如果需要像这样描述64位格雷码到二进制码的转换呢?如果需要参数化位数呢?生成块可完成类似的需求。

生成常用形式如下:

这与过程中的for语句形式相似,不过,循环条件所用的变量必须使用genvar关键字定义,循环步进和条件必须只由生成变量决定。

if生成语句和case生成语句的形式与过程中的if语句和case语句相似,不过,所有的条件表达式必须是常量表达式。

生成语句中的生成内容与模块中能包含的内容基本一致,生成内容中还可以再嵌套其他生成语句。

如果使用生成块,代码2-42可参数化,改写为代码2-43。

代码2-43 参数化位数的格雷码到二进制码转换

2.16 任务和函数

任务和函数将一些语句实现的一定功能封装在一起,以便重复使用。任务和函数都只能在过程块中调用。

任务定义的一般形式:

其中的static和automatic关键字用于指定任务和函数的生命周期,使用automatic关键字的任务和函数中的变量均为局部变量,在每次任务或函数调用时均会重新初始化,可被多个同时进行的过程调用,或被递归调用,类似于编程语言的可重入。FPGA开发工具一般只支持automatic类型的任务和函数。

任务和函数本身类似于顺序块,因而在顺序块中能使用的语句(过程赋值、流程控制等)都能在任务和函数中使用。

任务中可以有时序控制(延时、事件),而函数中不能有。

代码2-44是任务和函数的例子。

代码2-44 任务和函数示例

第4行的任务gen_reset用于在reset上产生复位信号,第14行的函数用于求输入x的底2对数。

2.17 包

包(package)用来封装一些常用的常量变量定义、数据类型定义、任务和函数定义等,在需要使用时,可使用import关键字导入。

包定义的形式是:

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

FPGA应用开发和仿真【2.3】

4.2.2 数据选择器 代码4-5是参数化的数据选择器,输入端口定义为数组,数据选择器功能使用数组索引实现。 4.3 常用时序逻辑单元的描述 本节介绍第1章提到的常用时序逻辑的Verilog描述。这些代码均以模块的形式给出,但在实际设计中,也有可能只是复杂模块中的一部分。 代码…

作者头像 李华
网站建设 2026/6/10 14:26:33

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

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

作者头像 李华
网站建设 2026/6/9 21:25:02

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

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

作者头像 李华
网站建设 2026/6/10 16:12:35

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

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

作者头像 李华
网站建设 2026/5/29 10:13:08

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

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

作者头像 李华