跑马灯设计EDA课程设计文档格式.docx
《跑马灯设计EDA课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《跑马灯设计EDA课程设计文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
第二章设计原理
2.1设计原理及设计流程
本次试验我所完成的内容是跑马灯的设计,下面我简单的进行一下原理的阐述。
跑马灯课程设计的要求是控制8个LED进行花样显示,设计四种显示模块:
第一种显示是从左向右逐个点亮LED。
第二种显示:
从右向左逐个点亮LED。
第三种显示:
从两边向中间逐个点亮LED。
第四种显示:
从中间到两边逐个点亮LED。
四种显示模式循环切换,并带有一位复位键控制系统的运行停止。
为了完成要求的效果显示,由于要求比较简单,所以不用分为很多模块来具体控制,所以我先择利用移位寄存器来完成灯的点亮,我们将LED灯采用共阳极接法,当给于低电平时点亮,那么当我们需要点亮某位LED灯时,只需在该位上赋予低电平即可,比如:
如果我们要实现8个数码灯从左到右依次点亮,那么我们就可以给这8个数码灯分别赋值10000000,经过一段时间的延时后再给其赋值01000000,再经过一段时间延时后再给其赋值00100000,依次类推,则最后一种赋值状态为00000001,这样就得到了相应的现象。
同理,要实现数码灯从右向左依次点亮,从中间向两端依次点亮,从两端向中间依次点亮都可以采用这样赋值的方法。
为了达到四种显示模式循环切换的目的,可以将以上的所有赋值语句以顺序语句的形式置于进程中,这样在完成了一种显示方式后就会自动进入下一种设定好的显示模式,如此反复循环。
当需要程序复位时,只需按下rst键即可,程序不管走都那里,执行那条语句,只要确定复位键按下时,程序立刻返回到程序执行语句的第一步,程序接着进行新的循环点亮。
第三章设计程序
3.1VerilogHDL程序
moduleceshi(clk,rst,Q,DIN,CLK,a);
inputclk,rst;
input[1:
0]DIN;
//DIN为变换速度档
outputsigned[7:
0]Q;
//Q为7个LED
output[6:
0]a;
//a为数码管显示模式
outputCLK;
//自定义时钟
parameterDOUT=8'
b0111_1111;
regCLK;
reg[6:
0]x;
reg[1:
0]cs;
reg[7:
always@(posedgeclk)begin
x<
=7'
b0000000;
CLK=0;
case(DIN)
0:
begin
x<
=x+1'
b1;
if(x==20)begin
b0;
CLK=~CLK;
end
1:
begin
if(x==15)begin
2:
if(x==10)begin
3:
if(x==5)begin
defaultbegin
endcase
end
always@(posedgeCLKornegedgerst)begin
if(!
rst)begin
Q<
=DOUT;
cs<
=2'
b00;
a=7'
b000_0000;
elsebegin
case(cs)
beginQ<
=Q>
>
1;
Q[7]<
=1'
b0111111;
if(Q==8'
b1111_1110)begin
Q<
=8'
b1111_1101;
cs<
b01;
=Q<
<
Q[0]<
b0000_110;
b0111_1111)begin
b0111_1110;
b10;
beginQ[7:
4]<
=Q[7:
4]>
Q[3:
0]<
=Q[3:
Q[7]<
Q[0]<
b1011_011;
b1110_0111)begin
b1101_1011;
b11;
0]>
Q[4]<
Q[3]<
b100_1111;
b0111_1110)begin
defaultbegin
a=7'
b0000_000;
endmodule
第四章设计结果及仿真波形
4.1设计结果
图1顶层文件原理图
4.2仿真波形
4.3仿真结果分析
当输入DIN为00时选择慢速档,CLK的周期大约为20us,随着CLK上升沿的到来输出Q做移位变化,开始从左向右移,数码管段码输出a显示0,然后从右向左移,数码管段码输出a显示1,然后从中间向两边移,数码管段码输出a显示2,然后从两边向中间移,数码管段码输出a显示3,之后循环显示,当按下复位键rst时系统运行停止,第一个灯点亮,数码管无显示。
当输入DIN为01时选择中速档,CLK的周期大约为15us,执行以上循环显示。
当输入DIN为10时选择稍快档,CLK的周期大约为10us,执行以上循环显示。
当输入DIN为11时选择快速档,CLK的周期大约为5us,执行以上循环显示。
第五章设计总结
通过这次有关于EDA技术的课程设计的学习与应用,我们基本了解了EDA技术的相关应用,也掌握了EDA设计的相关软件Quartus7.2的最基础的使用方法,丰富了我们的设计手段,也让我了解了更多的仿真方法。
在上机操作的过程中,刚开始我们遇到了很多的困难,对软件的不熟悉以及对原理掌握的不透彻,使得刚开始的时候举步维艰,但是经过对最简单的模型的设计及仿真练习过后,我们基本掌握了软件的使用方法,通过软件仿真及对各个参数的设置,我们不断调试仿真出来的波形。
这期间我们也了解到,虽然软件的仿真功能很强大,但是还是需要操作人员仔细的进行观察及调试的,否则也容易出现仿真错误。
这次的学习开阔了我们的视野,使我们了解了更多的专业方面的实际应用,在生产应用方面的用处等,以及专业方面的发展方向等……随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升,它已成为当今电子技术发展的前沿之一。
EDA技术发展迅猛,完全可以用日新月异来描述。
EDA技术的应用广泛,现在已涉及到各行各业。
EDA水平不断提高,设计工具趋于完美的地步,所以我们更加应该多多掌握这方面的知识。
第六章参考文献
[1]潘松、黄继业编著.EDA技术与VHDL,北京:
清华大学出版社
[2]边计年主编.用VHDL设计电子线路,北京:
[3]王金明,杨吉斌编著.数字系统设计与VerilogHDL.北京:
电子工业出版社
[4]徐志军,徐光辉编著.CPLD/FPGA的开发与应用.北京:
[5]叶天迟主编.EDA实用技术实验及课程设计指导书.长春:
自编实验指导书