【发布时间】:2023-04-01 21:58:02
【问题描述】:
我是verilog的新手,谁能解释一下这些语句是如何执行的。
always@(posedge clock) begin
A <= B ^ C;
D <= E & F;
G <= H | J;
K <= G ? ~&{A,D} : ^{A,D}
end
据我所知,首先执行的是右侧。因此,首先计算 A、D、G、K 的值。在计算 K 的值时,将根据 G 的值执行第一个或第二个表达式。谁能解释一下这个操作。还请说明最后一条语句是如何合成的,因为整个代码都在一个始终块内并且具有正边沿时钟。提前致谢。
【问题讨论】:
标签: verilog hdl register-transfer-level