# fpu **Repository Path**: springlevi/fpu ## Basic Information - **Project Name**: fpu - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-07-15 - **Last Updated**: 2025-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MULT ## **Simulation Status** ![输入图片说明](d923708735a6f7863bb7f2766363db4.jpg) ## Design Gap - **特殊值未处理** # ADD_SUB ## Simulation Status > ``` > Running Icarus Verilog simulator... > Starting IEEE 754 FPU Test > ========================== > VCD info: dumping is suppressed. > Test 1: > A: > Hex: 3f800000 | Sign: 0 | Exp: 7f | Frac: 000000 | Value: 1.000000 > B: > Hex: 40000000 | Sign: 0 | Exp: 80 | Frac: 000000 | Value: 2.000000 > Operation: Add > Actual Result: > Hex: 40400000 | Sign: 0 | Exp: 80 | Frac: 400000 | Value: 3.000000 > Actual Error: 0 > EXPECTED RESULT: > Hex: 40400000 | Sign: 0 | Exp: 80 | Frac: 400000 | Value: 3.000000 > Expected Error: 0 > >>> TEST PASSED <<< > ------------------------------------------------ > Test 2: > A: > Hex: 40a00000 | Sign: 0 | Exp: 81 | Frac: 200000 | Value: 5.000000 > B: > Hex: 40200000 | Sign: 0 | Exp: 80 | Frac: 200000 | Value: 2.500000 > Operation: Subtract > Actual Result: > Hex: 40200000 | Sign: 0 | Exp: 80 | Frac: 200000 | Value: 2.500000 > Actual Error: 0 > EXPECTED RESULT: > Hex: 40200000 | Sign: 0 | Exp: 80 | Frac: 200000 | Value: 2.500000 > Expected Error: 0 > >>> TEST PASSED <<< > ------------------------------------------------ > Test 3: > A: > Hex: c0400000 | Sign: 1 | Exp: 80 | Frac: 400000 | Value: -3.000000 > B: > Hex: 3fc00000 | Sign: 0 | Exp: 7f | Frac: 400000 | Value: 1.500000 > Operation: Add > Actual Result: > Hex: bfc00000 | Sign: 1 | Exp: 7f | Frac: 400000 | Value: -1.500000 > Actual Error: 0 > EXPECTED RESULT: > Hex: bfc00000 | Sign: 1 | Exp: 7f | Frac: 400000 | Value: -1.500000 > Expected Error: 0 > >>> TEST PASSED <<< > ------------------------------------------------ > Test 4: > A: > Hex: 00000001 | Sign: 0 | Exp: 00 | Frac: 000001 | Value: 0.000000 > B: > Hex: 00000001 | Sign: 0 | Exp: 00 | Frac: 000001 | Value: 0.000000 > Operation: Add > Actual Result: > Hex: 00000000 | Sign: 0 | Exp: 00 | Frac: 000000 | Value: 0.000000 > Actual Error: 1 > ERROR! Expected: > Hex: 00000002 | Sign: 0 | Exp: 00 | Frac: 000002 | Value: 0.000000 > Expected Error: 0 > >>> TEST FAILED <<< > ------------------------------------------------ > Test 5: > A: > Hex: 00000001 | Sign: 0 | Exp: 00 | Frac: 000001 | Value: 0.000000 > B: > Hex: 00000002 | Sign: 0 | Exp: 00 | Frac: 000002 | Value: 0.000000 > Operation: Subtract > Actual Result: > Hex: 80000000 | Sign: 1 | Exp: 00 | Frac: 000000 | Value: -0.000000 > Actual Error: 1 > ERROR! Expected: > Hex: 00000001 | Sign: 0 | Exp: 00 | Frac: 000001 | Value: 0.000000 > Expected Error: 0 > >>> TEST FAILED <<< > ------------------------------------------------ > Test 6: > A: > Hex: 40400000 | Sign: 0 | Exp: 80 | Frac: 400000 | Value: 3.000000 > B: > Hex: 40400000 | Sign: 0 | Exp: 80 | Frac: 400000 | Value: 3.000000 > Operation: Subtract > Actual Result: > Hex: 80000000 | Sign: 1 | Exp: 00 | Frac: 000000 | Value: -0.000000 > Actual Error: 0 > ERROR! Expected: > Hex: 00000000 | Sign: 0 | Exp: 00 | Frac: 000000 | Value: 0.000000 > Expected Error: 0 > >>> TEST FAILED <<< > ------------------------------------------------ > Test 7: > A: > Hex: 7f7fffff | Sign: 0 | Exp: fe | Frac: 7fffff | Value: 340282346638528859811704183484516925440.000000 > B: > Hex: 7f7fffff | Sign: 0 | Exp: fe | Frac: 7fffff | Value: 340282346638528859811704183484516925440.000000 > Operation: Add > Actual Result: > Hex: 7f800000 | Sign: 0 | Exp: ff | Frac: 000000 | Value: inf > Actual Error: 1 > EXPECTED RESULT: > Hex: 7f800000 | Sign: 0 | Exp: ff | Frac: 000000 | Value: inf > Expected Error: 1 > >>> TEST PASSED <<< > ------------------------------------------------ > Test 8: > A: > Hex: 00000000 | Sign: 0 | Exp: 00 | Frac: 000000 | Value: 0.000000 > B: > Hex: 80000000 | Sign: 1 | Exp: 00 | Frac: 000000 | Value: -0.000000 > Operation: Add > Actual Result: > Hex: 80000000 | Sign: 1 | Exp: 00 | Frac: 000000 | Value: -0.000000 > Actual Error: 0 > ERROR! Expected: > Hex: 00000000 | Sign: 0 | Exp: 00 | Frac: 000000 | Value: 0.000000 > Expected Error: 0 > >>> TEST FAILED <<< > ------------------------------------------------ > Test 9: > A: > Hex: 41200000 | Sign: 0 | Exp: 82 | Frac: 200000 | Value: 10.000000 > B: > Hex: 40a00000 | Sign: 0 | Exp: 81 | Frac: 200000 | Value: 5.000000 > Operation: Subtract > Actual Result: > Hex: 40a00000 | Sign: 0 | Exp: 81 | Frac: 200000 | Value: 5.000000 > Actual Error: 0 > EXPECTED RESULT: > Hex: 40a00000 | Sign: 0 | Exp: 81 | Frac: 200000 | Value: 5.000000 > Expected Error: 0 > >>> TEST PASSED <<< > ------------------------------------------------ > Test 10: > A: > Hex: 3eaaaaab | Sign: 0 | Exp: 7d | Frac: 2aaaab | Value: 0.333333 > B: > Hex: 3eaaaaab | Sign: 0 | Exp: 7d | Frac: 2aaaab | Value: 0.333333 > Operation: Add > Actual Result: > Hex: 3f2aaaab | Sign: 0 | Exp: 7e | Frac: 2aaaab | Value: 0.666667 > Actual Error: 0 > EXPECTED RESULT: > Hex: 3f2aaaab | Sign: 0 | Exp: 7e | Frac: 2aaaab | Value: 0.666667 > Expected Error: 0 > >>> TEST PASSED <<< > ------------------------------------------------ > > TEST SUMMARY: > Tests run: 10 > Tests passed: 6 > Tests failed: 4 > Pass rate: 60.0% > > Simulation finished > ./top_module.v:143: $finish called at 100000 (1ps) > Hint: Total mismatched samples is 0 out of 0 samples > > Simulation finished at 100000 ps > Mismatches: 0 in 0 samples > ``` ## Design Gap - **特殊值未处理** - +0和-0的符号结果不符合标准 - 某些计算结果仍不正确