LIBRARY IEEE ;<br />USE IEEE.STD_LOGIC_1164.ALL ;<br />ENTITY comparator_bc IS -- 表示8位数值比较器>=DCH,<br />PORT ( dataA : IN STD_LOGIC_VECTOR ( 7 DOWNTO 0 ) ;<br /> rfmute : IN STD_LOGIC;<br /> bigerout : OUT STD_LOGIC ); -- A大于DCH输出信号<br />END ENTITY comparator_bc ;<br /><br />ARCHITECTURE behavioral OF comparator_bc IS<br />SIGNAL temp_dataA : STD_LOGIC_VECTOR( 4 DOWNTO 0);<br />BEGIN<br />temp_dataA <= dataA(4) & dataA(3) & dataA(2) & dataA(1) & dataA(0);<br />inst_comparator : PROCESS ( rfmute,dataA(7),dataA(6),dataA(5),dataA(4),dataA(3),dataA(2),dataA(1),dataA(0))<br />BEGIN<br /> IF ( rfmute= '0') THEN<br /> bigerout <= '1' ;<br /> ELSE <br /> IF ( dataA(7)='1' AND dataA(6)='1' AND dataA(5)='1' ) THEN<br /> bigerout <= '1' ;<br /> ELSIF (dataA(7)='1' AND dataA(6)='1' AND dataA(5)='0') THEN<br /> CASE temp_dataA IS<br /> WHEN "11111" => bigerout <= '1' ;<br /> WHEN "11110" => bigerout <= '1' ;<br /> WHEN "11101" => bigerout <= '1' ;<br /> WHEN "11100" => bigerout <= '0' ;<br /> WHEN OTHERS => bigerout <= '0' ;<br /> END CASE; -- 已经判断出dataA> DCH,<br /> ELSE <br /> bigerout <= '0' ;<br /> END IF;<br /> END IF;<br /> END PROCESS inst_comparator ;<br />END ARCHITECTURE behavioral ;<br />
|