pynq-z2 使用PL做流水灯

一 实验目标

轮流点亮开发板下面的4颗LED灯

二 实验步骤

  1. 启动Vivado,点击创建一个新工程,工程名为turn_led
    pynq-z2 使用PL做流水灯_第1张图片
  2. 选择RTL工程
    在这里插入图片描述
  3. 选择开发板Boards,在其中选择PYNQ-Z2
    pynq-z2 使用PL做流水灯_第2张图片
  4. 点击Add source,选择第二个选项
    pynq-z2 使用PL做流水灯_第3张图片
    pynq-z2 使用PL做流水灯_第4张图片
  5. 选择Create File,文件名为led
    pynq-z2 使用PL做流水灯_第5张图片
    pynq-z2 使用PL做流水灯_第6张图片
    pynq-z2 使用PL做流水灯_第7张图片
  6. 在led.v文件中输入如下代码:
module led(
input CLK,output reg[3:0] led_out
    );
    reg [32:0] count=0;
    reg p=1;
    always @ (posedge CLK)
    begin
     if(count < 50000000)
     begin
       if(p == 1)
        begin
         led_out <=  4'b0001;
         p <=0 ;
       end
       count <= count + 1;
     end
     else
     begin
      if(led_out == 4'b1000)
      begin
          led_out <= 4'b0001;
      end
      else
         led_out <= led_out << 1;
       count <= 0;    
     end
    end
endmodule
  1. 添加约束文件,点击Open Elaborated Design
    在这里插入图片描述
  2. 在菜单中选择“Window -> I/O Ports”按钮-> Ports”
    在这里插入图片描述
    pynq-z2 使用PL做流水灯_第8张图片
  3. 进行手动配置引脚
    pynq-z2 使用PL做流水灯_第9张图片
  4. 单击”Run Synthesis“开始综合 -> 弹出的对话框单击”SAVE“ -> 文件名为led,其他默认点“OK”
    pynq-z2 使用PL做流水灯_第10张图片
    pynq-z2 使用PL做流水灯_第11张图片
    pynq-z2 使用PL做流水灯_第12张图片
    pynq-z2 使用PL做流水灯_第13张图片
  5. 点击“Constrain wizard",时序约束向导分析出设计中的时钟,这里把“CLK”频率设置为50Mhz,然后点击Skip to Finish结束时序约束向导。
    pynq-z2 使用PL做流水灯_第14张图片
    pynq-z2 使用PL做流水灯_第15张图片
    在弹出的框选择OK,接着选finish
    这个时候led.xdc文件已经更新,点击“Reload”重新加载文件
    pynq-z2 使用PL做流水灯_第16张图片
  6. 生成BIT流文件,编译完成,弹出一个对话框让我们选择后续操作,这里选项“open hardware manager” ,然后单击“OK”
    在这里插入图片描述
    pynq-z2 使用PL做流水灯_第17张图片
  7. 下载到板子
    1)连接好开发板的 JTAG接口,给开发板上电
    pynq-z2 使用PL做流水灯_第18张图片
    2)可以看到JTAG扫描到arm和 FPGA 内核
    pynq-z2 使用PL做流水灯_第19张图片
  8. 选择FPGA内核xc7z020_1,右键选择“Program Device…” ,在弹出窗口中点击“Program”
    pynq-z2 使用PL做流水灯_第20张图片
  9. 等待下载,下载完成以后,我们可以看到4 颗LED开始轮流闪烁

你可能感兴趣的:(pynq-z2 使用PL做流水灯)