·新建工程
工具:vavido2018.3
点击“Create Project”,进入新建工程向导
选择对应的板卡型号,这里我们选择ZCU102
至此,一个新建的工程就创建完成了。
·添加IP核
点击 IP catalog,弹出新建IP对话框
在搜索框中输入clock,在搜索结果中选择Clocking Wizard,然后双击。
点击"Clocking OPtions"标签,在“Input Frequency(MHz)"列中填入输入时钟频率,由于外部输入时钟为125MHz,所以填入125,在”Source"中指定时钟类型,由于输入的时钟为差分时钟,此处选择“Differential clock capable pin"
点击”Output Clocks"标签,在“Output Freq(MHz)”列中填入输出时钟频率,此处填入50,点击“OK”,等待IP生成综合完成。
·新建设计文件
上面步骤中已新建pl_led.v文件,所以不再重复该步骤。
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2023/10/26 17:17:26
// Design Name:
// Module Name: pl_led
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module pl_led(
input clk_125_p_i,
input clk_125_n_i,
output reg led_o);
parameter HALF_LED_PERIOD = 32'd25_000_000;reg[31:0] div_counter; //分频计数器
wire clk_50M;
wire rst;
wire locked;//clk_wiz_0 clk_wiz_0
//(
// //Clock out parts
// .clk_50M(clk_50M), //output clk_50M
// //Status and control signals
// .reset(1'b0), //output reset
// .locked(locked), //output locked
// //Clock in parts
// .clk_in1_p(clk_125_p_i), //input clk_in1_p
// .clk_in1_n(clk_125_n_i)); //input clk_in1_n
clk_wiz_0 kk
(
// Clock out ports
.clk_out1(clk_50M), // output clk_out1
// Status and control signals
.reset(1'b0), // input reset
.locked(locked), // output locked
// Clock in ports
.clk_in1_p(clk_125_p_i), // input clk_in1_p
.clk_in1_n(clk_125_n_i)); // input clk_in1_n
// INST_TAG_END ------ End INSTANTIATION Template ---------
assign rst = !locked;
always @(posedge clk_50M)
begin
if(rst)
begin
led_o <= 1'b0;
div_counter <= 32'd0;
end
else
begin
if(div_counter == HALF_LED_PERIOD)
begin
led_o <= !led_o;
div_counter <= 32'd0;
end
else
begin
led_o <= led_o;
div_counter <= div_counter + 32'd1;
end
end
end
endmodule
添加约束文件,pl_led.xdc文件
set_property PACKAGE_PIN AK15 [get_ports "elk_125_p_i"] :
set_property IOSTANDARD LVDS [get_ports "elk_125_p_i"] ;set_property PACKAGE_PIN AK14 (get_ports "elk 125_n_i"] :
set_property IOSTANDARD LVDS [get_ports "elk_125_n_i"] ;set_property PACKAGE_PIN AG14 [get_ports "led_o"] :
set_property IOSTANDARD LVCMOSI2 [get_ports "led_o"] ;
完成以上步骤,进行综合实现。
按照截图标签进行操作!
点击“Run Synthesis”可对工程进行综合,点击“Run implementation”可对工程进行实现,点击“Generate Bitstream”可生成用来下载调试的bit文件。
·下载调试
bit文件生成完毕之后,我们接下来将下载到开发板进行调试,下载bit之前务必把开发板和电脑之间的JTAG下载器连接好,且将开发板的启动模式拨到JTAG模式。
下载成功!
备注,基本操作就是这个流程,实际效果由代码实现。