sopc学号显示电路设计实验报告.pdf
饭疏食,饮水,曲肱而枕之,乐亦在其中矣。不义而富且贵,于我如浮云。——《论语》
学号显示电路设计
一.实验目的:
1、练习使用VerilogHDL语言设计实现数字电路。
2、练习利用VerilogHDL语言和状态机设计电路。
3、熟悉EDA开发基本流程。
4、掌握多个数码管动态扫描显示的原理及设计方法。
二.设计源程序和说明:
//byyangqingyun2011-4
//modifiedbyxinyi2011-4-28
modulexuehao_display(clk,rst,out);
inputclk,rst;
outputreg[6:0]out;
reg[3:0]state;
parameter
s0=4d0,s1=4d1,s2=4d2,s3=4d3,s4=4d4,s5=4d5,s6=4d6,s7=4d7,s8=4
d8;
always@(negedgeclkornegedgerst)
begin
if(!rst)beginout=7b1111111;state=s0;end
1
饭疏食,饮水,曲肱而枕之,乐亦在其中矣。不义而富且贵,于我如浮云。——《论语》
else
case(state)
s0:beginout=7b0001000;state=s1;end//显示A
s1:beginout=7b1111001;state=s2;end//显示1
s2:beginout=7b1111001;state=s3;end//显示1
s3:beginout=7b1000000;state=s4;end//显示0
s4:beginout=7b111000;state=s5;end//显示7
s5:beginout=7b100000;state=s6;end//显示0
s6:beginout=7b0010010;state=s7;end//显示5
s7:beginout=7b1111001;state=s8;end//显示1
s8:beginout=7b1111001;state=s0;end//显示1
default:state=0;
Endcase
End
Endmodule
程序详解:这是一个非常简单的程序,定义8个输出变量,然后给他们赋值,
使他们分别为,然后通过数码管显示出来
功能仿真结果
2
饭疏食,饮水,曲肱而枕之,乐亦在其中矣。不义而富且贵,于我如浮云。——《论语》
说明:
从波形图可以看出abcdefg的值对应着计数器的123456789依次
为0001000
(A)
1111001(1)1111001(1)。接共阳极数码管。显然仿真结果与初想的一样,设
计成功,通过下载到开发板上验证准确无误。
绑定管脚后,下载到开发板验证,按下按键,显示学号下一位字符。
五、设计心得:
通过练习,进一步理解了课堂上关于时序逻辑电路的内容及要求,加深了
对于计数器、译码器的应用和使用的认识。更重要的是巩固了在数字电路与
逻辑设计课上学习到的理论知识和对理论知识的理解,通过实验将理论知识
应用到现实当中,做到学以致用。这次也让我深刻了解了现代数字电路系统
设计相对于传统电子系统设计的模式的优势,用模块法自顶向下设计的原则,
一边设计一边调试,使系统的开发速度更快,并更加了解了电子系统设计这
门课程,也认识到自己的不足。更加明确今后的学习方向和方法。
3
饭疏食,饮水,曲肱而枕之,乐亦在其中矣。不义而富且贵,于我如浮云。——《论语》