如何用逻辑图块描述信号串联?

时间:2019-02-10 04:38:15

标签: concatenation verilog system-verilog hardware-programming

我知道在HDL中可以与c <= {a,b}串联;

但是它在逻辑门中如何表示? 信号级联会保持位的顺序,因此,如果我要表示将2个1位信号级联为一个2位信号,然后将该线连接到另一个模块,则级联过程的逻辑块表示是什么?

我已经用谷歌搜索了这个问题,还没有找到我想要的东西

c <= {a,b};

2 个答案:

答案 0 :(得分:1)

您要求提供一个“逻辑图”,它是将两组导线组合成第三组导线:

enter image description here

正如dave_59指出的那样,结果是“单向别名,因为您只能从c中读取。” 我试图通过使用导线上的箭头在图中捕获该功能。

请注意,级联操作不会添加任何逻辑,因此不会引起信号的任何额外延迟。

答案 1 :(得分:0)

没有表示串联的硬件逻辑-它只是创建一个别名。 (即c的MSB映射到a的MSB,依此类推)。

BTW,将赋值与串联一起使用会创建一个单向别名,因为该别名只能从c中读取。 SystemVerilog还有其他一些构造双向别名的构造,例如letalias构造。