; Case 0: Initialization (全0)
0.00000000000000000000000000000000000000000000000000000000000000000; Case 1:2 * 3 = 6; A=...0010 (2), B=...0011 (3)
5.00000000000000000000000000000001000000000000000000000000000000011; Case 2:-1 * 1 = -1; A=FFFFFFFF (全1), B=110.01111111111111111111111111111111100000000000000000000000000000001; Case 3: Checkerboard Test (A=1010..., B=0101...)
15.01010101010101010101010101010101001010101010101010101010101010101; End20.00000000000000000000000000000000000000000000000000000000000000000; Case 4: Max Positive * Max Positive
; 0x7FFFFFFF * 0x7FFFFFFF
; 验证正数最大积
25.00111111111111111111111111111111101111111111111111111111111111111; Case 5: Reset to 0350000000000000000000000000000000000000000000000000000000000000000; Case 6: Max Negative * Max Negative (CRITICAL CASE)
; 0x80000000 (-2^31) * 0x80000000 (-2^31)
; 这是有符号乘法器的噩梦,符号位扩展会导致压缩树负载极高
451000000000000000000000000000000010000000000000000000000000000000; Case 7: Reset to 0550000000000000000000000000000000000000000000000000000000000000000; Case 8: All 1s (-1) * Max Positive
; 0xFFFFFFFF * 0x7FFFFFFF
; 测试反相和进位链
651111111111111111111111111111111101111111111111111111111111111111; Case 9: Random Patterns that trigger worst carry (Heuristic)
; 两个很大的质数或者非规则大数,避免 booth 编码的优化
; A = 0xAAAA5555, B = 0x5555AAAA
751010101010101010010101010101010101010101010101011010101010101010; End Simulation
800000000000000000000000000000000000000000000000000000000000000000
测试原理图
1
2
3
; Case 2:-1 * 1 = -1; A=FFFFFFFF (全1), B=110.01111111111111111111111111111111100000000000000000000000000000001
482ps
1
2
; Case 3: Checkerboard Test (A=1010..., B=0101...)
15.01010101010101010101010101010101001010101010101010101010101010101
504ps
1
2
3
4
; Case 4: Max Positive * Max Positive
; 0x7FFFFFFF * 0x7FFFFFFF
; 验证正数最大积
25.00111111111111111111111111111111101111111111111111111111111111111
533ps
1
2
3
4
; Case 8: All 1s (-1) * Max Positive
; 0xFFFFFFFF * 0x7FFFFFFF
; 测试反相和进位链
651111111111111111111111111111111101111111111111111111111111111111
483ps
1
2
3
4
; Case 9: Random Patterns that trigger worst carry (Heuristic)
; 两个很大的质数或者非规则大数,避免 booth 编码的优化
; A = 0xAAAA5555, B = 0x5555AAAA
751010101010101010010101010101010101010101010101011010101010101010