我才开始学Verilog 想问问这两句代码都代表什么意思呢?
时间:10-02
整理:3721RD
点击:
大家好
我最近在做一个项目需要用到Verilog,所以开始学习中。现在看到两句代码,都是关于CIC抽取滤波器的。一个是我在网上下的,一个是用matlab自动生成的。
这是第一句。
assign sxtx = {{18{x[7]}},x}
这是第二句。
assign section_cast1 = $signed({{20{section_in1[3]}}, section_in1[3:1]}
这个$signed是把后面变成有符号数的意思吗?然后就是想问问有符号数什么意思呢?或者说是这个有符号该怎么理解呢?
我对第二句代码的理解就是取section_in1的最高位重复20次,然后再和section_in1的高三位合并在一起。那这是不是这就意味着要把section_int1的最低位给舍去了呢?
我觉得这个代码的一个作用就是把4位的section_int1数变位section_cast1中的23位。这样呢,就可以和后面的数进行计算了。
我最近在做一个项目需要用到Verilog,所以开始学习中。现在看到两句代码,都是关于CIC抽取滤波器的。一个是我在网上下的,一个是用matlab自动生成的。
这是第一句。
assign sxtx = {{18{x[7]}},x}
这是第二句。
assign section_cast1 = $signed({{20{section_in1[3]}}, section_in1[3:1]}
这个$signed是把后面变成有符号数的意思吗?然后就是想问问有符号数什么意思呢?或者说是这个有符号该怎么理解呢?
我对第二句代码的理解就是取section_in1的最高位重复20次,然后再和section_in1的高三位合并在一起。那这是不是这就意味着要把section_int1的最低位给舍去了呢?
我觉得这个代码的一个作用就是把4位的section_int1数变位section_cast1中的23位。这样呢,就可以和后面的数进行计算了。
是拼接运算符
dsssssssssss
对这个应该是拼接的意思
那这个是表示 20{section_in1[3]}
是把section_in1的第四位,也就是最高位重复20次的意思吧?
楼上的是正确答案,是拼接..
第一个是,x的第8位复制18编,后面再是x合并
意思应该是这样的了,接下来就要看看这样的算法到底在里面起到什么作用了
