FPGA 时序逻辑 组合逻辑 连接 语句

5.3.4 always

`always` 块用于描述硬件电路中的时序逻辑或组合逻辑。括号里面的是敏感信号,当这些信号发生变化时,`always` 块中的代码会被执行。

  • `always@(posedge Clk)`:括号中的敏感信号是 `posedge Clk`,表示在时钟信号 `Clk` 的上升沿时触发。这个通常用于时序逻辑。

  • `always@(negedge Clk)`:表示在时钟信号 `Clk` 的下降沿时触发。

  • `always@(*)`:这里的 `*` 表示所有输入信号的变化都会触发 `always` 块,通常用于组合逻辑。

  • `always@(a or b)`:表示当信号 `a` 或 `b` 发生变化时触发 `always` 块。

5.3.5 assign

`assign` 语句用于给 `output`、`inout` 以及 `wire` 类型的信号进行连线。它相当于一条直接的连线,右边的表达式通过 `wire` 连接到左边,左边的信号必须是 `wire` 类型。

示例:

```verilog

wire a, b, y;

assign y = a & b;

```

这里,`y` 是 `a` 和 `b` 的逻辑与运算结果。当 `a` 或 `b` 变化时,`y` 也会立刻变化。

5.3.6 if...else...

这些语句的用法和高级语言(如C语言)中的用法类似,用于条件判断。

示例:

```verilog

if (condition) begin

// 代码块1

end

if (condition) begin

// 代码块2

end else begin

// 代码块3

end

if (condition) begin

// 代码块4

end else if (another_condition) begin

// 代码块5

end

```

  • `if (condition) begin ... end`:如果 `condition` 为真,则执行代码块1。

  • `if (condition) begin ... end else begin ... end`:如果 `condition` 为真,则执行代码块2,否则执行代码块3。

  • `if (condition) begin ... end else if (another_condition) begin ... end`:如果 `condition` 为真,则执行代码块4,否则如果 `another_condition` 为真,则执行代码块5。

case

`case` 语句用于多路选择,具体用法如下:

```verilog

case (expression)

value1: begin

// 代码块1

end

value2: begin

// 代码块2

end

...

default: begin

// 默认代码块

end

endcase

```

根据 `expression` 的值匹配相应的 `value` 并执行对应的代码块。如果没有匹配的值,则执行 `default` 代码块。

希望这些解释能帮助你更好地理解这些内容!

相关推荐
szxinmai主板定制专家4 小时前
基于Zynq的高精度多通道数据采集卡完整解决方案(工业振动/高速采集/边缘传输)
fpga开发·zynq·数据采集卡
szxinmai主板定制专家6 小时前
基于TI AM62x+FPGA的24bit高精度数据采集卡设计(振动/风电/发动机监测)
人工智能·fpga开发·arm+fpga·rk3588+fpga
szxinmai主板定制专家9 小时前
基于 ARM+FPGA 雕刻机控制系统的设计
arm开发·人工智能·fpga开发·rk3576·半导体设备
吉他英雄一里1 天前
zynq入门教程
fpga开发·zynq
XMAIPC_Robot1 天前
RK3576/RK3588+FPGA+AI数据采集系统:实时性与边缘AI算力兼顾
人工智能·fpga开发·机器人·数据采集·rk3588+fpga·rk3576+fpga
FPGA小徐2 天前
通信系统核心技术概念解析
fpga
156082072192 天前
JFMRFVU3P5G的bit正常,但烧录mcs程序后加载异常
fpga开发
狂奔蜗牛(bradley)2 天前
把 EtherCAT 初始化从 FPGA 搬到 ARM:命令通道的接口设计与11个坑
arm开发·人工智能·fpga开发·架构
女神下凡3 天前
芯参谋(37):EEPROM_电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
神电测控4 天前
神电新型PG-RFSOC-27DR/47DR/67DR sbRIO板卡(内置8路上GS/s AD/DA模块,兼容LabVIEW FPGA开发)
labview·fpga·usrp·sdr·神电测控·王电令·rfsoc