pangshian

   ZYNQ PS端最多可以分配四个时钟供给PL端使用,通过PS端供给PL使用的时钟,在最后添加约束文件时,只需要对功能I/O进行约束,

不需要再关注时钟约束的问题。

 一个简单的例子:PS产生一个100MHz的时钟,供给PL使用。利用该时钟,使PL端两颗led闪烁

 

 

module led_tst(
        led_o

    );
    output [1:0] led_o;
    
    reg       [25:0] clk_cnt = 26\'d0; 
    reg       [1:0]  led_o_r = 2\'d0;
    wire          clk;
    
    always @(posedge clk)begin 
        if(clk_cnt == 26\'d49999999) begin 
            clk_cnt <= \'d0;
            led_o_r <= ~led_o_r;
        end 
        else begin 
            clk_cnt <= clk_cnt + 1\'b1;
            led_o_r <= led_o_r;
        end 
    end
     
    system_wrapper    led_wrapper
    (
       .FCLK_CLK0_0(clk)
    );
        
        
        
    assign     led_o = led_o_r;
        
endmodule

  需要注意的是,时钟是由PS端产生的,PS端的ARM必须运行,才能供给PL时钟信号。直接将bit流文件下载到ZYNQ中,PS端不会工作。

因此,需要将bit流文件导入到SDK端。在SDK中新建一个empty prj 。最后将文件下载到ZYNQ中即可正常运行

 

分类:

技术点:

相关文章:

  • 2021-05-24
  • 2021-09-26
  • 2021-07-05
  • 2021-11-22
  • 2021-11-16
  • 2021-04-22
  • 2021-11-22
  • 2021-05-02
猜你喜欢
  • 2021-07-13
  • 2021-11-29
  • 2021-06-18
  • 2021-05-27
  • 2021-12-30
  • 2021-08-12
  • 2022-12-23
相关资源
相似解决方案