9.2.2优先编码器.txt
来自「编码器是把输每一个高、低电平的信号编写成一个对应的二进制代码」· 文本 代码 · 共 60 行
TXT
60 行
优先编码器就是对某一个给定时刻只对优先级最高的输入信号进行编码的编码器,它的输入端口允许有多个输入信号同时有效。
LIBRARY IEEE
USE IEEE.std_logic_1164.ALL
ENTITY pri_encoder IS
PORT( d : IN std_logic_vector(7 DOWNTO O);
e1 : IN std_logic;
q : OUT std_logic_vector(2 DOWNTO 0);
gs,e0: OUT std_logic);
END pri_encoder;
ARCHITECTURE rtl_arc OF pri_encorder IS
BEGIN
PROCESS(e1,d)
BEGIN
IF("e1 = '1')THEN
q <= "111";
gs <= '1';
e0 <= '1';
ELSEIF (d = "11111111" AND e1 = '0')THEN
q <= "111";
gs <= '1';
e0 <= '0';
ELSEIF (d(7)= '0' AND e1 = '0')THEN
q <= "000";
gs <= '0';
e0 <= '1';
ELSEIF (d(6)= '0' AND e1 = '0')THEN
q <= "001";
gs <= '0';
e0 <= '1';
ELSEIF (d(5)= '0' AND e1 = '0')THEN
q <= "010";
gs <= '0';
e0 <= '1';
ELSEIF (d(4)= '0' AND e1 = '0')THEN
q <= "011";
gs <= '0';
e0 <= '1';
ELSEIF (d(3)= '0' AND e1 = '0')THEN
q <= "100";
gs <= '0';
e0 <= '1';
ELSEIF (d(2)= '0' AND e1 = '0')THEN
q <= "101";
gs <= '0';
e0 <= '1';
ELSEIF (d(1)= '0' AND e1 = '0')THEN
q <= "110";
gs <= '0';
e0 <= '1';
ELSEIF (d(0)= '0' AND e1 = '0')THEN
q <= "111";
gs <= '0';
e0 <= '1';
END IF;
END PROCESS;
END rtl_arc;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?