基于verilog的sign函数问题

[复制链接]
2940|1
 楼主| snowsea 发表于 2010-1-13 13:45 | 显示全部楼层 |阅读模式
本帖最后由 snowsea 于 2010-1-13 13:47 编辑

现在要用到sign函数来做判决,就是输入大于0输出为1;输入等于0输出为0,输入小于0输出为-1。以下是篇写的代码,为何总是综合仿真通不过呢?以前不大和有符号数打交道,现在突然要用,才感觉里面别有**。请大家帮我分析看啊。
module sign(data,result);
//input                     clk;
input  signed    [2:0]          data;
output signed    [2:0]          result;
reg    signed    [2:0]          result;

always@(data)
begin
   
   
    if(data>0)       result=1;
    else if(data==0) result=0;
    else if(data<0)  result=-1;

end
endmodule
钻研的鱼 发表于 2010-1-16 09:58 | 显示全部楼层
signed类型我很少用过。一般的原则:根据最高位来判断,data[2] 为1则为负数,否则是0或者正数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部