View difference between Paste ID: RFFYTHjW and LnYsgCFF
SHOW: | | - or go back to the newest paste.
1
-------------------------------------------
2
-- KHBO Dept.IW&T
3
-- DS2 Ontdendercode
4
-- Maxim Lambert
5
-------------------------------------------
6
7
library IEEE;
8
use IEEE.STD_LOGIC_1164.ALL;
9
use ieee.numeric_std.all;
10
11
12
entity ontdenderCircuit is
13
	port	( knop : in STD_LOGIC;
14
		  clock: in STD_LOGIC
15
		);
16
end ontdenderCircuit;
17
18
19
architecture Behavioral of ontdenderCircuit is
20
begin
21-
	process ontdenderCircuit(clock, knop)
21+
22
	ontdenderen: process(clock, knop)
23
	begin
24
	
25
		variable counter : INTEGER range 0 to 1000000;
26
		signal ontdenderen : std_logic;
27
		signal uitgang : std_logic;
28
	
29
		begin
30
	
31
	        	-- Knop gedrukt? begin met ontdenderen!
32
	        	if rising_edge(clock) then
33-
							end if;
33+
34
	        	                ontdenderen <= '1';
35
				end if;
36
	        	end if;
37
		
38
		
39
			-- Terug op oorspronkelijke waarde plaatsen
40
		        if (counter = "0") then
41
		                counter := 1000000;
42
		                ontdenderen <= '0';
43
		                uitgang <= '0';
44
		        end if;
45
		
46
		
47
		        -- Aantal keren aftellen en signaal hoog zetten/houden
48
		        if (ontdenderen = '1') then
49
		                counter := counter - 1;
50
		                uitgang <= '1';
51
		        end if;
52
	 
53
	
54
		-- Bovenstaande if's van plaats verwisselen zorgt ervoor dat niet telkens
55
		-- na 100000 clock pulsen uitgang 1 clockpuls op "0" komt wanneer de knop hoog blijft.
56
	
57
		-- Het "nadeel" nu is dat mogelijk 1 clockpuls later de uitgang op 1 komt,
58
		-- daar gecontrolleerd wordt op ontdenderen, die pas NA de cyclus te doorlopen hoog komt
59
		-- en dus de laatste if niet triggert. Dit is echter te verwaarlozen.
60
		
61
		-- Als maar 20ns op de knop gedrukt wordt zal de uitgang ook nooit hoog komen,
62
		-- de kans op die situatie is nihil en wordt dus ook verwaarloost.
63
	
64
	        
65
	end process;
66
67
end Behavioral;