【学号显示实验报告】 EDA sopc

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

五邑大学实验报告

实验课程名称:

电子系统EDA

院系名称:信息学院

专业名称:电子信息工程

实验项目名称:学号显示

班级: AP***** 学号:

报告人:

实验一:学号显示器

一、实验目的

1、练习使用Verilog HDL语言设计实现数字电路。

2、练习利用Verilog HDL语言和状态机设计电路。

3、熟悉EDA开发基本流程。

4、掌握多个数码管动态扫描显示的原理及设计方法。

二、实验原理

用数码管除了可以显示0~9的阿拉伯数字外,还可以显示一些英语字母。数码管由7段显示输出,利用7个位的组合输出,就可以形成部分英语字母和0~9十个数字的显示。共阴数码管0~9和常见字母的7段显示关系如表4-1所示

(共阳数码管对共阴取反)。

三、设计任务

设计任务(一)

1、用Verilog HDL设计单个数码管顺序显示学号(按一次按键,显示下一位学号字符);

2、对设计进行仿真;

3、锁定管脚并下载到开发板进行验证。

设计任务(二)

1、用Verilog HDL设计八个数码管显示学号,并向左或者向右滚屏;

2、对设计进行仿真;

3、锁定管脚并下载到开发板进行验证。

四、设计源程序和说明

设计任务(一)学号显示源程序

module xuehao_display(clk,rst,out);

input clk,rst;

output reg[6:0] out;

reg[3:0] state;

parameter s0=4'd0,s1=4'd1,s2=4'd2,s3=4'd3,s4=4'd4,s5=4'd5,s6=4'd6,s7=4'd7,s8=4'd8;

always@(posedge clk or negedge rst)

begin

if(!rst) begin out =7'b1111111;state=s0;end

else

case(state)

s0:begin out=7'b0001000;state<=s1;end//显示A

s1:begin out=7'b0011000;state<=s2;end//显示P

s2:begin out=7'b1001111;state<=s3;end//显示1

s3:begin out=7'b0000001;state<=s4;end//显示0

s4:begin out=7'b0000110;state<=s5;end//显示3

s5:begin out=7'b0100100;state<=s6;end//显示5

s6:begin out=7'b0010010;state<=s7;end//显示2

s7:begin out=7'b1001111;state<=s8;end//显示1

s8:begin out=7'b0000110;state<=s1;end//显示3

default:state<=0;

endcase

end

endmodule

程序详解:这是一个非常简单的程序,定义8个输出变量,然后给他们赋值,使他们分别为A P 1 0 3 5 2 1 3,然后通过数码管显示出来。

设计任务(二)滚屏显示源程序

用8个数码管显示学号,并滚屏

设计源程序:

module GunPingXianShi (H0,H1,H2,H3,H4,H5,H6,H7,clk,reset);

input clk,reset; /*输入输出设置*/

output reg[0:6] H0,H1,H2,H3,H4,H5,H6,H7;

reg[3:0] out;

parameter

D0=7'h7F,D1=7'h08,D2=7'h18,D3=7'h4F,D4=7'h01,D5=7'H06,D6=7'h24,D7=7'h12,D8=7'h79 ,D9=7'h4B;

//设置参数

always @(posedge clk or posedge reset) //上升沿有效

begin if(reset) out<=0; //清零信号

else begin if (out==8) out<=0; //计数器

else out<=out+1;

end

end

always @(out)

begin

case(out)

4'h0: begin H0<=D1;H1<=D2;H2<=D3;H3<=D4;H4<=D5;H5<=D6;H6<=D7;H7<=D8;end

//输出AP103521

4'h1: begin H0<=D2;H1<=D3;H2<=D4;H3<=D5;H4<=D6;H5<=D7;H6<=D8;H7<=D9;end

//输出P1035213

4'h2: begin H0<=D3;H1<=D4;H2<=D5;H3<=D6;H4<=D7;H5<=D8;H6<=D9;H7<=D1;end

//输出1035213A

4'h3: begin H0<=D4;H1<=D5;H2<=D6;H3<=D7;H4<=D8;H5<=D9;H6<=D1;H7<=D2;end

//输出035213AP

4'h4: begin H0<=D5;H1<=D6;H2<=D7;H3<=D8;H4<=D9;H5<=D1;H6<=D2;H7<=D3;end

//输出35213AP1

4'h5: begin H0<=D6;H1<=D7;H2<=D8;H3<=D9;H4<=D1;H5<=D2;H6<=D3;H7<=D4;end

//输出5213AP10

4'h6: begin H0<=D7;H1<=D8;H2<=D9;H3<=D1;H4<=D2;H5<=D3;H6<=D4;H7<=D5;end

//输出213AP103

4'h7: begin H0<=D8;H1<=D9;H2<=D1;H3<=D2;H4<=D3;H5<=D4;H6<=D5;H7<=D6;end

//输出13AP1035

4'h8: begin H0<=D9;H1<=D1;H2<=D2;H3<=D3;H4<=D4;H5<=D5;H6<=D6;H7<=D7;end

//输出3AP10352

default: begin H0<=D0;H1<=D0;H2<=D0;H3<=D0;H4<=D0;H5<=D0;H6<=D0;H7<=D0;end

endcase

end

endmodule

程序解读:本程序参考设计任务(一),设计一个模9计数器,用8位数码管显示学号。

相关文档
最新文档