tb_fpu.vhd
来自「Java Op Processor java vhdl processor」· VHDL 代码 · 共 1,389 行 · 第 1/5 页
VHD
1,389 行
assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000001111111111111111111111"; opb_i <= "00000000000000000000000000010000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "10000000011101111111111111111101"; opb_i <= "00111010000000000000000000000001"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- 2^-127x0.11 * 2^-0x1.0 = 2^-127x0.11 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000011000000000000000000000"; opb_i <= "00111111100000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y report "Error!!!" severity failure; -- 2^-127x0.11 * 2^-1x1.0 = 2^-127x0.11 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000011000000000000000000000"; opb_i <= "00111111000000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y report "Error!!!" severity failure; -- 2^-127x0.11 * 2^-2x1.11 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000011000000000000000000000"; opb_i <= "00111110111000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y report "Error!!!" severity failure; -- 2^-127x0.11 * 2^-0x1.11 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000011000000000000000000000"; opb_i <= "00111111111000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y report "Error!!!" severity failure; -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000011110000000000000000000"; opb_i <= "00111100111110000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "01111111100000000000000000000000"; opb_i <= "00000111000101111000001111100110"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000011111110100011111000101000"; opb_i <= "00000111000101111000001111100110"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000000000000000000000000000"; opb_i <= "00000111000101111000001111100110"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001100000000000000000000000"; opb_i <= "00110010100000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000011000000000000000000000"; opb_i <= "00111111111000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000110000000000000000000000"; opb_i <= "00111111000000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y report "Error!!!" severity failure; -- inf -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "01111111110000000000000000000000"; opb_i <= "00000000000000000000000000000001"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y report "Error!!!" severity failure; -- ******* check rounding ********--- --Round to nearst even -- xx00000000000000000000000xxxxxxxxxxxxxxxxxxxxxxx -- fract2a= 000000000000000000000000010000000000000000000000 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001100000000000000000000000"; opb_i <= "00110010100000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- xx00000000000000000000000xxxxxxxxxxxxxxxxxxxxxxx -- fract2a= 000000000000000000000000110000000000000000000000 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001110000000000000000000000"; opb_i <= "00110010100000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- xx00000000000000000000000xxxxxxxxxxxxxxxxxxxxxxx -- fract2a= 000000000000000000000000010000001000000000000000 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001100000001000000000000000"; opb_i <= "00110010100000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- xx00000000000000000000000xxxxxxxxxxxxxxxxxxxxxxx -- fract2a= 000000000000000000000000010000000000000000000000..1 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001100000000000000000000001"; opb_i <= "00110010100000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- xx00000000000000000000000xxxxxxxxxxxxxxxxxxxxxxx -- fract2a= 000000000000000000000000000000000000000000000000..1 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001100000000000000000000001"; opb_i <= "00011001000000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "00"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- round up -- xx00000000000000000000000xxxxxxxxxxxxxxxxxxxxxxx -- fract2a= 000000000000000000000000010000000000000000000000 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001100000000000000000000000"; opb_i <= "00110010100000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "10"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- xx00000000000000000000000xxxxxxxxxxxxxxxxxxxxxxx -- fract2a= 000000000000000000000000110000000000000000000000 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001110000000000000000000000"; opb_i <= "00110010100000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "10"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- xx00000000000000000000000xxxxxxxxxxxxxxxxxxxxxxx -- fract2a= 000000000000000000000000010000001000000000000000 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001100000001000000000000000"; opb_i <= "00110010100000000000000000000000"; fpu_op_i <= "010"; rmode_i <= "10"; wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1'; assert output_o=fpout_y and ine_o=ine_y and overflow_o=overflow_y and underflow_o=underflow_y and inf_o=inf_y and zero_y=zero_o and div_zero_o=div_by_zero_y and qnan_o=qnan_y and snan_o=snan_y and underflow_y=underflow_o report "Error!!!" severity failure; -- xx00000000000000000000000xxxxxxxxxxxxxxxxxxxxxxx -- fract2a= 0000000000000000000000000100000000000000000000001 -- seeeeeeeefffffffffffffffffffffff wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000001100000000000000000000001";
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?