微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教Verilog里数据比较的问题?

请教Verilog里数据比较的问题?

时间:10-02 整理:3721RD 点击:
比如:a<=5'd10
如果a为负数的话,那么最高位为1,那么比较的结果是否应该是负数比5'd10大呢?

只认二进制,不认符号。

2# remnant
多谢 我也是这么认为的

如果要有符号数
用$signed

对于verilog来说,它对信号的认知是所有信号都缺省认为是无符号数,即最高位不是符号位。只有当你刻意指定某个信号是有符号数(用signed),它才把最高位当成符号位。而这个signed关键字在verilog2001之前是不被承认的

注意wire是连线,而不是数据。数据有特定的定义和使用方法。只有signed类型数据才有负数。

5L正解

FPGA是没有符号概念的,把它看成电平就清楚了

5楼正解

是哦,这样就好理解了

signal is unsigned.

如果有符号的话,那就多一步判断符号的不就行了~

1# psd0208
Verilog里面数据类型没有sign unsign
这个不是<=, 是非阻塞赋值。
是下一拍来的时候,a==后面的值~

一般比较器只会从高位往低位比较

这个跟综合的库有关吗?
如果我用signed 的库去综合会怎么样?

对的,我曾经也碰到过这样的问题

不要用软件的观点看硬件的设计,FPGA只认电平,不认正负数

路过学习

学习中

高手解答下

学些来了。

二进制表示呗

补码分开考虑

不错,点滴积累

不要把正负的概念带入底层的电路设计,
即使verilog2001支持signed,也不要用。

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

网站地图

Top