一、新建工程


首先打开vivado2017.4

基于VHDL的vivado2017.4使用教程_二进制文件

点击create project

基于VHDL的vivado2017.4使用教程_机器学习_02

点击next

基于VHDL的vivado2017.4使用教程_二进制文件_03

为新建的工程起名字,路径和名字都不要有中文

起好名字后点击next

基于VHDL的vivado2017.4使用教程_verilog_04

选择RTL project,勾选do not specify sources at this time,表示以后再配置资源文件

选好了之后点击next

基于VHDL的vivado2017.4使用教程_仿真器_05

输入你的FPGA板的型号,我的是xc7a100tcsg424

然后点击next

基于VHDL的vivado2017.4使用教程_verilog_06

finish之后,如图所示,可以配置语言,这里选择的是VHDL

基于VHDL的vivado2017.4使用教程_仿真器_07

然后我们开始新建/添加文件,点击+

基于VHDL的vivado2017.4使用教程_机器学习_08

选择add or create design sources

基于VHDL的vivado2017.4使用教程_verilog_09

基于VHDL的vivado2017.4使用教程_机器学习_10

基于VHDL的vivado2017.4使用教程_硬件_11

基于VHDL的vivado2017.4使用教程_机器学习_12

基于VHDL的vivado2017.4使用教程_二进制文件_13

基于VHDL的vivado2017.4使用教程_verilog_14

基于VHDL的vivado2017.4使用教程_硬件_15

双击你所建立的source之后,就可以开始写程序了


二、写程序


在这里我提供一个简单的程序

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity test is
Port (
led:out std_logic;
switch:in std_logic
);
end test;

architecture Behavioral of test is

begin
process(switch)
begin
if switch='1' then
led<='1';
else
led<='0';
end if;
end process;

end Behavioral;

然后我们开始写仿真程序,同样建立一个仿真文件

基于VHDL的vivado2017.4使用教程_verilog_16

基于VHDL的vivado2017.4使用教程_仿真器_17

仿真文件的命名通常为test_bench

基于VHDL的vivado2017.4使用教程_机器学习_18

这里我也提供对应的仿真程序,以供参考

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity test_bench is
end test_bench;

architecture Behavioral of test_bench is
component test port(
led :out std_logic;
switch:in std_logic);
end component;
signal led:std_logic:='0';
signal switch:std_logic:='0';
begin
dut:test port map(
led=>led,switch=>switch
);
process
begin
switch<='1';
wait for 10ms;
switch<='0';
wait for 10ms;
end process;
end Behavioral;

写完之后点击保存

基于VHDL的vivado2017.4使用教程_机器学习_19 三、仿真

然后开始仿真

基于VHDL的vivado2017.4使用教程_机器学习_20

基于VHDL的vivado2017.4使用教程_机器学习_21

仿真界面的上方有三个键:a是重新开始仿真,b是开始仿真直到点击break(F5),c是仿真指定的时间,我这里设置的是100ms

基于VHDL的vivado2017.4使用教程_verilog_22

点击红色圆圈里的是看到所有仿真波形

基于VHDL的vivado2017.4使用教程_仿真器_23

仿真波形没有错误,开始综合

四、综合

点击 run synthesis,等待一段时间

基于VHDL的vivado2017.4使用教程_verilog_24

跳出一个对话框,点击cancel

五、约束

如果你没有现成的约束文件,就自己约束了

先点击 open synthsized design

基于VHDL的vivado2017.4使用教程_硬件_25

基于VHDL的vivado2017.4使用教程_硬件_26

打开开发板的使用指南

基于VHDL的vivado2017.4使用教程_仿真器_27

例如:我想约束为

led对应LD0(H17)

switch对应switch0(J15)

基于VHDL的vivado2017.4使用教程_机器学习_28

约束之后,保存CTRL+S,跳出来对话框,点击确定

然后为约束文件命名

基于VHDL的vivado2017.4使用教程_verilog_29

然后重新执行综合

六、实现以及生成二进制文件

实现

基于VHDL的vivado2017.4使用教程_二进制文件_30

生成二进制文件

基于VHDL的vivado2017.4使用教程_硬件_31

然后 open hardware manager

点击open target

点击device program

程序下载完毕后观察实验现象