北邮数电实验电子沙漏源代码汇总_第1页
北邮数电实验电子沙漏源代码汇总_第2页
北邮数电实验电子沙漏源代码汇总_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY div IS -50000 和 50000000分频PORT(clk,clear,stop: IN STD_LOGIC;clk_out1,clk_out2:OUT STD_LOGIC;END div;ARCHITECTURE a OF div ISSIGNAL tmp1: INTEGER RANGE 0 TO 24999;SIGNAL tmp2: INTEGER RANGE 0

2、TO 499;SIGNAL clktmp1: STD_LOGIC;SIGNAL clktmp2: STD_LOGIC;BEGINclk_out1<=clktmp1;clk_out2<=clktmp2;P1:PROCESS(clear,clkBEGINIF clear = '1' THEN tmp1<=0;ELSIF clk'eve nt AND elk = '1' THENIF tmpl = 24999 THENtmp1<=0; clktmp1<= not clktmpl;ELSEtmp1<=tmp1+1;END IF

3、;END IF;END PROCESS P1;P2:PROCESS(clear,stop,clktmp1BEGINIF clear = '1' THENtmp2<=0;ELSIF stop = '0' THENIF clktmpl'event AND clktmpl = '1' THENIF tmp2 = 499 THENtmp2<=0; clktmp2<= not clktmp2;ELSEtmp2<=tmp2+1;END IF;END IF;END IF;END PROCESS P2;END a;LIBRARY

4、IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY shalou ISPORT(clkO,reset,pause:IN STD_LOGIC;dir:IN STD_LOGIC;figures:OUT STD_LOGIC_VECTOR(6 dow nto 0; cats:OUT STD_LOGIC_VECTOR(1 dow nto 0; cat0:OUT STD_LOGIC_VECTOR(3 dow nto 0; row:OUT STD_LOGIC_

5、VECTOR(15 dow nto 0;col:OUT STD_LOGIC_VECTOR(7 dow nto 0END shalou;ARCHITECTURE b OF shalou ISCOMPONENT divPORT(clk,clear,stop: IN STD_LOGIC;clk_out1,clk_out2:OUT STD_LOGIC;END COMPONENT;SIGNAL clk1,clk2:STD_LOGIC;SIGNAL address:STD_LOGIC_VECTOR(1 dow nto 0;SIGNAL s1,s2:STD_LOGIC_VECTOR(3 dow nto 0;

6、SIGNAL led1,led2:STD_LOGIC_VECTOR(6 dow nto 0;SIGNAL st1:STD_LOGIC_VECTOR(7 dow nto 0;SIGNAL data:STD_LOGIC_VECTOR(15 dow nto 0;SIGNAL dO,d1,d2,d3,d4,d5,d6,d7:STD_LOGIC_VECTOR(15 dow nto 0;SIGNAL pic:STD_LOGIC_VECTOR(4 dow nto 0;BEGINu1:div PORTMAP(clk=>clkO,clear=>reset,stop=>pause,clk_out

7、 1=> clk1,clk_out2=>clk2; cat0<="1111"p1:PROCESS(clk1,resetBEGINIF reset='1' THENaddress<="11"ELSIF clk1'eve nt AND clk1='1' THENIF address = "01" THENaddress<="00"ELSEaddress<=address+1;END IF;END IF;END PROCESS p1;p2:PRO

8、CESS(clk2,reset,pauseBEGINIF reset = '1' THENs1<="0000"ELSIF clk2'eve nt AND clk2 = '1' THENIF si = "0101" AND s2 = "1001" THEN s1<="0000"ELSIF s2 = "1001" THENs1<=s1+1;END IF;END IF;END PROCESS p2;p3:PROCESS(clk2,reset,p

9、auseBEGINIF reset = '1' THEN s2<="0000"ELSIF clk2'eve nt AND clk2 = '1' THENIF s2 = "1001" THENs2<= "0000"ELSEs2<=s2+1;END IF;END IF;END PROCESS p3;p4:PROCESS(s1,s2BEGINCASE si ISWHEN "0000"=>led1v="0111111" WHEN "

10、;0001"=>led1v="0000110" WHEN "0010"=>led1v="1011011" WHEN "0011"=>led1<="1001111" WHEN "0100"=>led1<="1100110" WHEN "0101"=>led1<="1101101" WHEN 0THERS=>led1<="0000000&qu

11、ot;END CASE;CASE s2 ISWHEN "0000"=>led2<="0111111" WHEN "0001"=>led2<="0000110" WHEN "0010"=>led2<="1011011" WHEN "0011"=>led2<="1001111" WHEN "0100"=>led2<="1100110" WHE

12、N "0101"=>led2<="1101101" WHEN "0110"=>led2<="1111101" WHEN "0111"=>led2<="0000111" WHEN "1000"=>led2<="1111111" WHEN "1001"=>led2<="1101111" WHEN 0THERS=>led2<=&qu

13、ot;0000000" END CASE;END PROCESS p4;p5:PROCESS(addressBEGINCASE address ISWHEN "00"=>figures<=led2; cats<="10" WHEN "01"=>figures<=led1;cats<="01" WHEN OTHERS=>figures<="0000000" END CASE;END PROCESS p5;row<=data;col&l

14、t;=st1;d0<="0000000001111111"WHEN pic"0000100001110111"WHEN pic"0000110001110011"WHEN pic"0001110001100011"WHEN pic"0001111001100001"WHEN pic"0011111001000001"WHEN pic"0011111101000000"WHEN pic"0111111100000000"WHEN p

15、ic"0111111100000000"WHEN pic"0111111100000000"WHEN pic"0111111100000000"WHEN pic"0111111100000000"WHEN pic"0111111100000000"WHEN pic"0111111100000000"WHEN pic"00000"ELSE"00001"ELSE"00010"ELSE"00011"EL

16、SE"00100"ELSE"00101"ELSE"00110"ELSE"00111"ELSE"01000"ELSE"01001"ELSE"01010"ELSE"01011"ELSE"01100"ELSE"01101"ELSE"0111111100000000"WHEN pic = "01110"ELSE"0111111100000000"

17、WHEN pic = "01111"ELSE"0111111100000000"WHEN pic = "10000"ELSE "0000000000000000"d1<="0000000000111110"WHEN pic = "00000"ELSE "0000000000111110"WHEN pic ="00001"ELSE "0000000000111110"WHEN pic = "00010&

18、quot;ELSE "0000000000111110"WHEN pic = "00011"ELSE "0000000000111110"WHEN pic = "00100"ELSE "0000000000111110"WHEN pic = "00101"ELSE "0000000000111110"WHEN pic = "00110"ELSE "0000000000111110"WHEN pic = "0

19、0111"ELSE "0000100000110110"WHEN pic = "01000"ELSE "0000110000110010"WHEN pic = "01001"ELSE "0001110000100010"WHEN pic = "01010"ELSE "0001111000100000"WHEN pic = "01011"ELSE "0011111000000000"WHEN pic = &q

20、uot;01100"ELSE "0011111000000000"WHEN pic = "01101"ELSE "0011111000000000"WHEN pic = "01110"ELSE "0011111000000000"WHEN pic = "01111"ELSE "0011111000000000"WHEN pic = "10000"ELSE "0000000000000000"d2<=&

21、quot;0000000000011100"WHEN pic = "00000"ELSE "0000000000011100"WHEN pic ="00001"ELSE "0000000000011100"WHEN pic = "00010"ELSE "0000000000011100"WHEN pic = "00011"ELSE "0000000000011100"WHEN pic = "00100"EL

22、SE "0000000000011100"WHEN pic = "00101"ELSE "0000000000011100"WHEN pic = "00110"ELSE "0000000000011100"WHEN pic = "00111"ELSE "0000000000011100"WHEN pic = "01000"ELSE "0000000000011100"WHEN pic = "01001&qu

23、ot;ELSE "0000000000011100"WHEN pic = "01010"ELSE "0000000000011100"WHEN pic = "01011"ELSE "0000000000011100"WHEN pic = "01100"ELSE "0000100000010100"WHEN pic = "01101"ELSE "0000110000010000"WHEN pic = "011

24、10"ELSE"0001110000000000"WHEN pic = "01111"ELSE "0001110000000000"WHEN pic ="10000"ELSE "0000000000000000"d3<="0000000000001000"WHEN pic = "00000"ELSE "0000000000001000"WHEN pic ="00001"ELSE "00000

25、00000001000"WHEN pic = "00010"ELSE "0000000000001000"WHEN pic = "00011"ELSE "0000000000001000"WHEN pic = "00100"ELSE "0000000000001000"WHEN pic = "00101"ELSE "0000000000001000"WHEN pic = "00110"ELSE "

26、0000000000001000"WHEN pic = "00111"ELSE "0000000000001000"WHEN pic = "01000"ELSE "0000000000001000"WHEN pic = "01001"ELSE "0000000000001000"WHEN pic = "01010"ELSE "0000000000001000"WHEN pic = "01011"ELSE &

27、quot;0000000000001000"WHEN pic = "01100"ELSE "0000000000001000"WHEN pic = "01101"ELSE "0000000000001000"WHEN pic = "01110"ELSE "0000000000001000"WHEN pic = "01111"ELSE "0000100000000000"WHEN pic = "10000"E

28、LSE "0000000000000000" d4<= "0000100000000000"WHEN pic = "00000"ELSE "0000100000000000"WHEN pic = "00001"ELSE "0000100000000000"WHEN pic = "00010"ELSE "0000100000000000"WHEN pic = "00011"ELSE "000010000

29、0000000"WHEN pic = "00100"ELSE "0000100000000000"WHEN pic = "00101"ELSE "0000100000000000"WHEN pic = "00110"ELSE "0000100000000000"WHEN pic = "00111"ELSE "0000100000000000"WHEN pic = "01000"ELSE "0000

30、100000000000"WHEN pic = "01001"ELSE "0000100000000000"WHEN pic = "01010"ELSE "0000100000000000"WHEN pic = "01011"ELSE "0000100000000000"WHEN pic = "01100"ELSE "0000100000000000"WHEN pic = "01101"ELSE "

31、;0000100000000000"WHEN pic = "01110"ELSE "0000100000000000"WHEN pic = "01111"ELSE "0000000000001000"WHEN pic = "10000"ELSE "0000000000000000"d5<= "0001110000000000"WHEN pic = "00000"ELSE "0001110000000000&qu

32、ot;WHEN pic="00001"ELSE "0001110000000000"WHEN pic = "00010"ELSE "0001110000000000"WHEN pic = "00011"ELSE"0001110000000000"WHEN pic = "00100"ELSE "0001110000000000"WHEN pic ="00101"ELSE "0001110000000000&q

33、uot;WHEN pic = "00110"ELSE "0001110000000000"WHEN pic = "00111"ELSE "0001110000000000"WHEN pic = "01000"ELSE "0001110000000000"WHEN pic = "01001"ELSE "0001110000000000"WHEN pic = "01010"ELSE "0001110000000

34、000"WHEN pic = "01011"ELSE "0001110000000000"WHEN pic = "01100"ELSE "0001010000001000"WHEN pic = "01101"ELSE "0001000000001100"WHEN pic = "01110"ELSE "0000000000011100"WHEN pic = "01111"ELSE "00000000

35、00011100"WHEN pic = "10000"ELSE "0000000000000000" d6<= "0011111000000000"WHEN pic = "00000"ELSE "0011111000000000"WHEN pic = "00001"ELSE "0011111000000000"WHEN pic = "00010"ELSE "0011111000000000"WHEN

36、pic = "00011"ELSE "0011111000000000"WHEN pic = "00100"ELSE "0011111000000000"WHEN pic = "00101"ELSE "0011111000000000"WHEN pic = "00110"ELSE "0011111000000000"WHEN pic = "00111"ELSE "0011011000001000"

37、WHEN pic = "01000"ELSE "0011001000001100"WHEN pic = "01001"ELSE "0010001000011100"WHEN pic = "01010"ELSE "0010000000011110"WHEN pic = "01011"ELSE "0000000000111110"WHEN pic = "01100"ELSE "0000000000111110&

38、quot;WHEN pic = "01101"ELSE "0000000000111110"WHEN pic = "01110"ELSE "0000000000111110"WHEN pic = "01111"ELSE "0000000000111110"WHEN pic = "10000"ELSE "0000000000000000" d7<= "0111111100000000"WHEN pic = &qu

39、ot;00000"ELSE "0111011100001000"WHEN pic = "00001"ELSE "0111001100001100"WHEN pic = "00010"ELSE "0110001100011100"WHEN pic = "00011"ELSE "0110000100011110"WHEN pic = "00100"ELSE "0100000100111110"WHEN pic

40、= "00101"ELSE "0100000000111111"WHEN pic = "00110"ELSE "0000000001111111"WHEN pic = "00111"ELSE"0000000001111111"WHEN pic = "01000"ELSE "0000000001111111"WHEN pic="01001"ELSE "0000000001111111"WHEN pic = "01010"ELSE "0000000001111111"WHEN pic = "01011"ELSE "0000000001111111"WHEN pic = "01100"ELSE "0000000001111111"WHEN pic = "01101"ELSE &quo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论