verilog编程控制LED流水灯,跑马灯,vivado软件

  • Post author:
  • Post category:其他


1、 打开vavido软件,制定一个工程存放目录

Vavido014.1是一个标准的窗口应用程序,可以单击程序按钮开始运行。打开后的界面如图所示:

这里写图片描述

2、 新建工程,点击创建新工程create new project

这里写图片描述

点击next,编写工程名字,选择工程存放路径

这里写图片描述

默认,点击next

这里写图片描述

选择芯片类型

这里写图片描述

点击finish,完成工程的创建

这里写图片描述

3、 新建源文件,编写功能代码

在design source上右击选择add source

这里写图片描述

选择add or create design sources,点击next

这里写图片描述

点击create file,选择语言类型为verilog,编写文件名字并设置存放路径,点击finish,点击ok

这里写图片描述

双击led_test打开文件,并在里面编写功能代码

这里写图片描述

代码如下:

module led_test(clk,rst,ledout,sw0,sw1

    );
    input clk;
    input rst;
    input sw0;
    input sw1;
    output [15:0] ledout;
    reg [26:0] count;
    reg [15:0] led;
    assign ledout=led;
    always@(posedge clk or negedge rst  )
      begin
           if(rst)
             begin
                count<=0;
                led<=1;
             end
           else
             begin
                if(sw0)
                    begin
                       count<=count+1;
                      if(count==27'b101111101011110000100000000)
                         begin
                              led<=led<<1;
                               count<=0;
                          end
                          if(led==16'b1000000000000000)
                               begin

                               count<=count+1;
                                    if(count==27'b1011111010111100001000000000)
                                     begin

                                             led<=16'b0000000000000001;
                                              count<=0;
                                      end
                                end
                         end
                   if(sw1)
                       begin

                           count<=count+1;
                           if(count==27'b1011111010111100001000000000)
                               begin
                                  led<=(led<<1)+1; 

                                  count<=0;
                                  end
                                  if(led==16'b1111111111111111)
                                     begin
                                           count<=count+1;
                                               if(count==27'b1011111010111100001000000000)
                                                     begin
                                                          led=16'b0000000000000001;
                                                          count<=0;
                                                      end
                                      end
                          end

             end
     end
endmodule

4、 Synthesis

完成功能代码编写,点击Run Synthesis

这里写图片描述

5、 Implementation

点击综合,完成之后会出现对话框,点击ok,Run Implementation;或者在左边点击执行按钮

这里写图片描述

这里写图片描述

Implementation完成后,会出现对话框,点击ok,Open Implemented Design

这里写图片描述

点击ok后,在界面中设置输入输出端口的位置,即约束管脚

这里写图片描述

也可以添加约束文件,设置管脚约束

这里写图片描述

这里写图片描述

6、 Generate Bitstream

管脚约束完成之后,生成FPGA可执行的bit文件,点击Generate Bitstream。

这里写图片描述

7、 Open and connect Target

bit文件生成之后,点击Open Hardware Manager

这里写图片描述

在Open Target上点击,选择open new target

这里写图片描述

默认,next

这里写图片描述

默认,next

这里写图片描述

默认,next

这里写图片描述

点击finish

这里写图片描述

8、 Program的下载

在xc7a100t_0上右击,选择program device,将Bit文件下载至FPGA.观察实验现象

这里写图片描述

运行结果:

这里写图片描述

另附上verilog数码管相关编程的链接


按钮控制四个数码管个位,十位,百位,千位的累加



数码管模仿3-8译码器



单只数码管循环显示0-9



版权声明:本文为qq_36402402原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。