作者invalid (everlasting)
站内Electronics
标题Re: [问题] verilog问题
时间Thu Apr 26 14:09:13 2007
※ 引述《evered05 (evered)》之铭言:
: 现在要写一个16bit 2's complement的加法器
: 我的想法是说用16bit 的fulladder去修改
: 因为在a,b两个输入都为正或都为负且相加会overflow时才会发生错误
: 所以想要加 if这个指令去控制,但是写出来也不知道错误在哪边....
: 刚摸verilog跟他很不熟QQ
: 就来请教板上的大家了~~
用signed宣告吧
synopsys的coding style有特别提到
我觉得最要注意的是
assign a[7:0]=b[7:0]+c[1:0];
跟
assign a=b+c;
会有不同的行为
前者"不"会以2's complement的方式展开c (c=10-> 00000010)
後者就会 (c=10 -> 11111110)
反正就是在做datapath的话
要很小心sign的问题
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.180.191