news 2026/8/10 2:06:41

25.verilog语法之always

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
25.verilog语法之always

一、always语句介绍

module是一个模块的语法,或者说是一个电路模块的语法,然后FPGA代码中见的最多的应该就是alwsys语句了。

到处都是alwsys,那么alwayls怎么意思呢?

例如最常用的一句:

always @(posedge clk or negedge rst_n)

关键字always就是一直的意思,就是上电后这个模块会一直运行下去

@是探测变化的意思,就是小括号内的信号只要安装规定的动作变化就能被探测到。

小括号的内容就是该模块运行的条件,

关键字posedge是取上升沿的意思,posedge clk就是clk这个信号的上升沿是触发条件;negedge就是取下降沿的意思,negedge rst_n就是rst_n这个信号的下降沿是触发条件;or就是posedge clk和negedge rst_n这两个条件有一个达到这个模块就会运行。

于是乎,FPGA代码阅读就变得特别简单了。。。

always @(posedge clk or negedge rst_n) begin if (!rst_n) begin q <= 1'b0; end else begin q <= d; end end

二、FPGA 编码的「黄金规范」

时序逻辑(生成寄存器)

  1. 一个 always 块对应一个时钟域 + 一组强关联的时序动作,可赋值多个信号,拒绝「一个信号一个 always 块」;
  2. 必须用非阻塞赋值<=,模拟硬件并行更新;
  3. 触发列表必须包含时钟沿,异步复位需加复位沿,同步复位仅加时钟沿;
  4. 寄存器的更新 / 复位仅在触发沿到来时发生,非触发沿保持原值。

组合逻辑(无寄存器)

  1. 一个 always 块对应一个独立的组合逻辑功能,可赋值多个相关输出;
  2. 必须用阻塞赋值=,模拟硬件实时连线;
  3. 触发列表用always @(*)(自动敏感列表),避免漏写输入导致的综合毛刺

通用规则

  1. 不同时钟域、不同复位方式的逻辑,必须分开写 always 块
  2. 寄存器信号必须在 always 块内赋值,且只能在一个 always 块内赋值(多驱动会导致硬件冲突,综合报错);
  3. 所有寄存器必须有复位值(避免上电后状态未知,FPGA 设计的硬性要求)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/2 17:32:53

从 DEM 到 3D 渲染:R 语言 rayshader 地形可视化全指南

一、为什么要用 rayshader&#xff1f;当我们打开一张普通的地图时&#xff0c;看到的往往是平面的线条和色块。虽然我们可以通过等高线去想象山脉的起伏&#xff0c;或者通过蓝色的深浅去猜测湖泊的深浅&#xff0c;但这始终缺乏一种身临其境的震撼感。rayshader 的出现&#…

作者头像 李华
网站建设 2026/8/9 10:05:39

面试官:ping 通了就代表网络没问题吗?

大家好&#xff0c;今天我们聊一个网络排查里的基础指令 — ping。 平时遇到网络问题&#xff0c;我们都会下意识先 ping 一下&#xff0c;很多人也默认 ping 通了 网络没问题&#xff0c;但真实的网络状况&#xff0c;远比“ping 通不通”更复杂。 今天我们就来揭秘 ping 背…

作者头像 李华
网站建设 2026/7/31 2:41:56

2026年电子器件与智能控制国际学术会议(EDIC 2026)

2026年电子器件与智能控制国际学术会议&#xff08;EDIC 2026&#xff09;将于2026年3月27日至29日在中国福建厦门隆重召开。本次会议汇聚全球电子器件与智能控制领域的专家、学者和行业精英&#xff0c;旨在交流最新研究成果与技术进展&#xff0c;推动学术合作与产业发展。会…

作者头像 李华
网站建设 2026/8/9 19:58:33

揭秘appium滑动屏幕技巧—实现用户仿真动作的多重方式

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快在移动端应用中&#xff0c;基于简便的原因&#xff0c;用户通常会倾向于使用滑动操作来达到与应用程序中的控件进行交互的&#xff0c;这使得滑动成为自动化测试中…

作者头像 李华
网站建设 2026/7/26 17:55:16

深入理解大模型微调Checkpoint:从文件结构到生产部署

文章目录一 Checkpoint文件结构解析1.1 核心架构文件1.2 HuggingFace Trainer 原生状态1.3 分词器&#xff08;Tokenizer&#xff09;文件1.4 DeepSpeed ZeRO 优化器状态&#xff08;分布式训练特有&#xff09;1.5 Checkpoint 不能直接推理二 利用保存点进行推理的方法2.1 方案…

作者头像 李华