本文参考米联客提供的教程,对vivad开发过程部分进行总结和记录。笔者使用的版本是vivado 2017.3
step1.1,新建工程
step1.2,点击next
step1.3,设置工程名称与路径
step1.4,(选择要创建的工程类型)点击next
step1.5,选择器件
step1.6,创建结束
完成后界面如下:
step2.1,添加文件
点击
step2.2,添加文件类型选择
点击next
step2.3,选择以存在文件或者创建一个新文件
这里我们创建一个新文件
step2.4,选择文件存储目录及名称
点击ok
step2.5,创建结束
点击finish
这时候会让你进行选择输入输出端口,直接OK跳过即可
结束后发现这里有一个文件,即为创建结束。
step3.1,点击打开并加入以下代码
module run_led(
input CLK_i,
input RSTn_i,
output reg [3:0]LED_o
);
reg [31:0]C0;
always @(posedge CLK_i)
if(!RSTn_i)
begin
LED_o <= 4'b1;
C0 <= 32'h0;
end
else
begin
if(C0 == 32'd50_000_000)
begin
C0 <= 32'h0;
if(LED_o == 4'b1000)
LED_o <= 4'b1;
else
LED_o <= LED_o << 1;
end
else
begin
C0 <= C0 + 1'b1;
LED_o <= LED_o;
end
end
endmodule
step4.1,进行管脚约束
这里有三种方式
方式一,手动编写xdc文件
4.1.1.1,创建文件(步骤同上)
4.1.1.2,选择以存在的或者创建一个新的
4.1.1.3,创建目录及名称
4.1.1.4,打开编辑即可
(没有写出的步骤同上)
加入如下代码
create_clock -period 10.000 -name CLK_i [get_ports CLK_i]
set_property IOSTANDARD LVCMOS33 [get_ports CLK_i]
set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[*]}]
set_property IOSTANDARD LVCMOS33 [get_ports RSTn_i]
set_property PACKAGE_PIN H16 [get_ports CLK_i]
set_property PACKAGE_PIN T19 [get_ports RSTn_i]
set_property PACKAGE_PIN J16 [get_ports {LED_o[0]}]
set_property PACKAGE_PIN K16 [get_ports {LED_o[1]}]
set_property PACKAGE_PIN G15 [get_ports {LED_o[2]}]
set_property PACKAGE_PIN H15 [get_ports {LED_o[3]}]
#bit compress
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
4.1.2.1,直接添加一个已存在的文件
上述步骤以给出说明
4.1.3,使用软件进行管脚约束
4.1.3.1,点击进行综合
下图默认进行操作ok
4.1.3.2,综合结束
4.1.3.3,调出I/O界面进行设置
方式一
方式二
点击window,选择I/O ports
......
5.1编译并生成bit文件
没有给出的步骤直接点击ok
结束后弹出
5.2,连接
5.3,连接后点击program device
5.4,点击program即可
泪目....
中间出了很多错误,其中千万记得驱动要安装,检测到了也在断电关软件进行一次重新安装。
安装目录
一路傻瓜式安装即可。