zynq70z35-一步一步实现pl的udp上传(1)

先建立一个工程

参考文章

如何及建立一个veivado 的工程,详细的请参考下面的这篇文章
https://blog.csdn.net/weixin_42066185/article/details/106421611

回顾

作为基本新手入门vivdado , 我从新进行熟悉了一下,跟着教程实现了一下 led 的闪烁,具体代码即过程请参考后面的led实现过程

实现led即helloworld

led.v code

led.v

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2020/07/04 11:36:08
// 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_p,
    input sys_clk_n,
    output reg [3:0] led
    );   
    
   reg [31:0] timer_cnt;
   wire sys_clk;
   
  IBUFDS #(
   .DIFF_TERM("FALSE"), // Differential Termination
   .IBUF_LOW_PWR("TRUE"), // Low power="TRUE", Highest performance="FALSE"
   .IOSTANDARD("DEFAULT") // Specify the input I/O standard
   ) IBUFDS_inst (
   .O(sys_clk), // Buffer output
   .I(sys_clk_p), // Diff_p buffer input (connect directly to top-level port)
   
   .IB(sys_clk_n) // Diff_n buffer input (connect directly to Top-level port)
   );
   always@(posedge sys_clk)
   begin
    if(timer_cnt >= 32 'd199_999_999) 
        begin 
            led <= ~led;
            timer_cnt <= 32'd1;
        end
    else
        begin
            led <= led;
            timer_cnt <= timer_cnt + 32'd1;
        end
    end    
endmodule


led.v code 理解

其实实现的是每秒钟闪烁一次,我们设定系统的时钟的频率就是125MHz的速度。

led.xdc code

led.xdc

set_property PACKAGE_PIN AE13 [get_ports {led[3]}]
set_property PACKAGE_PIN AF13 [get_ports {led[2]}]
set_property PACKAGE_PIN AB14 [get_ports {led[1]}]
set_property PACKAGE_PIN AB15 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[3]}]
set_property PACKAGE_PIN C8 [get_ports sys_clk_p]
set_property IOSTANDARD DIFF_SSTL15 [get_ports sys_clk_p]

create_clock -period 5.000 -name sys_clk_p -waveform {0.000 2.500} [get_ports sys_clk_p]

led.xdc code 理解

在这里插入图片描述

实验效果

在这里插入图片描述

在这里插入图片描述

总结

如上,总共了解了建立一个工程,和烧录的整体的过程,为实现udp的整体的实现,提供了一个基本流程的更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章