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

📄 muxcmp.vhd

📁 1.6个数码管动态扫描显示驱动 2.按键模式选择(时分秒)与调整控制 3.用硬件描述语言(或混合原理图)设计时、分、秒计数器模块、按键控制状态机模块、动态扫描显示驱动模块、顶层模块。要求有闹钟定闹
💻 VHD
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY muxcmp IS
PORT(HH,HL,MH,ML,SH,SL,AHH,AHL,AMH,AML:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
      s,modes:IN STD_LOGIC_VECTOR(2 DOWNTO 0);
      clk:IN STD_LOGIC;
      muxout:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
      alarm:OUT STD_LOGIC);
END muxcmp;

ARCHITECTURE arc OF muxcmp IS
SIGNAL q:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
muxout<=q;
  PROCESS(modes)
  VARIABLE num:INTEGER range 0 TO 5;
  BEGIN
  num:=CONV_INTEGER(modes);
  CASE num IS
    WHEN 0|1|2|3=>
         IF(s="010")THEN
           q<=HH;
         ELSIF(s="011")THEN
           q<=HL;
         ELSIF(s="100")THEN
           q<=MH;
         ELSIF(s="101")THEN
           q<=ML;
         ELSIF(s="110")THEN
           q<=SH;
         ELSIF(s="111")THEN
           q<=SL;
         END IF;
    WHEN OTHERS=>
         IF(s="010")THEN
           q<="1010";
         ELSIF(s="011")THEN
           q<="1100";
         ELSIF(s="100")THEN
           q<=AHH;
         ELSIF(s="101")THEN
           q<=AHL;
         ELSIF(s="110")THEN
           q<=AMH;
         ELSIF(s="111")THEN
           q<=AML;
         END IF;
    END CASE;
  END PROCESS;
  
  PROCESS(HH,HL,MH,ML,AHH,AHL,AMH,AML)
  BEGIN
   IF(HH=AHH AND HL=AHL AND MH=AMH AND ML=AML)THEN
     alarm<=clk;
    ELSE alarm<='0';
    END IF;
  END PROCESS;
END arc;

⌨️ 快捷键说明

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