Advertisement
Guest User

funkcje

a guest
Jun 23rd, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 1.35 KB | None | 0 0
  1. library IEEE;
  2. use IEEE.STD_LOGIC_1164.all;
  3.  
  4.  
  5. --funkcje do obsługi godzin
  6. package funkcje is
  7.  
  8.     procedure inc_sec
  9.     (
  10.         min1    :   inout   integer range 0 to 10;
  11.         min0    :   inout   integer range 0 to 10;
  12.         sec1    :   inout   integer range 0 to 10;
  13.         sec0    :   inout   integer range 0 to 10 ;
  14.        
  15.         minuty  :   in  boolean := false
  16.     );
  17.    
  18.     procedure inc_min
  19.     (
  20.         min1    :   inout   integer range 0 to 10;
  21.         min0    :   inout   integer range 0 to 10
  22.     );
  23.    
  24.  
  25. end funkcje;
  26.  
  27. package body funkcje is
  28.  
  29.     procedure inc_sec
  30.     (
  31.         min1    :   inout   integer range 0 to 10;
  32.         min0    :   inout   integer range 0 to 10;
  33.         sec1    :   inout   integer range 0 to 10;
  34.         sec0    :   inout   integer range 0 to 10;
  35.        
  36.         minuty  :   in  boolean := false
  37.     ) is
  38.    
  39.     begin
  40.    
  41.         if sec0 = 9 then
  42.        
  43.             sec0 := 0;
  44.            
  45.             if sec1 = 5 then
  46.            
  47.                 sec1 := 0;
  48.                
  49.                 if minuty = true then
  50.            
  51.                     inc_min(min1, min0);
  52.                
  53.                 end if;
  54.                
  55.             else
  56.            
  57.                 sec1 := sec1 + 1;
  58.                
  59.             end if;
  60.            
  61.         else
  62.        
  63.             sec0 := sec0 + 1;
  64.            
  65.         end if;
  66.        
  67.     end inc_sec;
  68.    
  69.     procedure inc_min
  70.     (
  71.         min1    :   inout   integer range 0 to 10;
  72.         min0    :   inout   integer range 0 to 10
  73.        
  74.     ) is
  75.    
  76.     begin
  77.    
  78.         if min1 = 5 and min0 = 9 then
  79.             min0 := 0;
  80.             min1 := 0;
  81.         else
  82.             if min0 = 9 then
  83.                 min0 := 0;
  84.                 min1 := min1+1;
  85.             else
  86.                 min0 := min0 +1;
  87.             end if;
  88.         end if;
  89.        
  90.     end inc_min;
  91.    
  92.    
  93.  
  94. end funkcje;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement