{}的基本使用是两个,一个是拼接,一个是复制,下面列举了几种常见用法。
基本用法
{ }表示拼接,{第一位,第二位…};
{{ }}表示复制,{4{a}}等同于{a,a,a,a};
所以{13{1‘b1}}就表示将13个1拼接起来,即13’b1111111111111。
拼接语法详解
即把某些倍号的某些位详细地列出来,中间用逗号分开,最后用大括号括起来表示一个整体信号,例如:
{a, b[3:0], c, 3'b100}
1
也可以写成为:
{a, b[3],b[2], b[1],b[0],c, 1'b1,1'b0,1'b0}
1
在位拼接表达式中不允许存在没有指明位数的信号。这是因为在计算拼接信号的位宽的大小时必需知道其中每个信号的位宽。
位拼接也可以用重复法来简化表达式,如下所示:
{4{w}}
1
位拼接还可以用嵌套的方式来表达,如下所示:
{b,{3{a,b} } }
1
num_vcs通过parameter类型定义具体的数值,num_vcs{1’b0} 就是num_vcs个0的意思 ,大括号是拼接符,如下所示
{b,{num_vcs{a,b} } }
1
将d_in的最高位和d_in的低7位取反加一拼接起来,拼接之后d_out为8位;
d_out={d_in[7],~d_in[6:0]+1'b1};
1
参考文档
【1】verilog 大括号{}作用
【2】 verilog拼接符的用法
【3】verilog 中语句:num_vcs{1’b0} ,是什么意思?大括号表示什么?num_vcs是parameter类型
【4】Verilog中{}的应用
【5】verilog基础语法 {}
————————————————
版权声明:本文为CSDN博主「Paul安」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/uiojhi/article/details/108764543