From b7e590ebb0dde8dbbd80ca3acd3c8d04ce29bc02 Mon Sep 17 00:00:00 2001 From: cturek Date: Thu, 7 Jul 2022 23:34:56 +0000 Subject: [PATCH] Sqrt exponents --- addins/riscv-arch-test | 2 +- pipelined/srt/sqrttestgen.c | 4 + pipelined/srt/sqrttestvectors | 517 ---------------------------------- pipelined/srt/srt.sv | 16 ++ pipelined/srt/testbench.sv | 32 +++ 5 files changed, 53 insertions(+), 518 deletions(-) delete mode 100644 pipelined/srt/sqrttestvectors diff --git a/addins/riscv-arch-test b/addins/riscv-arch-test index be67c99bd..307c77b26 160000 --- a/addins/riscv-arch-test +++ b/addins/riscv-arch-test @@ -1 +1 @@ -Subproject commit be67c99bd461742aa1c100bcc0732657faae2230 +Subproject commit 307c77b26e070ae85ffea665ad9b642b40e33c86 diff --git a/pipelined/srt/sqrttestgen.c b/pipelined/srt/sqrttestgen.c index 32c93f343..b4ece1473 100644 --- a/pipelined/srt/sqrttestgen.c +++ b/pipelined/srt/sqrttestgen.c @@ -33,7 +33,11 @@ void main(void) double mans[ENTRIES] = {1, 1.5, 1.25, 1.125, 1.0625, 1.75, 1.875, 1.99999, 1.1, 1.2, 1.01, 1.001, 1.0001, +<<<<<<< Updated upstream 1/1.1, 1/1.5, 1/1.25, 1/1.125}; +======= + 2/1.1, 2/1.5, 2/1.25, 2/1.125}; +>>>>>>> Stashed changes double exps[ENTRIES] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; int i; diff --git a/pipelined/srt/sqrttestvectors b/pipelined/srt/sqrttestvectors deleted file mode 100644 index 392053b93..000000000 --- a/pipelined/srt/sqrttestvectors +++ /dev/null @@ -1,517 +0,0 @@ -0000000000000_0000000000000 -8000000000000_3988e1409212e -4000000000000_1e3779b97f4a8 -2000000000000_0f876ccdf6cd9 -1000000000000_07e0f66afed07 -c000000000000_52a7fa9d2f8ea -e000000000000_5e8add236a58f -ffff583a53b8e_6a09ab16ee3d0 -199999999999a_0c7ebc96a56f6 -3333333333333_186f174f88472 -028f5c28f5c29_0146dd68287f3 -004189374bc6a_0020c2830b9c7 -00068db8bac71_000346d6ff116 -d1745d1745d17_e82c3f9d89e1c -5555555555555_a20bd700c2c3e -999999999999a_c9f25c5bfedd9 -c71c71c71c71c_e2b7dddfefa66 -ae3271fce3f9c_d551d18e54277 -93e045e88bd11_418bf3cc1e4c3 -90f7838f071e1_c5184e372ee71 -98d2536ca6d95_c982e901a1e14 -d2c916d22da46_e8decc85822fb -94a0f921f243e_c728c4dbee1d3 -574b50dea1bd4_2873820e10e0c -895a7660ecc1e_c0c5ced51afa7 -1c77322e645cd_0ddb946295434 -1ba62a7c54f8b_7d169e3a2659b -e8e2978d2f1a6_61c59e7574d95 -41ffe2a7c54f9_9608c143bfd66 -7590faa9f553f_353eee44a1afa -06e089a913522_6ede89bf49029 -e79076a8ed51e_f3a1feab3b7d6 -d51d2f4e5e9cc_ea168f50673ac -45808ced19da3_983c902a22c03 -6f466990d321a_b1a42fd6b592a -220ac945928b2_815be8939b369 -36c90d6e1adc3_8ee6afea03f82 -0b53a3a7474e9_059a20c9f6405 -f17a816502ca0_f8afe204e2600 -1917108e211c4_7b5d8ccee92ea -9bc245b48b691_cb26e86f5735a -40eb7926f24de_955a5577ffe7a -9a985ff8bff18_4435dbe84773a -09d9a6834d06a_70f0257a8ab67 -bdc1c7c38f872_51ceac06eed23 -ff7907ba0f742_ffbc7f69e3efc -bf08f7f1efe3e_de6a83a26fd1d -06a3206640cc8_6eb3ad01c9815 -ada579aef35de_d504e625a2d6d -39b060f4c1e98_90c29e1123eb5 -2f2947da8fb52_16959cbd1d48c -4671cd139a273_98d3bd2eff117 -0c7377beef7de_72bd0582548eb -f975c46b88d71_67b81123f8dce -f2157586eb0dd_f8fe755da5331 -2b8fdc2fb85f7_14ecfca93ae4c -8af47b4cf699f_c1af76b04ddd5 -0db59ffb3ff68_739b3726df36e -8a3739de73bce_c143ac24df9ed -99dcbbd977b2f_43ebbe8469bbd -c87c1d503aa07_e3723a3635fdf -222386ff0dfe2_10890df0885f0 -68f1a9235246a_2ff9f6505d566 -9d934c9a99353_cc29e5f0e6998 -d690506ca0d94_ead84585b61ec -1dc9f0d3e1a7c_0e7c1165efbfe -e613feebfdd80_f2dee7435c007 -0d535dd6bbad7_73578043fac8f -608ed9bdb37b6_2c6ca8cc4e6bb -89b27d04fa09f_c0f802ca71172 -539721fa43f48_a0fa3fcb09adb -c7d220f041e08_e3182e88ae49f -654afb15f62bf_2e6f61bf98e0e -06ea8f751eea4_036f615bb315f -48515122a2454_21e9a04cd1f6b -d4b76d06da0db_5a65d547598d0 -0282cd059a0b3_01409dbd6fa12 -e80b2216442c9_f3e0d516d00bd -f0fcd6e9add36_f8701fac9a977 -cdf3d353a6a75_e6553654da734 -b3b1297a52f4a_d84eb4d0cdd1c -1116f5a5eb4bd_086824801e0f1 -145fa05f40be8_782b4f7607e38 -803d426284c51_39a1e28fda198 -85445d08ba117_be6f8226d6c13 -066f15de2bbc5_6e8f568cc6f8d -55e48f491e924_a26383073cc76 -1032d851b0a36_7551305922e9c -41eb5d56baad7_95fbd0e6c36fd -c02b923f247e5_52b8721f6429d -dd1f363e6c7ce_ee40ded8c9bdb -dc98d325a64b5_edfb3ec1fe213 -71258ca319463_b2beaf8de715d -232415902b205_11017231bc63a -7a261fb83f708_b803901d08750 -47afdd07ba0f7_999ab6f13db2a -6a9291cd239a4_30a9519b120a8 -60341ea03d408_a8a695fe1273c -53f4eb59d6b3b_a133d02e5f0b1 -c2b2483c90792_53ac7d5cd5d67 -c29ebde17bc2f_e054a2134123f -a8925cd0b9a17_d23db60b50520 -524a8a0d141a3_264878d4d966a -d4f8ed91db23b_ea039e961a422 -c96daec35d86c_e3f2144d791a1 -66cb9f1f3e3e8_2f1200c8b758c -5f97f1e7e3cfc_a848653bfa858 -e9bc086410c82_f4be56d9e1746 -2d66981930326_88d50f4e55eaf -508ec8c991932_9f1c8c264d1f5 -b7a9dbafb75f7_da74869225afe -c2238317062e1_5376ac34cb03c -d918439c87391_ec29c1ab0b399 -9806f815f02be_4331e7926a75f -a12e62c0c5819_ce2a519890e29 -5e56a0a141428_a786593154104 -d27091e923d24_e8b06fcba35cc -ee19e403c8079_63a777df9bd21 -ba0de3abc7579_dbbe4f307b7a9 -e68d47be8f7d2_f31d205d919e7 -d720bb25764af_eb2391d186941 -2e72bc85790af_8983a68b1933f -c3201ae035c07_e0998f5edcc08 -484047c08f812_99f4ef763a198 -ba5973dae7b5d_5083801deb09a -3d403a907520f_930773446aea4 -1fd4498093012_0f72d0c56b2e7 -927402d405a81_c5ef16b504e39 -3adcb25164a2d_1be8dfa703db9 -c9cabf357e6b0_565651a123f9d -cf1c9ba937527_e6f156560fab1 -801c5c08b8117_bb780dcd4a3ce -1ae378c6f18de_0d1bd1404d89c -1cea6bf4d7e9b_7df032936ca73 -aa86a4cd499a9_4a70a8d0586dd -5b65ac7b58f6b_a5be43f803917 -d04e3b847708f_e791e8d64ca05 -a6aa223444689_48f0e09b7504f -023dcdfb9bf73_6b9ec1c492343 -fb5da72b4e56a_68658275b9f12 -85620d141a283_be8087eda1701 -f8374f2e9e5d4_fc17d6b6aa491 -debe95252a4a5_ef17d49382367 -5e7450a8a1514_a7984aa86726d -886996632cc66_3cf350a8e3f14 -7fe6f7ddefbbe_bb593a8c74da0 -7989e283c5079_36e2b9b0780e8 -2d3eba2d745af_15b3dccad59d9 -dbb7a75f4ebea_ed867fc2e2d84 -2b466a2cd459b_8771cd81d47f3 -f49a9335266a5_fa45142e25067 -382293d527aa5_8fc4312e812d9 -76e1195232a46_b61b865625966 -0102fe95fd2c0_6ac0db2f8bcba -9646ecb5d96bb_c815d9b329126 -501f4cde99bd3_9ed7c5d5bc785 -7d7efa39f473f_b9f4fb5c3d080 -31588b9117223_17961d26f5102 -e679d60bac176_f3132728a8d37 -ae7535aa6b54d_d5763b26476cf -0b0e710ce219c_71c62b418032b -68ebf3b7e76fd_addfd161ac4b7 -ebb1a9835306a_f5be89408b278 -987e2d705ae0b_c953d0c9914d0 -772368e2d1c5a_b64243fae3fb7 -502dbcc7798ef_9ee0ae7d41d9b -ef55989331266_f799268f564e9 -476ba46348c69_9970116fd2787 -8501011202240_be48e041c087a -7ef86050c0a18_391d2f0629239 -1451dfc3bf878_7821f369d1226 -0a5d0e1e1c3c4_714b482f78206 -4082d985b30b6_1e71f84b709d7 -1e686870d0e1a_0ec7049bce04d -a32d7afaf5f5f_cf4515600a0db -d8864ccc99993_5bcd565a71793 -a3b204ec09d81_cf8e4d0f9e74a -258e5004a0094_83afadcd1ef88 -82e0837d06fa1_bd101d541955f -a99eebfdd7fbb_d2d1141d12617 -433ae8a5d14ba_96cf2f2b9b8c3 -00029425284a5_00014a11bf5c4 -a2824ed49da94_cee674f907509 -c7add37ba6f75_e304f163dffc6 -00ff9faf3f5e8_6abe7a37761f6 -fee5806f00de0_ff72acb649dc2 -bafa6ab4d569b_dc3d85026c40a -bdbce225c44b9_ddb8afc7bfccb -28548ec91d924_136d8e62015c4 -11be577caef96_08b91fd0554ab -d8a235806b00d_ebec55b8bf00e -301702e605cc1_8a94b08c2982f -7171e683cd07a_b2eba2d7a9729 -4e227f64feca0_9d9d5317da9b6 -911e609cc1398_407278920f577 -d37de283c5079_e93d701b76ce6 -a3b45ca4b9497_cf8f9841cb9d6 -6fbd91b323664_32d331f930e2e -1ae386df0dbe2_7c93c78e97a2c -28af5daebb5d7_85bf3c0e14efe -cf77a9c7538ea_5873e435c4655 -5ff5fed3fda80_a88120c300c87 -98335e26bc4d8_43437c938880b -0fca30186030c_750964d64ec9c -83c10be217c43_bd91314e9c2f4 -379f95072a0e5_1a721a6753344 -fc0b567eacfd6_fe04afe9c2350 -276d10ca21944_84eb4f9969281 -c15c1a8835107_dfa88eb80f3a5 -7ee5d9f3b3e76_bac4aa8497839 -4204ff89ff140_960bfa7d01fdf -224d4ada95b53_818814678ee18 -7ee50236046c1_bac42dc7ca58c -aaa3933f267e5_d35fef27b94ef -d9d0a8295052a_ec89a1e80c752 -bf22ea21d443b_de7865a94a4bb -a98313a6274c5_d2c1ceb7337ca -f57e4ed89db14_fab82ed7ff119 -7cd9cc3f987f3_b995432eff078 -ce8ba57f4afe9_e6a51a7901e9d -f79fcb87970f3_fbcb7a062af68 -557601bc03780_a21fd8a725b25 -fd3950baa1754_690e4b24fda4d -4fd9148229045_9eac6e56877bb -a8fca195432a8_d2780bc6b98a9 -c729d8afb15f6_e2bef95620f17 -3b713d027a04f_1c2bd001532f4 -4caafe31fc640_9cb4a80c2fa32 -fc0a86050c0a2_fe04474537bc8 -424fae7f5cfec_963b0dac95fa2 -d5516f62dec5c_ea31d99df7240 -66bc7668ecd1e_ac921f868adac -447f5a96b52d7_2038947b4b29b -50b18f3b1e764_25965fa129e26 -da0299e533ca6_eca396b34a8cd -2fd5c94b92972_16e4d4254bac7 -44269225244a5_976360c639740 -ca17f3bfe77fd_e44c1dd968501 -4d65c9f393e72_9d28763d5cfbd -057caca5594ab_6de5e38acee76 -f169d6e3adc76_f8a76dc8df97f -1ec992eb25d65_0ef4ef3449518 -179f815302a60_7a5fc96aa31be -7048d911b2236_b23ca645e8430 -d012e565cacb9_58ad8ec8be73b -e2d452f0a5e15_5f92f5ffaefd3 -2f65c32f865f1_8a21a078f2055 -e3837056e0adc_f18d8a27380ab -cdc4f091e123c_57d232be8a40f -58731ece3d9c8_28f31f19298aa -b20915ce2b9c5_d768a11d16e12 -bcf887910f222_518261ad16d10 -a9911b2236447_d2c98074dcff2 -613f7c4ef89df_2cb7e160d7c89 -327088ed11da2_8c1a3372f503b -aaa432b46568d_d360467f228ce -df0e5b3cb6797_ef411299da1bf -59dcb08d611ac_a4cf75540e2c1 -ee9261bcc3798_63d2d29caeecf -ed8870a0e141c_63731aff23c30 -384cbe097c130_1ac088bb0dd3f -6c9b8cbb19763_b01053166e905 -75eabac5758af_b58b788c3d84c -3e640c5418a83_93c0a50ff06df -4ee5450a8a151_9e15ce99d389c -a7f2aa5554aab_49709f0acf22a -645cc57d8afb1_ab2686a652109 -5912e675cceba_a454a133a1a93 -467d521aa4355_98daf3bf22c37 -63791ed23da48_2da9f6a2bb9b8 -7a264c5c98b93_b803aa160a737 -37e128f651eca_8f9a4ab9a1e87 -411f58deb1bd6_957b16ee69083 -7627146a28d45_b5aec6723866d -5048040808101_25685807290de -7b1fb58b6b16d_b894ad98eaf3c -9e2cf769eed3e_cc7f5b1f41ba4 -d787c5338a671_eb59441cd889b -5e9d25da4bb49_a7b0f75669cbe -4e6bb6236c46e_9dcaa120e794c -0776a925524aa_03b4778fccb7b -10a03ba47748f_759c2bedefe31 -670fcf3f9e7f4_2f2ecbe910302 -0ac5cb6396c73_0554b03e81ada -c13df9cbf397e_df987a0fb187c -5f5082d505aa1_a81d4926c24ed -8008c2f185e31_398c74e8df332 -c7dc849909321_559d54cc2b0c4 -724e66b4cd69a_33e4bbc30c9eb -2748493c92792_84d31934513a7 -2fbdc8e391c72_8a5ac8a2e8886 -554b925f24be5_a205dcaa3c364 -27bbabdf57beb_1326782142cac -8d367798ef31e_c2f808c87d9f1 -27533d567aacf_12f5deec64f17 -51945488a9115_25f92d6ea26b2 -84a732ee65dcd_be155990ed3be -f8046428c8519_fbfe2e707160d -d710b2216442d_eb1b360f3527a -a7a51eda3db48_d1bb607f46386 -5375e713ce27a_26ca91c1f0ce8 -817a8f251e4a4_bc42086f3f1e3 -bf008f911f224_524760d1e709e -ead84c6898d13_f54f95bc682e5 -d683b837706ee_ead1b3e4bde66 -87a249cc93992_bfca701ca531f -65f201f003e00_ac191f863ce79 -f047b04f609ec_646fffc092bd4 -5f240ef81df04_a802734b8a7f3 -89124f849f094_3d376cd3db8df -8c72ac315862b_c288d5b00e9a9 -e2dd638ec71d9_f1381345d33f3 -d5276366c6cd9_ea1be3b9eb936 -b952a6194c32a_db598334d83a2 -a0e924e249c49_ce03f563fdc69 -965f5d2aba557_c823913ba08d9 -189d28e651cca_7b0b409c0a17a -3072c32d865b1_172cd6665d696 -cf58edbddb7bb_e7110ba7fe74a -d1c25c40b8817_e85524c53f258 -bf7faad355a6b_deaa03698b005 -fe216d3ada75b_69608b485dc01 -2707ee97dd2fc_84a8b81452ea1 -4d5e02fc05f81_9d23a492cab16 -18825c5cb8b97_0bf97c45ddb75 -baaf8d471a8e3_dc15450d64a61 -f83f5606ac0d6_674989f2b429b -dad1f5d3eba7d_5ca55963e3317 -b2adf167e2cfc_d7c21f6b1ca69 -fbe9776aeed5e_6897272bfb5cc -2a10337866f0d_143b6e39b27f8 -718b93b7276e5_b2fabfa759d04 -5e515f82bf058_a7832c1f42b4f -74866188c3118_b4bac8738fa28 -1cd4c5398a731_7de1af32f25fe -34cf17b22f646_8da17681a4b5c -f845569aad356_674bad5d4924d -ad25333e667cd_d4bedd0aecd3c -72d60dbc1b783_b3bd135e57267 -6d02e905d20ba_b04d8c9bc773b -c6a16bf2d7e5b_e2769b569a79e -fe8573cae795d_6983f76829169 -f0c0ee41dc83c_649b871bad319 -1b26f96df2dbe_7cc1236af05ca -711ebfed7fdb0_3366654dceb41 -4ca0ce019c034_23cf3daf6a36c -dd271b8a37147_ee44f5c421b0b -d12a88dd11ba2_e80586b7805d9 -3e87c897912f2_93d74ce63be2d -ac7a094012802_d461590559b4f -a2e6e515ca2b9_cf1e126c2a7b4 -fc02e6c5cd8ba_68a02e6a93e0d -57097faaff560_285715a40378d -93d1a7534ea6a_418621e995c81 -5156f421e843d_9f97ebad5261b -37c3ee03dc07c_8f8790704d084 -0924c1d183a30_04881c489753d -35c27c74f8e9f_8e3e0ae532ece -2937474e8e9d2_13d6d7821da0f -b9d29245248a5_50502e27b8267 -4b635ad6b5ad7_9be93a4cb06c1 -745a054c0a981_34be1df77fe08 -27366e6cdcd9c_12e8756a6f38e -535d74a2e945d_26bff41decc57 -756b2136426c8_352f434ee70b5 -b59cd111a2234_4eb501f2ec4eb -de7bd203a4075_eef54dfc17c7e -2ace0f781ef04_87230fc21ac9f -0fdb377e6efce_07cf1e235f818 -514bdfb7bf6f8_9f91186d6fd41 -860cc9b993732_bee2615ddfe41 -f327ed77daefb_657801de5581d -42226664ccc9a_961e8383f1d72 -c422e781cf03a_e1235641b538d -405bb51b6a36d_94ff7fc057495 -0915f98ff31fe_706845cad2ee6 -a9b539ea73d4e_d2dd4f3f72272 -1d7cd09da13b4_7e52454aa77ff -b47504d209a41_4e43d00a88125 -a8f317122e246_d272cf495d24d -93e1b3ab6756d_418c8565c5fc9 -f46d9ddb3bb67_fa2e57dc465a1 -4ddd14da29b45_2459d84009dd8 -757399af335e6_b545bfaaeaa5c -47023b207640f_992e23a866582 -f8437e92fd260_fc1dfa5d8e2c1 -5a630f561eac4_29c898a1bc51b -cb929c0938127_e5141d2922f10 -16b876a0ed41e_79c357aa29d9a -a4ace129c2538_482a7a94cd950 -637726ee4ddca_2da920d3c03e9 -910f787ef0fde_c525d7242a063 -8c81733ee67dd_c2913b3167ea7 -2cc04b0896113_15798fdab384d -d5c196432c866_5ac821396e6b4 -bb2cd765aecb6_dc589f396a3db -712c8e0d1c1a4_b2c2cf96b0ce5 -92e04c4098813_c62c2457074fe -cbe9cdab9b573_5721221a0bf90 -f91829d053a0a_fc8914b7cdd21 -6a77e47fc8ff9_aecb5b85be439 -afeec21d843b1_d643ef2b90f14 -e54c410882110_6078bd1f8333d -bafe7e18fc320_dc3fb5df72e0c -80c4c00980130_39d929a387cc1 -97deacbd597ab_4321f1d40e697 -881cef41de83c_3cd45a5f9ee1b -3507ccf799ef3_1944a8caee28e -5076a6354c6aa_9f0da98ac6c59 -9e46fa09f413f_cc8dd08fb8be8 -0dc3f617ec2fe_73a5175d66c26 -a618007000e00_d0e0e43954673 -b5c617cc2f986_d96f38a1e24ed -d4bb0fee1fdc4_5a672d42d6981 -8fd319b6336c6_c472f924b09f7 -625c9c9d393a7_a9f3256ef10d4 -c5360d041a083_549ebeb643612 -e7f50aca15943_616fa109cde0f -2de938a27144e_892a268a2acc0 -2847242a48549_857ac0a5f747c -0f5311f223e44_74b79cf898d09 -30ae26f04de0a_8af6b35ff6236 -72a1394a7294e_3407285970c2c -379d0a5214a43_1a70f382c5425 -c70c4c7498e93_e2af4dc60c104 -e80d9edb3db68_617887a7722a9 -5bd5721ae435d_a602171c5580b -3832da7db4fb7_8fce9d43fd697 -0d32d435a86b5_73411135aca74 -3ce8436086c11_92cf8f6ebc849 -31450446088c1_8b58701eb7b1e -de92e2b5c56b9_ef013bd7260e7 -a8e1f3e7e7cfd_d26967647c8c8 -1f2926124c24a_0f2211bad7fca -94e9b5f36be6d_41f58c8807554 -d8f88bed17da3_ec1941ea35d9c -5b7be977d2efa_a5cbc36bac10c -ed535cbeb97d7_635ffd630a85b -cdd9c98393072_e6478154d8edf -a753a09341268_d18e92ec81d15 -29d550caa1954_14202398e8fff -6dcadfd5bfab8_3202e02068f82 -c1b3209a41348_dfd6fe91e15e3 -608a13c427885_2c6aa026e29ec -a140f7e1efc3e_ce349c86121be -51803a487490f_9fb15781c905b -29ba6774cee9a_866e7b273cac2 -07abfcb7f96ff_03cebea460554 -8e7cdba5b74b7_c3b12ac430dbc -4082df19be338_9518407191a9a -ac1b2286450c9_d42d7783a38fe -3b93db1fb63f7_1c3b675d40b07 -c4ac180830106_e16c4f5d7d3e5 -9596fc8df91bf_c7b30e07afbd6 -399672b8e571d_90b20d5068710 -c18a9395272a5_533cfc9f3fe5c -596a8e951d2a4_a48a00d82c458 -9089cf3f9e7f4_c4da4e411869b -70622cf059e0b_b24b94843b053 -9a5d8b0b16163_ca5fd85efc4f9 -9ad825304a609_444f08369b06e -4342625cc4b99_1fabad9842b85 -bc7436e06dc0e_51502fc43175e -d92019f033e06_ec2dd53f69949 -8b08abe157c2b_3e01e15ae4182 -10d5522ea45d5_75c08a7bf9165 -3cea498493092_92d0d8ba07bc4 -1c61504ea09d4_7d94416e09d5b -de40218043008_eed66db4947dd -855e098413082_3bb7e1b37331c -875de1bbc3778_3c872161079b4 -38c351d6a3ad4_1af6318279595 -799274ace959d_b7ad9deab7b4b -0ab822e045c09_054dff9072a02 -4ca4b2cd659ad_9cb0c07cc188c -1acd6c86d90db_7c84e91c740a7 -d6da4bbc97793_eafed9ccde54b -5f3e5948b2916_a812527e18662 -9ea16ae2d5c5b_ccc013621ca2b -6551275a4eb4a_abb8e42c4fd71 -3f7670b4e169c_1df9ee59883b6 -4ab68d651aca3_9b7dc70153f53 -8a8a7114e229c_3dcf0e6129473 -10e43e607cc10_75cac2f8b142b -b01a4c8899113_d65ba26339e53 -3ca9879b0f362_92a7aeed082a3 -491390d321a64_9a78ca81ce7d7 -097edb15b62b7_70b11fde081ea -9a5aada55b4ab_441d7f4eb8f26 -72df7b76f6edf_3421065197feb -70143dd87bb0f_b21da1b300cb4 -9a97696ed2dda_ca8029002c6f3 -5b0eeee9ddd3c_a58999cd748d9 -39216502ca059_90673d90505b0 -0d96fe2dfc5c0_73861c5399359 -046a26944d28a_0232a8f504ee4 -5f1bab6f56deb_a7fd62ab6c98d -8048091012202_bb9143863c355 -3cec95252a4a5_92d24e2d35070 -6692abf957f2b_ac792841ad4d7 -22bf07060e0c2_81d392ae8a6a9 -2b0bf617ec2fe_14affea7c72e7 -772a6e54dca9c_35e839db8616e -3896f75deebbe_1ae22082f4d3d -0bdf2ed65dacc_05de5efbd3b35 -4f9107ae0f5c2_9e7ff0fac94aa -b716e835d06ba_da2535bdda60b -730f8c7f18fe3_b3ded974083fa -5d92c1dd83bb0_2b266a35dbe6c -55b25314a6295_a244c51c2b5ba -c2130a7a14f43_e00a279d14229 -4e82994932926_9dd8c9c26b402 -40c5c0e381c70_1e8fdc3761c6f -c5261f5c3eb88_e1ad2eb83b960 -7d835e86bd0d8_b9f786983a82c -41dcb3c96792d_95f291eddaca8 -01c9a6ef4ddea_6b4cf2282cb85 diff --git a/pipelined/srt/srt.sv b/pipelined/srt/srt.sv index 7dc8ba8ba..a980511ff 100644 --- a/pipelined/srt/srt.sv +++ b/pipelined/srt/srt.sv @@ -93,7 +93,11 @@ module srt ( otfc2 #(`DIVLEN) otfc2(clk, Start, qp, qz, qm, Quot); +<<<<<<< Updated upstream expcalc expcalc(.XExp, .YExp, .calcExp); +======= + expcalc expcalc(.XExp, .YExp, .calcExp, .Sqrt); +>>>>>>> Stashed changes signcalc signcalc(.XSign, .YSign, .calcSign); endmodule @@ -297,11 +301,23 @@ endmodule // expcalc // ////////////// module expcalc( +<<<<<<< Updated upstream input logic [`NE-1:0] XExp, YExp, output logic [`NE-1:0] calcExp ); assign calcExp = XExp - YExp + (`NE)'(`BIAS); +======= + input logic [`NE-1:0] XExp, YExp, + input logic Sqrt, + output logic [`NE-1:0] calcExp +); + logic [`NE-1:0] SExp, DExp, SXExp; + assign SXExp = XExp - (`NE)'(`BIAS); + assign SExp = {1'b0, SXExp[`NE-1:1]} + (`NE)'(`BIAS); + assign DExp = XExp - YExp + (`NE)'(`BIAS); + assign calcExp = Sqrt ? SExp : DExp; +>>>>>>> Stashed changes endmodule diff --git a/pipelined/srt/testbench.sv b/pipelined/srt/testbench.sv index e7ee7b29b..985d0ad75 100644 --- a/pipelined/srt/testbench.sv +++ b/pipelined/srt/testbench.sv @@ -62,9 +62,20 @@ module testbench; // `define mema 255:192 // FLOAT TEST SIZES +<<<<<<< Updated upstream `define memr 63:0 `define memb 127:64 `define mema 191:128 +======= + // `define memr 63:0 + // `define memb 127:64 + // `define mema 191:128 + + // SQRT TEST SIZES + `define memr 63:0 + `define mema 127:64 + `define memb 191:128 +>>>>>>> Stashed changes // Test logicisters logic [MEM_WIDTH-1:0] Tests [0:MEM_SIZE]; // Space for input file @@ -75,7 +86,13 @@ module testbench; logic rsign; integer testnum, errors; +<<<<<<< Updated upstream assign Int = 1'b0; +======= + // Equip Int test or Sqrt test + assign Int = 1'b0; + assign Sqrt = 1'b1; +>>>>>>> Stashed changes // Divider srt srt(.clk, .Start(req), @@ -84,7 +101,11 @@ module testbench; .XSign(asign), .YSign(bsign), .rsign, .SrcXFrac(afrac), .SrcYFrac(bfrac), .SrcA(a), .SrcB(b), .Fmt(2'b00), +<<<<<<< Updated upstream .W64(1'b1), .Signed(1'b0), .Int, .Sqrt(1'b0), +======= + .W64(1'b1), .Signed(1'b0), .Int, .Sqrt, +>>>>>>> Stashed changes .Quot, .Rem(), .Flags(), .done); // Counter @@ -104,7 +125,11 @@ module testbench; begin testnum = 0; errors = 0; +<<<<<<< Updated upstream $readmemh ("testvectors", Tests); +======= + $readmemh ("sqrttestvectors", Tests); +>>>>>>> Stashed changes Vec = Tests[testnum]; a = Vec[`mema]; {asign, aExp, afrac} = a; @@ -158,10 +183,17 @@ module testbench; req <= #5 1; diffp = correctr[51:0] - r; diffn = r - correctr[51:0]; +<<<<<<< Updated upstream if (($signed(diffn) > 1) | ($signed(diffp) > 1) | (diffn === 64'bx) | (diffp === 64'bx)) // check if accurate to 1 ulp begin errors = errors + 1; $display("result was %h, should be %h %h %h\n", rSqrt, correctr, diffn, diffp); +======= + if (rExp !== correctr[62:52]) // check if accurate to 1 ulp + begin + errors = errors + 1; + $display("result was %h, should be %h %h %h\n", r, correctr, diffn, diffp); +>>>>>>> Stashed changes $display("failed\n"); $stop; end