tb_fpu.vhd

来自「Java Op Processor java vhdl processor」· VHDL 代码 · 共 1,389 行 · 第 1/5 页

VHD
1,389
字号
			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			report "Error!!!"			severity failure;						--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "01110011011100000000000000000011"; 			opb_i <= "01101100100000000000000000000000"; 			fpu_op_i <= "000";			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			report "Error!!!"			severity failure;				    		wait for CLK_PERIOD; start_i <= '1'; -- MIN #1    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "00000000000000000000000000000000"; 			opb_i <= "00000000000000000000000000000000"; 			fpu_op_i <= "000";			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			report "Error!!!"			severity failure;							    		wait for CLK_PERIOD; start_i <= '1'; -- MIN #2    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "00000000000000000000000000000000"; 			opb_i <= "00000000000000000000000000000001"; 			fpu_op_i <= "000";			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			report "Error!!!"			severity failure;								    		wait for CLK_PERIOD; start_i <= '1'; -- MAX    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "01111111011111111111111111111111"; 			opb_i <= "00000000000000000000000000000000"; 			fpu_op_i <= "000";			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			report "Error!!!"			severity failure;							    		wait for CLK_PERIOD; start_i <= '1'; -- INF    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "01111111100000000000000000000000"; 			opb_i <= "00000000000000000000000000000000"; 			fpu_op_i <= "000";			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			report "Error!!!"			severity failure;						    		wait for CLK_PERIOD; start_i <= '1'; -- QNaN    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "01111111111111111111111111111111"; 			opb_i <= "00000000000000000000000000000000"; 			fpu_op_i <= "000";			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			report "Error!!!"			severity failure;						    		wait for CLK_PERIOD; start_i <= '1'; -- SNaN    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "01111001111111111111111111111111"; 			opb_i <= "01111111100000000000000000000001"; 			fpu_op_i <= "000";			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			report "Error!!!"			severity failure;						    		wait for CLK_PERIOD; start_i <= '1'; -- inf + inf    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "01111111100000000000000000000000"; 			opb_i <= "01111111100000000000000000000000"; 			fpu_op_i <= "000";			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			report "Error!!!"			severity failure;							    		wait for CLK_PERIOD; start_i <= '1'; -- -inf + inf    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "11111111100000000000000000000000"; 			opb_i <= "01111111100000000000000000000000"; 			fpu_op_i <= "000";			rmode_i <= "00";			wait for CLK_PERIOD; start_i <= '0'; wait until ready_o='1';			assert output_o(30 downto 0)=fpout_y(30 downto 0) 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			report "Error!!!"			severity failure;							--misc.			--			  seeeeeeeefffffffffffffffffffffff    		wait for CLK_PERIOD; start_i <= '1';     		opa_i <= "11110011011100000000000000000011"; 			opb_i <= "00000000111111111111111111111111"; 			fpu_op_i <= "000";			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			report "Error!!!"			severity failure;										-- substract--------------------						    	--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000100000000000000000000000"; 			opb_i <= "00000000100000000000000000000000"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;						-------    	--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000110000000000000000000010"; 			opb_i <= "00000000100000000000000000000000"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;			    	--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "10000000000000000000000000000111"; 			opb_i <= "10000000001111111111111111111000"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;    	--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000011111110100011111000101000"; 			opb_i <= "00000111000101111000001111100110"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;					    	--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "10001100111110100011111000101000"; 			opb_i <= "10001100111101111000001111100110"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;		    	--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000011111110100011111000101000"; 			opb_i <= "01111111110000000000000000000001"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;						--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000011111110100011111000101000"; 			opb_i <= "01111111100000000000000000000001"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;								--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000100100000000000000000010"; 			opb_i <= "00000000100000000000000000000000"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;						--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00100011001000000000000000000000"; 			opb_i <= "00101001100100000000000000000100"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;						--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "01110011011100000000000000000011"; 			opb_i <= "01101100100000000000000000000000"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;						--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000000000000011111111111111111"; 			opb_i <= "00000000000000000000000000111111"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;						--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "00000111111111111111111111111111"; 			opb_i <= "00000000000001000000000000000000"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;						--			  seeeeeeeefffffffffffffffffffffff    	wait for CLK_PERIOD; start_i <= '1'; opa_i <= "01110011011100000000000000000011"; 			opb_i <= "01101100100000000000000000000000"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;    		wait for CLK_PERIOD; start_i <= '1'; -- MIN #1    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "00000000000000000000000000000000"; 			opb_i <= "00000000000000000000000000000000"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;							    		wait for CLK_PERIOD; start_i <= '1'; -- MIN #2    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "00000000000000000000000000000000"; 			opb_i <= "00000000000000000000000000000001"; 			fpu_op_i <= "001";			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			report "Error!!!"			severity failure;								    		wait for CLK_PERIOD; start_i <= '1'; -- MAX    		--		  seeeeeeeefffffffffffffffffffffff	    		opa_i <= "01111111011111111111111111111111"; 			opb_i <= "00000000000000000000000000000000"; 			fpu_op_i <= "001";

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?