最后是靠这个教程点出来的
new一个工程
点next
设置工程名字和路径,注意不要有中文和空格
选择创建RTL工程
点灯不需要添加外部的ip等文件,所以不用选,直接next
先不加约束,点next
用的是依元素公司的EES303开发板,芯片型号是XC7A35T-1CSG324C
点finish
点击左边project manager栏,加源文件
新建文件
取名字,然后点finis
点ok
双击去看新建的文件
由于内置IDE过于垃圾,参照这篇博客,采用notepad++编写代码 代码如下:
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2020/10/03 09:19:58
// Design Name:
// Module Name: led
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module led(
input sys_clk,
input rst_n,
output reg [3:0] led
);
reg [31:0] timer;
always@(posedge sys_clk or negedge rst_n)
begin
if (~rst_n)
timer <= 32'd0;
else if (timer == 323'd199_999_999)
timer <= 32'd0;
else
timer <= timer + 1'b1;
end
always@(posedge sys_clk or negedge rst_n)
begin
if (~rst_n)
led <= 4'b0000;
else if (timer == 32'd49_999_999)
led <= 4'b0001;
else if (timer == 32'd99_999_999)
led <= 4'b0010;
else if (timer == 32'd149_999_999)
led <= 4'b0100;
else if (timer == 32'd199_999_999)
led <= 4'b1000;
end
endmodule
跑综合
综合跑完会有弹窗,选择跑布局布线(implementation)
implementation完了之后,开始分配管脚。直接help旁边的搜索框搜索就好了
然后编写xdc文件(Xilinx® Design Constraints (XDC),)
xdc的介绍
查原理图,看板子上管脚在哪里
时钟和复位信号对应的管脚
查到LED1-4对应的管脚
设置完如下:
注意的点:
1.尽量不要让引脚标红,实在是红色,那也没办法了。
2.截图中rst和clk的引脚标反了
3.引脚的标准尽量要一致,否则会报错,而且是运行了好几分钟之后才报错
4.设置完要按ctrl+s保存,如果改动之后,生成的文件要和之前的文件名字不一样,要右击该文件,确认它是target。最好删掉上一个版本的xdc文件
按ctrl+s,保存生成xdc文件
生成比特流
板子插上电脑,记得打开板子开关!!!!
然后左键open target,选择自动检测,让板子和电脑建立通信
然后点program device,把生成的比特流文件烧进去
点灯效果如下: