1、reg clk_4hz;always (posedge clk_50Mhz)beginif (k2=0) & (k3=0)ccount=500000000; (k3=1)=100000000;if (k2=1) &=50000000;=10000000;if(countccount)count=count+1b1;clk_4hz=0;endelse=1;endmodule生成模块:(2)扫描,控制速度:module sudu(clk,cnt);input clk;output cnt;reg cnt;reg15:0 p;always(posedge clk) if(p=16b111111111
2、1111111) begin cnt=1 p=16b0000000000000000; end else begin =p+16b0; end (3)显示汉字模块: module xianshi(clk2,clk3,row,con,k);input clk2,clk3,k;output15:0 row;0 con;integer cnt,b;0 r111:0;initial / 中 r0 b 1111111111111111;r1 r2 b 1111100000011111;r3 b 1111101111011111;r4 r5 r6 r7 b 1000000000000001;r8 r9 r
3、10 r11 r12 r13 r14 r15 / 国 r16 r17 r18 b 1100000000000111;r19 b 1101111111110111;r20 b 1101011011010111;r21 r22 r23 b 1101000000010111;r24 r25 r26 b 1101001011010111;r27 r28 r29 r30 r31 / 石 r32 r33 r34 b 1110111111110111;r35 b 1111011111110111;r36 b 1111101111110111;r37 b 1111110111110111;r38 b 1110
4、100001110111;r39 b 1110111100110111;r40 b 1110111101010111;r41 b 1110111101100111;r42 r43 b 1110000001110111;r44 b 1111111111110111;r45 r46 r47 / 油 r48 r49 r50 b 1111111011101111;r51 b 1000000111011111;r52 b 1111101110111111;r53 r54 b 1100000001111111;r55 b 1101101101111111;r56 r57 r58 r59 r60 r61 r
5、62 r63 / 大 r64 r65 b 1101111111111111;r66 b 1110111111111111;r67 b 1110111110111111;r68 b 1111011110111111;r69 r70 b 1111110010111111;r71 b 1111111100001111;r72 r73 r74 r75 r76 r77 r78 r79 / 学 r80 r81 r82 b 1111111101111111;r83 r84 b 1111011111011101;r85 b 1111011011010011;r86 b 1011011011011101;r87
6、 b 1000001011010011;r88 b 1111010011011111;r89 b 1111011011000111;r90 b 1111011111011001;r91 b 1111011101011111;r92 b 1111111110011111;r93 r94 r95 / 中 r96 r97 r98 r99 r100 r101 r102 r103 r104 r105 r106 r107 r108 r109 r110 r111 end always(posedge clk3)begin if (k=0) if (b=95) b=b+1;else if (b=0)=95;=
7、b-1;always(posedge clk2) if(cnt=15) else=cnt+1; case(cnt)0: conb0000_0000_0000_0001;1:b0000_0000_0000_0010;2:b0000_0000_0000_0100;3:b0000_0000_0000_1000;4:b0000_0000_0001_0000;5:b0000_0000_0010_0000;6:b0000_0000_0100_0000;7:b0000_0000_1000_0000;8:b0000_0001_0000_0000;9:b0000_0010_0000_0000;10:b0000_
8、0100_0000_0000;11:b0000_1000_0000_0000;12:b0001_0000_0000_0000;13:b0010_0000_0000_0000;14:b0100_0000_0000_0000;15:b1000_0000_0000_0000; endcase/行使能 0: row=rb+0; 1:=rb+1; 2:=rb+2; 3:=rb+3; 4:=rb+4; 5:=rb+5; 6:=rb+6; 7:=rb+7; 8:=rb+8; 9:=rb+9; 10:=rb+10; 11:=rb+11; 12:=rb+12; 13:=rb+13; 14:=rb+14; 15:
9、=rb+15;else begin=rb-0;=rb-1;=rb-2;=rb-3;=rb-4;=rb-5;=rb-6;=rb-7;=rb-8;=rb-9;=rb-10;=rb-11;=rb-12;=rb-13;=rb-14;=rb-15;endmodule 电路的仿真:分析与总结:这次数点实习我去测试了俩次,第一次测试时,什么现象都没有,我回去后反复检查,程序都没有问题,后来我觉得可能是我生成模块时,全都放在一个文件夹里,混乱了。所以我又重新生成模块,规规矩矩的连了一遍,第二次去测试时,成功了。看着自己实验出来的效果真是特别的高兴。通过这次课程设计,我学会了基本的的quartus操作,会自己编写简单的verilog程序。最受益的是学会了如何将自己所学过的知识和查找的资料有机的融合在一起。真是受益匪浅。参考资料: 1 Verilog数字系统设计教程(第2版)(夏宇闻 ,北京航空航天大学出版) 2 Verilog HDL入门(第3版) 3 数字电子技术基础(刘润华,于云华,中国石油大学出版社,2008)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1