ZedBoard

3.1 实验 1

3.1 实验 1

ZH zedboard-lab-1

3.1 实验 1

重要文件: lab1 实验手册

代码解析

下面是 lab1 模块的代码(可以在lab1.v中找到),主要用来控制 ZedBoard 上的 LED 显示。每个 LED 的亮灭由相应的开关位置决定。具体逻辑如下: 仿真的代码类似,不赘述请自行查阅

  • led[0] 对应 swt[0] 的反相值。
  • led[1] 通过 swt[1]swt[2] 的组合逻辑控制。
  • 其余的 led[2], led[3] 也是基于开关的不同逻辑组合。
  • led[7:4] 直接对应 swt[7:4],即这些 LED 直接显示对应开关的状态。

代码实现如下:

module lab1(
    input [7:0] swt,
    output [7:0] led
    );

    assign led[0] = ~swt[0];
    assign led[1] = swt[1] & ~swt[2];
    assign led[3] = swt[2] & swt[3];
    assign led[2] = led[1] | led[3];

    assign led[7:4] = swt[7:4];

endmodule

引脚约束文件 lab1.xdc 用于将开关和 LED 连接到 ZedBoard 的物理引脚。以下是约束文件的内容: 由于 XDC 一般涉及较多的重复操作,我们分别举一 LED 和 swt 一个的例子,其余的逻辑相似。

  • set_property PACKAGE_PIN:这个命令用于将逻辑端口(例如 swt[0]led[0])映射到 ZedBoard 的物理引脚。在这个例子中,swt[0] 被分配给引脚 F22,而 led[0] 被分配给引脚 T22

  • set_property IOSTANDARD LVCMOS33:这个命令指定了引脚的输入输出标准。在这里,我们使用了 LVCMOS33,这是一种常用的电平标准,表示引脚工作在 3.3V 的逻辑电平下。

代码实现如下:

set_property PACKAGE_PIN F22 [get_ports swt[0]]
set_property IOSTANDARD LVCMOS33 [get_ports swt[0]]

set_property PACKAGE_PIN T22 [get_ports led[0]]
set_property IOSTANDARD LVCMOS33 [get_ports led[0]]

实验结果

以下图片和动画展示了实验的运行结果 行为仿真

行为仿真结果

项目概要

项目概要

综合后的电路图

综合后的电路图

设备实现

设备实现结果

后时序仿真

时序仿真结果

最终测试

最终测试