※ 引述《renj (地下情人)》之銘言:
: ※ 引述《invalid (everlasting)》之銘言:
: 略
: 1.
: input signed [9:0] a, b;
: output signed [10:0] c;
: assign c = a + b;
: 結果: 9-bit signed 加法
三個都是宣告為signed,所以結果為signed的加法
: 2.
: input signed [9:0] a, b;
: output signed [10:0] c;
: assign c = a + b[1:0];
: //assign c[10:0] = a[9:0] + b[1:0];
: 結果: 好像是 9-bit + 2-bit 的 unsigned 加法... 有點忘了
: (有待確認... 電腦剛好重灌 @@)
b[1:0]並不是signed的宣告,所以在synthesis時,
會變成unsigned的加法
: 3.
: input signed [9:0] a;
: input signed [1:0] b;
: output signed [10:0] c;
: assign c = a + b;
: 結果: 還是 9-bit signed 加法
與1相同,故結果相同
當混合signed和unsigned做運算時,tool會視為做unsigned的運算
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.66.243.100