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

1、 打开vavido软件,制定一个工程存放目录
Vavido014.1是一个标准的窗口应用程序,可以单击程序按钮开始运行。打开后的界面如图所示:
verilog编程控制LED流水灯,跑马灯,vivado软件_第1张图片
2、 新建工程,点击创建新工程create new project
verilog编程控制LED流水灯,跑马灯,vivado软件_第2张图片
点击next,编写工程名字,选择工程存放路径
verilog编程控制LED流水灯,跑马灯,vivado软件_第3张图片
默认,点击next
verilog编程控制LED流水灯,跑马灯,vivado软件_第4张图片
选择芯片类型
verilog编程控制LED流水灯,跑马灯,vivado软件_第5张图片
点击finish,完成工程的创建
verilog编程控制LED流水灯,跑马灯,vivado软件_第6张图片
3、 新建源文件,编写功能代码
在design source上右击选择add source
verilog编程控制LED流水灯,跑马灯,vivado软件_第7张图片
选择add or create design sources,点击next
verilog编程控制LED流水灯,跑马灯,vivado软件_第8张图片
点击create file,选择语言类型为verilog,编写文件名字并设置存放路径,点击finish,点击ok
verilog编程控制LED流水灯,跑马灯,vivado软件_第9张图片
双击led_test打开文件,并在里面编写功能代码
verilog编程控制LED流水灯,跑马灯,vivado软件_第10张图片
代码如下:

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
verilog编程控制LED流水灯,跑马灯,vivado软件_第11张图片
5、 Implementation
点击综合,完成之后会出现对话框,点击ok,Run Implementation;或者在左边点击执行按钮
verilog编程控制LED流水灯,跑马灯,vivado软件_第12张图片
verilog编程控制LED流水灯,跑马灯,vivado软件_第13张图片
Implementation完成后,会出现对话框,点击ok,Open Implemented Design
verilog编程控制LED流水灯,跑马灯,vivado软件_第14张图片
点击ok后,在界面中设置输入输出端口的位置,即约束管脚
这里写图片描述
也可以添加约束文件,设置管脚约束
verilog编程控制LED流水灯,跑马灯,vivado软件_第15张图片
verilog编程控制LED流水灯,跑马灯,vivado软件_第16张图片
6、 Generate Bitstream
管脚约束完成之后,生成FPGA可执行的bit文件,点击Generate Bitstream。
verilog编程控制LED流水灯,跑马灯,vivado软件_第17张图片
7、 Open and connect Target
bit文件生成之后,点击Open Hardware Manager
verilog编程控制LED流水灯,跑马灯,vivado软件_第18张图片
在Open Target上点击,选择open new target
verilog编程控制LED流水灯,跑马灯,vivado软件_第19张图片
默认,next
verilog编程控制LED流水灯,跑马灯,vivado软件_第20张图片
默认,next
verilog编程控制LED流水灯,跑马灯,vivado软件_第21张图片
默认,next
verilog编程控制LED流水灯,跑马灯,vivado软件_第22张图片
点击finish
verilog编程控制LED流水灯,跑马灯,vivado软件_第23张图片
8、 Program的下载
在xc7a100t_0上右击,选择program device,将Bit文件下载至FPGA.观察实验现象
verilog编程控制LED流水灯,跑马灯,vivado软件_第24张图片
运行结果:
verilog编程控制LED流水灯,跑马灯,vivado软件_第25张图片
另附上verilog数码管相关编程的链接
按钮控制四个数码管个位,十位,百位,千位的累加
数码管模仿3-8译码器
单只数码管循环显示0-9

你可能感兴趣的:(verilog,FPGA设计)