[問題] Verilog 有號數問題
我寫了一個計數器
reg [31:0] B1;
其數值在0~20000間計數。
還有一個有號數 ADC
reg signed [13:0] ADC;
其數值在-8192~8192間變化
另外有一個訊號線
wire [15:0] Duty;
assign Duty = ADC + 8192;
即使ADC加上一正值變為正數
輸出為PWM
output PWM
assign PWM = (B1 > Duty);
若計數器 B1 大於 Duty 時,則輸出為High。
但今天遇到一個問題:
若ADC為負值(ex: ADC = -1966)時,輸出訊號出現錯誤的情況,輸出全為Low。
若直接 assign Duty = (-1966)+8192; 則輸出訊號正確。
不知道為甚麼會發生這個情況,可否請板上先進不吝指導。
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.202.20
推
12/21 23:06, , 1F
12/21 23:06, 1F
推
12/21 23:48, , 2F
12/21 23:48, 2F
推
12/22 01:36, , 3F
12/22 01:36, 3F
→
12/22 01:37, , 4F
12/22 01:37, 4F
→
12/22 02:21, , 5F
12/22 02:21, 5F
→
12/22 02:21, , 6F
12/22 02:21, 6F
→
12/22 02:24, , 7F
12/22 02:24, 7F
→
12/22 02:26, , 8F
12/22 02:26, 8F
→
12/22 02:26, , 9F
12/22 02:26, 9F
→
12/22 02:27, , 10F
12/22 02:27, 10F
→
12/22 02:27, , 11F
12/22 02:27, 11F
→
12/22 02:28, , 12F
12/22 02:28, 12F
→
12/22 02:29, , 13F
12/22 02:29, 13F
→
12/22 02:29, , 14F
12/22 02:29, 14F
→
12/22 02:29, , 15F
12/22 02:29, 15F
→
12/22 02:30, , 16F
12/22 02:30, 16F
→
12/22 02:31, , 17F
12/22 02:31, 17F
→
12/22 02:32, , 18F
12/22 02:32, 18F
→
12/22 02:33, , 19F
12/22 02:33, 19F
→
12/22 02:34, , 20F
12/22 02:34, 20F
→
12/22 02:36, , 21F
12/22 02:36, 21F
→
12/22 02:37, , 22F
12/22 02:37, 22F
推
12/22 02:39, , 23F
12/22 02:39, 23F
→
12/22 02:42, , 24F
12/22 02:42, 24F
→
12/22 02:42, , 25F
12/22 02:42, 25F
→
12/22 02:43, , 26F
12/22 02:43, 26F
→
12/22 02:44, , 27F
12/22 02:44, 27F
→
12/22 02:46, , 28F
12/22 02:46, 28F
→
12/22 02:48, , 29F
12/22 02:48, 29F
→
12/22 02:49, , 30F
12/22 02:49, 30F
→
12/22 02:50, , 31F
12/22 02:50, 31F
→
12/22 02:50, , 32F
12/22 02:50, 32F
→
12/22 02:51, , 33F
12/22 02:51, 33F
→
12/22 02:52, , 34F
12/22 02:52, 34F
→
12/22 02:53, , 35F
12/22 02:53, 35F
→
12/22 02:54, , 36F
12/22 02:54, 36F
→
12/22 02:55, , 37F
12/22 02:55, 37F
→
12/22 02:58, , 38F
12/22 02:58, 38F
→
12/22 02:58, , 39F
12/22 02:58, 39F
→
12/22 02:59, , 40F
12/22 02:59, 40F
→
12/22 03:01, , 41F
12/22 03:01, 41F
→
12/22 03:01, , 42F
12/22 03:01, 42F
→
12/22 03:01, , 43F
12/22 03:01, 43F
→
12/22 03:02, , 44F
12/22 03:02, 44F
→
12/22 03:03, , 45F
12/22 03:03, 45F
→
12/22 03:03, , 46F
12/22 03:03, 46F
→
12/22 03:04, , 47F
12/22 03:04, 47F
→
12/22 03:04, , 48F
12/22 03:04, 48F
→
12/22 03:06, , 49F
12/22 03:06, 49F
→
12/22 03:06, , 50F
12/22 03:06, 50F
→
12/22 03:07, , 51F
12/22 03:07, 51F
→
12/22 03:07, , 52F
12/22 03:07, 52F
→
12/22 03:09, , 53F
12/22 03:09, 53F
→
12/22 03:11, , 54F
12/22 03:11, 54F
→
12/22 03:11, , 55F
12/22 03:11, 55F
→
12/22 03:12, , 56F
12/22 03:12, 56F
推
12/22 03:22, , 57F
12/22 03:22, 57F
→
12/22 22:14, , 58F
12/22 22:14, 58F
推
12/22 22:43, , 59F
12/22 22:43, 59F
推
12/23 00:11, , 60F
12/23 00:11, 60F
推
12/23 00:19, , 61F
12/23 00:19, 61F
→
12/23 02:07, , 62F
12/23 02:07, 62F
→
11/11 14:54, , 63F
11/11 14:54, 63F
→
01/04 21:51,
7年前
, 64F
01/04 21:51, 64F