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

📄 sum_cash.vhd

📁 自动售货机的sum-cash源码
💻 VHD
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_signed.all;

entity sum_cash is
       port(clk : in std_logic;
            rst : in std_logic;
            c10 : in std_logic;
            c50 : in std_logic;
            c100: in std_logic; 
            lock_out_entry: in std_logic;
            clear: in std_logic;
            rc10 : in std_logic;
            rc50 : in std_logic;
            rc100: in std_logic;
            sum : out integer range 0 to 20;
            sum_10 : inout integer range -10 to 15;
            sum_50 : inout integer range -10 to 15;
            sum_100 : inout integer range -10 to 15);
end sum_cash;

architecture behavioral of sum_cash is
begin
     sum_cash: process(rst,clk)
         variable x: integer range 0 to 20;
     begin
         x:=sum_10+5*sum_50+10*sum_100;
         if (x<21) then
             sum <=x;
         else
             sum <=20;
         end if;
         if (rst='1')then
             sum_10<=0;
             sum_50<=0;
             sum_100<=0;
             sum<=0;
         else
             if (clear='1') then
                sum_10<=0;
                sum_50<=0;
                sum_100<=0;
                sum<=0;
             end if;
             --if clk'event and clk='1' then
                 if (lock_out_entry='0') then
                      if(c10='1') then
                           --sum_10<=0;
                         sum_10<=sum_10+1;
                      end if;
                      if(c50='1') then
                         sum_50<=sum_50+1;
                      end if;
                      if(c100='1') then
                         sum_100<=sum_100+1;
                      end if;
                  else
                      if (rc10='1') then
                          sum_10<=sum_10-1;
                      end if;
                      if (rc50='1') then
                          sum_50<=sum_50-1;
                      end if;
                      if (rc100='1') then
                          sum_100<=sum_100-1;
                      end if;
                  --end if;
              end if;
        end if;
     end process;
end behavioral;
                      

⌨️ 快捷键说明

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