⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mulx.vhd

📁 数字秒表具有正及时倒计时功能包括一些设计要求和原资料
💻 VHD
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY MULX IS
PORT (CLK,CLR,EN:  IN STD_LOGIC;
S_1MS:     IN STD_LOGIC_VECTOR(3 DOWNTO 0);
S_10MS:    IN STD_LOGIC_VECTOR(3 DOWNTO 0);
 S_100MS:   IN STD_LOGIC_VECTOR(3 DOWNTO 0);
S_1S:      IN STD_LOGIC_VECTOR(3 DOWNTO 0);
S_10S:     IN STD_LOGIC_VECTOR(3 DOWNTO 0);
M_1MIN:    IN STD_LOGIC_VECTOR(3 DOWNTO 0);
M_10MIN:   IN STD_LOGIC_VECTOR(3 DOWNTO 0);
HOUR:      IN STD_LOGIC_VECTOR(3 DOWNTO 0);
OUTBCD:   OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
SEG:      OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END MULX;
ARCHITECTURE ART OF MULX IS
SIGNAL  COUNT:STD_LOGIC_VECTOR (3 DOWNTO 0);
BEGIN
PROCESS(CLK)
  BEGIN
IF  CLR='1'THEN
   COUNT<="1111";
ELSIF  RISING_EDGE(CLK)THEN
   IF  EN='1'THEN
        IF  COUNT="1001"THEN
                COUNT<="0000";
             ELSE
                 COUNT<=COUNT+'1';
             END  IF;
           END  IF;
         END  IF;
       END  PROCESS;
           PROCESS(CLK)
               BEGIN
               IF  CLK'EVENT  AND  CLK='1'THEN
                   CASE  COUNT  IS
            WHEN"0000"=>OUTBCD<=S_1MS;   SEG<="11111110";
            WHEN"0001"=>OUTBCD<=S_10MS;   SEG<="11111101";
            WHEN"0010"=>OUTBCD<=S_100MS;   SEG<="11111011";
            WHEN"0011"=>OUTBCD<=S_1S;   SEG<="11110111";
            WHEN"0100"=>OUTBCD<=S_10S;   SEG<="11101111";
            WHEN"0101"=>OUTBCD<=M_1MIN;   SEG<="11011111";
            WHEN"0110"=>OUTBCD<=M_10MIN;   SEG<="10111111";
            WHEN"0111"=>OUTBCD<=HOUR;   SEG<="01111111";
            WHEN"1000"=>OUTBCD<=S_1MS;   SEG<="11111110";
            WHEN"1001"=>OUTBCD<=S_10MS;   SEG<="11111101";
            WHEN OTHERS=>OUTBCD<="0000";   SEG<="00000000";
                 END CASE;
             END  IF;
       END  PROCESS;
END  ART;

⌨️ 快捷键说明

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