成绩
指导教师
日期
张歆奕
五邑大学实验报告
实验课程名称:
电子系统EDA
院系名称: 信息工程学院
专业名称: 电子信息工程
实验项目: 学号显示电路设计
班级:
学号:
报告人:
一、实验目的
学习基于VerilogHDL的设计,包括设计输入、设计处理、仿真和下载验证;
学习基于状态机的设计
二、实验原理
用数码管除了可以显示 0~9 的阿拉伯数字外,还可以显示一些英语字母。
数码管由 7 段显示输出,利用 7 个位的组合输出,就可以形成部分英语字母
和0~9 十个数字的显示。
利用数码管的静态显示可以实现一个数码管循环显示学号的功能;利用数码管的动态显示原理则可以实现多个数码管的学号显示(滚屏)功能。
设计要求
用 Verilog HDL设计学号显示电路,显示自己的学号:
要求一:用1个数码管按顺序显示自己的学号,输入时钟可以用1个轻触键
KEY实现。
要求二:用8个数码管显示学号,并向左或向右滚屏。
程序设计
(一)基于1位数码管的学号显示电路的设计
1. VeriloHDL源码:
module xuehao_display(clk,rst,out0);
input clk,rst;
output reg[6:0] out0;
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;
always@(posedge clk or negedge rst)
begin
if(!rst) begin out0=7'b0111111;state=s0;end
else
begin
case(state)
s0:begin out0=7'b1001111;state<=s1;end //display 1
s1:begin out0=7'b0010010;state<=s2;end //display 2
s2:begin out0=7'b0000001;state<=s3;end //display 0
s3:begin out0=7'b0001111;state<=s4;end //display 7
s4:begin out0=7'b0000001;state<=s5;end //display 0
s5:begin out0=7'b0010010;state<=s6;end //display 2
s6:begin out0=7'b0000001;state<=s7;end //display 0
s7:begin out0=7'b0001111;state<=s0;end //display 7
default:state<=0;
endcase
end
endmodule
2. 源码说明、仿真及实现结果
仿真结果如下:
(二)基于8个数码管的花样学号显示
1. VeriloHDL源码
module xuehao_display(clk,rst,out,out1,out2,out3,out4,out5,out6,out7,led);
input
五邑大学EDA实验报告学号显示 来自淘豆网m.daumloan.com转载请标明出处.