电信院 创新创业实践二 FPGA Verilog vivado 数码显示管 显示译码器

一、实验目的

用case语句设计一个显示译码器,并学习如何在EGO1实验板上使用7段数码管显示数字。

要求数码管显示一个数字为学号(如2016****100)最后一位(如0)。

二、实验仪器

计算机(安装Vivado 2018.1)、EGO1实验板

三、实验原理

   EGO1实验板卡上的8个数码管是7段共阴极数码管,当某段对应的引脚输出为高电平时,该段位的LED灯点亮。
 八段数码管的显示原理:
 每一段为一发光二极管,共有a-g以及小数点dp八个发光二极管。
将八个二极管的阴极并联到一起组成共阴极端,共阴极端接地。
当任一管脚输入高电平,对应的发光二极管就被点亮。

电信院 创新创业实践二 FPGA Verilog vivado 数码显示管 显示译码器_第1张图片

四、真值表

电信院 创新创业实践二 FPGA Verilog vivado 数码显示管 显示译码器_第2张图片

五、实验代码

module dxp0(
    input wire [3:0] a,
    output reg [7:0] b
    );
 always@(a)
    begin
       case(a)
       4'b0000:b=8'b11111101;
       4'b0001:b=8'b01100001;
       4'b0010:b=8'b11011011;
       4'b0011:b=8'b11110011;
       4'b0100:b=8'b01100111;
       4'b0101:b=8'b10110111;
       4'b0110:b=8'b10111111;
       4'b0111:b=8'b11100001;
       4'b1000:b=8'b11111111;
       4'b1001:b=8'b11110111;
  	4’b1010:b=8’b11101111;
       4’b1011:b=8’b00111111;
	4’b1100:b=8’b10011101;
	4’b1101:b=8’b01111011;
       4’b1110:b=8’b10011111;
       4’b1111:b=8’b10001111;
       default:b=8'bx;
      endcase
      end
      endmodule

六、Vivado设计,流程

(1)打开 Vivado  开发工具,新建一个工程:
根据使用的 FPGA 开发平台,选择对应的 FPGA 目标器件。FPGA 采用 Artix-7 XC7A35T-1CSG324-C 的器件,即 Family 和 Subfamily 均 为 Artix-7,封装形式(Package)为 CSG324,速度等级(Speed grade)为 -1,温度等级(Temp Grade) 为 C)。
(2)设计文件输入:
 点击 Flow Navigator 下的 Project Manager->Add Sources,新建一个 Verilog 或 VHDL 源文件,在弹出的 Define Module 中的 I/O Port Definition,输入设计模块所需的端口,并设置端口方向,如果端口为总线型,勾选 Bus 选项,并通过 MSB 和 LSB 确定总线宽度。双击文件把第2步骤编写的程序写进去。利用 Vivado 中 IO planning 功能添加约束文件。
(3)利用 Vivado 进行功能仿真
(4)添加时序约束

(5)工程实现:
在 Flow Navigator 中点击 Program and Debug 下的 Generate Bitstream 选项,工程会自动     完 成综合、实现、Bit 文件生成过程。点击 Flow Navigator 中 Open Hardware Manager 一项,进入硬件编程管理界面。在提示的信息中,选择 Open Hardware Manager(或在 Flow Navigator 中展开 Hardware Manager,点击 Open Target)。 选择Auto Connect连接到板卡。    连接成功后,在目标芯片上右击,选择 “Program Device”。在 弹出的对话框中 “Bitstream File” 一栏已经自动加载本工程生成的比特流文件,点击 “Program” 对 FPGA 芯片进行编程。下载完成后,在板子上观察实验结果。

七、实验结果

电信院 创新创业实践二 FPGA Verilog vivado 数码显示管 显示译码器_第3张图片
开关P5 P4 P3 P2为0000,左侧第一个数码显示管显示数字0

你可能感兴趣的:(作业)