标签: concatenation verilog system-verilog hardware-programming
我知道在HDL中可以与c <= {a,b}串联;
但是它在逻辑门中如何表示? 信号级联会保持位的顺序,因此,如果我要表示将2个1位信号级联为一个2位信号,然后将该线连接到另一个模块,则级联过程的逻辑块表示是什么?
我已经用谷歌搜索了这个问题,还没有找到我想要的东西
c <= {a,b};
答案 0 :(得分:1)
您要求提供一个“逻辑图”,它是将两组导线组合成第三组导线:
正如dave_59指出的那样,结果是“单向别名,因为您只能从c中读取。” 我试图通过使用导线上的箭头在图中捕获该功能。
请注意,级联操作不会添加任何逻辑,因此不会引起信号的任何额外延迟。
答案 1 :(得分:0)
没有表示串联的硬件逻辑-它只是创建一个别名。 (即c的MSB映射到a的MSB,依此类推)。
c
a
BTW,将赋值与串联一起使用会创建一个单向别名,因为该别名只能从c中读取。 SystemVerilog还有其他一些构造双向别名的构造,例如let和alias构造。
let
alias