微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 我才开始学Verilog 想问问这两句代码都代表什么意思呢?

我才开始学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位。这样呢,就可以和后面的数进行计算了。

是拼接运算符

dsssssssssss

对这个应该是拼接的意思
那这个是表示 20{section_in1[3]}
是把section_in1的第四位,也就是最高位重复20次的意思吧?

楼上的是正确答案,是拼接..
第一个是,x的第8位复制18编,后面再是x合并

意思应该是这样的了,接下来就要看看这样的算法到底在里面起到什么作用了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top