《VHDL计数器程序.docx》由会员分享,可在线阅读,更多相关《VHDL计数器程序.docx(36页珍藏版)》请在三一文库上搜索。
1、十五计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY fiveteencoutPORT(clk,reset3enable: IN stdjogic; count : OUT stdjogic_vector(3 downto0);END fiveteencout;ARCHITECTURE counter OF fiveteencout ISSIGNAL countjnt:std_logic_vector(0 to 3);BEGINPROCESS(clk5reset)BEGINWAI
2、T UNTIL rising_edge(clk);IF reset = T THEN countjnt 0);ELSIF enable = 1 THEN IF(count_int=1110) THENcount int=nOOOOn;ELSEcountjnt = countjnt 1;-ELSE-NULL ;IF (countjnt“001)THEN-count int=HOOOOH;END IF;END IF;END PROCESS;count = count int;-IF (reset=0)then-q=H0000M;ELSIF(clkevent and clk=1) THEN-q=q
3、1 ;-IF(q=H1OO1n) then-q=H0000M;END IF;-IF (reset=1)THEN-q=H00H;-ELSIF-wait until (clkfevent and clk=1);-WAIT UNTIL (clkEVENT AND elk = T);-WAIT UNTIL (clockEVENT AND clock = 1);-qv=q T;十四计数器-end if;-count=q;- WAIT UNTIL clock = T;- if (clockevent and clock=,1 f)then- WAIT UNTIL rising_edge(clock);-
4、-clockevent and clock=,1,;clock-count = 0;-WAIT UNTIL (clockEVENT AND-WAIT riseedge clock = 1-if (clockeventand clock=T) then-WAITUNTILrising_edge(clock);-count=1;-WAITUNTIL(clockEVENT ANDclock-WAITUNTILclock = T;-if (clock*eventand clock=,1,)then-WAIT UNTIL-count = 2;rising_edge(clock);-end if;-end
5、 if;-end if;-END PROCESS;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;-count int=HOOOOH;ENTITY fourteencoutISPORT (clk,reset,enable0);:IN stdjogic; count : OUT stdjo gic_vector(3 downto END fourteencout;ARCHITECTURE counter OF fourteencout ISSIGNAL countjnt:std_logic_vect
6、or(0 to 3);BEGINPROCESS(clk,reset)BEGINWAIT UNTIL rising_edge(clk);IF reset = T THEN countjnt 0);ELSIF enable = 1 THEN IF(count_int=H1101 )THEN count int=OOOOn;ELSEcountjnt = countjnt 1;-ELSE-NULL ;IF (countjnt“001)THENEND IF;END IF;END PROCESS;count = count int;-IF (reset=0)then-q=H0000M;ELSIF(clke
7、vent and clk=1) THEN-q=q 1 ;-IF(q=H1OO1n) then-q=H0000M;END IF;-IF(reset=1)THEN-q=H00H;-ELSIF-wait until (clkfevent and clk=1);-WAIT UNTIL (clkEVENT AND elk = T);-WAIT UNTIL (clockEVENT AND clock = 1);-qv=q T;十三计数器-end if;-count=q;- WAIT UNTIL clock = T;- if (clockevent and clock=,1 f)then- WAIT UNT
8、IL rising_edge(clock);- -clockevent and clock=,1,;clock= T);- count = 0;-WAIT UNTIL (clockEVENT AND- WAIT riseedge clock = 1-count int=OOOOn;-if (clockeventand clock=T) then-WAITUNTILrising_edge(clock);-count=1;-WAITUNTIL(clockEVENT ANDclock -WAITUNTILclock = T;-if (clock*eventand clock=,1,)then-WAI
9、T UNTIL-count = 2;rising_edge(clock);- end if;- end if;- end if;END PROCESS;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY thireteencout PORT(clk,reset3enable: IN stdjogic; count : OUT stdjogic_vector(3 downto0);END thireteencout;ARCHITECTURE counter OF thireteencout
10、 ISSIGNAL countjnt:std_logic_vector(0 to 3);BEGINPROCESS(clk5reset)BEGINWAIT UNTIL rising_edge(clk);IF reset = T THEN countjnt V);ELSIF enable = 1 THEN IF(count_int=1100) THENcount int=nOOOOn;ELSEcountjnt = countjnt 1;-ELSE-NULL ;IF (countjnt“001)THENEND IF;END IF;END PROCESS;count = count int;-IF (
11、reset=0)then-q=H0000M;ELSIF(clkevent and clk=1) THEN-q=q 1 ;-IF(q=H1OO1n) then-q=H0000M;END IF;-IF(reset=1)THEN-q=H00H;-ELSIF-wait until (clkfevent and clk=T);-WAIT UNTIL (clkEVENT AND elk = T);-WAIT UNTIL (clockEVENT AND clock = 1);-qv=q T;十二计数器-end if;-count=q;- WAIT UNTIL clock = T;- if (clockeve
12、nt and clock=,1 f)then- WAIT UNTIL rising_edge(clock);- -clockevent and clock=,1,;clock-count = 0;-WAIT UNTIL (clockEVENT AND-WAIT riseedge clock = 1-if (clockeventand clock=T) then-WAITUNTILrising_edge(clock);-count=1;-WAITUNTIL(clockEVENT ANDclock-WAITUNTILclock = T;-if (clock*eventand clock=,1,)t
13、hen-WAIT UNTIL-count = 2;rising_edge(clock);-end if;-end if;-end if;-END PROCESS;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY twelvecout ISPORT(clk,reset,enable : IN stdjogic; count : OUT stdjo gic_vector(3 downto 0);END twelvecout;ARCHITECTURE counter OF twelvecou
14、t ISSIGNAL countjnt:std_logic_vector(0 to 3);BEGINPROCESS(clk,reset)BEGINWAIT UNTIL rising_edge(clk);IF reset = T THEN countjnt 0);ELSIF enable = 1 THEN IF(count_int=H1011 )THEN count int=0000;ELSEcountjnt = countjnt 1;-ELSE-NULL ;IF (countjnt“001)THEN-count int=HOOOOH;END IF;END IF;END PROCESS;coun
15、t = count int;-IF (reset=0)then-q=H0000M;ELSIF(clkevent and clk=1) THEN-q=q 1 ;-IF(q=H1OO1n) then-q=H0000M;END IF;-IF(reset=1)THEN-q=H00H;-ELSIF-wait until (clkfevent and clk=1);-WAIT UNTIL (clkEVENT AND elk = T);-WAIT UNTIL (clockEVENT AND clock = 1);-qv=q T;一计数器-end if;-count=q;- WAIT UNTIL clock
16、= T;- if (clockevent and clock=,1 f)then- WAIT UNTIL rising_edge(clock);- -clockevent and clock=,1,;clock= T);- count = 0;-WAIT UNTIL (clockEVENT AND- WAIT riseedge clock = 1-if (clockeventand clock=T) then-WAITUNTILrising_edge(clock);-count=1;-WAITUNTIL(clockEVENT ANDclock -WAITUNTILclock = T;-if (
17、clock*eventand clock=,1,)then-WAIT UNTIL-count = 2;rising_edge(clock);- end if;- end if;- end if;END PROCESS;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY elevencout ISPORT(clk,reset,enable: IN stdjogic; count : OUT stdjogic_vector(3 downto 0);END elevencout;ARCHITE
18、CTURE counter OF elevencout ISSIGNAL countjnt:std_logic_vector(0 to 3);BEGINPROCESS(clk,reset)BEGINWAIT UNTIL rising_edge(clk);IF reset = T THEN countjnt O);ELSIF enable = 1THEN IF(count_int=1010) THENcount int=OOOOn;ELSEcountjnt = countjnt 1;-ELSE-NULL ;IF (countjnt“001)THEN-count int=OOOOn;END IF;
19、END IF;END PROCESS;count = count int;-IF (reset=0)then-q=H0000M;ELSIF(clkevent and clk=1) THEN-q=q 1 ;-IF(q=H1OO1n) then-q=H0000M;END IF;-IF(reset=1)THEN-q=H00H;-ELSIF-wait until (clkfevent and clk=1);-WAIT UNTIL (clkEVENT AND elk = T);-WAIT UNTIL (clockEVENT AND clock = 1);-qv=q T;-end if;-count=q;
20、- WAIT UNTIL clock = T;- if (clockevent and clock=,1 f)then- WAIT UNTIL rising_edge(clock);- -clockevent and clock=,1,;clock-count = 0;-WAIT UNTIL (clockEVENT AND-WAIT riseedge clock = 1-if (clockeventand clock=T) then-WAITUNTILrising_edge(clock);-count=1;-WAITUNTIL(clockEVENT ANDclock-WAITUNTILcloc
21、k = T;-if (clock*eventand clock=,1,)then-WAIT UNTIL-count = 2;rising_edge(clock);-end if;-end if;-end if;-END PROCESS;十计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY count ISPORT(clk5reset,enable : IN stdjogic; countOUT stdjogic_vector(3 downto 0);END count;ARCHIT
22、ECTURE counter OF count ISSIGNAL co u nt J nt: stdj og ic_vecto r (0 to 3);BEGINPROCESS(clk,reset)BEGINWAIT UNTIL rising_edge(clk);IF reset = 1THENcountjnt V);ELSIF enable = 1THENIF(countJnt=H1001H) THEN countjnt=n0000n;ELSE countjnt = countjnt 1;-ELSE -NULL ;-IF (countjnt=n1001n) THEN -count int=nO
23、OOOn;END IF;END IF;END PROCESS; count = countjnt;- -IF (reset=0)then-q=H0000H;- ELSIF(clkfevent and clk=,1,) THENfv=q 1 ;- IF (q=H1001H) then-q=n0000H;END IF;-IF(resetv=1)THEN-q=n00H;-ELSIF -wait until (clkevent and clk=T);-WAIT UNTIL (clkEVENT AND elk = *1);- WAIT UNTIL (clockEVENT AND clock = T);-
24、 -qv=q T;- end if;-count=q;- WAIT UNTIL clock = 1;- if (clockevent and clock=,1,)then- WAIT UNTIL rising_edge(clock);- clockevent and clock=,1,;- count = 0;- WAIT UNTIL (clockEVENT AND clock = 1);- WAIT riseedge clock = T;- if (clockevent and clock=T) then- WAIT UNTIL rising_edge(clock);- count = 1;
25、- WAIT UNTIL (clockEVENT AND clock 1);- WAIT UNTIL clock = 1;- if (clockevent and clock=,1,)then -WAIT UNTIL rising_edge(clock);- count = 2;- end if;- end if;-end if;-END PROCESS; END counter;九计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY ninecout ISPORT(clk,rese
26、t,enable : IN stdjogic; count : OUT std_lo gic_vector(3 downto 0);END ninecout;ARCHITECTURE counter OF ninecout ISSIGNAL countJnt:std_logic_vector(0 to 3);BEGINPROCESS(clk,reset)BEGINWAIT UNTIL rising_edge(clk);IF reset = 1THENcountjnt O);ELSIF enable = 1THENIF(countJnt=H1000H) THEN countjnt=n0000n;
27、ELSEcountjnt = countjnt 1;ELSE-NULL ;-IF(countJnt=H1001n) THEN-count int=OOOOn;END IF;END IF;END PROCESS; count = count int;-IF (reset=0)then-q=H0000H;ELSIF(clkevent and clk=1) THEN-q=q 1 ;-IF(q=H1001n) then-q=H0000H;END IF;-IF(reset=1)THEN-q=H00H;-ELSIF- wait until (clkfevent and clk=T);- WAIT UNTI
28、L (clkEVENT AND elk = T);- WAIT UNTIL (clockEVENT AND clock = 1);- qv=q T;- end if;- -WAIT UNTIL clock = ,1,;- if (clockevent and clock=,1,)then- WAIT UNTIL rising_edge(clock);- clockevent and clock=,1,;- count = 0;- WAIT UNTIL (clockEVENT AND clock = 1);- WAIT riseedge clock = T;- if (clockevent an
29、d clock=T) then- WAIT UNTIL rising_edge(clock);- count = 1;- WAIT UNTIL (clockEVENT AND clock 1);- WAIT UNTIL clock = 1;- if (clockevent and clock=,1,)then -WAIT UNTIL rising_edge(clock);- count = 2;- end if;- end if;- end if;- -END PROCESS; END counter;八计数器library ieee;use ieee.std_logic_1164.all;u
30、se ieee.std_logic_unsigned.all;ENTITY eightcout ISPORT(elk,reset,enable : IN stdjogic; count : OUT std_lo gic_vector(2 downto 0);END eightcout;ARCHITECTURE counter OF eightcout ISSIGNAL countjnt:std_logic_vector(0 to 2);BEGINPROCESS(clk,reset)BEGINWAIT UNTIL rising_edge(clk);IF reset = T THEN countj
31、nt O);ELSIF enable = 1THENIF(countJnt=H111H) THENcount int=OOOH;ELSEcountjnt = countjnt 1;-ELSE-NULL ;IF (countjnt“001)THEN-count int=nOOOOn;END IF;END IF;END PROCESS; count = count int;-IF (reset=,0,) then-q=H0000H;ELSIF(clkevent and clk=1) THEN-q=q 1 ;-IF(q=H1001H) then-q=H0000H;END IF;-IF(reset=1
32、)THEN-q=H00H;-ELSIF-wait until (clkfevent and clk=T);-WAIT UNTIL (clkEVENT AND elk = 1);-WAIT UNTIL (clockEVENT AND clock = 1);-qv=q T;-end if;-count=q;- WAIT UNTIL clock = 1;- if (clockevent and clock=,1,)then- WAIT UNTIL rising_edge(clock);- clockevent and clock=T;- count = 0;- WAIT UNTIL (clockEV
33、ENT AND clock = 1);- WAIT riseedge clock = T;- if (clockevent and clock=T) then- WAIT UNTIL rising_edge(clock);- count = 1;- WAIT UNTIL (clockEVENT AND clock 1);- WAIT UNTIL clock = 1;- if (clockevent and clock=,1,)then -WAIT UNTIL rising_edge(clock);- count = 2;- end if;- end if;- end if;- -END PRO
34、CESS;END counter;六计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY sixcout ISPORT(clk,reset,enable : IN stdjogic; count : OUT std_lo gic_vector(2 downto 0);END sixcout;ARCHITECTURE counter OF sixcout ISSIGNAL countjnt:std_logic_vector(0 to 2);BEGINPROCESS(clk,reset)
35、BEGINWAIT UNTIL rising_edge(clk);IF reset = 1THENcountjnt O);ELSIF enable = 1THENIF(count_int=H101H) THENcount int=OOOH;ELSEcountjnt = countjnt 1;-ELSE-NULL ;IF (countjnt“001)THEN-count int=OOOOn;END IF;END IF;END PROCESS;count = countjnt;-IF (reset=0)then-q=H0000n;THENELSIF(clkfevent and clk=T)-q=q
36、 1 ;-IF(q=H1001n) then-q=H0000n;END IF;-IF (reset=1)THEN-q=H00H;-ELSIF- wait until (clkevent and clk=T);- WAIT UNTIL (clkEVENT AND elk = 1);- WAIT UNTIL (clockEVENT AND clock = 1);- qv=q T;- end if;-count=q;- WAIT UNTIL clock = 1;- if (clockevent and clock=,1,)then- WAIT UNTIL rising_edge(clock);- c
37、lockevent and clock=,1,;- count = 0;- WAIT UNTIL (clockEVENT AND clock = 1);- WAIT riseedge clock = T;- if (clockevent and clock=T) then- WAIT UNTIL rising_edge(clock);- count = 1;- WAIT UNTIL (clockEVENT AND clock = 1);- WAIT UNTIL clock = V;- if (clockevent and clock=,1,)then -WAIT UNTIL rising_ed
38、ge(clock);- count = 2;- end if;文档大全- end if;- end if;- -END PROCESS;END counter;四计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY fourcout ISPORT(clk,reset,enable : IN stdjogic; count : OUT std_lo gic_vector(1 downto 0);END fourcout;ARCHITECTURE counter OF fourcout
39、ISSIGNAL countjnt:std_logic_vector(0 to 1);BEGINPROCESS(clk,reset)BEGINWAIT UNTIL rising_edge(clk);IF reset = T THEN countjnt O);ELSIF enable = fr THENIF(count_int=n11H) THEN count_int=nOOH;ELSEcount int = count int 1;-ELSE- -NULL ;- IF (count_int=n1001H) THEN- count int=nOOOOn;END IF;END IF;END PRO
40、CESS; count = count int;- -IF (reset=,0,) then- q=H0000H;ELSIF(clkevent and dk= ) THEN- -qv=q 1 ;- IF (q=H1001H) then- q=H0000H;-END IF;-IF (reset=1)THEN-q=H00H;-ELSIF-wait until (clkevent and clk=T);-WAIT UNTIL (clkEVENT AND elk = T);- WAIT UNTIL (clockEVENT AND clock = T);- qv=q T;- end if;- count
41、=q;- WAIT UNTIL clock = 1;- if (clockevent and clock=,1,)then- WAIT UNTIL rising_edge(clock);- clockevent and clock=,1,;- count = 0;- WAIT UNTIL (clockEVENT AND clock = 1);- WAIT riseedge clock = T;-if (clockevent and clock=T) then -WAIT UNTIL rising_edge(clock);-count = 1;-WAIT UNTIL (clockEVENT AND clock 1);-WAIT UNTIL clock = 11,;-if (clockevent and clock=,1,)then-WAIT UNTIL rising_edge(clock);-count = 2;-end if;-end if;-end if;-END PROCESS;END counter;