分享

8-3优先编码器(when-else实现)和(if-elsif-else实现)

 BUPT-BYR 2010-12-20
(一)8-3优先编码器(when-else实现):
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
 
ENTITY coder IS
PORE(
                 D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
          output:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)
          );
END coder;
 
ARCHITECTURE art1 IS
BEGIN
   output<="000" WHEN D(7)='0' ELSE
                 "001" WHEN D(6)='0' ELSE
                 "010" WHEN D(5)='0' ELSE
                 "011" WHEN D(4)='0' ELSE
                 "100" WHEN D(3)='0' ELSE
                 "101" WHEN D(2)='0' ELSE
                 "110" WHEN D(1)='0' ELSE
                 "111";
END art1;


(二)8-3优先编码器(if-elsif-else实现):
 
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
 
ENTITY coder IS
PORT(
                  D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
           output:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)
          );
END coder;
 
ARCHITECTURE art1 OF coder IS
BEGIN
       PROCESS(D)
       BEGIN
            IF        D(7)='0' THEN output<="000";
            ELSIF D(6)='0' THEN output<="001";
            ELSIF D(5)='0' THEN output<="010";
            ELSIF D(4)='0' THEN output<="011";
            ELSIF D(3)='0' THEN output<="100";
            ELSIF D(2)='0' THEN output<="101";
            ELSIE D(1)='0' THEN output<="110";
            ELSE                         output<="111";
            END IF;
     END PROCESS;
END art1; 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多